This part of the patch:
+ if ((ndp->ni_vp->v_type == VLNK) &
+ ((fmode & FNOSYMLINK) != 0)) {
should read:
+ if (ndp->ni_vp->v_type == VLNK)
You should not be able to open(2) a symlink, regardless of flag
settings.