Re: [PATCH] Modify the return value ret to EOPNOTSUPP when initialized to reduce repeated assignment of errno

From: Stefano Garzarella
Date: Thu Aug 11 2022 - 11:02:57 EST


On Thu, Aug 11, 2022 at 03:56:38PM +0800, Zhang chunchao wrote:
Remove unnecessary initialization assignments.

Signed-off-by: Zhang chunchao <chunchao@xxxxxxxxxxxx>
---
io_uring/io_uring.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
index b54218da075c..8c267af06401 100644
--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -3859,14 +3859,13 @@ SYSCALL_DEFINE4(io_uring_register, unsigned int, fd, unsigned int, opcode,
void __user *, arg, unsigned int, nr_args)
{
struct io_ring_ctx *ctx;
- long ret = -EBADF;
+ long ret = -EOPNOTSUPP;
struct fd f;

f = fdget(fd);
if (!f.file)
return -EBADF;

- ret = -EOPNOTSUPP;
if (!io_is_uring_fops(f.file))
goto out_fput;


What about remove the initialization and assign it in the if branch?
I find it a bit easier to read.

I mean something like this:

--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -3859,16 +3859,17 @@ SYSCALL_DEFINE4(io_uring_register, unsigned int, fd, unsigned int, opcode,
void __user *, arg, unsigned int, nr_args)
{
struct io_ring_ctx *ctx;
- long ret = -EBADF;
+ long ret;
struct fd f;

f = fdget(fd);
if (!f.file)
return -EBADF;

- ret = -EOPNOTSUPP;
- if (!io_is_uring_fops(f.file))
+ if (!io_is_uring_fops(f.file)) {
+ ret = -EOPNOTSUPP;
goto out_fput;
+ }

ctx = f.file->private_data;


Otherwise remove the initialization, but leave the assignment as it is now.

Thanks,
Stefano