summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2026-09-14 10:00:37 +0200
committerIngo Molnar <mingo@kernel.org>2026-09-14 10:00:38 +0200
commitd5732681c56376dd8efaa5d7ee5fd241b26a8066 (patch)
tree8ec9fded25c327a0ab0f41cc22b29ec2bc36929f /kernel
parent419c042c451d64beb565bd5c940faf5dc73a8034 (diff)
parenta0e1fdb96578ea562a03c487f70673d228824d0a (diff)
downloadlinux-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.c10
-rw-r--r--kernel/softirq.c4
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);
}