From bdd868c82cefa4517c1b5a5ae96231c3de80c703 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 11 Sep 2012 14:18:08 +0200 Subject: [PATCH] tmem: properly drop lock on error path in do_tmem_get() Also remove a bogus assertion. Reported-by: Tim Deegan Signed-off-by: Jan Beulich Acked-by: Dan Magenheimer --- xen/common/tmem.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xen/common/tmem.c b/xen/common/tmem.c index b1d0017e47..6385cd1fcb 100644 --- a/xen/common/tmem.c +++ b/xen/common/tmem.c @@ -1790,7 +1790,6 @@ static NOINLINE int do_tmem_get(pool_t *pool, OID *oidp, uint32_t index, list_del(&pgp->us.client_eph_pages); list_add_tail(&pgp->us.client_eph_pages,&client->ephemeral_page_list); tmem_spin_unlock(&eph_lists_spinlock); - ASSERT(obj != NULL); obj->last_client = tmh_get_cli_id_from_current(); } } @@ -1807,6 +1806,8 @@ static NOINLINE int do_tmem_get(pool_t *pool, OID *oidp, uint32_t index, return 1; bad_copy: + obj->no_evict = 0; + tmem_spin_unlock(&obj->obj_spinlock); failed_copies++; return rc; } -- 2.30.2