Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp603237pxu; Sun, 25 Oct 2020 10:51:56 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxv7PvfUR+OxyHxJupd8XLhuks6zerx2iG9+3wG43WfmVaollrdH/xmcAU++1ASnGH3NKoL X-Received: by 2002:a17:906:6cb:: with SMTP id v11mr6697824ejb.31.1603648316189; Sun, 25 Oct 2020 10:51:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603648316; cv=none; d=google.com; s=arc-20160816; b=aBiwVK6rKFZxZ9qvKk1MqIUJmMxWGN3rTx9XHKAjQ7KmRMEqAy+ylKeONTWWNp+jJC Xe6nPRzWQMKQKFQTHuykEyt+DBONDsmPZA1vjz8kVkkuSTNfISVcCF1dTFHz5hmhKRLT QR9YuEajeeaL/9LGFfjihl7EjjIwjy0RKRaBXIOstWtxKvMK1yfnoFEgFrieR9nw4TyS st23TJegwLcmD0Yr4KFp2QBR/FKSTZssAcII5Gq9NgxspSwL3AIyKMb0iiO7W8MxTUZo 0OL4UkoXNLVC+xf7jwq8FhM78Z+1ZI2VnNGt1ne6KpTSZ9QsWlbli8LGHE+HWEzsEr4w 6i+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:date:from:sender:dkim-signature; bh=5TC2MzYj0vw5zKi0k5pd4CHQhZMyt3O4BrEFePzGKh0=; b=UQmBJsbDb3tmk6C/o0zdX+0JMpI0jH4YpYcnL2nVfdMqtqmb9hX3rX5bZXH70fzizm 1+plSN7eh7DyHc7K87aBQyFxiYSq+kynG50gPwFccftUEWyiVZQ6GhnzqmkiSEpMjuwH ppvHsnJ8z6I2IzbxAjU/pvgBPQ7td2xHWuzBVd3tJdyj//ubwwvTUtBlS8uoY9624Rg+ vpNvUWVIDfZYXraH3tYNa/7aQ8OMKRgLTGGnOqgmRaYsKzi72Ni6nI0C4Vl8axP5xwDS 6zvIoNeoDjApyUTP+O9TaF5yyojnL7tE/YYBB8mHXvYi5OFF43eV2nal5GP1NaNzaskO jfqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XEbDGN0t; 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 ci1si5386777ejc.31.2020.10.25.10.51.34; Sun, 25 Oct 2020 10:51:56 -0700 (PDT) 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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=XEbDGN0t; 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 S1417115AbgJYQTf (ORCPT + 99 others); Sun, 25 Oct 2020 12:19:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36718 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732567AbgJYQTe (ORCPT ); Sun, 25 Oct 2020 12:19:34 -0400 Received: from mail-qk1-x743.google.com (mail-qk1-x743.google.com [IPv6:2607:f8b0:4864:20::743]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B4150C0613CE; Sun, 25 Oct 2020 09:19:34 -0700 (PDT) Received: by mail-qk1-x743.google.com with SMTP id q199so6188886qke.10; Sun, 25 Oct 2020 09:19:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:date:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=5TC2MzYj0vw5zKi0k5pd4CHQhZMyt3O4BrEFePzGKh0=; b=XEbDGN0tqcGAVApVEzDBIKI2pKYnkpeO7n+MN0tp+YnOSEJTzk8vLKoL58HqRXqbVt iOXPBXuOxyvvyftL+kuVxQRAfzR4OgZtRxEgAZVbFgNRbB6gtVp4HRATyuQxt3pd7/oG MTvgGwkCwoml7aFhZp4Dkky24rgaNNl02CTmLnbtIrPWpgCMp/ZworgFKCdsf90EvLYl vCJCgTZNrGXca1O+1xRCPUT5MepNuyPX4WEhanCbF04rXJAkBWwmePGSVOZN7YZeh/Wr F1x/Mxy0/yQLvGj10GT9fChbMZr3DLA4fS0gf9U6ZRC9bEE7ZioWekv2UI+WsQwn707m QaKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:date:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to; bh=5TC2MzYj0vw5zKi0k5pd4CHQhZMyt3O4BrEFePzGKh0=; b=MYh1i54MhehIMFdIdXa0OwvYouvJ6efohIu6HiLZ5+NhVqWoSJYJRW7OthUF1lcp9P 3Au/PHSWUX3M1EEXl40vfBi60zL4rA0fvDHzv4XHt4j176BpjMFp68W28wRc16mSacMe XH7dOwZ+5VV63QtNcRWWgbb1xu1fWn1aEGTN1cONtpUX+4af6PdQw3IiZLOi5urw0udo +Bpg394L5Yi1idjb2EFiV2B36dmQpgwjHyHbuhJ/hEe7ZgQU4KxNDfEssF6crjm4MX7d xUCKZ9mM76ItF48q/9fNR9FUCmt/Pbv/xuvt8Ic+WgRDFa+jtyEp9l80YDtBRe+hkYOd dLmw== X-Gm-Message-State: AOAM530jixo3T62XHc5pbCqZF1bfJRNvqSW4U2vbXm2uEBLZUPU72e9i XLRc9+GGBvsUvJM2d+Y89eMAcgVAizWLgQ== X-Received: by 2002:a37:b9c3:: with SMTP id j186mr13207723qkf.327.1603642773594; Sun, 25 Oct 2020 09:19:33 -0700 (PDT) Received: from rani.riverdale.lan ([2001:470:1f07:5f3::b55f]) by smtp.gmail.com with ESMTPSA id v13sm4781315qkv.113.2020.10.25.09.19.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 25 Oct 2020 09:19:32 -0700 (PDT) Sender: Arvind Sankar From: Arvind Sankar X-Google-Original-From: Arvind Sankar Date: Sun, 25 Oct 2020 12:19:31 -0400 To: Arvind Sankar Cc: linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] efi/x86: Only copy the compressed kernel image in efi_relocate_kernel() Message-ID: <20201025161931.GA1119983@rani.riverdale.lan> References: <20201011142012.96493-1-nivedita@alum.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20201011142012.96493-1-nivedita@alum.mit.edu> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Oct 11, 2020 at 10:20:12AM -0400, Arvind Sankar wrote: > The image_size argument to efi_relocate_kernel() is currently specified > as init_size, but this is unnecessarily large. The compressed kernel is > much smaller, in fact, its image only extends up to the start of _bss, > since at this point, the .bss section is still uninitialized. > > Depending on compression level, this can reduce the amount of data > copied by 4-5x. > > Signed-off-by: Arvind Sankar Ping > --- > drivers/firmware/efi/libstub/x86-stub.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/firmware/efi/libstub/x86-stub.c b/drivers/firmware/efi/libstub/x86-stub.c > index 3672539cb96e..f14c4ff5839f 100644 > --- a/drivers/firmware/efi/libstub/x86-stub.c > +++ b/drivers/firmware/efi/libstub/x86-stub.c > @@ -715,8 +715,11 @@ unsigned long efi_main(efi_handle_t handle, > (IS_ENABLED(CONFIG_X86_32) && buffer_end > KERNEL_IMAGE_SIZE) || > (IS_ENABLED(CONFIG_X86_64) && buffer_end > MAXMEM_X86_64_4LEVEL) || > (image_offset == 0)) { > + extern char _bss[]; > + > status = efi_relocate_kernel(&bzimage_addr, > - hdr->init_size, hdr->init_size, > + (unsigned long)_bss - bzimage_addr, > + hdr->init_size, > hdr->pref_address, > hdr->kernel_alignment, > LOAD_PHYSICAL_ADDR); > -- > 2.26.2 >