android_kernel_oneplus_msm8998/net/atm
Gustavo A. R. Silva 0df23e9b9b net: atm: Fix potential Spectre v1
commit acf784bd0ce257fe43da7ca266f7a10b837479d2 upstream.

ioc_data.dev_num can be controlled by user-space, hence leading to
a potential exploitation of the Spectre variant 1 vulnerability.

This issue was detected with the help of Smatch:
net/atm/lec.c:702 lec_vcc_attach() warn: potential spectre issue
'dev_lec'

Fix this by sanitizing ioc_data.dev_num before using it to index
dev_lec. Also, notice that there is another instance in which array
dev_lec is being indexed using ioc_data.dev_num at line 705:
lec_vcc_added(netdev_priv(dev_lec[ioc_data.dev_num]),

Notice that given that speculation windows are large, the policy is
to kill the speculation on the first load and not worry if it can be
completed with a dependent load/store [1].

[1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2

Cc: stable@vger.kernel.org
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-16 10:06:51 +02:00
..
addr.c
addr.h
atm_misc.c atm: eliminate atm_guess_pdu2truesize() 2011-11-26 16:40:30 -05:00
atm_sysfs.c atm: use scnprintf() instead of sprintf() 2012-12-17 20:50:51 -08:00
br2684.c br2684: Remove unnecessary formatting macros b1 and bs 2015-07-31 15:25:52 -07:00
clip.c atm: deal with setting entry before mkip was called 2015-09-17 22:13:32 -07:00
common.c net: Pass kern from net_proto_family.create to sk_alloc 2015-05-11 10:50:17 -04:00
common.h net: Pass kern from net_proto_family.create to sk_alloc 2015-05-11 10:50:17 -04:00
ioctl.c net: Convert net_ratelimit uses to net_<level>_ratelimited 2012-05-15 13:45:03 -04:00
Kconfig
lec.c net: atm: Fix potential Spectre v1 2018-05-16 10:06:51 +02:00
lec.h net: add ETH_P_802_3_MIN 2013-03-28 01:20:42 -04:00
lec_arpc.h
Makefile
mpc.c net: Pass a "more" indication down into netdev_start_xmit() code paths. 2014-09-01 17:39:55 -07:00
mpc.h
mpoa_caches.c
mpoa_caches.h
mpoa_proc.c treewide: Fix typo in printk messages 2015-03-06 23:04:40 +01:00
pppoatm.c arch: Mass conversion of smp_mb__*() 2014-04-18 14:20:48 +02:00
proc.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
protocols.h
pvc.c net: Pass kern from net_proto_family.create to sk_alloc 2015-05-11 10:50:17 -04:00
raw.c net: Fix use after free by removing length arg from sk_data_ready callbacks. 2014-04-11 16:15:36 -04:00
resources.c net🏧fix up ENOIOCTLCMD error handling 2012-08-31 16:14:33 -04:00
resources.h
signaling.c net/atm/signaling.c: remove WAIT_FOR_DEMON code 2015-03-03 14:22:11 -05:00
signaling.h
svc.c net: Pass kern from net_proto_family.create to sk_alloc 2015-05-11 10:50:17 -04:00