Received: by 2002:a05:6512:3d0e:0:0:0:0 with SMTP id d14csp610567lfv; Tue, 12 Apr 2022 00:07:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyVPvq0BM6v63edOFT1BwB7A2w3FyzNPzjdNHlEiSN25O3s1i/30x7pMDlhdeDSnlbTYFG4 X-Received: by 2002:a17:902:9a4c:b0:156:6735:b438 with SMTP id x12-20020a1709029a4c00b001566735b438mr36406458plv.46.1649747269430; Tue, 12 Apr 2022 00:07:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649747269; cv=none; d=google.com; s=arc-20160816; b=jKT/O+q6xtJC+JNq9ERdKcUIu1gF1/y0Lm86H7AE4SsSca4DS5K2dUlvLBUT7We5Jd KorwaBVrPNUYGfuKVDncO3AfsESidGfBspMFmYfRQ8gCY4c5fXy2Jk2ZSRJHvJTUiYXY k+kQjyeCQd5jeMhOCRJcrEcPov6fOFSi45AxxlOJBX+8pIMXzi0Who3euIXkWRBQLZA5 tr3p0Y8clcO3wfrE6E+GfwGQQK8fKVoAD8v5VssqHTaEI0hUXY36SPu0RuIjTMkofAaJ uYqvzFGEIUmBAtP/fPXAdHkIT7i6IrrpTKxEr7wk5j3jQQ9A+WCB0SI4qVFiFP3DkFpZ AFKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature:dkim-signature; bh=Ef++WggLHlX1bHpZMjXUg51/FpXHmXDjFyOrv5jvrlE=; b=iH+47/lamxT4s2SUzp14k/wJjps1cieSIVl45BSvxZe/vShvwH8NmFceGRJ9vGCCgq rTMNKLUGdmV9Rzv3AIe096WOTt67KkabYGu1LZeoyWYMg/sb/msMuYkIH4lVuhv5QWqm /LHpg2Cz0GZEGi75eZ5rAbD+rq88P0hlB6jLmUGK9xqwyk/aM7+O4GXoualEiy/E0j3N Dwe66G4B1fR+uzDiJkZfvhak1MRJavWYSkg8b8gy4H6BpNW4UQ34LzvWqqwIivLMBAnh dYxJ2+208tk2B0mRTJvb94/qHBC7Rp75U3B0tF9svcDIBBofj494ybZDIAh5MNECVOmA HEDQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.de header.s=susede2_rsa header.b="KD6/xdCJ"; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=6pShjjnf; 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=suse.de Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x4-20020a170902ea8400b0015498a2b02bsi9802709plb.316.2022.04.12.00.07.36; Tue, 12 Apr 2022 00:07:49 -0700 (PDT) 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=@suse.de header.s=susede2_rsa header.b="KD6/xdCJ"; dkim=neutral (no key) header.i=@suse.de header.s=susede2_ed25519 header.b=6pShjjnf; 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=suse.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344082AbiDKJDz (ORCPT + 99 others); Mon, 11 Apr 2022 05:03:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50070 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344111AbiDKJD2 (ORCPT ); Mon, 11 Apr 2022 05:03:28 -0400 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9636F3EF19 for ; Mon, 11 Apr 2022 02:01:14 -0700 (PDT) Received: from relay2.suse.de (relay2.suse.de [149.44.160.134]) by smtp-out1.suse.de (Postfix) with ESMTP id 2F4B3212C6; Mon, 11 Apr 2022 09:01:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1649667673; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Ef++WggLHlX1bHpZMjXUg51/FpXHmXDjFyOrv5jvrlE=; b=KD6/xdCJHkao4n2yDEBXJ7kFf8L7VaQacrPjDU5LgP3+K0xuZcXEhJ1WrdhIM2mf4nSKVE 3Jr0LVdH6iwhSxqAZq53VB94dPefFaWcRUFb9TPndaAXwZtZTpvYz9MhfyWFyi5nXWGxgA lN67SOBCS/aI99M5d3oE7sBex7McA1U= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1649667673; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Ef++WggLHlX1bHpZMjXUg51/FpXHmXDjFyOrv5jvrlE=; b=6pShjjnfG+hqFeZr+xcgMAKVB7lVl25uubcW+JeUzvhxkw/aDcZKvNdCjP47C0BcXkRuZL 56AeWJlfTtYP3GBQ== Received: from kunlun.suse.cz (unknown [10.100.128.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by relay2.suse.de (Postfix) with ESMTPS id 077BAA3B95; Mon, 11 Apr 2022 09:01:13 +0000 (UTC) Date: Mon, 11 Apr 2022 11:01:11 +0200 From: Michal =?iso-8859-1?Q?Such=E1nek?= To: Coiby Xu Cc: kexec@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Baoquan He , Dave Young , Will Deacon , "Eric W . Biederman" , open list Subject: Re: [PATCH v5 1/3] kexec: clean up arch_kexec_kernel_verify_sig Message-ID: <20220411090111.GB163591@kunlun.suse.cz> References: <20220401013118.348084-1-coxu@redhat.com> <20220401013118.348084-2-coxu@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20220401013118.348084-2-coxu@redhat.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 01, 2022 at 09:31:16AM +0800, Coiby Xu wrote: > Currently there is no arch-specific implementation of > arch_kexec_kernel_verify_sig. Even if we want to add an implementation > for an architecture in the future, we can simply use "(struct > kexec_file_ops*)->verify_sig". So clean it up. Reviewed-by: Michal Suchanek > > Suggested-by: Eric W. Biederman > Signed-off-by: Coiby Xu > --- > include/linux/kexec.h | 4 ---- > kernel/kexec_file.c | 34 +++++++++++++--------------------- > 2 files changed, 13 insertions(+), 25 deletions(-) > > diff --git a/include/linux/kexec.h b/include/linux/kexec.h > index 0c994ae37729..755fed183224 100644 > --- a/include/linux/kexec.h > +++ b/include/linux/kexec.h > @@ -196,10 +196,6 @@ int arch_kexec_apply_relocations(struct purgatory_info *pi, > const Elf_Shdr *relsec, > const Elf_Shdr *symtab); > int arch_kimage_file_post_load_cleanup(struct kimage *image); > -#ifdef CONFIG_KEXEC_SIG > -int arch_kexec_kernel_verify_sig(struct kimage *image, void *buf, > - unsigned long buf_len); > -#endif > int arch_kexec_locate_mem_hole(struct kexec_buf *kbuf); > > extern int kexec_add_buffer(struct kexec_buf *kbuf); > diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c > index 8347fc158d2b..3720435807eb 100644 > --- a/kernel/kexec_file.c > +++ b/kernel/kexec_file.c > @@ -89,25 +89,6 @@ int __weak arch_kimage_file_post_load_cleanup(struct kimage *image) > return kexec_image_post_load_cleanup_default(image); > } > > -#ifdef CONFIG_KEXEC_SIG > -static int kexec_image_verify_sig_default(struct kimage *image, void *buf, > - unsigned long buf_len) > -{ > - if (!image->fops || !image->fops->verify_sig) { > - pr_debug("kernel loader does not support signature verification.\n"); > - return -EKEYREJECTED; > - } > - > - return image->fops->verify_sig(buf, buf_len); > -} > - > -int __weak arch_kexec_kernel_verify_sig(struct kimage *image, void *buf, > - unsigned long buf_len) > -{ > - return kexec_image_verify_sig_default(image, buf, buf_len); > -} > -#endif > - > /* > * arch_kexec_apply_relocations_add - apply relocations of type RELA > * @pi: Purgatory to be relocated. > @@ -184,13 +165,24 @@ void kimage_file_post_load_cleanup(struct kimage *image) > } > > #ifdef CONFIG_KEXEC_SIG > +static int kexec_image_verify_sig(struct kimage *image, void *buf, > + unsigned long buf_len) > +{ > + if (!image->fops || !image->fops->verify_sig) { > + pr_debug("kernel loader does not support signature verification.\n"); > + return -EKEYREJECTED; > + } > + > + return image->fops->verify_sig(buf, buf_len); > +} > + > static int > kimage_validate_signature(struct kimage *image) > { > int ret; > > - ret = arch_kexec_kernel_verify_sig(image, image->kernel_buf, > - image->kernel_buf_len); > + ret = kexec_image_verify_sig(image, image->kernel_buf, > + image->kernel_buf_len); > if (ret) { > > if (IS_ENABLED(CONFIG_KEXEC_SIG_FORCE)) { > -- > 2.34.1 >