On 08/15/2017 04:00 AM, Jan Kara wrote:
 audit_remove_watch_rule() drops watch's reference to parent but
then
 continues to work with it. That is not safe as parent can get freed once
 we drop our reference. The following is a trivial reproducer:
 
 mount -o loop image /mnt
 touch /mnt/file
 auditctl -w /mnt/file -p wax
 umount /mnt
 auditctl -D
 <crash in fsnotify_destroy_mark()>
 
 Grab our own reference in audit_remove_watch_rule() earlier to make sure
 mark does not get freed under us.
 
 CC: stable(a)vger.kernel.org
 Reported-by: Tony Jones <tonyj(a)suse.de>
 Signed-off-by: Jan Kara <jack(a)suse.cz>
 --- 
Tested-by: Tony Jones <tonyj(a)suse.de>
Fix tested and verified against v3.0 and mainline