Thread (28 messages) 28 messages, 5 authors, 2024-08-09

Re: [PATCH v4 0/7] mm/mprotect: Fix dax puds

From: Peter Xu <peterx@redhat.com>
Date: 2024-08-07 21:47:25
Also in: lkml

On Wed, Aug 07, 2024 at 02:23:16PM -0700, Andrew Morton wrote:
On Wed,  7 Aug 2024 15:48:04 -0400 Peter Xu [off-list ref] wrote:
quoted
Tests
=====

What I did test:

- cross-build tests that I normally cover [1]

- smoke tested on x86_64 the simplest program [2] on dev_dax 1G PUD
  mprotect() using QEMU's nvdimm emulations [3] and ndctl to create
  namespaces with proper alignments, which used to throw "bad pud" but now
  it'll run through all fine.  I checked sigbus happens if with illegal
  access on protected puds.

- vmtests.

What I didn't test:

- fsdax: I wanted to also give it a shot, but only until then I noticed it
  doesn't seem to be supported (according to dax_iomap_fault(), which will
  always fallback on PUD_ORDER).  I did remember it was supported before, I
  could miss something important there.. please shoot if so.
OK.  Who are you addressing this question to?
Anyone who is familiar with fsdax + 1g.  Maybe Matthew would be the most
suitable, but I didn't track further on fsdax.
quoted
- userfault wp-async: I also wanted to test userfault-wp async be able to
  split huge puds (here it's simply a clear_pud.. though), but it won't
  work for devdax anyway due to not allowed to do smaller than 1G faults in
  this case. So skip too.
Sounds OK.  So that's an additional project if anyone cares enough?
Right.
quoted
- Power, as no hardware on hand.
Hopefully the powerpc people can help with that.  What tests do you ask
that they run?
The test program [2] in cover letter should work as a very basic test; one
needs to setup the dax device to use 1g mapping first, though:

[2] https://github.com/xzpeter/clibs/blob/master/misc/dax.c

At least per my experience not much fancy things we can do there, e.g., I
think at least dev_dax has a limitation on vma split that it must be 1g
aligned when use 1g mappings, so even split can't happen (as iirc I used to
try some random mprotect on smaller ranges)..

Thanks,

-- 
Peter Xu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help