lkml.org 
[lkml]   [2004]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] Add prctl to modify current->comm
On Tue, Sep 07, 2004 at 06:12:48PM +0100, Alan Cox wrote:
> > + case PR_SET_NAME: {
> > + struct task_struct *me = current;
> > + me->comm[sizeof(me->comm)-1] = 0;
> > + if (strncpy_from_user(me->comm, (char *)arg2, sizeof(me->comm)-1) < 0)
> > + return -EFAULT;
> > + return 0;
> > + }
>
> If the strncpy_from_user faults the state of current->comm is undefined.

I didn't see it as a big issue because the result will be 0 terminated
anyways.

> This strikes me as bad design.

Here's is a new patch with this fixed.

-Andi

--------------------------------------------------------------------

Allow a program to change its current->comm

Useful for KDE & kdeinit.


diff -u linux-2.6.8-5/kernel/sys.c-o linux-2.6.8-5/kernel/sys.c
--- linux-2.6.8-5/kernel/sys.c-o 2004-08-14 07:36:16.000000000 +0200
+++ linux-2.6.8-5/kernel/sys.c 2004-09-07 23:09:56.000000000 +0200
@@ -1660,6 +1660,15 @@
}
current->keep_capabilities = arg2;
break;
+ case PR_SET_NAME: {
+ struct task_struct *me = current;
+ unsigned char ncomm[sizeof(me->comm)];
+ ncomm[sizeof(me->comm)-1] = 0;
+ if (strncpy_from_user(ncomm, (char *)arg2, sizeof(me->comm)-1) < 0)
+ return -EFAULT;
+ memcpy(me->comm, ncomm, sizeof(me->comm));
+ return 0;
+ }
default:
error = -EINVAL;
break;
diff -u linux-2.6.8-5/include/linux/prctl.h-o linux-2.6.8-5/include/linux/prctl.h
--- linux-2.6.8-5/include/linux/prctl.h-o 2004-08-14 07:37:14.000000000 +0200
+++ linux-2.6.8-5/include/linux/prctl.h 2004-09-07 23:09:44.000000000 +0200
@@ -49,5 +49,6 @@
# define PR_TIMING_TIMESTAMP 1 /* Accurate timestamp based
process timing */

+#define PR_SET_NAME 15 /* Set process name. */

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

\
 
 \ /
  Last update: 2005-03-22 14:06    [W:0.031 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site