[PATCH] lib: packing: Include necessary headers

Nathan Lynch via B4 Relay posted 1 patch 3 months, 2 weeks ago
include/linux/packing.h | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
[PATCH] lib: packing: Include necessary headers
Posted by Nathan Lynch via B4 Relay 3 months, 2 weeks ago
From: Nathan Lynch <nathan.lynch@amd.com>

packing.h uses ARRAY_SIZE(), BUILD_BUG_ON_MSG(), min(), max(), and
sizeof_field() without including the headers where they are defined,
potentially causing build failures.

Fix this in packing.h and sort the result.

Signed-off-by: Nathan Lynch <nathan.lynch@amd.com>
---
 include/linux/packing.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/include/linux/packing.h b/include/linux/packing.h
index 0589d70bbe0434c418f41b842f92b3300a107762..20ae4d452c7bb4069eb625ba332d617c2a840193 100644
--- a/include/linux/packing.h
+++ b/include/linux/packing.h
@@ -5,8 +5,12 @@
 #ifndef _LINUX_PACKING_H
 #define _LINUX_PACKING_H
 
-#include <linux/types.h>
+#include <linux/array_size.h>
 #include <linux/bitops.h>
+#include <linux/build_bug.h>
+#include <linux/minmax.h>
+#include <linux/stddef.h>
+#include <linux/types.h>
 
 #define GEN_PACKED_FIELD_STRUCT(__type) \
 	struct packed_field_ ## __type { \

---
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
change-id: 20250624-packing-includes-5d544b1efd86

Best regards,
-- 
Nathan Lynch <nathan.lynch@amd.com>
Re: [PATCH] lib: packing: Include necessary headers
Posted by Vladimir Oltean 3 months, 2 weeks ago
On Tue, Jun 24, 2025 at 08:50:44AM -0500, Nathan Lynch via B4 Relay wrote:
> From: Nathan Lynch <nathan.lynch@amd.com>
> 
> packing.h uses ARRAY_SIZE(), BUILD_BUG_ON_MSG(), min(), max(), and
> sizeof_field() without including the headers where they are defined,
> potentially causing build failures.
> 
> Fix this in packing.h and sort the result.
> 
> Signed-off-by: Nathan Lynch <nathan.lynch@amd.com>
> ---
>  include/linux/packing.h | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/packing.h b/include/linux/packing.h
> index 0589d70bbe0434c418f41b842f92b3300a107762..20ae4d452c7bb4069eb625ba332d617c2a840193 100644
> --- a/include/linux/packing.h
> +++ b/include/linux/packing.h
> @@ -5,8 +5,12 @@
>  #ifndef _LINUX_PACKING_H
>  #define _LINUX_PACKING_H
>  
> -#include <linux/types.h>
> +#include <linux/array_size.h>
>  #include <linux/bitops.h>
> +#include <linux/build_bug.h>
> +#include <linux/minmax.h>
> +#include <linux/stddef.h>
> +#include <linux/types.h>
>  
>  #define GEN_PACKED_FIELD_STRUCT(__type) \
>  	struct packed_field_ ## __type { \
> 
> ---
> base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
> change-id: 20250624-packing-includes-5d544b1efd86
> 
> Best regards,
> -- 
> Nathan Lynch <nathan.lynch@amd.com>
> 
> 

Reviewed-by: Vladimir Oltean <olteanv@gmail.com>

I assume this patch is not necessary for stable kernels, I haven't
noticed any build breakage report in the packing integrations thus far.

Netdev maintainers, can you pick this patch up via net-next? All past
contributions to packing went through networking. Let me see if I can
revive it in patchwork.

pw-bot: under-review

Nathan, if netdev maintainers don't respond within 24 hours, can you
please post a v2 of this patch explicitly targeting the net-next tree,
as per Documentation/process/maintainer-netdev.rst?