Warn when attempting to log in a signal unsafe manner from signal context
Also, print out the offending message format. This will hopefully help developers track down unsafe logging. Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
512bec06be
commit
82d1c6b310
20
os/log.c
20
os/log.c
|
@ -463,6 +463,16 @@ LogVMessageVerb(MessageType type, int verb, const char *format, va_list args)
|
||||||
Bool newline;
|
Bool newline;
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
|
|
||||||
|
if (inSignalContext) {
|
||||||
|
BUG_WARN_MSG(inSignalContext,
|
||||||
|
"Warning: attempting to log data in a signal unsafe "
|
||||||
|
"manner while in signal context. Please update to check "
|
||||||
|
"inSignalContext and/or use LogMessageVerbSigSafe() or "
|
||||||
|
"ErrorFSigSafe(). The offending log format message is:\n"
|
||||||
|
"%s\n", format);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
type_str = LogMessageTypeVerbString(type, verb);
|
type_str = LogMessageTypeVerbString(type, verb);
|
||||||
if (!type_str)
|
if (!type_str)
|
||||||
return;
|
return;
|
||||||
|
@ -552,6 +562,16 @@ LogVHdrMessageVerb(MessageType type, int verb, const char *msg_format,
|
||||||
Bool newline;
|
Bool newline;
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
|
|
||||||
|
if (inSignalContext) {
|
||||||
|
BUG_WARN_MSG(inSignalContext,
|
||||||
|
"Warning: attempting to log data in a signal unsafe "
|
||||||
|
"manner while in signal context. Please update to check "
|
||||||
|
"inSignalContext and/or use LogMessageVerbSigSafe(). The "
|
||||||
|
"offending header and log message formats are:\n%s %s\n",
|
||||||
|
hdr_format, msg_format);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
type_str = LogMessageTypeVerbString(type, verb);
|
type_str = LogMessageTypeVerbString(type, verb);
|
||||||
if (!type_str)
|
if (!type_str)
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue