diff options
author | Gordon Ross <gwr@racktopsystems.com> | 2022-02-23 22:42:16 -0500 |
---|---|---|
committer | Toomas Soome <tsoome@me.com> | 2022-12-16 19:43:54 +0200 |
commit | abd30308264aa9ca2b1c71565b841fc94256d07b (patch) | |
tree | 842ea7f531f9fb034b3bf3c41d2db3575714af70 /usr/src/uts/common/fs/smbsrv/smb_common_open.c | |
parent | 0663b557d8c7575927b005cab08d9f19c8b98c25 (diff) | |
download | illumos-gate-abd30308264aa9ca2b1c71565b841fc94256d07b.tar.gz |
15211 smbtorture failures in smb2.delete-on-close-perms.READONLY
Reviewed by: Garrett D'Amore <garrett@damore.org>
Reviewed by: Andy Stormont <andyjstormont@gmail.com>
Reviewed by: Matt Barden <mbarden@racktopsystems.com>
Approved by: Dan McDonald <danmcd@mnx.io>
Diffstat (limited to 'usr/src/uts/common/fs/smbsrv/smb_common_open.c')
-rw-r--r-- | usr/src/uts/common/fs/smbsrv/smb_common_open.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/usr/src/uts/common/fs/smbsrv/smb_common_open.c b/usr/src/uts/common/fs/smbsrv/smb_common_open.c index 688bac53d8..894affa2a5 100644 --- a/usr/src/uts/common/fs/smbsrv/smb_common_open.c +++ b/usr/src/uts/common/fs/smbsrv/smb_common_open.c @@ -945,6 +945,12 @@ create: goto errout; } + if ((op->dattr & FILE_ATTRIBUTE_READONLY) != 0 && + (op->create_options & FILE_DELETE_ON_CLOSE) != 0) { + status = NT_STATUS_CANNOT_DELETE; + goto errout; + } + if ((op->desired_access & ACCESS_SYSTEM_SECURITY) != 0 && !smb_user_has_security_priv(sr->uid_user, sr->user_cr)) { status = NT_STATUS_ACCESS_DENIED; |