[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] x86/mm: replace bogus assertion in paging_log_dirty_op()
- To: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
- From: Jan Beulich <jbeulich@xxxxxxxx>
- Date: Thu, 27 Apr 2023 14:29:06 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com; dkim=pass header.d=suse.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bJ3ZejmMgiNwVsLvBG8URgcin/AR9FTILHMG5MwlCUc=; b=TGjQ+ZpuvAu0CSnQeIL64l08sfSpWONkJEYxVJy5wzqZHVzsU9LY4LKem8kN1ZtOR1KgRBrmhNPunpzTvhho/C0c6xfybQ4Zxv0igcyKmgE9szXRLxKA30Uquno1dzOFB/IF2RKdPxzS2aisCXXGJMOggwgcEgVErLhPn2bViWI4xrq0J3IHc7V+IjyxM3TG6H38/Wwrkqq1pvxS2+9q8BZ4b9qiJyBOuI/Fe2FbqZCvoWTx7R7NnD4aY5MiGVD47J6mefVS2Wvg3aKry2o6rp53ix9/3P9xUefj1sJo3/FQ6ykGF6h/7x2mkJ2c0M8d/mezbtJwLInoE9gPo2iueQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fC2N7b0tQXNUZuDQa9pJJ54MD+zQz1lcVlX8BWi23z0wZAzTexJnWmjVy1KwiJYxOdvh7hybsf3U7LSz0iqMNwRSO3N/ENAe9+oh+0bweL4WoEHury6WjWCsCgG7OJlpyxJjL7Sjg7Z2dc6SC5MwMFTN1oiOdWeOsnZD7iA9uxiSbd0XWzuCOXugxOP/NZHvz1nR8jPeQFjjaXF68MXBWgLUios2Br1uyrTCjL57RxR2sphoUEt4a2EhanO+GI1lko256XaHLB74y3K+1wc6sot5oi2anGCLI5wGoDAIPh8S1jlgcy47YI5/Ir1NXvzUr0vhgsUnYPqMu5aN0b+vwA==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>
- Delivery-date: Thu, 27 Apr 2023 12:29:22 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
While I was the one to introduce it, I don't think it is correct: A
bogus continuation call issued by a tool stack domain may find another
continuation in progress. IOW we've been asserting caller controlled
state (which is reachable only via a domctl), and the early (lock-less)
check in paging_domctl() helps in a limited way only.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -431,8 +431,8 @@ static int paging_log_dirty_op(struct do
d->arch.paging.preempt.op != sc->op )
{
paging_unlock(d);
- ASSERT(!resuming);
- domain_unpause(d);
+ if ( !resuming )
+ domain_unpause(d);
return -EBUSY;
}
|