Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b2c60d42 authored by Jesper Juhl's avatar Jesper Juhl Committed by Gustavo Padovan
Browse files

Bluetooth: Fix failure to release lock in read_index_list()



If alloc_skb() fails in read_index_list() we'll return -ENOMEM without
releasing 'hci_dev_list_lock'.

Signed-off-by: default avatarJesper Juhl <jj@chaosbits.net>
Signed-off-by: default avatarGustavo F. Padovan <padovan@profusion.mobi>
parent 80f5585a
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -111,8 +111,10 @@ static int read_index_list(struct sock *sk)

	body_len = sizeof(*ev) + sizeof(*rp) + (2 * count);
	skb = alloc_skb(sizeof(*hdr) + body_len, GFP_ATOMIC);
	if (!skb)
	if (!skb) {
		read_unlock(&hci_dev_list_lock);
		return -ENOMEM;
	}

	hdr = (void *) skb_put(skb, sizeof(*hdr));
	hdr->opcode = cpu_to_le16(MGMT_EV_CMD_COMPLETE);