If cq_entries is smaller than sq_entries, it will cause a lot of overflow
to appear. when customizing cq_entries, at least let him be no smaller than
sq_entries.

Fixes: 95d8765bd9f2 ("io_uring: allow application controlled CQ ring size")
Signed-off-by: Jackie Liu <liuyu...@kylinos.cn>
---
 fs/io_uring.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/io_uring.c b/fs/io_uring.c
index b64cd2c..dfa9731 100644
--- a/fs/io_uring.c
+++ b/fs/io_uring.c
@@ -3784,7 +3784,7 @@ static int io_uring_create(unsigned entries, struct 
io_uring_params *p)
                 * to a power-of-two, if it isn't already. We do NOT impose
                 * any cq vs sq ring sizing.
                 */
-               if (!p->cq_entries || p->cq_entries > IORING_MAX_CQ_ENTRIES)
+               if (p->cq_entries < p->sq_entries || p->cq_entries > 
IORING_MAX_CQ_ENTRIES)
                        return -EINVAL;
                p->cq_entries = roundup_pow_of_two(p->cq_entries);
        } else {
-- 
2.7.4



Reply via email to