Message ID | 20240820191520.100224-2-thorsten.blum@toblux.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 8bb04fb2b7e346ffcf00164b91129ab151ceaa46 |
Headers | show |
Series | [v2] ksmbd: Replace one-element arrays with flexible-array members | expand |
On Wed, Aug 21, 2024 at 4:15 AM Thorsten Blum <thorsten.blum@toblux.com> wrote: > > Replace the deprecated one-element arrays with flexible-array members > in the structs copychunk_ioctl_req and smb2_ea_info_req. > > There are no binary differences after this conversion. > > Link: https://github.com/KSPP/linux/issues/79 > Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> > --- > Changes in v2: > - Use <= instead of < and +1 as suggested by Namjae Jeon and Tom Talpey > - Link to v1: https://lore.kernel.org/linux-kernel/20240818162136.268325-2-thorsten.blum@toblux.com/ Applied it to #ksmbd-for-next-next. Thanks!
Hi Namjae, On 22. Aug 2024, at 14:01, Namjae Jeon <linkinjeon@kernel.org> wrote: > On Wed, Aug 21, 2024 at 4:15 AM Thorsten Blum <thorsten.blum@toblux.com> wrote: >> >> Replace the deprecated one-element arrays with flexible-array members >> in the structs copychunk_ioctl_req and smb2_ea_info_req. >> >> There are no binary differences after this conversion. >> >> Link: https://github.com/KSPP/linux/issues/79 >> Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> >> --- >> Changes in v2: >> - Use <= instead of < and +1 as suggested by Namjae Jeon and Tom Talpey >> - Link to v1: https://lore.kernel.org/linux-kernel/20240818162136.268325-2-thorsten.blum@toblux.com/ > Applied it to #ksmbd-for-next-next. > Thanks! I just noticed this patch never made it to linux-next and I can't find it anywhere else (also not in #ksmbd-for-next-next). Maybe it got lost because it has the same subject and a very similar commit message as [1] (I submitted both around the same time)? Thanks, Thorsten [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7c525dddbee71880e654ad44f3917787a4f6042c
On Thu, Sep 19, 2024 at 6:12 PM Thorsten Blum <thorsten.blum@toblux.com> wrote: > > Hi Namjae, > > On 22. Aug 2024, at 14:01, Namjae Jeon <linkinjeon@kernel.org> wrote: > > On Wed, Aug 21, 2024 at 4:15 AM Thorsten Blum <thorsten.blum@toblux.com> wrote: > >> > >> Replace the deprecated one-element arrays with flexible-array members > >> in the structs copychunk_ioctl_req and smb2_ea_info_req. > >> > >> There are no binary differences after this conversion. > >> > >> Link: https://github.com/KSPP/linux/issues/79 > >> Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> > >> --- > >> Changes in v2: > >> - Use <= instead of < and +1 as suggested by Namjae Jeon and Tom Talpey > >> - Link to v1: https://lore.kernel.org/linux-kernel/20240818162136.268325-2-thorsten.blum@toblux.com/ > > Applied it to #ksmbd-for-next-next. > > Thanks! > > I just noticed this patch never made it to linux-next and I can't find > it anywhere else (also not in #ksmbd-for-next-next). > > Maybe it got lost because it has the same subject and a very similar > commit message as [1] (I submitted both around the same time)? Sorry for missing it. I have pushed it to #ksmbd-for-next-next again. Thanks for your report:) > > Thanks, > Thorsten > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7c525dddbee71880e654ad44f3917787a4f6042c
diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c index 2df1354288e6..2c0731a2751f 100644 --- a/fs/smb/server/smb2pdu.c +++ b/fs/smb/server/smb2pdu.c @@ -4579,7 +4579,7 @@ static int smb2_get_ea(struct ksmbd_work *work, struct ksmbd_file *fp, path = &fp->filp->f_path; /* single EA entry is requested with given user.* name */ if (req->InputBufferLength) { - if (le32_to_cpu(req->InputBufferLength) < + if (le32_to_cpu(req->InputBufferLength) <= sizeof(struct smb2_ea_info_req)) return -EINVAL; @@ -8083,7 +8083,7 @@ int smb2_ioctl(struct ksmbd_work *work) goto out; } - if (in_buf_len < sizeof(struct copychunk_ioctl_req)) { + if (in_buf_len <= sizeof(struct copychunk_ioctl_req)) { ret = -EINVAL; goto out; } diff --git a/fs/smb/server/smb2pdu.h b/fs/smb/server/smb2pdu.h index 3be7d5ae65a8..73aff20e22d0 100644 --- a/fs/smb/server/smb2pdu.h +++ b/fs/smb/server/smb2pdu.h @@ -194,7 +194,7 @@ struct copychunk_ioctl_req { __le64 ResumeKey[3]; __le32 ChunkCount; __le32 Reserved; - __u8 Chunks[1]; /* array of srv_copychunk */ + __u8 Chunks[]; /* array of srv_copychunk */ } __packed; struct srv_copychunk { @@ -370,7 +370,7 @@ struct smb2_file_attr_tag_info { struct smb2_ea_info_req { __le32 NextEntryOffset; __u8 EaNameLength; - char name[1]; + char name[]; } __packed; /* level 15 Query */ struct smb2_ea_info {
Replace the deprecated one-element arrays with flexible-array members in the structs copychunk_ioctl_req and smb2_ea_info_req. There are no binary differences after this conversion. Link: https://github.com/KSPP/linux/issues/79 Signed-off-by: Thorsten Blum <thorsten.blum@toblux.com> --- Changes in v2: - Use <= instead of < and +1 as suggested by Namjae Jeon and Tom Talpey - Link to v1: https://lore.kernel.org/linux-kernel/20240818162136.268325-2-thorsten.blum@toblux.com/ --- fs/smb/server/smb2pdu.c | 4 ++-- fs/smb/server/smb2pdu.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)