diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2024-04-01 10:08:18 +0200 |
---|---|---|
committer | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2024-04-01 10:08:18 +0200 |
commit | b82779648dfd3814df4e381f086326ec70fd791f (patch) | |
tree | 59868a9860d907e232275d7a5a667e91213e6aa9 /kernel/irq/manage.c | |
parent | fe19aab844ad76a4e001082f633b1ac34f2a943d (diff) | |
parent | 39cd87c4eb2b893354f3b850f916353f2658ae6f (diff) |
Merge tag 'v6.9-rc2' into media_stage
Linux 6.9-rc2
This is needed to pull in commit 11763a8598f88 ("fs/9p: fix uaf in
in v9fs_stat2inode_dotl"), which fixes the broken virtme. With this
fix the media regression tests can be run again without crashing.
Diffstat (limited to 'kernel/irq/manage.c')
-rw-r--r-- | kernel/irq/manage.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index ad3eaf2ab959..bf9ae8a8686f 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -1643,8 +1643,13 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) } if (!((old->flags & new->flags) & IRQF_SHARED) || - (oldtype != (new->flags & IRQF_TRIGGER_MASK)) || - ((old->flags ^ new->flags) & IRQF_ONESHOT)) + (oldtype != (new->flags & IRQF_TRIGGER_MASK))) + goto mismatch; + + if ((old->flags & IRQF_ONESHOT) && + (new->flags & IRQF_COND_ONESHOT)) + new->flags |= IRQF_ONESHOT; + else if ((old->flags ^ new->flags) & IRQF_ONESHOT) goto mismatch; /* All handlers must agree on per-cpuness */ |