netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] stddef: Allow attributes to be used when creating flex arrays
@ 2024-02-10  1:16 Kees Cook
  2024-02-10  1:16 ` [PATCH 1/2] " Kees Cook
  2024-02-10  1:16 ` [PATCH 2/2] net/ipv4: Annotate imsf_slist_flex with __counted_by(imsf_numsrc) Kees Cook
  0 siblings, 2 replies; 8+ messages in thread
From: Kees Cook @ 2024-02-10  1:16 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Kees Cook, Gustavo A. R. Silva, Rasmus Villemoes, Dan Williams,
	Keith Packard, Miguel Ojeda, David S. Miller, Alexey Dobriyan,
	Dmitry Antipov, Eric Dumazet, Paolo Abeni, Nathan Chancellor,
	kernel test robot, linux-kernel, netdev, linux-hardening

Hi,

We're going to have more cases where we need to apply attributes
(e.g. __counted_by) to struct members that have been declared with
DECLARE_FLEX_ARRAY. Add a new ..._ATTR helper to allow for this and
annotate one such user in linux/in.h.

-Kees

Kees Cook (2):
  stddef: Allow attributes to be used when creating flex arrays
  net/ipv4: Annotate imsf_slist_flex with __counted_by(imsf_numsrc)

 include/linux/stddef.h      | 16 ++++++++++++++--
 include/uapi/linux/in.h     |  3 ++-
 include/uapi/linux/stddef.h | 25 +++++++++++++++++++------
 3 files changed, 35 insertions(+), 9 deletions(-)

-- 
2.34.1


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

* [PATCH 1/2] stddef: Allow attributes to be used when creating flex arrays
  2024-02-10  1:16 [PATCH 0/2] stddef: Allow attributes to be used when creating flex arrays Kees Cook
@ 2024-02-10  1:16 ` Kees Cook
  2024-02-10  3:47   ` Gustavo A. R. Silva
  2024-02-13  7:22   ` Rasmus Villemoes
  2024-02-10  1:16 ` [PATCH 2/2] net/ipv4: Annotate imsf_slist_flex with __counted_by(imsf_numsrc) Kees Cook
  1 sibling, 2 replies; 8+ messages in thread
From: Kees Cook @ 2024-02-10  1:16 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Kees Cook, Gustavo A . R . Silva, Rasmus Villemoes, Dan Williams,
	Keith Packard, Miguel Ojeda, Alexey Dobriyan, Dmitry Antipov,
	David S. Miller, Eric Dumazet, Paolo Abeni, Nathan Chancellor,
	kernel test robot, linux-kernel, netdev, linux-hardening

With the coming support for the __counted_by struct member attribute, we
will need a way to add such annotations to the places where
DECLARE_FLEX_ARRAY() is used. Introduce DECLARE_FLEX_ARRAY_ATTR() which
takes a third argument: the attributes to apply to the flexible array.

Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Keith Packard <keithp@keithp.com>
Cc: Miguel Ojeda <ojeda@kernel.org>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Dmitry Antipov <dmantipov@yandex.ru>
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 include/linux/stddef.h      | 16 ++++++++++++++--
 include/uapi/linux/stddef.h | 25 +++++++++++++++++++------
 2 files changed, 33 insertions(+), 8 deletions(-)

diff --git a/include/linux/stddef.h b/include/linux/stddef.h
index 929d67710cc5..eb51f6727ecf 100644
--- a/include/linux/stddef.h
+++ b/include/linux/stddef.h
@@ -81,8 +81,20 @@ enum {
 	__struct_group(TAG, NAME, /* no attrs */, MEMBERS)
 
 /**
- * DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
+ * DECLARE_FLEX_ARRAY_ATTR() - Declare a flexible array usable in a union
+ * @TYPE: The type of each flexible array element
+ * @NAME: The name of the flexible array member
+ * @ATTRS: The list of member attributes to apply
  *
+ * In order to have a flexible array member in a union or alone in a
+ * struct, it needs to be wrapped in an anonymous struct with at least 1
+ * named member, but that member can be empty.
+ */
+#define DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS) \
+	__DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS)
+
+/**
+ * DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
  * @TYPE: The type of each flexible array element
  * @NAME: The name of the flexible array member
  *
@@ -91,6 +103,6 @@ enum {
  * named member, but that member can be empty.
  */
 #define DECLARE_FLEX_ARRAY(TYPE, NAME) \
-	__DECLARE_FLEX_ARRAY(TYPE, NAME)
+	DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, /* no attributes */)
 
 #endif
diff --git a/include/uapi/linux/stddef.h b/include/uapi/linux/stddef.h
index 2ec6f35cda32..5499c08ad011 100644
--- a/include/uapi/linux/stddef.h
+++ b/include/uapi/linux/stddef.h
@@ -31,24 +31,37 @@
 
 #ifdef __cplusplus
 /* sizeof(struct{}) is 1 in C++, not 0, can't use C version of the macro. */
-#define __DECLARE_FLEX_ARRAY(T, member)	\
-	T member[0]
+#define __DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS)	\
+	TYPE NAME[0] ATTRS
+#define __DECLARE_FLEX_ARRAY(TYPE, NAME)		\
+	__DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, /* no attributes */)
 #else
 /**
- * __DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
- *
+ * __DECLARE_FLEX_ARRAY_ATTR() - Declare a flexible array usable in a union
  * @TYPE: The type of each flexible array element
  * @NAME: The name of the flexible array member
+ * @ATTRS: The list of member attributes to apply
  *
  * In order to have a flexible array member in a union or alone in a
  * struct, it needs to be wrapped in an anonymous struct with at least 1
  * named member, but that member can be empty.
  */
-#define __DECLARE_FLEX_ARRAY(TYPE, NAME)	\
+#define __DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS)	\
 	struct { \
 		struct { } __empty_ ## NAME; \
-		TYPE NAME[]; \
+		TYPE NAME[] ATTRS; \
 	}
+/**
+ * __DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
+ * @TYPE: The type of each flexible array element
+ * @NAME: The name of the flexible array member
+ *
+ * In order to have a flexible array member in a union or alone in a
+ * struct, it needs to be wrapped in an anonymous struct with at least 1
+ * named member, but that member can be empty.
+ */
+#define __DECLARE_FLEX_ARRAY(TYPE, NAME)	\
+	__DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, /* no attributes */)
 #endif
 
 #ifndef __counted_by
-- 
2.34.1


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

* [PATCH 2/2] net/ipv4: Annotate imsf_slist_flex with __counted_by(imsf_numsrc)
  2024-02-10  1:16 [PATCH 0/2] stddef: Allow attributes to be used when creating flex arrays Kees Cook
  2024-02-10  1:16 ` [PATCH 1/2] " Kees Cook
@ 2024-02-10  1:16 ` Kees Cook
  2024-02-10  3:48   ` Gustavo A. R. Silva
  2024-02-13  1:35   ` Jakub Kicinski
  1 sibling, 2 replies; 8+ messages in thread
From: Kees Cook @ 2024-02-10  1:16 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Kees Cook, David S. Miller, Eric Dumazet, Paolo Abeni,
	Gustavo A. R. Silva, netdev, linux-hardening, Rasmus Villemoes,
	Dan Williams, Keith Packard, Miguel Ojeda, Alexey Dobriyan,
	Dmitry Antipov, Nathan Chancellor, kernel test robot,
	linux-kernel

The size of the imsf_slist_flex member is determined by imsf_numsrc, so
annotate it as such.

Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: netdev@vger.kernel.org
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 include/uapi/linux/in.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/uapi/linux/in.h b/include/uapi/linux/in.h
index e682ab628dfa..445f6ae76f1e 100644
--- a/include/uapi/linux/in.h
+++ b/include/uapi/linux/in.h
@@ -199,7 +199,8 @@ struct ip_msfilter {
 	__u32		imsf_numsrc;
 	union {
 		__be32		imsf_slist[1];
-		__DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex);
+		__DECLARE_FLEX_ARRAY_ATTR(__be32, imsf_slist_flex,
+					  __counted_by(imsf_numsrc));
 	};
 };
 
-- 
2.34.1


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

* Re: [PATCH 1/2] stddef: Allow attributes to be used when creating flex arrays
  2024-02-10  1:16 ` [PATCH 1/2] " Kees Cook
@ 2024-02-10  3:47   ` Gustavo A. R. Silva
  2024-02-13  7:22   ` Rasmus Villemoes
  1 sibling, 0 replies; 8+ messages in thread
From: Gustavo A. R. Silva @ 2024-02-10  3:47 UTC (permalink / raw)
  To: Kees Cook, Jakub Kicinski
  Cc: Gustavo A . R . Silva, Rasmus Villemoes, Dan Williams,
	Keith Packard, Miguel Ojeda, Alexey Dobriyan, Dmitry Antipov,
	David S. Miller, Eric Dumazet, Paolo Abeni, Nathan Chancellor,
	kernel test robot, linux-kernel, netdev, linux-hardening



On 2/9/24 19:16, Kees Cook wrote:
> With the coming support for the __counted_by struct member attribute, we
> will need a way to add such annotations to the places where
> DECLARE_FLEX_ARRAY() is used. Introduce DECLARE_FLEX_ARRAY_ATTR() which
> takes a third argument: the attributes to apply to the flexible array.
> 
> Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> Cc: Dan Williams <dan.j.williams@intel.com>
> Cc: Keith Packard <keithp@keithp.com>
> Cc: Miguel Ojeda <ojeda@kernel.org>
> Cc: Alexey Dobriyan <adobriyan@gmail.com>
> Cc: Dmitry Antipov <dmantipov@yandex.ru>
> Signed-off-by: Kees Cook <keescook@chromium.org>

Nice!

Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Thanks
-- 
Gustavo

> ---
>   include/linux/stddef.h      | 16 ++++++++++++++--
>   include/uapi/linux/stddef.h | 25 +++++++++++++++++++------
>   2 files changed, 33 insertions(+), 8 deletions(-)
> 
> diff --git a/include/linux/stddef.h b/include/linux/stddef.h
> index 929d67710cc5..eb51f6727ecf 100644
> --- a/include/linux/stddef.h
> +++ b/include/linux/stddef.h
> @@ -81,8 +81,20 @@ enum {
>   	__struct_group(TAG, NAME, /* no attrs */, MEMBERS)
>   
>   /**
> - * DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
> + * DECLARE_FLEX_ARRAY_ATTR() - Declare a flexible array usable in a union
> + * @TYPE: The type of each flexible array element
> + * @NAME: The name of the flexible array member
> + * @ATTRS: The list of member attributes to apply
>    *
> + * In order to have a flexible array member in a union or alone in a
> + * struct, it needs to be wrapped in an anonymous struct with at least 1
> + * named member, but that member can be empty.
> + */
> +#define DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS) \
> +	__DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS)
> +
> +/**
> + * DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
>    * @TYPE: The type of each flexible array element
>    * @NAME: The name of the flexible array member
>    *
> @@ -91,6 +103,6 @@ enum {
>    * named member, but that member can be empty.
>    */
>   #define DECLARE_FLEX_ARRAY(TYPE, NAME) \
> -	__DECLARE_FLEX_ARRAY(TYPE, NAME)
> +	DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, /* no attributes */)
>   
>   #endif
> diff --git a/include/uapi/linux/stddef.h b/include/uapi/linux/stddef.h
> index 2ec6f35cda32..5499c08ad011 100644
> --- a/include/uapi/linux/stddef.h
> +++ b/include/uapi/linux/stddef.h
> @@ -31,24 +31,37 @@
>   
>   #ifdef __cplusplus
>   /* sizeof(struct{}) is 1 in C++, not 0, can't use C version of the macro. */
> -#define __DECLARE_FLEX_ARRAY(T, member)	\
> -	T member[0]
> +#define __DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS)	\
> +	TYPE NAME[0] ATTRS
> +#define __DECLARE_FLEX_ARRAY(TYPE, NAME)		\
> +	__DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, /* no attributes */)
>   #else
>   /**
> - * __DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
> - *
> + * __DECLARE_FLEX_ARRAY_ATTR() - Declare a flexible array usable in a union
>    * @TYPE: The type of each flexible array element
>    * @NAME: The name of the flexible array member
> + * @ATTRS: The list of member attributes to apply
>    *
>    * In order to have a flexible array member in a union or alone in a
>    * struct, it needs to be wrapped in an anonymous struct with at least 1
>    * named member, but that member can be empty.
>    */
> -#define __DECLARE_FLEX_ARRAY(TYPE, NAME)	\
> +#define __DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS)	\
>   	struct { \
>   		struct { } __empty_ ## NAME; \
> -		TYPE NAME[]; \
> +		TYPE NAME[] ATTRS; \
>   	}
> +/**
> + * __DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
> + * @TYPE: The type of each flexible array element
> + * @NAME: The name of the flexible array member
> + *
> + * In order to have a flexible array member in a union or alone in a
> + * struct, it needs to be wrapped in an anonymous struct with at least 1
> + * named member, but that member can be empty.
> + */
> +#define __DECLARE_FLEX_ARRAY(TYPE, NAME)	\
> +	__DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, /* no attributes */)
>   #endif
>   
>   #ifndef __counted_by

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

* Re: [PATCH 2/2] net/ipv4: Annotate imsf_slist_flex with __counted_by(imsf_numsrc)
  2024-02-10  1:16 ` [PATCH 2/2] net/ipv4: Annotate imsf_slist_flex with __counted_by(imsf_numsrc) Kees Cook
@ 2024-02-10  3:48   ` Gustavo A. R. Silva
  2024-02-13  1:35   ` Jakub Kicinski
  1 sibling, 0 replies; 8+ messages in thread
From: Gustavo A. R. Silva @ 2024-02-10  3:48 UTC (permalink / raw)
  To: Kees Cook, Jakub Kicinski
  Cc: David S. Miller, Eric Dumazet, Paolo Abeni, Gustavo A. R. Silva,
	netdev, linux-hardening, Rasmus Villemoes, Dan Williams,
	Keith Packard, Miguel Ojeda, Alexey Dobriyan, Dmitry Antipov,
	Nathan Chancellor, kernel test robot, linux-kernel



On 2/9/24 19:16, Kees Cook wrote:
> The size of the imsf_slist_flex member is determined by imsf_numsrc, so
> annotate it as such.
> 
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
> Cc: netdev@vger.kernel.org
> Cc: linux-hardening@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>

LGTM:

Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Thanks!
-- 
Gustavo

> ---
>   include/uapi/linux/in.h | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/include/uapi/linux/in.h b/include/uapi/linux/in.h
> index e682ab628dfa..445f6ae76f1e 100644
> --- a/include/uapi/linux/in.h
> +++ b/include/uapi/linux/in.h
> @@ -199,7 +199,8 @@ struct ip_msfilter {
>   	__u32		imsf_numsrc;
>   	union {
>   		__be32		imsf_slist[1];
> -		__DECLARE_FLEX_ARRAY(__be32, imsf_slist_flex);
> +		__DECLARE_FLEX_ARRAY_ATTR(__be32, imsf_slist_flex,
> +					  __counted_by(imsf_numsrc));
>   	};
>   };
>   

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

* Re: [PATCH 2/2] net/ipv4: Annotate imsf_slist_flex with __counted_by(imsf_numsrc)
  2024-02-10  1:16 ` [PATCH 2/2] net/ipv4: Annotate imsf_slist_flex with __counted_by(imsf_numsrc) Kees Cook
  2024-02-10  3:48   ` Gustavo A. R. Silva
@ 2024-02-13  1:35   ` Jakub Kicinski
  1 sibling, 0 replies; 8+ messages in thread
From: Jakub Kicinski @ 2024-02-13  1:35 UTC (permalink / raw)
  To: Kees Cook
  Cc: David S. Miller, Eric Dumazet, Paolo Abeni, Gustavo A. R. Silva,
	netdev, linux-hardening, Rasmus Villemoes, Dan Williams,
	Keith Packard, Miguel Ojeda, Alexey Dobriyan, Dmitry Antipov,
	Nathan Chancellor, kernel test robot, linux-kernel

On Fri,  9 Feb 2024 17:16:42 -0800 Kees Cook wrote:
> The size of the imsf_slist_flex member is determined by imsf_numsrc, so
> annotate it as such.

Acked-by: Jakub Kicinski <kuba@kernel.org>

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

* Re: [PATCH 1/2] stddef: Allow attributes to be used when creating flex arrays
  2024-02-10  1:16 ` [PATCH 1/2] " Kees Cook
  2024-02-10  3:47   ` Gustavo A. R. Silva
@ 2024-02-13  7:22   ` Rasmus Villemoes
  2024-02-13 23:20     ` Kees Cook
  1 sibling, 1 reply; 8+ messages in thread
From: Rasmus Villemoes @ 2024-02-13  7:22 UTC (permalink / raw)
  To: Kees Cook, Jakub Kicinski
  Cc: Gustavo A . R . Silva, Dan Williams, Keith Packard, Miguel Ojeda,
	Alexey Dobriyan, Dmitry Antipov, David S. Miller, Eric Dumazet,
	Paolo Abeni, Nathan Chancellor, kernel test robot, linux-kernel,
	netdev, linux-hardening

On 10/02/2024 02.16, Kees Cook wrote:
> With the coming support for the __counted_by struct member attribute, we
> will need a way to add such annotations to the places where
> DECLARE_FLEX_ARRAY() is used. Introduce DECLARE_FLEX_ARRAY_ATTR() which
> takes a third argument: the attributes to apply to the flexible array.
> 

> - * __DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
> - *
> + * __DECLARE_FLEX_ARRAY_ATTR() - Declare a flexible array usable in a union
>   * @TYPE: The type of each flexible array element
>   * @NAME: The name of the flexible array member
> + * @ATTRS: The list of member attributes to apply
>   *
>   * In order to have a flexible array member in a union or alone in a
>   * struct, it needs to be wrapped in an anonymous struct with at least 1
>   * named member, but that member can be empty.
>   */
> -#define __DECLARE_FLEX_ARRAY(TYPE, NAME)	\
> +#define __DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS)	\
>  	struct { \
>  		struct { } __empty_ ## NAME; \
> -		TYPE NAME[]; \
> +		TYPE NAME[] ATTRS; \
>  	}

Is it too ugly to not introduce a separate _ATTR macro but instead just do

#define __DECLARE_FLEX_ARRAY(TYPE, NAME, ...) \
  ...
  TYPE NAME[] __VA_ARGS__;

?

Rasmus


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

* Re: [PATCH 1/2] stddef: Allow attributes to be used when creating flex arrays
  2024-02-13  7:22   ` Rasmus Villemoes
@ 2024-02-13 23:20     ` Kees Cook
  0 siblings, 0 replies; 8+ messages in thread
From: Kees Cook @ 2024-02-13 23:20 UTC (permalink / raw)
  To: Rasmus Villemoes
  Cc: Jakub Kicinski, Gustavo A . R . Silva, Dan Williams,
	Keith Packard, Miguel Ojeda, Alexey Dobriyan, Dmitry Antipov,
	David S. Miller, Eric Dumazet, Paolo Abeni, Nathan Chancellor,
	kernel test robot, linux-kernel, netdev, linux-hardening

On Tue, Feb 13, 2024 at 08:22:00AM +0100, Rasmus Villemoes wrote:
> On 10/02/2024 02.16, Kees Cook wrote:
> > With the coming support for the __counted_by struct member attribute, we
> > will need a way to add such annotations to the places where
> > DECLARE_FLEX_ARRAY() is used. Introduce DECLARE_FLEX_ARRAY_ATTR() which
> > takes a third argument: the attributes to apply to the flexible array.
> > 
> 
> > - * __DECLARE_FLEX_ARRAY() - Declare a flexible array usable in a union
> > - *
> > + * __DECLARE_FLEX_ARRAY_ATTR() - Declare a flexible array usable in a union
> >   * @TYPE: The type of each flexible array element
> >   * @NAME: The name of the flexible array member
> > + * @ATTRS: The list of member attributes to apply
> >   *
> >   * In order to have a flexible array member in a union or alone in a
> >   * struct, it needs to be wrapped in an anonymous struct with at least 1
> >   * named member, but that member can be empty.
> >   */
> > -#define __DECLARE_FLEX_ARRAY(TYPE, NAME)	\
> > +#define __DECLARE_FLEX_ARRAY_ATTR(TYPE, NAME, ATTRS)	\
> >  	struct { \
> >  		struct { } __empty_ ## NAME; \
> > -		TYPE NAME[]; \
> > +		TYPE NAME[] ATTRS; \
> >  	}
> 
> Is it too ugly to not introduce a separate _ATTR macro but instead just do
> 
> #define __DECLARE_FLEX_ARRAY(TYPE, NAME, ...) \
>   ...
>   TYPE NAME[] __VA_ARGS__;
> 
> ?

Oh, yes. That will be much nicer, I think! I will send a v2...

-- 
Kees Cook

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

end of thread, other threads:[~2024-02-13 23:20 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-10  1:16 [PATCH 0/2] stddef: Allow attributes to be used when creating flex arrays Kees Cook
2024-02-10  1:16 ` [PATCH 1/2] " Kees Cook
2024-02-10  3:47   ` Gustavo A. R. Silva
2024-02-13  7:22   ` Rasmus Villemoes
2024-02-13 23:20     ` Kees Cook
2024-02-10  1:16 ` [PATCH 2/2] net/ipv4: Annotate imsf_slist_flex with __counted_by(imsf_numsrc) Kees Cook
2024-02-10  3:48   ` Gustavo A. R. Silva
2024-02-13  1:35   ` Jakub Kicinski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).