mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-03 12:16:39 +07:00
608308682a
get_system_type() is not thread-safe on OCTEON. It uses static data, also more dangerous issue is that it's calling cvmx_fuse_read_byte() every time without any synchronization. Currently it's possible to get processes stuck looping forever in kernel simply by launching multiple readers of /proc/cpuinfo: (while true; do cat /proc/cpuinfo > /dev/null; done) & (while true; do cat /proc/cpuinfo > /dev/null; done) & ... Fix by initializing the system type string only once during the early boot. Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com> Cc: stable@vger.kernel.org Reviewed-by: Markos Chandras <markos.chandras@imgtec.com> Patchwork: http://patchwork.linux-mips.org/patch/7437/ Signed-off-by: James Hogan <james.hogan@imgtec.com> |
||
---|---|---|
.. | ||
executive | ||
.gitignore | ||
cpu.c | ||
csrc-octeon.c | ||
dma-octeon.c | ||
flash_setup.c | ||
Kconfig | ||
Makefile | ||
oct_ilm.c | ||
octeon_3xxx.dts | ||
octeon_68xx.dts | ||
octeon_boot.h | ||
octeon-irq.c | ||
octeon-memcpy.S | ||
octeon-platform.c | ||
Platform | ||
setup.c | ||
smp.c |