[PATCH 30/28] kernel/user.c: add lock release annotation onfree_user()

From: Mike Galbraith
Date: Fri Feb 11 2011 - 01:07:13 EST


On Thu, 2011-02-10 at 19:35 +0100, Dhaval Giani wrote:
> >
> > There were a few more patches after this which cleaned up a few things
> > as well. Let me search them out and let you know the commit IDs.
> >

> 571428be550fbe37160596995e96ad398873fcbd

From: Namhyung Kim <namhyung@xxxxxxxxx>
Date: Tue, 26 Oct 2010 14:22:43 -0700
Subject: kernel/user.c: add lock release annotation on free_user()


commit 571428be550fbe37160596995e96ad398873fcbd upstream.

free_user() releases uidhash_lock but was missing annotation. Add it.
This removes following sparse warnings:

include/linux/spinlock.h:339:9: warning: context imbalance in 'free_user' - unexpected unlock
kernel/user.c:120:6: warning: context imbalance in 'free_uid' - wrong count at exit

Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxx>
Cc: Dhaval Giani <dhaval.giani@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Mike Galbraith <efault@xxxxxx>

---
kernel/user.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/kernel/user.c b/kernel/user.c
index 8e1c8c0..1b91701 100644
--- a/kernel/user.c
+++ b/kernel/user.c
@@ -91,6 +91,7 @@ static struct user_struct *uid_hash_find(uid_t uid, struct hlist_head *hashent)
* upon function exit.
*/
static void free_user(struct user_struct *up, unsigned long flags)
+ __releases(&uidhash_lock)
{
uid_hash_remove(up);
spin_unlock_irqrestore(&uidhash_lock, flags);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/