• Max Kellermann's avatar
    [media] pctv452e: move buffer to heap, no mutex · 48775cb7
    Max Kellermann authored
    commit 73d5c5c8 ("[media] pctv452e: don't do DMA on stack") caused
    a NULL pointer dereference which occurs when dvb_usb_init()
    calls dvb_usb_device_power_ctrl() for the first time, before the
    frontend has been attached. It also caused a recursive deadlock because
    tt3650_ci_msg_locked() has already locked the mutex.
    
    So, partially revert it, but move the buffer to the heap
    (DMA capable), not to the stack (may not be DMA capable).
    Instead of sharing one buffer which needs mutex protection,
    do a new heap allocation for each call.
    
    Fixes: commit 73d5c5c8 ("[media] pctv452e: don't do DMA on stack")
    
    Cc: stable@vger.kernel.org # For Kernel 4.9
    Signed-off-by: default avatarMax Kellermann <max.kellermann@gmail.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
    48775cb7
pctv452e.c 24.9 KB