aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas <thomasw@fastmail.cn>2019-08-20 15:31:28 -0400
committerThomas <thomasw@fastmail.cn>2019-08-20 15:46:33 -0400
commita96ac7fb8c6872da07a7e59bc0f3cdb4ffc2d8f0 (patch)
treeba0db2b53f93dafd8575cf876f3a5791f653884c
parent285b8b1ba51118771b5ab6612aa3cd7724cf3692 (diff)
parent33f08d97c26b1e693d5c9acb4bae18c73ae1ed39 (diff)
downloadkernel_replicant_linux-a96ac7fb8c6872da07a7e59bc0f3cdb4ffc2d8f0.tar.gz
kernel_replicant_linux-a96ac7fb8c6872da07a7e59bc0f3cdb4ffc2d8f0.tar.bz2
kernel_replicant_linux-a96ac7fb8c6872da07a7e59bc0f3cdb4ffc2d8f0.zip
Merge branch 'sid' of https://salsa.debian.org/kernel-team/linux into laptop-fixes
-rw-r--r--debian/changelog16
-rw-r--r--debian/patches/bugfix/all/partially-revert-net-socket-implement-64-bit-timestamps.patch140
-rw-r--r--debian/patches/series1
3 files changed, 155 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index 102ef93ca03b..1aec478fba7b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,19 @@
linux (5.2.9-2) UNRELEASED; urgency=medium
- - Add various laptop modules. (Closes: #932086)
- -- Ben Hutchings <ben@decadent.org.uk> Tue, 20 Aug 2019 04:54:21 +0100
+ [ Ben Hutchings ]
+ * Partially revert "net: socket: implement 64-bit timestamps"
+ (fixes build/test regressions for glibc, qemu, suricata)
+ [ Thomas W ]
+ * [x86] Add various laptop modules. (Closes: #932086)
+ CONFIG_ACER_WIRELESS
+ CONFIG_LG_LAPTOP
+ CONFIG_SURFACE3_WMI
+ CONFIG_INTEL_WMI_THUNDERBOLT
+ CONFIG_PEAQ_WMI
+ CONFIG_TOSHIBA_WMI
+ CONFIG_SURFACE_3_BUTTON
+
+ -- Ben Hutchings <ben@decadent.org.uk> Tue, 20 Aug 2019 18:17
linux (5.2.9-1) unstable; urgency=medium
diff --git a/debian/patches/bugfix/all/partially-revert-net-socket-implement-64-bit-timestamps.patch b/debian/patches/bugfix/all/partially-revert-net-socket-implement-64-bit-timestamps.patch
new file mode 100644
index 000000000000..0cd066e73896
--- /dev/null
+++ b/debian/patches/bugfix/all/partially-revert-net-socket-implement-64-bit-timestamps.patch
@@ -0,0 +1,140 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Tue, 20 Aug 2019 18:12:35 +0100
+Subject: Partially revert "net: socket: implement 64-bit timestamps"
+
+The introduction of SIOCGSTAMP{,NS}_OLD and move of SICOGSTAMP{,NS} to
+a different header has caused build failures for various user-space
+programs including qemu and suricata. It also causes a test failure
+for glibc.
+
+For now, remove the _OLD suffix on the old ioctl numbers and require
+programs using 64-bit timestamps to explicitly use SIOCGSTAMP{,NS}_NEW.
+
+References: https://lore.kernel.org/lkml/af0eb47a-5b98-1bd9-3e8d-652e7f28b01f@de.ibm.com/
+References: https://bugs.debian.org/934316
+References: https://ci.debian.net/data/autopkgtest/testing/amd64/g/glibc/2772289/log.gz
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+---
+--- a/arch/alpha/include/uapi/asm/sockios.h
++++ b/arch/alpha/include/uapi/asm/sockios.h
+@@ -11,7 +11,7 @@
+ #define SIOCSPGRP _IOW('s', 8, pid_t)
+ #define SIOCGPGRP _IOR('s', 9, pid_t)
+
+-#define SIOCGSTAMP_OLD 0x8906 /* Get stamp (timeval) */
+-#define SIOCGSTAMPNS_OLD 0x8907 /* Get stamp (timespec) */
++#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
++#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
+
+ #endif /* _ASM_ALPHA_SOCKIOS_H */
+--- a/arch/mips/include/uapi/asm/sockios.h
++++ b/arch/mips/include/uapi/asm/sockios.h
+@@ -21,7 +21,7 @@
+ #define SIOCSPGRP _IOW('s', 8, pid_t)
+ #define SIOCGPGRP _IOR('s', 9, pid_t)
+
+-#define SIOCGSTAMP_OLD 0x8906 /* Get stamp (timeval) */
+-#define SIOCGSTAMPNS_OLD 0x8907 /* Get stamp (timespec) */
++#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
++#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
+
+ #endif /* _ASM_SOCKIOS_H */
+--- a/arch/sh/include/uapi/asm/sockios.h
++++ b/arch/sh/include/uapi/asm/sockios.h
+@@ -10,7 +10,6 @@
+ #define SIOCSPGRP _IOW('s', 8, pid_t)
+ #define SIOCGPGRP _IOR('s', 9, pid_t)
+
+-#define SIOCGSTAMP_OLD _IOR('s', 100, struct timeval) /* Get stamp (timeval) */
+-#define SIOCGSTAMPNS_OLD _IOR('s', 101, struct timespec) /* Get stamp (timespec) */
+-
++#define SIOCGSTAMP _IOR('s', 100, struct timeval) /* Get stamp (timeval) */
++#define SIOCGSTAMPNS _IOR('s', 101, struct timespec) /* Get stamp (timespec) */
+ #endif /* __ASM_SH_SOCKIOS_H */
+--- a/arch/xtensa/include/uapi/asm/sockios.h
++++ b/arch/xtensa/include/uapi/asm/sockios.h
+@@ -26,7 +26,7 @@
+ #define SIOCSPGRP _IOW('s', 8, pid_t)
+ #define SIOCGPGRP _IOR('s', 9, pid_t)
+
+-#define SIOCGSTAMP_OLD 0x8906 /* Get stamp (timeval) */
+-#define SIOCGSTAMPNS_OLD 0x8907 /* Get stamp (timespec) */
++#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
++#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
+
+ #endif /* _XTENSA_SOCKIOS_H */
+--- a/include/uapi/asm-generic/sockios.h
++++ b/include/uapi/asm-generic/sockios.h
+@@ -8,7 +8,7 @@
+ #define FIOGETOWN 0x8903
+ #define SIOCGPGRP 0x8904
+ #define SIOCATMARK 0x8905
+-#define SIOCGSTAMP_OLD 0x8906 /* Get stamp (timeval) */
+-#define SIOCGSTAMPNS_OLD 0x8907 /* Get stamp (timespec) */
++#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
++#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
+
+ #endif /* __ASM_GENERIC_SOCKIOS_H */
+--- a/include/uapi/linux/sockios.h
++++ b/include/uapi/linux/sockios.h
+@@ -19,7 +19,6 @@
+ #ifndef _LINUX_SOCKIOS_H
+ #define _LINUX_SOCKIOS_H
+
+-#include <asm/bitsperlong.h>
+ #include <asm/sockios.h>
+
+ /* Linux-specific socket ioctls */
+@@ -37,17 +36,6 @@
+ /* Get stamp (timespec) */
+ #define SIOCGSTAMPNS_NEW _IOR(SOCK_IOC_TYPE, 0x07, long long[2])
+
+-#if __BITS_PER_LONG == 64 || (defined(__x86_64__) && defined(__ILP32__))
+-/* on 64-bit and x32, avoid the ?: operator */
+-#define SIOCGSTAMP SIOCGSTAMP_OLD
+-#define SIOCGSTAMPNS SIOCGSTAMPNS_OLD
+-#else
+-#define SIOCGSTAMP ((sizeof(struct timeval)) == 8 ? \
+- SIOCGSTAMP_OLD : SIOCGSTAMP_NEW)
+-#define SIOCGSTAMPNS ((sizeof(struct timespec)) == 8 ? \
+- SIOCGSTAMPNS_OLD : SIOCGSTAMPNS_NEW)
+-#endif
+-
+ /* Routing table calls. */
+ #define SIOCADDRT 0x890B /* add routing table entry */
+ #define SIOCDELRT 0x890C /* delete routing table entry */
+--- a/net/socket.c
++++ b/net/socket.c
+@@ -1170,14 +1170,14 @@ static long sock_ioctl(struct file *file
+
+ err = open_related_ns(&net->ns, get_net_ns);
+ break;
+- case SIOCGSTAMP_OLD:
+- case SIOCGSTAMPNS_OLD:
++ case SIOCGSTAMP:
++ case SIOCGSTAMPNS:
+ if (!sock->ops->gettstamp) {
+ err = -ENOIOCTLCMD;
+ break;
+ }
+ err = sock->ops->gettstamp(sock, argp,
+- cmd == SIOCGSTAMP_OLD,
++ cmd == SIOCGSTAMP,
+ !IS_ENABLED(CONFIG_64BIT));
+ break;
+ case SIOCGSTAMP_NEW:
+@@ -3341,11 +3341,11 @@ static int compat_sock_ioctl_trans(struc
+ case SIOCADDRT:
+ case SIOCDELRT:
+ return routing_ioctl(net, sock, cmd, argp);
+- case SIOCGSTAMP_OLD:
+- case SIOCGSTAMPNS_OLD:
++ case SIOCGSTAMP:
++ case SIOCGSTAMPNS:
+ if (!sock->ops->gettstamp)
+ return -ENOIOCTLCMD;
+- return sock->ops->gettstamp(sock, argp, cmd == SIOCGSTAMP_OLD,
++ return sock->ops->gettstamp(sock, argp, cmd == SIOCGSTAMP,
+ !COMPAT_USE_64BIT_TIME);
+
+ case SIOCBONDSLAVEINFOQUERY:
diff --git a/debian/patches/series b/debian/patches/series
index 8021c0a954e1..c1f6046506f9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -85,6 +85,7 @@ bugfix/all/disable-some-marvell-phys.patch
bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/partially-revert-usb-kconfig-using-select-for-usb_co.patch
debian/revert-objtool-fix-config_stack_validation-y-warning.patch
+bugfix/all/partially-revert-net-socket-implement-64-bit-timestamps.patch
# Miscellaneous features