mac802154: llsec: fix incorrect lock pairing
authorPhoebe Buckheister <[email protected]>
Tue, 20 May 2014 11:14:22 +0000 (13:14 +0200)
committerDavid S. Miller <[email protected]>
Thu, 22 May 2014 19:24:13 +0000 (15:24 -0400)
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 <[email protected]>
Reported-by: Dan Carpenter <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
net/mac802154/llsec.c

index a83674edaafdfb7b6a21e99bcacc1e4a5ea8c90b..6edcb20c2e708295486408d6c44281d830ab5eb7 100644 (file)
@@ -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;