! if ((cdev->d_flag & D_NEGOFFSAFE) != 0 &&
! off != UVM_UNKNOWN_OFFSET && off < 0)
return(NULL);
for those paying attention, this should be "== 0" in the first line.
i'd already fixed that in my tree, but posted the wrong patch.
.mrg.