• Dan Carpenter's avatar
    Bluetooth: vhci: Fix info leak in force_devcd_write() · e4eea890
    Dan Carpenter authored
    There are a number of bugs here:
    
    1) If "count" is less than sizeof(dump_data.data) then it copies
       uninitialized data.
    2) If simple_write_to_buffer() returns -EFAULT then we run into a
       problem "ret < count" comparison.  "count" is an unsigned long so the
       comparison is type promoted to unsigned long and the negative returns
       become high positive values.  That also results in copying
       uninitialized data.
    3) If "*ppos" is non-zero then the first part of the dump_data
       buffer is uninitialized.  Using copy_from_user() instead of
       simple_write_to_buffer() is more appropriate here.
    
    Fixes: d5d5df6da0aa ("Bluetooth: Add vhci devcoredump support")
    Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
    Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
    e4eea890
hci_vhci.c 14.5 KB