From patchwork Wed Aug 6 12:37:41 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: dann frazier X-Patchwork-Id: 376999 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id B960B14009B; Wed, 6 Aug 2014 22:37:59 +1000 (EST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1XF0TR-0008Au-UF; Wed, 06 Aug 2014 12:37:45 +0000 Received: from mail-we0-f174.google.com ([74.125.82.174]) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1XF0TN-0008An-UH for kernel-team@lists.ubuntu.com; Wed, 06 Aug 2014 12:37:41 +0000 Received: by mail-we0-f174.google.com with SMTP id x48so2572629wes.33 for ; Wed, 06 Aug 2014 05:37:41 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=zEaSEUoXNu10yvOgjdAT0+G3dzM7P+OetDPgimmZJI4=; b=gIZIShGXelS2mKyzUbgLwVWo1aUluSjcWYfYS4zmydhDmwL+pEhEsi4tv8CJxczv65 5ZBmV7bS5Kg8clh8JyEhDFuS8uG5mEzn6kH3wxOnyWms3D0cLXXKvQdmdcOD0O0L2cpX hODbi7qENhdRT8fTHc1nWZG0Fxs1PUs3gAyD+M8rSwDHRZ68xHccf+qnYu3gyf3ip92b zcEJ/Be4byzHlK10DGpemRZmawVcCtdvz+ns5EtWEDcd21Qwl91tTt1BQTuYPw4Lab1j HXzFGnQyS1iXVmtZFkx5QQjg0x4MLuaqh/l+PAqnFBIRtW9mXaZzxw4Yi8H3b5qxWu5S OYgA== X-Gm-Message-State: ALoCoQnHXBogsBtNhoBJBc47qQ+SmdA4CEmgFbqKqPfr85bFalkhfXhQrJTRzhQh/4CSr5w1azGS MIME-Version: 1.0 X-Received: by 10.180.187.197 with SMTP id fu5mr49988156wic.64.1407328661739; Wed, 06 Aug 2014 05:37:41 -0700 (PDT) Received: by 10.216.234.193 with HTTP; Wed, 6 Aug 2014 05:37:41 -0700 (PDT) In-Reply-To: <53D840FA.60800@canonical.com> References: <53D840FA.60800@canonical.com> Date: Wed, 6 Aug 2014 06:37:41 -0600 Message-ID: Subject: Re: ubuntu-trusty master-next currently FTBFS on arm64 From: Dann Frazier To: Joseph Salisbury Cc: Ubuntu Kernel Team X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: kernel-team-bounces@lists.ubuntu.com On Tue, Jul 29, 2014 at 6:48 PM, Joseph Salisbury 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 >> 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 > 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 /* For struct task_struct. */ #include /* for IS_ERR_VALUE */ #include /* For BUG_ON. */ -#include /* For task_active_pid_ns. */ #include +extern struct pid_namespace *task_active_pid_ns(struct task_struct *tsk); + /* * Ptrace flags *