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]
Message-ID: <20081024155515.GA12984@infradead.org>
Date:	Fri, 24 Oct 2008 11:55:15 -0400
From:	Christoph Hellwig <hch@...radead.org>
To:	Alexey Dobriyan <adobriyan@...il.com>
Cc:	linux-kernel@...r.kernel.org, viro@...iv.linux.org.uk
Subject: Re: [PATCH] proc: stop using BKL

On Fri, Oct 24, 2008 at 03:46:06PM +0400, Alexey Dobriyan wrote:
>     3) proc_readdir_de()
>     --------------------
>     "." and ".." part doesn't need BKL, walking PDE list is under
>     proc_subdir_lock, calling filldir callback is potentially blocking
>     because it writes to luserspace. All proc_readdir_de() callers
>     eventually come from ->readdir hook which is under directory's
>     ->i_mutex -- BKL doesn't protect anything.
>     
>     4) proc_root_readdir_de()
>     -------------------------
>     proc_root_readdir_de is ->readdir hook, see (3).
>     
>     Signed-off-by: Alexey Dobriyan <adobriyan@...il.com>

Once you stop taking BKL in readdir you also need to switch to
generic_file_llseek for those directories.  It would be good if you
could switch the fallback proc_reg_llseek to no llseek at all in
proc_reg_llseek while you're at it.  I'll prepare a similar change
for non-procfs fops instances.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ