diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/btree.c | 3 | ||||
-rw-r--r-- | lib/debugobjects.c | 4 | ||||
-rw-r--r-- | lib/rwsem.c | 5 |
3 files changed, 7 insertions, 5 deletions
diff --git a/lib/btree.c b/lib/btree.c index 41859a820218..c9c6f0351526 100644 --- a/lib/btree.c +++ b/lib/btree.c | |||
@@ -95,7 +95,8 @@ static unsigned long *btree_node_alloc(struct btree_head *head, gfp_t gfp) | |||
95 | unsigned long *node; | 95 | unsigned long *node; |
96 | 96 | ||
97 | node = mempool_alloc(head->mempool, gfp); | 97 | node = mempool_alloc(head->mempool, gfp); |
98 | memset(node, 0, NODESIZE); | 98 | if (likely(node)) |
99 | memset(node, 0, NODESIZE); | ||
99 | return node; | 100 | return node; |
100 | } | 101 | } |
101 | 102 | ||
diff --git a/lib/debugobjects.c b/lib/debugobjects.c index 076464fd2072..deebcc57d4e6 100644 --- a/lib/debugobjects.c +++ b/lib/debugobjects.c | |||
@@ -827,7 +827,7 @@ static int __init fixup_free(void *addr, enum debug_obj_state state) | |||
827 | } | 827 | } |
828 | } | 828 | } |
829 | 829 | ||
830 | static int | 830 | static int __init |
831 | check_results(void *addr, enum debug_obj_state state, int fixups, int warnings) | 831 | check_results(void *addr, enum debug_obj_state state, int fixups, int warnings) |
832 | { | 832 | { |
833 | struct debug_bucket *db; | 833 | struct debug_bucket *db; |
@@ -970,7 +970,7 @@ void __init debug_objects_early_init(void) | |||
970 | /* | 970 | /* |
971 | * Convert the statically allocated objects to dynamic ones: | 971 | * Convert the statically allocated objects to dynamic ones: |
972 | */ | 972 | */ |
973 | static int debug_objects_replace_static_objects(void) | 973 | static int __init debug_objects_replace_static_objects(void) |
974 | { | 974 | { |
975 | struct debug_bucket *db = obj_hash; | 975 | struct debug_bucket *db = obj_hash; |
976 | struct hlist_node *node, *tmp; | 976 | struct hlist_node *node, *tmp; |
diff --git a/lib/rwsem.c b/lib/rwsem.c index 3e3365e5665e..ceba8e28807a 100644 --- a/lib/rwsem.c +++ b/lib/rwsem.c | |||
@@ -136,9 +136,10 @@ __rwsem_do_wake(struct rw_semaphore *sem, int downgrading) | |||
136 | out: | 136 | out: |
137 | return sem; | 137 | return sem; |
138 | 138 | ||
139 | /* undo the change to count, but check for a transition 1->0 */ | 139 | /* undo the change to the active count, but check for a transition |
140 | * 1->0 */ | ||
140 | undo: | 141 | undo: |
141 | if (rwsem_atomic_update(-RWSEM_ACTIVE_BIAS, sem) != 0) | 142 | if (rwsem_atomic_update(-RWSEM_ACTIVE_BIAS, sem) & RWSEM_ACTIVE_MASK) |
142 | goto out; | 143 | goto out; |
143 | goto try_again; | 144 | goto try_again; |
144 | } | 145 | } |