The patch titled Pass sparse the lock expression given to lock annotations has been added to the -mm tree. Its filename is pass-sparse-the-lock-expression-given-to-lock-annotations.patch See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this ------------------------------------------------------ Subject: Pass sparse the lock expression given to lock annotations From: Josh Triplett <josht@xxxxxxxxxx> The lock annotation macros __acquires, __releases, __acquire, and __release all currently throw away the lock expression passed as an argument. Now that sparse can parse __context__ and __attribute__((context)) with a context expression, pass the lock expression down to sparse as the context expression. This requires a version of sparse from GIT commit 37475a6c1c3e66219e68d912d5eb833f4098fd72 or later. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxx> --- include/linux/compiler.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff -puN include/linux/compiler.h~pass-sparse-the-lock-expression-given-to-lock-annotations include/linux/compiler.h --- a/include/linux/compiler.h~pass-sparse-the-lock-expression-given-to-lock-annotations +++ a/include/linux/compiler.h @@ -10,10 +10,10 @@ # define __force __attribute__((force)) # define __nocast __attribute__((nocast)) # define __iomem __attribute__((noderef, address_space(2))) -# define __acquires(x) __attribute__((context(0,1))) -# define __releases(x) __attribute__((context(1,0))) -# define __acquire(x) __context__(1) -# define __release(x) __context__(-1) +# define __acquires(x) __attribute__((context(x,0,1))) +# define __releases(x) __attribute__((context(x,1,0))) +# define __acquire(x) __context__(x,1) +# define __release(x) __context__(x,-1) # define __cond_lock(x,c) ((c) ? ({ __acquire(x); 1; }) : 0) extern void __chk_user_ptr(void __user *); extern void __chk_io_ptr(void __iomem *); _ Patches currently in -mm which might be from josht@xxxxxxxxxx are xfs-add-lock-annotations-to-xfs_trans_update_ail-and-xfs_trans_delete_ail.patch mtrr-add-lock-annotations-for-prepare_set-and.patch efi-add-lock-annotations-for-efi_call_phys_prelog-and-efi_call_phys_epilog.patch mbcache-add-lock-annotation-for-__mb_cache_entry_release_unlock.patch afs-add-lock-annotations-to-afs_proc_cell_servers_startstop.patch fuse-add-lock-annotations-to-request_end-and-fuse_read_interrupt.patch hugetlbfs-add-lock-annotation-to-hugetlbfs_forget_inode.patch jbd-add-lock-annotation-to-jbd_sync_bh.patch fs-add-lock-annotation-to-grab_super.patch rcu-add-lock-annotations-to-rcu_bh_torture_read_lockunlock.patch timer-add-lock-annotation-to-lock_timer_base.patch make-spinlock-rwlock-annotations-more-accurate-by-using.patch replace-_spin_trylock-with-spin_trylock-in-the-irq.patch pass-a-lock-expression-to-__cond_lock-like-__acquire-and.patch pass-sparse-the-lock-expression-given-to-lock-annotations.patch nfsd-add-lock-annotations-to-e_start-and-e_stop.patch srcu-3-rcu-variant-permitting-read-side-blocking-srcu-add-lock-annotations.patch rcu-add-module_author-to-rcutorture-module.patch rcu-fix-incorrect-description-of-default-for-rcutorture.patch rcu-mention-rcu_bh-in-description-of-rcutortures.patch rcu-avoid-kthread_stop-on-invalid-pointer-if-rcutorture.patch rcu-fix-sign-bug-making-rcu_random-always-return-the-same.patch rcu-add-fake-writers-to-rcutorture.patch rcu-add-fake-writers-to-rcutorture-tidy.patch - To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html