From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752435AbdIGAPX (ORCPT ); Wed, 6 Sep 2017 20:15:23 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56058 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751797AbdIGAPW (ORCPT ); Wed, 6 Sep 2017 20:15:22 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 6704383F3E Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=jpoimboe@redhat.com Date: Wed, 6 Sep 2017 19:15:18 -0500 From: Josh Poimboeuf To: Eric Biggers Cc: x86@kernel.org, linux-kernel@vger.kernel.org, Tim Chen , Mathias Krause , Chandramouli Narayanan , Jussi Kivilinna , Peter Zijlstra , Herbert Xu , "David S. Miller" , linux-crypto@vger.kernel.org, Eric Biggers , Andy Lutomirski , Jiri Slaby Subject: Re: [PATCH 00/12] x86/crypto: Fix RBP usage in several crypto .S files Message-ID: <20170907001518.dv6leyfidmjf4e24@treble> References: <20170902000919.GA139193@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20170902000919.GA139193@gmail.com> User-Agent: Mutt/1.6.0.1 (2016-04-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 07 Sep 2017 00:15:22 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 01, 2017 at 05:09:19PM -0700, Eric Biggers wrote: > Hi Josh, > > On Tue, Aug 29, 2017 at 01:05:33PM -0500, Josh Poimboeuf wrote: > > Many of the x86 crypto functions use RBP as a temporary register. This > > breaks frame pointer convention, and breaks stack traces when unwinding > > from an interrupt in the crypto code. > > > > Convert most* of them to leave RBP alone. > > > > These pass the crypto boot tests for me. Any further testing would be > > appreciated! > > > > [*] There are still a few crypto files left that need fixing, but the > > fixes weren't trivial and nobody reported unwinder warnings about > > them yet, so I'm skipping them for now. > > > > Josh Poimboeuf (12): > > x86/crypto: Fix RBP usage in blowfish-x86_64-asm_64.S > > x86/crypto: Fix RBP usage in camellia-x86_64-asm_64.S > > x86/crypto: Fix RBP usage in cast5-avx-x86_64-asm_64.S > > x86/crypto: Fix RBP usage in cast6-avx-x86_64-asm_64.S > > x86/crypto: Fix RBP usage in des3_ede-asm_64.S > > x86/crypto: Fix RBP usage in sha1_avx2_x86_64_asm.S > > x86/crypto: Fix RBP usage in sha1_ssse3_asm.S > > x86/crypto: Fix RBP usage in sha256-avx-asm.S > > x86/crypto: Fix RBP usage in sha256-avx2-asm.S > > x86/crypto: Fix RBP usage in sha256-ssse3-asm.S > > x86/crypto: Fix RBP usage in sha512-avx2-asm.S > > x86/crypto: Fix RBP usage in twofish-avx-x86_64-asm_64.S > > > > Thanks for fixing these! I don't have time to review these in detail, but I ran > the crypto self-tests on the affected algorithms, and they all pass. I also > benchmarked them before and after; the only noticable performance difference was > that sha256-avx2 and sha512-avx2 became a few percent slower. I don't suppose > there is a way around that? Otherwise it's probably not a big deal. Thanks for testing. I might have a way to make sha256-avx2 faster, but not sha512-avx2. I'll let you know when I have a patch. -- Josh