summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2021-02-02 04:40:27 -0800
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2021-02-02 04:40:27 -0800
commit405660309ff95f9d041b8fc97100d40ad38f092b (patch)
tree0a3253e99d55f0ac6588916696cc47ab498d2cd1
parentFix versioning more (diff)
downloadlinux-ck-405660309ff95f9d041b8fc97100d40ad38f092b.tar.xz
Updated to 5.10.12
-rw-r--r--0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch34
-rw-r--r--0003-iwlwifi-provide-gso_type-to-GSO-packets.patch52
-rw-r--r--0004-HID-wacom-Correct-NULL-dereference-on-AES-pen-proximity.patch76
-rw-r--r--0004-Revert-SUNRPC-Handle-TCP-socket-sends-with-kernel_se.patch118
-rw-r--r--PKGBUILD18
-rw-r--r--config22
6 files changed, 200 insertions, 120 deletions
diff --git a/0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch b/0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch
deleted file mode 100644
index 2a46e8c..0000000
--- a/0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 2059ba0b121bb366467fcefb35cef22cc23e2fe9 Mon Sep 17 00:00:00 2001
-From: Eric Dumazet <edumazet@google.com>
-Date: Mon, 21 Dec 2020 20:14:02 +0100
-Subject: iwlwifi: Fix regression from UDP segmentation support
-
-Eric's tentative fix from
-https://lore.kernel.org/linux-wireless/CANn89iJWG2n1s3j7EdpwkQQv-9dOY02V+FGYHAWguO4JiqWuJA@mail.gmail.com/
----
- drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-index fe1c538cd718..c27743a58f81 100644
---- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
-@@ -833,6 +833,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
-
- next = skb_gso_segment(skb, netdev_flags);
- skb_shinfo(skb)->gso_size = mss;
-+ skb_shinfo(skb)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6;
- if (WARN_ON_ONCE(IS_ERR(next)))
- return -EINVAL;
- else if (next)
-@@ -855,6 +856,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
-
- if (tcp_payload_len > mss) {
- skb_shinfo(tmp)->gso_size = mss;
-+ skb_shinfo(tmp)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6;
- } else {
- if (qos) {
- u8 *qc;
---
-cgit v1.2.3-1-gf6bb5
-
diff --git a/0003-iwlwifi-provide-gso_type-to-GSO-packets.patch b/0003-iwlwifi-provide-gso_type-to-GSO-packets.patch
new file mode 100644
index 0000000..594302d
--- /dev/null
+++ b/0003-iwlwifi-provide-gso_type-to-GSO-packets.patch
@@ -0,0 +1,52 @@
+From 545d6504ef3c786b8294ca2129111227a7bb6515 Mon Sep 17 00:00:00 2001
+From: Eric Dumazet <edumazet@google.com>
+Date: Mon, 25 Jan 2021 07:09:49 -0800
+Subject: iwlwifi: provide gso_type to GSO packets
+
+commit 81a86e1bd8e7060ebba1718b284d54f1238e9bf9 upstream.
+
+net/core/tso.c got recent support for USO, and this broke iwlfifi
+because the driver implemented a limited form of GSO.
+
+Providing ->gso_type allows for skb_is_gso_tcp() to provide
+a correct result.
+
+Fixes: 3d5b459ba0e3 ("net: tso: add UDP segmentation support")
+Signed-off-by: Eric Dumazet <edumazet@google.com>
+Reported-by: Ben Greear <greearb@candelatech.com>
+Tested-by: Ben Greear <greearb@candelatech.com>
+Cc: Luca Coelho <luciano.coelho@intel.com>
+Cc: Johannes Berg <johannes@sipsolutions.net>
+Link: https://bugzilla.kernel.org/show_bug.cgi?id=209913
+Link: https://lore.kernel.org/r/20210125150949.619309-1-eric.dumazet@gmail.com
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Cc: Robert Hancock <hancockrwd@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
+index fe1c538cd718..7626117c01fa 100644
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c
+@@ -833,6 +833,7 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
+
+ next = skb_gso_segment(skb, netdev_flags);
+ skb_shinfo(skb)->gso_size = mss;
++ skb_shinfo(skb)->gso_type = ipv4 ? SKB_GSO_TCPV4 : SKB_GSO_TCPV6;
+ if (WARN_ON_ONCE(IS_ERR(next)))
+ return -EINVAL;
+ else if (next)
+@@ -855,6 +856,8 @@ iwl_mvm_tx_tso_segment(struct sk_buff *skb, unsigned int num_subframes,
+
+ if (tcp_payload_len > mss) {
+ skb_shinfo(tmp)->gso_size = mss;
++ skb_shinfo(tmp)->gso_type = ipv4 ? SKB_GSO_TCPV4 :
++ SKB_GSO_TCPV6;
+ } else {
+ if (qos) {
+ u8 *qc;
+--
+cgit v1.2.3-1-gf6bb5
+
diff --git a/0004-HID-wacom-Correct-NULL-dereference-on-AES-pen-proximity.patch b/0004-HID-wacom-Correct-NULL-dereference-on-AES-pen-proximity.patch
deleted file mode 100644
index 0de03e8..0000000
--- a/0004-HID-wacom-Correct-NULL-dereference-on-AES-pen-proximity.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 85c0c0e3a81f87290db5e881af609d51021b54b7 Mon Sep 17 00:00:00 2001
-From: Jason Gerecke <killertofu@gmail.com>
-Date: Thu, 21 Jan 2021 10:46:49 -0800
-Subject: HID: wacom: Correct NULL dereference on AES pen proximity
-
-The recent commit to fix a memory leak introduced an inadvertant NULL
-pointer dereference. The `wacom_wac->pen_fifo` variable was never
-intialized, resuling in a crash whenever functions tried to use it.
-Since the FIFO is only used by AES pens (to buffer events from pen
-proximity until the hardware reports the pen serial number) this would
-have been easily overlooked without testing an AES device.
-
-This patch converts `wacom_wac->pen_fifo` over to a pointer (since the
-call to `devres_alloc` allocates memory for us) and ensures that we assign
-it to point to the allocated and initalized `pen_fifo` before the function
-returns.
-
-Link: https://github.com/linuxwacom/input-wacom/issues/230
-Fixes: 37309f47e2f5 ("HID: wacom: Fix memory leakage caused by kfifo_alloc")
-CC: stable@vger.kernel.org # v4.19+
-Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
-Tested-by: Ping Cheng <ping.cheng@wacom.com>
----
- drivers/hid/wacom_sys.c | 7 ++++---
- drivers/hid/wacom_wac.h | 2 +-
- 2 files changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
-index 9e852b4bbf92..73dafa60080f 100644
---- a/drivers/hid/wacom_sys.c
-+++ b/drivers/hid/wacom_sys.c
-@@ -147,9 +147,9 @@ static int wacom_wac_pen_serial_enforce(struct hid_device *hdev,
- }
-
- if (flush)
-- wacom_wac_queue_flush(hdev, &wacom_wac->pen_fifo);
-+ wacom_wac_queue_flush(hdev, wacom_wac->pen_fifo);
- else if (insert)
-- wacom_wac_queue_insert(hdev, &wacom_wac->pen_fifo,
-+ wacom_wac_queue_insert(hdev, wacom_wac->pen_fifo,
- raw_data, report_size);
-
- return insert && !flush;
-@@ -1280,7 +1280,7 @@ static void wacom_devm_kfifo_release(struct device *dev, void *res)
- static int wacom_devm_kfifo_alloc(struct wacom *wacom)
- {
- struct wacom_wac *wacom_wac = &wacom->wacom_wac;
-- struct kfifo_rec_ptr_2 *pen_fifo = &wacom_wac->pen_fifo;
-+ struct kfifo_rec_ptr_2 *pen_fifo;
- int error;
-
- pen_fifo = devres_alloc(wacom_devm_kfifo_release,
-@@ -1297,6 +1297,7 @@ static int wacom_devm_kfifo_alloc(struct wacom *wacom)
- }
-
- devres_add(&wacom->hdev->dev, pen_fifo);
-+ wacom_wac->pen_fifo = pen_fifo;
-
- return 0;
- }
-diff --git a/drivers/hid/wacom_wac.h b/drivers/hid/wacom_wac.h
-index da612b6e9c77..195910dd2154 100644
---- a/drivers/hid/wacom_wac.h
-+++ b/drivers/hid/wacom_wac.h
-@@ -342,7 +342,7 @@ struct wacom_wac {
- struct input_dev *pen_input;
- struct input_dev *touch_input;
- struct input_dev *pad_input;
-- struct kfifo_rec_ptr_2 pen_fifo;
-+ struct kfifo_rec_ptr_2 *pen_fifo;
- int pid;
- int num_contacts_left;
- u8 bt_features;
---
-cgit v1.2.3-1-gf6bb5
-
diff --git a/0004-Revert-SUNRPC-Handle-TCP-socket-sends-with-kernel_se.patch b/0004-Revert-SUNRPC-Handle-TCP-socket-sends-with-kernel_se.patch
new file mode 100644
index 0000000..ea9af03
--- /dev/null
+++ b/0004-Revert-SUNRPC-Handle-TCP-socket-sends-with-kernel_se.patch
@@ -0,0 +1,118 @@
+From 78a29b77d3643814a19ce55937309b89010a763c Mon Sep 17 00:00:00 2001
+From: graysky <graysky@archlinux.us>
+Date: Sun, 31 Jan 2021 16:38:13 -0500
+Subject: [PATCH] Revert "SUNRPC: Handle TCP socket sends with
+ kernel_sendpage() again"
+
+This reverts commit 00ee972739fb2526d3936f1e7ccfc8c91d250c60.
+---
+ net/sunrpc/svcsock.c | 86 +-------------------------------------------
+ 1 file changed, 1 insertion(+), 85 deletions(-)
+
+diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
+index c9766d07eb81..b248f2349437 100644
+--- a/net/sunrpc/svcsock.c
++++ b/net/sunrpc/svcsock.c
+@@ -1062,90 +1062,6 @@ static int svc_tcp_recvfrom(struct svc_rqst *rqstp)
+ return 0; /* record not complete */
+ }
+
+-static int svc_tcp_send_kvec(struct socket *sock, const struct kvec *vec,
+- int flags)
+-{
+- return kernel_sendpage(sock, virt_to_page(vec->iov_base),
+- offset_in_page(vec->iov_base),
+- vec->iov_len, flags);
+-}
+-
+-/*
+- * kernel_sendpage() is used exclusively to reduce the number of
+- * copy operations in this path. Therefore the caller must ensure
+- * that the pages backing @xdr are unchanging.
+- *
+- * In addition, the logic assumes that * .bv_len is never larger
+- * than PAGE_SIZE.
+- */
+-static int svc_tcp_sendmsg(struct socket *sock, struct msghdr *msg,
+- struct xdr_buf *xdr, rpc_fraghdr marker,
+- unsigned int *sentp)
+-{
+- const struct kvec *head = xdr->head;
+- const struct kvec *tail = xdr->tail;
+- struct kvec rm = {
+- .iov_base = &marker,
+- .iov_len = sizeof(marker),
+- };
+- int flags, ret;
+-
+- *sentp = 0;
+- xdr_alloc_bvec(xdr, GFP_KERNEL);
+-
+- msg->msg_flags = MSG_MORE;
+- ret = kernel_sendmsg(sock, msg, &rm, 1, rm.iov_len);
+- if (ret < 0)
+- return ret;
+- *sentp += ret;
+- if (ret != rm.iov_len)
+- return -EAGAIN;
+-
+- flags = head->iov_len < xdr->len ? MSG_MORE | MSG_SENDPAGE_NOTLAST : 0;
+- ret = svc_tcp_send_kvec(sock, head, flags);
+- if (ret < 0)
+- return ret;
+- *sentp += ret;
+- if (ret != head->iov_len)
+- goto out;
+-
+- if (xdr->page_len) {
+- unsigned int offset, len, remaining;
+- struct bio_vec *bvec;
+-
+- bvec = xdr->bvec;
+- offset = xdr->page_base;
+- remaining = xdr->page_len;
+- flags = MSG_MORE | MSG_SENDPAGE_NOTLAST;
+- while (remaining > 0) {
+- if (remaining <= PAGE_SIZE && tail->iov_len == 0)
+- flags = 0;
+- len = min(remaining, bvec->bv_len);
+- ret = kernel_sendpage(sock, bvec->bv_page,
+- bvec->bv_offset + offset,
+- len, flags);
+- if (ret < 0)
+- return ret;
+- *sentp += ret;
+- if (ret != len)
+- goto out;
+- remaining -= len;
+- offset = 0;
+- bvec++;
+- }
+- }
+-
+- if (tail->iov_len) {
+- ret = svc_tcp_send_kvec(sock, tail, 0);
+- if (ret < 0)
+- return ret;
+- *sentp += ret;
+- }
+-
+-out:
+- return 0;
+-}
+-
+ /**
+ * svc_tcp_sendto - Send out a reply on a TCP socket
+ * @rqstp: completed svc_rqst
+@@ -1173,7 +1089,7 @@ static int svc_tcp_sendto(struct svc_rqst *rqstp)
+ mutex_lock(&xprt->xpt_mutex);
+ if (svc_xprt_is_dead(xprt))
+ goto out_notconn;
+- err = svc_tcp_sendmsg(svsk->sk_sock, &msg, xdr, marker, &sent);
++ err = xprt_sock_sendmsg(svsk->sk_sock, &msg, xdr, 0, marker, &sent);
+ xdr_free_bvec(xdr);
+ trace_svcsock_tcp_send(xprt, err < 0 ? err : sent);
+ if (err < 0 || sent != (xdr->len + sizeof(marker)))
+--
+2.30.0
+
diff --git a/PKGBUILD b/PKGBUILD
index ce2e0ad..c35e4a5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -22,7 +22,7 @@ _custom=1
pkgbase=linux-ck
_supver=5
_majver=10
-_minver=10
+_minver=12
_gccpatchver='20201113'
_gccpatchger='10.1'
_gccpatchker='5.8'
@@ -50,8 +50,8 @@ source=(
config # the main kernel config file
0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
0002-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_special_driver-list.patch
- 0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch
- 0004-HID-wacom-Correct-NULL-dereference-on-AES-pen-proximity.patch
+ 0003-iwlwifi-provide-gso_type-to-GSO-packets.patch
+ 0004-Revert-SUNRPC-Handle-TCP-socket-sends-with-kernel_se.patch
linux-ck-patch-${_supver}.${_majver}-${_ckpatchversion}.xz::http://ck.kolivas.org/patches/${_supver}.0/${_supver}.${_majver}/${_supver}.${_majver}-${_ckpatchversion}/patch-${_supver}.${_majver}-${_ckpatchversion}.xz
kernel_gcc_patch-${_gccpatchver}.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/${_gccpatchver}.tar.gz
ath9k-regdom-hack.patch
@@ -62,13 +62,13 @@ validpgpkeys=(
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
)
# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc
-b2sums=('180f0dd063eab9542fd799c54dd335c4f310bea739048800ab3222526cb1ea7cc4ef43d2a2c27ed0e37a776f5c77540c33795aa63297704d9e215735a1a98606'
+b2sums=('f5e16e92c9543708997d9dfee28feb2cd6e6909a33dc7f97c40b507a8d03bd72717b1af84bed3fa25b2a167652d8cd93b66d145d484e5ad292af24b3bf64a649'
'SKIP'
- 'e8f7b8d77e57b8df10e27903347ba6995a98d15c37bdd5d243c00ffcfe8eb2bb58f11ab11dafdc005cb109ad2e55ec43f8d95caad7a2ce013928ae86b1547954'
+ 'c806a64fc5ae6ac07990cde710aafff666eb081ca7d78c0e6e0f92dfb62bffec47e9bc7f5d06b5fa0faf96943075cafd966281bfac39895562dae8b0b8a89396'
'2f9195675270d79d735a3aaec25887c2f80b76eae98be8fcc5fd59ab71d925c5ee20ec5e2a015deb68b61bc2cc7f56f546a22cb96ee038e2e24c2c9dd5c3f79f'
'd8297e09f552a2d6bb24c2ba10481fd2b407057f3b24278e72a89233473460d339c83838791989773623178b5af80588fb4c484da2931f1040e313cce7ceca00'
- '15d9b32ff1ad4c897b097173de259cdb89bbbf6ab0230faf4557eca511a59c1f2c76b85be30d25cf9534f91e1af43e72d072bc82dbf2219eadf772822f573d38'
- '078dca48f0937ad021b1d50ba98dc1c156fb67a18b25fa079d2d35d0aa5480fb820e952c7f569cff5744cd32976a23942c2e822d1cfada8144e9a8dc9bae1d82'
+ '9b973fa8d55d9d68020f8d05458edfad2eea916ad0bbefcabf3e41a750aae8d9bb1c1c3820105bb785e050dd7a4343ab55c8bd97ab657520c17d2da3c18b7a99'
+ '4a40db184421fdda2b01efe22adee7a4e1ce82cbc877bfaea5aaaae7215d1fe9aeb307a5241af6b7b9e539ae3d1a26f35adaedce82c61d3edb60f6e0d1673743'
'067f3389124fdd937ca69e9e9568b1b3194791960a093e81037051eb6d25e80b40bf7f60c61373ac9e92bff9db760766009b1e6f9ee8429a883bb7fce2d60f8a'
'7f1eb5938472f57748216bd00e0c875feab99fc1c5cb89babfea467ee30ca5c8e9fc5a691efe2e602bef1ea79820c5383822d7cec354b48d23321ccda8ee8127'
'b6ef77035611139fa9a6d5b8d30570e2781bb4da483bb569884b0bd0129b62e0b82a5a6776fefe43fee801c70d39de1ea4d4c177f7cedd5ac135e3c64f7b895a'
@@ -92,8 +92,8 @@ prepare() {
echo "Applying hotfixes"
patch -p1 -i ../0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch
patch -p1 -i ../0002-HID-quirks-Add-Apple-Magic-Trackpad-2-to-hid_have_special_driver-list.patch
- patch -p1 -i ../0003-iwlwifi-Fix-regression-from-UDP-segmentation-support.patch
- patch -p1 -i ../0004-HID-wacom-Correct-NULL-dereference-on-AES-pen-proximity.patch
+ patch -p1 -i ../0003-iwlwifi-provide-gso_type-to-GSO-packets.patch
+ patch -p1 -i ../0004-Revert-SUNRPC-Handle-TCP-socket-sends-with-kernel_se.patch
# ck patch
diff --git a/config b/config
index 9a737e8..1df9d61 100644
--- a/config
+++ b/config
@@ -5391,7 +5391,7 @@ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
# CONFIG_MEDIA_SDR_SUPPORT is not set
CONFIG_MEDIA_PLATFORM_SUPPORT=y
-# CONFIG_MEDIA_TEST_SUPPORT is not set
+CONFIG_MEDIA_TEST_SUPPORT=y
# end of Media device types
CONFIG_VIDEO_DEV=m
@@ -5419,6 +5419,11 @@ CONFIG_VIDEOBUF_VMALLOC=m
# Media controller options
#
CONFIG_MEDIA_CONTROLLER_DVB=y
+CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
+
+#
+# Please notice that the enabled Media controller Request API is EXPERIMENTAL
+#
# end of Media controller options
#
@@ -5714,6 +5719,7 @@ CONFIG_VIDEO_SAA7146_VV=m
CONFIG_SMS_SIANO_MDTV=m
CONFIG_SMS_SIANO_RC=y
# CONFIG_SMS_SIANO_DEBUGFS is not set
+CONFIG_VIDEO_V4L2_TPG=m
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_VIDEO_CAFE_CCIC=m
CONFIG_VIDEO_CADENCE=y
@@ -5728,6 +5734,15 @@ CONFIG_DVB_PLATFORM_DRIVERS=y
# MMC/SDIO DVB adapters
#
CONFIG_SMS_SDIO_DRV=m
+CONFIG_V4L_TEST_DRIVERS=y
+CONFIG_VIDEO_VIMC=m
+CONFIG_VIDEO_VIVID=m
+CONFIG_VIDEO_VIVID_CEC=y
+CONFIG_VIDEO_VIVID_MAX_DEVS=64
+CONFIG_VIDEO_VIM2M=m
+CONFIG_VIDEO_VICODEC=m
+CONFIG_DVB_TEST_DRIVERS=y
+CONFIG_DVB_VIDTV=m
#
# FireWire (IEEE 1394) Adapters
@@ -6065,6 +6080,11 @@ CONFIG_DVB_HELENE=m
#
CONFIG_DVB_CXD2099=m
CONFIG_DVB_SP2=m
+
+#
+# Tools to develop new frontends
+#
+CONFIG_DVB_DUMMY_FE=m
# end of Media ancillary drivers
#