diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index 7abdca0..774f647 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -760,7 +760,8 @@ kern_fcntl(struct thread *td, int fd, int cmd, intptr_t arg) error = EBADF; break; } - if (arg >= 0) { + tmp = arg; + if (tmp >= 0) { vp = fp->f_vnode; error = vn_lock(vp, LK_SHARED); if (error != 0) { @@ -769,7 +770,7 @@ kern_fcntl(struct thread *td, int fd, int cmd, intptr_t arg) } bsize = fp->f_vnode->v_mount->mnt_stat.f_iosize; VOP_UNLOCK(vp, 0); - fp->f_seqcount = (arg + bsize - 1) / bsize; + fp->f_seqcount = (tmp + bsize - 1) / bsize; do { new = old = fp->f_flag; new |= FRDAHEAD;