Skip to contentSkip to conversation

linux-next: build failure after merge of the y2038 tree

PATCH New Stephen Rothwell 3 participants 5 messages Mar 16, 2018 – Mar 17, 2018

Subsystems (10)
lore
Share & tools
lore
#0 lore raw

Hi Arnd,

After merging the y2038 tree, today's linux-next build (s390 allnoconfig) failed like this:

In file included from include/linux/elf.h:5:0,

                 from include/linux/module.h:15,
                 from init/main.c:16:

arch/s390/include/asm/elf.h:138:1: error: unknown type name 's390_compat_regs'

Caused by commit

f00689038f71 ("include: Move compat_timespec/ timeval to compat_time.h")

Signature · 2 lines
Cheers,
Stephen Rothwell
#1 lore raw

Hi Arnd,

Do you want me to send the fix as a patch or should I re-post the series?

Thanks,
Deepa

Quoted 17 lines · Stephen Rothwell

Hi Arnd,

After merging the y2038 tree, today's linux-next build (s390 allnoconfig) failed like this:

In file included from include/linux/elf.h:5:0,

                 from include/linux/module.h:15,
                 from init/main.c:16:

arch/s390/include/asm/elf.h:138:1: error: unknown type name 's390_compat_regs'

Caused by commit

f00689038f71 ("include: Move compat_timespec/ timeval to compat_time.h")

--
Cheers,
Stephen Rothwell

#2 lore raw
Quoted 3 lines · Deepa Dinamani

Hi Arnd,

Do you want me to send the fix as a patch or should I re-post the series?

Please send a fix relative to linux-next. Due to my travel next week, I might not be able to apply it right away but maybe Stephen can add it on top until I get back.

Arnd

Quoted 15 lines · Stephen Rothwell
Quoted 14 lines

Hi Arnd,

After merging the y2038 tree, today's linux-next build (s390 allnoconfig) failed like this:

In file included from include/linux/elf.h:5:0,

                 from include/linux/module.h:15,
                 from init/main.c:16:

arch/s390/include/asm/elf.h:138:1: error: unknown type name 's390_compat_regs'

Caused by commit

f00689038f71 ("include: Move compat_timespec/ timeval to compat_time.h")

#3 lore raw

PATCH 1/1 s390: Use asm/compat.h instead of linux/compat.h

Include asm/compat.h directly for uses of compat_ptr. This includes the compat defines when CONFIG_COMPAT is not on.

Also make compat data structure definitions conditional on CONFIG_COMPAT, to remove circular include dependencies in elf.h

---
 arch/s390/hypfs/hypfs_sprp.c      | 1 +
 arch/s390/include/asm/compat.h    | 1 +
 arch/s390/include/asm/elf.h       | 2 ++
 arch/s390/kvm/priv.c              | 2 +-
 arch/s390/pci/pci_clp.c           | 1 +
 drivers/s390/block/dasd_ioctl.c   | 2 +-
 drivers/s390/char/fs3270.c        | 2 +-
 drivers/s390/char/sclp_ctl.c      | 1 +
 drivers/s390/char/vmcp.c          | 1 +
 drivers/s390/cio/chsc_sch.c       | 2 +-
 drivers/s390/net/qeth_core_main.c | 2 +-
 11 files changed, 12 insertions(+), 5 deletions(-)
arch/s390/hypfs/hypfs_sprp.c +1 -0
index 5d85a039391c..d800b8067042 100644
@@ -7,6 +7,7 @@
  *    Author(s): Martin Schwidefsky <[email protected]>
  */
 
+#include <asm/compat.h>
 #include <linux/compat.h>
 #include <linux/errno.h>
 #include <linux/gfp.h>
arch/s390/include/asm/compat.h +1 -0
index 501aaff85304..1832d98c9328 100644
@@ -4,6 +4,7 @@
 /*
  * Architecture specific compatibility types
  */
+#include <linux/compat_time.h>
 #include <linux/types.h>
 #include <linux/sched.h>
 #include <linux/sched/task_stack.h>
arch/s390/include/asm/elf.h +2 -0
index 7d22a474a040..e572ae613b19 100644
@@ -134,8 +134,10 @@
 typedef s390_fp_regs elf_fpregset_t;
 typedef s390_regs elf_gregset_t;
 
+#ifdef CONFIG_COMPAT
 typedef s390_fp_regs compat_elf_fpregset_t;
 typedef s390_compat_regs compat_elf_gregset_t;
+#endif
 
 #include <linux/sched/mm.h>	/* for task_struct */
 #include <asm/mmu_context.h>
arch/s390/kvm/priv.c +1 -1
index a3bce0e84346..b7e6d81547bd 100644
@@ -11,7 +11,7 @@
 #include <linux/kvm.h>
 #include <linux/gfp.h>
 #include <linux/errno.h>
-#include <linux/compat.h>
+#include <asm/compat.h>
 #include <linux/mm_types.h>
 
 #include <asm/asm-offsets.h>
arch/s390/pci/pci_clp.c +1 -0
index 19b2d2a9b43d..4b6fe97823b7 100644
@@ -9,6 +9,7 @@
 #define KMSG_COMPONENT "zpci"
 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
 
+#include <asm/compat.h>
 #include <linux/compat.h>
 #include <linux/kernel.h>
 #include <linux/miscdevice.h>
drivers/s390/block/dasd_ioctl.c +1 -1
index 2016e0ed5865..288fa9d4d105 100644
@@ -13,7 +13,7 @@
 #define KMSG_COMPONENT "dasd"
 
 #include <linux/interrupt.h>
-#include <linux/compat.h>
+#include <asm/compat.h>
 #include <linux/major.h>
 #include <linux/fs.h>
 #include <linux/blkpg.h>
drivers/s390/char/fs3270.c +1 -1
index 16a4e8528bbc..cf4a26c6f76d 100644
@@ -12,7 +12,7 @@
 #include <linux/console.h>
 #include <linux/init.h>
 #include <linux/interrupt.h>
-#include <linux/compat.h>
+#include <asm/compat.h>
 #include <linux/sched/signal.h>
 #include <linux/module.h>
 #include <linux/list.h>
drivers/s390/char/sclp_ctl.c +1 -0
index 248b5db3eaa8..bd0d9e5cabd7 100644
@@ -7,6 +7,7 @@
  * Author: Michael Holzheu <[email protected]>
  */
 
+#include <asm/compat.h>
 #include <linux/compat.h>
 #include <linux/uaccess.h>
 #include <linux/miscdevice.h>
drivers/s390/char/vmcp.c +1 -0
index 948ce82a7725..0a153741ea88 100644
@@ -14,6 +14,7 @@
 
 #include <linux/fs.h>
 #include <linux/init.h>
+#include <asm/compat.h>
 #include <linux/compat.h>
 #include <linux/kernel.h>
 #include <linux/miscdevice.h>
drivers/s390/cio/chsc_sch.c +1 -1
index 8d9f36625ba5..3a541e694cb1 100644
@@ -9,7 +9,7 @@
  */
 
 #include <linux/slab.h>
-#include <linux/compat.h>
+#include <asm/compat.h>
 #include <linux/device.h>
 #include <linux/module.h>
 #include <linux/uaccess.h>
drivers/s390/net/qeth_core_main.c +1 -1
index d3529ef6e0f7..adde6b30bad6 100644
@@ -10,7 +10,7 @@
 #define KMSG_COMPONENT "qeth"
 #define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
 
-#include <linux/compat.h>
+#include <asm/compat.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/string.h>
Signature · 1 line
2.14.1
#4 lore raw
In reply to Arnd Bergmann

I posted the patch.

The patch has simple changes. Let me know if maybe posting a new version makes sense.

I also needed this patch to build linux-next:

commit b784c76bb7c1c440a4ce06a18f4b3a936f33967d

Author: Deepa Dinamani <[email protected]>
Date:   Fri Mar 16 20:57:10 2018 -0700

i40iw: add missing irq.h include

iwarp driver began using irq_get_affinity_mask in commit 7e952b19eb638. Add the needed include irq.h to get the definition.

This was found while trying allmodconfig for arm64, s390, and sparc.

(quoted diff) +0 -0

b/drivers/infiniband/hw/i40iw/i40iw_verbs.c
index a51798578f27..506b10e8ea4e 100644

drivers/infiniband/hw/i40iw/i40iw_verbs.c +1 -0
@@ -32,6 +32,7 @@
 *
 *******************************************************************************/
 
+#include <linux/irq.h>
 #include <linux/module.h>
 #include <linux/moduleparam.h>
 #include <linux/random.h>

-Deepa

Quoted 26 lines · Arnd Bergmann
Quoted 3 lines · Deepa Dinamani

Hi Arnd,

Do you want me to send the fix as a patch or should I re-post the series?

Please send a fix relative to linux-next. Due to my travel next week, I might not be able to apply it right away but maybe Stephen can add it on top until I get back.

Arnd

Quoted 15 lines · Stephen Rothwell
Quoted 14 lines

Hi Arnd,

After merging the y2038 tree, today's linux-next build (s390 allnoconfig) failed like this:

In file included from include/linux/elf.h:5:0,

                 from include/linux/module.h:15,
                 from init/main.c:16:

arch/s390/include/asm/elf.h:138:1: error: unknown type name 's390_compat_regs'

Caused by commit

f00689038f71 ("include: Move compat_timespec/ timeval to compat_time.h")