Re: mm snapshot broken-out-2007-01-26-00-36.tar.gz uploaded

Michal Piotrowski
2007-01-26T16:07:16Z

Serge E. Hallyn napisał(a):
> Quoting Serge E. Hallyn (serue@us.ibm.com):
>> Quoting Michal Piotrowski (michal.k.k.piotrowski@gmail.com):
>>> Hi Serge,
>>>
>>> akpm@osdl.org napisa?(a):
>>>> The mm snapshot broken-out-2007-01-26-00-36.tar.gz has been uploaded to
>>>>
>>>> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/mm/broken-out-2007-01-26-00-36.tar.gz
>>>>
>>>> It contains the following patches against 2.6.20-rc6:
>>>>
>>>> origin.patch
>>> [..]
>>>> namespaces-fix-exit-race-by-splitting-exit.patch
>>> [..]
>>>
>>> I'm receiving an error
>>>
>>> In file included from /mnt/md0/devel/linux-work5/include/linux/sched.h:87,
>>> from /mnt/md0/devel/linux-work5/include/linux/utsname.h:35,
>>> from include2/asm/elf.h:12,
>>> from /mnt/md0/devel/linux-work5/include/linux/elf.h:7,
>>> from /mnt/md0/devel/linux-work5/include/linux/module.h:15,
>>> from /mnt/md0/devel/linux-work5/include/linux/crypto.h:21,
>>> from /mnt/md0/devel/linux-work5/arch/i386/kernel/asm-offsets.c:7:
>>> /mnt/md0/devel/linux-work5/include/linux/nsproxy.h: In function 'preexit_task_namespaces':
>>> /mnt/md0/devel/linux-work5/include/linux/nsproxy.h:56: error: dereferencing pointer to incomplete type
>>> make[2]: *** [arch/i386/kernel/asm-offsets.s] Error 1
>>> make[1]: *** [prepare0] Error 2
>>> make: *** [_all] Error 2
>>>
>>> Regards,
>>> Michal
>> Sorry, I don't know where to get a series file for this patchset?
>>
>> It sounds like your tree doesn't #include <linux/sched.h> at the top of
>> include/linux/nsproxy.h. That was added by a separate patch I think
>> last week - a few architectures (which i was testing) had a #include chain
>> which ended up in sched.h being included free, but some arches had a
>> different chain.
>>
>> Anyway please try #include <linux/sched.h> at the top of
>> include/linux/nsproxy.h and let me know if that doesn't fix the problem.
>
> No, I just found Cedric's patch removing the include.
>
> So moving preexit_task_namespaces() into nsproxy.c is the right way to
> go.
>
> thanks,
> -serge
>

Thanks!

Regards,
Michal

--
Michal K. K. Piotrowski
LTG - Linux Testers Group
(http://www.stardust.webpages.pl/ltg/)

Build fix.

Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>

diff -uprN linux-work-clean/include/linux/nsproxy.h linux-work/include/linux/nsproxy.h
--- linux-work-clean/include/linux/nsproxy.h 2007-01-26 16:47:55.000000000 +0100
+++ linux-work/include/linux/nsproxy.h 2007-01-26 17:00:54.000000000 +0100
@@ -51,11 +51,6 @@ static inline void put_and_finalize_nspr
finalize_put_nsproxy(put_nsproxy(ns));
}

-static inline struct nsproxy *preexit_task_namespaces(struct task_struct *p)
-{
- return put_nsproxy(p->nsproxy);
-}
-
extern void exit_task_namespaces(struct task_struct *p);

#endif
diff -uprN linux-work-clean/kernel/nsproxy.c linux-work/kernel/nsproxy.c
--- linux-work-clean/kernel/nsproxy.c 2007-01-26 16:53:49.000000000 +0100
+++ linux-work/kernel/nsproxy.c 2007-01-26 17:01:14.000000000 +0100
@@ -196,3 +196,8 @@ struct mnt_namespace *get_task_mnt_ns(st

return mnt_ns;
}
+
+static inline struct nsproxy *preexit_task_namespaces(struct task_struct *p)
+{
+ return put_nsproxy(p->nsproxy);
+}