On Thu, May 07, 2020 at 10:47:08PM -0700, Kees Cook wrote: > On Fri, May 08, 2020 at 02:14:38AM +0000, Luis Chamberlain wrote: > > Device driver firmware can crash, and sometimes, this can leave your > > system in a state which makes the device or subsystem completely > > useless. Detecting this by inspecting /proc/sys/kernel/tainted instead > > of scraping some magical words from the kernel log, which is driver > > specific, is much easier. So instead provide a helper which lets drivers > > annotate this. > > > > Once this happens, scrapers can easily scrape modules taint flags. > > This will taint both the kernel and respective calling module. > > > > The new helper module_firmware_crashed() uses LOCKDEP_STILL_OK as > > this fact should in no way shape or form affect lockdep. This taint > > is device driver specific. > > > > Signed-off-by: Luis Chamberlain <mcg...@kernel.org> > > --- > > > > Below is the full diff stat of manual inspection throughout the kernel > > when this happens. My methodology is to just scrape for "crash" and > > then study the driver a bit to see if indeed it seems like that the > > firmware crashes there. In *many* cases there is even infrastructure > > for this, so this is sometimes clearly obvious. Some other times it > > required a bit of deciphering. > > > > The diff stat below is what I have so far, however the patch below > > only includes the drivers that start with Q, as they were a source of > > inspiration for this, and to make this RFC easier to read. > > > > If this seems sensible, I can follow up with the kernel helper first, > > and then tackle each subsystem independently. > > > > I purposely skipped review of remoteproc and virtualization. That should > > require its own separate careful review and considerations. > > This all seems reasonable to me. You might need to break these up into > per-maintainer patches to get appropriate review. Perhaps land the > infrastructure and some initial patches via netdev and in the next > release send patches for DRM, media, etc?
Works for me. I'll give it a few more days for review on the RFC before I shoot out a series for netdev. Luis