Message ID | 20220628193320.GA52629@embeddedor (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [next] io_uring: replace zero-length array with flexible-array member | expand |
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.
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
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 {
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(-)