Linux CIFS filesystem development
 help / color / mirror / Atom feed
* [PATCH] ksmbd: not allow to open file if delelete on close bit is set
@ 2023-09-27 14:30 Namjae Jeon
  2023-09-28 15:23 ` Tom Talpey
  2023-09-29  1:13 ` ronnie sahlberg
  0 siblings, 2 replies; 8+ messages in thread
From: Namjae Jeon @ 2023-09-27 14:30 UTC (permalink / raw)
  To: linux-cifs
  Cc: smfrench, senozhatsky, tom, hyc.lee, atteh.mailbox, Namjae Jeon

Cthon test fail with the following error.

check for proper open/unlink operation
nfsjunk files before unlink:
  -rwxr-xr-x 1 root root 0  9월 25 11:03 ./nfs2y8Jm9
./nfs2y8Jm9 open; unlink ret = 0
nfsjunk files after unlink:
  -rwxr-xr-x 1 root root 0  9월 25 11:03 ./nfs2y8Jm9
data compare ok
nfsjunk files after close:
  ls: cannot access './nfs2y8Jm9': No such file or directory
special tests failed

Cthon expect to second unlink failure when file is already unlinked.
ksmbd can not allow to open file if flags of ksmbd inode is set with
S_DEL_ON_CLS flags.

Reported-by: Tom Talpey <tom@talpey.com>
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
---
 fs/smb/server/vfs_cache.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/fs/smb/server/vfs_cache.c b/fs/smb/server/vfs_cache.c
index f41f8d6108ce..f2e2a7cc24a9 100644
--- a/fs/smb/server/vfs_cache.c
+++ b/fs/smb/server/vfs_cache.c
@@ -577,6 +577,11 @@ struct ksmbd_file *ksmbd_open_fd(struct ksmbd_work *work, struct file *filp)
 		goto err_out;
 	}
 
+	if (fp->f_ci->m_flags & S_DEL_ON_CLS) {
+		ret = -ENOENT;
+		goto err_out;
+	}
+
 	ret = __open_id(&work->sess->file_table, fp, OPEN_ID_TYPE_VOLATILE_ID);
 	if (ret) {
 		ksmbd_inode_put(fp->f_ci);
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-09-29 10:49 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-27 14:30 [PATCH] ksmbd: not allow to open file if delelete on close bit is set Namjae Jeon
2023-09-28 15:23 ` Tom Talpey
2023-09-28 15:51   ` Namjae Jeon
2023-09-28 16:38     ` Tom Talpey
2023-09-29  0:18       ` Namjae Jeon
2023-09-29  0:04   ` Namjae Jeon
2023-09-29  1:13 ` ronnie sahlberg
2023-09-29 10:49   ` Namjae Jeon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox