Skip to content

Commit ad077e6

Browse files
committed
Merge tag 'v6.1.128' into orange-pi-6.1-rk35xx
This is the 6.1.128 stable release * tag 'v6.1.128' of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux: Linux 6.1.128 drm/v3d: Assign job pointer to NULL before signaling the fence ASoC: samsung: midas_wm1811: Fix 'Headphone Switch' control creation smb: client: fix NULL ptr deref in crypto_aead_setkey() Input: xpad - add support for wooting two he (arm) Input: xpad - add unofficial Xbox 360 wireless receiver clone Input: atkbd - map F23 key to support default copilot shortcut ALSA: usb-audio: Add delay quirk for USB Audio Device Revert "usb: gadget: u_serial: Disable ep before setting port to null to fix the crash caused by port being null" USB: serial: quatech2: fix null-ptr-deref in qt2_process_read_urb() smb: client: fix UAF in async decryption wifi: iwlwifi: add a few rate index validity checks scsi: storvsc: Ratelimit warning logs to prevent VM denial of service ipv4: ip_tunnel: Fix suspicious RCU usage warning in ip_tunnel_find() ext4: fix access to uninitialised lock in fc replay path vfio/platform: check the bounds of read/write syscalls Revert "HID: multitouch: Add support for lenovo Y9000P Touchpad" block: fix integer overflow in BLKSECDISCARD net: sched: fix ets qdisc OOB Indexing io_uring: fix waiters missing wake ups gfs2: Truncate address space when flipping GFS2_DIF_JDATA flag xfs: respect the stable writes flag on the RT device xfs: clean up FS_XFLAG_REALTIME handling in xfs_ioctl_setattr_xflags xfs: dquot recovery does not validate the recovered dquot xfs: clean up dqblk extraction xfs: inode recovery does not validate the recovered inode xfs: fix internal error from AGFL exhaustion xfs: up(ic_sema) if flushing data device fails xfs: only remap the written blocks in xfs_reflink_end_cow_extent xfs: abort intent items when recovery intents fail xfs: factor out xfs_defer_pending_abort xfs: allow read IO and FICLONE to run concurrently xfs: handle nimaps=0 from xfs_bmapi_write in xfs_alloc_file_space xfs: introduce protection for drop nlink xfs: make sure maxlen is still congruent with prod when rounding down xfs: fix units conversion error in xfs_bmap_del_extent_delay xfs: rt stubs should return negative errnos when rt disabled xfs: prevent rt growfs when quota is enabled xfs: hoist freeing of rt data fork extent mappings xfs: bump max fsgeom struct version softirq: Allow raising SCHED_SOFTIRQ from SMP-call-function on RT kernel ipv6: Fix soft lockups in fib6_select_path under high next hop churn regmap: detach regmap from dev on regmap_exit ASoC: samsung: Add missing depends on I2C ASoC: samsung: midas_wm1811: Map missing jack kcontrols irqchip/sunxi-nmi: Add missing SKIP_WAKE flag drm/amd/display: Use HW lock mgr for PSR1 scsi: iscsi: Fix redundant response for ISCSI_UEVENT_GET_HOST_STATS request seccomp: Stub for !CONFIG_SECCOMP ASoC: samsung: Add missing selects for MFD_WM8994 ASoC: wm8994: Add depends on MFD core Signed-off-by: Khusika Dhamar Gusti <[email protected]>
2 parents 4a11453 + 0cbb5f6 commit ad077e6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+767
-187
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 6
33
PATCHLEVEL = 1
4-
SUBLEVEL = 127
4+
SUBLEVEL = 128
55
EXTRAVERSION =
66
NAME = Curry Ramen
77

block/ioctl.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ static int blk_ioctl_discard(struct block_device *bdev, fmode_t mode,
115115
return -EINVAL;
116116

117117
filemap_invalidate_lock(inode->i_mapping);
118-
err = truncate_bdev_range(bdev, mode, start, start + len - 1);
118+
err = truncate_bdev_range(bdev, mode, start, end - 1);
119119
if (err)
120120
goto fail;
121121
err = blkdev_issue_discard(bdev, start >> 9, len >> 9, GFP_KERNEL);
@@ -127,7 +127,7 @@ static int blk_ioctl_discard(struct block_device *bdev, fmode_t mode,
127127
static int blk_ioctl_secure_erase(struct block_device *bdev, fmode_t mode,
128128
void __user *argp)
129129
{
130-
uint64_t start, len;
130+
uint64_t start, len, end;
131131
uint64_t range[2];
132132
int err;
133133

@@ -142,11 +142,12 @@ static int blk_ioctl_secure_erase(struct block_device *bdev, fmode_t mode,
142142
len = range[1];
143143
if ((start & 511) || (len & 511))
144144
return -EINVAL;
145-
if (start + len > bdev_nr_bytes(bdev))
145+
if (check_add_overflow(start, len, &end) ||
146+
end > bdev_nr_bytes(bdev))
146147
return -EINVAL;
147148

148149
filemap_invalidate_lock(bdev->bd_inode->i_mapping);
149-
err = truncate_bdev_range(bdev, mode, start, start + len - 1);
150+
err = truncate_bdev_range(bdev, mode, start, end - 1);
150151
if (!err)
151152
err = blkdev_issue_secure_erase(bdev, start >> 9, len >> 9,
152153
GFP_KERNEL);

drivers/base/regmap/regmap.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,6 +652,17 @@ int regmap_attach_dev(struct device *dev, struct regmap *map,
652652
}
653653
EXPORT_SYMBOL_GPL(regmap_attach_dev);
654654

655+
static int dev_get_regmap_match(struct device *dev, void *res, void *data);
656+
657+
static int regmap_detach_dev(struct device *dev, struct regmap *map)
658+
{
659+
if (!dev)
660+
return 0;
661+
662+
return devres_release(dev, dev_get_regmap_release,
663+
dev_get_regmap_match, (void *)map->name);
664+
}
665+
655666
static enum regmap_endian regmap_get_reg_endian(const struct regmap_bus *bus,
656667
const struct regmap_config *config)
657668
{
@@ -1536,6 +1547,7 @@ void regmap_exit(struct regmap *map)
15361547
{
15371548
struct regmap_async *async;
15381549

1550+
regmap_detach_dev(map->dev, map);
15391551
regcache_exit(map);
15401552
regmap_debugfs_exit(map);
15411553
regmap_range_exit(map);

drivers/gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ void dmub_hw_lock_mgr_inbox0_cmd(struct dc_dmub_srv *dmub_srv,
6565

6666
bool should_use_dmub_lock(struct dc_link *link)
6767
{
68-
if (link->psr_settings.psr_version == DC_PSR_VERSION_SU_1)
68+
if (link->psr_settings.psr_version == DC_PSR_VERSION_SU_1 ||
69+
link->psr_settings.psr_version == DC_PSR_VERSION_1)
6970
return true;
7071
return false;
7172
}

drivers/gpu/drm/v3d/v3d_irq.c

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,10 @@ v3d_irq(int irq, void *arg)
102102
to_v3d_fence(v3d->bin_job->base.irq_fence);
103103

104104
trace_v3d_bcl_irq(&v3d->drm, fence->seqno);
105-
dma_fence_signal(&fence->base);
105+
106106
v3d->bin_job = NULL;
107+
dma_fence_signal(&fence->base);
108+
107109
status = IRQ_HANDLED;
108110
}
109111

@@ -112,8 +114,10 @@ v3d_irq(int irq, void *arg)
112114
to_v3d_fence(v3d->render_job->base.irq_fence);
113115

114116
trace_v3d_rcl_irq(&v3d->drm, fence->seqno);
115-
dma_fence_signal(&fence->base);
117+
116118
v3d->render_job = NULL;
119+
dma_fence_signal(&fence->base);
120+
117121
status = IRQ_HANDLED;
118122
}
119123

@@ -122,8 +126,10 @@ v3d_irq(int irq, void *arg)
122126
to_v3d_fence(v3d->csd_job->base.irq_fence);
123127

124128
trace_v3d_csd_irq(&v3d->drm, fence->seqno);
125-
dma_fence_signal(&fence->base);
129+
126130
v3d->csd_job = NULL;
131+
dma_fence_signal(&fence->base);
132+
127133
status = IRQ_HANDLED;
128134
}
129135

@@ -159,8 +165,10 @@ v3d_hub_irq(int irq, void *arg)
159165
to_v3d_fence(v3d->tfu_job->base.irq_fence);
160166

161167
trace_v3d_tfu_irq(&v3d->drm, fence->seqno);
162-
dma_fence_signal(&fence->base);
168+
163169
v3d->tfu_job = NULL;
170+
dma_fence_signal(&fence->base);
171+
164172
status = IRQ_HANDLED;
165173
}
166174

drivers/hid/hid-ids.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,6 @@
507507
#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_E100 0xe100
508508

509509
#define I2C_VENDOR_ID_GOODIX 0x27c6
510-
#define I2C_DEVICE_ID_GOODIX_01E0 0x01e0
511510
#define I2C_DEVICE_ID_GOODIX_01E8 0x01e8
512511
#define I2C_DEVICE_ID_GOODIX_01E9 0x01e9
513512
#define I2C_DEVICE_ID_GOODIX_01F0 0x01f0

drivers/hid/hid-multitouch.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1447,8 +1447,7 @@ static __u8 *mt_report_fixup(struct hid_device *hdev, __u8 *rdesc,
14471447
{
14481448
if (hdev->vendor == I2C_VENDOR_ID_GOODIX &&
14491449
(hdev->product == I2C_DEVICE_ID_GOODIX_01E8 ||
1450-
hdev->product == I2C_DEVICE_ID_GOODIX_01E9 ||
1451-
hdev->product == I2C_DEVICE_ID_GOODIX_01E0)) {
1450+
hdev->product == I2C_DEVICE_ID_GOODIX_01E9)) {
14521451
if (rdesc[607] == 0x15) {
14531452
rdesc[607] = 0x25;
14541453
dev_info(
@@ -2073,10 +2072,7 @@ static const struct hid_device_id mt_devices[] = {
20732072
I2C_DEVICE_ID_GOODIX_01E8) },
20742073
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
20752074
HID_DEVICE(BUS_I2C, HID_GROUP_ANY, I2C_VENDOR_ID_GOODIX,
2076-
I2C_DEVICE_ID_GOODIX_01E9) },
2077-
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU,
2078-
HID_DEVICE(BUS_I2C, HID_GROUP_ANY, I2C_VENDOR_ID_GOODIX,
2079-
I2C_DEVICE_ID_GOODIX_01E0) },
2075+
I2C_DEVICE_ID_GOODIX_01E8) },
20802076

20812077
/* GoodTouch panels */
20822078
{ .driver_data = MT_CLS_NSMU,

drivers/input/joystick/xpad.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,7 @@ static const struct xpad_device {
145145
{ 0x045e, 0x028e, "Microsoft X-Box 360 pad", 0, XTYPE_XBOX360 },
146146
{ 0x045e, 0x028f, "Microsoft X-Box 360 pad v2", 0, XTYPE_XBOX360 },
147147
{ 0x045e, 0x0291, "Xbox 360 Wireless Receiver (XBOX)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360W },
148+
{ 0x045e, 0x02a9, "Xbox 360 Wireless Receiver (Unofficial)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360W },
148149
{ 0x045e, 0x02d1, "Microsoft X-Box One pad", 0, XTYPE_XBOXONE },
149150
{ 0x045e, 0x02dd, "Microsoft X-Box One pad (Firmware 2015)", 0, XTYPE_XBOXONE },
150151
{ 0x045e, 0x02e3, "Microsoft X-Box One Elite pad", MAP_PADDLES, XTYPE_XBOXONE },
@@ -366,6 +367,7 @@ static const struct xpad_device {
366367
{ 0x31e3, 0x1200, "Wooting Two", 0, XTYPE_XBOX360 },
367368
{ 0x31e3, 0x1210, "Wooting Lekker", 0, XTYPE_XBOX360 },
368369
{ 0x31e3, 0x1220, "Wooting Two HE", 0, XTYPE_XBOX360 },
370+
{ 0x31e3, 0x1230, "Wooting Two HE (ARM)", 0, XTYPE_XBOX360 },
369371
{ 0x31e3, 0x1300, "Wooting 60HE (AVR)", 0, XTYPE_XBOX360 },
370372
{ 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 },
371373
{ 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 },

drivers/input/keyboard/atkbd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ static const unsigned short atkbd_set2_keycode[ATKBD_KEYMAP_SIZE] = {
8989
0, 46, 45, 32, 18, 5, 4, 95, 0, 57, 47, 33, 20, 19, 6,183,
9090
0, 49, 48, 35, 34, 21, 7,184, 0, 0, 50, 36, 22, 8, 9,185,
9191
0, 51, 37, 23, 24, 11, 10, 0, 0, 52, 53, 38, 39, 25, 12, 0,
92-
0, 89, 40, 0, 26, 13, 0, 0, 58, 54, 28, 27, 0, 43, 0, 85,
92+
0, 89, 40, 0, 26, 13, 0,193, 58, 54, 28, 27, 0, 43, 0, 85,
9393
0, 86, 91, 90, 92, 0, 14, 94, 0, 79,124, 75, 71,121, 0, 0,
9494
82, 83, 80, 76, 77, 72, 1, 69, 87, 78, 81, 74, 55, 73, 70, 99,
9595

drivers/irqchip/irq-sunxi-nmi.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,8 @@ static int __init sunxi_sc_nmi_irq_init(struct device_node *node,
187187
gc->chip_types[0].chip.irq_unmask = irq_gc_mask_set_bit;
188188
gc->chip_types[0].chip.irq_eoi = irq_gc_ack_set_bit;
189189
gc->chip_types[0].chip.irq_set_type = sunxi_sc_nmi_set_type;
190-
gc->chip_types[0].chip.flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED;
190+
gc->chip_types[0].chip.flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED |
191+
IRQCHIP_SKIP_SET_WAKE;
191192
gc->chip_types[0].regs.ack = reg_offs->pend;
192193
gc->chip_types[0].regs.mask = reg_offs->enable;
193194
gc->chip_types[0].regs.type = reg_offs->ctrl;

0 commit comments

Comments
 (0)