Re: [PATCH 28/35] cifs: Fix smb2_unlink() to fail on directory

From: Steve French

Date: Sat Sep 20 2025 - 13:34:17 EST


This did not merge to current mainline

On Sun, Aug 31, 2025 at 7:37 AM Pali Rohár <pali@xxxxxxxxxx> wrote:
>
> unlink() should fail on the directory with ENOTDIR error code.
> Flag CREATE_NOT_DIR handles that.
>
> Signed-off-by: Pali Rohár <pali@xxxxxxxxxx>
> ---
> fs/smb/client/smb2inode.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
> index c8b0e9b2438f..c69293fcf26c 100644
> --- a/fs/smb/client/smb2inode.c
> +++ b/fs/smb/client/smb2inode.c
> @@ -1348,7 +1348,7 @@ smb2_unlink(const unsigned int xid, struct cifs_tcon *tcon, const char *name,
>
> oparms = CIFS_OPARMS(cifs_sb, tcon, name,
> DELETE, FILE_OPEN,
> - CREATE_DELETE_ON_CLOSE | OPEN_REPARSE_POINT,
> + CREATE_DELETE_ON_CLOSE | CREATE_NOT_DIR | OPEN_REPARSE_POINT,
> ACL_NO_MODE);
> int rc = smb2_compound_op(xid, tcon, cifs_sb, name, &oparms,
> NULL, &(int){SMB2_OP_DELETE}, 1,
> --
> 2.20.1
>
>


--
Thanks,

Steve