Re: [PATCH v5 2/2] mm: add a field to store names for private anonymous memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Aug 20, 2020 at 2:40 PM Cyrill Gorcunov <gorcunov@xxxxxxxxx> wrote:
>
> On Wed, Aug 19, 2020 at 07:46:50PM +0530, Sumit Semwal wrote:
> ...
> > Userspace can set the name for a region of memory by calling
> > prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, start, len, (unsigned long)name);
> > Setting the name to NULL clears it.
> >
> > The name is stored in a user pointer in the shared union in vm_area_struct
> > that points to a null terminated string inside the user process.  vmas
> > that point to the same address and are otherwise mergeable will be merged,
> > but vmas that point to equivalent strings at different addresses will not
> > be merged.
> ...
>
> Guys, could you please enlighen me, I don't understand -- we pass some
> random user-space pointer and save it in vm_area_struct then in procfs
> we treat it as "string" and print out? What prevents me to put some crap
> here then unmap this pointer the kernel will cause page fault in procfs
> output (in best scenario)?

This is the same pattern used for /proc/pid/cmdline.
acccess_remote_vm handles addresses in unmapped pages, it will return
0 if no bytes were readable.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux