5.15.85-rc1 review
Subsystems (2)
Greg Kroah-Hartman
maintainercover 5.15.85-rc1 review
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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/v5.x/stable-review/patch-5.15.85-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-5.15.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 5.15.85-rc1
Rasmus Villemoes <[email protected]>
net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
Tiezhu Yang <[email protected]>
selftests: net: Use "grep -E" instead of "egrep"
Sungwoo Kim <[email protected]>
Bluetooth: L2CAP: Fix u8 overflow
José Expósito <[email protected]>
HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk
Ferry Toth <[email protected]>
usb: ulpi: defer ulpi_register on ulpi_read_id timeout
Shruthi Sanil <[email protected]>
usb: dwc3: pci: Update PCIe device ID for USB3 controller on CPU sub-system for Raptor Lake
Tony Nguyen <[email protected]>
igb: Initialize mailbox message for VF reset
Reka Norman <[email protected]>
xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N
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
-------------
Diffstat:
Makefile | 4 +- drivers/hid/hid-uclogic-core.c | 1 + drivers/net/ethernet/intel/igb/igb_main.c | 2 +- drivers/net/loopback.c | 2 +- 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 ++ fs/udf/inode.c | 76 ++++++++++++++----------------- fs/udf/truncate.c | 48 ++++++------------- net/bluetooth/l2cap_core.c | 3 +- tools/testing/selftests/net/toeplitz.sh | 2 +- 16 files changed, 84 insertions(+), 96 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/17 udf: Discard preallocation before extending file with a hole
From: 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
@@ -438,6 +438,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)
@@ -487,8 +493,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;
@@ -509,19 +513,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 ) {
@@ -549,7 +540,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 ); }
@@ -583,17 +574,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 );
@@ -646,8 +626,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 ))) {
@@ -776,10 +765,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 2/17 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 3/17 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 4/17 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
@@ -589,13 +589,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;
@@ -612,12 +616,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 );
@@ -633,9 +637,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)) ||
@@ -652,19 +656,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 5/17 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
@@ -213,8 +213,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 6/17 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 7/17 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 8/17 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); }
@@ -519,9 +516,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 9/17 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 10/17 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
@@ -247,7 +248,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 11/17 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
@@ -7410,7 +7410,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 12/17 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
@@ -43,7 +43,7 @@#define PCI_DEVICE_ID_INTEL_ADLP 0x51ee#define PCI_DEVICE_ID_INTEL_ADLM 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 13/17 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
@@ -206,7 +206,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 )
Greg Kroah-Hartman
maintainerPATCH 14/17 HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk
In reply to Greg Kroah-HartmanFrom: José Expósito <[email protected]>
[ Upstream commit 3405a4beaaa852f3ed2a5eb3b5149932d5c3779b ]
Commit f7d8e387d9ae ("HID: uclogic: Switch to Digitizer usage for styluses") changed the usage used in UCLogic from "Pen" to "Digitizer".
However, the IS_INPUT_APPLICATION() macro evaluates to false for HID_DG_DIGITIZER causing issues with the XP-Pen Star G640 tablet.
Add the HID_QUIRK_HIDINPUT_FORCE quirk to bypass the IS_INPUT_APPLICATION() check.
--- drivers/hid/hid-uclogic-core.c | 1 + 1 file changed, 1 insertion(+)
drivers/hid/hid-uclogic-core.c +1 -0
@@ -172,6 +172,7 @@ static int uclogic_probe(struct hid_device *hdev,* than the pen, so use QUIRK_MULTI_INPUT for all tablets. */ hdev->quirks |=HID_QUIRK_MULTI_INPUT ; + hdev->quirks |=HID_QUIRK_HIDINPUT_FORCE ;/* Allocate and assign driver data */ drvdata =devm_kzalloc (&hdev->dev,sizeof (*drvdata),GFP_KERNEL );
Signature · 1 line
2.35.1
Greg Kroah-Hartman
maintainerPATCH 15/17 Bluetooth: L2CAP: Fix u8 overflow
In reply to Greg Kroah-HartmanFrom: Sungwoo Kim <[email protected]>
[ Upstream commit bcd70260ef56e0aee8a4fc6cd214a419900b0765 ]
By keep sending L2CAP_CONF_REQ packets, chan->num_conf_rsp increases multiple times and eventually it will wrap around the maximum number (i.e., 255).
This patch prevents this by adding a boundary check with L2CAP_MAX_CONF_RSP
Btmon log:
Bluetooth monitor ver 5.64
= Note: Linux version 6.1.0-rc2 (x86_64) 0.264594
= Note: Bluetooth subsystem version 2.22 0.264636
@ MGMT Open: btmon (privileged) version 1.22 {0x0001} 0.272191
= New Index: 00:00:00:00:00:00 (Primary,Virtual,hci0) [hci0] 13.877604
@ RAW Open: 9496 (privileged) version 2.22 {0x0002} 13.890741
= Open Index: 00:00:00:00:00:00 [hci0] 13.900426
(...)
Quoted 1 line
ACL Data RX: Handle 200 flags
0x00dlen 1033 #32 [hci0] 14.273106
invalid packet size (12 != 1033)
08 00 01 00 02 01 04 00 01 10 ff ff ............Quoted 1 line
ACL Data RX: Handle 200 flags
0x00dlen 1547 #33 [hci0] 14.273561
invalid packet size (14 != 1547)
0a 00 01 00 04 01 06 00 40 00 00 00 00 00 ........@.....Quoted 1 line
ACL Data RX: Handle 200 flags
0x00dlen 2061 #34 [hci0] 14.274390
invalid packet size (16 != 2061)
0c 00 01 00 04 01 08 00 40 00 00 00 00 00 00 04 ........@.......Quoted 1 line
ACL Data RX: Handle 200 flags
0x00dlen 2061 #35 [hci0] 14.274932
invalid packet size (16 != 2061)
0c 00 01 00 04 01 08 00 40 00 00 00 07 00 03 00 ........@.......= bluetoothd: Bluetooth daemon 5.43 14.401828
Quoted 1 line
ACL Data RX: Handle 200 flags
0x00dlen 1033 #36 [hci0] 14.275753
invalid packet size (12 != 1033)
08 00 01 00 04 01 04 00 40 00 00 00 ........@...--- net/bluetooth/l2cap_core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
net/bluetooth/l2cap_core.c +2 -1
@@ -4453,7 +4453,8 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, chan->ident = cmd->ident;l2cap_send_cmd (conn, cmd->ident,L2CAP_CONF_RSP , len, rsp); - chan->num_conf_rsp++; +if (chan->num_conf_rsp <L2CAP_CONF_MAX_CONF_RSP ) + chan->num_conf_rsp++;/* Reset config buffer. */ chan->conf_len =0 ;
Signature · 1 line
2.35.1
Greg Kroah-Hartman
maintainerPATCH 16/17 selftests: net: Use "grep -E" instead of "egrep"
In reply to Greg Kroah-HartmanFrom: Tiezhu Yang <[email protected]>
[ Upstream commit 6a30d3e3491dc562384e9f15b201a8a25b57439f ]
The latest version of grep claims the egrep is now obsolete so the build now contains warnings that look like:
egrep: warning: egrep is obsolescent; using grep -E
fix this using "grep -E" instead.
sed -i "s/egrep/grep -E/g" grep egrep -rwl tools/testing/selftests/net
Here are the steps to install the latest grep:
wget http://ftp.gnu.org/gnu/grep/grep-3.8.tar.gz tar xf grep-3.8.tar.gz cd grep-3.8 && ./configure && make sudo make install export PATH=/usr/local/bin:$PATH
--- tools/testing/selftests/net/toeplitz.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
tools/testing/selftests/net/toeplitz.sh +1 -1
@@ -32,7 +32,7 @@ DEV="eth0" # This is determined by reading the RSS indirection table using ethtool. get_rss_cfg_num_rxqs() { echo $(ethtool -x "${DEV}" | - egrep [[:space:]]+[0-9]+:[[:space:]]+ | + grep -E [[:space:]]+[0-9]+:[[:space:]]+ | cut -d: -f2- | awk '{$1=$1};1' | tr ' ' '\n' |
Signature · 1 line
2.35.1
Greg Kroah-Hartman
maintainerPATCH 17/17 net: loopback: use NET_NAME_PREDICTABLE for name_assign_type
In reply to Greg Kroah-HartmanFrom: Rasmus Villemoes <[email protected]>
[ Upstream commit 31d929de5a112ee1b977a89c57de74710894bbbf ]
When the name_assign_type attribute was introduced (commit 685343fc3ba6, "net: add name_assign_type netdev attribute"), the loopback device was explicitly mentioned as one which would make use of NET_NAME_PREDICTABLE:
The name_assign_type attribute gives hints where the interface name of a given net-device comes from. These values are currently defined:
...
NET_NAME_PREDICTABLE:
The ifname has been assigned by the kernel in a predictable way that is guaranteed to avoid reuse and always be the same for a given device. Examples include statically created devices like the loopback device [...]
Switch to that so that reading /sys/class/net/lo/name_assign_type produces something sensible instead of returning -EINVAL.
--- drivers/net/loopback.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/loopback.c +1 -1
@@ -208,7 +208,7 @@ static __net_init int loopback_net_init(struct net *net)int err; err = -ENOMEM ; - dev =alloc_netdev (0 ,"lo" ,NET_NAME_UNKNOWN , loopback_setup); + dev =alloc_netdev (0 ,"lo" ,NET_NAME_PREDICTABLE , loopback_setup);if (!dev) goto out;
Signature · 1 line
2.35.1
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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/v5.x/stable-review/patch-5.15.85-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.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 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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/v5.x/stable-review/patch-5.15.85-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.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 5 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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/v5.x/stable-review/patch-5.15.85-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.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: 5.15.85-rc1
* git: https://gitlab.com/Linaro/lkft/mirrors/stable/linux-stable-rc
* git branch: linux-5.15.y
* git commit: bef75c6188c78b9ddf305681393ec04bd7d2ad30
* git describe: v5.15.84-18-gbef75c6188c7
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.15.y/build/v5.15.84-18-gbef75c6188c7
## Test Regressions (compared to v5.15.84)
## Metric Regressions (compared to v5.15.84)
## Test Fixes (compared to v5.15.84)
## Metric Fixes (compared to v5.15.84)
## Test result summary
total: 139603, pass: 121329, fail: 2908, skip: 14952, xfail: 414
## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 151 total, 148 passed, 3 failed
* arm64: 49 total, 47 passed, 2 failed
* i386: 39 total, 35 passed, 4 failed
* mips: 31 total, 29 passed, 2 failed
* parisc: 8 total, 8 passed, 0 failed
* powerpc: 34 total, 32 passed, 2 failed
* riscv: 14 total, 14 passed, 0 failed
* s390: 16 total, 14 passed, 2 failed
* sh: 14 total, 12 passed, 2 failed
* sparc: 8 total, 8 passed, 0 failed
* x86_64: 42 total, 40 passed, 2 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
* 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
* 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 5.15.85 release. There are 17 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: 62 configs -> no failure
arm: 99 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. No regression. [3]
[1]. https://openqa.qa.codethink.co.uk/tests/2422
[2]. https://openqa.qa.codethink.co.uk/tests/2425
[3]. https://openqa.qa.codethink.co.uk/tests/2428
Signature · 2 lines
Regards Sudip
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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: 489 pass: 489 fail: 0
Guenter
Quoted 6 lines · Guenter Roeck
Quoted 5 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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.
Quoted 9 lines
Quoted 3 lines
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: 489 pass: 489 fail: 0
Wrong results, sorry. I'll resend once I have the real ones.
Guenter
Quoted 11 lines · Guenter Roeck
Quoted 10 lines · Guenter Roeck
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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.
Quoted 8 lines
Quoted 5 lines
Build results:
total: 155 pass: 155 fail: 0 Qemu test results: total: 489 pass: 489 fail: 0Wrong results, sorry. I'll resend once I have the real ones.
Real test results:
Build results:
total: 160 pass: 160 fail: 0 Qemu test results: total: 489 pass: 487 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
Guenter
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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/v5.x/stable-review/patch-5.15.85-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
All tests passing for Tegra ...
Test results for stable-v5.15:
11 builds: 11 pass, 0 fail
28 boots: 28 pass, 0 fail
114 tests: 114 pass, 0 failLinux version: 5.15.85-rc1-gbef75c6188c7
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 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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.
-- Slade
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.15.85 release. There are 17 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/v5.x/stable-review/patch-5.15.85-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.15.y
and the diffstat can be found below.thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).