Re: KCSAN: data-race in __alloc_file / __alloc_file

From: Linus Torvalds
Date: Tue Nov 12 2019 - 12:43:15 EST


On Tue, Nov 12, 2019 at 9:23 AM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> Hmm. I thought we already then applied all the patches that marked
> things that didn't use f_pos as FMODE_STREAM. Including pipes and
> sockets etc.
>
> But if we didn't - and no, I didn't double-check now either - then
> obviously that part of the patch can't be applied now.

Ok, looking at it now.

Yeah, commit c5bf68fe0c86 ("*: convert stream-like files from
nonseekable_open -> stream_open") did the scripted thing, but it only
did it for nonseekable_open, not for the more complicated cases.

So yup, you're right - we'd need to at least do the pipe/socket case too.

What happens if the actual conversion part (nonseekable_open ->
stream_open) is removed from the cocci script, and it's used to only
find "read/write doesn't use f_pos" cases?

Or maybe trigger on '.llseek = no_llseek'?

Linus