aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2015-03-11 22:46:59 +0100
committerBen Hutchings <ben@decadent.org.uk>2015-05-09 23:16:38 +0100
commit3fe2d645fe4ea7ff6cba9020685e46c1a1dff9c0 (patch)
treece161cfacaabd6c84e65c57ccdd8af691dac5348 /README
parent2d6dfb109bfbf3abd5f762173b1d73fd321dbe37 (diff)
downloadkernel_samsung_smdk4412-3fe2d645fe4ea7ff6cba9020685e46c1a1dff9c0.zip
kernel_samsung_smdk4412-3fe2d645fe4ea7ff6cba9020685e46c1a1dff9c0.tar.gz
kernel_samsung_smdk4412-3fe2d645fe4ea7ff6cba9020685e46c1a1dff9c0.tar.bz2
rds: avoid potential stack overflow
[ Upstream commit f862e07cf95d5b62a5fc5e981dd7d0dbaf33a501 ] 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@arndb.de> Acked-by: Sowmini Varadhan <sowmini.varadhan@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions