scsi: qedf: Use designated initializer for struct qed_fcoe_cb_ops
authorKees Cook <kees@kernel.org>
Fri, 2 May 2025 22:41:57 +0000 (15:41 -0700)
committerKees Cook <kees@kernel.org>
Thu, 8 May 2025 16:42:06 +0000 (09:42 -0700)
Recent fixes to the randstruct GCC plugin allowed it to notice
that this structure is entirely function pointers and is therefore
subject to randomization, but doing so requires that it always use
designated initializers. Explicitly specify the "common" member as being
initialized. Silences:

drivers/scsi/qedf/qedf_main.c:702:9: error: positional initialization of field in 'struct' declared with 'designated_init' attribute [-Werror=designated-init]
  702 |         {
      |         ^

Fixes: 035f7f87b729 ("randstruct: Enable Clang support")
Link: https://lore.kernel.org/r/20250502224156.work.617-kees@kernel.org
Signed-off-by: Kees Cook <kees@kernel.org>
drivers/scsi/qedf/qedf_main.c

index 436bd29..6b1ebab 100644 (file)
@@ -699,7 +699,7 @@ static u32 qedf_get_login_failures(void *cookie)
 }
 
 static struct qed_fcoe_cb_ops qedf_cb_ops = {
-       {
+       .common = {
                .link_update = qedf_link_update,
                .bw_update = qedf_bw_update,
                .schedule_recovery_handler = qedf_schedule_recovery_handler,