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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 5 Mar 2021 10:18:16 -0500 From: "Theodore Ts'o" <tytso@....edu> To: Alexander Lochmann <alexander.lochmann@...dortmund.de> Cc: Horst Schirmeier <horst.schirmeier@...dortmund.de>, Jan Kara <jack@...e.cz>, Jan Kara <jack@...e.com>, linux-ext4@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: [RFC] inode.i_opflags - Usage of two different locking schemes On Fri, Mar 05, 2021 at 02:10:09PM +0100, Alexander Lochmann wrote: > Hi folks, > > I've stumbled across an interesting locking scheme. It's related to struct > inode, more precisely it is an mqueue inode. > Our results show that inode:mqueue.i_opflags is read with i_rwsem being > hold. > In d_flags_for_inode, and do_inode_permission the i_lock is used to read and > write i_opflags. > Is this a real locking scheme? Is a lock needed to access i_opflags at all? > What is the magic behind this contradiction? > > I've put the report of the counterexamples on our webserver: > https://ess.cs.tu-dortmund.de/lockdoc-bugs/cex-inode-mqueue.html. > It contains the stacktraces leading to those accesses, and the locks that > were actually held. 1) I don't see where i_opflags is being read in ipc/mqueue.c at all, either with or without i_rwsem. 2) I'm not sure what this has to do with ext4? - Ted
Powered by blists - more mailing lists