ksmbd: don't allow O_TRUNC open on read-only share
authorNamjae Jeon <linkinjeon@kernel.org>
Sun, 7 Jan 2024 12:24:07 +0000 (21:24 +0900)
committerSteve French <stfrench@microsoft.com>
Tue, 9 Jan 2024 18:55:01 +0000 (12:55 -0600)
commitd592a9158a112d419f341f035d18d02f8d232def
tree0c4a4c665993b331978ce31af7b7f5675ceb42cb
parent8d99c1131d9d03053b7b1e1245b8f6e6846d9c69
ksmbd: don't allow O_TRUNC open on read-only share

When file is changed using notepad on read-only share(read_only = yes in
ksmbd.conf), There is a problem where existing data is truncated.
notepad in windows try to O_TRUNC open(FILE_OVERWRITE_IF) and all data
in file is truncated. This patch don't allow  O_TRUNC open on read-only
share and add KSMBD_TREE_CONN_FLAG_WRITABLE check in smb2_set_info().

Cc: stable@vger.kernel.org
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/smb2pdu.c