summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO4
-rw-r--r--0008-scsi-sd-Fix-sd_do_mode_sense-buffer-length-handling.patch37
-rw-r--r--PKGBUILD6
3 files changed, 44 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 68a28cddc541..8cd8c546c6d8 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = linux-ck
pkgver = 5.15.5
- pkgrel = 1
+ pkgrel = 2
url = https://wiki.archlinux.org/index.php/Linux-ck
arch = x86_64
license = GPL2
@@ -24,6 +24,7 @@ pkgbase = linux-ck
source = 0005-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch
source = 0006-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
source = 0007-lg-laptop-Recognize-more-models.patch
+ source = 0008-scsi-sd-Fix-sd_do_mode_sense-buffer-length-handling.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
b2sums = 2921b549a44ff4202ab96d35d6b7ce99bef914db5c1dba066fb7c4b146ef987d1aed53d0773fbe07cd6bb3b964d40b6f3f8c47f6a04149ea1c64e2f8f87343bb
@@ -38,6 +39,7 @@ pkgbase = linux-ck
b2sums = ff0599fb11714b2a1399a7c9b568e688472a8ed646c8a2eacfe78593cc4beae4d0675151d0a7742b15d6dbf815ce6a99678fca5da69defedee1416aadee6773d
b2sums = 87eb24ff13fa79660383749e6fb7f5aaaf42c725877f839d7c8be087c1692ac66ed2f3c66b1c779c9b8d823c798fd732eb4dcba091fd0ddce65de11c5eef07a2
b2sums = c842942c45c0fa816b9e5e6a4893a61986126fddb94c02854640f136d06ac20abc0fcc65b0f7196cc5a647fc075f343ad7da54fa541b46d75f00fac07b0063d1
+ b2sums = 0876ef25a850e218948d2f595732c51714b04dbc88a14fc1c599034eb2c4d742f171ff3fce1fcae628050f29aa48495c92a58471058649797fb1f1734cc5d7e0
pkgname = linux-ck
pkgdesc = The Linux-ck kernel and modules with ck's hrtimer patches
diff --git a/0008-scsi-sd-Fix-sd_do_mode_sense-buffer-length-handling.patch b/0008-scsi-sd-Fix-sd_do_mode_sense-buffer-length-handling.patch
new file mode 100644
index 000000000000..1697f546202f
--- /dev/null
+++ b/0008-scsi-sd-Fix-sd_do_mode_sense-buffer-length-handling.patch
@@ -0,0 +1,37 @@
+From c749301ebee82eb5e97dec14b6ab31a4aabe37a6 Mon Sep 17 00:00:00 2001
+From: Damien Le Moal <damien.lemoal@wdc.com>
+Date: Fri, 20 Aug 2021 16:02:55 +0900
+Subject: [PATCH] scsi: sd: Fix sd_do_mode_sense() buffer length handling
+
+For devices that explicitly asked for MODE SENSE(10) use, make sure that
+scsi_mode_sense() is called with a buffer of at least 8 bytes so that the
+sense header fits.
+
+Link: https://lore.kernel.org/r/20210820070255.682775-4-damien.lemoal@wdc.com
+Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
+Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
+---
+ drivers/scsi/sd.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
+index cbd9999f93a6..71fa70b42c2b 100644
+--- a/drivers/scsi/sd.c
++++ b/drivers/scsi/sd.c
+@@ -2604,6 +2604,13 @@ sd_do_mode_sense(struct scsi_disk *sdkp, int dbd, int modepage,
+ unsigned char *buffer, int len, struct scsi_mode_data *data,
+ struct scsi_sense_hdr *sshdr)
+ {
++ /*
++ * If we must use MODE SENSE(10), make sure that the buffer length
++ * is at least 8 bytes so that the mode sense header fits.
++ */
++ if (sdkp->device->use_10_for_ms && len < 8)
++ len = 8;
++
+ return scsi_mode_sense(sdkp->device, dbd, modepage, buffer, len,
+ SD_TIMEOUT, sdkp->max_retries, data,
+ sshdr);
+--
+2.34.1
+
diff --git a/PKGBUILD b/PKGBUILD
index c506fe463dd9..09211c0d0ee6 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -65,7 +65,7 @@ _subarch=
### IMPORTANT: Do no edit below this line unless you know what you're doing
pkgbase=linux-ck
pkgver=5.15.5
-pkgrel=1
+pkgrel=2
arch=(x86_64)
url="https://wiki.archlinux.org/index.php/Linux-ck"
license=(GPL2)
@@ -92,6 +92,7 @@ source=(
0005-cpufreq-intel_pstate-ITMT-support-for-overclocked-sy.patch
0006-Bluetooth-btintel-Fix-bdaddress-comparison-with-garb.patch
0007-lg-laptop-Recognize-more-models.patch
+ 0008-scsi-sd-Fix-sd_do_mode_sense-buffer-length-handling.patch
)
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
@@ -108,7 +109,8 @@ b2sums=('2921b549a44ff4202ab96d35d6b7ce99bef914db5c1dba066fb7c4b146ef987d1aed53d
'640d8a6ff7394d2cab6ac949ce73cb14696165897f9c453a8cfafa93a071f3cbcdd5db90c0e6e35ec4f33276912034f1232bdb419029746d78c351dc2120eab8'
'ff0599fb11714b2a1399a7c9b568e688472a8ed646c8a2eacfe78593cc4beae4d0675151d0a7742b15d6dbf815ce6a99678fca5da69defedee1416aadee6773d'
'87eb24ff13fa79660383749e6fb7f5aaaf42c725877f839d7c8be087c1692ac66ed2f3c66b1c779c9b8d823c798fd732eb4dcba091fd0ddce65de11c5eef07a2'
- 'c842942c45c0fa816b9e5e6a4893a61986126fddb94c02854640f136d06ac20abc0fcc65b0f7196cc5a647fc075f343ad7da54fa541b46d75f00fac07b0063d1')
+ 'c842942c45c0fa816b9e5e6a4893a61986126fddb94c02854640f136d06ac20abc0fcc65b0f7196cc5a647fc075f343ad7da54fa541b46d75f00fac07b0063d1'
+ '0876ef25a850e218948d2f595732c51714b04dbc88a14fc1c599034eb2c4d742f171ff3fce1fcae628050f29aa48495c92a58471058649797fb1f1734cc5d7e0')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase