From 66c33db081c3695782bd08663ff2aac963c3343b Mon Sep 17 00:00:00 2001 From: heitbaum Date: Tue, 30 Nov 2021 15:16:12 +0000 Subject: [PATCH 1/3] Revert "linux (default): backport VIDIOC_DQEVENT compat32 ioctl fix" This reverts commit e13cf832edc88e1549501ec17f8a0392eac29f22. this patch is included in 5.15.6 --- ...x-VIDIOC_DQEVENT-handling-on-non-x86.patch | 135 ------------------ 1 file changed, 135 deletions(-) delete mode 100644 packages/linux/patches/default/media-v4l2-core-fix-VIDIOC_DQEVENT-handling-on-non-x86.patch diff --git a/packages/linux/patches/default/media-v4l2-core-fix-VIDIOC_DQEVENT-handling-on-non-x86.patch b/packages/linux/patches/default/media-v4l2-core-fix-VIDIOC_DQEVENT-handling-on-non-x86.patch deleted file mode 100644 index 7ddcba0cda..0000000000 --- a/packages/linux/patches/default/media-v4l2-core-fix-VIDIOC_DQEVENT-handling-on-non-x86.patch +++ /dev/null @@ -1,135 +0,0 @@ -From 678d92b6126b9f55419b6a51ef0a88bce2ef2f20 Mon Sep 17 00:00:00 2001 -From: Arnd Bergmann -Date: Tue, 26 Oct 2021 06:49:54 +0100 -Subject: media: v4l2-core: fix VIDIOC_DQEVENT handling on non-x86 - -My previous bugfix addressed an API inconsistency found by syzbot, -and it correctly fixed the issue on x86-64 machines, which now behave -correctly for both native and compat tasks. - -Unfortunately, John found that the patch broke compat mode on all other -architectures, as they can no longer rely on the VIDIOC_DQEVENT_TIME32 -code from the native handler as a fallback in the compat code. - -The best way I can see for addressing this is to generalize the -VIDIOC_DQEVENT32_TIME32 code from x86 and use that for all architectures, -leaving only the VIDIOC_DQEVENT32 variant as x86 specific. The original -code was trying to be clever and use the same conversion helper for native -32-bit code and compat mode, but that turned out to be too obscure so -even I missed that bit I had introduced myself when I made the fix. - -Fixes: c344f07aa1b4 ("media: v4l2-core: ignore native time32 ioctls on 64-bit") -Reported-by: John Stultz -Signed-off-by: Arnd Bergmann -Tested-by: John Stultz -Signed-off-by: Hans Verkuil -Signed-off-by: Mauro Carvalho Chehab ---- - drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 41 +++++++++++---------------- - 1 file changed, 17 insertions(+), 24 deletions(-) - -diff --git a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c -index 8176769a89fa4..0f3d6b5667b07 100644 ---- a/drivers/media/v4l2-core/v4l2-compat-ioctl32.c -+++ b/drivers/media/v4l2-core/v4l2-compat-ioctl32.c -@@ -751,10 +751,6 @@ static int put_v4l2_ext_controls32(struct v4l2_ext_controls *p64, - /* - * x86 is the only compat architecture with different struct alignment - * between 32-bit and 64-bit tasks. -- * -- * On all other architectures, v4l2_event32 and v4l2_event32_time32 are -- * the same as v4l2_event and v4l2_event_time32, so we can use the native -- * handlers, converting v4l2_event to v4l2_event_time32 if necessary. - */ - struct v4l2_event32 { - __u32 type; -@@ -772,21 +768,6 @@ struct v4l2_event32 { - __u32 reserved[8]; - }; - --#ifdef CONFIG_COMPAT_32BIT_TIME --struct v4l2_event32_time32 { -- __u32 type; -- union { -- compat_s64 value64; -- __u8 data[64]; -- } u; -- __u32 pending; -- __u32 sequence; -- struct old_timespec32 timestamp; -- __u32 id; -- __u32 reserved[8]; --}; --#endif -- - static int put_v4l2_event32(struct v4l2_event *p64, - struct v4l2_event32 __user *p32) - { -@@ -802,7 +783,22 @@ static int put_v4l2_event32(struct v4l2_event *p64, - return 0; - } - -+#endif -+ - #ifdef CONFIG_COMPAT_32BIT_TIME -+struct v4l2_event32_time32 { -+ __u32 type; -+ union { -+ compat_s64 value64; -+ __u8 data[64]; -+ } u; -+ __u32 pending; -+ __u32 sequence; -+ struct old_timespec32 timestamp; -+ __u32 id; -+ __u32 reserved[8]; -+}; -+ - static int put_v4l2_event32_time32(struct v4l2_event *p64, - struct v4l2_event32_time32 __user *p32) - { -@@ -818,7 +814,6 @@ static int put_v4l2_event32_time32(struct v4l2_event *p64, - return 0; - } - #endif --#endif - - struct v4l2_edid32 { - __u32 pad; -@@ -880,9 +875,7 @@ static int put_v4l2_edid32(struct v4l2_edid *p64, - #define VIDIOC_QUERYBUF32_TIME32 _IOWR('V', 9, struct v4l2_buffer32_time32) - #define VIDIOC_QBUF32_TIME32 _IOWR('V', 15, struct v4l2_buffer32_time32) - #define VIDIOC_DQBUF32_TIME32 _IOWR('V', 17, struct v4l2_buffer32_time32) --#ifdef CONFIG_X86_64 - #define VIDIOC_DQEVENT32_TIME32 _IOR ('V', 89, struct v4l2_event32_time32) --#endif - #define VIDIOC_PREPARE_BUF32_TIME32 _IOWR('V', 93, struct v4l2_buffer32_time32) - #endif - -@@ -936,10 +929,10 @@ unsigned int v4l2_compat_translate_cmd(unsigned int cmd) - #ifdef CONFIG_X86_64 - case VIDIOC_DQEVENT32: - return VIDIOC_DQEVENT; -+#endif - #ifdef CONFIG_COMPAT_32BIT_TIME - case VIDIOC_DQEVENT32_TIME32: - return VIDIOC_DQEVENT; --#endif - #endif - } - return cmd; -@@ -1032,10 +1025,10 @@ int v4l2_compat_put_user(void __user *arg, void *parg, unsigned int cmd) - #ifdef CONFIG_X86_64 - case VIDIOC_DQEVENT32: - return put_v4l2_event32(parg, arg); -+#endif - #ifdef CONFIG_COMPAT_32BIT_TIME - case VIDIOC_DQEVENT32_TIME32: - return put_v4l2_event32_time32(parg, arg); --#endif - #endif - } - return 0; --- -cgit 1.2.3-1.el7 - From 6c0a78ea31e0cb07432e38b630558a2847e47267 Mon Sep 17 00:00:00 2001 From: heitbaum Date: Mon, 6 Dec 2021 22:57:03 +0000 Subject: [PATCH 2/3] RTL8192DU: update githash to support 5.15.x --- packages/linux-drivers/RTL8192DU/package.mk | 4 +- .../RTL8192DU/patches/5-15-0.patch | 61 ------------------- 2 files changed, 2 insertions(+), 63 deletions(-) delete mode 100644 packages/linux-drivers/RTL8192DU/patches/5-15-0.patch diff --git a/packages/linux-drivers/RTL8192DU/package.mk b/packages/linux-drivers/RTL8192DU/package.mk index 021257b39a..1148456df7 100644 --- a/packages/linux-drivers/RTL8192DU/package.mk +++ b/packages/linux-drivers/RTL8192DU/package.mk @@ -3,8 +3,8 @@ # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) PKG_NAME="RTL8192DU" -PKG_VERSION="331ec03d89d0c0ebe771c4011846f029f6af33d3" -PKG_SHA256="74e173b96d366ad50a0634fe98a8e55dc865276cd07de8fd635eaa4d5f71dae4" +PKG_VERSION="6e6d6fc16b21d5ff200ec1122dd009c8c01ab61d" +PKG_SHA256="c91f4907adebe5f9474b8477334230d0dadd3feb376ca6f44b5a74ffac02605f" PKG_LICENSE="GPL" PKG_SITE="https://github.com/lwfinger/rtl8192du" PKG_URL="https://github.com/lwfinger/rtl8192du/archive/${PKG_VERSION}.tar.gz" diff --git a/packages/linux-drivers/RTL8192DU/patches/5-15-0.patch b/packages/linux-drivers/RTL8192DU/patches/5-15-0.patch deleted file mode 100644 index 92130e1cb2..0000000000 --- a/packages/linux-drivers/RTL8192DU/patches/5-15-0.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- a/core/rtw_br_ext.c 2021-10-10 13:28:28.410328649 +1100 -+++ b/core/rtw_br_ext.c 2021-10-10 13:28:28.410328649 +1100 -@@ -22,7 +22,10 @@ - #ifdef __KERNEL__ - #include - #include -+#include -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0) - #include -+#endif - #include - #include - #include -@@ -175,6 +175,7 @@ - } - - -+#ifdef _NET_INET_IPX_H_ - static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr, - unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr) - { -@@ -195,6 +196,7 @@ - memcpy(networkAddr+1, (unsigned char *)ipxNetAddr, 4); - memcpy(networkAddr+5, (unsigned char *)ipxSocketAddr, 2); - } -+#endif - - - static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networkAddr, -@@ -341,6 +343,7 @@ - - return x & (NAT25_HASH_SIZE - 1); - } -+#ifdef _NET_INET_IPX_H_ - else if(networkAddr[0] == NAT25_IPX) - { - unsigned long x; -@@ -350,6 +353,7 @@ - - return x & (NAT25_HASH_SIZE - 1); - } -+#endif - else if(networkAddr[0] == NAT25_APPLE) - { - unsigned long x; -@@ -932,6 +936,7 @@ - } - } - -+#ifdef _NET_INET_IPX_H_ - /*---------------------------------------------------*/ - /* Handle IPX and Apple Talk frame */ - /*---------------------------------------------------*/ -@@ -1195,6 +1200,7 @@ - - return -1; - } -+#endif - - /*---------------------------------------------------*/ - /* Handle PPPoE frame */ From 72941563c4cb39f7e39b62ca20ae52ed7ef9d371 Mon Sep 17 00:00:00 2001 From: heitbaum Date: Wed, 1 Dec 2021 09:37:11 +0000 Subject: [PATCH 3/3] linux: update to 5.15.8 --- packages/linux/package.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/package.mk b/packages/linux/package.mk index 0e78e6bb66..ae68ff9faa 100644 --- a/packages/linux/package.mk +++ b/packages/linux/package.mk @@ -28,8 +28,8 @@ case "${LINUX}" in PKG_SOURCE_NAME="linux-${LINUX}-${PKG_VERSION}.tar.gz" ;; *) - PKG_VERSION="5.15.5" - PKG_SHA256="e9565a301525ac81c142ceb832f9053dd5685e107dbcf753d0de4c58bc98851f" + PKG_VERSION="5.15.8" + PKG_SHA256="d756527313ee09c8b0376975fb7890e2eddce9714967504093b2c0fab5c0f3bd" PKG_URL="https://www.kernel.org/pub/linux/kernel/v5.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" PKG_PATCH_DIRS="default" ;;