diff options
| author | Muchun Song <songmuchun@bytedance.com> | 2025-10-28 17:04:08 +0800 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2025-10-31 22:30:05 +0100 |
| commit | 9ea2b810d51ae662cc5b5578f9395cb620a34a26 (patch) | |
| tree | 20f5697e83d7b0281c5b65745169305a84e9e72c /scripts/lib/abi/helpers.py | |
| parent | 68c4c159a0db4409a5d6b5f4703d71b89a96f06a (diff) | |
genirq/proc: Fix race in show_irq_affinity()
Reading /proc/irq/N/smp_affinity* races with irq_set_affinity() and
irq_move_masked_irq(), leading to old or torn output for users.
After a user writes a new CPU mask to /proc/irq/N/affinity*, the syscall
returns success, yet a subsequent read of the same file immediately returns
a value different from what was just written.
That's due to a race between show_irq_affinity() and irq_move_masked_irq()
which lets the read observe a transient, inconsistent affinity mask.
Cure it by guarding the read with irq_desc::lock.
[ tglx: Massaged change log ]
Signed-off-by: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://patch.msgid.link/20251028090408.76331-1-songmuchun@bytedance.com
Diffstat (limited to 'scripts/lib/abi/helpers.py')
0 files changed, 0 insertions, 0 deletions
