diff options
| author | Ingo Molnar <mingo@kernel.org> | 2026-09-14 10:00:37 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2026-09-14 10:00:38 +0200 |
| commit | d5732681c56376dd8efaa5d7ee5fd241b26a8066 (patch) | |
| tree | 8ec9fded25c327a0ab0f41cc22b29ec2bc36929f /kernel | |
| parent | 419c042c451d64beb565bd5c940faf5dc73a8034 (diff) | |
| parent | a0e1fdb96578ea562a03c487f70673d228824d0a (diff) | |
| download | linux-next-d5732681c56376dd8efaa5d7ee5fd241b26a8066.tar.gz linux-next-d5732681c56376dd8efaa5d7ee5fd241b26a8066.zip | |
Merge branch into tip/master: 'irq/core'
# New commits in irq/core:
a0e1fdb96578 ("softirq: Remove redundant h->action from preempt_count mismatch error")
94235414a056 ("genirq: Discard cpumask of irqaffinity= boot parameter if parsing fails")
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/irq/irqdesc.c | 10 | ||||
| -rw-r--r-- | kernel/softirq.c | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c index 3a818f07a101..7cbcc3fb9e6d 100644 --- a/kernel/irq/irqdesc.c +++ b/kernel/irq/irqdesc.c @@ -28,7 +28,15 @@ static struct lock_class_key irq_desc_lock_class; static int __init irq_affinity_setup(char *str) { alloc_bootmem_cpumask_var(&irq_default_affinity); - cpulist_parse(str, irq_default_affinity); + if (cpulist_parse(str, irq_default_affinity) < 0) { + /* + * Clear the mask so that init_irq_default_affinity() + * defaults it later. + */ + cpumask_clear(irq_default_affinity); + pr_warn("irqaffinity: incorrect CPU range, using default\n"); + return 1; + } /* * Set at least the boot cpu. We don't want to end up with * bugreports caused by random commandline masks diff --git a/kernel/softirq.c b/kernel/softirq.c index 5d02c36c40e3..c3729c5b284b 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -645,8 +645,8 @@ restart: h->action(); trace_softirq_exit(vec_nr); if (unlikely(prev_count != preempt_count())) { - pr_err("huh, entered softirq %u %s %p with preempt_count %08x, exited with %08x?\n", - vec_nr, softirq_to_name[vec_nr], h->action, + pr_err("huh, entered softirq %u %s with preempt_count %08x, exited with %08x?\n", + vec_nr, softirq_to_name[vec_nr], prev_count, preempt_count()); preempt_count_set(prev_count); } |
