Re: [RFC][PATCH] vfs: always protect diretory file->fpos with inode mutex
From: Li Zefan <hidden>
Date: 2013-02-19 12:43:14
Also in:
linux-fsdevel, lkml
From: Li Zefan <hidden>
Date: 2013-02-19 12:43:14
Also in:
linux-fsdevel, lkml
On 2013/2/19 20:33, Zheng Liu wrote:
On Tue, Feb 19, 2013 at 09:22:40AM +0800, Li Zefan wrote:quoted
There's a long long-standing bug...As long as I don't know when it dates from. I've written and attached a simple program to reproduce this bug, and it can immediately trigger the bug in my box. It uses two threads, one keeps calling read(), and the other calling readdir(), both on the same directory fd.Hi Zefan, Out of curiosity, why do you call read(2) on a directory fd? I only open(2) a directory in order to execute a flush operation to make sure that a file is really created.
Because something wrong happened in userspace programs. After a thread closed a socket, another thread is still reading data from this socket, but the socket fd has been re-used for opening directory for readdir()!