From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kara Subject: [PATCH 0/14 v4] audit: Fix various races when tagging and untagging mounts Date: Wed, 17 Oct 2018 12:14:51 +0200 Message-ID: <20181017101505.25881-1-jack@suse.cz> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-audit-bounces@redhat.com Errors-To: linux-audit-bounces@redhat.com To: Paul Moore Cc: rgb@redhat.com, Jan Kara , linux-audit@redhat.com, amir73il@gmail.com, Al Viro List-Id: linux-audit@redhat.com Hello, this is the fourth revision of the series that addresses problems I have identified when trying to understand how exactly is kernel/audit_tree.c using generic fsnotify framework. I hope I have understood all the interactions right but careful review is certainly welcome. The patches have been tested by a stress test I have written which mounts & unmounts filesystems in the directory tree while adding and removing audit rules for this tree in parallel and accessing the tree to generate events. Note that after running the stress test for ~10 hours, the kernel crashed in shmem_evict_inode() but I have tracked that down to an independent bug in fsnotify infrastructure which I'll fix separately and push the fix through my tree. Changes since v3: * Renamed mark to amark in alloc_mark() * Fixed intermediate compilation breakage in one patch * Fixed possible lockup due to prune_one() racing with audit_tree_freeing_mark() and never making progress * Simplified locking around untag_chunk() * Fixed list corruption of chunk->trees list when tag_chunk() added a tree to chunk->trees and then replace_chunk() called list_replace(&old->trees, &chunk->trees); * I've dropped the patch for audit testsuite from this posting since it didn't change since v2 and Paul picked it up AFAIU. * Added reviewed-by tags for unchanged patches Changes since v2: * Fixed up mark freeing to use proper pointer as pointed out by Amir * Changed some naming based on Paul's review Changes since v1: * Split the last patch to ease review * Rewrite test script so that it can be included in audit testsuite * Some cleanups and improvements suggested by Amir Honza