summaryrefslogtreecommitdiffstats
path: root/net/batman-adv/send.c
diff options
context:
space:
mode:
authorSven Eckelmann <sven@narfation.org>2018-08-31 16:56:29 +0200
committerSimon Wunderlich <sw@simonwunderlich.de>2018-09-06 13:54:48 +0200
commita25bab9d723a08bd0bdafb1529faf9094c690b70 (patch)
tree284b63130f2d9a96cf1cc82d2f7a809805a7afbf /net/batman-adv/send.c
parentb9fd14c20871e6189f635e49b32d7789e430b3c8 (diff)
downloadlinux-stable-a25bab9d723a08bd0bdafb1529faf9094c690b70.tar.gz
linux-stable-a25bab9d723a08bd0bdafb1529faf9094c690b70.tar.bz2
linux-stable-a25bab9d723a08bd0bdafb1529faf9094c690b70.zip
batman-adv: Fix segfault when writing to sysfs elp_interval
The per hardif sysfs file "batman_adv/elp_interval" is using the generic functions to store/show uint values. The helper __batadv_store_uint_attr requires the softif net_device as parameter to print the resulting change as info text when the users writes to this file. It uses the helper function batadv_info to add it at the same time to the kernel ring buffer and to the batman-adv debug log (when CONFIG_BATMAN_ADV_DEBUG is enabled). The function batadv_info requires as first parameter the batman-adv softif net_device. This parameter is then used to find the private buffer which contains the debug log for this batman-adv interface. But batadv_store_throughput_override used as first argument the slave net_device. This slave device doesn't have the batadv_priv private data which is access by batadv_info. Writing to this file with CONFIG_BATMAN_ADV_DEBUG enabled can either lead to a segfault or to memory corruption. Fixes: 0744ff8fa8fa ("batman-adv: Add hard_iface specific sysfs wrapper macros for UINT") Signed-off-by: Sven Eckelmann <sven@narfation.org> Acked-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Diffstat (limited to 'net/batman-adv/send.c')
0 files changed, 0 insertions, 0 deletions