exynos-linux-stable/drivers/misc/sgi-gru
Gustavo A. R. Silva 7810fe9f23 drivers/misc/sgi-gru: fix Spectre v1 vulnerability
commit fee05f455ceb5c670cbe48e2f9454ebc4a388554 upstream.

req.gid can be indirectly 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:

vers/misc/sgi-gru/grukdump.c:200 gru_dump_chiplet_request() warn:
potential spectre issue 'gru_base' [w]

Fix this by sanitizing req.gid before calling macro GID_TO_GRU, which
uses it to index gru_base.

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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-11-27 16:09:41 +01:00
..
gru.h
gru_instructions.h
grufault.c mm: replace get_user_pages() write/force parameters with gup_flags 2016-10-19 08:11:43 -07:00
grufile.c x86/UV: Fix conditional in gru_exit() 2014-04-01 12:10:45 +02:00
gruhandles.c misc: sgi-gru: gruhandles.c: Remove unused function 2015-10-04 12:55:59 +01:00
gruhandles.h misc: sgi-gru: gruhandles.c: Remove unused function 2015-10-04 12:55:59 +01:00
grukdump.c drivers/misc/sgi-gru: fix Spectre v1 vulnerability 2018-11-27 16:09:41 +01:00
grukservices.c x86/platform/UV: Remove Obsolete GRU MMR address translation 2016-05-04 08:48:51 +02:00
grukservices.h
grulib.h
grumain.c drivers/misc/sgi-gru/grumain.c: remove bogus 0x prefix from printk 2016-10-27 18:43:43 -07:00
gruprocfs.c misc: replace strict_strtoul() with kstrtoul() 2013-06-06 12:54:08 -07:00
grutables.h
grutlbpurge.c misc: sgi-gru: fix return of error 2015-10-04 12:55:59 +01:00
Makefile