CVE-2026-90116: ALSA: mtpav: shut down output timer before card teardown

Published Sep 17, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

ALSA: mtpav: shut down output timer before card teardown

sndmtpavoutputtimer() rearms chip->timer while holding chip->spinlock and accesses the card-private mtpav state.

sndmtpavfree() currently takes the same lock and calls timerdelete() when the timer is active. This only removes a pending timer; it does not wait for a callback that is already running and does not prevent the callback from rearming the timer.

A callback running on another CPU can therefore continue after sndmtpavfree() releases the lock and access the card-private state while the card is being torn down. It can also rearm the timer after timerdelete() has returned.

Call timershutdownsync() without holding chip->spinlock. This waits for any running callback to finish and prevents further rearming before the card-private mtpav state is released.

Affected Software

1 affected component
Linux Linux kernel

Event History

Sep 17, 2026
CVE Published
via MITRE·04:06 PM
Data Sourced
via MITRE·04:06 PM
Description

Frequently Asked Questions

1

Can removing a pending timer alone prevent this race?

No. timer_delete() does not wait for an already running callback, and it does not stop that callback from rearming the timer after timer_delete() returns.

2

When can use-after-free access occur?

It can occur when the output timer callback is running on another CPU while the card-private mtpav state is being torn down. The callback may continue after the free path releases the spinlock and access the released state.

3

What synchronization is required during teardown?

The timer must be shut down with timer_shutdown_sync() without holding chip->spinlock. This waits for any active callback to complete and prevents further timer rearming before the card-private state is released.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203