Re: IORING_OP_CLOSE fails on fd opened with O_PATH

Jens Axboe
2020-06-09T02:14:58Z

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.

--
Jens Axboe