ubuntu-trusty master-next currently FTBFS on arm64
Dann Frazier
dann.frazier at canonical.com
Wed Aug 6 12:37:41 UTC 2014
On Tue, Jul 29, 2014 at 6:48 PM, Joseph Salisbury
<joseph.salisbury at canonical.com> wrote:
> On 07/29/2014 05:59 PM, Dann Frazier wrote:
>> I'm seeing a build failure on ubuntu-trusty master-next on arm64 that
>> I've bisected to this change:
>>
>> commit c3208d7fd18ad731a32de34b4423291ff395ad66
>> Author: Matthew Dempsky <mdempsky at chromium.org>
>> Date: Fri Jun 6 14:36:42 2014 -0700
>>
>> ptrace: fix fork event messages across pid namespaces
>>
>> I'm not sure if this impacts upstream 3.13.11.z or not - is there a
>> git tree I could use to verify?
>>
>> $ make ARCH=arm64 CROSS_COMPILE= KERNELVERSION=3.13.0-34-generic
>> CONFIG_DEBUG_SECTION_MISMATCH=y KBUILD_BUILD_VERSION="59"
>> LOCALVERSION= localver-extra= CFLAGS_MODULE="-DPKG_ABI=34"
>> O=/home/dannf/ubuntu-trusty/debian/build/build-generic -j8 Image
>> modules apm-mustang.dtb foundation-v8.dtb rtsm_ve-aemv8a.dtb
>> CHK include/config/kernel.release
>> GEN /home/dannf/ubuntu-trusty/debian/build/build-generic/Makefile
>> CHK include/generated/uapi/linux/version.h
>> Using /home/dannf/ubuntu-trusty as source for kernel
>> CHK include/generated/utsrelease.h
>> make[2]: 'arch/arm64/boot/dts/apm-mustang.dtb' is up to date.
>> make[2]: 'arch/arm64/boot/dts/foundation-v8.dtb' is up to date.
>> make[2]: 'arch/arm64/boot/dts/rtsm_ve-aemv8a.dtb' is up to date.
>> CALL /home/dannf/ubuntu-trusty/scripts/checksyscalls.sh
>> CC init/main.o
>> CC arch/arm64/xen/../../arm/xen/enlighten.o
>> CC arch/arm64/mm/dma-mapping.o
>> CC arch/arm64/kernel/pcibios.o
>> CC arch/arm64/kvm/../../../arch/arm/kvm/arm.o
>> CC mm/filemap.o
>> CC fs/read_write.o
>> CC kernel/fork.o
>> In file included from /home/dannf/ubuntu-trusty/include/linux/mm.h:22:0,
>> from /home/dannf/ubuntu-trusty/include/linux/pid_namespace.h:6,
>> from /home/dannf/ubuntu-trusty/include/linux/ptrace.h:8,
>> from
>> /home/dannf/ubuntu-trusty/arch/arm64/include/asm/compat.h:26,
>> from
>> /home/dannf/ubuntu-trusty/arch/arm64/include/asm/stat.h:23,
>> from /home/dannf/ubuntu-trusty/include/linux/stat.h:5,
>> from /home/dannf/ubuntu-trusty/include/linux/sysfs.h:20,
>> from /home/dannf/ubuntu-trusty/include/linux/kobject.h:21,
>> from /home/dannf/ubuntu-trusty/include/linux/slub_def.h:9,
>> from /home/dannf/ubuntu-trusty/include/linux/slab.h:358,
>> from /home/dannf/ubuntu-trusty/arch/arm64/mm/dma-mapping.c:22:
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:1582:64: warning: ‘struct
>> kstat’ declared inside parameter list [enabled by default]
>> int (*getattr) (struct vfsmount *mnt, struct dentry *, struct kstat *);
>> ^
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:1582:64: warning: its
>> scope is only this definition or declaration, which is probably not
>> what you want [enabled by default]
>> In file included from /home/dannf/ubuntu-trusty/include/linux/mm.h:22:0,
>> from /home/dannf/ubuntu-trusty/include/linux/pid_namespace.h:6,
>> from /home/dannf/ubuntu-trusty/include/linux/ptrace.h:8,
>> from
>> /home/dannf/ubuntu-trusty/arch/arm64/include/asm/compat.h:26,
>> from
>> /home/dannf/ubuntu-trusty/arch/arm64/include/asm/stat.h:23,
>> from /home/dannf/ubuntu-trusty/include/linux/stat.h:5,
>> from /home/dannf/ubuntu-trusty/include/linux/sysfs.h:20,
>> from /home/dannf/ubuntu-trusty/include/linux/kobject.h:21,
>> from /home/dannf/ubuntu-trusty/include/linux/slub_def.h:9,
>> from /home/dannf/ubuntu-trusty/include/linux/slab.h:358,
>> from /home/dannf/ubuntu-trusty/arch/arm64/mm/dma-mapping.c:22:
>> /home/dannf/ubuntu-trusty/include/linux/fs.h: In function ‘__mandatory_lock’:
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:1942:25: error: ‘S_ISGID’
>> undeclared (first use in this function)
>> return (ino->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID;
>> ^
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:1942:25: note: each
>> undeclared identifier is reported only once for each function it
>> appears in
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:1942:35: error: ‘S_IXGRP’
>> undeclared (first use in this function)
>> return (ino->i_mode & (S_ISGID | S_IXGRP)) == S_ISGID;
>> ^
>> In file included from /home/dannf/ubuntu-trusty/include/linux/mm.h:22:0,
>> from /home/dannf/ubuntu-trusty/include/linux/pid_namespace.h:6,
>> from /home/dannf/ubuntu-trusty/include/linux/ptrace.h:8,
>> from
>> /home/dannf/ubuntu-trusty/arch/arm64/include/asm/compat.h:26,
>> from
>> /home/dannf/ubuntu-trusty/arch/arm64/include/asm/stat.h:23,
>> from /home/dannf/ubuntu-trusty/include/linux/stat.h:5,
>> from /home/dannf/ubuntu-trusty/include/linux/sysfs.h:20,
>> from /home/dannf/ubuntu-trusty/include/linux/kobject.h:21,
>> from /home/dannf/ubuntu-trusty/include/linux/slub_def.h:9,
>> from /home/dannf/ubuntu-trusty/include/linux/slab.h:358,
>> from /home/dannf/ubuntu-trusty/arch/arm64/mm/dma-mapping.c:22:
>> /home/dannf/ubuntu-trusty/include/linux/fs.h: In function
>> ‘invalidate_remote_inode’:
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:2264:2: error: implicit
>> declaration of function ‘S_ISREG’
>> [-Werror=implicit-function-declaration]
>> if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
>> ^
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:2264:2: error: implicit
>> declaration of function ‘S_ISDIR’
>> [-Werror=implicit-function-declaration]
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:2265:6: error: implicit
>> declaration of function ‘S_ISLNK’
>> [-Werror=implicit-function-declaration]
>> S_ISLNK(inode->i_mode))
>> ^
>> /home/dannf/ubuntu-trusty/include/linux/fs.h: In function ‘execute_ok’:
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:2301:26: error: ‘S_IXUGO’
>> undeclared (first use in this function)
>> return (inode->i_mode & S_IXUGO) || S_ISDIR(inode->i_mode);
>> ^
>> In file included from /home/dannf/ubuntu-trusty/include/linux/mm.h:22:0,
>> from /home/dannf/ubuntu-trusty/include/linux/pid_namespace.h:6,
>> from /home/dannf/ubuntu-trusty/include/linux/ptrace.h:8,
>> from
>> /home/dannf/ubuntu-trusty/arch/arm64/include/asm/compat.h:26,
>> from
>> /home/dannf/ubuntu-trusty/arch/arm64/include/asm/stat.h:23,
>> from /home/dannf/ubuntu-trusty/include/linux/stat.h:5,
>> from /home/dannf/ubuntu-trusty/include/linux/sysfs.h:20,
>> from /home/dannf/ubuntu-trusty/include/linux/kobject.h:21,
>> from /home/dannf/ubuntu-trusty/include/linux/slub_def.h:9,
>> from /home/dannf/ubuntu-trusty/include/linux/slab.h:358,
>> from /home/dannf/ubuntu-trusty/arch/arm64/mm/dma-mapping.c:22:
>> /home/dannf/ubuntu-trusty/include/linux/fs.h: At top level:
>> /home/dannf/ubuntu-trusty/include/linux/fs.h:2582:53: warning: ‘struct
>> kstat’ declared inside parameter list [enabled by default]
>> extern void generic_fillattr(struct inode *, struct kstat *);
>>
>> [...]
>>
>> -dann
>>
> You could check the linux-3.13.y branch at:
> git://kernel.ubuntu.com/ubuntu/linux.git
>
> After a quick look, I see that commit c3208d7 is in that branch as commit:
>
> Author: Matthew Dempsky <mdempsky at chromium.org>
> Date: Fri Jun 6 14:36:42 2014 -0700
>
> ptrace: fix fork event messages across pid namespaces
>
> commit 4e52365f279564cef0ddd41db5237f0471381093 upstream.
Thanks Joseph. I've verified that this is *not* an issue in the
upstream branch. This appears to be a bad interaction between this fix
and the aufs patches in Ubuntu.
Smallest fix appears to be as follows, though 8646cbac from utopic
looks like it might be a proper (though more involved) solution.
diff --git a/include/linux/ptrace.h b/include/linux/ptrace.h
index cc79eff..8314249 100644
--- a/include/linux/ptrace.h
+++ b/include/linux/ptrace.h
@@ -5,9 +5,10 @@
#include <linux/sched.h> /* For struct task_struct. */
#include <linux/err.h> /* for IS_ERR_VALUE */
#include <linux/bug.h> /* For BUG_ON. */
-#include <linux/pid_namespace.h> /* For task_active_pid_ns. */
#include <uapi/linux/ptrace.h>
+extern struct pid_namespace *task_active_pid_ns(struct task_struct *tsk);
+
/*
* Ptrace flags
*
More information about the kernel-team
mailing list