[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221115212614.1308132-3-ammar.faizi@intel.com>
Date: Wed, 16 Nov 2022 04:29:53 +0700
From: Ammar Faizi <ammarfaizi2@...weeb.org>
To: Jens Axboe <axboe@...nel.dk>
Cc: Pavel Begunkov <asml.silence@...il.com>,
Stefan Metzmacher <metze@...ba.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
io-uring Mailing List <io-uring@...r.kernel.org>,
GNU/Weeb Mailing List <gwml@...r.gnuweeb.org>,
Ammar Faizi <ammarfaizi2@...weeb.org>
Subject: [PATCH v1 2/2] io_uring: uapi: Don't use a zero-size array
From: Ammar Faizi <ammarfaizi2@...weeb.org>
Don't use a zero-size array because it doesn't allow the user to
compile an app that uses liburing with the `-pedantic-errors` flag:
io_uring.h:611:28: error: zero size arrays are an extension [-Werror,-Wzero-length-array]
Replace the array size from 0 to 1.
- No functional change is intended.
- No struct/union size change.
Signed-off-by: Ammar Faizi <ammarfaizi2@...weeb.org>
---
include/uapi/linux/io_uring.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h
index 77027cbaf786..0890784fcc9e 100644
--- a/include/uapi/linux/io_uring.h
+++ b/include/uapi/linux/io_uring.h
@@ -85,25 +85,25 @@ struct io_uring_sqe {
__u16 __pad3[1];
};
};
union {
struct {
__u64 addr3;
__u64 __pad2[1];
};
/*
* If the ring is initialized with IORING_SETUP_SQE128, then
* this field is used for 80 bytes of arbitrary command data
*/
- __u8 cmd[0];
+ __u8 cmd[1];
};
};
/*
* If sqe->file_index is set to this for opcodes that instantiate a new
* direct descriptor (like openat/openat2/accept), then io_uring will allocate
* an available direct descriptor instead of having the application pass one
* in. The picked direct descriptor will be returned in cqe->res, or -ENFILE
* if the space is full.
*/
#define IORING_FILE_INDEX_ALLOC (~0U)
@@ -599,25 +599,25 @@ struct io_uring_buf {
struct io_uring_buf_ring {
union {
/*
* To avoid spilling into more pages than we need to, the
* ring tail is overlaid with the io_uring_buf->resv field.
*/
struct {
__u64 resv1;
__u32 resv2;
__u16 resv3;
__u16 tail;
};
- struct io_uring_buf bufs[0];
+ struct io_uring_buf bufs[1];
};
};
/* argument for IORING_(UN)REGISTER_PBUF_RING */
struct io_uring_buf_reg {
__u64 ring_addr;
__u32 ring_entries;
__u16 bgid;
__u16 pad;
__u64 resv[3];
};
--
Ammar Faizi
Powered by blists - more mailing lists