scsi/bfa: use designated initializers
Subsystems (2)
PATCH v2 1/1 scsi/bfa: use designated initializers
Prepare to mark sensitive kernel structures for randomization by making sure they're using designated initializers. These were identified during allyesconfig builds of x86, arm, and arm64, with most initializer fixes extracted from grsecurity.
---
This has been updated now that struct bfa_fcs_mod_s was dropped.
--- drivers/scsi/bfa/bfa_fcs_lport.c | 29 ++++++++++++++++++++--------- drivers/scsi/bfa/bfa_modules.h | 12 ++++++------ 2 files changed, 26 insertions(+), 15 deletions(-)
drivers/scsi/bfa/bfa_fcs_lport.c +20 -9
@@ -90,15 +90,26 @@ static struct {void (*offline) (struct bfa_fcs_lport_s *port); } __port_action[] = { { - bfa_fcs_lport_unknown_init, bfa_fcs_lport_unknown_online, - bfa_fcs_lport_unknown_offline}, { - bfa_fcs_lport_fab_init, bfa_fcs_lport_fab_online, - bfa_fcs_lport_fab_offline}, { - bfa_fcs_lport_n2n_init, bfa_fcs_lport_n2n_online, - bfa_fcs_lport_n2n_offline}, { - bfa_fcs_lport_loop_init, bfa_fcs_lport_loop_online, - bfa_fcs_lport_loop_offline}, - }; + .init = bfa_fcs_lport_unknown_init, + .online = bfa_fcs_lport_unknown_online, + .offline = bfa_fcs_lport_unknown_offline + }, + { + .init = bfa_fcs_lport_fab_init, + .online = bfa_fcs_lport_fab_online, + .offline = bfa_fcs_lport_fab_offline + }, + { + .init = bfa_fcs_lport_n2n_init, + .online = bfa_fcs_lport_n2n_online, + .offline = bfa_fcs_lport_n2n_offline + }, + { + .init = bfa_fcs_lport_loop_init, + .online = bfa_fcs_lport_loop_online, + .offline = bfa_fcs_lport_loop_offline + }, +}; /* * fcs_port_sm FCS logical port state machine
drivers/scsi/bfa/bfa_modules.h +6 -6
@@ -79,12 +79,12 @@ enum { \ extern struct bfa_module_s hal_mod_ ## __mod; \ struct bfa_module_s hal_mod_ ## __mod = { \ - bfa_ ## __mod ## _meminfo, \ - bfa_ ## __mod ## _attach, \ - bfa_ ## __mod ## _detach, \ - bfa_ ## __mod ## _start, \ - bfa_ ## __mod ## _stop, \ - bfa_ ## __mod ## _iocdisable, \ + .meminfo = bfa_ ## __mod ## _meminfo, \ + .attach = bfa_ ## __mod ## _attach, \ + .detach = bfa_ ## __mod ## _detach, \ + .start = bfa_ ## __mod ## _start, \ + .stop = bfa_ ## __mod ## _stop, \ + .iocdisable = bfa_ ## __mod ## _iocdisable, \ }#define BFA_CACHELINE_SZ (256)
Signature · 6 lines
2.7.4 -- Kees Cook Pixel Security
Quoted 8 lines · Kees Cook
Prepare to mark sensitive kernel structures for randomization by making sure they're using designated initializers. These were identified during allyesconfig builds of x86, arm, and arm64, with most initializer fixes extracted from grsecurity.
Signed-off-by Kees Cook <[email protected]>---
This has been updated now that structbfa_fcs_mod_swas dropped.
Can you also add designated array initializers for __port_action while you're at it?
Quoted 6 lines · Christoph Hellwig
Quoted 5 lines · Kees Cook
Prepare to mark sensitive kernel structures for randomization by making sure they're using designated initializers. These were identified during allyesconfig builds of x86, arm, and arm64, with most initializer fixes extracted from grsecurity.
Quoted 6 lines
Quoted 3 lines
Signed-off-by Kees Cook <[email protected]>---
This has been updated now that structbfa_fcs_mod_swas dropped.Can you also add designated array initializers for
__port_actionwhile you're at it?
Hrm? This is what the patch already does. It adds them for both __port_action and struct bfa_module_s.
-Kees
Signature · 2 lines
Kees Cook Pixel Security
Quoted 2 lines · Kees Cook
Hrm? This is what the patch already does. It adds them for both
__port_actionand structbfa_module_s.
For __port_action it only uses designated initializers for the structures in the array, not the array itself.