All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Liu <wei.liu2@citrix.com>
To: Julien Grall <julien.grall@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wei.liu2@citrix.com>,
	George Dunlap <George.Dunlap@eu.citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xen.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v4 08/16] xen/mm: Drop the parameter mfn from populate_pt_range
Date: Thu, 22 Feb 2018 16:51:24 +0000	[thread overview]
Message-ID: <20180222165124.zaufci7dew2dp23n@citrix.com> (raw)
In-Reply-To: <445bc932-044d-eacf-a487-0410e8fdb22d@arm.com>

On Thu, Feb 22, 2018 at 04:40:04PM +0000, Julien Grall wrote:
> Hi Wei,
> 
> On 22/02/18 16:35, Wei Liu wrote:
> > On Wed, Feb 21, 2018 at 02:02:51PM +0000, Julien Grall wrote:
> > > The function populate_pt_range is used to populate in advance the
> > > page-table but it will not do the actual mapping. So passing the MFN in
> > > parameter is pointless. Note that the only caller pass 0...
> > > 
> > > At the same time replace 0 by INVALID_MFN to make clear the MFN is
> > > invalid.
> > > 
> > 
> > The mfn parameter is the first mfn of a consecutive nr MFNs passed to
> > map_pages_to_xen. Putting INVALID_MFN isn't helping -- the value written
> > to page table(s) will wrap around to 0.
> > 
> > And I think starting from 0 to avoid overflow is probably a better
> > behaviour. If you really want to make sure all entries are filled with
> > INVALID_MFN you should call map_pages_to_xen for nr times with each
> > page.
> 
> I am not sure to understand this. From its name, populate_pt_range should
> only create the intermediate tables. The leaf entry will stay invalid. So
> how the value of mfn matters? Is it because the code is written in a such
> way that passing INVALID_MFN will result to undefined behavior?

Right, that's what I meant. It doesn't matter whether you use 0 or
INVALID_MFN.

Unsigned integer overflow is not UB in C, so passing INVALID_MFN is
safe.

But your intention seemed to be filling all entries with INVALID_MFN to
aid debugging, so the function doesn't do what I think you wanted it to
do. It could be I misunderstood your intention.

Wei.

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

  reply	other threads:[~2018-02-22 16:51 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-21 14:02 [PATCH v4 00/16] xen: Convert page_to_mfn and mfn_to_page to use typesafe MFN Julien Grall
2018-02-21 14:02 ` [PATCH v4 01/16] xen/tmem: Convert the file common/tmem_xen.c " Julien Grall
2018-02-21 14:02 ` [PATCH v4 02/16] xen/arm: setup: use maddr_to_mfn rather than _mfn(paddr_to_pfn(...)) Julien Grall
2018-02-21 14:02 ` [PATCH v4 03/16] xen/arm: mm: Use gaddr_to_gfn rather than _gfn(paddr_to_pfn(...)) Julien Grall
2018-02-21 14:02 ` [PATCH v4 04/16] xen/arm: mm: Remove unused M2P code Julien Grall
2018-02-21 14:02 ` [PATCH v4 05/16] xen/arm: mm: Remove unused relinquish_shared_pages Julien Grall
2018-02-21 14:02 ` [PATCH v4 06/16] xen/x86: Remove unused override of page_to_mfn/mfn_to_page Julien Grall
2018-03-01 11:20   ` George Dunlap
2018-03-02 14:42   ` Jan Beulich
2018-03-02 14:44     ` Julien Grall
2018-03-02 15:11       ` Jan Beulich
2018-03-05 13:29         ` Julien Grall
2018-02-21 14:02 ` [PATCH v4 07/16] xen/x86: mm: Switch x86/mm.c to use typesafe for virt_to_mfn Julien Grall
2018-03-02 14:45   ` Jan Beulich
2018-03-02 14:46     ` Julien Grall
2018-02-21 14:02 ` [PATCH v4 08/16] xen/mm: Drop the parameter mfn from populate_pt_range Julien Grall
2018-02-22 16:35   ` Wei Liu
2018-02-22 16:40     ` Julien Grall
2018-02-22 16:51       ` Wei Liu [this message]
2018-02-22 16:55         ` Julien Grall
2018-02-22 17:10           ` Wei Liu
2018-03-02 14:55           ` Jan Beulich
2018-03-05 13:43             ` Julien Grall
2018-03-05 14:00               ` Jan Beulich
2018-03-05 14:11                 ` Julien Grall
2018-03-05 14:38                   ` Jan Beulich
2018-03-09 17:29                     ` Wei Liu
2018-03-11 19:30                       ` Julien Grall
2018-03-12  6:36                       ` Jan Beulich
2018-03-14 15:22                         ` Julien Grall
2018-02-21 14:02 ` [PATCH v4 09/16] xen/pdx: Introduce helper to convert MFN <-> PDX Julien Grall
2018-02-22 16:39   ` Wei Liu
2018-02-21 14:02 ` [PATCH v4 10/16] xen/mm: Switch map_pages_to_xen to use MFN typesafe Julien Grall
2018-02-23  4:59   ` Tian, Kevin
2018-02-23 17:21   ` Wei Liu
2018-03-02 15:06   ` Jan Beulich
2018-03-02 15:08     ` Jan Beulich
2018-03-05 14:07     ` Julien Grall
2018-03-05 14:39       ` Jan Beulich
2018-03-05 14:44         ` Julien Grall
2018-02-21 14:02 ` [PATCH v4 11/16] xen/mm: Switch page_alloc.c to typesafe MFN Julien Grall
2018-02-23 17:21   ` Wei Liu
2018-03-02 15:18   ` Jan Beulich
2018-03-02 15:57     ` Julien Grall
2018-02-21 14:02 ` [PATCH v4 12/16] xen/mm: Switch common/memory.c to use " Julien Grall
2018-02-23 17:26   ` Wei Liu
2018-02-23 17:46     ` Julien Grall
2018-02-23 18:05       ` Wei Liu
2018-02-23 18:06         ` Julien Grall
2018-02-23 18:10           ` Wei Liu
2018-03-02 15:34   ` Jan Beulich
2018-03-05 14:18     ` Julien Grall
2018-03-05 14:41       ` Jan Beulich
2018-03-09 17:33         ` Wei Liu
2018-03-11 19:44           ` Julien Grall
2018-03-12  6:39             ` Jan Beulich
2018-03-14 16:08               ` Julien Grall
2018-02-21 14:02 ` [PATCH v4 13/16] xen/grant: Switch {create, replace}_grant_p2m_mapping to " Julien Grall
2018-02-23 17:29   ` Wei Liu
2018-03-02 15:38   ` Jan Beulich
2018-02-21 14:02 ` [PATCH v4 14/16] xen/grant: Switch common/grant_table.c to use " Julien Grall
2018-02-23 17:30   ` Wei Liu
2018-03-02 15:54   ` Jan Beulich
2018-03-02 15:59     ` Julien Grall
2018-03-02 16:12       ` Jan Beulich
2018-02-21 14:02 ` [PATCH v4 15/16] xen/x86: Switch mfn_to_page in x86_64/mm.c " Julien Grall
2018-03-02 15:57   ` Jan Beulich
2018-02-21 14:02 ` [PATCH v4 16/16] xen: Convert page_to_mfn and mfn_to_page " Julien Grall
2018-02-21 14:25   ` Razvan Cojocaru
2018-02-21 14:59   ` Paul Durrant
2018-02-21 23:20   ` Boris Ostrovsky
2018-02-23  4:59   ` Tian, Kevin
2018-02-23 17:31   ` Wei Liu
2018-03-02 16:08   ` Jan Beulich
2018-03-14 17:02     ` Julien Grall
2018-03-15  7:07       ` 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=20180222165124.zaufci7dew2dp23n@citrix.com \
    --to=wei.liu2@citrix.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=sstabellini@kernel.org \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.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.