umask is not mode, it is the `mask` of mode_t, it can not be used here I think.
Maybe just a `0755 | S_IFLNK` is better.