1. 04 Jul, 2020 38 commits
  2. 23 Jun, 2020 2 commits
    • Tuomas Tynkkynen's avatar
      media: media-request: Fix crash if memory allocation fails · e30cc79c
      Tuomas Tynkkynen authored
      Syzbot reports a NULL-ptr deref in the kref_put() call:
      
      BUG: KASAN: null-ptr-deref in media_request_put drivers/media/mc/mc-request.c:81 [inline]
       kref_put include/linux/kref.h:64 [inline]
       media_request_put drivers/media/mc/mc-request.c:81 [inline]
       media_request_close+0x4d/0x170 drivers/media/mc/mc-request.c:89
       __fput+0x2ed/0x750 fs/file_table.c:281
       task_work_run+0x147/0x1d0 kernel/task_work.c:123
       tracehook_notify_resume include/linux/tracehook.h:188 [inline]
       exit_to_usermode_loop arch/x86/entry/common.c:165 [inline]
       prepare_exit_to_usermode+0x48e/0x600 arch/x86/entry/common.c:196
      
      What led to this crash was an injected memory allocation failure in
      media_request_alloc():
      
      FAULT_INJECTION: forcing a failure.
      name failslab, interval 1, probability 0, space 0, times 0
       should_failslab+0x5/0x20
       kmem_cache_alloc_trace+0x57/0x300
       ? anon_inode_getfile+0xe5/0x170
       media_request_alloc+0x339/0x440
       media_device_request_alloc+0x94/0xc0
       media_device_ioctl+0x1fb/0x330
       ? do_vfs_ioctl+0x6ea/0x1a00
       ? media_ioctl+0x101/0x120
       ? __media_device_usb_init+0x430/0x430
       ? media_poll+0x110/0x110
       __se_sys_ioctl+0xf9/0x160
       do_syscall_64+0xf3/0x1b0
      
      When that allocation fails, filp->private_data is left uninitialized
      which media_request_close() does not expect and crashes.
      
      To avoid this, reorder media_request_alloc() such that
      allocating the struct file happens as the last step thus
      media_request_close() will no longer get called for a partially created
      media request.
      
      Reported-by: syzbot+6bed2d543cf7e48b822b@syzkaller.appspotmail.com
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>
      Fixes: 10905d70 ("media: media-request: implement media requests")
      Reviewed-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
      Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
      e30cc79c
    • Qingwu Zhang's avatar
      media: ov2740: add NVMEM interface to read customized OTP data · 7b981288
      Qingwu Zhang authored
      ov2740 includes 512bytes of one-time programmable memory and
      256 bytes are reserved for customers which can be used to store
      customized information. This patch provide an NVMEM interface
      to support read out the customized data in OTP.
      Signed-off-by: default avatarBingbu Cao <bingbu.cao@intel.com>
      Signed-off-by: default avatarQingwu Zhang <qingwu.zhang@intel.com>
      Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
      7b981288