summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJuergen Gross <jgross@suse.com>2020-07-01 14:16:37 +0200
committerBoris Ostrovsky <boris.ostrovsky@oracle.com>2020-07-02 16:19:34 -0500
commit3848e4e0a32afb96dc3b84e1358c3b9d103c6a2c (patch)
tree5f8d8c2b11ea908ddaee5045be1705c2ae9f3523 /arch
parentcaef73cf207074a62701c95c317a97b2f8c1e04e (diff)
downloadlinux-3848e4e0a32afb96dc3b84e1358c3b9d103c6a2c.tar.bz2
xen/xenbus: avoid large structs and arrays on the stack
xenbus_map_ring_valloc() and its sub-functions are putting quite large structs and arrays on the stack. This is problematic at runtime, but might also result in build failures (e.g. with clang due to the option -Werror,-Wframe-larger-than=... used). Fix that by moving most of the data from the stack into a dynamically allocated struct. Performance is no issue here, as xenbus_map_ring_valloc() is used only when adding a new PV device to a backend driver. While at it move some duplicated code from pv/hvm specific mapping functions to the single caller. Reported-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com> Link: https://lore.kernel.org/r/20200701121638.19840-2-jgross@suse.com Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions