On 12/7/22 8:58?AM, Naresh Kamboju wrote: > LTP syscalls epoll_ctl02 is failing on Linux next master. > The reported problem is always reproducible and starts from next-20221205. > > GOOD tag: next-20221202 > BAD tag: next-20221205 > > tst_test.c:1524: TINFO: Timeout per run is 0h 05m 00s > epoll_ctl02.c:87: TPASS: epoll_clt(...) if epfd is an invalid fd : EBADF (9) > epoll_ctl02.c:87: TPASS: epoll_clt(...) if fd does not support epoll : EPERM (1) > epoll_ctl02.c:87: TFAIL: epoll_clt(...) if fd is an invalid fd > expected EBADF: EINVAL (22) > epoll_ctl02.c:87: TPASS: epoll_clt(...) if op is not supported : EINVAL (22) > epoll_ctl02.c:87: TPASS: epoll_clt(...) if fd is the same as epfd : EINVAL (22) > epoll_ctl02.c:87: TPASS: epoll_clt(...) if events is NULL : EFAULT (14) > epoll_ctl02.c:87: TPASS: epoll_clt(...) if fd is not registered with > EPOLL_CTL_DEL : ENOENT (2) > epoll_ctl02.c:87: TPASS: epoll_clt(...) if fd is not registered with > EPOLL_CTL_MOD : ENOENT (2) > epoll_ctl02.c:87: TPASS: epoll_clt(...) if fd is already registered > with EPOLL_CTL_ADD : EEXIST (17) This should fix it: diff --git a/fs/eventpoll.c b/fs/eventpoll.c index ec7ffce8265a..de9c551e1993 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -2195,6 +2195,7 @@ int do_epoll_ctl(int epfd, int op, int fd, struct epoll_event *epds, } /* Get the "struct file *" for the target file */ + error = -EBADF; tf = fdget(fd); if (!tf.file) goto error_fput; -- Jens Axboe