From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3872FC4332F for ; Thu, 22 Dec 2022 18:13:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 96577900003; Thu, 22 Dec 2022 13:12:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 915C3900002; Thu, 22 Dec 2022 13:12:59 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8055C900003; Thu, 22 Dec 2022 13:12:59 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 71656900002 for ; Thu, 22 Dec 2022 13:12:59 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E4E031A09CD for ; Thu, 22 Dec 2022 18:12:58 +0000 (UTC) X-FDA: 80270738436.02.F2B44E6 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf14.hostedemail.com (Postfix) with ESMTP id 7D44C100005 for ; Thu, 22 Dec 2022 18:12:57 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=none; spf=pass (imf14.hostedemail.com: domain of cmarinas@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cmarinas@kernel.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none) ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1671732777; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-transfer-encoding:content-transfer-encoding: in-reply-to:references; bh=IVHE4hLrqld+6ctvbdyIuhxUSLQ/T79e5e+/v8aR3N0=; b=vn1CD7orJQ4oP+LR49b8RTAWbJIO2aT7Ui8qUR80M76KiGMNdVzFpIpq3T2uDPNoNPj99H u+Ta3KD9ONRX4RIT/r/t3Z4ItTFjeiXYc4dVv3Or7dKwgh+ITTnaEsXd8+lwd62s9Qh5Zz q207THY7LAn+kjeDx7ysKNigyJ9CuKg= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=none; spf=pass (imf14.hostedemail.com: domain of cmarinas@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=cmarinas@kernel.org; dmarc=fail reason="SPF not aligned (relaxed), No valid DKIM" header.from=arm.com (policy=none) ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1671732777; a=rsa-sha256; cv=none; b=aqB5e5PJK3DfEDQA1na6WgM5yHpepXo/ibOkIQdNgrbmRXuWaeQ2O3KzGP6vhoPP0Wv0EC 1x/nclCR+yAZrG/FQaVrcDT8qzIC0/EucqTNF6hO3Ej61KQYHv8pYcp34/qNIKlg+hHHlZ K9Jl5e7BmiSKqrB4qT8ZE+CxWxAHpuY= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 62AE861D10; Thu, 22 Dec 2022 18:12:56 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 57317C433D2; Thu, 22 Dec 2022 18:12:54 +0000 (UTC) From: Catalin Marinas To: Will Deacon , Seth Jenkins Cc: Eric Biederman , Kees Cook , Greg Kroah-Hartman , linux-arm-kernel@lists.infradead.org, linux-mm@kvack.org Subject: [PATCH 0/3] arm64: mte: Coredump fixes Date: Thu, 22 Dec 2022 18:12:48 +0000 Message-Id: <20221222181251.1345752-1-catalin.marinas@arm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: 3t98upffykdqw7a1irmbdqn6e4sa88yd X-Rspam-User: X-Rspamd-Queue-Id: 7D44C100005 X-Rspamd-Server: rspam06 X-HE-Tag: 1671732777-134158 X-HE-Meta: U2FsdGVkX1+TtMCjyV8EzTJ3EssDI64rY8zv7gSiIW8NANKrvwQszdcTX1iRTXsKpSqiEAYxWB46JEKbENhtPQCcts3u5fhDaiI5+J59IBJr7JK1O7DEuDi9SGoYYw5OeaqjbIXVDrK9Khu2s22sh1pGq94/3zla91pZhsyer41RBu3xtzPMZKnUdWIbbaXba6qNkhK4sOGba96tkJI5lJEiY/RAUuX1tqcstrbY4qTqPCsZJ2ewURvLg/3LKrUcbS04C/2D+FngT3rQ6sa+Wo0TUd1P7YHFWNeMLhwQSQKTPKHteQ1UD8Z1MnWpYGPc2JKZ7GP4HxpT4vVIwonT7Hp5QjoYLm57RRl8Ku4d0LDgW5X8lT3kkTKcLOlpuDY4MAiyGPAZKcy6tn5ZPXRamCf07/LNReDmDPNW1q3K1U0fdMmfZtuIcTdhbttBIEBoEfx1NTVpbhr93rdPki9mCVG8mMFj8SfzIYVTz9UGAMDhjxVXYHn37DR8DsTPKb06CHIIHPEThnDm9LevyLxGk0doLddoqRsaZWWK+wRsLezA3INGM7Rvxpuj9z/F8DoTbbtVuy56ynIInhe98N8btvDdRdhQGV5MYwNUuDRq0oHg9KQ9reJVB2VKyX/vHu0iO3G9bCRi4LzlnPXMRn7U2epVUmvYq6M0uJH9jkz4RYzlLjDrc+HmCXHEg2patvWWuE3miJU77SOAIRvfVKBbXzwbre325EnFGiIR/y1bc8bwKnZj30rOBXTfaXpPASSchYlZwfQU9pyy1sYHUwCNhX4FR+aUuL7DNcxlCvMEFloqPgIvbIsN898ACfyDdBkhzvanS95VeSUBmCokvq3bm/34vh4Wih4wcFmMK1NeKt6ZNxGQXV8n0mcKjxH/uaAH6EuDjSVzj5jJODxetr1A6F2a4+1P7hXkpcb9t9+jOtAVzhaPNOafM8l2KY4vgQUYZZqtITiUCe62r5bP4As WEFsjDvj 51bLGx4MztSebHi4V+5xTCqIj58/5E5VVxm58+/r+rL1wAzFGB6jNKdXnVyicTVsde9j6lp78YShzNytg62WY3Py9ahap6R2FejQTuzQtt4sqXWaantnRgf2DKXDqQ2xQruzs7EyNH81guKl583MohL6/rYeBrdQ49zBFuzrE0XXG4TlAnZiS49w/FgR8uRMK76eW X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Hi, As reported by Seth, there are two bugs in the arm64 MTE coredump code. The first is a double freeing of the temporary tag storage object on an error condition. The second is the racy traversing of the vma list and fixing it required adding a struct coredump_params * parameter to the elf_core_extra_phdrs() and elf_core_extra_data_size() functions. This way the arm64 code can use the vma snapshot saved in cprm rather than iterating over the vma list. All patches are cc stable to 5.18 but I'm not aware of any MTE deployment in production yet, so merging them in the new year is fine (still aiming for the fix in one of the 6.2-rcX). Thanks. Catalin Marinas (3): arm64: mte: Fix double-freeing of the temporary tag storage during coredump elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} arm64: mte: Avoid the racy walk of the vma list during core dump arch/arm64/kernel/elfcore.c | 61 +++++++++++++++++-------------------- arch/ia64/kernel/elfcore.c | 4 +-- arch/x86/um/elfcore.c | 4 +-- fs/binfmt_elf.c | 4 +-- fs/binfmt_elf_fdpic.c | 4 +-- include/linux/elfcore.h | 8 ++--- 6 files changed, 40 insertions(+), 45 deletions(-)