mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Christian Loehle <christian.loehle@arm.com>
To: Sasha Levin <sashal@kernel.org>,
	linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
	Tejun Heo <tj@kernel.org>,
	Yonghong Song <yonghong.song@linux.dev>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	reinette.chatre@intel.com, tglx@linutronix.de, mingo@redhat.com,
	bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org,
	rafael@kernel.org, dakr@kernel.org, hannes@cmpxchg.org,
	mkoutny@suse.com, ast@kernel.org, daniel@iogearbox.net,
	andrii@kernel.org, eddyz87@gmail.com, shuah@kernel.org,
	jolsa@kernel.org, alan.maguire@oracle.com,
	cgroups@vger.kernel.org, bpf@vger.kernel.org,
	linux-kselftest@vger.kernel.org
Subject: Re: [PATCH AUTOSEL 6.12 486/486] kernfs: Use RCU to access kernfs_node::parent.
Date: Fri, 13 Nov 2026 12:30:13 +0000	[thread overview]
Message-ID: <e274493b-0774-423e-a7e0-bd2c59333d93@arm.com> (raw)
In-Reply-To: <20250505223922.2682012-486-sashal@kernel.org>

On 5/5/25 23:39, Sasha Levin wrote:
> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> 
> [ Upstream commit 633488947ef66b194377411322dc9e12aab79b65 ]
> 
> kernfs_rename_lock is used to obtain stable kernfs_node::{name|parent}
> pointer. This is a preparation to access kernfs_node::parent under RCU
> and ensure that the pointer remains stable under the RCU lifetime
> guarantees.
> 
> For a complete path, as it is done in kernfs_path_from_node(), the
> kernfs_rename_lock is still required in order to obtain a stable parent
> relationship while computing the relevant node depth. This must not
> change while the nodes are inspected in order to build the path.
> If the kernfs user never moves the nodes (changes the parent) then the
> kernfs_rename_lock is not required and the RCU guarantees are
> sufficient. This "restriction" can be set with
> KERNFS_ROOT_INVARIANT_PARENT. Otherwise the lock is required.
> 
> Rename kernfs_node::parent to kernfs_node::__parent to denote the RCU
> access and use RCU accessor while accessing the node.
> Make cgroup use KERNFS_ROOT_INVARIANT_PARENT since the parent here can
> not change.
> 
> Acked-by: Tejun Heo <tj@kernel.org>
> Cc: Yonghong Song <yonghong.song@linux.dev>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> Link: https://lore.kernel.org/r/20250213145023.2820193-6-bigeasy@linutronix.de
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Signed-off-by: Sasha Levin <sashal@kernel.org>
> ---
>  arch/x86/kernel/cpu/resctrl/rdtgroup.c        | 65 +++++++++----
>  fs/kernfs/dir.c                               | 96 ++++++++++++-------
>  fs/kernfs/kernfs-internal.h                   | 32 ++++++-
>  fs/kernfs/mount.c                             | 10 +-
>  fs/kernfs/symlink.c                           | 23 ++---
>  fs/sysfs/file.c                               | 24 +++--
>  include/linux/kernfs.h                        | 10 +-
>  kernel/cgroup/cgroup-v1.c                     |  2 +-
>  kernel/cgroup/cgroup.c                        | 24 ++++-
>  .../selftests/bpf/progs/profiler.inc.h        |  2 +-
>  10 files changed, 195 insertions(+), 93 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index 2d48db66fca85..d4d7ccf1253b8 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -948,10 +948,20 @@ static int rdt_last_cmd_status_show(struct kernfs_open_file *of,
>  	return 0;
>  }
>  
> +static void *rdt_kn_parent_priv(struct kernfs_node *kn)
> +{
> +	/*
> +	 * The parent pointer is only valid within RCU section since it can be
> +	 * replaced.
> +	 */
> +	guard(rcu)();
> +	return rcu_dereference(kn->__parent)->priv;
> +}
> +
>  static int rdt_num_closids_show(struct kernfs_open_file *of,
>  				struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  
>  	seq_printf(seq, "%u\n", s->num_closid);
>  	return 0;
> @@ -960,7 +970,7 @@ static int rdt_num_closids_show(struct kernfs_open_file *of,
>  static int rdt_default_ctrl_show(struct kernfs_open_file *of,
>  			     struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  	struct rdt_resource *r = s->res;
>  
>  	seq_printf(seq, "%x\n", r->default_ctrl);
> @@ -970,7 +980,7 @@ static int rdt_default_ctrl_show(struct kernfs_open_file *of,
>  static int rdt_min_cbm_bits_show(struct kernfs_open_file *of,
>  			     struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  	struct rdt_resource *r = s->res;
>  
>  	seq_printf(seq, "%u\n", r->cache.min_cbm_bits);
> @@ -980,7 +990,7 @@ static int rdt_min_cbm_bits_show(struct kernfs_open_file *of,
>  static int rdt_shareable_bits_show(struct kernfs_open_file *of,
>  				   struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  	struct rdt_resource *r = s->res;
>  
>  	seq_printf(seq, "%x\n", r->cache.shareable_bits);
> @@ -1004,7 +1014,7 @@ static int rdt_shareable_bits_show(struct kernfs_open_file *of,
>  static int rdt_bit_usage_show(struct kernfs_open_file *of,
>  			      struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  	/*
>  	 * Use unsigned long even though only 32 bits are used to ensure
>  	 * test_bit() is used safely.
> @@ -1086,7 +1096,7 @@ static int rdt_bit_usage_show(struct kernfs_open_file *of,
>  static int rdt_min_bw_show(struct kernfs_open_file *of,
>  			     struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  	struct rdt_resource *r = s->res;
>  
>  	seq_printf(seq, "%u\n", r->membw.min_bw);
> @@ -1096,7 +1106,7 @@ static int rdt_min_bw_show(struct kernfs_open_file *of,
>  static int rdt_num_rmids_show(struct kernfs_open_file *of,
>  			      struct seq_file *seq, void *v)
>  {
> -	struct rdt_resource *r = of->kn->parent->priv;
> +	struct rdt_resource *r = rdt_kn_parent_priv(of->kn);
>  
>  	seq_printf(seq, "%d\n", r->num_rmid);
>  
> @@ -1106,7 +1116,7 @@ static int rdt_num_rmids_show(struct kernfs_open_file *of,
>  static int rdt_mon_features_show(struct kernfs_open_file *of,
>  				 struct seq_file *seq, void *v)
>  {
> -	struct rdt_resource *r = of->kn->parent->priv;
> +	struct rdt_resource *r = rdt_kn_parent_priv(of->kn);
>  	struct mon_evt *mevt;
>  
>  	list_for_each_entry(mevt, &r->evt_list, list) {
> @@ -1121,7 +1131,7 @@ static int rdt_mon_features_show(struct kernfs_open_file *of,
>  static int rdt_bw_gran_show(struct kernfs_open_file *of,
>  			     struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  	struct rdt_resource *r = s->res;
>  
>  	seq_printf(seq, "%u\n", r->membw.bw_gran);
> @@ -1131,7 +1141,7 @@ static int rdt_bw_gran_show(struct kernfs_open_file *of,
>  static int rdt_delay_linear_show(struct kernfs_open_file *of,
>  			     struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  	struct rdt_resource *r = s->res;
>  
>  	seq_printf(seq, "%u\n", r->membw.delay_linear);
> @@ -1149,7 +1159,7 @@ static int max_threshold_occ_show(struct kernfs_open_file *of,
>  static int rdt_thread_throttle_mode_show(struct kernfs_open_file *of,
>  					 struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  	struct rdt_resource *r = s->res;
>  
>  	if (r->membw.throttle_mode == THREAD_THROTTLE_PER_THREAD)
> @@ -1214,7 +1224,7 @@ static enum resctrl_conf_type resctrl_peer_type(enum resctrl_conf_type my_type)
>  static int rdt_has_sparse_bitmasks_show(struct kernfs_open_file *of,
>  					struct seq_file *seq, void *v)
>  {
> -	struct resctrl_schema *s = of->kn->parent->priv;
> +	struct resctrl_schema *s = rdt_kn_parent_priv(of->kn);
>  	struct rdt_resource *r = s->res;
>  
>  	seq_printf(seq, "%u\n", r->cache.arch_has_sparse_bitmasks);
> @@ -1626,7 +1636,7 @@ static int mbm_config_show(struct seq_file *s, struct rdt_resource *r, u32 evtid
>  static int mbm_total_bytes_config_show(struct kernfs_open_file *of,
>  				       struct seq_file *seq, void *v)
>  {
> -	struct rdt_resource *r = of->kn->parent->priv;
> +	struct rdt_resource *r = rdt_kn_parent_priv(of->kn);
>  
>  	mbm_config_show(seq, r, QOS_L3_MBM_TOTAL_EVENT_ID);
>  
> @@ -1636,7 +1646,7 @@ static int mbm_total_bytes_config_show(struct kernfs_open_file *of,
>  static int mbm_local_bytes_config_show(struct kernfs_open_file *of,
>  				       struct seq_file *seq, void *v)
>  {
> -	struct rdt_resource *r = of->kn->parent->priv;
> +	struct rdt_resource *r = rdt_kn_parent_priv(of->kn);
>  
>  	mbm_config_show(seq, r, QOS_L3_MBM_LOCAL_EVENT_ID);
>  
> @@ -1742,7 +1752,7 @@ static ssize_t mbm_total_bytes_config_write(struct kernfs_open_file *of,
>  					    char *buf, size_t nbytes,
>  					    loff_t off)
>  {
> -	struct rdt_resource *r = of->kn->parent->priv;
> +	struct rdt_resource *r = rdt_kn_parent_priv(of->kn);
>  	int ret;
>  
>  	/* Valid input requires a trailing newline */
> @@ -1768,7 +1778,7 @@ static ssize_t mbm_local_bytes_config_write(struct kernfs_open_file *of,
>  					    char *buf, size_t nbytes,
>  					    loff_t off)
>  {
> -	struct rdt_resource *r = of->kn->parent->priv;
> +	struct rdt_resource *r = rdt_kn_parent_priv(of->kn);
>  	int ret;
>  
>  	/* Valid input requires a trailing newline */
> @@ -2430,12 +2440,13 @@ static struct rdtgroup *kernfs_to_rdtgroup(struct kernfs_node *kn)
>  		 * resource. "info" and its subdirectories don't
>  		 * have rdtgroup structures, so return NULL here.
>  		 */
> -		if (kn == kn_info || kn->parent == kn_info)
> +		if (kn == kn_info ||
> +		    rcu_access_pointer(kn->__parent) == kn_info)
>  			return NULL;
>  		else
>  			return kn->priv;
>  	} else {
> -		return kn->parent->priv;
> +		return rdt_kn_parent_priv(kn);
>  	}
>  }
>  
> @@ -3759,9 +3770,18 @@ static int rdtgroup_rmdir_ctrl(struct rdtgroup *rdtgrp, cpumask_var_t tmpmask)
>  	return 0;
>  }
>  
> +static struct kernfs_node *rdt_kn_parent(struct kernfs_node *kn)
> +{
> +	/*
> +	 * Valid within the RCU section it was obtained or while rdtgroup_mutex
> +	 * is held.
> +	 */
> +	return rcu_dereference_check(kn->__parent, lockdep_is_held(&rdtgroup_mutex));
> +}
> +
>  static int rdtgroup_rmdir(struct kernfs_node *kn)
>  {
> -	struct kernfs_node *parent_kn = kn->parent;
> +	struct kernfs_node *parent_kn;
>  	struct rdtgroup *rdtgrp;
>  	cpumask_var_t tmpmask;
>  	int ret = 0;
> @@ -3774,6 +3794,7 @@ static int rdtgroup_rmdir(struct kernfs_node *kn)
>  		ret = -EPERM;
>  		goto out;
>  	}
> +	parent_kn = rdt_kn_parent(kn);
>  
>  	/*
>  	 * If the rdtgroup is a ctrl_mon group and parent directory
> @@ -3842,6 +3863,7 @@ static void mongrp_reparent(struct rdtgroup *rdtgrp,
>  static int rdtgroup_rename(struct kernfs_node *kn,
>  			   struct kernfs_node *new_parent, const char *new_name)
>  {
> +	struct kernfs_node *kn_parent;
>  	struct rdtgroup *new_prdtgrp;
>  	struct rdtgroup *rdtgrp;
>  	cpumask_var_t tmpmask;
> @@ -3876,8 +3898,9 @@ static int rdtgroup_rename(struct kernfs_node *kn,
>  		goto out;
>  	}
>  
> -	if (rdtgrp->type != RDTMON_GROUP || !kn->parent ||
> -	    !is_mon_groups(kn->parent, kn->name)) {
> +	kn_parent = rdt_kn_parent(kn);
> +	if (rdtgrp->type != RDTMON_GROUP || !kn_parent ||
> +	    !is_mon_groups(kn_parent, kn->name)) {
>  		rdt_last_cmd_puts("Source must be a MON group\n");
>  		ret = -EPERM;
>  		goto out;
> diff --git a/fs/kernfs/dir.c b/fs/kernfs/dir.c
> index 5a1fea414996e..d2306641b569c 100644
> --- a/fs/kernfs/dir.c
> +++ b/fs/kernfs/dir.c
> @@ -17,7 +17,7 @@
>  
>  #include "kernfs-internal.h"
>  
> -static DEFINE_RWLOCK(kernfs_rename_lock);	/* kn->parent and ->name */
> +DEFINE_RWLOCK(kernfs_rename_lock);	/* kn->parent and ->name */
>  /*
>   * Don't use rename_lock to piggy back on pr_cont_buf. We don't want to
>   * call pr_cont() while holding rename_lock. Because sometimes pr_cont()
> @@ -56,7 +56,7 @@ static int kernfs_name_locked(struct kernfs_node *kn, char *buf, size_t buflen)
>  	if (!kn)
>  		return strscpy(buf, "(null)", buflen);
>  
> -	return strscpy(buf, kn->parent ? kn->name : "/", buflen);
> +	return strscpy(buf, rcu_access_pointer(kn->__parent) ? kn->name : "/", buflen);
>  }
>  
>  /* kernfs_node_depth - compute depth from @from to @to */
> @@ -64,9 +64,9 @@ static size_t kernfs_depth(struct kernfs_node *from, struct kernfs_node *to)
>  {
>  	size_t depth = 0;
>  
> -	while (to->parent && to != from) {
> +	while (rcu_dereference(to->__parent) && to != from) {
>  		depth++;
> -		to = to->parent;
> +		to = rcu_dereference(to->__parent);
>  	}
>  	return depth;
>  }
> @@ -84,18 +84,18 @@ static struct kernfs_node *kernfs_common_ancestor(struct kernfs_node *a,
>  	db = kernfs_depth(rb->kn, b);
>  
>  	while (da > db) {
> -		a = a->parent;
> +		a = rcu_dereference(a->__parent);
>  		da--;
>  	}
>  	while (db > da) {
> -		b = b->parent;
> +		b = rcu_dereference(b->__parent);
>  		db--;
>  	}
>  
>  	/* worst case b and a will be the same at root */
>  	while (b != a) {
> -		b = b->parent;
> -		a = a->parent;
> +		b = rcu_dereference(b->__parent);
> +		a = rcu_dereference(a->__parent);
>  	}
>  
>  	return a;
> @@ -168,8 +168,9 @@ static int kernfs_path_from_node_locked(struct kernfs_node *kn_to,
>  
>  	/* Calculate how many bytes we need for the rest */
>  	for (i = depth_to - 1; i >= 0; i--) {
> +
>  		for (kn = kn_to, j = 0; j < i; j++)
> -			kn = kn->parent;
> +			kn = rcu_dereference(kn->__parent);
>  
>  		len += scnprintf(buf + len, buflen - len, "/%s", kn->name);
>  	}
> @@ -226,6 +227,7 @@ int kernfs_path_from_node(struct kernfs_node *to, struct kernfs_node *from,
>  	unsigned long flags;
>  	int ret;
>  
> +	guard(rcu)();
>  	read_lock_irqsave(&kernfs_rename_lock, flags);
>  	ret = kernfs_path_from_node_locked(to, from, buf, buflen);
>  	read_unlock_irqrestore(&kernfs_rename_lock, flags);
> @@ -295,7 +297,7 @@ struct kernfs_node *kernfs_get_parent(struct kernfs_node *kn)
>  	unsigned long flags;
>  
>  	read_lock_irqsave(&kernfs_rename_lock, flags);
> -	parent = kn->parent;
> +	parent = kernfs_parent(kn);
>  	kernfs_get(parent);
>  	read_unlock_irqrestore(&kernfs_rename_lock, flags);
>  
> @@ -360,8 +362,12 @@ static int kernfs_sd_compare(const struct kernfs_node *left,
>   */
>  static int kernfs_link_sibling(struct kernfs_node *kn)
>  {
> -	struct rb_node **node = &kn->parent->dir.children.rb_node;
>  	struct rb_node *parent = NULL;
> +	struct kernfs_node *kn_parent;
> +	struct rb_node **node;
> +
> +	kn_parent = kernfs_parent(kn);
> +	node = &kn_parent->dir.children.rb_node;
>  
>  	while (*node) {
>  		struct kernfs_node *pos;
> @@ -380,13 +386,13 @@ static int kernfs_link_sibling(struct kernfs_node *kn)
>  
>  	/* add new node and rebalance the tree */
>  	rb_link_node(&kn->rb, parent, node);
> -	rb_insert_color(&kn->rb, &kn->parent->dir.children);
> +	rb_insert_color(&kn->rb, &kn_parent->dir.children);
>  
>  	/* successfully added, account subdir number */
>  	down_write(&kernfs_root(kn)->kernfs_iattr_rwsem);
>  	if (kernfs_type(kn) == KERNFS_DIR)
> -		kn->parent->dir.subdirs++;
> -	kernfs_inc_rev(kn->parent);
> +		kn_parent->dir.subdirs++;
> +	kernfs_inc_rev(kn_parent);
>  	up_write(&kernfs_root(kn)->kernfs_iattr_rwsem);
>  
>  	return 0;
> @@ -407,16 +413,19 @@ static int kernfs_link_sibling(struct kernfs_node *kn)
>   */
>  static bool kernfs_unlink_sibling(struct kernfs_node *kn)
>  {
> +	struct kernfs_node *kn_parent;
> +
>  	if (RB_EMPTY_NODE(&kn->rb))
>  		return false;
>  
> +	kn_parent = kernfs_parent(kn);
>  	down_write(&kernfs_root(kn)->kernfs_iattr_rwsem);
>  	if (kernfs_type(kn) == KERNFS_DIR)
> -		kn->parent->dir.subdirs--;
> -	kernfs_inc_rev(kn->parent);
> +		kn_parent->dir.subdirs--;
> +	kernfs_inc_rev(kn_parent);
>  	up_write(&kernfs_root(kn)->kernfs_iattr_rwsem);
>  
> -	rb_erase(&kn->rb, &kn->parent->dir.children);
> +	rb_erase(&kn->rb, &kn_parent->dir.children);
>  	RB_CLEAR_NODE(&kn->rb);
>  	return true;
>  }
> @@ -562,7 +571,7 @@ void kernfs_put(struct kernfs_node *kn)
>  	 * Moving/renaming is always done while holding reference.
>  	 * kn->parent won't change beneath us.
>  	 */
> -	parent = kn->parent;
> +	parent = kernfs_parent(kn);
>  
>  	WARN_ONCE(atomic_read(&kn->active) != KN_DEACTIVATED_BIAS,
>  		  "kernfs_put: %s/%s: released with incorrect active_ref %d\n",
> @@ -701,7 +710,7 @@ struct kernfs_node *kernfs_new_node(struct kernfs_node *parent,
>  			       name, mode, uid, gid, flags);
>  	if (kn) {
>  		kernfs_get(parent);
> -		kn->parent = parent;
> +		rcu_assign_pointer(kn->__parent, parent);
>  	}
>  	return kn;
>  }
> @@ -769,13 +778,14 @@ struct kernfs_node *kernfs_find_and_get_node_by_id(struct kernfs_root *root,
>   */
>  int kernfs_add_one(struct kernfs_node *kn)
>  {
> -	struct kernfs_node *parent = kn->parent;
> -	struct kernfs_root *root = kernfs_root(parent);
> +	struct kernfs_root *root = kernfs_root(kn);
>  	struct kernfs_iattrs *ps_iattr;
> +	struct kernfs_node *parent;
>  	bool has_ns;
>  	int ret;
>  
>  	down_write(&root->kernfs_rwsem);
> +	parent = kernfs_parent(kn);
>  
>  	ret = -EINVAL;
>  	has_ns = kernfs_ns_enabled(parent);
> @@ -949,6 +959,11 @@ struct kernfs_node *kernfs_walk_and_get_ns(struct kernfs_node *parent,
>  	return kn;
>  }
>  
> +unsigned int kernfs_root_flags(struct kernfs_node *kn)
> +{
> +	return kernfs_root(kn)->flags;
> +}
> +
>  /**
>   * kernfs_create_root - create a new kernfs hierarchy
>   * @scops: optional syscall operations for the hierarchy
> @@ -1111,7 +1126,7 @@ struct kernfs_node *kernfs_create_empty_dir(struct kernfs_node *parent,
>  
>  static int kernfs_dop_revalidate(struct dentry *dentry, unsigned int flags)
>  {
> -	struct kernfs_node *kn;
> +	struct kernfs_node *kn, *parent;
>  	struct kernfs_root *root;
>  
>  	if (flags & LOOKUP_RCU)
> @@ -1162,8 +1177,9 @@ static int kernfs_dop_revalidate(struct dentry *dentry, unsigned int flags)
>  	if (!kernfs_active(kn))
>  		goto out_bad;
>  
> +	parent = kernfs_parent(kn);
>  	/* The kernfs node has been moved? */
> -	if (kernfs_dentry_node(dentry->d_parent) != kn->parent)
> +	if (kernfs_dentry_node(dentry->d_parent) != parent)
>  		goto out_bad;
>  
>  	/* The kernfs node has been renamed */
> @@ -1171,7 +1187,7 @@ static int kernfs_dop_revalidate(struct dentry *dentry, unsigned int flags)
>  		goto out_bad;
>  
>  	/* The kernfs node has been moved to a different namespace */
> -	if (kn->parent && kernfs_ns_enabled(kn->parent) &&
> +	if (parent && kernfs_ns_enabled(parent) &&
>  	    kernfs_info(dentry->d_sb)->ns != kn->ns)
>  		goto out_bad;
>  
> @@ -1364,7 +1380,7 @@ static struct kernfs_node *kernfs_next_descendant_post(struct kernfs_node *pos,
>  		return kernfs_leftmost_descendant(rb_to_kn(rbn));
>  
>  	/* no sibling left, visit parent */
> -	return pos->parent;
> +	return kernfs_parent(pos);
>  }
>  
>  static void kernfs_activate_one(struct kernfs_node *kn)
> @@ -1376,7 +1392,7 @@ static void kernfs_activate_one(struct kernfs_node *kn)
>  	if (kernfs_active(kn) || (kn->flags & (KERNFS_HIDDEN | KERNFS_REMOVING)))
>  		return;
>  
> -	WARN_ON_ONCE(kn->parent && RB_EMPTY_NODE(&kn->rb));
> +	WARN_ON_ONCE(rcu_access_pointer(kn->__parent) && RB_EMPTY_NODE(&kn->rb));
>  	WARN_ON_ONCE(atomic_read(&kn->active) != KN_DEACTIVATED_BIAS);
>  
>  	atomic_sub(KN_DEACTIVATED_BIAS, &kn->active);
> @@ -1446,7 +1462,7 @@ void kernfs_show(struct kernfs_node *kn, bool show)
>  
>  static void __kernfs_remove(struct kernfs_node *kn)
>  {
> -	struct kernfs_node *pos;
> +	struct kernfs_node *pos, *parent;
>  
>  	/* Short-circuit if non-root @kn has already finished removal. */
>  	if (!kn)
> @@ -1458,7 +1474,7 @@ static void __kernfs_remove(struct kernfs_node *kn)
>  	 * This is for kernfs_remove_self() which plays with active ref
>  	 * after removal.
>  	 */
> -	if (kn->parent && RB_EMPTY_NODE(&kn->rb))
> +	if (kernfs_parent(kn) && RB_EMPTY_NODE(&kn->rb))
>  		return;
>  
>  	pr_debug("kernfs %s: removing\n", kn->name);
> @@ -1484,14 +1500,14 @@ static void __kernfs_remove(struct kernfs_node *kn)
>  		kernfs_get(pos);
>  
>  		kernfs_drain(pos);
> -
> +		parent = kernfs_parent(pos);
>  		/*
>  		 * kernfs_unlink_sibling() succeeds once per node.  Use it
>  		 * to decide who's responsible for cleanups.
>  		 */
> -		if (!pos->parent || kernfs_unlink_sibling(pos)) {
> +		if (!parent || kernfs_unlink_sibling(pos)) {
>  			struct kernfs_iattrs *ps_iattr =
> -				pos->parent ? pos->parent->iattr : NULL;
> +				parent ? parent->iattr : NULL;
>  
>  			/* update timestamps on the parent */
>  			down_write(&kernfs_root(kn)->kernfs_iattr_rwsem);
> @@ -1721,7 +1737,7 @@ int kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent,
>  	int error;
>  
>  	/* can't move or rename root */
> -	if (!kn->parent)
> +	if (!rcu_access_pointer(kn->__parent))
>  		return -EINVAL;
>  
>  	root = kernfs_root(kn);
> @@ -1732,8 +1748,15 @@ int kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent,
>  	    (new_parent->flags & KERNFS_EMPTY_DIR))
>  		goto out;
>  
> +	old_parent = kernfs_parent(kn);
> +	if (root->flags & KERNFS_ROOT_INVARIANT_PARENT) {
> +		error = -EINVAL;
> +		if (WARN_ON_ONCE(old_parent != new_parent))
> +			goto out;
> +	}
> +
>  	error = 0;
> -	if ((kn->parent == new_parent) && (kn->ns == new_ns) &&
> +	if ((old_parent == new_parent) && (kn->ns == new_ns) &&
>  	    (strcmp(kn->name, new_name) == 0))
>  		goto out;	/* nothing to rename */
>  
> @@ -1760,8 +1783,8 @@ int kernfs_rename_ns(struct kernfs_node *kn, struct kernfs_node *new_parent,
>  	/* rename_lock protects ->parent and ->name accessors */
>  	write_lock_irq(&kernfs_rename_lock);
>  
> -	old_parent = kn->parent;
> -	kn->parent = new_parent;
> +	old_parent = kernfs_parent(kn);
> +	rcu_assign_pointer(kn->__parent, new_parent);
>  
>  	kn->ns = new_ns;
>  	if (new_name) {
> @@ -1794,7 +1817,8 @@ static struct kernfs_node *kernfs_dir_pos(const void *ns,
>  {
>  	if (pos) {
>  		int valid = kernfs_active(pos) &&
> -			pos->parent == parent && hash == pos->hash;
> +			rcu_access_pointer(pos->__parent) == parent &&
> +			hash == pos->hash;
>  		kernfs_put(pos);
>  		if (!valid)
>  			pos = NULL;
> diff --git a/fs/kernfs/kernfs-internal.h b/fs/kernfs/kernfs-internal.h
> index b42ee6547cdc1..c43bee18b79f7 100644
> --- a/fs/kernfs/kernfs-internal.h
> +++ b/fs/kernfs/kernfs-internal.h
> @@ -19,6 +19,8 @@
>  #include <linux/kernfs.h>
>  #include <linux/fs_context.h>
>  
> +extern rwlock_t kernfs_rename_lock;
> +
>  struct kernfs_iattrs {
>  	kuid_t			ia_uid;
>  	kgid_t			ia_gid;
> @@ -64,11 +66,14 @@ struct kernfs_root {
>   *
>   * Return: the kernfs_root @kn belongs to.
>   */
> -static inline struct kernfs_root *kernfs_root(struct kernfs_node *kn)
> +static inline struct kernfs_root *kernfs_root(const struct kernfs_node *kn)
>  {
> +	const struct kernfs_node *knp;
>  	/* if parent exists, it's always a dir; otherwise, @sd is a dir */
> -	if (kn->parent)
> -		kn = kn->parent;
> +	guard(rcu)();
> +	knp = rcu_dereference(kn->__parent);
> +	if (knp)
> +		kn = knp;
>  	return kn->dir.root;
>  }
>  
> @@ -97,6 +102,27 @@ struct kernfs_super_info {
>  };
>  #define kernfs_info(SB) ((struct kernfs_super_info *)(SB->s_fs_info))
>  
> +static inline bool kernfs_root_is_locked(const struct kernfs_node *kn)
> +{
> +	return lockdep_is_held(&kernfs_root(kn)->kernfs_rwsem);
> +}
> +
> +static inline struct kernfs_node *kernfs_parent(const struct kernfs_node *kn)
> +{
> +	/*
> +	 * The kernfs_node::__parent remains valid within a RCU section. The kn
> +	 * can be reparented (and renamed) which changes the entry. This can be
> +	 * avoided by locking kernfs_root::kernfs_rwsem or kernfs_rename_lock.
> +	 * Both locks can be used to obtain a reference on __parent. Once the
> +	 * reference count reaches 0 then the node is about to be freed
> +	 * and can not be renamed (or become a different parent) anymore.
> +	 */
> +	return rcu_dereference_check(kn->__parent,
> +				     kernfs_root_is_locked(kn) ||
> +				     lockdep_is_held(&kernfs_rename_lock) ||
> +				     !atomic_read(&kn->count));
> +}
> +
>  static inline struct kernfs_node *kernfs_dentry_node(struct dentry *dentry)
>  {
>  	if (d_really_is_negative(dentry))
> diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c
> index 4a0ff08d589ca..2252b16e6ef0b 100644
> --- a/fs/kernfs/mount.c
> +++ b/fs/kernfs/mount.c
> @@ -148,7 +148,7 @@ static struct dentry *kernfs_get_parent_dentry(struct dentry *child)
>  	struct kernfs_root *root = kernfs_root(kn);
>  
>  	guard(rwsem_read)(&root->kernfs_rwsem);
> -	return d_obtain_alias(kernfs_get_inode(child->d_sb, kn->parent));
> +	return d_obtain_alias(kernfs_get_inode(child->d_sb, kernfs_parent(kn)));
>  }
>  
>  static const struct export_operations kernfs_export_ops = {
> @@ -188,10 +188,10 @@ static struct kernfs_node *find_next_ancestor(struct kernfs_node *child,
>  		return NULL;
>  	}
>  
> -	while (child->parent != parent) {
> -		if (!child->parent)
> +	while (kernfs_parent(child) != parent) {
> +		child = kernfs_parent(child);
> +		if (!child)
>  			return NULL;
> -		child = child->parent;
>  	}
>  
>  	return child;
> @@ -216,7 +216,7 @@ struct dentry *kernfs_node_dentry(struct kernfs_node *kn,
>  	dentry = dget(sb->s_root);
>  
>  	/* Check if this is the root kernfs_node */
> -	if (!kn->parent)
> +	if (!rcu_access_pointer(kn->__parent))
>  		return dentry;
>  
>  	root = kernfs_root(kn);
> diff --git a/fs/kernfs/symlink.c b/fs/kernfs/symlink.c
> index 45371a70caa71..05c62ca93c53d 100644
> --- a/fs/kernfs/symlink.c
> +++ b/fs/kernfs/symlink.c
> @@ -62,10 +62,10 @@ static int kernfs_get_target_path(struct kernfs_node *parent,
>  
>  	/* go up to the root, stop at the base */
>  	base = parent;
> -	while (base->parent) {
> -		kn = target->parent;
> -		while (kn->parent && base != kn)
> -			kn = kn->parent;
> +	while (kernfs_parent(base)) {
> +		kn = kernfs_parent(target);
> +		while (kernfs_parent(kn) && base != kn)
> +			kn = kernfs_parent(kn);
>  
>  		if (base == kn)
>  			break;
> @@ -75,14 +75,14 @@ static int kernfs_get_target_path(struct kernfs_node *parent,
>  
>  		strcpy(s, "../");
>  		s += 3;
> -		base = base->parent;
> +		base = kernfs_parent(base);
>  	}
>  
>  	/* determine end of target string for reverse fillup */
>  	kn = target;
> -	while (kn->parent && kn != base) {
> +	while (kernfs_parent(kn) && kn != base) {
>  		len += strlen(kn->name) + 1;
> -		kn = kn->parent;
> +		kn = kernfs_parent(kn);
>  	}
>  
>  	/* check limits */
> @@ -94,7 +94,7 @@ static int kernfs_get_target_path(struct kernfs_node *parent,
>  
>  	/* reverse fillup of target string from target to base */
>  	kn = target;
> -	while (kn->parent && kn != base) {
> +	while (kernfs_parent(kn) && kn != base) {
>  		int slen = strlen(kn->name);
>  
>  		len -= slen;
> @@ -102,7 +102,7 @@ static int kernfs_get_target_path(struct kernfs_node *parent,
>  		if (len)
>  			s[--len] = '/';
>  
> -		kn = kn->parent;
> +		kn = kernfs_parent(kn);
>  	}
>  
>  	return 0;
> @@ -111,12 +111,13 @@ static int kernfs_get_target_path(struct kernfs_node *parent,
>  static int kernfs_getlink(struct inode *inode, char *path)
>  {
>  	struct kernfs_node *kn = inode->i_private;
> -	struct kernfs_node *parent = kn->parent;
> +	struct kernfs_node *parent;
>  	struct kernfs_node *target = kn->symlink.target_kn;
> -	struct kernfs_root *root = kernfs_root(parent);
> +	struct kernfs_root *root = kernfs_root(kn);
>  	int error;
>  
>  	down_read(&root->kernfs_rwsem);
> +	parent = kernfs_parent(kn);
>  	error = kernfs_get_target_path(parent, target, path);
>  	up_read(&root->kernfs_rwsem);
>  
> diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
> index d1995e2d6c943..3671a3fd60198 100644
> --- a/fs/sysfs/file.c
> +++ b/fs/sysfs/file.c
> @@ -19,13 +19,19 @@
>  
>  #include "sysfs.h"
>  
> +static struct kobject *sysfs_file_kobj(struct kernfs_node *kn)
> +{
> +	guard(rcu)();
> +	return rcu_dereference(kn->__parent)->priv;
> +}
> +
>  /*
>   * Determine ktype->sysfs_ops for the given kernfs_node.  This function
>   * must be called while holding an active reference.
>   */
>  static const struct sysfs_ops *sysfs_file_ops(struct kernfs_node *kn)
>  {
> -	struct kobject *kobj = kn->parent->priv;
> +	struct kobject *kobj = sysfs_file_kobj(kn);
>  
>  	if (kn->flags & KERNFS_LOCKDEP)
>  		lockdep_assert_held(kn);
> @@ -40,7 +46,7 @@ static const struct sysfs_ops *sysfs_file_ops(struct kernfs_node *kn)
>  static int sysfs_kf_seq_show(struct seq_file *sf, void *v)
>  {
>  	struct kernfs_open_file *of = sf->private;
> -	struct kobject *kobj = of->kn->parent->priv;
> +	struct kobject *kobj = sysfs_file_kobj(of->kn);
>  	const struct sysfs_ops *ops = sysfs_file_ops(of->kn);
>  	ssize_t count;
>  	char *buf;
> @@ -78,7 +84,7 @@ static ssize_t sysfs_kf_bin_read(struct kernfs_open_file *of, char *buf,
>  				 size_t count, loff_t pos)
>  {
>  	struct bin_attribute *battr = of->kn->priv;
> -	struct kobject *kobj = of->kn->parent->priv;
> +	struct kobject *kobj = sysfs_file_kobj(of->kn);
>  	loff_t size = file_inode(of->file)->i_size;
>  
>  	if (!count)
> @@ -102,7 +108,7 @@ static ssize_t sysfs_kf_read(struct kernfs_open_file *of, char *buf,
>  			     size_t count, loff_t pos)
>  {
>  	const struct sysfs_ops *ops = sysfs_file_ops(of->kn);
> -	struct kobject *kobj = of->kn->parent->priv;
> +	struct kobject *kobj = sysfs_file_kobj(of->kn);
>  	ssize_t len;
>  
>  	/*
> @@ -128,7 +134,7 @@ static ssize_t sysfs_kf_write(struct kernfs_open_file *of, char *buf,
>  			      size_t count, loff_t pos)
>  {
>  	const struct sysfs_ops *ops = sysfs_file_ops(of->kn);
> -	struct kobject *kobj = of->kn->parent->priv;
> +	struct kobject *kobj = sysfs_file_kobj(of->kn);
>  
>  	if (!count)
>  		return 0;
> @@ -141,7 +147,7 @@ static ssize_t sysfs_kf_bin_write(struct kernfs_open_file *of, char *buf,
>  				  size_t count, loff_t pos)
>  {
>  	struct bin_attribute *battr = of->kn->priv;
> -	struct kobject *kobj = of->kn->parent->priv;
> +	struct kobject *kobj = sysfs_file_kobj(of->kn);
>  	loff_t size = file_inode(of->file)->i_size;
>  
>  	if (size) {
> @@ -162,7 +168,7 @@ static int sysfs_kf_bin_mmap(struct kernfs_open_file *of,
>  			     struct vm_area_struct *vma)
>  {
>  	struct bin_attribute *battr = of->kn->priv;
> -	struct kobject *kobj = of->kn->parent->priv;
> +	struct kobject *kobj = sysfs_file_kobj(of->kn);
>  
>  	return battr->mmap(of->file, kobj, battr, vma);
>  }
> @@ -171,7 +177,7 @@ static loff_t sysfs_kf_bin_llseek(struct kernfs_open_file *of, loff_t offset,
>  				  int whence)
>  {
>  	struct bin_attribute *battr = of->kn->priv;
> -	struct kobject *kobj = of->kn->parent->priv;
> +	struct kobject *kobj = sysfs_file_kobj(of->kn);
>  
>  	if (battr->llseek)
>  		return battr->llseek(of->file, kobj, battr, offset, whence);
> @@ -482,7 +488,7 @@ EXPORT_SYMBOL_GPL(sysfs_break_active_protection);
>   */
>  void sysfs_unbreak_active_protection(struct kernfs_node *kn)
>  {
> -	struct kobject *kobj = kn->parent->priv;
> +	struct kobject *kobj = sysfs_file_kobj(kn);
>  
>  	kernfs_unbreak_active_protection(kn);
>  	kernfs_put(kn);
> diff --git a/include/linux/kernfs.h b/include/linux/kernfs.h
> index 87c79d076d6d7..5dda9a268e44c 100644
> --- a/include/linux/kernfs.h
> +++ b/include/linux/kernfs.h
> @@ -147,6 +147,11 @@ enum kernfs_root_flag {
>  	 * Support user xattrs to be written to nodes rooted at this root.
>  	 */
>  	KERNFS_ROOT_SUPPORT_USER_XATTR		= 0x0008,
> +
> +	/*
> +	 * Renames must not change the parent node.
> +	 */
> +	KERNFS_ROOT_INVARIANT_PARENT		= 0x0010,
>  };
>  
>  /* type-specific structures for kernfs_node union members */
> @@ -199,8 +204,8 @@ struct kernfs_node {
>  	 * never moved to a different parent, it is safe to access the
>  	 * parent directly.
>  	 */
> -	struct kernfs_node	*parent;
>  	const char		*name;
> +	struct kernfs_node	__rcu *__parent;
>  
>  	struct rb_node		rb;
>  
> @@ -416,6 +421,7 @@ struct dentry *kernfs_node_dentry(struct kernfs_node *kn,
>  struct kernfs_root *kernfs_create_root(struct kernfs_syscall_ops *scops,
>  				       unsigned int flags, void *priv);
>  void kernfs_destroy_root(struct kernfs_root *root);
> +unsigned int kernfs_root_flags(struct kernfs_node *kn);
>  
>  struct kernfs_node *kernfs_create_dir_ns(struct kernfs_node *parent,
>  					 const char *name, umode_t mode,
> @@ -514,6 +520,8 @@ kernfs_create_root(struct kernfs_syscall_ops *scops, unsigned int flags,
>  { return ERR_PTR(-ENOSYS); }
>  
>  static inline void kernfs_destroy_root(struct kernfs_root *root) { }
> +static inline unsigned int kernfs_root_flags(struct kernfs_node *kn)
> +{ return 0; }
>  
>  static inline struct kernfs_node *
>  kernfs_create_dir_ns(struct kernfs_node *parent, const char *name,
> diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c
> index e28d5f0d20ed0..c9752eb607ec9 100644
> --- a/kernel/cgroup/cgroup-v1.c
> +++ b/kernel/cgroup/cgroup-v1.c
> @@ -844,7 +844,7 @@ static int cgroup1_rename(struct kernfs_node *kn, struct kernfs_node *new_parent
>  
>  	if (kernfs_type(kn) != KERNFS_DIR)
>  		return -ENOTDIR;
> -	if (kn->parent != new_parent)
> +	if (rcu_access_pointer(kn->__parent) != new_parent)
>  		return -EIO;
>  
>  	/*
> diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
> index e63d6f3b00470..fc152691a6b42 100644
> --- a/kernel/cgroup/cgroup.c
> +++ b/kernel/cgroup/cgroup.c
> @@ -633,9 +633,22 @@ int cgroup_task_count(const struct cgroup *cgrp)
>  	return count;
>  }
>  
> +static struct cgroup *kn_priv(struct kernfs_node *kn)
> +{
> +	struct kernfs_node *parent;
> +	/*
> +	 * The parent can not be replaced due to KERNFS_ROOT_INVARIANT_PARENT.
> +	 * Therefore it is always safe to dereference this pointer outside of a
> +	 * RCU section.
> +	 */
> +	parent = rcu_dereference_check(kn->__parent,
> +				       kernfs_root_flags(kn) & KERNFS_ROOT_INVARIANT_PARENT);
> +	return parent->priv;
> +}
> +
>  struct cgroup_subsys_state *of_css(struct kernfs_open_file *of)
>  {
> -	struct cgroup *cgrp = of->kn->parent->priv;
> +	struct cgroup *cgrp = kn_priv(of->kn);
>  	struct cftype *cft = of_cft(of);
>  
>  	/*
> @@ -1612,7 +1625,7 @@ void cgroup_kn_unlock(struct kernfs_node *kn)
>  	if (kernfs_type(kn) == KERNFS_DIR)
>  		cgrp = kn->priv;
>  	else
> -		cgrp = kn->parent->priv;
> +		cgrp = kn_priv(kn);
>  
>  	cgroup_unlock();
>  
> @@ -1644,7 +1657,7 @@ struct cgroup *cgroup_kn_lock_live(struct kernfs_node *kn, bool drain_offline)
>  	if (kernfs_type(kn) == KERNFS_DIR)
>  		cgrp = kn->priv;
>  	else
> -		cgrp = kn->parent->priv;
> +		cgrp = kn_priv(kn);
>  
>  	/*
>  	 * We're gonna grab cgroup_mutex which nests outside kernfs
> @@ -2118,7 +2131,8 @@ int cgroup_setup_root(struct cgroup_root *root, u16 ss_mask)
>  	root->kf_root = kernfs_create_root(kf_sops,
>  					   KERNFS_ROOT_CREATE_DEACTIVATED |
>  					   KERNFS_ROOT_SUPPORT_EXPORTOP |
> -					   KERNFS_ROOT_SUPPORT_USER_XATTR,
> +					   KERNFS_ROOT_SUPPORT_USER_XATTR |
> +					   KERNFS_ROOT_INVARIANT_PARENT,
>  					   root_cgrp);
>  	if (IS_ERR(root->kf_root)) {
>  		ret = PTR_ERR(root->kf_root);
> @@ -4144,7 +4158,7 @@ static ssize_t cgroup_file_write(struct kernfs_open_file *of, char *buf,
>  				 size_t nbytes, loff_t off)
>  {
>  	struct cgroup_file_ctx *ctx = of->priv;
> -	struct cgroup *cgrp = of->kn->parent->priv;
> +	struct cgroup *cgrp = kn_priv(of->kn);
>  	struct cftype *cft = of_cft(of);
>  	struct cgroup_subsys_state *css;
>  	int ret;
> diff --git a/tools/testing/selftests/bpf/progs/profiler.inc.h b/tools/testing/selftests/bpf/progs/profiler.inc.h
> index 8bd1ebd7d6afd..813143b4985dc 100644
> --- a/tools/testing/selftests/bpf/progs/profiler.inc.h
> +++ b/tools/testing/selftests/bpf/progs/profiler.inc.h
> @@ -223,7 +223,7 @@ static INLINE void* read_full_cgroup_path(struct kernfs_node* cgroup_node,
>  		if (bpf_cmp_likely(filepart_length, <=, MAX_PATH)) {
>  			payload += filepart_length;
>  		}
> -		cgroup_node = BPF_CORE_READ(cgroup_node, parent);
> +		cgroup_node = BPF_CORE_READ(cgroup_node, __parent);
>  	}
>  	return payload;
>  }


Hi Sasha,
I just stumbled over this issue on a 6.12 stable kernel,
any reason this patch wasn't applied back then?
Can we apply the backport now?

  reply	other threads:[~2026-11-13 12:30 UTC|newest]

Thread overview: 489+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-05 22:31 [PATCH AUTOSEL 6.12 001/486] kconfig: merge_config: use an empty file as initfile Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 002/486] x86/fred: Fix system hang during S4 resume with FRED enabled Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 003/486] s390/vfio-ap: Fix no AP queue sharing allowed message written to kernel log Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 004/486] cifs: Add fallback for SMB2 CREATE without FILE_READ_ATTRIBUTES Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 005/486] cifs: Fix querying and creating MF symlinks over SMB1 Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 006/486] cifs: Fix negotiate retry functionality Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 007/486] smb: client: Store original IO parameters and prevent zero IO sizes Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 008/486] fuse: Return EPERM rather than ENOSYS from link() Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 009/486] exfat: call bh_read in get_block only when necessary Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 010/486] io_uring/msg: initialise msg request opcode Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 011/486] NFSv4: Check for delegation validity in nfs_start_delegation_return_locked() Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 012/486] NFS: Don't allow waiting for exiting tasks Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 013/486] SUNRPC: " Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 014/486] arm64: Add support for HIP09 Spectre-BHB mitigation Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 015/486] iommufd: Extend IOMMU_GET_HW_INFO to report PASID capability Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 016/486] tracing: Mark binary printing functions with __printf() attribute Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 017/486] ACPI: PNP: Add Intel OC Watchdog IDs to non-PNP device list Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 018/486] tpm: Convert warn to dbg in tpm2_start_auth_session() Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 019/486] mailbox: pcc: Use acpi_os_ioremap() instead of ioremap() Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 020/486] mailbox: use error ret code of of_parse_phandle_with_args() Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 021/486] riscv: Allow NOMMU kernels to access all of RAM Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 022/486] fbdev: fsl-diu-fb: add missing device_remove_file() Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 023/486] fbcon: Use correct erase colour for clearing in fbcon Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 024/486] fbdev: core: tileblit: Implement missing margin clearing for tileblit Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 025/486] cifs: Set default Netbios RFC1001 server name to hostname in UNC Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 026/486] cifs: add validation check for the fields in smb_aces Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 027/486] cifs: Fix establishing NetBIOS session for SMB2+ connection Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 028/486] NFSv4: Treat ENETUNREACH errors as fatal for state recovery Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 029/486] SUNRPC: rpc_clnt_set_transport() must not change the autobind setting Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 030/486] SUNRPC: rpcbind should never reset the port to the value '0' Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 031/486] spi-rockchip: Fix register out of bounds access Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 032/486] ASoC: codecs: wsa884x: Correct VI sense channel mask Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 033/486] ASoC: codecs: wsa883x: " Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 034/486] mctp: Fix incorrect tx flow invalidation condition in mctp-i2c Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 035/486] net: tn40xx: add pci-id of the aqr105-based Tehuti TN4010 cards Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 036/486] net: tn40xx: create swnode for mdio and aqr105 phy and add to mdiobus Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 037/486] thermal/drivers/mediatek/lvts: Start sensor interrupts disabled Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 038/486] thermal/drivers/qoriq: Power down TMU on system suspend Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 039/486] Bluetooth: btmtksdio: Prevent enabling interrupts after IRQ handler removal Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 040/486] Bluetooth: Disable SCO support if READ_VOICE_SETTING is unsupported/broken Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 041/486] exit: fix the usage of delay_group_leader->exit_code in do_notify_parent() and pidfs_exit() Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 042/486] dql: Fix dql->limit value when reset Sasha Levin
2025-05-05 22:31 ` [PATCH AUTOSEL 6.12 043/486] lockdep: Fix wait context check on softirq for PREEMPT_RT Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 044/486] objtool: Properly disable uaccess validation Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 045/486] PCI: dwc: ep: Ensure proper iteration over outbound map windows Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 046/486] r8169: disable RTL8126 ZRX-DC timeout Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 047/486] tools/build: Don't pass test log files to linker Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 048/486] pNFS/flexfiles: Report ENETDOWN as a connection error Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 049/486] drm/amdgpu/discovery: check ip_discovery fw file available Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 050/486] drm/amdkfd: set precise mem ops caps to disabled for gfx 11 and 12 Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 051/486] PCI: vmd: Disable MSI remapping bypass under Xen Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 052/486] xen/pci: Do not register devices with segments >= 0x10000 Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 053/486] ext4: on a remount, only log the ro or r/w state when it has changed Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 054/486] libnvdimm/labels: Fix divide error in nd_label_data_init() Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 055/486] pidfs: improve multi-threaded exec and premature thread-group leader exit polling Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 056/486] staging: vchiq_arm: Create keep-alive thread during probe Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 057/486] mmc: host: Wait for Vdd to settle on card power off Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 058/486] drm/amdgpu: Skip pcie_replay_count sysfs creation for VF Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 059/486] cgroup/rstat: avoid disabling irqs for O(num_cpu) Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 060/486] wifi: mt76: only mark tx-status-failed frames as ACKed on mt76x0/2 Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 061/486] wifi: mt76: mt7996: fix SER reset trigger on WED reset Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 062/486] wifi: mt76: mt7996: revise TXS size Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 063/486] wifi: mt76: mt7925: load the appropriate CLC data based on hardware type Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 064/486] wifi: mt76: mt7925: fix fails to enter low power mode in suspend state Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 065/486] x86/headers: Replace __ASSEMBLY__ with __ASSEMBLER__ in UAPI headers Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 066/486] x86/stackprotector/64: Only export __ref_stack_chk_guard on CONFIG_SMP Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 067/486] x86/smpboot: Fix INIT delay assignment for extended Intel Families Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 068/486] x86/microcode: Update the Intel processor flag scan check Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 069/486] x86/mm: Check return value from memblock_phys_alloc_range() Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 070/486] i2c: qup: Vote for interconnect bandwidth to DRAM Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 071/486] i2c: pxa: fix call balance of i2c->clk handling routines Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 072/486] btrfs: make btrfs_discard_workfn() block_group ref explicit Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 073/486] btrfs: avoid linker error in btrfs_find_create_tree_block() Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 074/486] btrfs: run btrfs_error_commit_super() early Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 075/486] btrfs: fix non-empty delayed iputs list on unmount due to async workers Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 076/486] btrfs: properly limit inline data extent according to block size Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 077/486] btrfs: prevent inline data extents read from touching blocks beyond its range Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 078/486] btrfs: get zone unusable bytes while holding lock at btrfs_reclaim_bgs_work() Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 079/486] btrfs: send: return -ENAMETOOLONG when attempting a path that is too long Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 080/486] btrfs: zoned: exit btrfs_can_activate_zone if BTRFS_FS_NEED_ZONE_FINISH is set Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 081/486] blk-cgroup: improve policy registration error handling Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 082/486] drm/amdgpu: release xcp_mgr on exit Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 083/486] drm/amd/display: Guard against setting dispclk low for dcn31x Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 084/486] drm/amdgpu: adjust drm_firmware_drivers_only() handling Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 085/486] i3c: master: svc: Fix missing STOP for master request Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 086/486] s390/tlb: Use mm_has_pgste() instead of mm_alloc_pgste() Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 087/486] dlm: make tcp still work in multi-link env Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 088/486] clocksource/drivers/timer-riscv: Stop stimecmp when cpu hotplug Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 089/486] um: Store full CSGSFS and SS register from mcontext Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 090/486] um: Update min_low_pfn to match changes in uml_reserved Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 091/486] wifi: mwifiex: Fix HT40 bandwidth issue Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 092/486] bnxt_en: Query FW parameters when the CAPS_CHANGE bit is set Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 093/486] riscv: Call secondary mmu notifier when flushing the tlb Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 094/486] ext4: reorder capability check last Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 095/486] hypfs_create_cpu_files(): add missing check for hypfs_mkdir() failure Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 096/486] scsi: st: Tighten the page format heuristics with MODE SELECT Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 097/486] scsi: st: ERASE does not change tape location Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 098/486] vfio/pci: Handle INTx IRQ_NOTCONNECTED Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 099/486] libbpf: Pass BPF token from find_prog_btf_id to BPF_BTF_GET_FD_BY_ID Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 100/486] bpf: Return prog btf_id without capable check Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 101/486] PCI: dwc: Use resource start as ioremap() input in dw_pcie_pme_turn_off() Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 102/486] jbd2: do not try to recover wiped journal Sasha Levin
2025-05-05 22:32 ` [PATCH AUTOSEL 6.12 103/486] tcp: reorganize tcp_in_ack_event() and tcp_count_delivered() Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 104/486] rtc: rv3032: fix EERD location Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 105/486] objtool: Fix error handling inconsistencies in check() Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 106/486] thunderbolt: Do not add non-active NVM if NVM upgrade is disabled for retimer Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 107/486] erofs: initialize decompression early Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 108/486] spi: spi-mux: Fix coverity issue, unchecked return value Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 109/486] ASoC: pcm6240: Drop bogus code handling IRQ as GPIO Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 110/486] ASoC: mediatek: mt6359: Add stub for mt6359_accdet_enable_jack_detect Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 111/486] bpf: Allow pre-ordering for bpf cgroup progs Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 112/486] kbuild: fix argument parsing in scripts/config Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 113/486] kconfig: do not clear SYMBOL_VALID when reading include/config/auto.conf Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 114/486] crypto: octeontx2 - suppress auth failure screaming due to negative tests Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 115/486] dm: restrict dm device size to 2^63-512 bytes Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 116/486] net/smc: use the correct ndev to find pnetid by pnetid table Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 117/486] xen: Add support for XenServer 6.1 platform device Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 118/486] pinctrl-tegra: Restore SFSEL bit when freeing pins Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 119/486] mfd: tps65219: Remove TPS65219_REG_TI_DEV_ID check Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 120/486] drm/amdgpu/gfx12: don't read registers in mqd init Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 121/486] drm/amdgpu/gfx11: " Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 122/486] drm/amdgpu: Update SRIOV video codec caps Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 123/486] ASoC: sun4i-codec: support hp-det-gpios property Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 124/486] clk: qcom: lpassaudiocc-sc7280: Add support for LPASS resets for QCM6490 Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 125/486] f2fs: defer readonly check vs norecovery Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 126/486] ext4: reject the 'data_err=abort' option in nojournal mode Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 127/486] ext4: do not convert the unwritten extents if data writeback fails Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 128/486] RDMA/uverbs: Propagate errors from rdma_lookup_get_uobject() Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 129/486] posix-timers: Add cond_resched() to posix_timer_add() search loop Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 130/486] posix-timers: Ensure that timer initialization is fully visible Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 131/486] net: stmmac: dwmac-rk: Validate GRF and peripheral GRF during probe Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 132/486] net: hsr: Fix PRP duplicate detection Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 133/486] timer_list: Don't use %pK through printk() Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 134/486] wifi: rtw89: set force HE TB mode when connecting to 11ax AP Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 135/486] netfilter: conntrack: Bound nf_conntrack sysctl writes Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 136/486] PNP: Expand length of fixup id string Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 137/486] phy: rockchip: usbdp: Only verify link rates/lanes/voltage when the corresponding set flags are set Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 138/486] arm64/mm: Check pmd_table() in pmd_trans_huge() Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 139/486] arm64/mm: Check PUD_TYPE_TABLE in pud_bad() Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 140/486] mmc: dw_mmc: add exynos7870 DW MMC support Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 141/486] mmc: sdhci: Disable SD card clock before changing parameters Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 142/486] usb: xhci: Don't change the status of stalled TDs on failed Stop EP Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 143/486] wifi: iwlwifi: mvm: fix setting the TK when associated Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 144/486] hwmon: (dell-smm) Increment the number of fans Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 145/486] iommu: Keep dev->iommu state consistent Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 146/486] printk: Check CON_SUSPEND when unblanking a console Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 147/486] wifi: iwlwifi: don't warn when if there is a FW error Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 148/486] wifi: iwlwifi: w/a FW SMPS mode selection Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 149/486] wifi: iwlwifi: fix debug actions order Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 150/486] wifi: iwlwifi: mark Br device not integrated Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 151/486] wifi: iwlwifi: fix the ECKV UEFI variable name Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 152/486] wifi: mac80211: fix warning on disconnect during failed ML reconf Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 153/486] wifi: mac80211_hwsim: Fix MLD address translation Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 154/486] wifi: cfg80211: allow IR in 20 MHz configurations Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 155/486] ipv6: save dontfrag in cork Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 156/486] drm/amd/display: remove minimum Dispclk and apply oem panel timing Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 157/486] drm/amd/display: calculate the remain segments for all pipes Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 158/486] drm/amd/display: not abort link train when bw is low Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 159/486] drm/amd/display: Fix incorrect DPCD configs while Replay/PSR switch Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 160/486] gfs2: Check for empty queue in run_queue Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 161/486] auxdisplay: charlcd: Partially revert "Move hwidth and bwidth to struct hd44780_common" Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 162/486] ASoC: qcom: sm8250: explicitly set format in sm8250_be_hw_params_fixup() Sasha Levin
2025-05-05 22:33 ` [PATCH AUTOSEL 6.12 163/486] badblocks: Fix a nonsense WARN_ON() which checks whether a u64 variable < 0 Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 164/486] coresight-etb10: change etb_drvdata spinlock's type to raw_spinlock_t Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 165/486] iommu/vt-d: Move scalable mode ATS enablement to probe path Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 166/486] iommu/amd/pgtbl_v2: Improve error handling Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 167/486] cpufreq: tegra186: Share policy per cluster Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 168/486] watchdog: aspeed: Update bootstatus handling Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 169/486] PCI: endpoint: pci-epf-test: Fix double free that causes kernel to oops Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 170/486] misc: pci_endpoint_test: Give disabled BARs a distinct error code Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 171/486] crypto: lzo - Fix compression buffer overrun Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 172/486] crypto: mxs-dcp - Only set OTP_KEY bit for OTP key Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 173/486] drm/amdkfd: Set per-process flags only once for gfx9/10/11/12 Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 174/486] drm/amdkfd: Set per-process flags only once cik/vi Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 175/486] drm/amdgpu: Fix missing drain retry fault the last entry Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 176/486] arm64: tegra: p2597: Fix gpio for vdd-1v8-dis regulator Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 177/486] arm64: tegra: Resize aperture for the IGX PCIe C5 slot Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 178/486] powerpc/prom_init: Fixup missing #size-cells on PowerBook6,7 Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 179/486] ALSA: seq: Improve data consistency at polling Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 180/486] tcp: bring back NUMA dispersion in inet_ehash_locks_alloc() Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 181/486] rtc: ds1307: stop disabling alarms on probe Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 182/486] ieee802154: ca8210: Use proper setters and getters for bitwise types Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 183/486] drm/xe: Nuke VM's mapping upon close Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 184/486] drm/xe: Retry BO allocation Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 185/486] soc: samsung: include linux/array_size.h where needed Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 186/486] ARM: tegra: Switch DSI-B clock parent to PLLD on Tegra114 Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 187/486] media: c8sectpfe: Call of_node_put(i2c_bus) only once in c8sectpfe_probe() Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 188/486] usb: xhci: set page size to the xHCI-supported size Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 189/486] dm cache: prevent BUG_ON by blocking retries on failed device resumes Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 190/486] soc: mediatek: mtk-mutex: Add DPI1 SOF/EOF to MT8188 mutex tables Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 191/486] orangefs: Do not truncate file size Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 192/486] drm/gem: Test for imported GEM buffers with helper Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 193/486] net: phylink: use pl->link_interface in phylink_expects_phy() Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 194/486] blk-throttle: don't take carryover for prioritized processing of metadata Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 195/486] remoteproc: qcom_wcnss: Handle platforms with only single power domain Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 196/486] drm/amdgpu: Do not program AGP BAR regs under SRIOV in gfxhub_v1_0.c Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 197/486] drm/amd/display: Ensure DMCUB idle before reset on DCN31/DCN35 Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 198/486] drm/amd/display: Skip checking FRL_MODE bit for PCON BW determination Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 199/486] drm/amd/display: Fix DMUB reset sequence for DCN401 Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 200/486] drm/amd/display: Fix p-state type when p-state is unsupported Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 201/486] drm/amd/display: Request HW cursor on DCN3.2 with SubVP Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 202/486] perf/core: Clean up perf_try_init_event() Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 203/486] media: cx231xx: set device_caps for 417 Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 204/486] pinctrl: bcm281xx: Use "unsigned int" instead of bare "unsigned" Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 205/486] rcu: Fix get_state_synchronize_rcu_full() GP-start detection Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 206/486] net: ethernet: ti: cpsw_new: populate netdev of_node Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 207/486] net: phy: nxp-c45-tja11xx: add match_phy_device to TJA1103/TJA1104 Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 208/486] dpll: Add an assertion to check freq_supported_num Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 209/486] ublk: enforce ublks_max only for unprivileged devices Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 210/486] iommufd: Disallow allocating nested parent domain with fault ID Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 211/486] media: imx335: Set vblank immediately Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 212/486] net: pktgen: fix mpls maximum labels list parsing Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 213/486] perf/hw_breakpoint: Return EOPNOTSUPP for unsupported breakpoint type Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 214/486] ALSA: hda/realtek: Enable PC beep passthrough for HP EliteBook 855 G7 Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 215/486] scsi: logging: Fix scsi_logging_level bounds Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 216/486] ipv4: fib: Move fib_valid_key_len() to rtm_to_fib_config() Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 217/486] drm/rockchip: vop2: Add uv swap for cluster window Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 218/486] block: mark bounce buffering as incompatible with integrity Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 219/486] ublk: complete command synchronously on error Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 220/486] media: uvcvideo: Add sanity check to uvc_ioctl_xu_ctrl_map Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 221/486] media: uvcvideo: Handle uvc menu translation inside uvc_get_le_value Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 222/486] clk: imx8mp: inform CCF of maximum frequency of clocks Sasha Levin
2025-05-05 22:34 ` [PATCH AUTOSEL 6.12 223/486] x86/bugs: Make spectre user default depend on MITIGATION_SPECTRE_V2 Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 224/486] hwmon: (gpio-fan) Add missing mutex locks Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 225/486] ARM: at91: pm: fix at91_suspend_finish for ZQ calibration Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 226/486] drm/mediatek: mtk_dpi: Add checks for reg_h_fre_con existence Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 227/486] fpga: altera-cvp: Increase credit timeout Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 228/486] perf: arm_pmuv3: Call kvm_vcpu_pmu_resync_el0() before enabling counters Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 229/486] soc: apple: rtkit: Use high prio work queue Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 230/486] soc: apple: rtkit: Implement OSLog buffers properly Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 231/486] wifi: ath12k: Report proper tx completion status to mac80211 Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 232/486] PCI: brcmstb: Expand inbound window size up to 64GB Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 233/486] PCI: brcmstb: Add a softdep to MIP MSI-X driver Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 234/486] nvme: map uring_cmd data even if address is 0 Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 235/486] firmware: arm_ffa: Set dma_mask for ffa devices Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 236/486] drm/xe/vf: Retry sending MMIO request to GUC on timeout error Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 237/486] drm/xe/pf: Create a link between PF and VF devices Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 238/486] net/mlx5: Avoid report two health errors on same syndrome Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 239/486] selftests/net: have `gro.sh -t` return a correct exit code Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 240/486] pinctrl: sophgo: avoid to modify untouched bit when setting cv1800 pinconf Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 241/486] drm/amdkfd: KFD release_work possible circular locking Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 242/486] drm/xe: xe_gen_wa_oob: replace program_invocation_short_name Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 243/486] leds: pwm-multicolor: Add check for fwnode_property_read_u32 Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 244/486] net: ethernet: mtk_ppe_offload: Allow QinQ, double ETH_P_8021Q only Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 245/486] net: xgene-v2: remove incorrect ACPI_PTR annotation Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 246/486] bonding: report duplicate MAC address in all situations Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 247/486] wifi: ath12k: Improve BSS discovery with hidden SSID in 6 GHz band Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 248/486] soc: ti: k3-socinfo: Do not use syscon helper to build regmap Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 249/486] bpf: Search and add kfuncs in struct_ops prologue and epilogue Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 250/486] Octeontx2-af: RPM: Register driver with PCI subsys IDs Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 251/486] x86/build: Fix broken copy command in genimage.sh when making isoimage Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 252/486] drm/amd/display: handle max_downscale_src_width fail check Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 253/486] drm/amd/display: fix dcn4x init failed Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 254/486] drm/amd/display: Fix mismatch type comparison Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 255/486] ASoC: mediatek: mt8188: Treat DMIC_GAINx_CUR as non-volatile Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 256/486] ASoC: mediatek: mt8188: Add reference for dmic clocks Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 257/486] x86/nmi: Add an emergency handler in nmi_desc & use it in nmi_shootdown_cpus() Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 258/486] vhost-scsi: Return queue full for page alloc failures during copy Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 259/486] vdpa/mlx5: Fix mlx5_vdpa_get_config() endianness on big-endian machines Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 260/486] cpuidle: menu: Avoid discarding useful information Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 261/486] media: adv7180: Disable test-pattern control on adv7180 Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 262/486] media: tc358746: improve calculation of the D-PHY timing registers Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 263/486] net/mlx5e: Add correct match to check IPSec syndromes for switchdev mode Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 264/486] scsi: mpi3mr: Update timestamp only for supervisor IOCs Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 265/486] loop: check in LO_FLAGS_DIRECT_IO in loop_default_blocksize Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 266/486] libbpf: Fix out-of-bound read Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 267/486] dm: fix unconditional IO throttle caused by REQ_PREFLUSH Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 268/486] fs/mpage: avoid negative shift for large blocksize Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 269/486] scsi: scsi_debug: First fixes for tapes Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 270/486] net/mlx5: Change POOL_NEXT_SIZE define value and make it global Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 271/486] x86/kaslr: Reduce KASLR entropy on most x86 systems Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 272/486] crypto: ahash - Set default reqsize from ahash_alg Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 273/486] crypto: skcipher - Zap type in crypto_alloc_sync_skcipher Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 274/486] net: ipv6: Init tunnel link-netns before registering dev Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 275/486] drm/xe/oa: Ensure that polled read returns latest data Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 276/486] MIPS: Use arch specific syscall name match function Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 277/486] drm/amdgpu: remove all KFD fences from the BO on release Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 278/486] x86/locking: Use ALT_OUTPUT_SP() for percpu_{,try_}cmpxchg{64,128}_op() Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 279/486] genirq/msi: Store the IOMMU IOVA directly in msi_desc instead of iommu_cookie Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 280/486] MIPS: pm-cps: Use per-CPU variables as per-CPU, not per-core Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 281/486] clocksource: mips-gic-timer: Enable counter when CPUs start Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 282/486] PCI: epf-mhi: Update device ID for SA8775P Sasha Levin
2025-05-05 22:35 ` [PATCH AUTOSEL 6.12 283/486] scsi: mpt3sas: Send a diag reset if target reset fails Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 284/486] wifi: rtw88: Fix rtw_init_vht_cap() for RTL8814AU Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 285/486] wifi: rtw88: Fix rtw_init_ht_cap() " Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 286/486] wifi: rtw88: Fix rtw_desc_to_mcsrate() to handle MCS16-31 Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 287/486] wifi: rtw89: fw: propagate error code from rtw89_h2c_tx() Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 288/486] wifi: rtw89: fw: get sb_sel_ver via get_unaligned_le32() Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 289/486] wifi: rtw89: fw: add blacklist to avoid obsolete secure firmware Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 290/486] wifi: rtw89: 8922a: fix incorrect STA-ID in EHT MU PPDU Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 291/486] net: pktgen: fix access outside of user given buffer in pktgen_thread_write() Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 292/486] power: supply: axp20x_battery: Update temp sensor for AXP717 from device tree Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 293/486] EDAC/ie31200: work around false positive build warning Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 294/486] bpf: Prevent unsafe access to the sock fields in the BPF timestamping callback Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 295/486] i3c: master: svc: Flush FIFO before sending Dynamic Address Assignment(DAA) Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 296/486] mfd: axp20x: AXP717: Add AXP717_TS_PIN_CFG to writeable regs Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 297/486] eeprom: ee1004: Check chip before probing Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 298/486] irqchip/riscv-imsic: Separate next and previous pointers in IMSIC vector Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 299/486] drm/amd/pm: Fetch current power limit from PMFW Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 300/486] drm/amd/display: Add support for disconnected eDP streams Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 301/486] drm/amd/display: Guard against setting dispclk low when active Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 302/486] drm/amd/display: Fix BT2020 YCbCr limited/full range input Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 303/486] drm/amd/display: Read LTTPR ALPM caps during link cap retrieval Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 304/486] Revert "drm/amd/display: Request HW cursor on DCN3.2 with SubVP" Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 305/486] drm/amd/display: Don't treat wb connector as physical in create_validate_stream_for_sink Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 306/486] serial: mctrl_gpio: split disable_ms into sync and no_sync APIs Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 307/486] RDMA/core: Fix best page size finding when it can cross SG entries Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 308/486] pmdomain: imx: gpcv2: use proper helper for property detection Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 309/486] can: c_can: Use of_property_present() to test existence of DT property Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 310/486] bpf: don't do clean_live_states when state->loop_entry->branches > 0 Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 311/486] bpf: copy_verifier_state() should copy 'loop_entry' field Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 312/486] eth: mlx4: don't try to complete XDP frames in netpoll Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 313/486] PCI: Fix old_size lower bound in calculate_iosize() too Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 314/486] ACPI: HED: Always initialize before evged Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 315/486] vxlan: Join / leave MC group after remote changes Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 316/486] x86/relocs: Handle R_X86_64_REX_GOTPCRELX relocations Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 317/486] x86/boot: Disable stack protector for early boot code Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 318/486] hrtimers: Replace hrtimer_clock_to_base_table with switch-case Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 319/486] irqchip/riscv-imsic: Set irq_set_affinity() for IMSIC base Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 320/486] media: test-drivers: vivid: don't call schedule in loop Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 321/486] net/mlx5: Modify LSB bitmask in temperature event to include only the first bit Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 322/486] net/mlx5: Apply rate-limiting to high temperature warning Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 323/486] firmware: arm_ffa: Reject higher major version as incompatible Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 324/486] firmware: arm_ffa: Handle the presence of host partition in the partition info Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 325/486] firmware: xilinx: Dont send linux address to get fpga config get status Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 326/486] ASoC: ops: Enforce platform maximum on initial value Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 327/486] ASoC: tas2764: Add reg defaults for TAS2764_INT_CLK_CFG Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 328/486] ASoC: tas2764: Mark SW_RESET as volatile Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 329/486] ASoC: tas2764: Power up/down amp on mute ops Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 330/486] ASoC: soc-dai: check return value at snd_soc_dai_set_tdm_slot() Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 331/486] pinctrl: devicetree: do not goto err when probing hogs in pinctrl_dt_to_map Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 332/486] smack: recognize ipv4 CIPSO w/o categories Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 333/486] smack: Revert "smackfs: Added check catlen" Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 334/486] kunit: tool: Use qboot on QEMU x86_64 Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 335/486] kernfs: Don't re-lock kernfs_root::kernfs_rwsem in kernfs_fop_readdir() Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 336/486] kernfs: Acquire kernfs_rwsem in kernfs_node_dentry() Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 337/486] kernfs: Acquire kernfs_rwsem in kernfs_get_parent_dentry() Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 338/486] kernfs: Acquire kernfs_rwsem in kernfs_notify_workfn() Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 339/486] media: i2c: imx219: Correct the minimum vblanking value Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 340/486] media: v4l: Memset argument to 0 before calling get_mbus_config pad op Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 341/486] libbpf: fix LDX/STX/ST CO-RE relocation size adjustment logic Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 342/486] net/mlx4_core: Avoid impossible mlx4_db_alloc() order value Sasha Levin
2025-05-05 22:36 ` [PATCH AUTOSEL 6.12 343/486] drm/xe: Stop ignoring errors from xe_ttm_stolen_mgr_init() Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 344/486] drm/xe: Fix xe_tile_init_noalloc() error propagation Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 345/486] clk: qcom: ipq5018: allow it to be bulid on arm32 Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 346/486] clk: qcom: clk-alpha-pll: Do not use random stack value for recalc rate Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 347/486] drm/xe/debugfs: fixed the return value of wedged_mode_set Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 348/486] drm/xe/debugfs: Add missing xe_pm_runtime_put in wedge_mode_set Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 349/486] x86/ibt: Handle FineIBT in handle_cfi_failure() Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 350/486] x86/traps: Cleanup and robustify decode_bug() Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 351/486] sched: Reduce the default slice to avoid tasks getting an extra tick Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 352/486] serial: sh-sci: Update the suspend/resume support Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 353/486] pinctrl: renesas: rzg2l: Add suspend/resume support for pull up/down Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 354/486] phy: phy-rockchip-samsung-hdptx: Swap the definitions of LCPLL_REF and ROPLL_REF Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 355/486] phy: core: don't require set_mode() callback for phy_get_mode() to work Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 356/486] phy: exynos5-usbdrd: fix EDS distribution tuning (gs101) Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 357/486] soundwire: amd: change the soundwire wake enable/disable sequence Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 358/486] soundwire: cadence_master: set frame shape and divider based on actual clk freq Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 359/486] net: stmmac: dwmac-loongson: Set correct {tx,rx}_fifo_size Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 360/486] drm/amdgpu/mes11: fix set_hw_resources_1 calculation Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 361/486] drm/amdkfd: fix missing L2 cache info in topology Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 362/486] drm/amdgpu: Set snoop bit for SDMA for MI series Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 363/486] drm/amd/display: pass calculated dram_speed_mts to dml2 Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 364/486] drm/amd/display: Don't try AUX transactions on disconnected link Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 365/486] drm/amdgpu: reset psp->cmd to NULL after releasing the buffer Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 366/486] drm/amd/pm: Skip P2S load for SMU v13.0.12 Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 367/486] drm/amd/display: Support multiple options during psr entry Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 368/486] Revert "drm/amd/display: Exit idle optimizations before attempt to access PHY" Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 369/486] drm/amd/display: Update CR AUX RD interval interpretation Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 370/486] drm/amd/display: Initial psr_version with correct setting Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 371/486] drm/amd/display: Increase block_sequence array size Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 372/486] drm/amd/display: Use Nominal vBlank If Provided Instead Of Capping It Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 373/486] drm/amd/display: Populate register address for dentist for dcn401 Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 374/486] drm/amdgpu: Use active umc info from discovery Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 375/486] drm/amdgpu: enlarge the VBIOS binary size limit Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 376/486] drm/amd/display/dc: enable oem i2c support for DCE 12.x Sasha Levin
2025-05-06 15:04   ` Alex Deucher
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 377/486] drm/amd/display/dm: drop hw_support check in amdgpu_dm_i2c_xfer() Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 378/486] scsi: target: spc: Fix loop traversal in spc_rsoc_get_descr() Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 379/486] net/mlx5: XDP, Enable TX side XDP multi-buffer support Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 380/486] net/mlx5: Extend Ethtool loopback selftest to support non-linear SKB Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 381/486] net/mlx5e: set the tx_queue_len for pfifo_fast Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 382/486] net/mlx5e: reduce rep rxq depth to 256 for ECPF Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 383/486] net/mlx5e: reduce the max log mpwrq sz for ECPF and reps Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 384/486] drm/v3d: Add clock handling Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 385/486] xfrm: prevent high SEQ input in non-ESN mode Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 386/486] wifi: ath12k: fix the ampdu id fetch in the HAL_RX_MPDU_START TLV Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 387/486] mptcp: pm: userspace: flags: clearer msg if no remote addr Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 388/486] wifi: iwlwifi: use correct IMR dump variable Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 389/486] wifi: iwlwifi: don't warn during reprobe Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 390/486] wifi: mac80211: don't unconditionally call drv_mgd_complete_tx() Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 391/486] wifi: mac80211: remove misplaced drv_mgd_complete_tx() call Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 392/486] wifi: mac80211: set ieee80211_prep_tx_info::link_id upon Auth Rx Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 393/486] net: fec: Refactor MAC reset to function Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 394/486] powerpc/pseries/iommu: memory notifier incorrectly adds TCEs for pmemory Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 395/486] powerpc/pseries/iommu: create DDW for devices with DMA mask less than 64-bits Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 396/486] arch/powerpc/perf: Check the instruction type before creating sample with perf_mem_data_src Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 397/486] ip: fib_rules: Fetch net from fib_rule in fib[46]_rule_configure() Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 398/486] r8152: add vendor/device ID pair for Dell Alienware AW1022z Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 399/486] iio: adc: ad7944: don't use storagebits for sizing Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 400/486] pstore: Change kmsg_bytes storage size to u32 Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 401/486] leds: trigger: netdev: Configure LED blink interval for HW offload Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 402/486] net: ethtool: prevent flow steering to RSS contexts which don't exist Sasha Levin
2025-05-05 22:37 ` [PATCH AUTOSEL 6.12 403/486] ext4: don't write back data before punch hole in nojournal mode Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 404/486] ext4: remove writable userspace mappings before truncating page cache Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 405/486] wifi: rtw88: Fix download_firmware_validate() for RTL8814AU Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 406/486] wifi: rtw88: Fix __rtw_download_firmware() " Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 407/486] wifi: rtw89: coex: Assign value over than 0 to avoid firmware timer hang Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 408/486] wifi: rtw89: fw: validate multi-firmware header before getting its size Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 409/486] wifi: rtw89: fw: validate multi-firmware header before accessing Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 410/486] wifi: rtw89: call power_on ahead before selecting firmware Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 411/486] clk: qcom: camcc-sm8250: Use clk_rcg2_shared_ops for some RCGs Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 412/486] net: page_pool: avoid false positive warning if NAPI was never added Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 413/486] tools/power turbostat: Clustered Uncore MHz counters should honor show/hide options Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 414/486] exit: change the release_task() paths to call flush_sigqueue() lockless Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 415/486] hwmon: (xgene-hwmon) use appropriate type for the latency value Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 416/486] f2fs: introduce f2fs_base_attr for global sysfs entries Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 417/486] media: qcom: camss: csid: Only add TPG v4l2 ctrl if TPG hardware is available Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 418/486] media: qcom: camss: Add default case in vfe_src_pad_code Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 419/486] drm/rockchip: vop2: Improve display modes handling on RK3588 HDMI0 Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 420/486] eth: fbnic: set IFF_UNICAST_FLT to avoid enabling promiscuous mode when adding unicast addrs Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 421/486] tools: ynl-gen: don't output external constants Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 422/486] net/mlx5e: Avoid WARN_ON when configuring MQPRIO with HTB offload enabled Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 423/486] cpufreq: amd-pstate: Remove unnecessary driver_lock in set_boost Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 424/486] vxlan: Annotate FDB data races Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 425/486] ipv4: ip_gre: Fix set but not used warning in ipgre_err() if IPv4-only Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 426/486] r8169: don't scan PHY addresses > 0 Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 427/486] net: flush_backlog() small changes Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 428/486] bridge: mdb: Allow replace of a host-joined group Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 429/486] net-sysfs: remove rtnl_trylock from queue attributes Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 430/486] net-sysfs: prevent uncleared queues from being re-added Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 431/486] net-sysfs: remove rtnl_trylock from device attributes Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 432/486] ice: init flow director before RDMA Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 433/486] ice: treat dyn_allowed only as suggestion Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 434/486] rcu: handle quiescent states for PREEMPT_RCU=n, PREEMPT_COUNT=y Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 435/486] rcu: handle unstable rdp in rcu_read_unlock_strict() Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 436/486] rcu: fix header guard for rcu_all_qs() Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 437/486] perf: Avoid the read if the count is already updated Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 438/486] ice: count combined queues using Rx/Tx count Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 439/486] drm/xe/relay: Don't use GFP_KERNEL for new transactions Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 440/486] net/mana: fix warning in the writer of client oob Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 441/486] scsi: lpfc: Handle duplicate D_IDs in ndlp search-by D_ID routine Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 442/486] scsi: lpfc: Ignore ndlp rport mismatch in dev_loss_tmo callbk Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 443/486] scsi: lpfc: Free phba irq in lpfc_sli4_enable_msi() when pci_irq_vector() fails Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 444/486] scsi: st: Restore some drive settings after reset Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 445/486] wifi: ath12k: Avoid napi_sync() before napi_enable() Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 446/486] HID: usbkbd: Fix the bit shift number for LED_KANA Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 447/486] arm64: zynqmp: add clock-output-names property in clock nodes Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 448/486] ASoC: codecs: pcm3168a: Allow for 24-bit in provider mode Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 449/486] ASoC: soc-core: Stop using of_property_read_bool() for non-boolean properties Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 450/486] ASoC: rt722-sdca: Add some missing readable registers Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 451/486] irqchip/riscv-aplic: Add support for hart indexes Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 452/486] dm vdo vio-pool: allow variable-sized metadata vios Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 453/486] dm vdo indexer: prevent unterminated string warning Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 454/486] dm vdo: use a short static string for thread name prefix Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 455/486] drm/ast: Find VBIOS mode from regular display size Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 456/486] bpf: Use kallsyms to find the function name of a struct_ops's stub function Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 457/486] bpftool: Fix readlink usage in get_fd_type Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 458/486] firmware: arm_scmi: Relax duplicate name constraint across protocol ids Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 459/486] perf/amd/ibs: Fix perf_ibs_op.cnt_mask for CurCnt Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 460/486] perf/amd/ibs: Fix ->config to sample period calculation for OP PMU Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 461/486] clk: renesas: rzg2l-cpg: Refactor Runtime PM clock validation Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 462/486] wifi: rtl8xxxu: retry firmware download on error Sasha Levin
2025-05-05 22:38 ` [PATCH AUTOSEL 6.12 463/486] wifi: rtw88: Don't use static local variable in rtw8822b_set_tx_power_index_by_rate Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 464/486] wifi: rtw89: add wiphy_lock() to work that isn't held wiphy_lock() yet Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 465/486] spi: zynqmp-gqspi: Always acknowledge interrupts Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 466/486] regulator: ad5398: Add device tree support Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 467/486] wifi: ath12k: fix ath12k_hal_tx_cmd_ext_desc_setup() info1 override Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 468/486] accel/qaic: Mask out SR-IOV PCI resources Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 469/486] drm/xe/pf: Reset GuC VF config when unprovisioning critical resource Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 470/486] wifi: ath9k: return by of_get_mac_address Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 471/486] wifi: ath12k: Fetch regdb.bin file from board-2.bin Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 472/486] wifi: ath12k: Fix end offset bit definition in monitor ring descriptor Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 473/486] ASoC: hdmi-codec: allow to refine formats actually supported Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 474/486] drm: bridge: adv7511: fill stream capabilities Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 475/486] drm/nouveau: fix the broken marco GSP_MSG_MAX_SIZE Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 476/486] wifi: ath11k: Use dma_alloc_noncoherent for rx_tid buffer allocation Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 477/486] drm/xe: Move suballocator init to after display init Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 478/486] drm/xe: Do not attempt to bootstrap VF in execlists mode Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 479/486] wifi: rtw89: coex: Separated Wi-Fi connecting event from Wi-Fi scan event Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 480/486] drm/xe/sa: Always call drm_suballoc_manager_fini() Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 481/486] drm/xe: Reject BO eviction if BO is bound to current VM Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 482/486] drm/atomic: clarify the rules around drm_atomic_state->allow_modeset Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 483/486] drm/buddy: fix issue that force_merge cannot free all roots Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 484/486] drm/panel-edp: Add Starry 116KHD024006 Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 485/486] drm: Add valid clones check Sasha Levin
2025-05-05 22:39 ` [PATCH AUTOSEL 6.12 486/486] kernfs: Use RCU to access kernfs_node::parent Sasha Levin
2026-11-13 12:30   ` Christian Loehle [this message]
2026-11-13 19:10     ` Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e274493b-0774-423e-a7e0-bd2c59333d93@arm.com \
    --to=christian.loehle@arm.com \
    --cc=alan.maguire@oracle.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bigeasy@linutronix.de \
    --cc=bp@alien8.de \
    --cc=bpf@vger.kernel.org \
    --cc=cgroups@vger.kernel.org \
    --cc=dakr@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=eddyz87@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=mkoutny@suse.com \
    --cc=rafael@kernel.org \
    --cc=reinette.chatre@intel.com \
    --cc=sashal@kernel.org \
    --cc=shuah@kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tj@kernel.org \
    --cc=x86@kernel.org \
    --cc=yonghong.song@linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®