Re: [PATCH] mm/secretmem: disable under HIGHMEM

From: Mike Rapoport

Date: Wed Jul 15 2026 - 11:42:42 EST


On Wed, Jul 15, 2026 at 03:49:39PM +0200, David Hildenbrand (Arm) wrote:
> On 7/15/26 15:44, Mike Rapoport wrote:
> > On Wed, Jul 15, 2026 at 02:31:08PM +0200, David Hildenbrand (Arm) wrote:
> >> On 7/15/26 13:33, Mike Rapoport wrote:
> >>>
> >>> Right :)
> >>> Supporting 32-bit without HIGHMEM is easy, so I don't think we should limit
> >>> it to 64BIT at this point.
> >>
> >> You mean
> >>
> >> diff --git a/mm/secretmem.c b/mm/secretmem.c
> >> index 4877c262cb1f6..d29865075b6ea 100644
> >> --- a/mm/secretmem.c
> >> +++ b/mm/secretmem.c
> >> @@ -202,7 +202,7 @@ static struct file *secretmem_file_create(unsigned long flags)
> >> if (IS_ERR(file))
> >> goto err_free_inode;
> >>
> >> - mapping_set_gfp_mask(inode->i_mapping, GFP_HIGHUSER);
> >> + mapping_set_gfp_mask(inode->i_mapping, GFP_USER);
> >> mapping_set_unevictable(inode->i_mapping);
> >>
> >> inode->i_op = &secretmem_iops;
> >>
> >>
> >> then?
> >
> > No, I mean what Brendan's patch did:
> >
> > config SECRETMEM
> > default y
> > bool "Enable memfd_secret() system call" if EXPERT
> > - depends on ARCH_HAS_SET_DIRECT_MAP
> > + depends on ARCH_HAS_SET_DIRECT_MAP && !HIGHMEM
> >
> > We can change gfp_mask as well for the sake of pedancy
>
> Why not change the gfp mask only then?

Citing myself from a few emails back:

>> But still with kmap() and friends not being an NOP the promise "kernel does
>> not map this memory" does not hold.

> --
> Cheers,
>
> David

--
Sincerely yours,
Mike.