[RFC] inode.i_opflags - Usage of two different locking schemes

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

 



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.

Regards,
Alex

--
Technische Universität Dortmund
Alexander Lochmann                PGP key: 0xBC3EF6FD
Otto-Hahn-Str. 16                 phone:  +49.231.7556141
D-44227 Dortmund                  fax:    +49.231.7556116
http://ess.cs.tu-dortmund.de/Staff/al

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux