fs/smb/server/smb2pdu.c | 4 ++-- fs/smb/server/smb2pdu.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
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(-)
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 {
--
2.46.0
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
© 2016 - 2026 Red Hat, Inc.