[PATCH v2] keys: big_key: Remove the redundant quota reservation
sashiko-bot at kernel.org
sashiko-bot at kernel.org
Sat Oct 17 15:28:10 UTC 2026
> A big_key is charged a fixed 16 bytes of key quota, regardless of its
> payload size. big_key_update() nevertheless reserves the new raw payload
> length before destroying the old payload, and generic_key_instantiate()
> then reserves the fixed quota length.
>
> For an update shorter than 16 bytes, the first reservation temporarily
> returns quota. Another key operation by the same user can consume that
> quota before generic_key_instantiate() reserves it again. If the second
> reservation fails, the key remains positive after its old payload has been
> destroyed. Reading a buffer-backed key or revoking a shmem-backed key then
> dereferences a NULL payload pointer.
>
> On a KASAN build, reading a buffer-backed key reports:
>
> BUG: KASAN: null-ptr-deref in big_key_read+0x110/0x310
> [ ... ]
>
> Fixes: b6f61c314649 ("keys: Implement update for the big_key type")
> Cc: stable at vger.kernel.org
> Assisted-by: LLM
> Signed-off-by: Daehyeon Ko <4ncienth at gmail.com>
Sashiko has reviewed this patch and found no issues.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261017152123.1200429-1-4ncienth@gmail.com?part=1
More information about the Linux-security-module-archive
mailing list