[PATCH v2] rds: avoid potential stack overflow
David Miller
davem at davemloft.net
Wed Mar 11 21:28:18 PDT 2015
From: Arnd Bergmann <arnd at arndb.de>
Date: Wed, 11 Mar 2015 22:46:59 +0100
> The rds_iw_update_cm_id function stores a large 'struct rds_sock' object
> on the stack in order to pass a pair of addresses. This happens to just
> fit withint the 1024 byte stack size warning limit on x86, but just
> exceed that limit on ARM, which gives us this warning:
>
> net/rds/iw_rdma.c:200:1: warning: the frame size of 1056 bytes is larger than 1024 bytes [-Wframe-larger-than=]
>
> As the use of this large variable is basically bogus, we can rearrange
> the code to not do that. Instead of passing an rds socket into
> rds_iw_get_device, we now just pass the two addresses that we have
> available in rds_iw_update_cm_id, and we change rds_iw_get_mr accordingly,
> to create two address structures on the stack there.
>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> ---
> v2: fix incorrect commit message
Applied, thanks Arnd.
More information about the linux-arm-kernel
mailing list