On 4 Sep 2012, at 16:38, Marc Dionne wrote: > > That's very useful. It looks like dput gets called with the global > lock held, and it can potentially call back into AFS code through > afs_dentry_iput. > Might have to look at the afs_syscall_pioctl in more detail (it's > heavily ifdef'ed and hard to follow), but at first glance the call to > dput() there should probably be done after dropping the lock, so > surround it with a AFS_GUNLOCK() and AFS_GLOCK() pair.
We definitely shouldn't be holding the GLOCK when we call back into the kernel, so I think your analysis is correct. As far as I can tell, there should be no harm in dropping and regaining the GLOCK around the dput - we don't seem to be holding onto anything that could be affected by other threads whilst the lock is dropped. And yeah, that function is truly horrific. Cheers, Simon_______________________________________________ OpenAFS-info mailing list OpenAFS-info@openafs.org https://lists.openafs.org/mailman/listinfo/openafs-info