Hi Eric, Today's linux-next merge of the fsnotify tree got a conflict in kernel/audit_tree.c between commit 1a527a2c261ad15dd15d5ee7763d3afcd8c084e9 ("new helper: iterate_mounts()") from the vfs tree and commits 0bb4b47eebb9d06546c9beae77dc283fbb43ea35 ("audit: reimplement audit_trees using fsnotify rather than inotify") and 98d4301cc7c8828ea41432a62a3216212ffda250 ("fsnotify: put inode specific fields in an fsnotify_mark in a union") from the fsnotify tree. I think I fixed it up (see below) and can carry the fix as necessary. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc kernel/audit_tree.c index 028e856,a9167f9..0000000 --- a/kernel/audit_tree.c +++ b/kernel/audit_tree.c @@@ -581,12 -594,20 +598,13 @@@ void audit_trim_trees(void if (!root_mnt) goto skip_it; - list_add_tail(&list, &root_mnt->mnt_list); spin_lock(&hash_lock); list_for_each_entry(node, &tree->chunks, list) { - struct inode *inode = find_chunk(node)->watch.inode; - struct audit_chunk *chunk = find_chunk(node); + /* this could be NULL if the watch is dieing else where... */ - struct inode *inode = chunk->mark.i.inode; - struct vfsmount *mnt; ++ struct inode *inode = find_chunk(node)->mark.i.inode; node->index |= 1U<<31; - list_for_each_entry(mnt, &list, mnt_list) { - if (mnt->mnt_root->d_inode == inode) { - node->index &= ~(1U<<31); - break; - } - } + if (iterate_mounts(compare_root, inode, root_mnt)) + node->index &= ~(1U<<31); } spin_unlock(&hash_lock); trim_marked(tree); -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html