Re: [PATCH] export get_task_comm()

From: Andrew Morton
Date: Tue Jan 27 2009 - 04:01:37 EST


On Tue, 27 Jan 2009 11:49:56 +0300 Alexey Dobriyan <adobriyan@xxxxxxxxx> wrote:

> On Mon, Jan 26, 2009 at 09:29:18PM -0800, Andrew Morton wrote:
> > On Mon, 26 Jan 2009 21:26:15 -0800 Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > > On Tue, 27 Jan 2009 00:19:19 -0500 Kyle McMartin <kyle@xxxxxxxxxxxxx> wrote:
> > >
> > > > On Mon, Jan 26, 2009 at 09:16:55PM -0800, Andrew Morton wrote:
> > > > > Ho hum, I suppose so. I redid the changelog a bit:
> > > > >
> > > > > task_struct.comm[] is useful for debugging and driver developers
> > > > > want to use this information easily. Direct access to
> > > > > task_struct.comm[] is a bit racy, so export the official accessor.
> > > > >
> > > >
> > > > Maybe lirc should be submitted to staging/ before we go exporting
> > > > symbols for out of tree things... ;-)
> > >
> > > y:/usr/src/linux-2.6.29-rc2> grep -r 'current->comm' drivers | wc -l
> > > 77
> > >
> > > :(
> >
> > It's worth a checkpatch rule, I guess: "direct access to
> > task_struct.comm is racy - use get_task_comm()".
>
> And majority of usages is some debugging printk where nobody cares if ->comm
> corrupted.
>
> Changelog says is useful for debugging. That's right, tsk->comm is useful
> for debugging, not allocating temporary buffer + get_task_comm().
>
> Some ->comm usages are for kernel threads which never change it, for starters.
>
> current->comm is always safe, because, current is not executing prctl(2)!

That's a good point.

> I'd say nothing should be done and, heavens forbid, adding this to checkpatch.pl.

hm, yeah, OK, I'll drop it.
--
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/