Patch "Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data" has been added to the 4.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data

to the 4.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     bluetooth-fix-null-pointer-dereference-in-amp_read_l.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 2e1550743d876fb0a7ed74d0d38e1a04ab30812b
Author: Gopal Tiwari <gtiwari@xxxxxxxxxx>
Date:   Tue Feb 2 15:12:30 2021 +0530

    Bluetooth: Fix null pointer dereference in amp_read_loc_assoc_final_data
    
    [ Upstream commit e8bd76ede155fd54d8c41d045dda43cd3174d506 ]
    
    kernel panic trace looks like:
    
     #5 [ffffb9e08698fc80] do_page_fault at ffffffffb666e0d7
     #6 [ffffb9e08698fcb0] page_fault at ffffffffb70010fe
        [exception RIP: amp_read_loc_assoc_final_data+63]
        RIP: ffffffffc06ab54f  RSP: ffffb9e08698fd68  RFLAGS: 00010246
        RAX: 0000000000000000  RBX: ffff8c8845a5a000  RCX: 0000000000000004
        RDX: 0000000000000000  RSI: ffff8c8b9153d000  RDI: ffff8c8845a5a000
        RBP: ffffb9e08698fe40   R8: 00000000000330e0   R9: ffffffffc0675c94
        R10: ffffb9e08698fe58  R11: 0000000000000001  R12: ffff8c8b9cbf6200
        R13: 0000000000000000  R14: 0000000000000000  R15: ffff8c8b2026da0b
        ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
     #7 [ffffb9e08698fda8] hci_event_packet at ffffffffc0676904 [bluetooth]
     #8 [ffffb9e08698fe50] hci_rx_work at ffffffffc06629ac [bluetooth]
     #9 [ffffb9e08698fe98] process_one_work at ffffffffb66f95e7
    
    hcon->amp_mgr seems NULL triggered kernel panic in following line inside
    function amp_read_loc_assoc_final_data
    
            set_bit(READ_LOC_AMP_ASSOC_FINAL, &mgr->state);
    
    Fixed by checking NULL for mgr.
    
    Signed-off-by: Gopal Tiwari <gtiwari@xxxxxxxxxx>
    Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/net/bluetooth/amp.c b/net/bluetooth/amp.c
index e32f34189007..b01b43ab6f83 100644
--- a/net/bluetooth/amp.c
+++ b/net/bluetooth/amp.c
@@ -305,6 +305,9 @@ void amp_read_loc_assoc_final_data(struct hci_dev *hdev,
 	struct hci_request req;
 	int err = 0;
 
+	if (!mgr)
+		return;
+
 	cp.phy_handle = hcon->handle;
 	cp.len_so_far = cpu_to_le16(0);
 	cp.max_len = cpu_to_le16(hdev->amp_assoc_size);



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux