Merge tag 'printk-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk
Pull printk updates from Petr Mladek: - Allow state reset of printk_once() calls. - Prevent crashes when dereferencing invalid pointers in vsprintf(). Only the first byte is checked for simplicity. - Make vsprintf warnings consistent and inlined. - Treewide conversion of obsolete %pf, %pF to %ps, %pF printf modifiers. - Some clean up of vsprintf and test_printf code. * tag 'printk-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/pmladek/printk: lib/vsprintf: Make function pointer_string static vsprintf: Limit the length of inlined error messages vsprintf: Avoid confusion between invalid address and value vsprintf: Prevent crash when dereferencing invalid pointers vsprintf: Consolidate handling of unknown pointer specifiers vsprintf: Factor out %pO handler as kobject_string() vsprintf: Factor out %pV handler as va_format() vsprintf: Factor out %p[iI] handler as ip_addr_string() vsprintf: Do not check address of well-known strings vsprintf: Consistent %pK handling for kptr_restrict == 0 vsprintf: Shuffle restricted_pointer() printk: Tie printk_once / printk_deferred_once into .data.once for reset treewide: Switch printk users from %pf and %pF to %ps and %pS, respectively lib/test_printf: Switch to bitmap_zalloc()
This commit is contained in:
@@ -152,7 +152,7 @@ static int irq_debug_show(struct seq_file *m, void *p)
|
||||
|
||||
raw_spin_lock_irq(&desc->lock);
|
||||
data = irq_desc_get_irq_data(desc);
|
||||
seq_printf(m, "handler: %pf\n", desc->handle_irq);
|
||||
seq_printf(m, "handler: %ps\n", desc->handle_irq);
|
||||
seq_printf(m, "device: %s\n", desc->dev_name);
|
||||
seq_printf(m, "status: 0x%08x\n", desc->status_use_accessors);
|
||||
irq_debug_show_bits(m, 0, desc->status_use_accessors, irqdesc_states,
|
||||
|
@@ -149,7 +149,7 @@ irqreturn_t __handle_irq_event_percpu(struct irq_desc *desc, unsigned int *flags
|
||||
res = action->handler(irq, action->dev_id);
|
||||
trace_irq_handler_exit(irq, action, res);
|
||||
|
||||
if (WARN_ONCE(!irqs_disabled(),"irq %u handler %pF enabled interrupts\n",
|
||||
if (WARN_ONCE(!irqs_disabled(),"irq %u handler %pS enabled interrupts\n",
|
||||
irq, action->handler))
|
||||
local_irq_disable();
|
||||
|
||||
|
@@ -781,7 +781,7 @@ int __irq_set_trigger(struct irq_desc *desc, unsigned long flags)
|
||||
ret = 0;
|
||||
break;
|
||||
default:
|
||||
pr_err("Setting trigger mode %lu for irq %u failed (%pF)\n",
|
||||
pr_err("Setting trigger mode %lu for irq %u failed (%pS)\n",
|
||||
flags, irq_desc_get_irq(desc), chip->irq_set_type);
|
||||
}
|
||||
if (unmask)
|
||||
|
@@ -212,9 +212,9 @@ static void __report_bad_irq(struct irq_desc *desc, irqreturn_t action_ret)
|
||||
*/
|
||||
raw_spin_lock_irqsave(&desc->lock, flags);
|
||||
for_each_action_of_desc(desc, action) {
|
||||
printk(KERN_ERR "[<%p>] %pf", action->handler, action->handler);
|
||||
printk(KERN_ERR "[<%p>] %ps", action->handler, action->handler);
|
||||
if (action->thread_fn)
|
||||
printk(KERN_CONT " threaded [<%p>] %pf",
|
||||
printk(KERN_CONT " threaded [<%p>] %ps",
|
||||
action->thread_fn, action->thread_fn);
|
||||
printk(KERN_CONT "\n");
|
||||
}
|
||||
|
Reference in New Issue
Block a user