[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160628075546.GA15690@gondor.apana.org.au>
Date: Tue, 28 Jun 2016 15:55:46 +0800
From: Herbert Xu <herbert@...dor.apana.org.au>
To: David Howells <dhowells@...hat.com>
Cc: Andy Lutomirski <luto@...nel.org>, x86@...nel.org,
linux-kernel@...r.kernel.org, linux-arch@...r.kernel.org,
Borislav Petkov <bp@...en8.de>,
Nadav Amit <nadav.amit@...il.com>,
Kees Cook <keescook@...omium.org>,
Brian Gerst <brgerst@...il.com>,
"kernel-hardening@...ts.openwall.com"
<kernel-hardening@...ts.openwall.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Jann Horn <jann@...jh.net>,
Heiko Carstens <heiko.carstens@...ibm.com>
Subject: Re: [PATCH v4 02/29] rxrpc: Avoid using stack memory in SG lists in
rxkad
On Tue, Jun 28, 2016 at 08:52:20AM +0100, David Howells wrote:
> Andy Lutomirski <luto@...nel.org> wrote:
>
> > - skcipher_request_set_crypt(req, &sg[1], &sg[0], sizeof(tmpbuf), iv.x);
> > + skcipher_request_set_crypt(req, &sg, &sg, sizeof(tmpbuf), iv.x);
>
> Don't the sg's have to be different? Aren't they both altered by the process
> of reading/writing from them?
No they don't have to be different.
> > struct rxrpc_skb_priv *sp;
> > ...
> > + swap(tmpbuf.xl, *(__be64 *)sp);
> > +
> > + sg_init_one(&sg, sp, sizeof(tmpbuf));
>
> ???? I assume you're assuming that the rxrpc_skb_priv struct contents can
> arbitrarily replaced temporarily...
Of course you can, it's per-skb state.
> And using an XCHG-equivalent instruction? This won't work on a 32-bit arch
> (apart from one that sports CMPXCHG8 or similar).
No this is not using an atomic xchg, whatever gave you that idea?
--
Email: Herbert Xu <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Powered by blists - more mailing lists