Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp2178484pxb; Thu, 3 Feb 2022 00:38:53 -0800 (PST) X-Google-Smtp-Source: ABdhPJx8HpyVdPG0yrmyuYdkMXD8G2YkarG9VHTRTgQn8bV28cNldoldNG3lQiUR31GVt+/rUUC/ X-Received: by 2002:a17:902:b789:: with SMTP id e9mr35931944pls.50.1643877532813; Thu, 03 Feb 2022 00:38:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643877532; cv=none; d=google.com; s=arc-20160816; b=msWIpxp1wWRRPf4BprIlELSmLn/JyxKjIwi+C8QpIHGzOgp7lrnSgtoEuzagHk1wQf w4JsOAGK3xXA9P5snwT/46B2+Cc6CuhHXHRgy9aVYOUOmfAl1P08t5WIxrI4H4qSIh5k ddejBQna7SJwl9v2Xk+irkHOVYHFqrxCZinHLYVwxBq0hOjWaU6TBPXASYLHAy7c8TbF cou5bdS3JM/R/0Nnd2yvip3McWFC1pH2M1fvvo94l42XU7cRhFVYS3ttEPc4DT59CatN PN468CgL0dwhsziugERUFfxJd8In3zNH8qzfvCLr4mJN2dr3jS0RksPWpHEZvnp8IXFg 872Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=pgi5gpEoG5JjCNqZMLuk9LCMGbXEA/q5TnZ9ZHiKs0M=; b=bcU4jNudkYaUMS4TEV16q3TI8DHWtjeGrAqZXQTghiZpq1o2grVUt9tsgvglomsoox ZUnh4ZpKGCG6OvXIH94KV6WCXLB4jUsjsr3TuZXpTNkW6SgsiRTG6NkDlVNnUiPR3xPI CyQLjx1UbDC3HoJ+C8BJxYEjyCzl1Un/T+YXwhoxRbbkYoGjOGKuUnZc/PPdaUSWarmP m28Cy06rvI4uc2cUUzDsuZSdhFb3w/ox8V92xu+RHNQaMkO3v0RT2hTSAEaJJKCZaPIw NijEKYJFghRBgAmBisYhu9azbXKG1Sf5bzP1MW2Jzyauj6FBxFJWFvJLmwzfk4k+60YD Y/Ow== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=AxKPNTcu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n2si21242178pgu.793.2022.02.03.00.38.39; Thu, 03 Feb 2022 00:38:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=AxKPNTcu; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243371AbiBBMOm (ORCPT + 99 others); Wed, 2 Feb 2022 07:14:42 -0500 Received: from dfw.source.kernel.org ([139.178.84.217]:36552 "EHLO dfw.source.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231667AbiBBMOm (ORCPT ); Wed, 2 Feb 2022 07:14:42 -0500 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 D14876175A; Wed, 2 Feb 2022 12:14:41 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5E59DC004E1; Wed, 2 Feb 2022 12:14:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1643804081; bh=VamCilcq6wjRLI++9tndqd2QWBVCTYmYLwnJvqufanM=; h=From:To:Cc:Subject:Date:From; b=AxKPNTcuOPsH/976c+Hz4inrrO5DYWTjo1ZEKLBpv79Y3+3u/8SKLdftiiLP6NBQh mo4uVe8H87/2ZIs9EZ/CiQkNV6SVgIOEWsRzAajm3zyWGCERVGsu+Gh93l7508nebM fPDNRIg4n7X1Cd5R/r+VdhXzJ9EggykWxk1aGEZJMpXlSEhtOvl06YwQF4AhEsvLYo fzL1gh1ctKrANsobFSnHfotqElk68RUZstxA2L/5q15YxY2Kaq3GcfDHTbeynftoTi BVoio3t3Yk3zlHdmxhqC7aED/xDjEtuMir/Gtr4qx+39jfd8ci6NlCeHI8j6hhINSg yVVpweu9wY1AQ== From: Mike Rapoport To: linux-fsdevel@vger.kernel.org Cc: Alexander Viro , Andrew Morton , Eric Biederman , "H.J. Lu" , Kees Cook , Mike Rapoport , Mike Rapoport , Rui Salvaterra , linux-kernel@vger.kernel.org Subject: [PATCH] fs/binfmt_elf: fix PT_LOAD p_align values for loaders Date: Wed, 2 Feb 2022 14:14:33 +0200 Message-Id: <20220202121433.3697146-1-rppt@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mike Rapoport Rui Salvaterra reported that Aisleroit solitaire crashes with "Wrong __data_start/_end pair" assertion from libgc after update to v5.17-rc1. Bisection pointed to commit 9630f0d60fec ("fs/binfmt_elf: use PT_LOAD p_align values for static PIE") that fixed handling of static PIEs, but made the condition that guards load_bias calculation to exclude loader binaries. Restoring the check for presence of interpreter fixes the problem. Fixes: 9630f0d60fec ("fs/binfmt_elf: use PT_LOAD p_align values for static PIE") Reported-by: Rui Salvaterra Signed-off-by: Mike Rapoport --- fs/binfmt_elf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c index 605017eb9349..9e11e6f13e83 100644 --- a/fs/binfmt_elf.c +++ b/fs/binfmt_elf.c @@ -1117,7 +1117,7 @@ static int load_elf_binary(struct linux_binprm *bprm) * without MAP_FIXED nor MAP_FIXED_NOREPLACE). */ alignment = maximum_alignment(elf_phdata, elf_ex->e_phnum); - if (alignment > ELF_MIN_ALIGN) { + if (interpreter || alignment > ELF_MIN_ALIGN) { load_bias = ELF_ET_DYN_BASE; if (current->flags & PF_RANDOMIZE) load_bias += arch_mmap_rnd(); -- 2.34.1