Skip to content

Commit 62b7d77

Browse files
committed
Merge tag 'v6.6.108' into 6.6-main
This is the 6.6.108 stable release # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmjVBSMACgkQONu9yGCS # aT5kqhAAr9LPxW9ZQucK5yWXsOWo4P9RduK4LA7K2yn08jfGfWrlPOmFWSFGx/o8 # TxbdfQnhdlmZ8JnHNxJEpO7oMy+MEg4g7k3zB4zJ5OcRIbJaWrV5n17Isrd4tIyG # B98eqYPVWHHBQKShe20e95TObyNBprDat8S7mdiq5YrBzpeQi44dGtlJcvnlUVuj # P9zDzhMvfOASFUBcHLv3g2lGjXl5r5cGeWLXAwOovqF7NOAFiKnbWTK+AP34zrPX # /g9Jov1psAbgSkcXkeE6sihXKgo1DpaRf4jEeSZoI6dgYl0yEviMxSXN24Z7QzNE # 8nkGDJBr0uJxnhEj/pWqGNeoJyUp6mPOqFO1xKlRf8cWUBEaVU0Y2939Q8PeS5mp # b463mTKb/K6RLqjvnYhT80XRJFmHj9fJlKgEbRBlwm5wmc93rmqKKupMgYTr2JQE # JgG4z3pTBYmUuyt1EHs4xzHsBpgOUUaC2/Zk4wCdHPhmvHmAzhMf51jGmMNTrUww # Ic6FzXnQD50lYPffrfbh8Qrsq3Z8MLSs7Q5FNVNfi5onZpRYOga9BEDPcY7tqUHY # MBUQuBhELdD8MNrwNa9bexZcDMTuJ67EEq6Hsg+0mow1xtWNxwEuT9ETcHUuyriU # 0CyoofVggxss3/M8VHt4AY4xsItRJDrFfa+RblP07lGwx4L6lyc= # =cyZt # -----END PGP SIGNATURE----- # gpg: Signature made Thu Sep 25 11:02:27 2025 CEST # gpg: using RSA key 647F28654894E3BD457199BE38DBBDC86092693E # gpg: Can't check signature: No public key
2 parents cfd697b + 147338d commit 62b7d77

87 files changed

Lines changed: 599 additions & 298 deletions

File tree

Some content is hidden

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

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 = 6
4-
SUBLEVEL = 107
4+
SUBLEVEL = 108
55
EXTRAVERSION =
66
NAME = Pinguïn Aangedreven
77

arch/loongarch/Kconfig

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -503,10 +503,14 @@ config ARCH_STRICT_ALIGN
503503
-mstrict-align build parameter to prevent unaligned accesses.
504504

505505
CPUs with h/w unaligned access support:
506-
Loongson-2K2000/2K3000/3A5000/3C5000/3D5000.
506+
Loongson-2K2000/2K3000 and all of Loongson-3 series processors
507+
based on LoongArch.
507508

508509
CPUs without h/w unaligned access support:
509-
Loongson-2K500/2K1000.
510+
Loongson-2K0300/2K0500/2K1000.
511+
512+
If you want to make sure whether to support unaligned memory access
513+
on your hardware, please read the bit 20 (UAL) of CPUCFG1 register.
510514

511515
This option is enabled by default to make the kernel be able to run
512516
on all LoongArch systems. But you can disable it manually if you want

arch/loongarch/include/asm/acenv.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@
1010
#ifndef _ASM_LOONGARCH_ACENV_H
1111
#define _ASM_LOONGARCH_ACENV_H
1212

13-
/*
14-
* This header is required by ACPI core, but we have nothing to fill in
15-
* right now. Will be updated later when needed.
16-
*/
13+
#ifdef CONFIG_ARCH_STRICT_ALIGN
14+
#define ACPI_MISALIGNMENT_NOT_SUPPORTED
15+
#endif /* CONFIG_ARCH_STRICT_ALIGN */
1716

1817
#endif /* _ASM_LOONGARCH_ACENV_H */

arch/loongarch/kernel/env.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ static int __init boardinfo_init(void)
7272
struct kobject *loongson_kobj;
7373

7474
loongson_kobj = kobject_create_and_add("loongson", firmware_kobj);
75+
if (!loongson_kobj)
76+
return -ENOMEM;
7577

7678
return sysfs_create_file(loongson_kobj, &boardinfo_attr.attr);
7779
}

arch/um/drivers/virtio_uml.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1229,10 +1229,12 @@ static int virtio_uml_probe(struct platform_device *pdev)
12291229
device_set_wakeup_capable(&vu_dev->vdev.dev, true);
12301230

12311231
rc = register_virtio_device(&vu_dev->vdev);
1232-
if (rc)
1232+
if (rc) {
12331233
put_device(&vu_dev->vdev.dev);
1234+
return rc;
1235+
}
12341236
vu_dev->registered = 1;
1235-
return rc;
1237+
return 0;
12361238

12371239
error_init:
12381240
os_close_file(vu_dev->sock);

arch/x86/kvm/svm/svm.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4029,8 +4029,7 @@ static inline void sync_lapic_to_cr8(struct kvm_vcpu *vcpu)
40294029
struct vcpu_svm *svm = to_svm(vcpu);
40304030
u64 cr8;
40314031

4032-
if (nested_svm_virtualize_tpr(vcpu) ||
4033-
kvm_vcpu_apicv_active(vcpu))
4032+
if (nested_svm_virtualize_tpr(vcpu))
40344033
return;
40354034

40364035
cr8 = kvm_get_cr8(vcpu);

arch/x86/mm/pgtable.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ static inline void pgd_list_del(pgd_t *pgd)
107107
#define UNSHARED_PTRS_PER_PGD \
108108
(SHARED_KERNEL_PMD ? KERNEL_PGD_BOUNDARY : PTRS_PER_PGD)
109109
#define MAX_UNSHARED_PTRS_PER_PGD \
110-
max_t(size_t, KERNEL_PGD_BOUNDARY, PTRS_PER_PGD)
110+
MAX_T(size_t, KERNEL_PGD_BOUNDARY, PTRS_PER_PGD)
111111

112112

113113
static void pgd_set_mm(pgd_t *pgd, struct mm_struct *mm)

crypto/af_alg.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -969,6 +969,12 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
969969
}
970970

971971
lock_sock(sk);
972+
if (ctx->write) {
973+
release_sock(sk);
974+
return -EBUSY;
975+
}
976+
ctx->write = true;
977+
972978
if (ctx->init && !ctx->more) {
973979
if (ctx->used) {
974980
err = -EINVAL;
@@ -1018,6 +1024,8 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
10181024
continue;
10191025
}
10201026

1027+
ctx->merge = 0;
1028+
10211029
if (!af_alg_writable(sk)) {
10221030
err = af_alg_wait_for_wmem(sk, msg->msg_flags);
10231031
if (err)
@@ -1057,7 +1065,6 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
10571065
ctx->used += plen;
10581066
copied += plen;
10591067
size -= plen;
1060-
ctx->merge = 0;
10611068
} else {
10621069
do {
10631070
struct page *pg;
@@ -1103,6 +1110,7 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
11031110

11041111
unlock:
11051112
af_alg_data_wakeup(sk);
1113+
ctx->write = false;
11061114
release_sock(sk);
11071115

11081116
return copied ?: err;

drivers/block/loop.c

Lines changed: 8 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1472,36 +1472,19 @@ static int loop_set_dio(struct loop_device *lo, unsigned long arg)
14721472
return error;
14731473
}
14741474

1475-
static int loop_set_block_size(struct loop_device *lo, blk_mode_t mode,
1476-
struct block_device *bdev, unsigned long arg)
1475+
static int loop_set_block_size(struct loop_device *lo, unsigned long arg)
14771476
{
14781477
int err = 0;
14791478

1480-
/*
1481-
* If we don't hold exclusive handle for the device, upgrade to it
1482-
* here to avoid changing device under exclusive owner.
1483-
*/
1484-
if (!(mode & BLK_OPEN_EXCL)) {
1485-
err = bd_prepare_to_claim(bdev, loop_set_block_size, NULL);
1486-
if (err)
1487-
return err;
1488-
}
1489-
1490-
err = mutex_lock_killable(&lo->lo_mutex);
1491-
if (err)
1492-
goto abort_claim;
1493-
1494-
if (lo->lo_state != Lo_bound) {
1495-
err = -ENXIO;
1496-
goto unlock;
1497-
}
1479+
if (lo->lo_state != Lo_bound)
1480+
return -ENXIO;
14981481

14991482
err = blk_validate_block_size(arg);
15001483
if (err)
15011484
return err;
15021485

15031486
if (lo->lo_queue->limits.logical_block_size == arg)
1504-
goto unlock;
1487+
return 0;
15051488

15061489
sync_blockdev(lo->lo_device);
15071490
invalidate_bdev(lo->lo_device);
@@ -1513,11 +1496,6 @@ static int loop_set_block_size(struct loop_device *lo, blk_mode_t mode,
15131496
loop_update_dio(lo);
15141497
blk_mq_unfreeze_queue(lo->lo_queue);
15151498

1516-
unlock:
1517-
mutex_unlock(&lo->lo_mutex);
1518-
abort_claim:
1519-
if (!(mode & BLK_OPEN_EXCL))
1520-
bd_abort_claiming(bdev, loop_set_block_size);
15211499
return err;
15221500
}
15231501

@@ -1536,6 +1514,9 @@ static int lo_simple_ioctl(struct loop_device *lo, unsigned int cmd,
15361514
case LOOP_SET_DIRECT_IO:
15371515
err = loop_set_dio(lo, arg);
15381516
break;
1517+
case LOOP_SET_BLOCK_SIZE:
1518+
err = loop_set_block_size(lo, arg);
1519+
break;
15391520
default:
15401521
err = -EINVAL;
15411522
}
@@ -1590,12 +1571,9 @@ static int lo_ioctl(struct block_device *bdev, blk_mode_t mode,
15901571
break;
15911572
case LOOP_GET_STATUS64:
15921573
return loop_get_status64(lo, argp);
1593-
case LOOP_SET_BLOCK_SIZE:
1594-
if (!(mode & BLK_OPEN_WRITE) && !capable(CAP_SYS_ADMIN))
1595-
return -EPERM;
1596-
return loop_set_block_size(lo, mode, bdev, arg);
15971574
case LOOP_SET_CAPACITY:
15981575
case LOOP_SET_DIRECT_IO:
1576+
case LOOP_SET_BLOCK_SIZE:
15991577
if (!(mode & BLK_OPEN_WRITE) && !capable(CAP_SYS_ADMIN))
16001578
return -EPERM;
16011579
fallthrough;

drivers/edac/sb_edac.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ static const u32 knl_interleave_list[] = {
109109
0x104, 0x10c, 0x114, 0x11c, /* 20-23 */
110110
};
111111
#define MAX_INTERLEAVE \
112-
(max_t(unsigned int, ARRAY_SIZE(sbridge_interleave_list), \
113-
max_t(unsigned int, ARRAY_SIZE(ibridge_interleave_list), \
112+
(MAX_T(unsigned int, ARRAY_SIZE(sbridge_interleave_list), \
113+
MAX_T(unsigned int, ARRAY_SIZE(ibridge_interleave_list), \
114114
ARRAY_SIZE(knl_interleave_list))))
115115

116116
struct interleave_pkg {

0 commit comments

Comments
 (0)