1. 18 May, 2020 37 commits
  2. 15 May, 2020 3 commits
    • Michael Ellerman's avatar
      drivers/macintosh: Fix memleak in windfarm_pm112 driver · 93900337
      Michael Ellerman authored
      create_cpu_loop() calls smu_sat_get_sdb_partition() which does
      kmalloc() and returns the allocated buffer. In fact it's called twice,
      and neither buffer is freed.
      
      This results in a memory leak as reported by Erhard:
        unreferenced object 0xc00000047081f840 (size 32):
          comm "kwindfarm", pid 203, jiffies 4294880630 (age 5552.877s)
          hex dump (first 32 bytes):
            c8 06 02 7f ff 02 ff 01 fb bf 00 41 00 20 00 00  ...........A. ..
            00 07 89 37 00 a0 00 00 00 00 00 00 00 00 00 00  ...7............
          backtrace:
            [<0000000083f0a65c>] .smu_sat_get_sdb_partition+0xc4/0x2d0 [windfarm_smu_sat]
            [<000000003010fcb7>] .pm112_wf_notify+0x104c/0x13bc [windfarm_pm112]
            [<00000000b958b2dd>] .notifier_call_chain+0xa8/0x180
            [<0000000070490868>] .blocking_notifier_call_chain+0x64/0x90
            [<00000000131d8149>] .wf_thread_func+0x114/0x1a0
            [<000000000d54838d>] .kthread+0x13c/0x190
            [<00000000669b72bc>] .ret_from_kernel_thread+0x58/0x64
        unreferenced object 0xc0000004737089f0 (size 16):
          comm "kwindfarm", pid 203, jiffies 4294880879 (age 5552.050s)
          hex dump (first 16 bytes):
            c4 04 01 7f 22 11 e0 e6 ff 55 7b 12 ec 11 00 00  ...."....U{.....
          backtrace:
            [<0000000083f0a65c>] .smu_sat_get_sdb_partition+0xc4/0x2d0 [windfarm_smu_sat]
            [<00000000b94ef7e1>] .pm112_wf_notify+0x1294/0x13bc [windfarm_pm112]
            [<00000000b958b2dd>] .notifier_call_chain+0xa8/0x180
            [<0000000070490868>] .blocking_notifier_call_chain+0x64/0x90
            [<00000000131d8149>] .wf_thread_func+0x114/0x1a0
            [<000000000d54838d>] .kthread+0x13c/0x190
            [<00000000669b72bc>] .ret_from_kernel_thread+0x58/0x64
      
      Fix it by rearranging the logic so we deal with each buffer
      separately, which then makes it easy to free the buffer once we're
      done with it.
      
      Fixes: ac171c46 ("[PATCH] powerpc: Thermal control for dual core G5s")
      Cc: stable@vger.kernel.org # v2.6.16+
      Reported-by: default avatarErhard F. <erhard_f@mailbox.org>
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Tested-by: default avatarErhard F. <erhard_f@mailbox.org>
      Link: https://lore.kernel.org/r/20200423060038.3308530-1-mpe@ellerman.id.au
      93900337
    • Michael Ellerman's avatar
      selftests/powerpc: Add a test of counting larx/stcx · 7481cad4
      Michael Ellerman authored
      This is based on the count_instructions test.
      
      However this one also counts the number of failed stcx's, and in
      conjunction with knowing the size of the stcx loop, can calculate the
      total number of instructions executed even in the face of
      non-deterministic stcx failures.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20200426114410.3917383-1-mpe@ellerman.id.au
      7481cad4
    • Michael Ellerman's avatar
      powerpc: Drop unneeded cast in task_pt_regs() · 24ac99e9
      Michael Ellerman authored
      There's no need to cast in task_pt_regs() as tsk->thread.regs should
      already be a struct pt_regs. If someone's using task_pt_regs() on
      something that's not a task but happens to have a thread.regs then
      we'll deal with them later.
      Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
      Link: https://lore.kernel.org/r/20200428123152.73566-1-mpe@ellerman.id.au
      24ac99e9