On Tue, Jun 11, 2019 at 05:21:39PM +1000, Benjamin Herrenschmidt wrote: > So looking again ... all the registration/removal of edac devices seem > to already be protected by mutexes, so that's not a problem. > > Tell me more about what specific races you think we might have here, > I'm not sure I follow... Well, as I said "it might work or it might set your cat on fire." For example, one of the error logging paths is edac_mc_handle_error() and that thing mostly operates using the *mci pointer which should be ok but then it calls the "trace_mc_event" tracepoint and I'd suppose that tracepoints can do lockless but I'm not sure. So what needs to happen is for paths which weren't called by multiple EDAC agents in parallel but need to get called in parallel now due to ARM drivers wanting to do that, to get audited that they're safe. Situation is easy if you have one platform driver where you can synchronize things in the driver but since you guys need to do separate drivers for whatever reason, then that would need to be done prior. Makes more sense? -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.