All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH][next] io_uring: replace zero-length array with flexible-array member
@ 2022-06-28 19:33 Gustavo A. R. Silva
  2022-06-28 19:38 ` Jens Axboe
  0 siblings, 1 reply; 3+ messages in thread
From: Gustavo A. R. Silva @ 2022-06-28 19:33 UTC (permalink / raw)
  To: Jens Axboe, Pavel Begunkov
  Cc: io-uring, linux-kernel, Gustavo A. R. Silva, linux-hardening

There is a regular need in the kernel to provide a way to declare
having a dynamically sized set of trailing elements in a structure.
Kernel code should always use “flexible array members”[1] for these
cases. The older style of one-element or zero-length arrays should
no longer be used[2].

[1] https://en.wikipedia.org/wiki/Flexible_array_member
[2] https://www.kernel.org/doc/html/v5.16/process/deprecated.html#zero-length-and-one-element-arrays

Link: https://github.com/KSPP/linux/issues/78
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
 include/uapi/linux/io_uring.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h
index 09e7c3b13d2d..65345848be2f 100644
--- a/include/uapi/linux/io_uring.h
+++ b/include/uapi/linux/io_uring.h
@@ -492,7 +492,7 @@ struct io_uring_probe {
 	__u8 ops_len;	/* length of ops[] array below */
 	__u16 resv;
 	__u32 resv2[3];
-	struct io_uring_probe_op ops[0];
+	struct io_uring_probe_op ops[];
 };
 
 struct io_uring_restriction {
-- 
2.27.0


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

* Re: [PATCH][next] io_uring: replace zero-length array with flexible-array member
  2022-06-28 19:33 [PATCH][next] io_uring: replace zero-length array with flexible-array member Gustavo A. R. Silva
@ 2022-06-28 19:38 ` Jens Axboe
  2022-06-28 19:54   ` Gustavo A. R. Silva
  0 siblings, 1 reply; 3+ messages in thread
From: Jens Axboe @ 2022-06-28 19:38 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Pavel Begunkov
  Cc: io-uring, linux-kernel, linux-hardening

On 6/28/22 1:33 PM, Gustavo A. R. Silva wrote:
> There is a regular need in the kernel to provide a way to declare
> having a dynamically sized set of trailing elements in a structure.
> Kernel code should always use ?flexible array members?[1] for these
> cases. The older style of one-element or zero-length arrays should
> no longer be used[2].
> 
> [1] https://en.wikipedia.org/wiki/Flexible_array_member
> [2] https://www.kernel.org/doc/html/v5.16/process/deprecated.html#zero-length-and-one-element-arrays

Thanks for sending this separately. As mentioned out-of-band, we already
have it like this in the io_uring.h header in liburing.

Applied for 5.20.

-- 
Jens Axboe


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

* Re: [PATCH][next] io_uring: replace zero-length array with flexible-array member
  2022-06-28 19:38 ` Jens Axboe
@ 2022-06-28 19:54   ` Gustavo A. R. Silva
  0 siblings, 0 replies; 3+ messages in thread
From: Gustavo A. R. Silva @ 2022-06-28 19:54 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Pavel Begunkov, io-uring, linux-kernel, linux-hardening

On Tue, Jun 28, 2022 at 01:38:44PM -0600, Jens Axboe wrote:
> Thanks for sending this separately. As mentioned out-of-band, we already
> have it like this in the io_uring.h header in liburing.
> 
> Applied for 5.20.

Great! :)

Thanks, Jens.
--
Gustavo

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

end of thread, other threads:[~2022-06-28 20:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-28 19:33 [PATCH][next] io_uring: replace zero-length array with flexible-array member Gustavo A. R. Silva
2022-06-28 19:38 ` Jens Axboe
2022-06-28 19:54   ` 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.