]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.14-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 2 Apr 2022 09:15:57 +0000 (11:15 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 2 Apr 2022 09:15:57 +0000 (11:15 +0200)
added patches:
alsa-cs4236-fix-an-incorrect-null-check-on-list-iterator.patch
revert-input-clear-btn_right-middle-on-buttonpads.patch

queue-4.14/alsa-cs4236-fix-an-incorrect-null-check-on-list-iterator.patch [new file with mode: 0644]
queue-4.14/revert-input-clear-btn_right-middle-on-buttonpads.patch [new file with mode: 0644]
queue-4.14/series

diff --git a/queue-4.14/alsa-cs4236-fix-an-incorrect-null-check-on-list-iterator.patch b/queue-4.14/alsa-cs4236-fix-an-incorrect-null-check-on-list-iterator.patch
new file mode 100644 (file)
index 0000000..d15f995
--- /dev/null
@@ -0,0 +1,57 @@
+From 0112f822f8a6d8039c94e0bc9b264d7ffc5d4704 Mon Sep 17 00:00:00 2001
+From: Xiaomeng Tong <xiam0nd.tong@gmail.com>
+Date: Sun, 27 Mar 2022 14:08:22 +0800
+Subject: ALSA: cs4236: fix an incorrect NULL check on list iterator
+
+From: Xiaomeng Tong <xiam0nd.tong@gmail.com>
+
+commit 0112f822f8a6d8039c94e0bc9b264d7ffc5d4704 upstream.
+
+The bug is here:
+       err = snd_card_cs423x_pnp(dev, card->private_data, pdev, cdev);
+
+The list iterator value 'cdev' will *always* be set and non-NULL
+by list_for_each_entry(), so it is incorrect to assume that the
+iterator value will be NULL if the list is empty or no element
+is found.
+
+To fix the bug, use a new variable 'iter' as the list iterator,
+while use the original variable 'cdev' as a dedicated pointer
+to point to the found element. And snd_card_cs423x_pnp() itself
+has NULL check for cdev.
+
+Cc: stable@vger.kernel.org
+Fixes: c2b73d1458014 ("ALSA: cs4236: cs4232 and cs4236 driver merge to solve PnP BIOS detection")
+Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com>
+Link: https://lore.kernel.org/r/20220327060822.4735-1-xiam0nd.tong@gmail.com
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/isa/cs423x/cs4236.c |    8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/sound/isa/cs423x/cs4236.c
++++ b/sound/isa/cs423x/cs4236.c
+@@ -559,7 +559,7 @@ static int snd_cs423x_pnpbios_detect(str
+       static int dev;
+       int err;
+       struct snd_card *card;
+-      struct pnp_dev *cdev;
++      struct pnp_dev *cdev, *iter;
+       char cid[PNP_ID_LEN];
+       if (pnp_device_is_isapnp(pdev))
+@@ -575,9 +575,11 @@ static int snd_cs423x_pnpbios_detect(str
+       strcpy(cid, pdev->id[0].id);
+       cid[5] = '1';
+       cdev = NULL;
+-      list_for_each_entry(cdev, &(pdev->protocol->devices), protocol_list) {
+-              if (!strcmp(cdev->id[0].id, cid))
++      list_for_each_entry(iter, &(pdev->protocol->devices), protocol_list) {
++              if (!strcmp(iter->id[0].id, cid)) {
++                      cdev = iter;
+                       break;
++              }
+       }
+       err = snd_cs423x_card_new(&pdev->dev, dev, &card);
+       if (err < 0)
diff --git a/queue-4.14/revert-input-clear-btn_right-middle-on-buttonpads.patch b/queue-4.14/revert-input-clear-btn_right-middle-on-buttonpads.patch
new file mode 100644 (file)
index 0000000..98f37a4
--- /dev/null
@@ -0,0 +1,62 @@
+From 8b188fba75195745026e11d408e4a7e94e01d701 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= <jose.exposito89@gmail.com>
+Date: Thu, 31 Mar 2022 21:15:36 -0700
+Subject: Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: José Expósito <jose.exposito89@gmail.com>
+
+commit 8b188fba75195745026e11d408e4a7e94e01d701 upstream.
+
+This reverts commit 37ef4c19b4c659926ce65a7ac709ceaefb211c40.
+
+The touchpad present in the Dell Precision 7550 and 7750 laptops
+reports a HID_DG_BUTTONTYPE of type MT_BUTTONTYPE_CLICKPAD. However,
+the device is not a clickpad, it is a touchpad with physical buttons.
+
+In order to fix this issue, a quirk for the device was introduced in
+libinput [1] [2] to disable the INPUT_PROP_BUTTONPAD property:
+
+       [Precision 7x50 Touchpad]
+       MatchBus=i2c
+       MatchUdevType=touchpad
+       MatchDMIModalias=dmi:*svnDellInc.:pnPrecision7?50*
+       AttrInputPropDisable=INPUT_PROP_BUTTONPAD
+
+However, because of the change introduced in 37ef4c19b4 ("Input: clear
+BTN_RIGHT/MIDDLE on buttonpads") the BTN_RIGHT key bit is not mapped
+anymore breaking the device right click button and making impossible to
+workaround it in user space.
+
+In order to avoid breakage on other present or future devices, revert
+the patch causing the issue.
+
+Signed-off-by: José Expósito <jose.exposito89@gmail.com>
+Reviewed-by: Hans de Goede <hdegoede@redhat.com>
+Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
+Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
+Cc: stable@vger.kernel.org
+Link: https://lore.kernel.org/r/20220321184404.20025-1-jose.exposito89@gmail.com
+Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/input/input.c |    6 ------
+ 1 file changed, 6 deletions(-)
+
+--- a/drivers/input/input.c
++++ b/drivers/input/input.c
+@@ -2120,12 +2120,6 @@ int input_register_device(struct input_d
+       /* KEY_RESERVED is not supposed to be transmitted to userspace. */
+       __clear_bit(KEY_RESERVED, dev->keybit);
+-      /* Buttonpads should not map BTN_RIGHT and/or BTN_MIDDLE. */
+-      if (test_bit(INPUT_PROP_BUTTONPAD, dev->propbit)) {
+-              __clear_bit(BTN_RIGHT, dev->keybit);
+-              __clear_bit(BTN_MIDDLE, dev->keybit);
+-      }
+-
+       /* Make sure that bitmasks not mentioned in dev->evbit are clean. */
+       input_cleanse_bitmasks(dev);
index 7bf2d9dd675c5c4948834e798ed7bddd143db6e0..161d82ce975a19d8756bcb96d8dd97a30ced2607 100644 (file)
@@ -32,3 +32,5 @@ mempolicy-mbind_range-set_policy-after-vma_merge.patch
 scsi-libsas-fix-sas_ata_qc_issue-handling-of-ncq-non-data-commands.patch
 qed-display-vf-trust-config.patch
 qed-validate-and-restrict-untrusted-vfs-vlan-promisc-mode.patch
+revert-input-clear-btn_right-middle-on-buttonpads.patch
+alsa-cs4236-fix-an-incorrect-null-check-on-list-iterator.patch