[PATCH 00/10] LP#922906: oops in ticket_spin_lock
Andy Whitcroft
apw at canonical.com
Mon Apr 16 18:02:30 UTC 2012
We have been seeing a large number of reports of oopses in
ticket_spin_lock, these are mostly occuring in inotify related calls.
There seems to be several races in this code and there is a fairly
substantial patch set upstream to reorder the locking and sort this out.
I have pulled these patches back to precise from the notify upstream tree,
the patches themselves are slated for the 3.5 merge window.
Patches follow, pull request below for those who prefer to look at them
locally.
I am proposing them (somewhat reluctantly due to their size) for Precise.
Comments?
-apw
The following changes since commit 48853edab3b414cc73c3e1c037f477524053cf15:
fsnotify: change locking order (2012-04-16 18:33:10 +0100)
are available in the git repository at:
git://kernel.ubuntu.com/apw/ubuntu-precise.git lp922906
for you to fetch changes up to 48853edab3b414cc73c3e1c037f477524053cf15:
fsnotify: change locking order (2012-04-16 18:33:10 +0100)
----------------------------------------------------------------
Lino Sanfilippo (10):
inotify, fanotify: replace fsnotify_put_group() with
fsnotify_destroy_group()
fsnotify: introduce fsnotify_get_group()
fsnotify: use reference counting for groups
fsnotify: take groups mark_lock before mark lock
fanotify: add an extra flag to mark_remove_from_mask that indicates
wheather a mark should be destroyed
fsnotify: use a mutex instead of a spinlock to protect a groups mark
list
fsnotify: pass group to fsnotify_destroy_mark()
fsnotify: introduce locked versions of fsnotify_add_mark() and
fsnotify_remove_mark()
fsnotify: dont put marks on temporary list when clearing marks by
group
fsnotify: change locking order
fs/notify/dnotify/dnotify.c | 4 +-
fs/notify/fanotify/fanotify_user.c | 33 +++++++-----
fs/notify/group.c | 40 +++++++--------
fs/notify/inode_mark.c | 14 ++++--
fs/notify/inotify/inotify_fsnotify.c | 4 +-
fs/notify/inotify/inotify_user.c | 11 ++--
fs/notify/mark.c | 91 +++++++++++++++++++---------------
fs/notify/vfsmount_mark.c | 14 ++++--
include/linux/fsnotify_backend.h | 26 ++++++----
kernel/audit_tree.c | 10 ++--
kernel/audit_watch.c | 4 +-
11 files changed, 147 insertions(+), 104 deletions(-)
--
1.7.9.5
More information about the kernel-team
mailing list