[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20190730.103245.831770564486791326.davem@davemloft.net>
Date: Tue, 30 Jul 2019 10:32:45 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: dhowells@...hat.com
Cc: netdev@...r.kernel.org, linux-afs@...ts.infradead.org,
linux-kernel@...r.kernel.org, clang-built-linux@...glegroups.com,
arnd@...db.de, keescook@...omium.org
Subject: Re: [PATCH net-next] rxrpc: Fix -Wframe-larger-than= warnings from
on-stack crypto
From: David Howells <dhowells@...hat.com>
Date: Tue, 30 Jul 2019 15:56:57 +0100
> rxkad sometimes triggers a warning about oversized stack frames when
> building with clang for a 32-bit architecture:
>
> net/rxrpc/rxkad.c:243:12: error: stack frame size of 1088 bytes in function 'rxkad_secure_packet' [-Werror,-Wframe-larger-than=]
> net/rxrpc/rxkad.c:501:12: error: stack frame size of 1088 bytes in function 'rxkad_verify_packet' [-Werror,-Wframe-larger-than=]
>
> The problem is the combination of SYNC_SKCIPHER_REQUEST_ON_STACK() in
> rxkad_verify_packet()/rxkad_secure_packet() with the relatively large
> scatterlist in rxkad_verify_packet_1()/rxkad_secure_packet_encrypt().
>
> The warning does not show up when using gcc, which does not inline the
> functions as aggressively, but the problem is still the same.
>
> Allocate the cipher buffers from the slab instead, caching the allocated
> packet crypto request memory used for DATA packet crypto in the rxrpc_call
> struct.
>
> Fixes: 17926a79320a ("[AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both")
> Reported-by: Arnd Bergmann <arnd@...db.de>
> Signed-off-by: David Howells <dhowells@...hat.com>
> Acked-by: Arnd Bergmann <arnd@...db.de>
> cc: Herbert Xu <herbert@...dor.apana.org.au>
Applied.
Powered by blists - more mailing lists