Messages in this thread |  | | | Subject | Re: Tomoyo compile failure on alpha: sys_get[p]pid undefined | | From | Tetsuo Handa <> | | Date | Fri, 24 Sep 2010 19:23:13 +0900 |
| |
Christoph Hellwig wrote: > On Fri, Sep 24, 2010 at 09:10:37AM +0300, Meelis Roos wrote: > > 2.6.36-rc5+git as of yesterday: > > > > LD .tmp_vmlinux1 > > security/built-in.o: In function `tomoyo_supervisor':(.text+0xea98): undefined reference to `sys_getpid' > > security/built-in.o: In function `tomoyo_supervisor':(.text+0xeab0): undefined reference to `sys_getpid' > > security/built-in.o: In function `tomoyo_supervisor':(.text+0xeac0): undefined reference to `sys_getppid' > > security/built-in.o: In function `tomoyo_supervisor':(.text+0xeac4): undefined reference to `sys_getppid' > > > > Seems alpha has different mechanisms for using these syscalls from > > inside the kernel? > > The real problem is that kernel code should never call system calls. > The correct fix is to get rid of this abuse. > AUDITSYSCALL (kernel/auditsc.c) is using sys_getppid(). What is your plan for getting rid of below abuse?
static void audit_log_exit(struct audit_context *context, struct task_struct *tsk) { const struct cred *cred; int i, call_panic = 0; struct audit_buffer *ab; struct audit_aux_data *aux; const char *tty; /* tsk == current */ context->pid = tsk->pid; if (!context->ppid) context->ppid = sys_getppid(); cred = current_cred(); ...(snipped)... }
|  |