]> git.baikalelectronics.ru Git - kernel.git/commit
xen/grant-table: add gnttab_try_end_foreign_access()
authorJuergen Gross <jgross@suse.com>
Mon, 7 Mar 2022 08:48:54 +0000 (09:48 +0100)
committerJuergen Gross <jgross@suse.com>
Mon, 7 Mar 2022 08:48:54 +0000 (09:48 +0100)
commit44d06a843764cf6a12ffd7385fffdb5490047b73
treea97c4aa5eeb6b768a127579eac498e7bbfc7001b
parent3117672682cf0ffac91367489871165b0e6e73ac
xen/grant-table: add gnttab_try_end_foreign_access()

Add a new grant table function gnttab_try_end_foreign_access(), which
will remove and free a grant if it is not in use.

Its main use case is to either free a grant if it is no longer in use,
or to take some other action if it is still in use. This other action
can be an error exit, or (e.g. in the case of blkfront persistent grant
feature) some special handling.

This is CVE-2022-23036, CVE-2022-23038 / part of XSA-396.

Reported-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
V2:
- new patch
V4:
- add comments to header (Jan Beulich)
drivers/xen/grant-table.c
include/xen/grant_table.h