* [PATCH AUTOSEL 5.15 02/10] irqchip/ocelot: Fix trigger register address
2024-10-23 14:32 [PATCH AUTOSEL 5.15 01/10] 9p: Avoid creating multiple slab caches with the same name Sasha Levin
@ 2024-10-23 14:32 ` Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 03/10] block: Fix elevator_get_default() checking for NULL q->tag_set Sasha Levin
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-10-23 14:32 UTC (permalink / raw)
To: linux-kernel, stable; +Cc: Sergey Matsievskiy, Thomas Gleixner, Sasha Levin
From: Sergey Matsievskiy <matsievskiysv@gmail.com>
[ Upstream commit 9e9c4666abb5bb444dac37e2d7eb5250c8d52a45 ]
Controllers, supported by this driver, have two sets of registers:
* (main) interrupt registers control peripheral interrupt sources.
* device interrupt registers configure per-device (network interface)
interrupts and act as an extra stage before the main interrupt
registers.
In the driver unmask code, device trigger registers are used in the mask
calculation of the main interrupt sticky register, mixing two kinds of
registers.
Use the main interrupt trigger register instead.
Signed-off-by: Sergey Matsievskiy <matsievskiysv@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20240925184416.54204-2-matsievskiysv@gmail.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/irqchip/irq-mscc-ocelot.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/irqchip/irq-mscc-ocelot.c b/drivers/irqchip/irq-mscc-ocelot.c
index 4d0c3532dbe73..c19ab379e8c5e 100644
--- a/drivers/irqchip/irq-mscc-ocelot.c
+++ b/drivers/irqchip/irq-mscc-ocelot.c
@@ -37,7 +37,7 @@ static struct chip_props ocelot_props = {
.reg_off_ena_clr = 0x1c,
.reg_off_ena_set = 0x20,
.reg_off_ident = 0x38,
- .reg_off_trigger = 0x5c,
+ .reg_off_trigger = 0x4,
.n_irq = 24,
};
@@ -70,7 +70,7 @@ static struct chip_props jaguar2_props = {
.reg_off_ena_clr = 0x1c,
.reg_off_ena_set = 0x20,
.reg_off_ident = 0x38,
- .reg_off_trigger = 0x5c,
+ .reg_off_trigger = 0x4,
.n_irq = 29,
};
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.15 03/10] block: Fix elevator_get_default() checking for NULL q->tag_set
2024-10-23 14:32 [PATCH AUTOSEL 5.15 01/10] 9p: Avoid creating multiple slab caches with the same name Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 02/10] irqchip/ocelot: Fix trigger register address Sasha Levin
@ 2024-10-23 14:32 ` Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 04/10] HID: multitouch: Add support for B2402FVA track point Sasha Levin
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-10-23 14:32 UTC (permalink / raw)
To: linux-kernel, stable
Cc: SurajSonawane2415, Jens Axboe, Sasha Levin, linux-block
From: SurajSonawane2415 <surajsonawane0215@gmail.com>
[ Upstream commit b402328a24ee7193a8ab84277c0c90ae16768126 ]
elevator_get_default() and elv_support_iosched() both check for whether
or not q->tag_set is non-NULL, however it's not possible for them to be
NULL. This messes up some static checkers, as the checking of tag_set
isn't consistent.
Remove the checks, which both simplifies the logic and avoids checker
errors.
Signed-off-by: SurajSonawane2415 <surajsonawane0215@gmail.com>
Link: https://lore.kernel.org/r/20241007111416.13814-1-surajsonawane0215@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
block/elevator.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/block/elevator.c b/block/elevator.c
index 1b5e57f6115f3..a98e8356f1b87 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -620,7 +620,7 @@ int elevator_switch_mq(struct request_queue *q,
static inline bool elv_support_iosched(struct request_queue *q)
{
if (!queue_is_mq(q) ||
- (q->tag_set && (q->tag_set->flags & BLK_MQ_F_NO_SCHED)))
+ (q->tag_set->flags & BLK_MQ_F_NO_SCHED))
return false;
return true;
}
@@ -631,7 +631,7 @@ static inline bool elv_support_iosched(struct request_queue *q)
*/
static struct elevator_type *elevator_get_default(struct request_queue *q)
{
- if (q->tag_set && q->tag_set->flags & BLK_MQ_F_NO_SCHED_BY_DEFAULT)
+ if (q->tag_set->flags & BLK_MQ_F_NO_SCHED_BY_DEFAULT)
return NULL;
if (q->nr_hw_queues != 1 &&
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.15 04/10] HID: multitouch: Add support for B2402FVA track point
2024-10-23 14:32 [PATCH AUTOSEL 5.15 01/10] 9p: Avoid creating multiple slab caches with the same name Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 02/10] irqchip/ocelot: Fix trigger register address Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 03/10] block: Fix elevator_get_default() checking for NULL q->tag_set Sasha Levin
@ 2024-10-23 14:32 ` Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 05/10] HID: multitouch: Add quirk for HONOR MagicBook Art 14 touchpad Sasha Levin
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-10-23 14:32 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Stefan Blum, Stefan Blum, Jiri Kosina, Sasha Levin, jikos,
bentiss, linux-input
From: Stefan Blum <stefanblum2004@gmail.com>
[ Upstream commit 1a5cbb526ec4b885177d06a8bc04f38da7dbb1d9 ]
By default the track point does not work on the Asus Expertbook B2402FVA.
From libinput record i got the ID of the track point device:
evdev:
# Name: ASUE1201:00 04F3:32AE
# ID: bus 0x18 vendor 0x4f3 product 0x32ae version 0x100
I found that the track point is functional, when i set the
MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU class for the reported device.
Signed-off-by: Stefan Blum <stefan.blum@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/hid/hid-multitouch.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 6a3f4371bd109..116876d710932 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -2017,6 +2017,10 @@ static const struct hid_device_id mt_devices[] = {
HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
USB_VENDOR_ID_ELAN, 0x3148) },
+ { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
+ HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
+ USB_VENDOR_ID_ELAN, 0x32ae) },
+
/* Elitegroup panel */
{ .driver_data = MT_CLS_SERIAL,
MT_USB_DEVICE(USB_VENDOR_ID_ELITEGROUP,
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.15 05/10] HID: multitouch: Add quirk for HONOR MagicBook Art 14 touchpad
2024-10-23 14:32 [PATCH AUTOSEL 5.15 01/10] 9p: Avoid creating multiple slab caches with the same name Sasha Levin
` (2 preceding siblings ...)
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 04/10] HID: multitouch: Add support for B2402FVA track point Sasha Levin
@ 2024-10-23 14:32 ` Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 06/10] bpf: use kvzmalloc to allocate BPF verifier environment Sasha Levin
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-10-23 14:32 UTC (permalink / raw)
To: linux-kernel, stable
Cc: WangYuli, Wentao Guan, Benjamin Tissoires, Jiri Kosina,
Sasha Levin, jikos, linux-input
From: WangYuli <wangyuli@uniontech.com>
[ Upstream commit 7a5ab8071114344f62a8b1e64ed3452a77257d76 ]
The behavior of HONOR MagicBook Art 14 touchpad is not consistent
after reboots, as sometimes it reports itself as a touchpad, and
sometimes as a mouse.
Similarly to GLO-GXXX it is possible to call MT_QUIRK_FORCE_GET_FEATURE as a
workaround to force set feature in mt_set_input_mode() for such special touchpad
device.
[jkosina@suse.com: reword changelog a little bit]
Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/1040
Signed-off-by: Wentao Guan <guanwentao@uniontech.com>
Signed-off-by: WangYuli <wangyuli@uniontech.com>
Reviewed-by: Benjamin Tissoires <bentiss@kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/hid/hid-multitouch.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 116876d710932..8f6e410af7016 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -2087,6 +2087,11 @@ static const struct hid_device_id mt_devices[] = {
HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
0x347d, 0x7853) },
+ /* HONOR MagicBook Art 14 touchpad */
+ { .driver_data = MT_CLS_VTL,
+ HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
+ 0x35cc, 0x0104) },
+
/* Ilitek dual touch panel */
{ .driver_data = MT_CLS_NSMU,
MT_USB_DEVICE(USB_VENDOR_ID_ILITEK,
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.15 06/10] bpf: use kvzmalloc to allocate BPF verifier environment
2024-10-23 14:32 [PATCH AUTOSEL 5.15 01/10] 9p: Avoid creating multiple slab caches with the same name Sasha Levin
` (3 preceding siblings ...)
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 05/10] HID: multitouch: Add quirk for HONOR MagicBook Art 14 touchpad Sasha Levin
@ 2024-10-23 14:32 ` Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 07/10] crypto: marvell/cesa - Disable hash algorithms Sasha Levin
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-10-23 14:32 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Rik van Riel, Shakeel Butt, Alexei Starovoitov, Sasha Levin,
daniel, andrii, bpf
From: Rik van Riel <riel@surriel.com>
[ Upstream commit 434247637c66e1be2bc71a9987d4c3f0d8672387 ]
The kzmalloc call in bpf_check can fail when memory is very fragmented,
which in turn can lead to an OOM kill.
Use kvzmalloc to fall back to vmalloc when memory is too fragmented to
allocate an order 3 sized bpf verifier environment.
Admittedly this is not a very common case, and only happens on systems
where memory has already been squeezed close to the limit, but this does
not seem like much of a hot path, and it's a simple enough fix.
Signed-off-by: Rik van Riel <riel@surriel.com>
Reviewed-by: Shakeel Butt <shakeel.butt@linux.dev>
Link: https://lore.kernel.org/r/20241008170735.16766766@imladris.surriel.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
kernel/bpf/verifier.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 88b38db5f626d..e29c0581f93ad 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -14013,7 +14013,7 @@ int bpf_check(struct bpf_prog **prog, union bpf_attr *attr, bpfptr_t uattr)
/* 'struct bpf_verifier_env' can be global, but since it's not small,
* allocate/free it every time bpf_check() is called
*/
- env = kzalloc(sizeof(struct bpf_verifier_env), GFP_KERNEL);
+ env = kvzalloc(sizeof(struct bpf_verifier_env), GFP_KERNEL);
if (!env)
return -ENOMEM;
log = &env->log;
@@ -14228,6 +14228,6 @@ int bpf_check(struct bpf_prog **prog, union bpf_attr *attr, bpfptr_t uattr)
mutex_unlock(&bpf_verifier_lock);
vfree(env->insn_aux_data);
err_free_env:
- kfree(env);
+ kvfree(env);
return ret;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.15 07/10] crypto: marvell/cesa - Disable hash algorithms
2024-10-23 14:32 [PATCH AUTOSEL 5.15 01/10] 9p: Avoid creating multiple slab caches with the same name Sasha Levin
` (4 preceding siblings ...)
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 06/10] bpf: use kvzmalloc to allocate BPF verifier environment Sasha Levin
@ 2024-10-23 14:32 ` Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 08/10] sound: Make CONFIG_SND depend on INDIRECT_IOMEM instead of UML Sasha Levin
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-10-23 14:32 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Herbert Xu, Klaus Kudielka, Sasha Levin, bbrezillon, arno,
schalla, davem, linux-crypto
From: Herbert Xu <herbert@gondor.apana.org.au>
[ Upstream commit e845d2399a00f866f287e0cefbd4fc7d8ef0d2f7 ]
Disable cesa hash algorithms by lowering the priority because they
appear to be broken when invoked in parallel. This allows them to
still be tested for debugging purposes.
Reported-by: Klaus Kudielka <klaus.kudielka@gmail.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/crypto/marvell/cesa/hash.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/crypto/marvell/cesa/hash.c b/drivers/crypto/marvell/cesa/hash.c
index c72b0672fc710..84c1065092796 100644
--- a/drivers/crypto/marvell/cesa/hash.c
+++ b/drivers/crypto/marvell/cesa/hash.c
@@ -947,7 +947,7 @@ struct ahash_alg mv_md5_alg = {
.base = {
.cra_name = "md5",
.cra_driver_name = "mv-md5",
- .cra_priority = 300,
+ .cra_priority = 0,
.cra_flags = CRYPTO_ALG_ASYNC |
CRYPTO_ALG_ALLOCATES_MEMORY |
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1018,7 +1018,7 @@ struct ahash_alg mv_sha1_alg = {
.base = {
.cra_name = "sha1",
.cra_driver_name = "mv-sha1",
- .cra_priority = 300,
+ .cra_priority = 0,
.cra_flags = CRYPTO_ALG_ASYNC |
CRYPTO_ALG_ALLOCATES_MEMORY |
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1092,7 +1092,7 @@ struct ahash_alg mv_sha256_alg = {
.base = {
.cra_name = "sha256",
.cra_driver_name = "mv-sha256",
- .cra_priority = 300,
+ .cra_priority = 0,
.cra_flags = CRYPTO_ALG_ASYNC |
CRYPTO_ALG_ALLOCATES_MEMORY |
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1327,7 +1327,7 @@ struct ahash_alg mv_ahmac_md5_alg = {
.base = {
.cra_name = "hmac(md5)",
.cra_driver_name = "mv-hmac-md5",
- .cra_priority = 300,
+ .cra_priority = 0,
.cra_flags = CRYPTO_ALG_ASYNC |
CRYPTO_ALG_ALLOCATES_MEMORY |
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1398,7 +1398,7 @@ struct ahash_alg mv_ahmac_sha1_alg = {
.base = {
.cra_name = "hmac(sha1)",
.cra_driver_name = "mv-hmac-sha1",
- .cra_priority = 300,
+ .cra_priority = 0,
.cra_flags = CRYPTO_ALG_ASYNC |
CRYPTO_ALG_ALLOCATES_MEMORY |
CRYPTO_ALG_KERN_DRIVER_ONLY,
@@ -1469,7 +1469,7 @@ struct ahash_alg mv_ahmac_sha256_alg = {
.base = {
.cra_name = "hmac(sha256)",
.cra_driver_name = "mv-hmac-sha256",
- .cra_priority = 300,
+ .cra_priority = 0,
.cra_flags = CRYPTO_ALG_ASYNC |
CRYPTO_ALG_ALLOCATES_MEMORY |
CRYPTO_ALG_KERN_DRIVER_ONLY,
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.15 08/10] sound: Make CONFIG_SND depend on INDIRECT_IOMEM instead of UML
2024-10-23 14:32 [PATCH AUTOSEL 5.15 01/10] 9p: Avoid creating multiple slab caches with the same name Sasha Levin
` (5 preceding siblings ...)
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 07/10] crypto: marvell/cesa - Disable hash algorithms Sasha Levin
@ 2024-10-23 14:32 ` Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 09/10] drm/vmwgfx: Limit display layout ioctl array size to VMWGFX_NUM_DISPLAY_UNITS Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 10/10] powerpc/powernv: Free name on error in opal_event_init() Sasha Levin
8 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-10-23 14:32 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Julian Vetter, Yann Sionneau, Takashi Iwai, Sasha Levin, perex,
tiwai, linux-sound
From: Julian Vetter <jvetter@kalrayinc.com>
[ Upstream commit ad6639f143a0b42d7fb110ad14f5949f7c218890 ]
When building for the UM arch and neither INDIRECT_IOMEM=y, nor
HAS_IOMEM=y is selected, it will fall back to the implementations from
asm-generic/io.h for IO memcpy. But these fall-back functions just do a
memcpy. So, instead of depending on UML, add dependency on 'HAS_IOMEM ||
INDIRECT_IOMEM'.
Reviewed-by: Yann Sionneau <ysionneau@kalrayinc.com>
Signed-off-by: Julian Vetter <jvetter@kalrayinc.com>
Link: https://patch.msgid.link/20241010124601.700528-1-jvetter@kalrayinc.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
sound/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/Kconfig b/sound/Kconfig
index 1903c35d799e1..5848eedcc3c9f 100644
--- a/sound/Kconfig
+++ b/sound/Kconfig
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0-only
menuconfig SOUND
tristate "Sound card support"
- depends on HAS_IOMEM || UML
+ depends on HAS_IOMEM || INDIRECT_IOMEM
help
If you have a sound card in your computer, i.e. if it can say more
than an occasional beep, say Y.
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.15 09/10] drm/vmwgfx: Limit display layout ioctl array size to VMWGFX_NUM_DISPLAY_UNITS
2024-10-23 14:32 [PATCH AUTOSEL 5.15 01/10] 9p: Avoid creating multiple slab caches with the same name Sasha Levin
` (6 preceding siblings ...)
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 08/10] sound: Make CONFIG_SND depend on INDIRECT_IOMEM instead of UML Sasha Levin
@ 2024-10-23 14:32 ` Sasha Levin
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 10/10] powerpc/powernv: Free name on error in opal_event_init() Sasha Levin
8 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-10-23 14:32 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Ian Forbes, Zack Rusin, Martin Krastev, Sasha Levin,
maarten.lankhorst, mripard, tzimmermann, airlied, simona,
dri-devel
From: Ian Forbes <ian.forbes@broadcom.com>
[ Upstream commit 28a5dfd4f615539fb22fb6d5c219c199c14e6eb6 ]
Currently the array size is only limited by the largest kmalloc size which
is incorrect. This change will also return a more specific error message
than ENOMEM to userspace.
Signed-off-by: Ian Forbes <ian.forbes@broadcom.com>
Reviewed-by: Zack Rusin <zack.rusin@broadcom.com>
Reviewed-by: Martin Krastev <martin.krastev@broadcom.com>
Signed-off-by: Zack Rusin <zack.rusin@broadcom.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240808200634.1074083-1-ian.forbes@broadcom.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/gpu/drm/vmwgfx/vmwgfx_drv.h | 4 ++--
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c | 4 +++-
drivers/gpu/drm/vmwgfx/vmwgfx_kms.h | 3 ---
3 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
index 7bb7a69321d30..9c60bb2aefe1f 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_drv.h
@@ -59,7 +59,7 @@
#define VMWGFX_DRIVER_MINOR 19
#define VMWGFX_DRIVER_PATCHLEVEL 0
#define VMWGFX_FIFO_STATIC_SIZE (1024*1024)
-#define VMWGFX_MAX_DISPLAYS 16
+#define VMWGFX_NUM_DISPLAY_UNITS 8
#define VMWGFX_CMD_BOUNCE_INIT_SIZE 32768
#define VMWGFX_PCI_ID_SVGA2 0x0405
@@ -71,7 +71,7 @@
#define VMWGFX_NUM_GB_CONTEXT 256
#define VMWGFX_NUM_GB_SHADER 20000
#define VMWGFX_NUM_GB_SURFACE 32768
-#define VMWGFX_NUM_GB_SCREEN_TARGET VMWGFX_MAX_DISPLAYS
+#define VMWGFX_NUM_GB_SCREEN_TARGET VMWGFX_NUM_DISPLAY_UNITS
#define VMWGFX_NUM_DXCONTEXT 256
#define VMWGFX_NUM_DXQUERY 512
#define VMWGFX_NUM_MOB (VMWGFX_NUM_GB_CONTEXT +\
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
index e2a52b5de1733..736e3252c6b5d 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
@@ -2294,7 +2294,7 @@ int vmw_kms_update_layout_ioctl(struct drm_device *dev, void *data,
struct drm_mode_config *mode_config = &dev->mode_config;
struct drm_vmw_update_layout_arg *arg =
(struct drm_vmw_update_layout_arg *)data;
- void __user *user_rects;
+ const void __user *user_rects;
struct drm_vmw_rect *rects;
struct drm_rect *drm_rects;
unsigned rects_size;
@@ -2307,6 +2307,8 @@ int vmw_kms_update_layout_ioctl(struct drm_device *dev, void *data,
def_rect.x2, def_rect.y2);
vmw_du_update_layout(dev_priv, 1, &def_rect);
return 0;
+ } else if (arg->num_outputs > VMWGFX_NUM_DISPLAY_UNITS) {
+ return -E2BIG;
}
rects_size = arg->num_outputs * sizeof(struct drm_vmw_rect);
diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
index 23c2dc943caf0..85595d0bcfcec 100644
--- a/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
+++ b/drivers/gpu/drm/vmwgfx/vmwgfx_kms.h
@@ -198,9 +198,6 @@ struct vmw_kms_dirty {
s32 unit_y2;
};
-#define VMWGFX_NUM_DISPLAY_UNITS 8
-
-
#define vmw_framebuffer_to_vfb(x) \
container_of(x, struct vmw_framebuffer, base)
#define vmw_framebuffer_to_vfbs(x) \
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH AUTOSEL 5.15 10/10] powerpc/powernv: Free name on error in opal_event_init()
2024-10-23 14:32 [PATCH AUTOSEL 5.15 01/10] 9p: Avoid creating multiple slab caches with the same name Sasha Levin
` (7 preceding siblings ...)
2024-10-23 14:32 ` [PATCH AUTOSEL 5.15 09/10] drm/vmwgfx: Limit display layout ioctl array size to VMWGFX_NUM_DISPLAY_UNITS Sasha Levin
@ 2024-10-23 14:32 ` Sasha Levin
8 siblings, 0 replies; 10+ messages in thread
From: Sasha Levin @ 2024-10-23 14:32 UTC (permalink / raw)
To: linux-kernel, stable
Cc: Michael Ellerman, 2639161967, Sasha Levin, chentao, linuxppc-dev
From: Michael Ellerman <mpe@ellerman.id.au>
[ Upstream commit cf8989d20d64ad702a6210c11a0347ebf3852aa7 ]
In opal_event_init() if request_irq() fails name is not freed, leading
to a memory leak. The code only runs at boot time, there's no way for a
user to trigger it, so there's no security impact.
Fix the leak by freeing name in the error path.
Reported-by: 2639161967 <2639161967@qq.com>
Closes: https://lore.kernel.org/linuxppc-dev/87wmjp3wig.fsf@mail.lhotse
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://patch.msgid.link/20240920093520.67997-1-mpe@ellerman.id.au
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/powerpc/platforms/powernv/opal-irqchip.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/platforms/powernv/opal-irqchip.c b/arch/powerpc/platforms/powernv/opal-irqchip.c
index 391f505352007..e9849d70aee4a 100644
--- a/arch/powerpc/platforms/powernv/opal-irqchip.c
+++ b/arch/powerpc/platforms/powernv/opal-irqchip.c
@@ -282,6 +282,7 @@ int __init opal_event_init(void)
name, NULL);
if (rc) {
pr_warn("Error %d requesting OPAL irq %d\n", rc, (int)r->start);
+ kfree(name);
continue;
}
}
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread