[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NULL scheduler DoS


  • To: "julien@xxxxxxx" <julien@xxxxxxx>, "ahmeddan@xxxxxxxxxxxx" <ahmeddan@xxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Dario Faggioli <dfaggioli@xxxxxxxx>
  • Date: Wed, 11 Aug 2021 10:09:25 +0000
  • Accept-language: en-US
  • 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-SenderADCheck; bh=huxai53Bc2Yv6lid00KRVR3RcUa5n3pg3mqGq6v7ZI4=; b=gtY3VyJVlIdIw4w8tDlt7oBoXmctryE+gGoOeogzSUkb86jJna7SlaCDfawn9qVINYF9a+ZmW8LjyTphZoitpVR+eutEEt3hvS3rG/r0ge4KIJO+z5aZKX/Quv78c5NkROtHPYWzdA9Cp883gqeqOHU+szwVECCqQzCd0pWI/53GrvpDULCDuN/F4u7FkK6FyqwZ67R5dp4ymPI6KztLJ9yEjnRDkm3x064AemnpKFGmS/bSjmYv4nRFkvgEDwkb9lOrR9d/qcVLug5k1y+Hj6+K9DSAr1MS+mm4hIz0GumUq7cCjGfvc9maYM4DUstn0C66/9qaDZbL4OdhceXCvA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=maQ2sASEBtIwQinfaMm9YBZBJeIlZtVwqfpeMzlmKB0z4HsPShGHv/tGcYTkdUlVOEDeiX46DJdJ/fNZ93vzEBcXnlPKqyojK7VTMYZKc0mrgitZqAIZSY+71xyMyJx42fV371C0MOnucleXciaLI7xIjVnusJqvjKO8FQ8HVjeLuRAESw27Lc+7SyhJSt3PrbXZoNyrwZo7jjIie0jYqryolcQdXOuXad5xfrWTnwwf+KC0h8ELtq9N1nepuoPE8Dyzg7CpjGyCEDxhGho57Bv4F9FTA+NKlVz2fFRDsTFESQ86nzEvEEAA4CcNvRMp5TLf3GslT/gER10J+F/Duw==
  • Authentication-results: xen.org; dkim=none (message not signed) header.d=none;xen.org; dmarc=none action=none header.from=suse.com;
  • Cc: "sstabellini@xxxxxxxxxx" <sstabellini@xxxxxxxxxx>, "mpohlack@xxxxxxxxx" <mpohlack@xxxxxxxxx>, "jgrall@xxxxxxxxxxxx" <jgrall@xxxxxxxxxxxx>, "doebel@xxxxxxxxx" <doebel@xxxxxxxxx>
  • Delivery-date: Wed, 11 Aug 2021 10:09:33 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHXjTpOV/XWdF2YLUCIZdYgL03Tzatrb1sAgAAzUoCAAnTJAA==
  • Thread-topic: NULL scheduler DoS

On Mon, 2021-08-09 at 21:38 +0100, Julien Grall wrote:
> On 09/08/2021 18:35, Julien Grall wrote:
> > 
> > This implies that a pCPU may temporarily be assigned to two vCPUs
> > and we 
> > expect to be fixed up afterwards. However, a domain may be
> > destroyed 
> > before this is happening.
> > 
> > So it looks like that unit_deassign() is not able to cope with this
> > case. From a brief look, I think we may want to check if the pCPU
> > is in 
> > the wait list. If it is, then we should bail out.
> 
> Actually, I was wrong. It looks like null_unit_remove() is already 
> checking this condition. Also, the vCPU should be offline (and the
> unit 
> as well) because they haven't come online yet:
> 
That's what is currently puzzling me.

I mean, the crash happens in unit_deassign(), called by
null_unit_remove(), called by sched_destroy_vcpu().

And I agree that the unit should be offline, but null_unit_remove()
calls unit_deassign() only if the unit *is* online, so... What's going
on? :-/

Regards
-- 
Dario Faggioli, Ph.D
http://about.me/dario.faggioli
Virtualization Software Engineer
SUSE Labs, SUSE https://www.suse.com/
-------------------------------------------------------------------
<<This happens because _I_ choose it to happen!>> (Raistlin Majere)

Attachment: signature.asc
Description: This is a digitally signed message part


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.