Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp2315306pxb; Thu, 3 Feb 2022 04:09:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJy8UKENSqj7DCMSEHRxupk26N1BFK8ynXZKQMc5CyvfbSE86jdcWkDCa84kkZfVZsB2XXOu X-Received: by 2002:a17:906:bc97:: with SMTP id lv23mr29712102ejb.154.1643890156619; Thu, 03 Feb 2022 04:09:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643890156; cv=none; d=google.com; s=arc-20160816; b=qI8IuXNWnjpzhb1GobXTJVVAcFEl8oGRPIqL9BQYm0iC2ksfZ2rLeHCrWIKRPyUhFW q2JdnYUvos5Id+SxBnA1a2aAEwM8C3y8V7DtFh7G/7zSB0SKH0MhI5NigN/DrQaPs9Nw yt2R5h2iBKi7YU9ilmS6l/mAalZcqXNf2dTQcm5F9CR/dhFecQQO3WgYsasywPwZon5h DFfzT29gFxrDWMoe8yzrhuh2NgtVkFHIDosoN7my2cQnTu6QEyl22eVca8lo+SlVvhc8 rX2hk9xnRZ5ItuNtM8ebc0hQVspCwSh77kY5lJFualq+3iuxKU12r9SZCGHP+zYGtaXW WI3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=BrtQqWd/LgMqmSVv1/9+8qzI7p+FENvHBb0XUxBtq6w=; b=xiSLM1KFM7tETDBH2iFjWflCy3M8OHuV6xJcB+eT6t6dH/HS+x0ihWtuAO3pSDlGmY 4/q9Xu79tpzD+MggOw3WFXyALn2IG6NrpkIYd+y1FcM5zfpYrTOgiyCHcKVfibTdqCli QxJ7HeGrHxBRjTCMh0BGcdsMxoTIZXGsJviM5HYOKMHZuAXpo4LbrXd6Qq8WYBV9KKVY xNbUEICYj9crRKdTwURKFRAzeSDdouiv1j9qdX2k+s8atEGydxOsyThL+ee1z6B9H2mF DaRmIixfSG3dWZFVbXJ7K1UhBF0PEU2QHOR3S+0eU2n3CKjirqm301vxMMWbwcOispjP Bjkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=XfFSyenW; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i12si10612163eda.483.2022.02.03.04.08.49; Thu, 03 Feb 2022 04:09:16 -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=@gmail.com header.s=20210112 header.b=XfFSyenW; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243160AbiBBNwq (ORCPT + 99 others); Wed, 2 Feb 2022 08:52:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33224 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344541AbiBBNwo (ORCPT ); Wed, 2 Feb 2022 08:52:44 -0500 Received: from mail-vk1-xa2a.google.com (mail-vk1-xa2a.google.com [IPv6:2607:f8b0:4864:20::a2a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7DE9CC06173D; Wed, 2 Feb 2022 05:52:43 -0800 (PST) Received: by mail-vk1-xa2a.google.com with SMTP id z15so12618252vkp.13; Wed, 02 Feb 2022 05:52:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=BrtQqWd/LgMqmSVv1/9+8qzI7p+FENvHBb0XUxBtq6w=; b=XfFSyenWWCOxiPR7sd8wyA4pPwSRw8+E3dLJJih/ci/kin16nIYX+qoRIvVq+m910L YQ9g0+GU/sLeb4iDfoNnTBULoRsUsqi5h5DOBZHD7HfKjv0V2uyTgCl9pzn8Y/8jpOG1 a0R3nwg8UBr0etMbL46X29gJKRlJfwOSq/cbttOu5NZez03qZDnsjAd0nnYQr3qsMbYG GsFGVfqPH8EhgjW/IsNMTNJbBUGMdF1al9YWZC5KR6N1Qh2DMJfzfbDU6hPuQv4unqY2 B6Sh83rbXkx7jGG8QJbS5oKyIed94fQ90muJbMRbznowqLqI6oeSt83PQYscys0hCIn3 uMHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=BrtQqWd/LgMqmSVv1/9+8qzI7p+FENvHBb0XUxBtq6w=; b=AYNUgoc6Omn/StoDT/pik2BWVopOYzKg6Txf75baa/Wegbv3xtYlG4GJa79v9ovl+n jvSHuZMdhWwzRjgJCxk2wCA0/sENdEykHJ9vCweT5c7sjAbg/3jViNUgg+0L6yBgjSbj StiZuMJihTXbQ0vc+aP4ffIAQrN1VIsf7QKOY6fJc+NaRmuvkCsfllHjXf/Hxc9cyUJz Tgwfvtj2ztk0a87VlPnWkEw2X7f0P2NvP0BkXFosqAiVCl1chAgMATOhSecS0cpPfaOx bIeu8Eo4y6f8giMLnPpYL+ueOAVESjWq3Sk2uFy0PRbLAeRKUlO1SGavblwerYm5uB1k l7uw== X-Gm-Message-State: AOAM530Zp5ijXLsPPq7InSi95hsEpNR+UfiSdx6R7cCuW5mgc3UVhBFe /iJXW+cTk8wz7A/JjUE6W+WGrJDDyaS/NefAJg== X-Received: by 2002:a1f:aace:: with SMTP id t197mr12740476vke.36.1643809962517; Wed, 02 Feb 2022 05:52:42 -0800 (PST) MIME-Version: 1.0 References: <20220202121433.3697146-1-rppt@kernel.org> In-Reply-To: <20220202121433.3697146-1-rppt@kernel.org> From: Rui Salvaterra Date: Wed, 2 Feb 2022 13:52:31 +0000 Message-ID: Subject: Re: [PATCH] fs/binfmt_elf: fix PT_LOAD p_align values for loaders To: Mike Rapoport Cc: linux-fsdevel@vger.kernel.org, Alexander Viro , Andrew Morton , Eric Biederman , "H.J. Lu" , Kees Cook , Mike Rapoport , linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Mike, On Wed, 2 Feb 2022 at 12:14, Mike Rapoport wrote: > > 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 > The patch does fix the problem for me, and is thus Tested-by: Rui Salvaterra Thanks, Rui