From 6f3eabcd041aa062cfabd2fc62194a33b507f51c Mon Sep 17 00:00:00 2001 From: Phoebe Buckheister Date: Tue, 20 May 2014 13:14:22 +0200 Subject: mac802154: llsec: fix incorrect lock pairing In encrypt, sec->lock is taken with read_lock_bh, so in the error path, we must read_unlock_bh. Signed-off-by: Phoebe Buckheister Reported-by: Dan Carpenter Signed-off-by: David S. Miller --- net/mac802154/llsec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/mac802154/llsec.c b/net/mac802154/llsec.c index a83674edaafd..6edcb20c2e70 100644 --- a/net/mac802154/llsec.c +++ b/net/mac802154/llsec.c @@ -776,7 +776,7 @@ int mac802154_llsec_encrypt(struct mac802154_llsec *sec, struct sk_buff *skb) return rc < 0 ? rc : 0; fail_read: - read_unlock(&sec->lock); + read_unlock_bh(&sec->lock); fail: rcu_read_unlock(); return rc; -- cgit v1.2.3-58-ga151 From 62e9c117eec56a3c9611613a3aa90c9671244d33 Mon Sep 17 00:00:00 2001 From: Phoebe Buckheister Date: Tue, 20 May 2014 13:14:23 +0200 Subject: mac802154: llsec: fold useless return value check llsec_do_encrypt will never return a positive value, so the restriction to 0-or-negative on return is useless. Signed-off-by: Phoebe Buckheister Signed-off-by: David S. Miller --- net/mac802154/llsec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/mac802154/llsec.c b/net/mac802154/llsec.c index 6edcb20c2e70..08d08cbf51f4 100644 --- a/net/mac802154/llsec.c +++ b/net/mac802154/llsec.c @@ -773,7 +773,7 @@ int mac802154_llsec_encrypt(struct mac802154_llsec *sec, struct sk_buff *skb) rc = llsec_do_encrypt(skb, sec, &hdr, key); llsec_key_put(key); - return rc < 0 ? rc : 0; + return rc; fail_read: read_unlock_bh(&sec->lock); -- cgit v1.2.3-58-ga151