linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dongli Zhang <dongli.zhang@oracle.com>
To: Joe Jin <joe.jin@oracle.com>
Cc: Christoph Helwig <hch@lst.de>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	konrad@kernel.org, John Sobecki <john.sobecki@oracle.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] xen-swiotlb: exchange memory with Xen only when pages are contiguous
Date: Fri, 26 Oct 2018 16:54:28 +0800	[thread overview]
Message-ID: <10301c25-5bbf-51b6-6cb2-77e30bcd9a99@oracle.com> (raw)
In-Reply-To: <20181026074802.GA4768@lst.de>

Hi Joe,

On 10/26/2018 03:48 PM, Christoph Helwig wrote:
> On Thu, Oct 25, 2018 at 11:56:02AM -0700, Joe Jin wrote:
>> I just discussed this patch with Boris in private, his opinions(Boris,
>> please correct me if any misunderstood) are:
>>
>> 1. With/without the check, both are incorrect, he thought we need to
>>    prevented unalloc'd free at here. 
>> 2. On freeing, if upper layer already checked the memory was DMA-able,
>>    the checking at here does not make sense, we can remove all checks.
>> 3. xen_create_contiguous_region() and xen_destroy_contiguous_region()
>>    to come in pairs.
>>
>> For #1 and #3, I think we need something associate it, like a list, on
>> allocating, add addr to it, on freeing, check if in the list.

If dom0 (or any domain) is happy, although it could try to exchange all its
continuous dma pages back to xen hypervisor. From the perspective of each
domain, they always would like to keep as much continuous dma page as possible.

I am thinking something different. If there is malicious domU keep exchanging
memory and allocating continuous pages from xen hypervisor, will the
continuously dma pages be used up (sort of DoS attack)?

I am not sure if there is anything in xen hypervisor to prevent such behavior?

Dongli Zhang

> 
> Is there any way to figure out based on an address if the exchange
> operation happened?
> 
>> For #2, I'm was not found anywhere validated the address on 
>> dma_free_coherent() callpath, not just xen-swiotlb.
> 
> At least for simple direct mappings there is no easy way to verify that
> without keeping a list, and for some of the ops that do vmap like
> operations we have basic santiy checks, but nothing that really catches
> a wrong free.
> 

  reply	other threads:[~2018-10-26  8:54 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-24  3:09 [PATCH] xen-swiotlb: exchange memory with Xen only when pages are contiguous Joe Jin
2018-10-24 13:02 ` Konrad Rzeszutek Wilk
2018-10-24 13:57   ` Boris Ostrovsky
2018-10-24 14:43     ` Joe Jin
2018-10-25 11:45       ` Boris Ostrovsky
2018-10-25 14:23         ` Joe Jin
2018-10-25 16:10           ` Boris Ostrovsky
2018-10-25 16:28             ` Joe Jin
2018-10-25 18:56               ` Joe Jin
2018-10-26  7:48                 ` Christoph Helwig
2018-10-26  8:54                   ` Dongli Zhang [this message]
2018-10-26 14:48                     ` Joe Jin
2018-10-26 14:40                   ` Joe Jin
2018-10-30  2:51                 ` Joe Jin
     [not found]                   ` <57e5593233c64dc0a36c7d4c750a1ed4@AMSPEX02CL03.citrite.net>
2018-10-30 14:12                     ` [Xen-devel] " Joe Jin
     [not found]                       ` <097f1f6f16f7415aa3a52a7c4f5e52dc@AMSPEX02CL03.citrite.net>
2018-10-30 14:48                         ` Joe Jin
2018-10-24 16:05   ` Joe Jin

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=10301c25-5bbf-51b6-6cb2-77e30bcd9a99@oracle.com \
    --to=dongli.zhang@oracle.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=hch@lst.de \
    --cc=joe.jin@oracle.com \
    --cc=john.sobecki@oracle.com \
    --cc=konrad.wilk@oracle.com \
    --cc=konrad@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).