CVE-2026-93261: locking/lockdep: Fix NULL pointer dereference in __lock_set_class()

Published Sep 24, 2026
·
Updated

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

locking/lockdep: Fix NULL pointer dereference in locksetclass()

registerlockclass() can return NULL when the lock class pool is exhausted, graphlock() fails, or key validation fails. However, locksetclass() uses the return value directly in pointer arithmetic without a NULL check:

class = registerlockclass(lock, subclass, 0); hlock->classidx = class - lockclasses;

If class is NULL, this computes a wild offset that corrupts hlock->classidx. The subsequent reacquireheldlocks() call will invoke hlockclass() with this corrupted index, leading to a NULL or out-of-bounds pointer dereference.

Add the missing NULL check, consistent with how lockacquire() already handles this case at the same call site.

Affected Software

1 affected component
Linux Linux kernel

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Compensating control

    Add a NULL check for the return value of register_lock_class() in __lock_set_class() before using class in pointer arithmetic; handle the NULL case consistently with __lock_acquire() to prevent a corrupted hlock->class_idx and subsequent NULL or out-of-bounds dereference.

Event History

Sep 24, 2026
CVE Published
via MITRE·03:51 PM
Data Sourced
via MITRE·03:51 PM
Description
Data Sourced
via NVD·04:17 PM
Description

Frequently Asked Questions

1

Under what conditions can this issue be triggered?

The affected path is reached when register_lock_class() returns NULL. The described reasons are exhaustion of the lock class pool, failure of graph_lock(), or key validation failure.

2

What is the likely impact when the failure occurs?

The NULL return is used in pointer arithmetic to calculate hlock->class_idx, producing a corrupted index. A later reacquire_held_locks() operation can dereference a NULL or out-of-bounds lock-class pointer.

3

How can teams determine whether their kernel includes the fix?

Review the kernel source or applied stable patches for a NULL check after register_lock_class() in __lock_set_class(), before hlock->class_idx is assigned. The listed kernel stable references identify patches containing the resolution.

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