All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end warning
@ 2024-08-21  0:50 Gustavo A. R. Silva
  2024-08-22 17:41 ` Kees Cook
  2024-09-13  8:07 ` Gustavo A. R. Silva
  0 siblings, 2 replies; 5+ messages in thread
From: Gustavo A. R. Silva @ 2024-08-21  0:50 UTC (permalink / raw)
  To: Juergen Gross, Stefano Stabellini, Oleksandr Tyshchenko
  Cc: xen-devel, linux-kernel, Gustavo A. R. Silva, linux-hardening

Use the `DEFINE_RAW_FLEX()` helper for an on-stack definition of
a flexible structure where the size of the flexible-array member
is known at compile-time, and refactor the rest of the code,
accordingly.

So, with this, fix the following warning:

drivers/xen/pci.c:48:55: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
 drivers/xen/pci.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
index 72d4e3f193af..a2facd8f7e51 100644
--- a/drivers/xen/pci.c
+++ b/drivers/xen/pci.c
@@ -44,15 +44,11 @@ static int xen_add_device(struct device *dev)
 	}
 #endif
 	if (pci_seg_supported) {
-		struct {
-			struct physdev_pci_device_add add;
-			uint32_t pxm;
-		} add_ext = {
-			.add.seg = pci_domain_nr(pci_dev->bus),
-			.add.bus = pci_dev->bus->number,
-			.add.devfn = pci_dev->devfn
-		};
-		struct physdev_pci_device_add *add = &add_ext.add;
+		DEFINE_RAW_FLEX(struct physdev_pci_device_add, add, optarr, 1);
+
+		add->seg = pci_domain_nr(pci_dev->bus);
+		add->bus = pci_dev->bus->number;
+		add->devfn = pci_dev->devfn;
 
 #ifdef CONFIG_ACPI
 		acpi_handle handle;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end warning
  2024-08-21  0:50 [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end warning Gustavo A. R. Silva
@ 2024-08-22 17:41 ` Kees Cook
  2024-09-13  8:07 ` Gustavo A. R. Silva
  1 sibling, 0 replies; 5+ messages in thread
From: Kees Cook @ 2024-08-22 17:41 UTC (permalink / raw)
  To: Gustavo A. R. Silva
  Cc: Juergen Gross, Stefano Stabellini, Oleksandr Tyshchenko,
	xen-devel, linux-kernel, linux-hardening

On Tue, Aug 20, 2024 at 06:50:56PM -0600, Gustavo A. R. Silva wrote:
> Use the `DEFINE_RAW_FLEX()` helper for an on-stack definition of
> a flexible structure where the size of the flexible-array member
> is known at compile-time, and refactor the rest of the code,
> accordingly.
> 
> So, with this, fix the following warning:
> 
> drivers/xen/pci.c:48:55: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
> 
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> ---
>  drivers/xen/pci.c | 14 +++++---------
>  1 file changed, 5 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
> index 72d4e3f193af..a2facd8f7e51 100644
> --- a/drivers/xen/pci.c
> +++ b/drivers/xen/pci.c
> @@ -44,15 +44,11 @@ static int xen_add_device(struct device *dev)
>  	}
>  #endif
>  	if (pci_seg_supported) {
> -		struct {
> -			struct physdev_pci_device_add add;
> -			uint32_t pxm;
> -		} add_ext = {
> -			.add.seg = pci_domain_nr(pci_dev->bus),
> -			.add.bus = pci_dev->bus->number,
> -			.add.devfn = pci_dev->devfn
> -		};
> -		struct physdev_pci_device_add *add = &add_ext.add;
> +		DEFINE_RAW_FLEX(struct physdev_pci_device_add, add, optarr, 1);
> +
> +		add->seg = pci_domain_nr(pci_dev->bus);
> +		add->bus = pci_dev->bus->number;
> +		add->devfn = pci_dev->devfn;
>  
>  #ifdef CONFIG_ACPI
>  		acpi_handle handle;

Looks correct to me!

Reviewed-by: Kees Cook <kees@kernel.org>

-- 
Kees Cook

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end warning
  2024-08-21  0:50 [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end warning Gustavo A. R. Silva
  2024-08-22 17:41 ` Kees Cook
@ 2024-09-13  8:07 ` Gustavo A. R. Silva
  2024-09-13  8:12   ` Jürgen Groß
  1 sibling, 1 reply; 5+ messages in thread
From: Gustavo A. R. Silva @ 2024-09-13  8:07 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Juergen Gross, Stefano Stabellini,
	Oleksandr Tyshchenko
  Cc: xen-devel, linux-kernel, linux-hardening

Hi all,

Friendly ping: who can take this, please? 🙂

Thanks
-- 
Gustavo

On 21/08/24 02:50, Gustavo A. R. Silva wrote:
> Use the `DEFINE_RAW_FLEX()` helper for an on-stack definition of
> a flexible structure where the size of the flexible-array member
> is known at compile-time, and refactor the rest of the code,
> accordingly.
> 
> So, with this, fix the following warning:
> 
> drivers/xen/pci.c:48:55: warning: structure containing a flexible array member is not at the end of another structure [-Wflex-array-member-not-at-end]
> 
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> ---
>   drivers/xen/pci.c | 14 +++++---------
>   1 file changed, 5 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
> index 72d4e3f193af..a2facd8f7e51 100644
> --- a/drivers/xen/pci.c
> +++ b/drivers/xen/pci.c
> @@ -44,15 +44,11 @@ static int xen_add_device(struct device *dev)
>   	}
>   #endif
>   	if (pci_seg_supported) {
> -		struct {
> -			struct physdev_pci_device_add add;
> -			uint32_t pxm;
> -		} add_ext = {
> -			.add.seg = pci_domain_nr(pci_dev->bus),
> -			.add.bus = pci_dev->bus->number,
> -			.add.devfn = pci_dev->devfn
> -		};
> -		struct physdev_pci_device_add *add = &add_ext.add;
> +		DEFINE_RAW_FLEX(struct physdev_pci_device_add, add, optarr, 1);
> +
> +		add->seg = pci_domain_nr(pci_dev->bus);
> +		add->bus = pci_dev->bus->number;
> +		add->devfn = pci_dev->devfn;
>   
>   #ifdef CONFIG_ACPI
>   		acpi_handle handle;

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end warning
  2024-09-13  8:07 ` Gustavo A. R. Silva
@ 2024-09-13  8:12   ` Jürgen Groß
  2024-09-13  8:16     ` Gustavo A. R. Silva
  0 siblings, 1 reply; 5+ messages in thread
From: Jürgen Groß @ 2024-09-13  8:12 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Gustavo A. R. Silva, Stefano Stabellini,
	Oleksandr Tyshchenko
  Cc: xen-devel, linux-kernel, linux-hardening


[-- Attachment #1.1.1: Type: text/plain, Size: 163 bytes --]

On 13.09.24 10:07, Gustavo A. R. Silva wrote:
> Hi all,
> 
> Friendly ping: who can take this, please? 🙂

I can carry it via the Xen tree.


Juergen


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3743 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end warning
  2024-09-13  8:12   ` Jürgen Groß
@ 2024-09-13  8:16     ` Gustavo A. R. Silva
  0 siblings, 0 replies; 5+ messages in thread
From: Gustavo A. R. Silva @ 2024-09-13  8:16 UTC (permalink / raw)
  To: Jürgen Groß, Gustavo A. R. Silva, Stefano Stabellini,
	Oleksandr Tyshchenko
  Cc: xen-devel, linux-kernel, linux-hardening



On 13/09/24 10:12, Jürgen Groß wrote:
> On 13.09.24 10:07, Gustavo A. R. Silva wrote:
>> Hi all,
>>
>> Friendly ping: who can take this, please? 🙂
> 
> I can carry it via the Xen tree.

Sounds good. :)

Thank you!
--
Gustavo

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-09-13  8:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-21  0:50 [PATCH][next] xen/pci: Avoid -Wflex-array-member-not-at-end warning Gustavo A. R. Silva
2024-08-22 17:41 ` Kees Cook
2024-09-13  8:07 ` Gustavo A. R. Silva
2024-09-13  8:12   ` Jürgen Groß
2024-09-13  8:16     ` Gustavo A. R. Silva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.