All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Jan Beulich" <JBeulich@suse.com>
To: George Dunlap <george.dunlap@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	KonradWilk <konrad.wilk@oracle.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Tim Deegan <tim@xen.org>, Ian Jackson <ian.jackson@citrix.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 16/16] SUPPORT.md: Add limits RFC
Date: Thu, 23 Nov 2017 03:33:39 -0700	[thread overview]
Message-ID: <5A16B213020000780019146D@prv-mh.provo.novell.com> (raw)
In-Reply-To: <074f2017-3a43-f995-8591-8dd0751dbb73@citrix.com>

>>> On 22.11.17 at 19:01, <george.dunlap@citrix.com> wrote:

> 
>> On Nov 21, 2017, at 9:26 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>
>>>>> On 13.11.17 at 16:41, <george.dunlap@citrix.com> wrote:
>>> +### Virtual CPUs
>>> +
>>> +    Limit, x86 PV: 8192
>>> +    Limit-security, x86 PV: 32
>>> +    Limit, x86 HVM: 128
>>> +    Limit-security, x86 HVM: 32
>>
>> Personally I consider the "Limit-security" numbers too low here, but
>> I have no proof that higher numbers will work _in all cases_.
> 
> You don’t have to have conclusive proof that the numbers work in all
> cases; we only need to have reasonable evidence that higher numbers are
> generally reliable.  To use US legal terminology, it’s “preponderance of
> evidence” (usually used in civil trials) rather than “beyond a
> reasonable doubt” (used in criminal trials).
> 
> In this case, there are credible claims that using more vcpus opens
> users up to a host DoS, and no evidence (or arguments) to the contrary.
>  I think it would be irresponsible, under those circumstances, to tell
> people that they should provide more vcpus to untrusted guests.
> 
> It wouldn’t be too hard to gather further evidence.  If someone
> competent spent a few days trying to crash a larger guest and failed,
> then that would be reason to think that perhaps larger numbers were safe.
> 
>>
>>> +### Virtual RAM
>>> +
>>> +    Limit-security, x86 PV: 2047GiB
>>
>> I think this needs splitting for 64- and 32-bit (the latter can go up
>> to 168Gb only on hosts with no memory past the 168Gb boundary,
>> and up to 128Gb only on larger ones, without this being a processor
>> architecture limitation).
> 
> OK.  Below is an updated section.  It might be good to specify how large
> is "larger".

Well, simply anything with memory extending beyond the 168Gb
boundary, i.e. ...

> ---
> ### Virtual RAM
> 
>     Limit-security, x86 PV 64-bit: 2047GiB
>     Limit-security, x86 PV 32-bit: 168GiB (see below)
>     Limit-security, x86 HVM: 1.5TiB
>     Limit, ARM32: 16GiB
>     Limit, ARM64: 1TiB
> 
> Note that there are no theoretical limits to 64-bit PV or HVM guest sizes
> other than those determined by the processor architecture.
> 
> All 32-bit PV guest memory must be under 168GiB;
> this means the total memory for all 32-bit PV guests cannot exced 168GiB.
> On larger hosts, this limit is 128GiB.

... "On hosts with memory extending beyond 168GiB, this limit is
128GiB."

>>> +### Event Channel FIFO ABI
>>> +
>>> +    Limit: 131072
>>
>> Are we certain this is a security supportable limit? There is at least
>> one loop (in get_free_port()) which can potentially have this number
>> of iterations.
> 
> I have no idea.  Do you have another limit you’d like to propose instead?

Since I can't prove the given limit might be a problem, it's also
hard to suggest an alternative. Probably the limit is fine as is,
despite the number looking pretty big: In x86 PV page table
handling we're fine processing a single L2 in one go, which
involves twice as many iterations (otoh I'm struggling to find a
call tree where {alloc,free}_l2_table() would actually be called
with "preemptible" set to false).

> Also, I realized that I somehow failed to send out the 17th patch (!),
> which primarily had XXX entries for qemu-upstream/qemu-traditional, and
> host serial console support.
> 
> Shall I try to make a list of supported serial cards from
> /build/hg/xen.git/xen/drivers/char/Kconfig?

Hmm, interesting question. For the moment I'm having a hard time
seeing how someone using an arbitrary serial card, problems with
it could be caused by guest behavior. Other functionality problems
(read: bugs or missing code for unknown cards/quirks) aren't
security support relevant afaict.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

  reply	other threads:[~2017-11-23 10:33 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-13 15:41 [PATCH 01/16] Introduce skeleton SUPPORT.md George Dunlap
2017-11-13 15:41 ` [PATCH 02/16] SUPPORT.md: Add core functionality George Dunlap
2017-11-21  8:03   ` Jan Beulich
2017-11-21 10:36     ` George Dunlap
2017-11-21 11:34       ` Jan Beulich
2017-11-13 15:41 ` [PATCH 03/16] SUPPORT.md: Add some x86 features George Dunlap
2017-11-21  8:09   ` Jan Beulich
2017-11-21 10:42     ` George Dunlap
2017-11-21 11:35       ` Jan Beulich
2017-11-21 12:24         ` George Dunlap
2017-11-21 13:00           ` Jan Beulich
2017-11-21 12:32         ` Ian Jackson
2017-11-13 15:41 ` [PATCH 04/16] SUPPORT.md: Add core ARM features George Dunlap
2017-11-21  8:11   ` Jan Beulich
2017-11-21 10:45     ` George Dunlap
2017-11-21 10:59       ` Julien Grall
2017-11-21 11:37       ` Jan Beulich
2017-11-21 12:39         ` George Dunlap
2017-11-21 13:01           ` Jan Beulich
2017-11-13 15:41 ` [PATCH 05/16] SUPPORT.md: Toolstack core George Dunlap
2017-11-13 15:41 ` [PATCH 06/16] SUPPORT.md: Add scalability features George Dunlap
2017-11-16 15:19   ` Julien Grall
2017-11-16 15:30     ` George Dunlap
2017-11-21 16:43     ` George Dunlap
2017-11-21 17:31       ` Julien Grall
2017-11-21 17:51         ` George Dunlap
2017-11-21  8:16   ` Jan Beulich
2017-11-13 15:41 ` [PATCH 07/16] SUPPORT.md: Add virtual devices common to ARM and x86 George Dunlap
2017-11-21  8:29   ` Jan Beulich
2017-11-21  9:19     ` Paul Durrant
2017-11-21 10:56     ` George Dunlap
2017-11-21 11:41       ` Jan Beulich
2017-11-21 17:20         ` George Dunlap
2017-11-22 11:05           ` Jan Beulich
2017-11-22 16:16             ` George Dunlap
2017-11-21 17:35     ` George Dunlap
2017-11-22 11:07       ` Jan Beulich
2017-11-13 15:41 ` [PATCH 08/16] SUPPORT.md: Add x86-specific virtual hardware George Dunlap
2017-11-21  8:39   ` Jan Beulich
2017-11-21 18:02     ` George Dunlap
2017-11-22 11:11       ` Jan Beulich
2017-11-22 11:21         ` George Dunlap
2017-11-22 11:45         ` George Dunlap
2017-11-22 16:30         ` George Dunlap
2017-11-13 15:41 ` [PATCH 09/16] SUPPORT.md: Add ARM-specific " George Dunlap
2017-11-16 15:41   ` Julien Grall
2017-11-22 16:32     ` George Dunlap
2017-11-16 15:41   ` Julien Grall
2017-11-13 15:41 ` [PATCH 10/16] SUPPORT.md: Add Debugging, analysis, crash post-portem George Dunlap
2017-11-21  8:48   ` Jan Beulich
2017-11-21 18:19     ` George Dunlap
2017-11-21 19:05       ` Ian Jackson
2017-11-21 19:21         ` Andrew Cooper
2017-11-22 10:51           ` George Dunlap
2017-11-22 11:15       ` Jan Beulich
2017-11-22 17:06         ` George Dunlap
2017-11-13 15:41 ` [PATCH 11/16] SUPPORT.md: Add 'easy' HA / FT features George Dunlap
2017-11-21  8:49   ` Jan Beulich
2017-11-13 15:41 ` [PATCH 12/16] SUPPORT.md: Add Security-releated features George Dunlap
2017-11-16 16:23   ` Konrad Rzeszutek Wilk
2017-11-21  8:52   ` Jan Beulich
2017-11-22 17:13     ` George Dunlap
2017-11-23 10:13       ` Jan Beulich
2017-11-13 15:41 ` [PATCH 13/16] SUPPORT.md: Add secondary memory management features George Dunlap
2017-11-21  8:54   ` Jan Beulich
2017-11-21 19:55   ` Andrew Cooper
2017-11-22 17:15     ` George Dunlap
2017-11-23 10:35       ` Jan Beulich
2017-11-23 10:42         ` Olaf Hering
2017-11-23 11:55           ` Olaf Hering
2017-11-23 12:00             ` George Dunlap
2017-11-23 12:17               ` Andrew Cooper
2017-11-23 12:45                 ` Olaf Hering
2017-11-23 12:58                   ` Andrew Cooper
2017-11-23 17:58                     ` George Dunlap
2017-11-13 15:41 ` [PATCH 14/16] SUPPORT.md: Add statement on PCI passthrough George Dunlap
2017-11-14 13:25   ` Marek Marczykowski-Górecki
2017-11-22 17:18     ` George Dunlap
2017-11-16 15:43   ` Julien Grall
2017-11-22 18:58     ` George Dunlap
2017-11-22 19:05       ` Rich Persaud
2017-11-21  8:59   ` Jan Beulich
2017-11-22 17:20     ` George Dunlap
2017-11-13 15:41 ` [PATCH 15/16] SUPPORT.md: Add statement on migration RFC George Dunlap
2017-11-13 15:41 ` [PATCH 16/16] SUPPORT.md: Add limits RFC George Dunlap
2017-11-21  9:26   ` Jan Beulich
2017-11-22 18:01     ` George Dunlap
2017-11-23 10:33       ` Jan Beulich [this message]
2017-11-13 15:43 ` [PATCH 01/16] Introduce skeleton SUPPORT.md George Dunlap
2017-11-20 17:01 ` Jan Beulich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5A16B213020000780019146D@prv-mh.provo.novell.com \
    --to=jbeulich@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=george.dunlap@citrix.com \
    --cc=ian.jackson@citrix.com \
    --cc=konrad.wilk@oracle.com \
    --cc=sstabellini@kernel.org \
    --cc=tim@xen.org \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.