Awesome. Thanks. How do I do that? Sorry I'm new to this workflow. Can you
point me at a reference?

On Thu, 1 May 2025, 22:27 Richard Henderson, <richard.hender...@linaro.org>
wrote:

> On 5/1/25 11:17, WorksButNotTested wrote:
> > ---
> >   include/exec/page-protection.h | 6 ++++++
> >   linux-user/elfload.c           | 4 ++++
> >   linux-user/mmap.c              | 5 +++++
> >   3 files changed, 15 insertions(+)
> >
>
> Seems reasonable.  Add a patch description and a Signed-off-by, please.
>
>
> r~
>
> > diff --git a/include/exec/page-protection.h
> b/include/exec/page-protection.h
> > index c43231af8b..f8826d917e 100644
> > --- a/include/exec/page-protection.h
> > +++ b/include/exec/page-protection.h
> > @@ -38,4 +38,10 @@
> >    */
> >   #define PAGE_PASSTHROUGH 0x0800
> >
> > +/*
> > + * For linux-user, indicates that the page should not be included in a
> core
> > + * dump.
> > + */
> > +#define PAGE_DONTDUMP   0x1000
> > +
> >   #endif
> > diff --git a/linux-user/elfload.c b/linux-user/elfload.c
> > index fbfdec2f17..41c46da055 100644
> > --- a/linux-user/elfload.c
> > +++ b/linux-user/elfload.c
> > @@ -4067,6 +4067,10 @@ static size_t vma_dump_size(target_ulong start,
> target_ulong end,
> >           return 0;
> >       }
> >
> > +    if (flags & PAGE_DONTDUMP) {
> > +        return 0;
> > +    }
> > +
> >       /*
> >        * Usually we don't dump executable pages as they contain
> >        * non-writable code that debugger can read directly from
> > diff --git a/linux-user/mmap.c b/linux-user/mmap.c
> > index f88a80c31e..62fc8ac921 100644
> > --- a/linux-user/mmap.c
> > +++ b/linux-user/mmap.c
> > @@ -1247,6 +1247,11 @@ abi_long target_madvise(abi_ulong start,
> abi_ulong len_in, int advice)
> >        */
> >       mmap_lock();
> >       switch (advice) {
> > +    case MADV_DONTDUMP:
> > +        if (len > 0) {
> > +            page_set_flags(start, start + len - 1, PAGE_DONTDUMP);
> > +        }
> > +        break;
> >       case MADV_WIPEONFORK:
> >       case MADV_KEEPONFORK:
> >           ret = -EINVAL;
>
>

Reply via email to