[quantal][sru] pull-request: fsnotify: simplify locking
Chris J Arges
chris.j.arges at canonical.com
Sat Dec 29 19:57:54 UTC 2012
On 12/10/2012 12:05 PM, Chris J Arges wrote:
> BugLink: http://bugs.launchpad.net/bugs/922906
>
> SRU Justification:
>
> Impact:
> When plugging and unplugging a USB drive occasionally a race condition
> in the notify subsystem causes a kernel oops. A more in depth explaining
> can be found here: https://lkml.org/lkml/2011/1/19/213.
>
> Fix:
> A set up of patches
> 0520bffba9685d88ad68ede4a41abd08a3e9684e..fe9b25d3ee6bdf6f9c9a9ce61d9d3e144bac13ef
> found in the for-next branch in the notify.git tree solve this issue:
> http://git.infradead.org/users/eparis/notify.git/shortlog/refs/heads/for-next
> These have been cherry-picked and tested on precise/quantal and applied
> already to raring. Only small modifications are needed for 2 of the
> patches because the locations of the functions had changed other than
> that the other 7 patches are clean cherry-picks.
>
Note these patches have now been merged into mainline 3.8:
https://lkml.org/lkml/2012/12/20/439
I'm not sure if we need to reapply based on these commits or not. Let me
know if any actions are needed as we've applied this to
quantal/precise/raring already.
Happy new year,
--chris j arges
> Testcase:
> Comment #8 and #9 in the upstream bug:
> https://bugzilla.kernel.org/show_bug.cgi?id=22602 has a test case that
> easily reproduces this issue within 15-30 minutes. I have applied the
> above fixes and was able to run this test case overnight in all cases.
> In addition I've tested using the LTP tests for inotfy and these run
> properly with the fix applied.
>
> --
>
> The following changes since commit d59169d413ab95d290a70acf6f2e42d647c5efec:
>
> UBUNTU: Ubuntu-3.5.0-19.30 (2012-11-13 15:52:20 +0000)
>
> are available in the git repository at:
>
> git://kernel.ubuntu.com/arges/ubuntu-quantal.git lp922906
>
> for you to fetch changes up to 763c1bb0f1f329705c16945ebf3730a9b610af2c:
>
> UBUNTU: SAUCE: fsnotify: dont put marks on temporary list when
> clearing marks by group (2012-12-07 17:13:38 -0600)
>
> ----------------------------------------------------------------
> Lino Sanfilippo (8):
> UBUNTU: SAUCE: fsnotify: introduce fsnotify_get_group()
> UBUNTU: SAUCE: fsnotify: use reference counting for groups
> UBUNTU: SAUCE: fsnotify: take groups mark_lock before mark lock
> UBUNTU: SAUCE: fanotify: add an extra flag to
> mark_remove_from_mask that indicates wheather a mark should be destroyed
> UBUNTU: SAUCE: fsnotify: use a mutex instead of a spinlock to
> protect a groups mark list
> UBUNTU: SAUCE: fsnotify: pass group to fsnotify_destroy_mark()
> UBUNTU: SAUCE: fsnotify: introduce locked versions of
> fsnotify_add_mark() and fsnotify_remove_mark()
> UBUNTU: SAUCE: fsnotify: dont put marks on temporary list when
> clearing marks by group
>
> fs/notify/dnotify/dnotify.c | 4 +-
> fs/notify/fanotify/fanotify_user.c | 19 +++++---
> fs/notify/group.c | 38 ++++++++--------
> fs/notify/inode_mark.c | 14 ++++--
> fs/notify/inotify/inotify_fsnotify.c | 4 +-
> fs/notify/inotify/inotify_user.c | 3 +-
> fs/notify/mark.c | 81
> +++++++++++++++++++---------------
> fs/notify/vfsmount_mark.c | 14 ++++--
> include/linux/fsnotify_backend.h | 16 ++++---
> kernel/audit_tree.c | 10 ++---
> kernel/audit_watch.c | 4 +-
> 11 files changed, 125 insertions(+), 82 deletions(-)
>
More information about the kernel-team
mailing list