lkml.org 
[lkml]   [2020]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.7 12/61] powerpc/xive: Ignore kmemleak false positives
    Date
    From: Alexey Kardashevskiy <aik@ozlabs.ru>

    [ Upstream commit f0993c839e95dd6c7f054a1015e693c87e33e4fb ]

    xive_native_provision_pages() allocates memory and passes the pointer to
    OPAL so kmemleak cannot find the pointer usage in the kernel memory and
    produces a false positive report (below) (even if the kernel did scan
    OPAL memory, it is unable to deal with __pa() addresses anyway).

    This silences the warning.

    unreferenced object 0xc000200350c40000 (size 65536):
    comm "qemu-system-ppc", pid 2725, jiffies 4294946414 (age 70776.530s)
    hex dump (first 32 bytes):
    02 00 00 00 50 00 00 00 00 00 00 00 00 00 00 00 ....P...........
    01 00 08 07 00 00 00 00 00 00 00 00 00 00 00 00 ................
    backtrace:
    [<0000000081ff046c>] xive_native_alloc_vp_block+0x120/0x250
    [<00000000d555d524>] kvmppc_xive_compute_vp_id+0x248/0x350 [kvm]
    [<00000000d69b9c9f>] kvmppc_xive_connect_vcpu+0xc0/0x520 [kvm]
    [<000000006acbc81c>] kvm_arch_vcpu_ioctl+0x308/0x580 [kvm]
    [<0000000089c69580>] kvm_vcpu_ioctl+0x19c/0xae0 [kvm]
    [<00000000902ae91e>] ksys_ioctl+0x184/0x1b0
    [<00000000f3e68bd7>] sys_ioctl+0x48/0xb0
    [<0000000001b2c127>] system_call_exception+0x124/0x1f0
    [<00000000d2b2ee40>] system_call_common+0xe8/0x214

    Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
    Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
    Link: https://lore.kernel.org/r/20200612043303.84894-1-aik@ozlabs.ru
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/powerpc/sysdev/xive/native.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/arch/powerpc/sysdev/xive/native.c b/arch/powerpc/sysdev/xive/native.c
    index 5218fdc4b29a9..82860c7b58353 100644
    --- a/arch/powerpc/sysdev/xive/native.c
    +++ b/arch/powerpc/sysdev/xive/native.c
    @@ -18,6 +18,7 @@
    #include <linux/delay.h>
    #include <linux/cpumask.h>
    #include <linux/mm.h>
    +#include <linux/kmemleak.h>

    #include <asm/machdep.h>
    #include <asm/prom.h>
    @@ -647,6 +648,7 @@ static bool xive_native_provision_pages(void)
    pr_err("Failed to allocate provisioning page\n");
    return false;
    }
    + kmemleak_ignore(p);
    opal_xive_donate_page(chip, __pa(p));
    }
    return true;
    --
    2.25.1
    \
     
     \ /
      Last update: 2020-08-21 19:22    [W:2.794 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site