Received: by 2002:a05:6520:3645:b029:c0:f950:43e0 with SMTP id l5csp6260144lki; Thu, 4 Mar 2021 08:39:18 -0800 (PST) X-Google-Smtp-Source: ABdhPJxfpcgfGwJRDmMOMJoXP10gX0cYCyFnyfT4HyA9Om+WY962YukPRu1lRHvH5BZy2QAty5W0 X-Received: by 2002:a17:906:c007:: with SMTP id e7mr5302661ejz.518.1614875958083; Thu, 04 Mar 2021 08:39:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614875958; cv=none; d=google.com; s=arc-20160816; b=JSRqb1IalIvZfNDG4UZkN+pqeFGtdjXj/y77KZLr1VNmvbLsq464/3gfatjflm6Jqf Jg/KNjuVtpDLPqAYsq7EGv7iUwGYP0TIGWh1+x+sxVKsVuMPi31lxBFNFynXQ6m0aAp/ +HJnrSdQRMf7Vi0qbE4XX2MS1vHRqkUml99dTYzYrXwl+jKiKG7irKRG/UgvUTVZuVOm QFp7/JiFJmN49HkWSOAbUAxi+oRcrGf1ETp5pakDXQ0aiD7YTTuH/zuKR8LnUD9lyfY3 xjHCg8fe71YOeo2WVvyDeyi9/fJ8wOgDbh+edejc0tSKTiCQjl34k7cFDeYH5TqW2vmY Zm5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=VEsGbcp7NJOM6owMdUzrSzC8MzhRaXkplHYLocJwJxs=; b=r/lJ1aUh9kOSpDjb23PddG6OkCueX23ao37FA6UjR2/0mU4MDnxY/aJZsqxYORidGi hBZQMtDl5Vm1qDwFtA57CeIZoEFI/5BYp0U1m8xLBCbMrIeWl+L8e1HbjNfvpFjag1L6 paCw6UronMe0WOWUItsRpMKihPR8CxMuChRURFj430vQa7nZoWDqF5pIpX62/NEzzn5O O5DKpWoTLcaF+WWfySY+mR31587d74Y34Uxy1cXB0BF8tZOt3ZfTHzRWLE/OGkdC9KdL BPbqeE47f9kdtagJXSEWIuD5r6ltkETsaMmh0s65Zdb/9uup3n9AT4St6WjuGuK69ptu lGJA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w12si18405001eji.480.2021.03.04.08.38.54; Thu, 04 Mar 2021 08:39:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238870AbhCDLuK (ORCPT + 99 others); Thu, 4 Mar 2021 06:50:10 -0500 Received: from pegase1.c-s.fr ([93.17.236.30]:12714 "EHLO pegase1.c-s.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233491AbhCDLtn (ORCPT ); Thu, 4 Mar 2021 06:49:43 -0500 Received: from localhost (mailhub1-int [192.168.12.234]) by localhost (Postfix) with ESMTP id 4Drpzp3xTYz9v1sK; Thu, 4 Mar 2021 12:48:54 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at c-s.fr Received: from pegase1.c-s.fr ([192.168.12.234]) by localhost (pegase1.c-s.fr [192.168.12.234]) (amavisd-new, port 10024) with ESMTP id h-mitI98mN7r; Thu, 4 Mar 2021 12:48:54 +0100 (CET) Received: from messagerie.si.c-s.fr (messagerie.si.c-s.fr [192.168.25.192]) by pegase1.c-s.fr (Postfix) with ESMTP id 4Drpzp2DxPz9v1sG; Thu, 4 Mar 2021 12:48:54 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 2270C8B7FF; Thu, 4 Mar 2021 12:48:56 +0100 (CET) X-Virus-Scanned: amavisd-new at c-s.fr Received: from messagerie.si.c-s.fr ([127.0.0.1]) by localhost (messagerie.si.c-s.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id VRrx4alowTpf; Thu, 4 Mar 2021 12:48:56 +0100 (CET) Received: from [192.168.4.90] (unknown [192.168.4.90]) by messagerie.si.c-s.fr (Postfix) with ESMTP id 665B48B773; Thu, 4 Mar 2021 12:48:55 +0100 (CET) Subject: Re: [RFC PATCH v1] powerpc: Enable KFENCE for PPC32 To: Marco Elver Cc: Alexander Potapenko , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Dmitry Vyukov , LKML , linuxppc-dev@lists.ozlabs.org, kasan-dev References: <51c397a23631d8bb2e2a6515c63440d88bf74afd.1614674144.git.christophe.leroy@csgroup.eu> <08a96c5d-4ae7-03b4-208f-956226dee6bb@csgroup.eu> From: Christophe Leroy Message-ID: <7270e1cc-bb6b-99ee-0043-08a027b8d83a@csgroup.eu> Date: Thu, 4 Mar 2021 12:48:56 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: fr Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le 04/03/2021 à 12:31, Marco Elver a écrit : > On Thu, 4 Mar 2021 at 12:23, Christophe Leroy > wrote: >> Le 03/03/2021 à 11:56, Marco Elver a écrit : >>> >>> Somewhat tangentially, I also note that e.g. show_regs(regs) (which >>> was printed along the KFENCE report above) didn't include the top >>> frame in the "Call Trace", so this assumption is definitely not >>> isolated to KFENCE. >>> >> >> Now, I have tested PPC64 (with the patch I sent yesterday to modify save_stack_trace_regs() >> applied), and I get many failures. Any idea ? >> >> [ 17.653751][ T58] ================================================================== >> [ 17.654379][ T58] BUG: KFENCE: invalid free in .kfence_guarded_free+0x2e4/0x530 >> [ 17.654379][ T58] >> [ 17.654831][ T58] Invalid free of 0xc00000003c9c0000 (in kfence-#77): >> [ 17.655358][ T58] .kfence_guarded_free+0x2e4/0x530 >> [ 17.655775][ T58] .__slab_free+0x320/0x5a0 >> [ 17.656039][ T58] .test_double_free+0xe0/0x198 >> [ 17.656308][ T58] .kunit_try_run_case+0x80/0x110 >> [ 17.656523][ T58] .kunit_generic_run_threadfn_adapter+0x38/0x50 >> [ 17.657161][ T58] .kthread+0x18c/0x1a0 >> [ 17.659148][ T58] .ret_from_kernel_thread+0x58/0x70 >> [ 17.659869][ T58] >> [ 17.663954][ T58] kfence-#77 [0xc00000003c9c0000-0xc00000003c9c001f, size=32, cache=kmalloc-32] >> allocated by task 58: >> [ 17.666113][ T58] .__kfence_alloc+0x1bc/0x510 >> [ 17.667069][ T58] .__kmalloc+0x280/0x4f0 >> [ 17.667452][ T58] .test_alloc+0x19c/0x430 >> [ 17.667732][ T58] .test_double_free+0x88/0x198 >> [ 17.667971][ T58] .kunit_try_run_case+0x80/0x110 >> [ 17.668283][ T58] .kunit_generic_run_threadfn_adapter+0x38/0x50 >> [ 17.668553][ T58] .kthread+0x18c/0x1a0 >> [ 17.669315][ T58] .ret_from_kernel_thread+0x58/0x70 >> [ 17.669711][ T58] >> [ 17.669711][ T58] freed by task 58: >> [ 17.670116][ T58] .kfence_guarded_free+0x3d0/0x530 >> [ 17.670421][ T58] .__slab_free+0x320/0x5a0 >> [ 17.670603][ T58] .test_double_free+0xb4/0x198 >> [ 17.670827][ T58] .kunit_try_run_case+0x80/0x110 >> [ 17.671073][ T58] .kunit_generic_run_threadfn_adapter+0x38/0x50 >> [ 17.671410][ T58] .kthread+0x18c/0x1a0 >> [ 17.671618][ T58] .ret_from_kernel_thread+0x58/0x70 >> [ 17.671972][ T58] >> [ 17.672638][ T58] CPU: 0 PID: 58 Comm: kunit_try_catch Tainted: G B >> 5.12.0-rc1-01540-g0783285cc1b8-dirty #4685 >> [ 17.673768][ T58] ================================================================== >> [ 17.677031][ T58] # test_double_free: EXPECTATION FAILED at mm/kfence/kfence_test.c:380 >> [ 17.677031][ T58] Expected report_matches(&expect) to be true, but is false >> [ 17.684397][ T1] not ok 7 - test_double_free >> [ 17.686463][ T59] # test_double_free-memcache: setup_test_cache: size=32, ctor=0x0 >> [ 17.688403][ T59] # test_double_free-memcache: test_alloc: size=32, gfp=cc0, policy=any, >> cache=1 > > Looks like something is prepending '.' to function names. We expect > the function name to appear as-is, e.g. "kfence_guarded_free", > "test_double_free", etc. > > Is there something special on ppc64, where the '.' is some convention? > I think so, see https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-DES Also see commit https://github.com/linuxppc/linux/commit/02424d896 Christophe