On Fri, Oct 26, 2018 at 08:42:12PM +0100, Kees Cook wrote: > On Fri, Oct 26, 2018 at 7:22 PM, Joel Fernandes <j...@joelfernandes.org> > wrote: > > On Fri, Oct 26, 2018 at 07:16:28PM +0100, Kees Cook wrote: > >> On Fri, Oct 26, 2018 at 7:00 PM, Joel Fernandes (Google) > >> <j...@joelfernandes.org> wrote: > >> > This reverts commit 25b63da64708212985c06c7f8b089d356efdd9cf. > >> > > >> > Due to the commit which is being reverted here, it is not possible to > >> > know if pstore's messages were from a previous boot, or from very old > >> > boots. This creates an awkard situation where its unclear if crash or > >> > other logs are from the previous boot or from very old boots. Also > >> > typically we dump the pstore buffers after one reboot and are interested > >> > in only the previous boot's crash so let us reset the buffer after we > >> > save them. > >> > > >> > Lastly, if we don't zap them, then I think it is possible that part of > >> > the buffer will be from this boot and the other parts will be from > >> > previous boots. So this revert fixes all of this by calling > >> > persistent_ram_zap always. > >> > >> I like the other patches (comments coming), but not this one: it's > >> very intentional to keep all crashes around until they're explicitly > >> unlinked from the pstore filesystem from userspace. Especially true > >> for catching chains of kernel crashes, or a failed log collection, > >> etc. Surviving multiple reboots is the expected behavior on Chrome OS > >> too. > > > > Oh, ok. Hence the RFC tag ;-) We can drop this one then. I forgot that > > unlinking was another way to clear the logs. > > In another thread I discovered that the "single prz" ones actually > _are_ zapped at boot. I didn't realize, but it explains why pmsg would > vanish on me sometimes. ;) I always thought I was just doing something > wrong with it. (And I wonder if it's actually a bug that pmsg is > zapped -- console doesn't matter: it's overwritten every boot by > design.)
Oh yeah they are. So seems like some are zapped on boot and some aren't then. Hmm, I would think it makes sense not to boot-zap dmesg ever, since that's crash logs someone may want to see after many reboots. But console and pmsg should be since those just "what happened on the last boot". I guess it should be made clear in some structure or something which types are zapped on boot, and which ones aren't. That'll make it clear when adding a new type about that behavior, instead of relying on the assumption that single prz are zapped and multiple ones aren't. Like for ftrace, since the per-cpu configuration was added, it will now be zapped on boot if it is using a per-cpu configuration and not zapped on boot if it isn't right? That would seem a bit inconsistent. thanks! -Joel