Messages in this thread | | | Date | Fri, 23 Feb 2018 11:42:39 +0100 | From | Borislav Petkov <> | Subject | Re: [PATCH] x86: mce: fix kernel panic when check_interval is changed |
| |
On Fri, Feb 23, 2018 at 07:13:50PM +0900, Seunghun Han wrote: > I am Seunghun Han and a senior security researcher at National Security > Research Institute of South Korea. > > I found a critical security issue which can make kernel panic in userspace. > After analyzing the issue carefully, I found that MCE driver in the kernel > has a problem which can be occurred in SMP environment. > > The check_interval file in > /sys/devices/system/machinecheck/machinecheck<cpu number> directory is a > global timer value for MCE polling. If it is changed by one CPU, MCE driver > in kernel calls mce_restart() function and broadcasts the event to other
Right, so I'm thinking that doing that per-CPU configuration doesn't make a whole lot of sense. It is not something that needs to happen very often and it is done globally anyway.
So what we should do here, IMO, is make mce_restart() grab a mutex and thus serialize all those sysfs writes. It will naturally also slow down any hammering from userspace which we should not allow anyway.
Tony, what do you think?
-- Regards/Gruss, Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
| |