forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
-Wattribute-warning in drivers/scsi/libfc/fc_elsct.c #1590
Labels
-Wattribute-warning
[BUG] linux-next
This is an issue only seen in linux-next
[FIXED][LINUX] development cycle
This bug was only present and fixed in a -next or -rc cycle
[FIXED][LINUX] 5.18
This bug was fixed in Linux 5.18
Comments
I wonder if this patch still resolves those issues: diff --git a/drivers/scsi/libfc/fc_encode.h b/drivers/scsi/libfc/fc_encode.h
index 74ae7fd15d8d..7dcac3b6baa7 100644
--- a/drivers/scsi/libfc/fc_encode.h
+++ b/drivers/scsi/libfc/fc_encode.h
@@ -246,7 +246,7 @@ static inline int fc_ct_ms_fill(struct fc_lport *lport,
&entry->type);
put_unaligned_be16(len, &entry->len);
put_unaligned_be64(lport->wwnn,
- (__be64 *)&entry->value[0]);
+ (__be64 *)&entry->value);
/* Manufacturer */
entry = (struct fc_fdmi_attr_entry *)((char *)entry->value +
diff --git a/include/scsi/fc/fc_ms.h b/include/scsi/fc/fc_ms.h
index 00191695233a..56a5d2b5a624 100644
--- a/include/scsi/fc/fc_ms.h
+++ b/include/scsi/fc/fc_ms.h
@@ -158,7 +158,7 @@ struct fc_fdmi_port_name {
struct fc_fdmi_attr_entry {
__be16 type;
__be16 len;
- __u8 value[1];
+ __u8 value[];
} __attribute__((__packed__));
/*
@@ -166,7 +166,7 @@ struct fc_fdmi_attr_entry {
*/
struct fs_fdmi_attrs {
__be32 numattrs;
- struct fc_fdmi_attr_entry attr[1];
+ struct fc_fdmi_attr_entry attr[];
} __attribute__((__packed__));
/* |
@GustavoARSilva it does, thanks! |
fengguang
pushed a commit
to 0day-ci/linux
that referenced
this issue
Feb 14, 2022
Use flexible-array members in struct fc_fdmi_attr_entry and fs_fdmi_attrs instead of one-element arrays, and refactor the code accordingly. Also, this helps with the ongoing efforts to globally enable -Warray-bounds and get us closer to being able to tighten the FORTIFY_SOURCE routines on memcpy(). KSPP#79 ClangBuiltLinux#1590 Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
Great. :) I just sent out a proper patch for this: https://lore.kernel.org/linux-hardening/20220214223903.GA859464@embeddedor/ |
Patch applied to 5.18/scsi-staging: https://lore.kernel.org/linux-hardening/yq1lexv91gl.fsf@ca-mkp.ca.oracle.com/T/#m62f3046ac7770bf25e646155b71bdaddb5ee8274 |
fengguang
pushed a commit
to 0day-ci/linux
that referenced
this issue
Feb 28, 2022
Use flexible-array members in struct fc_fdmi_attr_entry and fs_fdmi_attrs instead of one-element arrays, and refactor the code accordingly. Also, this helps with the ongoing efforts to globally enable -Warray-bounds and get us closer to being able to tighten the FORTIFY_SOURCE routines on memcpy(). KSPP#79 ClangBuiltLinux#1590 Link: https://lore.kernel.org/r/20220214223903.GA859464@embeddedor Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
-Wattribute-warning
[BUG] linux-next
This is an issue only seen in linux-next
[FIXED][LINUX] development cycle
This bug was only present and fixed in a -next or -rc cycle
[FIXED][LINUX] 5.18
This bug was fixed in Linux 5.18
With both
ARCH=arm64 allmodconfig
andARCH=x86_64 allmodconfig
on linux-next, I see:This comes from the new fortify checks.
I noticed that @GustavoARSilva sent a patch to convert a couple of structures to use a flexible member array in
drivers/scsi
, which actually resolves this.cc @kees
The text was updated successfully, but these errors were encountered: