6.11.1-rc1 review
Subsystems (2)
Greg Kroah-Hartman
maintainercover 6.11.1-rc1 review
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 6.11.1-rc1
Edward Adam Davis <[email protected]>
USB: usbtmc: prevent kernel-usb-infoleak
Junhao Xie <[email protected]>
USB: serial: pl2303: add device id for Macrosilicon MS3020
Keith Busch <[email protected]>
nvme-pci: qdepth 1 quirk
Vijendar Mukunda <[email protected]>
ASoC: amd: acp: add ZSC control register programming sequence
Kiran K <[email protected]>
Bluetooth: btintel_pcie: Allocate memory for driver private data
Dan Carpenter <[email protected]>
netfilter: nft_socket: Fix a NULL vs IS_ERR() bug in nft_socket_cgroup_subtree_level()
Dhananjay Ugwekar <[email protected]>
cpufreq/amd-pstate: Add the missing cpufreq_cpu_put()
Dhananjay Ugwekar <[email protected]>
powercap/intel_rapl: Fix the energy-pkg event for AMD CPUs
Dhananjay Ugwekar <[email protected]>
powercap/intel_rapl: Add support for AMD family 1Ah
Michał Winiarski <[email protected]>
drm: Expand max DRM device number to full MINORBITS
Michał Winiarski <[email protected]>
accel: Use XArray instead of IDR for minors
Michał Winiarski <[email protected]>
drm: Use XArray instead of IDR for minors
-------------
Diffstat:
Makefile | 4 +- drivers/accel/drm_accel.c | 110 +++------------------------------- drivers/bluetooth/btintel_pcie.c | 2 +- drivers/cpufreq/amd-pstate.c | 5 +- drivers/gpu/drm/drm_drv.c | 97 +++++++++++++++--------------- drivers/gpu/drm/drm_file.c | 2 +- drivers/gpu/drm/drm_internal.h | 4 -- drivers/nvme/host/nvme.h | 5 ++ drivers/nvme/host/pci.c | 18 +++--- drivers/powercap/intel_rapl_common.c | 35 +++++++++-- drivers/usb/class/usbtmc.c | 2 +- drivers/usb/serial/pl2303.c | 1 + drivers/usb/serial/pl2303.h | 4 ++ include/drm/drm_accel.h | 18 +----- include/drm/drm_file.h | 5 ++ net/netfilter/nft_socket.c | 4 +- sound/soc/amd/acp/acp-legacy-common.c | 5 ++ sound/soc/amd/acp/amd.h | 2 + 18 files changed, 129 insertions(+), 194 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/12 drm: Use XArray instead of IDR for minors
6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Michał Winiarski <[email protected]>
[ Upstream commit 5fbca8b48b3050ae7fb611a8b09af60012ed6de1 ]
IDR is deprecated, and since XArray manages its own state with internal locking, it simplifies the locking on DRM side. Additionally, don't use the IRQ-safe variant, since operating on drm minor is not done in IRQ context.
--- drivers/gpu/drm/drm_drv.c | 63 ++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 38 deletions(-)
drivers/gpu/drm/drm_drv.c +25 -38
@@ -34,6 +34,7 @@#include <linux/pseudo_fs.h> #include <linux/slab.h> #include <linux/srcu.h> +#include <linux/xarray.h> #include <drm/drm_accel.h> #include <drm/drm_cache.h>
@@ -54,8 +55,7 @@ MODULE_AUTHOR("Gareth Hughes, Leif Delgass, José Fonseca, Jon Smirl");MODULE_DESCRIPTION ("DRM shared core routines" );MODULE_LICENSE ("GPL and additional rights" ); -static DEFINE_SPINLOCK (drm_minor_lock); -static struct idr drm_minors_idr; +static DEFINE_XARRAY_ALLOC (drm_minors_xa);/* * If the drm core fails to init for whatever reason,
@@ -101,26 +101,23 @@ static struct drm_minor **drm_minor_get_slot(struct drm_device *dev,static void drm_minor_alloc_release (struct drm_device *dev,void *data) {struct drm_minor *minor = data; -unsigned long flags;WARN_ON (dev != minor->dev);put_device (minor->kdev); -if (minor->type ==DRM_MINOR_ACCEL ) { +if (minor->type ==DRM_MINOR_ACCEL )accel_minor_remove (minor->index); - }else { -spin_lock_irqsave (&drm_minor_lock, flags); -idr_remove (&drm_minors_idr, minor->index); -spin_unlock_irqrestore (&drm_minor_lock, flags); - } +else +xa_erase (&drm_minors_xa, minor->index); } +#define DRM_MINOR_LIMIT (t) ({ typeof(t) _t = (t); XA_LIMIT(64 * _t, 64 * _t + 63); }) +static int drm_minor_alloc (struct drm_device *dev,enum drm_minor_type type) {struct drm_minor *minor; -unsigned long flags; -int r; +int index, r; minor =drmm_kzalloc (dev,sizeof (*minor),GFP_KERNEL );if (!minor)
@@ -129,24 +126,17 @@ static int drm_minor_alloc(struct drm_device *dev, enum drm_minor_type type) minor->type = type; minor->dev = dev; -idr_preload (GFP_KERNEL );if (type ==DRM_MINOR_ACCEL ) { r =accel_minor_alloc (); + index = r; }else { -spin_lock_irqsave (&drm_minor_lock, flags); - r =idr_alloc (&drm_minors_idr, -NULL , -64 * type, -64 * (type +1 ), -GFP_NOWAIT ); -spin_unlock_irqrestore (&drm_minor_lock, flags); + r =xa_alloc (&drm_minors_xa, &index,NULL ,DRM_MINOR_LIMIT (type),GFP_KERNEL ); } -idr_preload_end ();if (r <0 )return r; - minor->index = r; + minor->index = index; r =drmm_add_action_or_reset (dev, drm_minor_alloc_release, minor);if (r)
@@ -163,7 +153,7 @@ static int drm_minor_alloc(struct drm_device *dev, enum drm_minor_type type)static int drm_minor_register (struct drm_device *dev,enum drm_minor_type type) {struct drm_minor *minor; -unsigned long flags; +void *entry;int ret;DRM_DEBUG ("\n" );
@@ -189,9 +179,12 @@ static int drm_minor_register(struct drm_device *dev, enum drm_minor_type type)if (minor->type ==DRM_MINOR_ACCEL ) {accel_minor_replace (minor, minor->index); }else { -spin_lock_irqsave (&drm_minor_lock, flags); -idr_replace (&drm_minors_idr, minor, minor->index); -spin_unlock_irqrestore (&drm_minor_lock, flags); + entry =xa_store (&drm_minors_xa, minor->index, minor,GFP_KERNEL ); +if (xa_is_err (entry)) { + ret =xa_err (entry); + goto err_debugfs; + } +WARN_ON (entry); }DRM_DEBUG ("new minor registered %d\n" , minor->index);
@@ -205,20 +198,16 @@ static int drm_minor_register(struct drm_device *dev, enum drm_minor_type type)static void drm_minor_unregister (struct drm_device *dev,enum drm_minor_type type) {struct drm_minor *minor; -unsigned long flags; minor = *drm_minor_get_slot (dev, type);if (!minor || !device_is_registered (minor->kdev))return ;/* replace @minor with NULL so lookups will fail from now on */ -if (minor->type ==DRM_MINOR_ACCEL ) { +if (minor->type ==DRM_MINOR_ACCEL )accel_minor_replace (NULL , minor->index); - }else { -spin_lock_irqsave (&drm_minor_lock, flags); -idr_replace (&drm_minors_idr,NULL , minor->index); -spin_unlock_irqrestore (&drm_minor_lock, flags); - } +else +xa_store (&drm_minors_xa, minor->index,NULL ,GFP_KERNEL );device_del (minor->kdev);dev_set_drvdata (minor->kdev,NULL );/* safety belt */
@@ -237,13 +226,12 @@ static void drm_minor_unregister(struct drm_device *dev, enum drm_minor_type typstruct drm_minor *drm_minor_acquire (unsigned int minor_id) {struct drm_minor *minor; -unsigned long flags; -spin_lock_irqsave (&drm_minor_lock, flags); - minor =idr_find (&drm_minors_idr, minor_id); +xa_lock (&drm_minors_xa); + minor =xa_load (&drm_minors_xa, minor_id);if (minor)drm_dev_get (minor->dev); -spin_unlock_irqrestore (&drm_minor_lock, flags); +xa_unlock (&drm_minors_xa);if (!minor) {return ERR_PTR (-ENODEV );
@@ -1071,7 +1059,7 @@ static void drm_core_exit(void)unregister_chrdev (DRM_MAJOR ,"drm" );debugfs_remove (drm_debugfs_root);drm_sysfs_destroy (); -idr_destroy (&drm_minors_idr); +WARN_ON (!xa_empty (&drm_minors_xa));drm_connector_ida_destroy (); }
@@ -1080,7 +1068,6 @@ static int __init drm_core_init(void)int ret;drm_connector_ida_init (); -idr_init (&drm_minors_idr);drm_memcpy_init_early (); ret =drm_sysfs_init ();
Signature · 1 line
2.43.0
Greg Kroah-Hartman
maintainerPATCH 2/12 accel: Use XArray instead of IDR for minors
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Michał Winiarski <[email protected]>
[ Upstream commit 45c4d994b82b08f0ce5eb50f8da29379c92a391e ]
Accel minor management is based on DRM (and is also using struct drm_minor internally), since DRM is using XArray for minors, it makes sense to also convert accel.
As the two implementations are identical (only difference being the underlying xarray), move the accel_minor_* functionality to DRM.
--- drivers/accel/drm_accel.c | 110 +++------------------------------ drivers/gpu/drm/drm_drv.c | 66 ++++++++++---------- drivers/gpu/drm/drm_file.c | 2 +- drivers/gpu/drm/drm_internal.h | 4 -- include/drm/drm_accel.h | 18 +----- include/drm/drm_file.h | 5 ++ 6 files changed, 47 insertions(+), 158 deletions(-)
drivers/accel/drm_accel.c +7 -103
@@ -8,7 +8,7 @@#include <linux/debugfs.h> #include <linux/device.h> -#include <linux/idr.h> +#include <linux/xarray.h> #include <drm/drm_accel.h> #include <drm/drm_auth.h>
@@ -18,8 +18,7 @@#include <drm/drm_ioctl.h> #include <drm/drm_print.h> -static DEFINE_SPINLOCK (accel_minor_lock); -static struct idr accel_minors_idr; +DEFINE_XARRAY_ALLOC (accel_minors_xa);static struct dentry *accel_debugfs_root;
@@ -117,99 +116,6 @@ void accel_set_device_instance_params(struct device *kdev, int index) kdev->type = &accel_sysfs_device_minor; } -/** -* accel_minor_alloc() - Allocates a new accel minor -* -* This function access the accel minors idr and allocates from it -* a new id to represent a new accel minor -* -* Return: A new id on success or error code in case idr_alloc failed -*/ -int accel_minor_alloc (void ) -{ -unsigned long flags; -int r; - -spin_lock_irqsave (&accel_minor_lock, flags); - r =idr_alloc (&accel_minors_idr,NULL ,0 ,ACCEL_MAX_MINORS ,GFP_NOWAIT ); -spin_unlock_irqrestore (&accel_minor_lock, flags); - -return r; -} - -/** -* accel_minor_remove() - Remove an accel minor -* @index: The minor id to remove. -* -* This function access the accel minors idr and removes from -* it the member with the id that is passed to this function. -*/ -void accel_minor_remove (int index) -{ -unsigned long flags; - -spin_lock_irqsave (&accel_minor_lock, flags); -idr_remove (&accel_minors_idr, index); -spin_unlock_irqrestore (&accel_minor_lock, flags); -} - -/** -* accel_minor_replace() - Replace minor pointer in accel minors idr. -* @minor: Pointer to the new minor. -* @index: The minor id to replace. -* -* This function access the accel minors idr structure and replaces the pointer -* that is associated with an existing id. Because the minor pointer can be -* NULL, we need to explicitly pass the index. -* -* Return: 0 for success, negative value for error -*/ -void accel_minor_replace (struct drm_minor *minor,int index) -{ -unsigned long flags; - -spin_lock_irqsave (&accel_minor_lock, flags); -idr_replace (&accel_minors_idr, minor, index); -spin_unlock_irqrestore (&accel_minor_lock, flags); -} - -/* -* Looks up the given minor-ID and returns the respective DRM-minor object. The -* refence-count of the underlying device is increased so you must release this -* object with accel_minor_release(). -* -* The object can be only a drm_minor that represents an accel device. -* -* As long as you hold this minor, it is guaranteed that the object and the -* minor->dev pointer will stay valid! However, the device may get unplugged and -* unregistered while you hold the minor. -*/ -static struct drm_minor *accel_minor_acquire (unsigned int minor_id) -{ -struct drm_minor *minor; -unsigned long flags; - -spin_lock_irqsave (&accel_minor_lock, flags); - minor =idr_find (&accel_minors_idr, minor_id); -if (minor) -drm_dev_get (minor->dev); -spin_unlock_irqrestore (&accel_minor_lock, flags); - -if (!minor) { -return ERR_PTR (-ENODEV ); - }else if (drm_dev_is_unplugged (minor->dev)) { -drm_dev_put (minor->dev); -return ERR_PTR (-ENODEV ); - } - -return minor; -} - -static void accel_minor_release (struct drm_minor *minor) -{ -drm_dev_put (minor->dev); -} -/** * accel_open - open method for ACCEL file * @inode: device inode
@@ -227,7 +133,7 @@ int accel_open(struct inode *inode, struct file *filp)struct drm_minor *minor;int retcode; - minor =accel_minor_acquire (iminor (inode)); + minor =drm_minor_acquire (&accel_minors_xa,iminor (inode));if (IS_ERR (minor))return PTR_ERR (minor);
@@ -246,7 +152,7 @@ int accel_open(struct inode *inode, struct file *filp) err_undo:atomic_dec (&dev->open_count); -accel_minor_release (minor); +drm_minor_release (minor);return retcode; }EXPORT_SYMBOL_GPL (accel_open);
@@ -257,7 +163,7 @@ static int accel_stub_open(struct inode *inode, struct file *filp)struct drm_minor *minor;int err; - minor =accel_minor_acquire (iminor (inode)); + minor =drm_minor_acquire (&accel_minors_xa,iminor (inode));if (IS_ERR (minor))return PTR_ERR (minor);
@@ -274,7 +180,7 @@ static int accel_stub_open(struct inode *inode, struct file *filp) err =0 ; out: -accel_minor_release (minor); +drm_minor_release (minor);return err; }
@@ -290,15 +196,13 @@ void accel_core_exit(void)unregister_chrdev (ACCEL_MAJOR ,"accel" );debugfs_remove (accel_debugfs_root);accel_sysfs_destroy (); -idr_destroy (&accel_minors_idr); +WARN_ON (!xa_empty (&accel_minors_xa)); }int __init accel_core_init (void ) {int ret; -idr_init (&accel_minors_idr); - ret =accel_sysfs_init ();if (ret <0 ) {DRM_ERROR ("Cannot create ACCEL class: %d\n" , ret);
drivers/gpu/drm/drm_drv.c +32 -34
129 lines not on this page · raw message
drivers/gpu/drm/drm_file.c +1 -1
@@ -364,7 +364,7 @@ int drm_open(struct inode *inode, struct file *filp)struct drm_minor *minor;int retcode; - minor =drm_minor_acquire (iminor (inode)); + minor =drm_minor_acquire (&drm_minors_xa,iminor (inode));if (IS_ERR (minor))return PTR_ERR (minor);
drivers/gpu/drm/drm_internal.h +0 -4
@@ -81,10 +81,6 @@ void drm_prime_destroy_file_private(struct drm_prime_file_private *prime_fpriv);void drm_prime_remove_buf_handle (struct drm_prime_file_private *prime_fpriv,uint32_t handle); -/* drm_drv.c */ -struct drm_minor *drm_minor_acquire (unsigned int minor_id); -void drm_minor_release (struct drm_minor *minor); -/* drm_managed.c */ void drm_managed_release (struct drm_device *dev);void drmm_add_final_kfree (struct drm_device *dev,void *container);
include/drm/drm_accel.h +2 -16
@@ -51,11 +51,10 @@#if IS_ENABLED (CONFIG_DRM_ACCEL ) +extern struct xarray accel_minors_xa; +void accel_core_exit (void );int accel_core_init (void ); -void accel_minor_remove (int index); -int accel_minor_alloc (void ); -void accel_minor_replace (struct drm_minor *minor,int index);void accel_set_device_instance_params (struct device *kdev,int index);int accel_open (struct inode *inode,struct file *filp);void accel_debugfs_init (struct drm_device *dev);
@@ -73,19 +72,6 @@ static inline int __init accel_core_init(void)return 0 ; } -static inline void accel_minor_remove (int index) -{ -} - -static inline int accel_minor_alloc (void ) -{ -return -EOPNOTSUPP ; -} - -static inline void accel_minor_replace (struct drm_minor *minor,int index) -{ -} -static inline void accel_set_device_instance_params (struct device *kdev,int index) { }
include/drm/drm_file.h +5 -0
@@ -45,6 +45,8 @@ struct drm_printer;struct device ;struct file ; +extern struct xarray drm_minors_xa; +/* * FIXME: Not sure we want to have drm_minor here in the end, but to avoid * header include loops we need it here for now.
@@ -434,6 +436,9 @@ static inline bool drm_is_accel_client(const struct drm_file *file_priv)void drm_file_update_pid (struct drm_file *); +struct drm_minor *drm_minor_acquire (struct xarray *minors_xa,unsigned int minor_id); +void drm_minor_release (struct drm_minor *minor); +int drm_open (struct inode *inode,struct file *filp);int drm_open_helper (struct file *filp,struct drm_minor *minor); ssize_t drm_read(struct file *filp, char __user *buffer,
Signature · 1 line
2.43.0
Greg Kroah-Hartman
maintainerPATCH 3/12 drm: Expand max DRM device number to full MINORBITS
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Michał Winiarski <[email protected]>
[ Upstream commit 071d583e01c88272f6ff216d4f867f8f35e94d7d ]
Having a limit of 64 DRM devices is not good enough for modern world where we have multi-GPU servers, SR-IOV virtual functions and virtual devices used for testing.
Let's utilize full minor range for DRM devices.
To avoid regressing the existing userspace, we're still maintaining the numbering scheme where 0-63 is used for primary, 64-127 is reserved (formerly for control) and 128-191 is used for render.
For minors >= 192, we're allocating minors dynamically on a first-come, first-served basis.
--- drivers/gpu/drm/drm_drv.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
drivers/gpu/drm/drm_drv.c +12 -0
@@ -121,10 +121,19 @@ static void drm_minor_alloc_release(struct drm_device *dev, void *data)xa_erase (drm_minor_get_xa (minor->type), minor->index); } +/* +* DRM used to support 64 devices, for backwards compatibility we need to maintain the +* minor allocation scheme where minors 0-63 are primary nodes, 64-127 are control nodes, +* and 128-191 are render nodes. +* After reaching the limit, we're allocating minors dynamically - first-come, first-serve. +* Accel nodes are using a distinct major, so the minors are allocated in continuous 0-MAX +* range. +*/ #define DRM_MINOR_LIMIT (t) ({ \ typeof(t) _t = (t); \ _t == DRM_MINOR_ACCEL ? XA_LIMIT(0, ACCEL_MAX_MINORS) : XA_LIMIT(64 * _t, 64 * _t + 63); \ }) +#define DRM_EXTENDED_MINOR_LIMIT XA_LIMIT(192, (1 << MINORBITS) - 1)static int drm_minor_alloc (struct drm_device *dev,enum drm_minor_type type) {
@@ -140,6 +149,9 @@ static int drm_minor_alloc(struct drm_device *dev, enum drm_minor_type type) r =xa_alloc (drm_minor_get_xa (type), &minor->index,NULL ,DRM_MINOR_LIMIT (type),GFP_KERNEL ); +if (r == -EBUSY && (type ==DRM_MINOR_PRIMARY || type ==DRM_MINOR_RENDER )) + r =xa_alloc (&drm_minors_xa, &minor->index, +NULL ,DRM_EXTENDED_MINOR_LIMIT ,GFP_KERNEL );if (r <0 )return r;
Signature · 1 line
2.43.0
Greg Kroah-Hartman
maintainerPATCH 4/12 powercap/intel_rapl: Add support for AMD family 1Ah
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dhananjay Ugwekar <[email protected]>
[ Upstream commit 166df51097a258a14fe9e946e2157f3b75eeb3c2 ]
AMD Family 1Ah's RAPL MSRs are identical to Family 19h's, extend Family 19h's support to Family 1Ah.
--- drivers/powercap/intel_rapl_common.c | 1 + 1 file changed, 1 insertion(+)
drivers/powercap/intel_rapl_common.c +1 -0
@@ -1285,6 +1285,7 @@ static const struct x86_cpu_id rapl_ids[] __initconst = {X86_MATCH_VENDOR_FAM (AMD ,0x17 , &rapl_defaults_amd),X86_MATCH_VENDOR_FAM (AMD ,0x19 , &rapl_defaults_amd), +X86_MATCH_VENDOR_FAM (AMD ,0x1A , &rapl_defaults_amd), X86_MATCH_VENDOR_FAM(HYGON, 0x18, &rapl_defaults_amd), {} };
Signature · 1 line
2.43.0
Greg Kroah-Hartman
maintainerPATCH 5/12 powercap/intel_rapl: Fix the energy-pkg event for AMD CPUs
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dhananjay Ugwekar <[email protected]>
[ Upstream commit 26096aed255fbac9501718174dbb24c935d8854e ]
After commit ("x86/cpu/topology: Add support for the AMD 0x80000026 leaf"), on AMD processors that support extended CPUID leaf 0x80000026, the topology_logical_die_id() macros, no longer returns package id, instead it returns the CCD (Core Complex Die) id. This leads to the energy-pkg event scope to be modified to CCD instead of package.
For more historical context, please refer to commit 32fb480e0a2c ("powercap/intel_rapl: Support multi-die/package"), which initially changed the RAPL scope from package to die for all systems, as Intel systems with Die enumeration have RAPL scope as die, and those without die enumeration are not affected. So, all systems(Intel, AMD, Hygon), worked correctly with topology_logical_die_id() until recently, but this changed after the "0x80000026 leaf" commit mentioned above.
Future multi-die Intel systems will have package scope RAPL counters, but they will be using TPMI RAPL interface, which is not affected by this change.
Replacing topology_logical_die_id() with topology_physical_package_id() conditionally only for AMD and Hygon fixes the energy-pkg event.
On an AMD 2 socket 8 CCD Zen4 server:
Before:
linux$ ls /sys/class/powercap/
intel-rapl intel-rapl:4 intel-rapl:8:0 intel-rapl:d intel-rapl:0 intel-rapl:4:0 intel-rapl:9 intel-rapl:d:0 intel-rapl:0:0 intel-rapl:5 intel-rapl:9:0 intel-rapl:e intel-rapl:1 intel-rapl:5:0 intel-rapl:a intel-rapl:e:0 intel-rapl:1:0 intel-rapl:6 intel-rapl:a:0 intel-rapl:f intel-rapl:2 intel-rapl:6:0 intel-rapl:b intel-rapl:f:0 intel-rapl:2:0 intel-rapl:7 intel-rapl:b:0 intel-rapl:3 intel-rapl:7:0 intel-rapl:c intel-rapl:3:0 intel-rapl:8 intel-rapl:c:0
After:
linux$ ls /sys/class/powercap/
intel-rapl intel-rapl:0 intel-rapl:0:0 intel-rapl:1 intel-rapl:1:0
Only one sysfs entry per-event per-package is created after this change.
--- drivers/powercap/intel_rapl_common.c | 34 ++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-)
drivers/powercap/intel_rapl_common.c +30 -4
@@ -2129,6 +2129,21 @@ void rapl_remove_package(struct rapl_package *rp) }EXPORT_SYMBOL_GPL (rapl_remove_package); +/* +* RAPL Package energy counter scope: +* 1. AMD/HYGON platforms use per-PKG package energy counter +* 2. For Intel platforms +* 2.1 CLX-AP platform has per-DIE package energy counter +* 2.2 Other platforms that uses MSR RAPL are single die systems so the +* package energy counter can be considered as per-PKG/per-DIE, +* here it is considered as per-DIE. +* 2.3 New platforms that use TPMI RAPL doesn't care about the +* scope because they are not MSR/CPU based. +*/ +#define rapl_msrs_are_pkg_scope () \ + (boot_cpu_data.x86_vendor == X86_VENDOR_AMD || \ + boot_cpu_data.x86_vendor == X86_VENDOR_HYGON) +/* caller to ensure CPU hotplug lock is held */ struct rapl_package *rapl_find_package_domain_cpuslocked (int id,struct rapl_if_priv *priv,bool id_is_cpu)
@@ -2136,8 +2151,14 @@ struct rapl_package *rapl_find_package_domain_cpuslocked(int id, struct rapl_if_struct rapl_package *rp;int uid; -if (id_is_cpu) - uid =topology_logical_die_id (id); +if (id_is_cpu) { + uid =rapl_msrs_are_pkg_scope () ? +topology_physical_package_id (id) :topology_logical_die_id (id); +if (uid <0 ) { +pr_err ("topology_logical_(package/die)_id() returned a negative value" ); +return ERR_PTR (-EINVAL ); + } + }else uid = id;
@@ -2169,9 +2190,14 @@ struct rapl_package *rapl_add_package_cpuslocked(int id, struct rapl_if_priv *prreturn ERR_PTR (-ENOMEM );if (id_is_cpu) { - rp->id =topology_logical_die_id (id); + rp->id =rapl_msrs_are_pkg_scope () ? +topology_physical_package_id (id) :topology_logical_die_id (id); +if ((int )(rp->id) <0 ) { +pr_err ("topology_logical_(package/die)_id() returned a negative value" ); +return ERR_PTR (-EINVAL ); + } rp->lead_cpu = id; -if (topology_max_dies_per_package () >1 ) +if (!rapl_msrs_are_pkg_scope () &&topology_max_dies_per_package () >1 )snprintf (rp->name,PACKAGE_DOMAIN_NAME_LENGTH ,"package-%d-die-%d" ,topology_physical_package_id (id),topology_die_id (id));else
Signature · 1 line
2.43.0
Greg Kroah-Hartman
maintainerPATCH 6/12 cpufreq/amd-pstate: Add the missing cpufreq_cpu_put()
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dhananjay Ugwekar <[email protected]>
[ Upstream commit 49243adc715e6ae34d6cc003827e63bcf5b3a21d ]
Fix the reference counting of cpufreq_policy object in amd_pstate_update() function by adding the missing cpufreq_cpu_put().
--- drivers/cpufreq/amd-pstate.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/cpufreq/amd-pstate.c +4 -1
@@ -554,12 +554,15 @@ static void amd_pstate_update(struct amd_cpudata *cpudata, u32 min_perf, }if (value == prev) -return ; + goto cpufreq_policy_put;WRITE_ONCE (cpudata->cppc_req_cached, value);amd_pstate_update_perf (cpudata, min_perf, des_perf, max_perf, fast_switch); + +cpufreq_policy_put: +cpufreq_cpu_put (policy); }static int amd_pstate_verify (struct cpufreq_policy_data *policy)
Signature · 1 line
2.43.0
Greg Kroah-Hartman
maintainerPATCH 7/12 netfilter: nft_socket: Fix a NULL vs IS_ERR() bug in nft_socket_cgroup_subtree_level()
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Dan Carpenter <[email protected]>
commit 7052622fccb1efb850c6b55de477f65d03525a30 upstream.
The cgroup_get_from_path() function never returns NULL, it returns error pointers. Update the error handling to match.
--- net/netfilter/nft_socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
net/netfilter/nft_socket.c +2 -2
@@ -61,8 +61,8 @@ static noinline int nft_socket_cgroup_sustruct cgroup *cgrp =cgroup_get_from_path ("/" );int level; -if (!cgrp) -return -ENOENT ; +if (IS_ERR (cgrp)) +return PTR_ERR (cgrp); level = cgrp->level;
Greg Kroah-Hartman
maintainerPATCH 8/12 Bluetooth: btintel_pcie: Allocate memory for driver private data
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Kiran K <[email protected]>
commit 7ffaa200251871980af12e57649ad57c70bf0f43 upstream.
Fix driver not allocating memory for struct btintel_data which is used to store internal data.
--- drivers/bluetooth/btintel_pcie.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/bluetooth/btintel_pcie.c +1 -1
@@ -1208,7 +1208,7 @@ static int btintel_pcie_setup_hdev(strucint err;struct hci_dev *hdev; - hdev =hci_alloc_dev (); + hdev =hci_alloc_dev_priv (sizeof (struct btintel_data ));if (!hdev)return -ENOMEM ;
Greg Kroah-Hartman
maintainerPATCH 9/12 ASoC: amd: acp: add ZSC control register programming sequence
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Vijendar Mukunda <[email protected]>
commit c35fad6f7e0d69b0e9e7e196bdbca3ed03ac24ea upstream.
Add ZSC Control register programming sequence for ACP D0 and D3 state transitions for ACP7.0 onwards. This will allow ACP to enter low power state when ACP enters D3 state. When ACP enters D0 State, ZSC control should be disabled.
--- sound/soc/amd/acp/acp-legacy-common.c | 5 +++++ sound/soc/amd/acp/amd.h | 2 ++ 2 files changed, 7 insertions(+)
sound/soc/amd/acp/acp-legacy-common.c +5 -0
@@ -321,6 +321,8 @@ int acp_init(struct acp_chip_info *chip)pr_err ("ACP reset failed\n" );return ret; } +if (chip->acp_rev >=ACP70_DEV ) +writel (0 , chip->base +ACP_ZSC_DSP_CTRL );return 0 ; }EXPORT_SYMBOL_NS_GPL (acp_init,SND_SOC_ACP_COMMON );
@@ -336,6 +338,9 @@ int acp_deinit(struct acp_chip_info *chiif (chip->acp_rev !=ACP70_DEV )writel (0 , chip->base +ACP_CONTROL ); + +if (chip->acp_rev >=ACP70_DEV ) +writel (0x01 , chip->base +ACP_ZSC_DSP_CTRL );return 0 ; }EXPORT_SYMBOL_NS_GPL (acp_deinit,SND_SOC_ACP_COMMON );
sound/soc/amd/acp/amd.h +2 -0
@@ -103,6 +103,8 @@#define ACP70_PGFSM_CONTROL ACP6X_PGFSM_CONTROL#define ACP70_PGFSM_STATUS ACP6X_PGFSM_STATUS +#define ACP_ZSC_DSP_CTRL 0x0001014 +#define ACP_ZSC_STS 0x0001018#define ACP_SOFT_RST_DONE_MASK 0x00010001#define ACP_PGFSM_CNTL_POWER_ON_MASK 0xffffffff
Greg Kroah-Hartman
maintainerPATCH 10/12 nvme-pci: qdepth 1 quirk
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Keith Busch <[email protected]>
commit 83bdfcbdbe5d901c5fa432decf12e1725a840a56 upstream.
Another device has been reported to be unreliable if we have more than one outstanding command. In this new case, data corruption may occur. Since we have two devices now needing this quirky behavior, make a generic quirk flag.
The same Apple quirk is clearly not "temporary", so update the comment while moving it.
--- drivers/nvme/host/nvme.h | 5 +++++ drivers/nvme/host/pci.c | 18 +++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-)
drivers/nvme/host/nvme.h +5 -0
@@ -91,6 +91,11 @@ enum nvme_quirks {NVME_QUIRK_NO_DEEPEST_PS = (1 <<5 ),/* +* Problems seen with concurrent commands +*/ +NVME_QUIRK_QDEPTH_ONE = (1 <<6 ), + +/* * Set MEDIUM priority on SQ creation */ NVME_QUIRK_MEDIUM_PRIO_SQ = (1 << 7),
drivers/nvme/host/pci.c +9 -9
@@ -2563,15 +2563,8 @@ static int nvme_pci_enable(struct nvme_delse dev->io_sqes =NVME_NVM_IOSQES ; -/* -* Temporary fix for the Apple controller found in the MacBook8,1 and -* some MacBook7,1 to avoid controller resets and data loss. -*/ -if (pdev->vendor ==PCI_VENDOR_ID_APPLE && pdev->device ==0x2001 ) { +if (dev->ctrl.quirks &NVME_QUIRK_QDEPTH_ONE ) { dev->q_depth =2 ; -dev_warn (dev->ctrl.device,"detected Apple NVMe controller, " -"set queue depth=%u to work around controller resets\n" , - dev->q_depth); }else if (pdev->vendor ==PCI_VENDOR_ID_SAMSUNG && (pdev->device ==0xa821 || pdev->device ==0xa822 ) &&NVME_CAP_MQES (dev->ctrl.cap) ==0 ) {
@@ -3442,6 +3435,8 @@ static const struct pci_device_id nvme_i NVME_QUIRK_BOGUS_NID, }, { PCI_VDEVICE(REDHAT, 0x0010), /* Qemu emulated controller */ .driver_data = NVME_QUIRK_BOGUS_NID, }, + { PCI_DEVICE(0x1217, 0x8760), /* O2 Micro 64GB Steam Deck */ + .driver_data = NVME_QUIRK_QDEPTH_ONE }, { PCI_DEVICE(0x126f, 0x2262), /* Silicon Motion generic */ .driver_data = NVME_QUIRK_NO_DEEPEST_PS | NVME_QUIRK_BOGUS_NID, },
@@ -3576,7 +3571,12 @@ static const struct pci_device_id nvme_i { PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0xcd02), .driver_data = NVME_QUIRK_DMA_ADDRESS_BITS_48, }, { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001), - .driver_data = NVME_QUIRK_SINGLE_VECTOR }, +/* +* Fix for the Apple controller found in the MacBook8,1 and +* some MacBook7,1 to avoid controller resets and data loss. +*/ + .driver_data = NVME_QUIRK_SINGLE_VECTOR | + NVME_QUIRK_QDEPTH_ONE }, { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2003) }, { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2005), .driver_data = NVME_QUIRK_SINGLE_VECTOR |
Greg Kroah-Hartman
maintainerPATCH 11/12 USB: serial: pl2303: add device id for Macrosilicon MS3020
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Junhao Xie <[email protected]>
commit 7d47d22444bb7dc1b6d768904a22070ef35e1fc0 upstream.
Add the device id for the Macrosilicon MS3020 which is a PL2303HXN based device.
--- drivers/usb/serial/pl2303.c | 1 + drivers/usb/serial/pl2303.h | 4 ++++ 2 files changed, 5 insertions(+)
drivers/usb/serial/pl2303.c +1 -0
@@ -118,6 +118,7 @@ static const struct usb_device_id id_tab { USB_DEVICE(SMART_VENDOR_ID, SMART_PRODUCT_ID) }, { USB_DEVICE(AT_VENDOR_ID, AT_VTKIT3_PRODUCT_ID) }, { USB_DEVICE(IBM_VENDOR_ID, IBM_PRODUCT_ID) }, + { USB_DEVICE(MACROSILICON_VENDOR_ID, MACROSILICON_MS3020_PRODUCT_ID) }, { } /* Terminating entry */ };
drivers/usb/serial/pl2303.h +4 -0
@@ -171,3 +171,7 @@/* Allied Telesis VT-Kit3 */ #define AT_VENDOR_ID 0x0caa#define AT_VTKIT3_PRODUCT_ID 0x3001 + +/* Macrosilicon MS3020 */ +#define MACROSILICON_VENDOR_ID 0x345f +#define MACROSILICON_MS3020_PRODUCT_ID 0x3020
Greg Kroah-Hartman
maintainerPATCH 12/12 USB: usbtmc: prevent kernel-usb-infoleak
In reply to Greg Kroah-Hartman6.11-stable review patch. If anyone has any objections, please let me know.
------------------
From: Edward Adam Davis <[email protected]>
commit 625fa77151f00c1bd00d34d60d6f2e710b3f9aad upstream.
The syzbot reported a kernel-usb-infoleak in usbtmc_write, we need to clear the structure before filling fields.
--- drivers/usb/class/usbtmc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/usb/class/usbtmc.c +1 -1
@@ -754,7 +754,7 @@ static struct urb *usbtmc_create_urb(voiif (!urb)return NULL ; - dmabuf =kmalloc (bufsize,GFP_KERNEL ); + dmabuf =kzalloc (bufsize,GFP_KERNEL );if (!dmabuf) {usb_free_urb (urb);return NULL ;
Am 27.09.2024 um 14:24 schrieb Greg Kroah-Hartman:
Quoted 4 lines
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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.
Builds, boots and works on my 2-socket Ivy Bridge Xeon E5-2697 v2 server. No dmesg oddities or regressions found.
Beste Grüße,
Peter Schneider
Signature · 8 lines
Climb the mountain not to plant your flag, but to embrace the challenge, enjoy the air and behold the view. Climb it so you can see the world, not so the world can see you. -- David McCullough Jr. OpenPGP: 0xA3828BD796CCE11A8CADE8866E3A92C92C3FF244 Download: https://www.peters-netzplatz.de/download/pschneider1968_pub.asc https://keys.mailvelope.com/pks/lookup?op=get&[email protected] https://keys.mailvelope.com/pks/lookup?op=get&[email protected]
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.y
and the diffstat can be found below.thanks,
greg k-h
All tests passing for Tegra ...
Test results for stable-v6.11:
10 builds: 10 pass, 0 fail
26 boots: 26 pass, 0 fail
116 tests: 116 pass, 0 failLinux version: 6.11.1-rc1-gcecd751a2d94
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 · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.y
and the diffstat can be found below.thanks,
greg k-h
Tested rc1 against the Fedora build system (aarch64, ppc64le, s390x, x86_64), and boot tested x86_64. No regressions noted.
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +0000. Anything received after that time might be too late.
Tested on a ThinkPad E14 Gen 3 with a AMD Ryzen 5 5500U CPU
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.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 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.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.11.1-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
* git commit: cecd751a2d94beedbaab82f5eb42ed19b0bbff41
* git describe: v6.11-13-gcecd751a2d94
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.11.y/build/v6.11-13-gcecd751a2d94/
## Test Regressions (compared to v6.11)
## Metric Regressions (compared to v6.11)
## Test Fixes (compared to v6.11)
## Metric Fixes (compared to v6.11)
## Test result summary
total: 225868, pass: 197174, fail: 2806, skip: 25888
## Build Summary
* arc: 5 total, 5 passed, 0 failed
* arm: 131 total, 129 passed, 2 failed
* arm64: 43 total, 43 passed, 0 failed
* i386: 28 total, 26 passed, 2 failed
* mips: 26 total, 25 passed, 1 failed
* parisc: 4 total, 3 passed, 1 failed
* powerpc: 36 total, 35 passed, 1 failed
* riscv: 12 total, 11 passed, 1 failed
* s390: 14 total, 13 passed, 1 failed
* sh: 10 total, 10 passed, 0 failed
* sparc: 7 total, 6 passed, 1 failed
* x86_64: 35 total, 34 passed, 1 failed
## Test suites summary
* boot
* commands
* kselftest-arm64
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-efivarfs
* kselftest-exec
* kselftest-filesystems
* kselftest-filesystems-binderfs
* kselftest-filesystems-epoll
* kselftest-firmware
* kselftest-fpu
* kselftest-ftrace
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-kcmp
* kselftest-kvm
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-mincore
* kselftest-mqueue
* kselftest-net
* kselftest-net-mptcp
* kselftest-openat2
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-rust
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-tc-testing
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user_events
* kselftest-vDSO
* kselftest-watchdog
* kselftest-x86
* kunit
* kvm-unit-tests
* libgpiod
* libhugetlbfs
* log-parser-boot
* log-parser-test
* ltp-commands
* ltp-containers
* ltp-controllers
* ltp-cpuhotplug
* ltp-crypto
* ltp-cve
* ltp-dio
* ltp-fcntl-locktests
* ltp-fs
* ltp-fs_bind
* ltp-fs_perms_simple
* ltp-hugetlb
* ltp-ipc
* ltp-ma[
* ltp-math
* ltp-mm
* ltp-nptl
* ltp-pty
* ltp-sched
* ltp-smoke
* ltp-syscalls
* ltp-tracing
* perf
* rcutorture
--
Linaro LKFT
https://lkft.linaro.org
Quoted 9 lines
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.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 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.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.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.y
and the diffstat can be found below.thanks,
greg k-h
Built and booted successfully on RISC-V RV64 (HiFive Unmatched).
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.y
and the diffstat can be found below.thanks,
greg k-h
Building passed on amd64, arm64, loongarch64, ppc64el, and riscv64. Smoke testing passed on 9 amd64 and 1 arm64 test systems.
https://github.com/AOSC-Dev/aosc-os-abbs/pull/7680
Signature · 2 lines
Best Regards, Kexy Biscuit
---- On Fri, 27 Sep 2024 17:24:03 +0500 Greg Kroah-Hartman wrote ---
Quoted 14 lines
This is the start of the stable review cycle for the 6.11.1 release. There are 12 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 Sun, 29 Sep 2024 12:17:00 +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.11.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.11.y and the diffstat can be found below.
Quoted 4 lines
thanks,
greg k-h
Hi,
Please find the KernelCI report below :-
OVERVIEW
Builds: 25 passed, 0 failed
CI systems: maestro
REVISION
Commit
name: v6.11-13-gcecd751a2d94b
hash: cecd751a2d94beedbaab82f5eb42ed19b0bbff41
Checked out from
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.11.yBUILDS
No new build failures found
BOOT TESTS
No new boot failures found
Thanks,
KernelCI team