lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 15 Jan 2019 18:55:21 +0300
From:   Kirill Tkhai <ktkhai@...tuozzo.com>
To:     Miklos Szeredi <miklos@...redi.hu>
Cc:     linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] fuse: Fix race in fuse_writepage_in_flight()

On 15.01.2019 18:37, Miklos Szeredi wrote:
> On Thu, Jan 10, 2019 at 12:03 PM Kirill Tkhai <ktkhai@...tuozzo.com> wrote:
>>
>> On 10.01.2019 14:00, Miklos Szeredi wrote:
>>> On Thu, Jan 10, 2019 at 11:48 AM Kirill Tkhai <ktkhai@...tuozzo.com> wrote:
>>>>
>>>> Hi, Miklos,
>>>>
>>>> any comments about this?
>>>
>>> Is there a reproducer?  ISTR that fsx-linux with mmaps enabled was
>>> good for stressing the writeback_cache code.
>>
>> There is no a reproducer, since I found that by eyes during preparation of another patchset.
> 
> That's good.  It would even better to have a reproducer, but it
> doesn't look easy...
> 
> Completely redid this and reordered the patchset so this change is
> made before the locking changes actually introduce the bug.

Hm, I meant that I found this during preparation of the patchset,
but not that fi->lock patchset introduces the bug. I don't think
the patchset is involved:

1)before we had race, because different locks fc->lock and fiq->waitq.lock
are taken in fuse_dev_read() and fuse_writepage_in_flight();
2)after we have the same race, and the locks are fi->lock and fiq->waitq.lock.

>See fuse.git#for-next.

The renewed patch looks correct for me.

Thanks,
Kirill

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ