diff options
author | Jan Beulich <jbeulich@suse.com> | 2021-03-26 16:33:53 +0100 |
---|---|---|
committer | Juergen Gross <jgross@suse.com> | 2021-03-26 16:33:53 +0100 |
commit | a846738f8c3788d846ed1f587270d2f2e3d32432 (patch) | |
tree | d3804e301582c22883cab22c25164ccbd00ffc9a | |
parent | af44a387e743ab7aa39d3fb5e29c0a973cf91bdc (diff) |
xen-blkback: don't leak persistent grants from xen_blkbk_map()
The fix for XSA-365 zapped too many of the ->persistent_gnt[] entries.
Ones successfully obtained should not be overwritten, but instead left
for xen_blkbk_unmap_prepare() to pick up and put.
This is XSA-371.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: stable@vger.kernel.org
Reviewed-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Wei Liu <wl@xen.org>
Signed-off-by: Juergen Gross <jgross@suse.com>
-rw-r--r-- | drivers/block/xen-blkback/blkback.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c index da16121140ca..3874233f7194 100644 --- a/drivers/block/xen-blkback/blkback.c +++ b/drivers/block/xen-blkback/blkback.c @@ -891,7 +891,7 @@ next: out: for (i = last_map; i < num; i++) { /* Don't zap current batch's valid persistent grants. */ - if(i >= last_map + segs_to_map) + if(i >= map_until) pages[i]->persistent_gnt = NULL; pages[i]->handle = BLKBACK_INVALID_HANDLE; } |