Re: [PATCH v2] io_uring: fix sparce warnings about __kernel_rwf_t casts

From: Jens Axboe
Date: Thu May 19 2022 - 08:13:53 EST


On 5/19/22 1:03 AM, Christoph Hellwig wrote:
>> index cddf5b6fbeb4..34839f30caee 100644
>> --- a/include/trace/events/io_uring.h
>> +++ b/include/trace/events/io_uring.h
>> @@ -520,7 +520,7 @@ TRACE_EVENT(io_uring_req_failed,
>> __entry->off = sqe->off;
>> __entry->addr = sqe->addr;
>> __entry->len = sqe->len;
>> - __entry->op_flags = sqe->rw_flags;
>> + __entry->op_flags = sqe->poll32_events;
>> __entry->buf_index = sqe->buf_index;
>> __entry->personality = sqe->personality;
>> __entry->file_index = sqe->file_index;
>
> For which I did not see a warning even if it looks real to me.
> But this union with basically a lot of __u32s here looks pretty
> strange to start with to me.

Vasily, if this is still causing unnecessary sparse spews, please send a
revised one against the current branch.

The union is the per-op flags. The requests that use them have a member
in there, either one can be used for printing it obviously.

--
Jens Axboe