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 A6D2DE77199 for ; Thu, 9 Jan 2025 00:52:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B20476B0083; Wed, 8 Jan 2025 19:52:31 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id ACF9E6B0088; Wed, 8 Jan 2025 19:52:31 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 997986B0089; Wed, 8 Jan 2025 19:52:31 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 7B7DF6B0083 for ; Wed, 8 Jan 2025 19:52:31 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id B832443B0F for ; Thu, 9 Jan 2025 00:52:30 +0000 (UTC) X-FDA: 82986087660.30.B591152 Received: from mail-ot1-f53.google.com (mail-ot1-f53.google.com [209.85.210.53]) by imf07.hostedemail.com (Postfix) with ESMTP id D480640005 for ; Thu, 9 Jan 2025 00:52:28 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=FBkQdqz5; spf=pass (imf07.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.210.53 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1736383948; 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-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=qRpviP/9EPmDdLynizIbzE/pzoqQq3bn43NLlpJ8Pm0=; b=RlNeEUWejW8jvbPw097gcoyc5otVPFQBNmhTEMtqCQTcoNBH9Ck8zTHBhJ3GYFT2nL13ai sokT4SRpG8O4it86Yrnr7zmXt7fUig7TTUQJ6AIexai/vw/86DgsvEQ4q92oj+10ZFWfqD tzcKFvsX2p6Ibc3N+kGI4d5Y2mR0+oI= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=FBkQdqz5; spf=pass (imf07.hostedemail.com: domain of jeffxu@chromium.org designates 209.85.210.53 as permitted sender) smtp.mailfrom=jeffxu@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1736383948; a=rsa-sha256; cv=none; b=H5ZUNPc9bTiyF3L9izu3xVq3BUG9BAi8Ukfm4dwCHzX+8umdndCR5PW34Fg3w5XdTzpe29 57RKkdw3LiyVWzu54CsxsMa4iI/cdDYgtzoulZrFPYmnWekL+Oz36SaslzGYSE1rJNmmzr 1fUKTv4FQ7zmg7fwoc/gwYWiykgbv+M= Received: by mail-ot1-f53.google.com with SMTP id 46e09a7af769-71e29a0dfd6so43727a34.1 for ; Wed, 08 Jan 2025 16:52:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1736383948; x=1736988748; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=qRpviP/9EPmDdLynizIbzE/pzoqQq3bn43NLlpJ8Pm0=; b=FBkQdqz501kCfOk3r3Mrz8kSl67kGnd37NC1GstTx5cbtCwTVhAqGt/wlAEhd286aS DXi2CdO+Z/pSWoBOOfSPzQgXsihQ/Tu0NqKjJOmu3weKddRRD2IIUOZiwyK+Za0FzVLP ClByq0LsP4gQkI/mA3PqeslB/cJdjOwarMfT8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736383948; x=1736988748; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=qRpviP/9EPmDdLynizIbzE/pzoqQq3bn43NLlpJ8Pm0=; b=H/7YUXK2to+j3GqbecjAtrdTNijDaTkVUKZ54NjkOufw4Esk2oUMGrVH85YCNFU2IY 8AkZkoVJZxNfHYB0LACX0/M5GOSDza5soSurF6gkhwwEONR5wYYk2EB23C+sMHm5lGwl PspUjbqOrAhHNGQ9eW/piT95xXH2VcglFjNU6O2asw/47yAOHHii4qEINW7UJ02hK+7i gxfRk/4iCGngeIrVDWMB+Kxoi2CEAHLO3LrfUh7VxflrlA5PpVPg0QLFuGbs/u21Om02 gPTb3AA5mL73o+8U6/JCPWhTsB/V/DENLH5LksU2Z3qSq6Z1T+TYEYDAzN2BqlUt67kY zYdw== X-Forwarded-Encrypted: i=1; AJvYcCVXdUO4WjIrb9M7fwfebJsPCeaMAo21sN2gVM6xM0maBZdsXVlC4rVab8TzOWCF79d4rFdfVqSq2Q==@kvack.org X-Gm-Message-State: AOJu0YwUm2iu8z7uXr8mIKpQE1ieEyVcZPbhMLBMjUGjQcyWH1F6yZ2R nb136wDFRBJjeIpYmYwSiWRpLkRQtRx6oMkrbxAFt1O6C22Q8Lw5uUp3mDzLLvZ6kdtyONoGsPt SHBm0NwRApnYfWrisIVW3x/++IcgJq6sIusRM X-Gm-Gg: ASbGncsS8Oo8KyE6G64q3YjzGgpumwkU96fiLlyMporNeiTEDvXdl27LakT+MIBeR7x uuwXmWnvjpogwoZ+jHOPSvPI2J0eFifNif5GR7z/Wmup9G241611dmtQVM0lP/+T3c8E= X-Google-Smtp-Source: AGHT+IF/r8GuAZJ5UF5KGd00VuKU3XVnKtoUciIyuz24H6sb0Yk5EDr8vGFhP6Oop4+wxNF7wPN8CGn3gVgdrtmDnr4= X-Received: by 2002:a05:6870:4f0f:b0:29e:43da:f5da with SMTP id 586e51a60fabf-2aa06975f9amr891798fac.9.1736383947719; Wed, 08 Jan 2025 16:52:27 -0800 (PST) MIME-Version: 1.0 References: <20250103140148.370368-1-glaubitz@physik.fu-berlin.de> <202501081442.AB725C7D0@keescook> In-Reply-To: <202501081442.AB725C7D0@keescook> From: Jeff Xu Date: Wed, 8 Jan 2025 16:52:16 -0800 X-Gm-Features: AbW1kvaw4LahAK84nRdCDCyPzls5Ud4781ZovookCnr71OmvJWfmEf_oRypDNgA Message-ID: Subject: Re: [PATCH] alpha: Fix personality flag propagation across an exec To: Kees Cook Cc: John Paul Adrian Glaubitz , Richard Henderson , Matt Turner , Jeff Xu , Eric Biederman , Arnd Bergmann , "Paul E. McKenney" , linux-alpha@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Michael Cree , Sam James , "Maciej W . Rozycki" , Geert Uytterhoeven , Michael Karcher , Chris Hofstaedtler , util-linux@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: D480640005 X-Rspam-User: X-Stat-Signature: 4xkauy6jex4rtwwiw6ko9df3kjn7ngyc X-HE-Tag: 1736383948-639197 X-HE-Meta: U2FsdGVkX1+FetLpo1ZNT9b2jcHUnMJo6iinxweCXcUFx0QwagCRLZk5e1TOzeJiEUfAgmeXcZhjb6nQq9j8yzSs6810aXAcNbhl3IT4iJw66ytPhWXoFq+bOQQciLBFz7wCDOwlRFTDkvc4WutEW9WENJ6tcRm71xGf8oxYfORP8q4kLwBpOisUkqYGkDpkI6cyEiyUDkFAp8mVVKzr0pjHD8sX5b3uFXmy1pevH3aOSmHikmoFsZ95UtT8NBXUjA7rU6SZMTWtwlMAk+2AI9ksD2zwx4sxIXe3V21rid/xfq/kE7gJV03ozmiFpyA6nRDDyrnaYtDeorM1sKamB5fjtveV26dHbyRFqADsQE5Qrx56U2vyvg/WA9v3E7q92hg34UndMYaNp7EisypQiKuak5y8tb65W+PYkjnqu9CdF9lUAElYIucFf3jbT9cpftQJdC1d1lyUwcPd15R0p3TNcJNryZyGbAN70VFv4l7yUoppwbHhHzdZ4TknMXf+HWy6h0Q7fhVV/TAqPYe9oxfPI5/6/lt3yraudie9t+fMy10aBuTYfMMehTVGbZCZYbrK3BoY0ZCSOunZNzQBqL3b95eqgwT87uNF8kisuCAo34hRgADxEwoQgDvv7pIIZAT6JKlKdxn3mIXfNK/WfU3PSsB2VTxtTZKqQqsXZ7SLPzV7Zxw6ypQdVnFv63SkuHqucR0CkkloBgZNf6ivSpZyFPx+ptJ4fCnOFKOZW3uz/T4UL5a6lDQgT2H26x+Q89KG92vUpeOsNuNSZD17jZ5TEoGBsR21RY1OmBB90/7cWhPg4tEu9ipk7khCIWeY1Ff4Z2lauFCMwpN46WiagXQflQk4/vmeCn9C+DujJVqldpYpv5A41DMYwCMQ0Fl6HzJyaPm/RRBPo9ebxSRQs3TCkK1vj2I+fH1u0jnpcUCvF8HQxz7erSieIkaIF7lQdGVrcffhMPFOoCAvieP 9GRJJRL0 Pjh3FbSsyrZXO4nJA6bHZpDbJr+N7GeIdUJ834rW+p0QTwCTLfWg6IZSAj3E6FBDLEjSbh3B9QZHqYdYKJNmSj0Bx8izujQG3M/HlCBgKmW5QVjvgAc5ch/wPJQ4XbTmwJ7HBj8nQ1L7kVKrXF3dlEWpr09blzR+9Vs2fUOFucGVGSqJIZxOvp9eLRhTaKzX+9NlYdkH48ogcKn5OjcKO4U/Wr8Sm4QQ31lyY 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: List-Subscribe: List-Unsubscribe: On Wed, Jan 8, 2025 at 2:49=E2=80=AFPM Kees Cook wrote: > > On Fri, Jan 03, 2025 at 03:01:46PM +0100, John Paul Adrian Glaubitz wrote= : > > It was observed that on alpha, the misc/setarch test of > > the util-linux testsuite failed with the following error: > > > > misc: setarch ... > > : options ... OK > > : uname26 ... OK > > : uname26-version ... FAILED (misc/setarch-uname2= 6-version) > > : show ... OK > > ... FAILED (1 from 4 sub-tests) > > > > Running the setarch binary manually confirmed that setting > > the kernel version with the help --uname-2.6 flag does not > > work and the version remains unchanged. > > > > It turned out that on alpha, the personality flags are not > > propagated but overridden during an exec. The same issue was > > previously fixed on arm in commit 5e143436d044 ("ARM: 6878/1: > > fix personality flag propagation across an exec") and on powerpc > > in commit a91a03ee31a5 ("powerpc: Keep 3 high personality bytes > > across exec"). This patch fixes the issue on alpha. > > Good catch! > > > > > With the patch applied, the misc/setarch test succeeds on > > alpha as expected: > > > > misc: setarch ... > > : options ... OK > > : uname26 ... OK > > : uname26-version ... OK > > : show ... OK > > ... OK (all 4 sub-tests PASSED) > > > > However, as a side-effect, a warning is printed on the kernel > > message buffer which might indicate another unreleated bug: > > > > [ 39.964823] pid=3D509, couldn't seal address 0, ret=3D-12. > > This is from mseal vs MMAP_PAGE_ZERO in fs/binfmt_elf.c > > error =3D vm_mmap(NULL, 0, PAGE_SIZE, PROT_READ | PROT_EX= EC, > MAP_FIXED | MAP_PRIVATE, 0); > > retval =3D do_mseal(0, PAGE_SIZE, 0); > if (retval) > pr_warn_ratelimited("pid=3D%d, couldn't seal addr= ess 0, ret=3D%d.\n", > task_pid_nr(current), retval)= ; > > -12 is ENOMEM, which implies, I think, that check_mm_seal() failed. I > note that "error" isn't being checked, so if the vm_mmap() failed, I > think the do_mseal() would fail with ENOMEM? > Yes. do_mseal would fail with NOMEM if the address was not found. It is likely that alpha doesn't allow creating a page on zero address ? i.e. MMAP_PAGE_ZERO personality never worked on alpha. -Jeff > > Signed-off-by: John Paul Adrian Glaubitz > > Reviewed-by: Kees Cook > > -Kees > > > --- > > arch/alpha/include/asm/elf.h | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/arch/alpha/include/asm/elf.h b/arch/alpha/include/asm/elf.= h > > index 4d7c46f50382..81f8473bb7c0 100644 > > --- a/arch/alpha/include/asm/elf.h > > +++ b/arch/alpha/include/asm/elf.h > > @@ -138,8 +138,8 @@ extern int dump_elf_task(elf_greg_t *dest, struct t= ask_struct *task); > > }) > > > > #define SET_PERSONALITY(EX) \ > > - set_personality(((EX).e_flags & EF_ALPHA_32BIT) \ > > - ? PER_LINUX_32BIT : PER_LINUX) > > + set_personality((((EX).e_flags & EF_ALPHA_32BIT) \ > > + ? PER_LINUX_32BIT : PER_LINUX) | (current->personality & (~PER= _MASK))) > > > > extern int alpha_l1i_cacheshape; > > extern int alpha_l1d_cacheshape; > > -- > > 2.39.5 > > > > -- > Kees Cook >