1. 17 Mar, 2021 1 commit
    • Manaf Meethalavalappu Pallikunhi's avatar
      thermal/core: Add NULL pointer check before using cooling device stats · 2046a24a
      Manaf Meethalavalappu Pallikunhi authored
      There is a possible chance that some cooling device stats buffer
      allocation fails due to very high cooling device max state value.
      Later cooling device update sysfs can try to access stats data
      for the same cooling device. It will lead to NULL pointer
      dereference issue.
      
      Add a NULL pointer check before accessing thermal cooling device
      stats data. It fixes the following bug
      
      [ 26.812833] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000004
      [ 27.122960] Call trace:
      [ 27.122963] do_raw_spin_lock+0x18/0xe8
      [ 27.122966] _raw_spin_lock+0x24/0x30
      [ 27.128157] thermal_cooling_device_stats_update+0x24/0x98
      [ 27.128162] cur_state_store+0x88/0xb8
      [ 27.128166] dev_attr_store+0x40/0x58
      [ 27.128169] sysfs_kf_write+0x50/0x68
      [ 27.133358] kernfs_fop_write+0x12c/0x1c8
      [ 27.133362] __vfs_write+0x54/0x160
      [ 27.152297] vfs_write+0xcc/0x188
      [ 27.157132] ksys_write+0x78/0x108
      [ 27.162050] ksys_write+0xf8/0x108
      [ 27.166968] __arm_smccc_hvc+0x158/0x4b0
      [ 27.166973] __arm_smccc_hvc+0x9c/0x4b0
      [ 27.186005] el0_svc+0x8/0xc
      Signed-off-by: default avatarManaf Meethalavalappu Pallikunhi <manafm@codeaurora.org>
      Signed-off-by: default avatarDaniel Lezcano <daniel.lezcano@linaro.org>
      Link: https://lore.kernel.org/r/1607367181-24589-1-git-send-email-manafm@codeaurora.org
      2046a24a
  2. 06 Mar, 2021 4 commits
  3. 05 Mar, 2021 33 commits
  4. 04 Mar, 2021 2 commits
    • Jens Axboe's avatar
      kernel: provide create_io_thread() helper · cc440e87
      Jens Axboe authored
      Provide a generic helper for setting up an io_uring worker. Returns a
      task_struct so that the caller can do whatever setup is needed, then call
      wake_up_new_task() to kick it into gear.
      
      Add a kernel_clone_args member, io_thread, which tells copy_process() to
      mark the task with PF_IO_WORKER.
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      cc440e87
    • Pavel Begunkov's avatar
      io_uring: reliably cancel linked timeouts · dd59a3d5
      Pavel Begunkov authored
      Linked timeouts are fired asynchronously (i.e. soft-irq), and use
      generic cancellation paths to do its stuff, including poking into io-wq.
      The problem is that it's racy to access tctx->io_wq, as
      io_uring_task_cancel() and others may be happening at this exact moment.
      Mark linked timeouts with REQ_F_INLIFGHT for now, making sure there are
      no timeouts before io-wq destraction.
      Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      dd59a3d5