6.1.1-rc1 review
Subsystems (2)
Greg Kroah-Hartman
maintainercover 6.1.1-rc1 review
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.1-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.1.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 6.1.1-rc1
Ferry Toth <[email protected]>
usb: ulpi: defer ulpi_register on ulpi_read_id timeout
Nikolaus Voss <[email protected]>
KEYS: encrypted: fix key instantiation with user-provided data
Paulo Alcantara <[email protected]>
cifs: fix oops during encryption
Shruthi Sanil <[email protected]>
usb: dwc3: pci: Update PCIe device ID for USB3 controller on CPU sub-system for Raptor Lake
Heikki Krogerus <[email protected]>
usb: typec: ucsi: Resume in separate work
Tony Nguyen <[email protected]>
igb: Initialize mailbox message for VF reset
Martin Kaiser <[email protected]>
staging: r8188eu: fix led register settings
Reka Norman <[email protected]>
xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N
Andy Chi <[email protected]>
ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook
Johan Hovold <[email protected]>
USB: serial: f81534: fix division by zero on line-speed change
Johan Hovold <[email protected]>
USB: serial: f81232: fix division by zero on line-speed change
Bruno Thomsen <[email protected]>
USB: serial: cp210x: add Kamstrup RF sniffer PIDs
Duke Xin <[email protected]>
USB: serial: option: add Quectel EM05-G modem
Szymon Heidrich <[email protected]>
usb: gadget: uvc: Prevent buffer overflow in setup handler
Jan Kara <[email protected]>
udf: Fix extending file within last block
Jan Kara <[email protected]>
udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
Jan Kara <[email protected]>
udf: Fix preallocation discarding at indirect extent boundary
Jan Kara <[email protected]>
udf: Discard preallocation before extending file with a hole
Sean Anderson <[email protected]>
irqchip/ls-extirq: Fix endianness detection
John Thomson <[email protected]>
mips: ralink: mt7621: do not use kzalloc too early
John Thomson <[email protected]>
mips: ralink: mt7621: soc queries and tests as functions
John Thomson <[email protected]>
mips: ralink: mt7621: define MT7621_SYSC_BASE with __iomem
John Thomson <[email protected]>
PCI: mt7621: Add sentinel to quirks table
David Michael <[email protected]>
libbpf: Fix uninitialized warning in btf_dump_dump_type_data
Nathan Chancellor <[email protected]>
x86/vdso: Conditionally export __vdso_sgx_enter_enclave()
-------------
Diffstat:
Documentation/security/keys/trusted-encrypted.rst | 3 +- Makefile | 4 +- arch/mips/include/asm/mach-ralink/mt7621.h | 4 +- arch/mips/ralink/mt7621.c | 97 ++++++++++----- arch/x86/entry/vdso/vdso.lds.S | 2 + drivers/irqchip/irq-ls-extirq.c | 2 +- drivers/net/ethernet/intel/igb/igb_main.c | 2 +- drivers/pci/controller/pcie-mt7621.c | 3 +- drivers/staging/r8188eu/core/rtw_led.c | 25 +--- drivers/usb/common/ulpi.c | 2 +- drivers/usb/dwc3/dwc3-pci.c | 2 +- drivers/usb/gadget/function/f_uvc.c | 5 +- drivers/usb/host/xhci-pci.c | 4 +- drivers/usb/serial/cp210x.c | 2 + drivers/usb/serial/f81232.c | 12 +- drivers/usb/serial/f81534.c | 12 +- drivers/usb/serial/option.c | 3 + drivers/usb/typec/ucsi/ucsi.c | 17 ++- drivers/usb/typec/ucsi/ucsi.h | 1 + fs/cifs/cifsglob.h | 68 ++++++++++ fs/cifs/cifsproto.h | 4 +- fs/cifs/misc.c | 4 +- fs/cifs/smb2ops.c | 143 ++++++++++------------ fs/udf/inode.c | 76 +++++------- fs/udf/truncate.c | 48 +++----- security/keys/encrypted-keys/encrypted.c | 6 +- sound/pci/hda/patch_realtek.c | 2 + tools/lib/bpf/btf_dump.c | 2 +- 28 files changed, 319 insertions(+), 236 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/25 x86/vdso: Conditionally export __vdso_sgx_enter_enclave()
From: Nathan Chancellor <[email protected]>
commit 45be2ad007a9c6bea70249c4cf3e4905afe4caeb upstream.
Recently, ld.lld moved from '--undefined-version' to '--no-undefined-version' as the default, which breaks building the vDSO when CONFIG_X86_SGX is not set:
ld.lld: error: version script assignment of 'LINUX_2.6' to symbol '__vdso_sgx_enter_enclave' failed: symbol not defined
__vdso_sgx_enter_enclave is only included in the vDSO when CONFIG_X86_SGX is set. Only export it if it will be present in the final object, which clears up the error.
--- arch/x86/entry/vdso/vdso.lds.S | 2 ++ 1 file changed, 2 insertions(+)
arch/x86/entry/vdso/vdso.lds.S +2 -0
@@ -27,7 +27,9 @@ VERSION { __vdso_time; clock_getres; __vdso_clock_getres; +#ifdef CONFIG_X86_SGX __vdso_sgx_enter_enclave; +#endif local: *; }; }
Greg Kroah-Hartman
maintainerPATCH 2/25 libbpf: Fix uninitialized warning in btf_dump_dump_type_data
In reply to Greg Kroah-HartmanFrom: David Michael <[email protected]>
commit dfd0afbf151d85411b371e841f62b81ee5d1ca54 upstream.
GCC 11.3.0 fails to compile btf_dump.c due to the following error, which seems to originate in btf_dump_struct_data where the returned value would be uninitialized if btf_vlen returns zero.
btf_dump.c: In function ‘btf_dump_dump_type_data’:
btf_dump.c:2363:12: error: ‘err’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
2363 | if (err < 0)
| ^
--- tools/lib/bpf/btf_dump.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
tools/lib/bpf/btf_dump.c +1 -1
@@ -1963,7 +1963,7 @@ static int btf_dump_struct_data(struct b {const struct btf_member *m =btf_members (t);__u16 n =btf_vlen (t); -int i, err; +int i, err =0 ;/* note that we increment depth before calling btf_dump_print() below; * this is intentional. btf_dump_data_newline() will not print a
Greg Kroah-Hartman
maintainerPATCH 3/25 PCI: mt7621: Add sentinel to quirks table
In reply to Greg Kroah-HartmanFrom: John Thomson <[email protected]>
commit 19098934f910b4d47cb30251dd39ffa57bef9523 upstream.
Current driver is missing a sentinel in the struct soc_device_attribute array, which causes an oops when assessed by the soc_device_match(mt7621_pcie_quirks_match) call.
This was only exposed once the CONFIG_SOC_MT7621 mt7621 soc_dev_attr was fixed to register the SOC as a device, in:
commit 7c18b64bba3b ("mips: ralink: mt7621: do not use kzalloc too early")
Fix it by adding the required sentinel.
--- drivers/pci/controller/pcie-mt7621.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/pci/controller/pcie-mt7621.c +2 -1
@@ -466,7 +466,8 @@ static int mt7621_pcie_register_host(str }static const struct soc_device_attribute mt7621_pcie_quirks_match[] = { - { .soc_id ="mt7621" , .revision ="E2" } + { .soc_id ="mt7621" , .revision ="E2" }, + {/* sentinel */ } };static int mt7621_pcie_probe (struct platform_device *pdev)
Greg Kroah-Hartman
maintainerPATCH 4/25 mips: ralink: mt7621: define MT7621_SYSC_BASE with __iomem
In reply to Greg Kroah-HartmanFrom: John Thomson <[email protected]>
commit a2cab953b4c077cc02878d424466d3a6eac32aaf upstream.
So that MT7621_SYSC_BASE can be used later in multiple functions without needing to repeat this __iomem declaration each time
--- arch/mips/include/asm/mach-ralink/mt7621.h | 4 +++- arch/mips/ralink/mt7621.c | 7 +++---- 2 files changed, 6 insertions(+), 5 deletions(-)
arch/mips/include/asm/mach-ralink/mt7621.h +3 -1
@@ -7,10 +7,12 @@#ifndef _MT7621_REGS_H_#define _MT7621_REGS_H_ +#define IOMEM (x) ((void __iomem *)(KSEG1ADDR(x))) +#define MT7621_PALMBUS_BASE 0x1C000000#define MT7621_PALMBUS_SIZE 0x03FFFFFF -#define MT7621_SYSC_BASE 0x1E000000 +#define MT7621_SYSC_BASE IOMEM(0x1E000000)#define SYSC_REG_CHIP_NAME0 0x00#define SYSC_REG_CHIP_NAME1 0x04
arch/mips/ralink/mt7621.c +3 -4
@@ -126,7 +126,6 @@ static void soc_dev_init(struct ralink_svoid __init prom_soc_init (struct ralink_soc_info *soc_info) { -void __iomem *sysc = (void __iomem *)KSEG1ADDR (MT7621_SYSC_BASE );unsigned char *name =NULL ;u32 n0;u32 n1;
@@ -154,8 +153,8 @@ void __init prom_soc_init(struct ralink___sync (); } - n0 =__raw_readl (sysc +SYSC_REG_CHIP_NAME0 ); - n1 =__raw_readl (sysc +SYSC_REG_CHIP_NAME1 ); + n0 =__raw_readl (MT7621_SYSC_BASE +SYSC_REG_CHIP_NAME0 ); + n1 =__raw_readl (MT7621_SYSC_BASE +SYSC_REG_CHIP_NAME1 );if (n0 ==MT7621_CHIP_NAME0 && n1 ==MT7621_CHIP_NAME1 ) { name ="MT7621" ;
@@ -164,7 +163,7 @@ void __init prom_soc_init(struct ralink_panic ("mt7621: unknown SoC, n0:%08x n1:%08x\n" , n0, n1); } ralink_soc =MT762X_SOC_MT7621AT ; - rev =__raw_readl (sysc +SYSC_REG_CHIP_REV ); + rev =__raw_readl (MT7621_SYSC_BASE +SYSC_REG_CHIP_REV ); snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN, "MediaTek %s ver:%u eco:%u",
Greg Kroah-Hartman
maintainerPATCH 5/25 mips: ralink: mt7621: soc queries and tests as functions
In reply to Greg Kroah-HartmanFrom: John Thomson <[email protected]>
commit b4767d4c072583dec987225b6fe3f5524a735f42 upstream.
Move the SoC register value queries and tests to specific functions, to remove repetition of logic
No functional changes intended
--- arch/mips/ralink/mt7621.c | 86 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 61 insertions(+), 25 deletions(-)
arch/mips/ralink/mt7621.c +61 -25
@@ -97,7 +97,57 @@ void __init ralink_of_remap(void)panic ("Failed to remap core resources" ); } -static void soc_dev_init (struct ralink_soc_info *soc_info,u32 rev) +static unsigned int __init mt7621_get_soc_name0 (void ) +{ +return __raw_readl (MT7621_SYSC_BASE +SYSC_REG_CHIP_NAME0 ); +} + +static unsigned int __init mt7621_get_soc_name1 (void ) +{ +return __raw_readl (MT7621_SYSC_BASE +SYSC_REG_CHIP_NAME1 ); +} + +static bool __init mt7621_soc_valid (void ) +{ +if (mt7621_get_soc_name0 () ==MT7621_CHIP_NAME0 && +mt7621_get_soc_name1 () ==MT7621_CHIP_NAME1 ) +return true; +else +return false; +} + +static const char __init *mt7621_get_soc_id (void ) +{ +if (mt7621_soc_valid ()) +return "MT7621" ; +else +return "invalid" ; +} + +static unsigned int __init mt7621_get_soc_rev (void ) +{ +return __raw_readl (MT7621_SYSC_BASE +SYSC_REG_CHIP_REV ); +} + +static unsigned int __init mt7621_get_soc_ver (void ) +{ +return (mt7621_get_soc_rev () >>CHIP_REV_VER_SHIFT ) &CHIP_REV_VER_MASK ; +} + +static unsigned int __init mt7621_get_soc_eco (void ) +{ +return (mt7621_get_soc_rev () &CHIP_REV_ECO_MASK ); +} + +static const char __init *mt7621_get_soc_revision (void ) +{ +if (mt7621_get_soc_rev () ==1 &&mt7621_get_soc_eco () ==1 ) +return "E2" ; +else +return "E1" ; +} + +static void soc_dev_init (struct ralink_soc_info *soc_info) {struct soc_device *soc_dev;struct soc_device_attribute *soc_dev_attr;
@@ -108,12 +158,7 @@ static void soc_dev_init(struct ralink_s soc_dev_attr->soc_id ="mt7621" ; soc_dev_attr->family ="Ralink" ; - -if (((rev >>CHIP_REV_VER_SHIFT ) &CHIP_REV_VER_MASK ) ==1 && - (rev &CHIP_REV_ECO_MASK ) ==1 ) - soc_dev_attr->revision ="E2" ; -else - soc_dev_attr->revision ="E1" ; + soc_dev_attr->revision =mt7621_get_soc_revision (); soc_dev_attr->data = soc_info;
@@ -126,11 +171,6 @@ static void soc_dev_init(struct ralink_svoid __init prom_soc_init (struct ralink_soc_info *soc_info) { -unsigned char *name =NULL ; -u32 n0; -u32 n1; -u32 rev; -/* Early detection of CMP support */ mips_cm_probe ();mips_cpc_probe ();
@@ -153,27 +193,23 @@ void __init prom_soc_init(struct ralink___sync (); } - n0 =__raw_readl (MT7621_SYSC_BASE +SYSC_REG_CHIP_NAME0 ); - n1 =__raw_readl (MT7621_SYSC_BASE +SYSC_REG_CHIP_NAME1 ); - -if (n0 ==MT7621_CHIP_NAME0 && n1 ==MT7621_CHIP_NAME1 ) { - name ="MT7621" ; +if (mt7621_soc_valid ()) soc_info->compatible ="mediatek,mt7621-soc" ; - }else { -panic ("mt7621: unknown SoC, n0:%08x n1:%08x\n" , n0, n1); - } +else +panic ("mt7621: unknown SoC, n0:%08x n1:%08x\n" , +mt7621_get_soc_name0 (), +mt7621_get_soc_name1 ()); ralink_soc =MT762X_SOC_MT7621AT ; - rev =__raw_readl (MT7621_SYSC_BASE +SYSC_REG_CHIP_REV );snprintf (soc_info->sys_type,RAMIPS_SYS_TYPE_LEN ,"MediaTek %s ver:%u eco:%u" , - name, - (rev >>CHIP_REV_VER_SHIFT ) &CHIP_REV_VER_MASK , - (rev &CHIP_REV_ECO_MASK )); +mt7621_get_soc_id (), +mt7621_get_soc_ver (), +mt7621_get_soc_eco ()); soc_info->mem_detect = mt7621_memory_detect; -soc_dev_init (soc_info, rev); +soc_dev_init (soc_info);if (!register_cps_smp_ops ())return ;
Greg Kroah-Hartman
maintainerPATCH 6/25 mips: ralink: mt7621: do not use kzalloc too early
In reply to Greg Kroah-HartmanFrom: John Thomson <[email protected]>
commit 7c18b64bba3bcad1be94b404f47b94a04b91ce79 upstream.
With CONFIG_SLUB=y, following commit 6edf2576a6cc ("mm/slub: enable debugging memory wasting of kmalloc") mt7621 failed to boot very early, without showing any console messages.
This exposed the pre-existing bug of mt7621.c using kzalloc before normal memory management was available.
Prior to this slub change, there existed the unintended protection against "kmem_cache *s" being NULL as slab_pre_alloc_hook() happened to return NULL and bailed out of slab_alloc_node().
This allowed mt7621 prom_soc_init to fail in the soc_dev_init kzalloc, but continue booting without the SOC_BUS driver device registered.
Console output from a DEBUG_ZBOOT vmlinuz kernel loading, with mm/slub modified to warn on kmem_cache zero or null:
zimage at: 80B842A0 810B4BC0
Uncompressing Linux at load address 80001000
Copy device tree to address 80B80EE0
Now, booting the kernel...
[ 0.000000] Linux version 6.1.0-rc3+ (john@john)
(mipsel-buildroot-linux-gnu-gcc.br_real (Buildroot
2021.11-4428-g6b6741b) 12.2.0, GNU ld (GNU Binutils) 2.39) #73 SMP Wed
Nov 2 05:10:01 AEST 2022
[ 0.000000] ------------[ cut here ]------------
[ 0.000000] WARNING: CPU: 0 PID: 0 at mm/slub.c:3416
kmem_cache_alloc+0x5a4/0x5e8
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 6.1.0-rc3+ #73
[ 0.000000] Stack : 810fff78 80084d98 00000000 00000004 00000000
00000000 80889d04 80c90000
[ 0.000000] 80920000 807bd328 8089d368 80923bd3 00000000
00000001 80889cb0 00000000
[ 0.000000] 00000000 00000000 807bd328 8084bcb1 00000002
00000002 00000001 6d6f4320
[ 0.000000] 00000000 80c97d3d 80c97d68 fffffffc 807bd328
00000000 00000000 00000000
[ 0.000000] 00000000 a0000000 80910000 8110a0b4 00000000
00000020 80010000 80010000
[ 0.000000] ...
[ 0.000000] Call Trace:
[ 0.000000] [<80008260>] show_stack+0x28/0xf0
[ 0.000000] [<8070c958>] dump_stack_lvl+0x60/0x80
[ 0.000000] [<8002e184>] __warn+0xc4/0xf8
[ 0.000000] [<8002e210>] warn_slowpath_fmt+0x58/0xa4
[ 0.000000] [<801c0fac>] kmem_cache_alloc+0x5a4/0x5e8
[ 0.000000] [<8092856c>] prom_soc_init+0x1fc/0x2b4
[ 0.000000] [<80928060>] prom_init+0x44/0xf0
[ 0.000000] [<80929214>] setup_arch+0x4c/0x6a8
[ 0.000000] [<809257e0>] start_kernel+0x88/0x7c0
[ 0.000000]
[ 0.000000] ---[ end trace 0000000000000000 ]---
[ 0.000000] SoC Type: MediaTek MT7621 ver:1 eco:3
[ 0.000000] printk: bootconsole [early0] enabledAllowing soc_device_register to work exposed oops in the mt7621 phy pci, and pci controller drivers from soc_device_match_attr, due to missing sentinels in the quirks tables. These were fixed with:
commit 819b885cd886 ("phy: ralink: mt7621-pci: add sentinel to quirks table")
not yet applied ("PCI: mt7621: add sentinel to quirks table")
--- arch/mips/ralink/mt7621.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
arch/mips/ralink/mt7621.c +9 -5
@@ -25,6 +25,7 @@#define MT7621_MEM_TEST_PATTERN 0xaa5555aastatic u32 detect_magic__initdata ; +static struct ralink_soc_info *soc_info_ptr;int pcibios_root_bridge_prepare (struct pci_host_bridge *bridge) {
@@ -147,27 +148,30 @@ static const char __init *mt7621_get_socreturn "E1" ; } -static void soc_dev_init (struct ralink_soc_info *soc_info) +static int __init mt7621_soc_dev_init (void ) {struct soc_device *soc_dev;struct soc_device_attribute *soc_dev_attr; soc_dev_attr =kzalloc (sizeof (*soc_dev_attr),GFP_KERNEL );if (!soc_dev_attr) -return ; +return -ENOMEM ; soc_dev_attr->soc_id ="mt7621" ; soc_dev_attr->family ="Ralink" ; soc_dev_attr->revision =mt7621_get_soc_revision (); - soc_dev_attr->data = soc_info; + soc_dev_attr->data = soc_info_ptr; soc_dev =soc_device_register (soc_dev_attr);if (IS_ERR (soc_dev)) {kfree (soc_dev_attr); -return ; +return PTR_ERR (soc_dev); } + +return 0 ; } +device_initcall (mt7621_soc_dev_init);void __init prom_soc_init (struct ralink_soc_info *soc_info) {
@@ -209,7 +213,7 @@ void __init prom_soc_init(struct ralink_ soc_info->mem_detect = mt7621_memory_detect; -soc_dev_init (soc_info); + soc_info_ptr = soc_info;if (!register_cps_smp_ops ())return ;
Greg Kroah-Hartman
maintainerPATCH 7/25 irqchip/ls-extirq: Fix endianness detection
In reply to Greg Kroah-HartmanFrom: Sean Anderson <[email protected]>
commit 3ae977d0e4e3a2a2ccc912ca2d20c9430508ecdd upstream.
parent is the interrupt parent, not the parent of node. Use node->parent. This fixes endianness detection on big-endian platforms.
--- drivers/irqchip/irq-ls-extirq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/irqchip/irq-ls-extirq.c +1 -1
@@ -203,7 +203,7 @@ ls_extirq_of_init(struct device_node *noif (ret) goto err_parse_map; - priv->big_endian =of_device_is_big_endian (parent); + priv->big_endian =of_device_is_big_endian (node->parent); priv->is_ls1021a_or_ls1043a =of_device_is_compatible (node,"fsl,ls1021a-extirq" ) ||of_device_is_compatible (node,"fsl,ls1043a-extirq" );raw_spin_lock_init (&priv->lock);
Greg Kroah-Hartman
maintainerPATCH 8/25 udf: Discard preallocation before extending file with a hole
In reply to Greg Kroah-HartmanFrom: Jan Kara <[email protected]>
commit 16d0556568148bdcaa45d077cac9f8f7077cf70a upstream.
When extending file with a hole, we tried to preserve existing preallocation for the file. However that is not very useful and complicates code because the previous extent may need to be rounded to block boundary as well (which we forgot to do thus causing data corruption for sequence like:
xfs_io -f -c "pwrite 0x75e63 11008" -c "truncate 0x7b24b" \
-c "truncate 0xabaa3" -c "pwrite 0xac70b 22954" \
-c "pwrite 0x93a43 11358" -c "pwrite 0xb8e65 52211" file
with 512-byte block size. Just discard preallocation before extending file to simplify things and also fix this data corruption.
--- fs/udf/inode.c | 46 ++++++++++++++++++---------------------------- 1 file changed, 18 insertions(+), 28 deletions(-)
fs/udf/inode.c +18 -28
@@ -439,6 +439,12 @@ static int udf_get_block(struct inode *i iinfo->i_next_alloc_goal++; } +/* +* Block beyond EOF and prealloc extents? Just discard preallocation +* as it is not useful and complicates things. +*/ +if (((loff_t )block) << inode->i_blkbits > iinfo->i_lenExtents) +udf_discard_prealloc (inode);udf_clear_extent_cache (inode); phys =inode_getblk (inode, block, &err, &new);if (!phys)
@@ -488,8 +494,6 @@ static int udf_do_extend_file(struct inouint32_t add;int count =0 , fake = !(last_ext->extLength &UDF_EXTENT_LENGTH_MASK );struct super_block *sb = inode->i_sb; -struct kernel_lb_addr prealloc_loc = {}; -uint32_t prealloc_len =0 ;struct udf_inode_info *iinfo;int err;
@@ -510,19 +514,6 @@ static int udf_do_extend_file(struct ino ~(sb->s_blocksize -1 ); } -/* Last extent are just preallocated blocks? */ -if ((last_ext->extLength &UDF_EXTENT_FLAG_MASK ) == -EXT_NOT_RECORDED_ALLOCATED ) { -/* Save the extent so that we can reattach it to the end */ - prealloc_loc = last_ext->extLocation; - prealloc_len = last_ext->extLength; -/* Mark the extent as a hole */ - last_ext->extLength =EXT_NOT_RECORDED_NOT_ALLOCATED | - (last_ext->extLength &UDF_EXTENT_LENGTH_MASK ); - last_ext->extLocation.logicalBlockNum =0 ; - last_ext->extLocation.partitionReferenceNum =0 ; - } -/* Can we merge with the previous extent? */ if ((last_ext->extLength &UDF_EXTENT_FLAG_MASK ) ==EXT_NOT_RECORDED_NOT_ALLOCATED ) {
@@ -550,7 +541,7 @@ static int udf_do_extend_file(struct ino* more extents, we may need to enter possible following * empty indirect extent. */ -if (new_block_bytes || prealloc_len) +if (new_block_bytes)udf_next_aext (inode, last_pos, &tmploc, &tmplen,0 ); }
@@ -584,17 +575,6 @@ static int udf_do_extend_file(struct ino } out: -/* Do we have some preallocated blocks saved? */ -if (prealloc_len) { - err =udf_add_aext (inode, last_pos, &prealloc_loc, - prealloc_len,1 ); -if (err) -return err; - last_ext->extLocation = prealloc_loc; - last_ext->extLength = prealloc_len; - count++; - } -/* last_pos should point to the last written extent... */ if (iinfo->i_alloc_type ==ICBTAG_FLAG_AD_SHORT ) last_pos->offset -=sizeof (struct short_ad );
@@ -647,8 +627,17 @@ static int udf_extend_file(struct inodeelse BUG (); +/* +* When creating hole in file, just don't bother with preserving +* preallocation. It likely won't be very useful anyway. +*/ +udf_discard_prealloc (inode); + etype =inode_bmap (inode, first_block, &epos, &eloc, &elen, &offset); within_final_block = (etype !=-1 ); +/* We don't expect extents past EOF... */ +WARN_ON_ONCE (etype !=-1 && + elen > ((loff_t )offset +1 ) << inode->i_blkbits);if ((!epos.bh && epos.offset ==udf_file_entry_alloc_offset (inode)) || (epos.bh && epos.offset ==sizeof (struct allocExtDesc ))) {
@@ -777,10 +766,11 @@ static sector_t inode_getblk(struct inod goto out_free; } -/* Are we beyond EOF? */ +/* Are we beyond EOF and preallocated extent? */ if (etype ==-1 ) {int ret;loff_t hole_len; + isBeyondEOF = true;if (count) {if (c)
Greg Kroah-Hartman
maintainerPATCH 9/25 udf: Fix preallocation discarding at indirect extent boundary
In reply to Greg Kroah-HartmanFrom: Jan Kara <[email protected]>
commit cfe4c1b25dd6d2f056afc00b7c98bcb3dd0b1fc3 upstream.
When preallocation extent is the first one in the extent block, the code would corrupt extent tree header instead. Fix the problem and use udf_delete_aext() for deleting extent to avoid some code duplication.
--- fs/udf/truncate.c | 45 +++++++++++++-------------------------------- 1 file changed, 13 insertions(+), 32 deletions(-)
fs/udf/truncate.c +13 -32
@@ -120,60 +120,41 @@ void udf_truncate_tail_extent(struct inovoid udf_discard_prealloc (struct inode *inode) { -struct extent_position epos = {NULL ,0 , {0 ,0 } }; +struct extent_position epos = {}; +struct extent_position prev_epos = {};struct kernel_lb_addr eloc;uint32_t elen;uint64_t lbcount =0 ;int8_t etype =-1 , netype; -int adsize;struct udf_inode_info *iinfo =UDF_I (inode);if (iinfo->i_alloc_type ==ICBTAG_FLAG_AD_IN_ICB || inode->i_size == iinfo->i_lenExtents)return ; -if (iinfo->i_alloc_type ==ICBTAG_FLAG_AD_SHORT ) - adsize =sizeof (struct short_ad ); -else if (iinfo->i_alloc_type ==ICBTAG_FLAG_AD_LONG ) - adsize =sizeof (struct long_ad ); -else - adsize =0 ; - epos.block = iinfo->i_location;/* Find the last extent in the file */ -while ((netype =udf_next_aext (inode, &epos, &eloc, &elen,1 )) !=-1 ) { - etype = netype; +while ((netype =udf_next_aext (inode, &epos, &eloc, &elen,0 )) !=-1 ) { +brelse (prev_epos.bh); + prev_epos = epos; +if (prev_epos.bh) +get_bh (prev_epos.bh); + + etype =udf_next_aext (inode, &epos, &eloc, &elen,1 ); lbcount += elen; }if (etype == (EXT_NOT_RECORDED_ALLOCATED >>30 )) { - epos.offset -= adsize; lbcount -= elen; -extent_trunc (inode, &epos, &eloc, etype, elen,0 ); -if (!epos.bh) { - iinfo->i_lenAlloc = - epos.offset - -udf_file_entry_alloc_offset (inode); -mark_inode_dirty (inode); - }else { -struct allocExtDesc *aed = - (struct allocExtDesc *)(epos.bh->b_data); - aed->lengthAllocDescs = -cpu_to_le32 (epos.offset - -sizeof (struct allocExtDesc )); -if (!UDF_QUERY_FLAG (inode->i_sb,UDF_FLAG_STRICT ) || -UDF_SB (inode->i_sb)->s_udfrev >=0x0201 ) -udf_update_tag (epos.bh->b_data, epos.offset); -else -udf_update_tag (epos.bh->b_data, -sizeof (struct allocExtDesc )); -mark_buffer_dirty_inode (epos.bh, inode); - } +udf_delete_aext (inode, prev_epos); +udf_free_blocks (inode->i_sb, inode, &eloc,0 , +DIV_ROUND_UP (elen,1 << inode->i_blkbits)); }/* This inode entry is in-memory only and thus we don't have to mark * the inode dirty */ iinfo->i_lenExtents = lbcount;brelse (epos.bh); +brelse (prev_epos.bh); } static void udf_update_alloc_ext_desc(struct inode *inode,
Greg Kroah-Hartman
maintainerPATCH 10/25 udf: Do not bother looking for prealloc extents if i_lenExtents matches i_size
In reply to Greg Kroah-HartmanFrom: Jan Kara <[email protected]>
commit 6ad53f0f71c52871202a7bf096feb2c59db33fc5 upstream.
If rounded block-rounded i_lenExtents matches block rounded i_size, there are no preallocation extents. Do not bother walking extent linked list.
--- fs/udf/truncate.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
fs/udf/truncate.c +2 -1
@@ -127,9 +127,10 @@ void udf_discard_prealloc(struct inode *uint64_t lbcount =0 ;int8_t etype =-1 , netype;struct udf_inode_info *iinfo =UDF_I (inode); +int bsize =1 << inode->i_blkbits;if (iinfo->i_alloc_type ==ICBTAG_FLAG_AD_IN_ICB || - inode->i_size == iinfo->i_lenExtents) +ALIGN (inode->i_size, bsize) ==ALIGN (iinfo->i_lenExtents, bsize))return ; epos.block = iinfo->i_location;
Greg Kroah-Hartman
maintainerPATCH 11/25 udf: Fix extending file within last block
In reply to Greg Kroah-HartmanFrom: Jan Kara <[email protected]>
commit 1f3868f06855c97a4954c99b36f3fc9eb8f60326 upstream.
When extending file within last block it can happen that the extent is already rounded to the blocksize and thus contains the offset we want to grow up to. In such case we would mistakenly expand the last extent and make it one block longer than it should be, exposing unallocated block in a file and causing data corruption. Fix the problem by properly detecting this case and bailing out.
--- fs/udf/inode.c | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-)
fs/udf/inode.c +17 -15
@@ -590,13 +590,17 @@ out:static void udf_do_extend_final_block (struct inode *inode,struct extent_position *last_pos,struct kernel_long_ad *last_ext, -uint32_t final_block_len) +uint32_t new_elen) { -struct super_block *sb = inode->i_sb;uint32_t added_bytes; - added_bytes = final_block_len - - (last_ext->extLength & (sb->s_blocksize -1 )); +/* +* Extent already large enough? It may be already rounded up to block +* size... +*/ +if (new_elen <= (last_ext->extLength &UDF_EXTENT_LENGTH_MASK )) +return ; + added_bytes = (last_ext->extLength &UDF_EXTENT_LENGTH_MASK ) - new_elen; last_ext->extLength += added_bytes;UDF_I (inode)->i_lenExtents += added_bytes;
@@ -613,12 +617,12 @@ static int udf_extend_file(struct inodeint8_t etype;struct super_block *sb = inode->i_sb;sector_t first_block = newsize >> sb->s_blocksize_bits, offset; -unsigned long partial_final_block; +loff_t new_elen;int adsize;struct udf_inode_info *iinfo =UDF_I (inode);struct kernel_long_ad extent;int err =0 ; -int within_final_block; +bool within_last_ext;if (iinfo->i_alloc_type ==ICBTAG_FLAG_AD_SHORT ) adsize =sizeof (struct short_ad );
@@ -634,9 +638,9 @@ static int udf_extend_file(struct inodeudf_discard_prealloc (inode); etype =inode_bmap (inode, first_block, &epos, &eloc, &elen, &offset); - within_final_block = (etype !=-1 ); + within_last_ext = (etype !=-1 );/* We don't expect extents past EOF... */ -WARN_ON_ONCE (etype !=-1 && +WARN_ON_ONCE (within_last_ext && elen > ((loff_t )offset +1 ) << inode->i_blkbits); if ((!epos.bh && epos.offset == udf_file_entry_alloc_offset(inode)) ||
@@ -653,19 +657,17 @@ static int udf_extend_file(struct inode extent.extLength |= etype <<30 ; } - partial_final_block = newsize & (sb->s_blocksize -1 ); + new_elen = ((loff_t )offset << inode->i_blkbits) | + (newsize & (sb->s_blocksize -1 ));/* File has extent covering the new size (could happen when extending * inside a block)? */ -if (within_final_block) { +if (within_last_ext) {/* Extending file within the last file block */ -udf_do_extend_final_block (inode, &epos, &extent, - partial_final_block); +udf_do_extend_final_block (inode, &epos, &extent, new_elen); }else { -loff_t add = ((loff_t )offset << sb->s_blocksize_bits) | - partial_final_block; - err =udf_do_extend_file (inode, &epos, &extent, add); + err =udf_do_extend_file (inode, &epos, &extent, new_elen); }if (err <0 )
Greg Kroah-Hartman
maintainerPATCH 12/25 usb: gadget: uvc: Prevent buffer overflow in setup handler
In reply to Greg Kroah-HartmanFrom: Szymon Heidrich <[email protected]>
commit 4c92670b16727365699fe4b19ed32013bab2c107 upstream.
Setup function uvc_function_setup permits control transfer requests with up to 64 bytes of payload (UVC_MAX_REQUEST_SIZE), data stage handler for OUT transfer uses memcpy to copy req->actual bytes to uvc_event->data.data array of size 60. This may result in an overflow of 4 bytes.
--- drivers/usb/gadget/function/f_uvc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/usb/gadget/function/f_uvc.c +3 -2
@@ -216,8 +216,9 @@ uvc_function_ep0_complete(struct usb_epmemset (&v4l2_event,0 ,sizeof (v4l2_event)); v4l2_event.type =UVC_EVENT_DATA ; - uvc_event->data.length = req->actual; -memcpy (&uvc_event->data.data, req->buf, req->actual); + uvc_event->data.length = min_t(unsigned int, req->actual, +sizeof (uvc_event->data.data)); +memcpy (&uvc_event->data.data, req->buf, uvc_event->data.length);v4l2_event_queue (&uvc->vdev, &v4l2_event); } }
Greg Kroah-Hartman
maintainerPATCH 13/25 USB: serial: option: add Quectel EM05-G modem
In reply to Greg Kroah-HartmanFrom: Duke Xin <[email protected]>
commit f0052d7a1edb3d8921b4e154aa8c46c4845b3714 upstream.
The EM05-G modem has 2 USB configurations that are configurable via the AT command AT+QCFG="usbnet",[ 0 | 2 ] which make the modem enumerate with the following interfaces, respectively:
"RMNET" : AT + DIAG + NMEA + Modem + QMI
"MBIM" : MBIM + AT + DIAG + NMEA + Modem
The detailed description of the USB configuration for each mode as follows:
RMNET Mode
--------------
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 21 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=2c7c ProdID=0311 Rev= 3.18 S: Manufacturer=Quectel S: Product=Quectel EM05-G C:* #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 6 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none) E: Ad=89(I) Atr=03(Int.) MxPS= 8 Ivl=32ms E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
MBIM Mode
--------------
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 16 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=2c7c ProdID=0311 Rev= 3.18 S: Manufacturer=Quectel S: Product=Quectel EM05-G C:* #Ifs= 6 Cfg#= 1 Atr=a0 MxPwr=500mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00 I:* If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim E: Ad=89(I) Atr=03(Int.) MxPS= 64 Ivl=32ms I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
--- drivers/usb/serial/option.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/usb/serial/option.c +3 -0
@@ -255,6 +255,7 @@ static void option_instat_callback(struc#define QUECTEL_PRODUCT_EP06 0x0306#define QUECTEL_PRODUCT_EM05G 0x030a#define QUECTEL_PRODUCT_EM060K 0x030b +#define QUECTEL_PRODUCT_EM05G_SG 0x0311#define QUECTEL_PRODUCT_EM12 0x0512#define QUECTEL_PRODUCT_RM500Q 0x0800#define QUECTEL_PRODUCT_RM520N 0x0801
@@ -1160,6 +1161,8 @@ static const struct usb_device_id option { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0, 0) }, { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G, 0xff), .driver_info = RSVD(6) | ZLP }, + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_SG, 0xff), + .driver_info = RSVD(6) | ZLP }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0x00, 0x40) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x30) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x40) },
Greg Kroah-Hartman
maintainerPATCH 14/25 USB: serial: cp210x: add Kamstrup RF sniffer PIDs
In reply to Greg Kroah-HartmanFrom: Bruno Thomsen <[email protected]>
commit e88906b169ebcb8046e8f0ad76edd09ab41cfdfe upstream.
The RF sniffers are based on cp210x where the RF frontends are based on a different USB stack.
RF sniffers can analyze packets meta data including power level and perform packet injection.
Can be used to perform RF frontend self-test when connected to a concentrator, ex. arch/arm/boot/dts/imx7d-flex-concentrator.dts
--- drivers/usb/serial/cp210x.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/usb/serial/cp210x.c +2 -0
@@ -195,6 +195,8 @@ static const struct usb_device_id id_tab { USB_DEVICE(0x16DC, 0x0015) }, /* W-IE-NE-R Plein & Baus GmbH CML Control, Monitoring and Data Logger */ { USB_DEVICE(0x17A8, 0x0001) }, /* Kamstrup Optical Eye/3-wire */ { USB_DEVICE(0x17A8, 0x0005) }, /* Kamstrup M-Bus Master MultiPort 250D */ + { USB_DEVICE(0x17A8, 0x0011) }, /* Kamstrup 444 MHz RF sniffer */ + { USB_DEVICE(0x17A8, 0x0013) }, /* Kamstrup 870 MHz RF sniffer */ { USB_DEVICE(0x17A8, 0x0101) }, /* Kamstrup 868 MHz wM-Bus C-Mode Meter Reader (Int Ant) */ { USB_DEVICE(0x17A8, 0x0102) }, /* Kamstrup 868 MHz wM-Bus C-Mode Meter Reader (Ext Ant) */ { USB_DEVICE(0x17F4, 0xAAAA) }, /* Wavesense Jazz blood glucose meter */
Greg Kroah-Hartman
maintainerPATCH 15/25 USB: serial: f81232: fix division by zero on line-speed change
In reply to Greg Kroah-HartmanFrom: Johan Hovold <[email protected]>
commit a08ca6ebafe615c9028c53fc4c9e6c9b2b1f2888 upstream.
The driver leaves the line speed unchanged in case a requested speed is not supported. Make sure to handle the case where the current speed is B0 (hangup) without dividing by zero when determining the clock source.
--- drivers/usb/serial/f81232.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
drivers/usb/serial/f81232.c +7 -5
@@ -130,9 +130,6 @@ static u8 const clock_table[] = { F81232static int calc_baud_divisor (speed_t baudrate,speed_t clockrate) { -if (!baudrate) -return 0 ; -return DIV_ROUND_CLOSEST (clockrate, baudrate); }
@@ -498,9 +495,14 @@ static void f81232_set_baudrate(struct tspeed_t baud_list[] = { baudrate, old_baudrate,F81232_DEF_BAUDRATE };for (i =0 ; i <ARRAY_SIZE (baud_list); ++i) { - idx =f81232_find_clk (baud_list[i]); + baudrate = baud_list[i]; +if (baudrate ==0 ) { +tty_encode_baud_rate (tty,0 ,0 ); +return ; + } + + idx =f81232_find_clk (baudrate);if (idx >=0 ) { - baudrate = baud_list[i];tty_encode_baud_rate (tty, baudrate, baudrate);break ; }
Greg Kroah-Hartman
maintainerPATCH 16/25 USB: serial: f81534: fix division by zero on line-speed change
In reply to Greg Kroah-HartmanFrom: Johan Hovold <[email protected]>
commit 188c9c2e0c7f4ae864113f80c40bafb394062271 upstream.
The driver leaves the line speed unchanged in case a requested speed is not supported. Make sure to handle the case where the current speed is B0 (hangup) without dividing by zero when determining the clock source.
--- drivers/usb/serial/f81534.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
drivers/usb/serial/f81534.c +7 -5
@@ -536,9 +536,6 @@ static int f81534_submit_writer(struct ustatic u32 f81534_calc_baud_divisor (u32 baudrate,u32 clockrate) { -if (!baudrate) -return 0 ; -/* Round to nearest divisor */ return DIV_ROUND_CLOSEST (clockrate, baudrate); }
@@ -568,9 +565,14 @@ static int f81534_set_port_config(structu32 baud_list[] = {baudrate, old_baudrate,F81534_DEFAULT_BAUD_RATE };for (i =0 ; i <ARRAY_SIZE (baud_list); ++i) { - idx =f81534_find_clk (baud_list[i]); + baudrate = baud_list[i]; +if (baudrate ==0 ) { +tty_encode_baud_rate (tty,0 ,0 ); +return 0 ; + } + + idx =f81534_find_clk (baudrate);if (idx >=0 ) { - baudrate = baud_list[i];tty_encode_baud_rate (tty, baudrate, baudrate);break ; }
Greg Kroah-Hartman
maintainerPATCH 17/25 ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook
In reply to Greg Kroah-HartmanFrom: Andy Chi <[email protected]>
commit 1d8025ec722d5e011f9299c46274eb21fb54a428 upstream.
There is a HP ProBook which using ALC236 codec and need the ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF quirk to make mute LED and micmute LED work.
--- sound/pci/hda/patch_realtek.c | 2 ++ 1 file changed, 2 insertions(+)
sound/pci/hda/patch_realtek.c +2 -0
@@ -9354,6 +9354,8 @@ static const struct snd_pci_quirk alc269SND_PCI_QUIRK (0x103c ,0x8abb ,"HP ZBook Firefly 14 G9" ,ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED ),SND_PCI_QUIRK (0x103c ,0x8ad1 ,"HP EliteBook 840 14 inch G9 Notebook PC" ,ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED ),SND_PCI_QUIRK (0x103c ,0x8ad2 ,"HP EliteBook 860 16 inch G9 Notebook PC" ,ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED ), +SND_PCI_QUIRK (0x103c ,0x8b5d ,"HP" ,ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF ), +SND_PCI_QUIRK (0x103c ,0x8b5e ,"HP" ,ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF ),SND_PCI_QUIRK (0x1043 ,0x103e ,"ASUS X540SA" ,ALC256_FIXUP_ASUS_MIC ),SND_PCI_QUIRK (0x1043 ,0x103f ,"ASUS TX300" ,ALC282_FIXUP_ASUS_TX300 ), SND_PCI_QUIRK(0x1043, 0x106d, "Asus K53BE", ALC269_FIXUP_LIMIT_INT_MIC_BOOST),
Greg Kroah-Hartman
maintainerPATCH 18/25 xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N
In reply to Greg Kroah-HartmanFrom: Reka Norman <[email protected]>
commit fed70b61ef2c0aed54456db3d485b215f6cc3209 upstream.
ADL-N systems have the same issue as ADL-P, where a large boot firmware delay is seen if USB ports are left in U3 at shutdown. So apply the XHCI_RESET_TO_DEFAULT quirk to ADL-N as well.
This patch depends on commit 34cd2db408d5 ("xhci: Add quirk to reset host back to default state at shutdown").
The issue it fixes is a ~20s boot time delay when booting from S5. It affects ADL-N devices, and ADL-N support was added starting from v5.16.
--- drivers/usb/host/xhci-pci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/usb/host/xhci-pci.c +3 -1
@@ -59,6 +59,7 @@#define PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI 0x9a13#define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI 0x1138#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI 0x51ed +#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI 0x54ed#define PCI_DEVICE_ID_AMD_RENOIR_XHCI 0x1639#define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9
@@ -246,7 +247,8 @@ static void xhci_pci_quirks(struct devic xhci->quirks |=XHCI_MISSING_CAS ;if (pdev->vendor ==PCI_VENDOR_ID_INTEL && - pdev->device ==PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI ) + (pdev->device ==PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI || + pdev->device ==PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI )) xhci->quirks |=XHCI_RESET_TO_DEFAULT ; if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
Greg Kroah-Hartman
maintainerPATCH 19/25 staging: r8188eu: fix led register settings
In reply to Greg Kroah-HartmanFrom: Martin Kaiser <[email protected]>
commit 12c6223fc1804fd9295dc50d358294539b4a4184 upstream.
Using an InterTech DMG-02 dongle, the led remains on when the system goes into standby mode. After wakeup, it's no longer possible to control the led.
It turned out that the register settings to enable or disable the led were not correct. They worked for some dongles like the Edimax V2 but not for others like the InterTech DMG-02.
This patch fixes the register settings. Bit 3 in the led_cfg2 register controls the led status, bit 5 must always be set to be able to control the led, bit 6 has no influence on the led. Setting the mac_pinmux_cfg register is not necessary.
These settings were tested with Edimax V2 and InterTech DMG-02.
--- drivers/staging/r8188eu/core/rtw_led.c | 25 ++----------------------- 1 file changed, 2 insertions(+), 23 deletions(-)
drivers/staging/r8188eu/core/rtw_led.c +2 -23
@@ -32,40 +32,19 @@ static void ResetLedStatus(struct led_prstatic void SwLedOn (struct adapter *padapter,struct led_priv *pLed) { -u8 LedCfg; -int res; -if (padapter->bDriverStopped)return ; - res =rtw_read8 (padapter,REG_LEDCFG2 , &LedCfg); -if (res) -return ; - -rtw_write8 (padapter,REG_LEDCFG2 , (LedCfg &0xf0 ) |BIT (5 ) |BIT (6 ));/* SW control led0 on. */ +rtw_write8 (padapter,REG_LEDCFG2 ,BIT (5 ));/* SW control led0 on. */ pLed->bLedOn = true; }static void SwLedOff (struct adapter *padapter,struct led_priv *pLed) { -u8 LedCfg; -int res; -if (padapter->bDriverStopped) goto exit; - res =rtw_read8 (padapter,REG_LEDCFG2 , &LedCfg);/* 0x4E */ -if (res) - goto exit; - - LedCfg &=0x90 ;/* Set to software control. */ -rtw_write8 (padapter,REG_LEDCFG2 , (LedCfg |BIT (3 ))); - res =rtw_read8 (padapter,REG_MAC_PINMUX_CFG , &LedCfg); -if (res) - goto exit; - - LedCfg &=0xFE ; -rtw_write8 (padapter,REG_MAC_PINMUX_CFG , LedCfg); +rtw_write8 (padapter,REG_LEDCFG2 ,BIT (5 ) |BIT (3 )); exit: pLed->bLedOn = false; }
Greg Kroah-Hartman
maintainerPATCH 20/25 igb: Initialize mailbox message for VF reset
In reply to Greg Kroah-HartmanFrom: Tony Nguyen <[email protected]>
commit de5dc44370fbd6b46bd7f1a1e00369be54a041c8 upstream.
When a MAC address is not assigned to the VF, that portion of the message sent to the VF is not set. The memory, however, is allocated from the stack meaning that information may be leaked to the VM. Initialize the message buffer to 0 so that no information is passed to the VM in this case.
--- drivers/net/ethernet/intel/igb/igb_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/ethernet/intel/igb/igb_main.c +1 -1
@@ -7521,7 +7521,7 @@ static void igb_vf_reset_msg(struct igb_ {struct e1000_hw *hw = &adapter->hw;unsigned char *vf_mac = adapter->vf_data[vf].vf_mac_addresses; -u32 reg, msgbuf[3 ]; +u32 reg, msgbuf[3 ] = {};u8 *addr = (u8 *)(&msgbuf[1 ]);/* process all the same items cleared in a function level reset */
Greg Kroah-Hartman
maintainerPATCH 21/25 usb: typec: ucsi: Resume in separate work
In reply to Greg Kroah-HartmanFrom: Heikki Krogerus <[email protected]>
commit e0dced9c7d4763fd97c86a13902d135f03cc42eb upstream.
It can take more than one second to check each connector when the system is resumed. So if you have, say, eight connectors, it may take eight seconds for ucsi_resume() to finish. That's a bit too much.
This will modify ucsi_resume() so that it schedules a work where the interface is actually resumed instead of checking the connectors directly. The connections will also be checked in separate tasks which are queued for each connector separately.
--- drivers/usb/typec/ucsi/ucsi.c | 17 +++++++++++++---- drivers/usb/typec/ucsi/ucsi.h | 1 + 2 files changed, 14 insertions(+), 4 deletions(-)
drivers/usb/typec/ucsi/ucsi.c +13 -4
@@ -1270,8 +1270,9 @@ err:return ret; } -int ucsi_resume (struct ucsi *ucsi) +static void ucsi_resume_work (struct work_struct *work) { + struct ucsi *ucsi = container_of(work, struct ucsi, resume_work);struct ucsi_connector *con;u64 command;int ret;
@@ -1279,15 +1280,21 @@ int ucsi_resume(struct ucsi *ucsi)/* Restore UCSI notification enable mask after system resume */ command =UCSI_SET_NOTIFICATION_ENABLE | ucsi->ntfy; ret =ucsi_send_command (ucsi, command,NULL ,0 ); -if (ret <0 ) -return ret; +if (ret <0 ) { +dev_err (ucsi->dev,"failed to re-enable notifications (%d)\n" , ret); +return ; + }for (con = ucsi->connector; con->port; con++) {mutex_lock (&con->lock); -ucsi_check_connection (con); +ucsi_partner_task (con, ucsi_check_connection,1 ,0 );mutex_unlock (&con->lock); } +} +int ucsi_resume (struct ucsi *ucsi) +{ +queue_work (system_long_wq, &ucsi->resume_work);return 0 ; }EXPORT_SYMBOL_GPL (ucsi_resume);
@@ -1347,6 +1354,7 @@ struct ucsi *ucsi_create(struct device *if (!ucsi)return ERR_PTR (-ENOMEM ); +INIT_WORK (&ucsi->resume_work, ucsi_resume_work);INIT_DELAYED_WORK (&ucsi->work, ucsi_init_work);mutex_init (&ucsi->ppm_lock); ucsi->dev = dev;
@@ -1401,6 +1409,7 @@ void ucsi_unregister(struct ucsi *ucsi)/* Make sure that we are not in the middle of driver initialization */ cancel_delayed_work_sync (&ucsi->work); +cancel_work_sync (&ucsi->resume_work);/* Disable notifications */ ucsi->ops->async_write (ucsi,UCSI_CONTROL , &cmd,sizeof (cmd));
drivers/usb/typec/ucsi/ucsi.h +1 -0
@@ -287,6 +287,7 @@ struct ucsi {struct ucsi_capability cap;struct ucsi_connector *connector; +struct work_struct resume_work;struct delayed_work work;int work_count;#define UCSI_ROLE_SWITCH_RETRY_PER_HZ 10
Greg Kroah-Hartman
maintainerPATCH 22/25 usb: dwc3: pci: Update PCIe device ID for USB3 controller on CPU sub-system for Raptor Lake
In reply to Greg Kroah-HartmanFrom: Shruthi Sanil <[email protected]>
commit f05f80f217bf52443a2582bca19fd78188333f25 upstream.
The device ID 0xa70e is defined for the USB3 device controller in the CPU sub-system of Raptor Lake platform. Hence updating the ID accordingly.
--- drivers/usb/dwc3/dwc3-pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/usb/dwc3/dwc3-pci.c +1 -1
@@ -45,7 +45,7 @@#define PCI_DEVICE_ID_INTEL_ADLN 0x465e#define PCI_DEVICE_ID_INTEL_ADLN_PCH 0x54ee#define PCI_DEVICE_ID_INTEL_ADLS 0x7ae1 -#define PCI_DEVICE_ID_INTEL_RPL 0x460e +#define PCI_DEVICE_ID_INTEL_RPL 0xa70e#define PCI_DEVICE_ID_INTEL_RPLS 0x7a61#define PCI_DEVICE_ID_INTEL_MTLP 0x7ec1#define PCI_DEVICE_ID_INTEL_MTL 0x7e7e
Greg Kroah-Hartman
maintainerPATCH 23/25 cifs: fix oops during encryption
In reply to Greg Kroah-HartmanFrom: Paulo Alcantara <[email protected]>
commit f7f291e14dde32a07b1f0aa06921d28f875a7b54 upstream.
When running xfstests against Azure the following oops occurred on an arm64 system
Unable to handle kernel write to read-only memory at virtual address
ffff0001221cf000
Mem abort info:
ESR = 0x9600004f
EC = 0x25: DABT (current EL), IL = 32 bits
SET = 0, FnV = 0
EA = 0, S1PTW = 0
FSC = 0x0f: level 3 permission fault
Data abort info:
ISV = 0, ISS = 0x0000004f
CM = 0, WnR = 1
swapper pgtable: 4k pages, 48-bit VAs, pgdp=00000000294f3000
[ffff0001221cf000] pgd=18000001ffff8003, p4d=18000001ffff8003,
pud=18000001ff82e003, pmd=18000001ff71d003, pte=00600001221cf787
Internal error: Oops: 9600004f [#1] PREEMPT SMP
...
pstate: 80000005 (Nzcv daif -PAN -UAO -TCO BTYPE=--)
pc : __memcpy+0x40/0x230
lr : scatterwalk_copychunks+0xe0/0x200
sp : ffff800014e92de0
x29: ffff800014e92de0 x28: ffff000114f9de80 x27: 0000000000000008
x26: 0000000000000008 x25: ffff800014e92e78 x24: 0000000000000008
x23: 0000000000000001 x22: 0000040000000000 x21: ffff000000000000
x20: 0000000000000001 x19: ffff0001037c4488 x18: 0000000000000014
x17: 235e1c0d6efa9661 x16: a435f9576b6edd6c x15: 0000000000000058
x14: 0000000000000001 x13: 0000000000000008 x12: ffff000114f2e590
x11: ffffffffffffffff x10: 0000040000000000 x9 : ffff8000105c3580
x8 : 2e9413b10000001a x7 : 534b4410fb86b005 x6 : 534b4410fb86b005
x5 : ffff0001221cf008 x4 : ffff0001037c4490 x3 : 0000000000000001
x2 : 0000000000000008 x1 : ffff0001037c4488 x0 : ffff0001221cf000
Call trace:
__memcpy+0x40/0x230
scatterwalk_map_and_copy+0x98/0x100
crypto_ccm_encrypt+0x150/0x180
crypto_aead_encrypt+0x2c/0x40
crypt_message+0x750/0x880
smb3_init_transform_rq+0x298/0x340
smb_send_rqst.part.11+0xd8/0x180
smb_send_rqst+0x3c/0x100
compound_send_recv+0x534/0xbc0
smb2_query_info_compound+0x32c/0x440
smb2_set_ea+0x438/0x4c0
cifs_xattr_set+0x5d4/0x7c0This is because in scatterwalk_copychunks(), we attempted to write to a buffer (@sign) that was allocated in the stack (vmalloc area) by crypt_message() and thus accessing its remaining 8 (x2) bytes ended up crossing a page boundary.
To simply fix it, we could just pass @sign kmalloc'd from crypt_message() and then we're done. Luckily, we don't seem to pass any other vmalloc'd buffers in smb_rqst::rq_iov...
Instead, let's map the correct pages and offsets from vmalloc buffers as well in cifs_sg_set_buf() and then avoiding such oopses.
--- fs/cifs/cifsglob.h | 68 ++++++++++++++++++++++++ fs/cifs/cifsproto.h | 4 - fs/cifs/misc.c | 4 - fs/cifs/smb2ops.c | 143 ++++++++++++++++++++++++---------------------------- 4 files changed, 140 insertions(+), 79 deletions(-)
fs/cifs/cifsglob.h +68 -0
@@ -13,6 +13,8 @@#include <linux/in6.h> #include <linux/inet.h> #include <linux/slab.h> +#include <linux/scatterlist.h> +#include <linux/mm.h> #include <linux/mempool.h> #include <linux/workqueue.h> #include <linux/utsname.h>
@@ -2137,4 +2139,70 @@ static inline void move_cifs_info_to_smb dst->FileNameLength = src->FileNameLength; } +static inline unsigned int cifs_get_num_sgs (const struct smb_rqst *rqst, +int num_rqst, +const u8 *sig) +{ +unsigned int len, skip; +unsigned int nents =0 ; +unsigned long addr; +int i, j; + +/* Assumes the first rqst has a transform header as the first iov. +* I.e. +* rqst[0].rq_iov[0] is transform header +* rqst[0].rq_iov[1+] data to be encrypted/decrypted +* rqst[1+].rq_iov[0+] data to be encrypted/decrypted +*/ +for (i =0 ; i < num_rqst; i++) { +/* +* The first rqst has a transform header where the +* first 20 bytes are not part of the encrypted blob. +*/ +for (j =0 ; j < rqst[i].rq_nvec; j++) { +struct kvec *iov = &rqst[i].rq_iov[j]; + + skip = (i ==0 ) && (j ==0 ) ?20 :0 ; + addr = (unsigned long )iov->iov_base + skip; +if (unlikely (is_vmalloc_addr ((void *)addr))) { + len = iov->iov_len - skip; + nents +=DIV_ROUND_UP (offset_in_page (addr) + len, +PAGE_SIZE ); + }else { + nents++; + } + } + nents += rqst[i].rq_npages; + } + nents +=DIV_ROUND_UP (offset_in_page (sig) +SMB2_SIGNATURE_SIZE ,PAGE_SIZE ); +return nents; +} + +/* We can not use the normal sg_set_buf() as we will sometimes pass a +* stack object as buf. +*/ +static inline struct scatterlist *cifs_sg_set_buf (struct scatterlist *sg, +const void *buf, +unsigned int buflen) +{ +unsigned long addr = (unsigned long )buf; +unsigned int off =offset_in_page (addr); + + addr &=PAGE_MASK ; +if (unlikely (is_vmalloc_addr ((void *)addr))) { +do { + unsigned int len = min_t(unsigned int, buflen, PAGE_SIZE - off); + +sg_set_page (sg++,vmalloc_to_page ((void *)addr), len, off); + + off =0 ; + addr +=PAGE_SIZE ; + buflen -= len; + }while (buflen); + }else { +sg_set_page (sg++,virt_to_page (addr), buflen, off); + } +return sg; +} +#endif /* _CIFS_GLOB_H */
fs/cifs/cifsproto.h +2 -2
@@ -600,8 +600,8 @@ int setup_aio_ctx_iter(struct cifs_aio_cint cifs_alloc_hash (const char *name,struct shash_desc **sdesc);void cifs_free_hash (struct shash_desc **sdesc); -extern void rqst_page_get_length (struct smb_rqst *rqst,unsigned int page, -unsigned int *len,unsigned int *offset); +void rqst_page_get_length (const struct smb_rqst *rqst,unsigned int page, +unsigned int *len,unsigned int *offset);struct cifs_chan *cifs_ses_find_chan (struct cifs_ses *ses,struct TCP_Server_Info *server);int cifs_try_adding_channels (struct cifs_sb_info *cifs_sb,struct cifs_ses *ses);
fs/cifs/misc.c +2 -2
@@ -1136,8 +1136,8 @@ cifs_free_hash(struct shash_desc **sdesc* @len: Where to store the length for this page: * @offset: Where to store the offset for this page */ -void rqst_page_get_length (struct smb_rqst *rqst,unsigned int page, -unsigned int *len,unsigned int *offset) +void rqst_page_get_length (const struct smb_rqst *rqst,unsigned int page, +unsigned int *len,unsigned int *offset) { *len = rqst->rq_pagesz; *offset = (page ==0 ) ? rqst->rq_offset :0 ;
fs/cifs/smb2ops.c +68 -75
197 lines not on this page · raw message
Greg Kroah-Hartman
maintainerPATCH 24/25 KEYS: encrypted: fix key instantiation with user-provided data
In reply to Greg Kroah-HartmanFrom: Nikolaus Voss <[email protected]>
commit 5adedd42245af0860ebda8fe0949f24f5204c1b1 upstream.
Commit cd3bc044af48 ("KEYS: encrypted: Instantiate key with user-provided decrypted data") added key instantiation with user provided decrypted data. The user data is hex-ascii-encoded but was just memcpy'ed to the binary buffer. Fix this to use hex2bin instead.
Old keys created from user provided decrypted data saved with "keyctl pipe" are still valid, however if the key is recreated from decrypted data the old key must be converted to the correct format. This can be done with a small shell script, e.g.:
BROKENKEY=abcdefABCDEF1234567890aaaaaaaaaa NEWKEY=$(echo -ne $BROKENKEY | xxd -p -c32)
keyctl add user masterkey "$(cat masterkey.bin)" @u keyctl add encrypted testkey "new user:masterkey 32 $NEWKEY" @u
However, NEWKEY is still broken: If for BROKENKEY 32 bytes were specified, a brute force attacker knowing the key properties would only need to try at most 2^(16*8) keys, as if the key was only 16 bytes long.
The security issue is a result of the combination of limiting the input range to hex-ascii and using memcpy() instead of hex2bin(). It could have been fixed either by allowing binary input or using hex2bin() (and doubling the ascii input key length). This patch implements the latter.
The corresponding test for the Linux Test Project ltp has also been fixed (see link below).
--- Documentation/security/keys/trusted-encrypted.rst | 3 ++- security/keys/encrypted-keys/encrypted.c | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-)
Documentation/security/keys/trusted-encrypted.rst +2 -1
@@ -350,7 +350,8 @@ Load an encrypted key "evm" from saved b Instantiate an encrypted key "evm" using user-provided decrypted data:: - $ keyctl add encrypted evm "new default user:kmk 32 `cat evm_decrypted_data.blob`" @u + $ evmkey=$(dd if=/dev/urandom bs=1 count=32 | xxd -c32 -p) + $ keyctl add encrypted evm "new default user:kmk 32 $evmkey" @u 794890253 $ keyctl print 794890253
security/keys/encrypted-keys/encrypted.c +3 -3
@@ -627,7 +627,7 @@ static struct encrypted_key_payload *encpr_err ("encrypted key: instantiation of keys using provided decrypted data is disabled since CONFIG_USER_DECRYPTED_DATA is set to false\n" );return ERR_PTR (-EINVAL ); } -if (strlen (decrypted_data) != decrypted_datalen) { +if (strlen (decrypted_data) != decrypted_datalen *2 ) {pr_err ("encrypted key: decrypted data provided does not match decrypted data length provided\n" );return ERR_PTR (-EINVAL ); }
@@ -791,8 +791,8 @@ static int encrypted_init(struct encrypt ret =encrypted_key_decrypt (epayload, format, hex_encoded_iv); }else if (decrypted_data) {get_random_bytes (epayload->iv, ivsize); -memcpy (epayload->decrypted_data, decrypted_data, - epayload->decrypted_datalen); + ret =hex2bin (epayload->decrypted_data, decrypted_data, + epayload->decrypted_datalen); }else {get_random_bytes (epayload->iv, ivsize);get_random_bytes (epayload->decrypted_data, epayload->decrypted_datalen);
Greg Kroah-Hartman
maintainerPATCH 25/25 usb: ulpi: defer ulpi_register on ulpi_read_id timeout
In reply to Greg Kroah-HartmanFrom: Ferry Toth <[email protected]>
commit 8a7b31d545d3a15f0e6f5984ae16f0ca4fd76aac upstream.
Since commit 0f0101719138 ("usb: dwc3: Don't switch OTG -> peripheral if extcon is present") Dual Role support on Intel Merrifield platform broke due to rearranging the call to dwc3_get_extcon().
It appears to be caused by ulpi_read_id() on the first test write failing with -ETIMEDOUT. Currently ulpi_read_id() expects to discover the phy via DT when the test write fails and returns 0 in that case, even if DT does not provide the phy. As a result usb probe completes without phy.
Make ulpi_read_id() return -ETIMEDOUT to its user if the first test write fails. The user should then handle it appropriately. A follow up patch will make dwc3_core_init() set -EPROBE_DEFER in this case and bail out.
--- drivers/usb/common/ulpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/usb/common/ulpi.c +1 -1
@@ -207,7 +207,7 @@ static int ulpi_read_id(struct ulpi *ulp/* Test the interface */ ret =ulpi_write (ulpi,ULPI_SCRATCH ,0xaa );if (ret <0 ) - goto err; +return ret; ret =ulpi_read (ulpi,ULPI_SCRATCH );if (ret <0 )
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
On ARCH_BRCMSTB using 32-bit and 64-bit ARM kernels, build tested on BMIPS_GENERIC:
Signature · 1 line
Florian
Quoted 5 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Successfully cross-compiled for arm64 (bcm2711_defconfig, GCC 10.2.0) and powerpc (ps3_defconfig, GCC 12.2.0).
Signature · 1 line
An old man doll... just what I always wanted! - Clara
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
Hi Greg,
6.1.1-rc1 tested.
Run tested on:
- Intel Alder Lake x86_64 (nuc12 i7-1260P)
- SolidRun Cubox-i Dual/Quad - NXP iMX6 (Cubox-i4Pro)
In addition - build tested for:
- Allwinner A64
- Allwinner H3
- Allwinner H5
- Allwinner H6
- NXP iMX8
- Qualcomm Dragonboard
- Rockchip RK3288
- Rockchip RK3328
- Rockchip RK3399pro
- Samsung Exynos
--
Rudi
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.
## Build
* kernel: 6.1.1-rc1
* git: https://gitlab.com/Linaro/lkft/mirrors/stable/linux-stable-rc
* git branch: linux-6.1.y
* git commit: 4478ff938eb5814bd2ae93b7e2d68c4fe54e9380
* git describe: v6.1-26-g4478ff938eb5
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y/build/v6.1-26-g4478ff938eb5/
## Test Regressions (compared to v6.1)
## Metric Regressions (compared to v6.1)
## Test Fixes (compared to v6.1)
## Metric Fixes (compared to v6.1)
## Test result summary
total: 173959, pass: 152611, fail: 5743, skip: 15605, xfail: 0
## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 151 total, 146 passed, 5 failed
* arm64: 49 total, 48 passed, 1 failed
* i386: 39 total, 36 passed, 3 failed
* mips: 30 total, 28 passed, 2 failed
* parisc: 8 total, 8 passed, 0 failed
* powerpc: 38 total, 32 passed, 6 failed
* riscv: 16 total, 16 passed, 0 failed
* s390: 16 total, 16 passed, 0 failed
* sh: 14 total, 12 passed, 2 failed
* sparc: 8 total, 8 passed, 0 failed
* x86_64: 42 total, 41 passed, 1 failed
## Test suites summary
* boot
* fwts
* igt-gpu-tools
* kselftest-android
* kselftest-arm64
* kselftest-arm64/arm64.btitest.bti_c_func
* kselftest-arm64/arm64.btitest.bti_j_func
* kselftest-arm64/arm64.btitest.bti_jc_func
* kselftest-arm64/arm64.btitest.bti_none_func
* kselftest-arm64/arm64.btitest.nohint_func
* kselftest-arm64/arm64.btitest.paciasp_func
* kselftest-arm64/arm64.nobtitest.bti_c_func
* kselftest-arm64/arm64.nobtitest.bti_j_func
* kselftest-arm64/arm64.nobtitest.bti_jc_func
* kselftest-arm64/arm64.nobtitest.bti_none_func
* kselftest-arm64/arm64.nobtitest.nohint_func
* kselftest-arm64/arm64.nobtitest.paciasp_func
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-drivers-dma-buf
* kselftest-efivarfs
* kselftest-filesystems
* kselftest-filesystems-binderfs
* kselftest-firmware
* kselftest-fpu
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-ir
* kselftest-kcmp
* kselftest-kexec
* kselftest-kvm
* kselftest-lib
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-memory-hotplug
* kselftest-mincore
* kselftest-mount
* kselftest-mqueue
* kselftest-net-forwarding
* kselftest-net-mptcp
* kselftest-netfilter
* kselftest-nsfs
* kselftest-openat2
* kselftest-pid_namespace
* kselftest-pidfd
* kselftest-proc
* kselftest-pstore
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-splice
* kselftest-static_keys
* kselftest-sync
* kselftest-sysctl
* kselftest-tc-testing
* kselftest-timens
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user
* kselftest-vm
* kselftest-x86
* kselftest-zram
* kunit
* kvm-unit-tests
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-test
* ltp-cap_bounds
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-filecaps
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-fsx
* ltp-hugetlb
* ltp-io
* ltp-ipc
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-open-posix-tests
* ltp-pty
* ltp-sched
* ltp-securebits
* ltp-smoke
* ltp-syscalls
* ltp-tracing
* network-basic-tests
* packetdrill
* perf
* perf/Zstd-perf.data-compression
* rcutorture
* v4l2-compliance
* vdso
--
Linaro LKFT
https://lkft.linaro.org
Hi Greg,
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
Build test (gcc version 12.2.1 20221127):
mips: 52 configs -> no failure
arm: 100 configs -> no failure
arm64: 3 configs -> no failurex86_64: 4 configs -> no failure
alpha allmodconfig -> no failure
csky allmodconfig -> no failure
powerpc allmodconfig -> no failure
riscv allmodconfig -> no failure
s390 allmodconfig -> no failure
xtensa allmodconfig -> no failure
Boot test:x86_64: Booted on my test laptop. No regression.x86_64: Booted on qemu. No regression. [1]
arm64: Booted on rpi4b (4GB model). No regression. [2]
mips: Booted on ci20 board. Regression.
Note:
networking.service is failing on mips ci20 boards. Issue seen on v6.1 also. Will report upstream after bisecting.
[1]. https://openqa.qa.codethink.co.uk/tests/2420
[2]. https://openqa.qa.codethink.co.uk/tests/2427
Signature · 2 lines
Regards Sudip
Hi Greg,
Quoted 12 lines · Sudip Mukherjee (Codethink)
Hi Greg,
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
<snip>
Quoted 10 lines
Boot test:
x86_64: Booted on my test laptop. No regression.x86_64: Booted on qemu. No regression. [1]
arm64: Booted on rpi4b (4GB model). No regression. [2]
mips: Booted on ci20 board. Regression.Note:
networking.service is failing on mips ci20 boards. Issue seen on v6.1 also. Will report upstream after bisecting.
This has already been fixed in mainline by:ca637c0ece14 ("MIPS: DTS: CI20: fix reset line polarity of the ethernet controller")
I have tested 6.1.1-rc1 with the above commit cherry-picked and it has fixed the issue.
Signature · 2 lines
Regards Sudip
Greg Kroah-Hartman
maintainerQuoted 30 lines · Sudip Mukherjee
Hi Greg,
Quoted 12 lines · Sudip Mukherjee (Codethink)
Hi Greg,
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
<snip>
Quoted 10 lines
Boot test:
x86_64: Booted on my test laptop. No regression.x86_64: Booted on qemu. No regression. [1]
arm64: Booted on rpi4b (4GB model). No regression. [2]
mips: Booted on ci20 board. Regression.Note:
networking.service is failing on mips ci20 boards. Issue seen on v6.1 also. Will report upstream after bisecting.
Quoted 6 lines
This has already been fixed in mainline by:
ca637c0ece14("MIPS: DTS: CI20: fix reset line polarity of the ethernet controller")I have tested 6.1.1-rc1 with the above commit cherry-picked and it has fixed the issue.
Thanks for letting me know, now queued up.
greg k-h
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
Build results:
total: 155 pass: 155 fail: 0 Qemu test results: total: 500 pass: 498 fail: 2 Failed tests: arm:xilinx-zynq-a9:multi_v7_defconfig:usb0:mem128:net,default:zynq-zc702:rootfs arm:xilinx-zynq-a9:multi_v7_defconfig:usb0:mem128:zynq-zed:rootfs
The failure bisects to commit e013ba1e4e12 ("usb: ulpi: defer ulpi_register on ulpi_read_id timeout") and is inherited from mainline. Reverting the offending patch fixes the problem.
Guenter
---
# bad: [4478ff938eb5814bd2ae93b7e2d68c4fe54e9380] Linux 6.1.1-rc1
# good: [830b3c68c1fb1e9176028d02ef86f3cf76aa2476] Linux 6.1
git bisect start 'HEAD' 'v6.1'
# good: [38b8e682acfa37b80cb947cecc743431c72a6c1d] USB: serial: option: add Quectel EM05-G modem
git bisect good 38b8e682acfa37b80cb947cecc743431c72a6c1d
# good: [8baa56d13f1bef9c621bc967c66b789022e9614e] staging: r8188eu: fix led register settings
git bisect good 8baa56d13f1bef9c621bc967c66b789022e9614e
# good: [aaac7e5db89b4f46c871b9a5c188bfbe6ae21b83] usb: dwc3: pci: Update PCIe device ID for USB3 controller on CPU sub-system for Raptor Lake git bisect good aaac7e5db89b4f46c871b9a5c188bfbe6ae21b83
# good: [acbd8d17388466ea19eb52c2239c2e9d34906381] KEYS: encrypted: fix key instantiation with user-provided data
git bisect good acbd8d17388466ea19eb52c2239c2e9d34906381
# bad: [e013ba1e4e12b523bff42f600d598ff65a69c27b] usb: ulpi: defer ulpi_register on ulpi_read_id timeout
git bisect bad e013ba1e4e12b523bff42f600d598ff65a69c27b
# first bad commit: [e013ba1e4e12b523bff42f600d598ff65a69c27b] usb: ulpi: defer ulpi_register on ulpi_read_id timeout
Greg Kroah-Hartman
maintainerQuoted 18 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
Build results:
total: 155 pass: 155 fail: 0 Qemu test results: total: 500 pass: 498 fail: 2 Failed tests: arm:xilinx-zynq-a9:multi_v7_defconfig:usb0:mem128:net,default:zynq-zc702:rootfs arm:xilinx-zynq-a9:multi_v7_defconfig:usb0:mem128:zynq-zed:rootfs
Quoted 3 lines
The failure bisects to commit
e013ba1e4e12("usb: ulpi: deferulpi_registeronulpi_read_idtimeout") and is inherited from mainline. Reverting the offending patch fixes the problem.
Odd, yet that same commit works just fine on 6.0 and 5.15 and 5.10? I hadn't had any reports of this being an issue on Linus's tree either, did I miss those?
thanks,
greg k-h
Quoted 19 lines · Greg Kroah-Hartman
Quoted 18 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
Build results:
total: 155 pass: 155 fail: 0 Qemu test results: total: 500 pass: 498 fail: 2 Failed tests: arm:xilinx-zynq-a9:multi_v7_defconfig:usb0:mem128:net,default:zynq-zc702:rootfs arm:xilinx-zynq-a9:multi_v7_defconfig:usb0:mem128:zynq-zed:rootfs
Quoted 8 lines
Quoted 3 lines
The failure bisects to commit
e013ba1e4e12("usb: ulpi: deferulpi_registeronulpi_read_idtimeout") and is inherited from mainline. Reverting the offending patch fixes the problem.Odd, yet that same commit works just fine on 6.0 and 5.15 and 5.10? I hadn't had any reports of this being an issue on Linus's tree either, did I miss those?
I testbed has a bad hair day. The reports for the other branches are wrong. I restarted the tests and expect them to fail there as well. Sorry for that.
You probably didn't see any reports on mainline because I didn't report the issue there yet. There are so many failures in mainline that it is a bit difficult to keep up. This would be a full-time job, and I just don't have that much time, sorry.
Guenter
Quoted 3 lines · Guenter Roeck
You probably didn't see any reports on mainline because I didn't report the issue there yet. There are so many failures in mainline that it is a bit difficult to keep up.
Just heads up, these are breakages in 6.1 known to me:
an io_uring 32bit test crashes the kernel:
https://lore.kernel.org/all/[email protected]/
Fixed in io_uring tree.
bind() of previously bound port no longer fails:
https://lore.kernel.org/all/[email protected]/
No fix available and revert close to impossible.
And most important, mremap() is broken in 6.1, so mostly everything fails in some random way:
https://lore.kernel.org/all/[email protected]/T/#u
Fixed in -mm.
maybe it can help...
Signature · 2 lines
js suse labs
Greg Kroah-Hartman
maintainerQuoted 20 lines · Jiri Slaby
Quoted 3 lines · Guenter Roeck
You probably didn't see any reports on mainline because I didn't report the issue there yet. There are so many failures in mainline that it is a bit difficult to keep up.
Just heads up, these are breakages in 6.1 known to me:
an
io_uring32bit test crashes the kernel:
https://lore.kernel.org/all/[email protected]/Fixed in
io_uringtree.
bind()of previously bound port no longer fails:
https://lore.kernel.org/all/[email protected]/No fix available and revert close to impossible.
Quoted 7 lines
And most important,
mremap()is broken in 6.1, so mostly everything fails in some random way:
https://lore.kernel.org/all/[email protected]/T/#uFixed in -mm.
maybe it can help...
Thanks for the list, I'll keep an eye out for these...
greg k-h
Quoted 11 lines · Jiri Slaby
Quoted 3 lines · Guenter Roeck
You probably didn't see any reports on mainline because I didn't report the issue there yet. There are so many failures in mainline that it is a bit difficult to keep up.
Just heads up, these are breakages in 6.1 known to me:
an
io_uring32bit test crashes the kernel:
https://lore.kernel.org/all/[email protected]/Fixed in
io_uringtree.
Just BTW: afaics the fix is now in mainline as 990a4de57e44
Quoted 4 lines
bind()of previously bound port no longer fails:
https://lore.kernel.org/all/[email protected]/No fix available and revert close to impossible.
Also just BTW: fix posted yesterday.
Quoted 5 lines
And most important,
mremap()is broken in 6.1, so mostly everything fails in some random way:
https://lore.kernel.org/all/[email protected]/T/#uFixed in -mm.
That one seems to fix an annoying issue many people might run into (at least it looks like it to my untrained eyes), which is the reason why I write this mail.
Andrew moved that fix from mm-hotfixes-unstable to mm-hotfixes-stable yesterday and I assume he'll send it to Linus pretty soon now to ensure it makes it into -rc1, so that the stable team can pick it up. It might be a bad season to ask this, but that made me wonder:
Should that patch have progressed quicker? And if so: how to make that happen when a similar situation arises in the future? Should somebody (the developer of the patch? me?) kindly ask the maintainer in question to sent the fix straight to Linus once it spend 1 or 2 days in next?
It's not the first time that I see something like this, that's why I'm wondering if I should do something in such situations.
Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
Greg Kroah-Hartman
maintainerQuoted 24 lines · Guenter Roeck
Quoted 23 lines · Greg Kroah-Hartman
Quoted 21 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
Build results:
total: 155 pass: 155 fail: 0 Qemu test results: total: 500 pass: 498 fail: 2 Failed tests: arm:xilinx-zynq-a9:multi_v7_defconfig:usb0:mem128:net,default:zynq-zc702:rootfs arm:xilinx-zynq-a9:multi_v7_defconfig:usb0:mem128:zynq-zed:rootfsThe failure bisects to commit
e013ba1e4e12("usb: ulpi: deferulpi_registeronulpi_read_idtimeout") and is inherited from mainline. Reverting the offending patch fixes the problem.
Quoted 7 lines
Quoted 4 lines
Odd, yet that same commit works just fine on 6.0 and 5.15 and 5.10? I hadn't had any reports of this being an issue on Linus's tree either, did I miss those?
I testbed has a bad hair day. The reports for the other branches are wrong. I restarted the tests and expect them to fail there as well. Sorry for that.
No worries, I've deleted this patch from all branches now, thanks.
greg k-h
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
All tests passing for Tegra ...
Test results for stable-v6.1:
11 builds: 11 pass, 0 fail
28 boots: 28 pass, 0 fail
130 tests: 130 pass, 0 failLinux version: 6.1.1-rc1-g4478ff938eb5
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000,
tegra20-ventana, tegra210-p2371-2180,
tegra210-p3450-0000, tegra30-cardhu-a04Jon
Quoted 9 lines
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my x86_64 and ARM64 test systems. No errors or regressions.
Thanks.
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
Hi,
Compiled and tested on my x86_64 test systems, no errors or regressions to report.
Yours,
-- Slade
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
Tested rc1 against the Fedora build system (aarch64, armv7, ppc64le, s390x, x86_64), and boot tested x86_64. No regressions noted.
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.1.1 release. There are 25 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 21 Dec 2022 18:29:31 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.1.1-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-6.1.y
and the diffstat can be found below.thanks,
greg k-h
All tests passing for Tegra ...
Test results for stable-v6.1:
11 builds: 11 pass, 0 fail
28 boots: 28 pass, 0 fail
130 tests: 130 pass, 0 failLinux version: 6.1.1-rc1-g4478ff938eb5
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra194-p3509-0000+p3668-0000,
tegra20-ventana, tegra210-p2371-2180,
tegra210-p3450-0000, tegra30-cardhu-a04