Re: [PATCH v6] Added PR_SET_PROCTITLE_AREA option for prctl()

From: KOSAKI Motohiro
Date: Tue Dec 08 2009 - 00:57:02 EST


>
> * KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> wrote:
>
> > > The feature looks useful, but the choice of a prctl as an API is strange
> > > - it limits us to the current task only - while the ability to set
> > > arguments for another task looks a more generic (and potentially more
> > > useful) solution.
> >
> > No. It's impossible.
> > /proc/{pid}/cmdline read user process's memory. iow, this prctl() don't
> > receive string, it receive virtual address itself. [...]
>
> it's not 'impossible' at all, you yourself mention ptrace:

Ah yes, 'impossible' was wrong word. but it doesn't works intentionally.

1. setproctitle() unaware application continue to see argv[0] directly.
it makes some inconsistent behavior.
2. proc title (i.e. string) injection need to map new page as process title area.
implicit mapping increasing makes new trouble
- mihgt cause to exceed max_map_count awhile after.
- might cause leak proc title area (who know when it should be freed?)

I think reasonable way is 1. send signal (or use another inter process
communication way) to target process 2. target process change own proc title
themself.

Plus, I haven't seen the use-case of changin another task. iow I doubt
it's worth to change lots code.


> > [...] I don't want any task allow to change another task's memory
> > except ptrace.
>
> And i did not mean to allow 'any' task to be allowed to do this -
> security checks apply, obviously.

Agreed. My 'any' didn't intent bypass security check ;-)



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/