-
Paul Mackerras authored
This patch is from Jake Moilanen <moilanen@austin.ibm.com>. There appears to be a hole that if we get an log_error() call, that we could zero out our error log count in nvram. When rtasd() starts up, it turns on the logging via 'no_more_logging = 0'. If we get a log_error() call after that is set but before nvram_read_error_log has actually read nvram to set error_log_cnt, the log_error() call will write back to nvram a uninitialized error_log_cnt value, and wipe out our sequence number. To close the hole, simply move the 'no_more_logging = 0' till after nvram sets error_log_cnt but before pSeries_log_error is called. I also changed the 'no_more_logging' variable to be 'no_logging' since it's not only used when we stop logging now. I also removed the "volatile" part of no_more_logging, since it's unneeded. Signed-off-by: Jake Moilanen <moilanen@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
38e8a56e