Re: IORING_OP_CLOSE fails on fd opened with O_PATH

Clay Harris
2020-06-09T05:21:49Z

On Mon, Jun 08 2020 at 20:14:51 -0600, Jens Axboe quoth thus:

> On 6/8/20 7:40 PM, Clay Harris wrote:
> > On Mon, Jun 08 2020 at 14:19:56 -0600, Jens Axboe quoth thus:
> >
> >> On 6/8/20 5:21 AM, Clay Harris wrote:
> >>> On Sun, May 31 2020 at 08:46:03 -0600, Jens Axboe quoth thus:
> >>>
> >>>> On 5/31/20 6:47 AM, Clay Harris wrote:
> >>>>> Tested on kernel 5.6.14
> >>>>>
> >>>>> $ ./closetest closetest.c
> >>>>>
> >>>>> path closetest.c open on fd 3 with O_RDONLY
> >>>>> ---- io_uring close(3)
> >>>>> ---- ordinary close(3)
> >>>>> ordinary close(3) failed, errno 9: Bad file descriptor
> >>>>>
> >>>>>
> >>>>> $ ./closetest closetest.c opath
> >>>>>
> >>>>> path closetest.c open on fd 3 with O_PATH
> >>>>> ---- io_uring close(3)
> >>>>> io_uring close() failed, errno 9: Bad file descriptor
> >>>>> ---- ordinary close(3)
> >>>>> ordinary close(3) returned 0
> >>>>
> >>>> Can you include the test case, please? Should be an easy fix, but no
> >>>> point rewriting a test case if I can avoid it...
> >>>
> >>> Sure. Here's a cleaned-up test program.
> >>> https://claycon.org/software/io_uring/tests/close_opath.c
> >>
> >> Thanks for sending this - but it's GPL v3, I can't take that. I'll
> >> probably just add an O_PATH test case to the existing open-close test
> >> cases.
> >
> > I didn't realize that would be an issue.
> > I'll change it. Would you prefer GPL 2, or should I just delete the
> > license line altogether?
>
> It's not a huge deal, but at the same time I see no reason to add GPL
> v3 unless I absolutely have to (and I don't). So yeah, if you could
> just post with MIT (like the other test programs), then that'd be
> preferable.

* Change license to MIT.
Done.

> --
> Jens Axboe