Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp657792rdb; Tue, 31 Oct 2023 20:22:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEsQHGVhDL3nAYtwC//6jwt+5rfBsL3dkSSvMOCK9sogjseH6l7ZOEz3oRTYVthSl1mADWF X-Received: by 2002:a25:8590:0:b0:da0:cf4b:c504 with SMTP id x16-20020a258590000000b00da0cf4bc504mr15264955ybk.8.1698808939557; Tue, 31 Oct 2023 20:22:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698808939; cv=none; d=google.com; s=arc-20160816; b=m2aBGRkCSq/7CqbK+QfdpPYIWpKPuv5WG9ZkwmrOGbrin8iJqQZA9s8o27keVdCTQ9 MpQamSLjqEXXkskUE09yNckrG6QBWn7B0powo1PI5nujdpysRcI73ppfwRjAsCnhwvpu ulCyBSbq/rUJwdgbDQMzIz4R/PLxwRlh2CMXha+Tssg00exdd1aKbLBR09OB/0sIoNhx /Sl85uYDL7yw6KSNS7AJMs0UNjWLJZ5TLNN3Ih1eeUnRiMQIF5sURfiy7w+Mj/CnFFTz vPztGPXK45QU6AIhBKH0XFx+z4s3jCveyBJAcGGV+DBXw6aLA3+PtlAeCnB8VwD3VLN5 62MA== 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:from:date:dkim-signature; bh=cdm9iQnOmkpe+mVi/I5fLMU4+z8Rp8dC5l/m7LIQf8E=; fh=JyUqAb5E6YNez4pnHicMn9VwITeAHdix3ygwShBjBgc=; b=F+Mdyh9R5jYyWdsYU9Jo3jLbOOww2cKo0bJd/OMwfhn3WPYR/264AwQLpt9x9vDi/e Y93EDwWCtkLHNzL0sVIc2M0V4+YraQjyDe9X3ydk4UmFIQzkIb6JjRFjsj1nH2G7vHQR XB7PGzdDLYbD96r9m8YW/VoaUqx/8GAH5tcEdv1T5vIKtanJMB04HSDT6zOQlo9r+Nrm f7dCNX9MVqZ7KWQbEo3j1dBGSHZbZ5IE3slSwgMPjmpsAr5grAdXTXFlZ3CdfahB0my+ DpbzexGsq0Gx0yn5zoDtkRjG+qbegQ4IF9NBmIsObD2Y3oLh+Lf1uQp2Aml6yIS8oGIM RYRA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=M4SIwKo7; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from fry.vger.email (fry.vger.email. [2620:137:e000::3:8]) by mx.google.com with ESMTPS id z18-20020aa78892000000b00690204af234si728469pfe.378.2023.10.31.20.22.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 20:22:19 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) client-ip=2620:137:e000::3:8; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=M4SIwKo7; spf=pass (google.com: domain of linux-crypto-owner@vger.kernel.org designates 2620:137:e000::3:8 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id EA12F80FC1B7; Tue, 31 Oct 2023 20:22:16 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231253AbjKADWH (ORCPT + 99 others); Tue, 31 Oct 2023 23:22:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52936 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231252AbjKADWG (ORCPT ); Tue, 31 Oct 2023 23:22:06 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B504B4 for ; Tue, 31 Oct 2023 20:22:04 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 95AF4C433C8; Wed, 1 Nov 2023 03:22:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1698808923; bh=wkjH40ySEh0ASsRlzj3fbA4t4h1zRFcVUvMt06fXibk=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=M4SIwKo7I9dMCFDRpozaNJF11+tziJ3GT5UKWqBJi/XSEAoFkfKAV+dqPlJCSqjlv 2PbOhgYbkqGQlhSDljKuFwi9XMnm0uqUzfvnfLjh8FpPeiIlzbdvegx8X3nYKXlKcA bZtbF2ap9QCuIQlnpNsHSaK5KLfY7nPRLzfBEOwti+p2RJtNmn/jbL9Aeygec9Ce9a bQHzFVDipovy/n8Xyet596cScgbM5dFeKsAPQgxi8NB6jquukj2sL8svYSQBvaJoGL IeMaZ+YrNmGT985jwYERB4iINkEfHv2Iq27Is9H7ZYyVyYGaLInxV9ezoSMid3mjv7 m2pxU3Xkuk5IQ== Date: Tue, 31 Oct 2023 20:22:02 -0700 From: Eric Biggers To: "Elliott, Robert (Servers)" Cc: Roxana Nicolescu , "linux-crypto@vger.kernel.org" Subject: Re: [PATCH] crypto: x86/sha256 - autoload if SHA-NI detected Message-ID: <20231101032202.GA1830@sol.localdomain> References: <20231029051555.157720-1-ebiggers@kernel.org> <34843a86-6516-47d2-88dd-5ca0aa86a052@canonical.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.7 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Tue, 31 Oct 2023 20:22:17 -0700 (PDT) On Tue, Oct 31, 2023 at 02:52:53PM +0000, Elliott, Robert (Servers) wrote: > > -----Original Message----- > > From: Roxana Nicolescu > > Sent: Tuesday, October 31, 2023 8:19 AM > > To: Eric Biggers ; linux-crypto@vger.kernel.org > > Subject: Re: [PATCH] crypto: x86/sha256 - autoload if SHA-NI detected > > > > On 29/10/2023 06:15, Eric Biggers wrote: > > > From: Eric Biggers > > > > > > The x86 SHA-256 module contains four implementations: SSSE3, AVX, AVX2, > > > and SHA-NI. Commit 1c43c0f1f84a ("crypto: x86/sha - load modules based > > > on CPU features") made the module be autoloaded when SSSE3, AVX, or AVX2 > > > is detected. The omission of SHA-NI appears to be an oversight, perhaps > > > because of the outdated file-level comment. This patch fixes this, > > > though in practice this makes no difference because SSSE3 is a subset of > > > the other three features anyway. Indeed, sha256_ni_transform() executes > > > SSSE3 instructions such as pshufb. > > > > > > Cc: Roxana Nicolescu > > > Signed-off-by: Eric Biggers > > > > Indeed, it was an oversight. > > > > Reviewed-by: Roxana Nicolescu > > > --- > > > arch/x86/crypto/sha256_ssse3_glue.c | 5 +++-- > > > 1 file changed, 3 insertions(+), 2 deletions(-) > > > > > > diff --git a/arch/x86/crypto/sha256_ssse3_glue.c > > b/arch/x86/crypto/sha256_ssse3_glue.c > > > index 4c0383a90e11..a135cf9baca3 100644 > > > --- a/arch/x86/crypto/sha256_ssse3_glue.c > ... > > > > > > static const struct x86_cpu_id module_cpu_ids[] = { > > > + X86_MATCH_FEATURE(X86_FEATURE_SHA_NI, NULL), > > Unless something else has changed, this needs to be inside ifdefs, as discovered > in the proposed patch series last year: > > for sha1_sse3_glue.c: > #ifdef CONFIG_AS_SHA1_NI > X86_MATCH_FEATURE(X86_FEATURE_SHA_NI, NULL), > #endif > > for sha256_sse3_glue.c: > +#ifdef CONFIG_AS_SHA256_NI > + X86_MATCH_FEATURE(X86_FEATURE_SHA_NI, NULL), > +#endif Right, thanks for pointing that out. It compiles either way, but we shouldn't autoload on SHA-NI when the code using SHA-NI isn't being built. Sent out v2 with this fixed. - Eric