Re: [PATCH] fs: ratelimit __find_get_block_slow() failure message.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 11, 2019 at 11:40 AM Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
>
> On Fri, Jan 11, 2019 at 11:28 AM Tetsuo Handa
> <penguin-kernel@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On 2019/01/11 19:19, Dmitry Vyukov wrote:
> > >> @@ -200,6 +200,7 @@ void end_buffer_write_sync(struct buffer_head *bh, int uptodate)
> > >>         struct buffer_head *head;
> > >>         struct page *page;
> > >>         int all_mapped = 1;
> > >> +       static unsigned long last;
> > >
> > > /\/\/\/\/\/\
> > >
> > > We will have to re-fix this when we start testing with KTSAN, data
> > > race detector.
> >
> > What's wrong? This race is harmless.
>
> How did you arrive to the conclusion that it is harmless?
> There is only one relevant standard covering this, which is the C
> language standard, and it is very clear on this -- this has Undefined
> Behavior, that is the same as, for example, reading/writing random
> pointers.
>
> Check out this on how any race that you might think is benign can be
> badly miscompiled and lead to arbitrary program behavior:
> https://software.intel.com/en-us/blogs/2013/01/06/benign-data-races-what-could-possibly-go-wrong

Also there is no other practical definition of data race for automatic
data race detectors than: two conflicting non-atomic concurrent
accesses. Which this code is. Which means that if we continue writing
such code we are not getting data race detection and don't detect
thousands of races in kernel code that one may consider more harmful
than this one the easy way. And instead will spent large amounts of
time to fix some of then the hard way, and leave the rest as just too
hard to debug so let the kernel continue crashing from time to time (I
believe a portion of currently open syzbot bugs that developers just
left as "I don't see how this can happen" are due to such races).



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux