On Wed, Aug 7, 2024 at 11:03 AM Jeff Xu <jeffxu@xxxxxxxxxx> wrote: > > On Wed, Aug 7, 2024 at 9:38 AM Pedro Falcato <pedro.falcato@xxxxxxxxx> wrote: > > > > On Wed, Aug 7, 2024 at 4:35 PM <jeffxu@xxxxxxxxxxxx> wrote: > > <snip> > > > /* shrink from 4 pages to 2 pages. */ > > > - ret2 = mremap(ptr, size, 2 * page_size, 0, 0); > > > + ret2 = sys_mremap(ptr, size, 2 * page_size, 0, 0); > > > if (seal) { > > > - FAIL_TEST_IF_FALSE(ret2 == MAP_FAILED); > > > + FAIL_TEST_IF_FALSE(ret2 == (void *) MAP_FAILED); > > > > MAP_FAILED is already void * > > > > <snip> > > > @@ -1449,18 +1457,16 @@ static void test_seal_mremap_move_dontunmap_anyaddr(bool seal) > > > } > > > > > > /* > > > - * The 0xdeaddead should not have effect on dest addr > > > + * The 0xdead0000 should not have effect on dest addr > > > * when MREMAP_DONTUNMAP is set. > > > */ > > > - ret2 = mremap(ptr, size, size, MREMAP_MAYMOVE | MREMAP_DONTUNMAP, > > > - 0xdeaddead); > > > + ret2 = sys_mremap(ptr, size, size, MREMAP_MAYMOVE | MREMAP_DONTUNMAP, > > > + (void *) 0xdead0000); > > > > You still didn't explain why this test is actually needed. Why are you > > testing MREMAP_DONTUNMAP's hint system? > > I responded in my previous email. The test is to make sure when > sealing is applied, the call fails with correct error code. I will > update the comment in v2 to clarify that. > > > This has nothing to do with mseal, you already test the > > MREMAP_DONTUNMAP and MREMAP_FIXED paths in other tests. > The remap code path is quite tricky, with many flags directing the call flow. > The difference might not be that obvious: > > test_seal_mremap_move_dontunmap use 0 as new_addr, 0 indicates > allocating a new memory. > test_seal_mremap_move_dontunmap_anyaddr uses any arbitrary address as > a new address. > > > You also don't know if 0xdead0000 is a valid page (hexagon for > > instance seems to support 256KiB and 1MiB pages, so does ppc32, and > > this is not something that should be hardcoded). > > > usually hardcode value is not good practice, but the point of this > test is to show > mremap can really relocate the mapping to an arbitrary address. > > Do you have any suggestions here ? I can think of two options to choose from: > > 1> use 0xd0000000 > 2> allocate a memory then free it, reuse the ptr. > I will send out V2 that addresses those comments above. Thanks