From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from zeniv.linux.org.uk ([195.92.253.2]:48328 "EHLO ZenIV.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752011AbcLWEGe (ORCPT ); Thu, 22 Dec 2016 23:06:34 -0500 Date: Fri, 23 Dec 2016 04:06:28 +0000 From: Al Viro To: kbuild test robot Cc: kbuild-all@01.org, linux-fsdevel@vger.kernel.org, Linus Torvalds Subject: Re: [vfs:for-linus 1/8] arch/x86/built-in.o:undefined reference to `compat_sys_io_setup' Message-ID: <20161223040628.GI1555@ZenIV.linux.org.uk> References: <201612231119.mDMIgPtQ%fengguang.wu@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <201612231119.mDMIgPtQ%fengguang.wu@intel.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Fri, Dec 23, 2016 at 11:25:22AM +0800, kbuild test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git for-linus > head: d0375bfcdd0de588d9f8ee7ac9d2bc93c333e4fe > commit: e46c3fc8ff9e7aa152ef078af7067d5391f4fe18 [1/8] move aio compat to fs/aio.c > config: x86_64-randconfig-s2-12230841 (attached as .config) > compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 > reproduce: > git checkout e46c3fc8ff9e7aa152ef078af7067d5391f4fe18 > # save the attached .config to linux build tree > make ARCH=x86_64 What the...? Wait a sec, you have CONFIG_COMPAT, but not CONFIG_AIO in there? What's missing there is +cond_syscall(compat_sys_io_setup); +cond_syscall(compat_sys_io_submit); +cond_syscall(compat_sys_io_getevents); in kernel/sys_ni.c Lovely, that - previously mainline had built compat_sys_io_setup() et.al. on configs without CONFIG_AIO, only to have it allocate a native iocb array, carefully convert the 32bit ones into it, then call dummy do_io_submit() which did nothing and returned 0. While 64bit task doing the same would get -ENOSYS instead... Fixed and folded. My apologies - I hadn't checked that config and missed that weirdness completely.