CVE-2026-90151
Description
In the Linux kernel, the following vulnerability has been resolved: NFSv4: remove callback IDR entry on client allocation failure nfs4_alloc_client() allocates an NFSv4.0 callback identifier before it finishes setting up the client. If any later initialization step fails, the error path frees the nfs_client directly with nfs_free_client(). That bypasses nfs_put_client(), which is where the callback IDR entry is removed during normal teardown. A failed allocation can therefore leave cb_ident_idr pointing at a freed nfs_client. A later NFSv4.0 callback lookup by cb_ident would find the stale pointer and take a reference to it. Make the callback IDR removal helper callable by the allocation failure path, and remove the callback identifier before freeing the client. This was found by a local static-analysis checker for publish-before-free lifetime bugs and confirmed by manual inspection.
References
- https://git.kernel.org/stable/c/3f2387e8bfbc4efda5d77c3a11a028d0a119c48f
- https://git.kernel.org/stable/c/5891c03e150920618db0e9c4ea2d772abacdcfd1
- https://git.kernel.org/stable/c/68c721391b761dbe38d5b0094d2bb6e8489ad92b
- https://git.kernel.org/stable/c/7c4812eb96bdcafb31a65b12f2aa96659429d1d4
- https://git.kernel.org/stable/c/80b1c3d5a881f7d9081aa9f46da9742878a0f893