printk: Introduce kmsg_dump_reason_str()
The pstore subsystem already had a private version of this function. With the coming addition of the pstore/zone driver, this needs to be shared. As it really should live with printk, move it there instead. Link: https://lore.kernel.org/lkml/20200515184434.8470-4-keescook@chromium.org/ Acked-by: Petr Mladek <pmladek@suse.com> Acked-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Reviewed-by: Pavel Tatashin <pasha.tatashin@soleen.com> Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
Родитель
b1f6f161b2
Коммит
fb13cb8a04
|
@ -135,22 +135,6 @@ enum pstore_type_id pstore_name_to_type(const char *name)
|
|||
}
|
||||
EXPORT_SYMBOL_GPL(pstore_name_to_type);
|
||||
|
||||
static const char *get_reason_str(enum kmsg_dump_reason reason)
|
||||
{
|
||||
switch (reason) {
|
||||
case KMSG_DUMP_PANIC:
|
||||
return "Panic";
|
||||
case KMSG_DUMP_OOPS:
|
||||
return "Oops";
|
||||
case KMSG_DUMP_EMERG:
|
||||
return "Emergency";
|
||||
case KMSG_DUMP_SHUTDOWN:
|
||||
return "Shutdown";
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
static void pstore_timer_kick(void)
|
||||
{
|
||||
if (pstore_update_ms < 0)
|
||||
|
@ -403,7 +387,7 @@ static void pstore_dump(struct kmsg_dumper *dumper,
|
|||
unsigned int part = 1;
|
||||
int ret;
|
||||
|
||||
why = get_reason_str(reason);
|
||||
why = kmsg_dump_reason_str(reason);
|
||||
|
||||
if (down_trylock(&psinfo->buf_lock)) {
|
||||
/* Failed to acquire lock: give up if we cannot wait. */
|
||||
|
|
|
@ -70,6 +70,8 @@ void kmsg_dump_rewind(struct kmsg_dumper *dumper);
|
|||
int kmsg_dump_register(struct kmsg_dumper *dumper);
|
||||
|
||||
int kmsg_dump_unregister(struct kmsg_dumper *dumper);
|
||||
|
||||
const char *kmsg_dump_reason_str(enum kmsg_dump_reason reason);
|
||||
#else
|
||||
static inline void kmsg_dump(enum kmsg_dump_reason reason)
|
||||
{
|
||||
|
@ -111,6 +113,11 @@ static inline int kmsg_dump_unregister(struct kmsg_dumper *dumper)
|
|||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
static inline const char *kmsg_dump_reason_str(enum kmsg_dump_reason reason)
|
||||
{
|
||||
return "Disabled";
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _LINUX_KMSG_DUMP_H */
|
||||
|
|
|
@ -3144,6 +3144,23 @@ EXPORT_SYMBOL_GPL(kmsg_dump_unregister);
|
|||
static bool always_kmsg_dump;
|
||||
module_param_named(always_kmsg_dump, always_kmsg_dump, bool, S_IRUGO | S_IWUSR);
|
||||
|
||||
const char *kmsg_dump_reason_str(enum kmsg_dump_reason reason)
|
||||
{
|
||||
switch (reason) {
|
||||
case KMSG_DUMP_PANIC:
|
||||
return "Panic";
|
||||
case KMSG_DUMP_OOPS:
|
||||
return "Oops";
|
||||
case KMSG_DUMP_EMERG:
|
||||
return "Emergency";
|
||||
case KMSG_DUMP_SHUTDOWN:
|
||||
return "Shutdown";
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(kmsg_dump_reason_str);
|
||||
|
||||
/**
|
||||
* kmsg_dump - dump kernel log to kernel message dumpers.
|
||||
* @reason: the reason (oops, panic etc) for dumping
|
||||
|
|
Загрузка…
Ссылка в новой задаче