[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAH2r5mvnJ6SLtHM_PWOQZ9dTsDd1BaQbOK2UBi9-AxRzt4sJpg@mail.gmail.com>
Date: Thu, 23 Jan 2025 00:53:15 -0600
From: Steve French <smfrench@...il.com>
To: Oleh Nykyforchyn <oleh.nyk@...il.com>
Cc: linux-cifs@...r.kernel.org, linux-kernel@...r.kernel.org,
Tom Talpey <tom@...pey.com>, Meetakshi Setiya <meetakshisetiyaoss@...il.com>
Subject: Re: Bug in getting file attributes with SMB3.1.1 and posix
Very good catch - sorry for the delay. I can now reproduce the
problem. Looking into it now. Thanks for pointing this out
On Wed, Jan 1, 2025 at 11:05 AM Oleh Nykyforchyn <oleh.nyk@...il.com> wrote:
>
> Hello,
>
> I encountered a funny bug when a share is mounted with vers=3.1.1, posix,... If a file size has bits 0x410 = ATTR_DIRECTORY | ATTR_REPARSE = 1040 set, then the file is regarded as a directory and its open fails. A simplest test example is any file 1040 bytes long.
>
> The cause of this bug is that Attributes field in smb2_file_all_info struct occupies the same place that EndOfFile field in smb311_posix_qinfo, and sometimes the latter struct is incorrectly processed as if it was the first one. I attach an example patch that solves the problem for me, obviously not ready for submission, but just to show which places in the code are subject to problems. The patch is against linux-6.12.6 kernel, but, AFAICS, nothing has changed since then in relevant places. If I have guessed more or less correctly what the intended functionality is, please feel free to use my patch as a basis for corrections.
>
> Best regards
>
> Olen Nykyforchyn
--
Thanks,
Steve
Powered by blists - more mailing lists