Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757010AbcLPADY (ORCPT ); Thu, 15 Dec 2016 19:03:24 -0500 Received: from out3-smtp.messagingengine.com ([66.111.4.27]:55845 "EHLO out3-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756780AbcLPADV (ORCPT ); Thu, 15 Dec 2016 19:03:21 -0500 X-ME-Sender: X-Sasl-enc: 3Awa1Zat15cDwiuEfQb9QGTku5InP8uySx8hLfNWxGLU 1481846596 Subject: Re: [PATCH v2 1/4] siphash: add cryptographically secure hashtable function To: "Jason A. Donenfeld" References: Cc: David Laight , Netdev , "kernel-hardening@lists.openwall.com" , Jean-Philippe Aumasson , LKML , Linux Crypto Mailing List , "Daniel J . Bernstein" , Linus Torvalds , Eric Biggers From: Hannes Frederic Sowa Message-ID: <0397a465-62f9-c956-82e2-a874fd56ffe8@stressinduktion.org> Date: Fri, 16 Dec 2016 01:03:12 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1263 Lines: 32 On 16.12.2016 00:43, Jason A. Donenfeld wrote: > Hi Hannes, > > Good news. > > On Thu, Dec 15, 2016 at 10:45 PM, Hannes Frederic Sowa > wrote: >>> How's that sound? >> >> I am still very much concerned about the API. > > Thanks for pushing me and putting up with my daftness... the constant > folding works absolutely perfectly. I've run several tests. When gcc > knows that a struct is aligned (say, via __aligned(8)), then it erases > the branch and makes a direct jump to the aligned code. When it's > uncertain, it evaluates at runtime. So, now there is a single > siphash() function that chooses the best one automatically. Behind the > scene there's siphash_aligned and siphash_unaligned, but nobody needs > to call these directly. (Should I rename these to have a double > underscore prefix?) On platforms that have > CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS, of course all of this > disappears and everything goes directly to the aligned version. > > So, I think this assuages your concerns entirely. A single API entry > point that does the right thing. > > Whew! Good thinking, and thanks again for the suggestion. Awesome, thanks for trying this out. This basically resolves my concern API-wise so far. Hannes out. ;)