summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/fs/nfs/nfs4_vnops.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/uts/common/fs/nfs/nfs4_vnops.c')
-rw-r--r--usr/src/uts/common/fs/nfs/nfs4_vnops.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/usr/src/uts/common/fs/nfs/nfs4_vnops.c b/usr/src/uts/common/fs/nfs/nfs4_vnops.c
index db93bf2e72..2a501bc898 100644
--- a/usr/src/uts/common/fs/nfs/nfs4_vnops.c
+++ b/usr/src/uts/common/fs/nfs/nfs4_vnops.c
@@ -39,6 +39,7 @@
/*
* Copyright (c) 2013, Joyent, Inc. All rights reserved.
+ * Copyright 2022 Oxide Computer Company
*/
#include <sys/param.h>
@@ -10849,8 +10850,20 @@ nfs4_frlock(vnode_t *vp, int cmd, struct flock64 *bfp, int flag,
return (EIO);
/* check for valid cmd parameter */
- if (cmd != F_GETLK && cmd != F_SETLK && cmd != F_SETLKW)
+ switch (cmd) {
+ case F_FLOCK:
+ case F_FLOCKW:
+ case F_OFD_GETLK:
+ case F_OFD_SETLK:
+ case F_OFD_SETLKW:
+ return (EOPNOTSUPP);
+ case F_GETLK:
+ case F_SETLK:
+ case F_SETLKW:
+ break;
+ default:
return (EINVAL);
+ }
/* Verify l_type. */
switch (bfp->l_type) {