From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3296D2801E3; Sun, 24 Mar 2024 23:40:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323631; cv=none; b=J5m438C7atW6SjYbwishhF2LVibHU7i6na3DhFLKdsI2OCpclV+LM79qU8AhwFBLqMqaWDM0s/9WDDJ0l4LXuRlfWX3QxbE9pDoyKJmmhZWowBQJeMrrp7cvg0vttMD3xGrM0yJ0njbsfPQ26Td6twOV9RqoNwxi/bq1Q1ZGsyU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323631; c=relaxed/simple; bh=YmYGiJNWvwm8qvLTcguVJPE0uIR5n311XccO/74AuCM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Knev5wKkC+0CNSnds03LpZuo5zWbga4IABqRVGg4VlPUb4yY1csl/pgD9Ey11+S0N4gPN41VejxEJqLOsC4rRC/KN9aWO5gFzYNMK9D0sN9TuF9wuadLb3AOHGFeov0dGfUf4EbYVNQUjeIuqx5YPpD4wiGkfnZYypnLfaZHiko= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=p+ZdNEtI; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="p+ZdNEtI" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 859D7C433A6; Sun, 24 Mar 2024 23:40:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323630; bh=YmYGiJNWvwm8qvLTcguVJPE0uIR5n311XccO/74AuCM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p+ZdNEtIhUyx6zY557ezLNHqSFRjxgyysiW03vEjkrxaJRgLCPD8XHhtOe23uU8ck XfH5g6NjaXghe3XP6WwBkUnNWZqqZeyAJ6SBG8U3yEs+PJ2KqV6+x5Z1TDnM1jgt49 D1rrlclEHKosSmo+lrC91MiArdonlyxsAu4+e3VXnxotQkBUHWw/SyqeM3wqXvJwjz y8ZJ9c9inWBAZhb2qFEi0Q2gBZSeGblOvvYZYmGfIWiUocWHBkE2HoQO5W5N95jFDD FsHOGDdgxtFQmP4EHo0W2oePJLaFys3dnYWLjQgRCEYuQCRwoXWOuUu/sc0dyy1HZe LBed12OL3U5sg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jens Axboe , Sasha Levin Subject: [PATCH 5.10 001/238] io_uring/unix: drop usage of io_uring socket Date: Sun, 24 Mar 2024 19:36:29 -0400 Message-ID: <20240324234027.1354210-2-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jens Axboe Commit a4104821ad651d8a0b374f0b2474c345bbb42f82 upstream. Since we no longer allow sending io_uring fds over SCM_RIGHTS, move to using io_is_uring_fops() to detect whether this is a io_uring fd or not. With that done, kill off io_uring_get_socket() as nobody calls it anymore. This is in preparation to yanking out the rest of the core related to unix gc with io_uring. Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/linux/io_uring.h | 10 +++++----- io_uring/io_uring.c | 18 +++++------------- net/core/scm.c | 2 +- net/unix/scm.c | 4 +--- 4 files changed, 12 insertions(+), 22 deletions(-) diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h index 649a4d7c241bc..55d09f594cd14 100644 --- a/include/linux/io_uring.h +++ b/include/linux/io_uring.h @@ -6,9 +6,9 @@ #include =20 #if defined(CONFIG_IO_URING) -struct sock *io_uring_get_socket(struct file *file); void __io_uring_cancel(bool cancel_all); void __io_uring_free(struct task_struct *tsk); +bool io_is_uring_fops(struct file *file); =20 static inline void io_uring_files_cancel(void) { @@ -26,10 +26,6 @@ static inline void io_uring_free(struct task_struct *tsk) __io_uring_free(tsk); } #else -static inline struct sock *io_uring_get_socket(struct file *file) -{ - return NULL; -} static inline void io_uring_task_cancel(void) { } @@ -39,6 +35,10 @@ static inline void io_uring_files_cancel(void) static inline void io_uring_free(struct task_struct *tsk) { } +static inline bool io_is_uring_fops(struct file *file) +{ + return false; +} #endif =20 #endif diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 936abc6ee450c..a80c808d3a0ef 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -1113,19 +1113,6 @@ static struct kmem_cache *req_cachep; =20 static const struct file_operations io_uring_fops; =20 -struct sock *io_uring_get_socket(struct file *file) -{ -#if defined(CONFIG_UNIX) - if (file->f_op =3D=3D &io_uring_fops) { - struct io_ring_ctx *ctx =3D file->private_data; - - return ctx->ring_sock->sk; - } -#endif - return NULL; -} -EXPORT_SYMBOL(io_uring_get_socket); - static inline void io_tw_lock(struct io_ring_ctx *ctx, bool *locked) { if (!*locked) { @@ -10275,6 +10262,11 @@ static const struct file_operations io_uring_fops = =3D { #endif }; =20 +bool io_is_uring_fops(struct file *file) +{ + return file->f_op =3D=3D &io_uring_fops; +} + static int io_allocate_scq_urings(struct io_ring_ctx *ctx, struct io_uring_params *p) { diff --git a/net/core/scm.c b/net/core/scm.c index 3c7f160720d34..d09849cb60f08 100644 --- a/net/core/scm.c +++ b/net/core/scm.c @@ -105,7 +105,7 @@ static int scm_fp_copy(struct cmsghdr *cmsg, struct scm= _fp_list **fplp) if (fd < 0 || !(file =3D fget_raw(fd))) return -EBADF; /* don't allow io_uring files */ - if (io_uring_get_socket(file)) { + if (io_is_uring_fops(file)) { fput(file); return -EINVAL; } diff --git a/net/unix/scm.c b/net/unix/scm.c index e8e2a00bb0f58..d1048b4c2baaf 100644 --- a/net/unix/scm.c +++ b/net/unix/scm.c @@ -34,10 +34,8 @@ struct sock *unix_get_socket(struct file *filp) /* PF_UNIX ? */ if (s && sock->ops && sock->ops->family =3D=3D PF_UNIX) u_sock =3D s; - } else { - /* Could be an io_uring instance */ - u_sock =3D io_uring_get_socket(filp); } + return u_sock; } EXPORT_SYMBOL(unix_get_socket); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 080C02801F6; Sun, 24 Mar 2024 23:40:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323632; cv=none; b=UYXrP9YGSeL8cXIplv0WUmz2FqO0S+ysZIiibU3U71XD00GUiClT2NpqImdlS/mW1b4qhPhDBvk4ut2LpVxQ/uXv/1kBwKN7XFtBMihLxt9pvBJxnPhbwYeOQvmrmpQQyIdl8zJZZRzzDaJaQ+zbN47e5VamcfNeIKpTA0+1gbc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323632; c=relaxed/simple; bh=J+kza5llwUr7p0ALHqCiykreV4U0IS3mZ8uq84k+KVc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iYRH/MW6lEoNrYtnkpp9yc91x0Ee1H9k94ms+TxWblws0W/yzEU3gALpPndDDWA+RCkViZVgYAttSryyRohOSYTLbSTOT82MfAKMsduXlVI62fY5htrW2GWZdBLcN5e38UN0WRDOGuL8Ph8Mthr1gGssaRTXp9VE+LLj1JJn7mI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aQhydWND; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aQhydWND" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 593BCC43390; Sun, 24 Mar 2024 23:40:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323630; bh=J+kza5llwUr7p0ALHqCiykreV4U0IS3mZ8uq84k+KVc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aQhydWNDKs/dGOn8VrUJl5b/KRokv5+CqzWDfrvryfUq64s9sT0pi79WH5k91YCA9 Q0bTfnc9bHdgwWvN5PyEdC//hyxdl7szV8s+GABLM5QeipVLQDWjJMQhknq3daeV5n nMOVMlsu2hTk2oeX6bBIwe0XgIeqEZa9TVUwGoFbZsz8K7qjOUhnSal9gXbpGcZk/w SDPaO9oYmysm3rM5i6cLp6XB7sRnSUFu3peqpaq2H88vhgu2gBkIzo6BPeD7lSqjYz tfz3Kpfn2W45VVpwxJVMEQw9LH/pGHrNUYRYwNWLBwoBLq5DuQ1ewQVyQNxvwtsBdq GkEm/4zYU1L0A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jens Axboe , Sasha Levin Subject: [PATCH 5.10 002/238] io_uring: drop any code related to SCM_RIGHTS Date: Sun, 24 Mar 2024 19:36:30 -0400 Message-ID: <20240324234027.1354210-3-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jens Axboe Commit 6e5e6d274956305f1fc0340522b38f5f5be74bdb upstream. This is dead code after we dropped support for passing io_uring fds over SCM_RIGHTS, get rid of it. Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- io_uring/io_uring.c | 211 +------------------------------------------- 1 file changed, 3 insertions(+), 208 deletions(-) diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index a80c808d3a0ef..67a355f27ad80 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -62,7 +62,6 @@ #include #include #include -#include #include #include #include @@ -440,9 +439,6 @@ struct io_ring_ctx { =20 /* Keep this last, we don't need it for the fast path */ struct { - #if defined(CONFIG_UNIX) - struct socket *ring_sock; - #endif /* hashed buffered write serialization */ struct io_wq_hash *hash_map; =20 @@ -7976,15 +7972,6 @@ static void io_free_file_tables(struct io_file_table= *table) =20 static void __io_sqe_files_unregister(struct io_ring_ctx *ctx) { -#if defined(CONFIG_UNIX) - if (ctx->ring_sock) { - struct sock *sock =3D ctx->ring_sock->sk; - struct sk_buff *skb; - - while ((skb =3D skb_dequeue(&sock->sk_receive_queue)) !=3D NULL) - kfree_skb(skb); - } -#else int i; =20 for (i =3D 0; i < ctx->nr_user_files; i++) { @@ -7994,7 +7981,6 @@ static void __io_sqe_files_unregister(struct io_ring_= ctx *ctx) if (file) fput(file); } -#endif io_free_file_tables(&ctx->file_table); io_rsrc_data_free(ctx->file_data); ctx->file_data =3D NULL; @@ -8146,170 +8132,11 @@ static struct io_sq_data *io_get_sq_data(struct io= _uring_params *p, return sqd; } =20 -#if defined(CONFIG_UNIX) -/* - * Ensure the UNIX gc is aware of our file set, so we are certain that - * the io_uring can be safely unregistered on process exit, even if we have - * loops in the file referencing. - */ -static int __io_sqe_files_scm(struct io_ring_ctx *ctx, int nr, int offset) -{ - struct sock *sk =3D ctx->ring_sock->sk; - struct scm_fp_list *fpl; - struct sk_buff *skb; - int i, nr_files; - - fpl =3D kzalloc(sizeof(*fpl), GFP_KERNEL); - if (!fpl) - return -ENOMEM; - - skb =3D alloc_skb(0, GFP_KERNEL); - if (!skb) { - kfree(fpl); - return -ENOMEM; - } - - skb->sk =3D sk; - skb->scm_io_uring =3D 1; - - nr_files =3D 0; - fpl->user =3D get_uid(current_user()); - for (i =3D 0; i < nr; i++) { - struct file *file =3D io_file_from_index(ctx, i + offset); - - if (!file) - continue; - fpl->fp[nr_files] =3D get_file(file); - unix_inflight(fpl->user, fpl->fp[nr_files]); - nr_files++; - } - - if (nr_files) { - fpl->max =3D SCM_MAX_FD; - fpl->count =3D nr_files; - UNIXCB(skb).fp =3D fpl; - skb->destructor =3D unix_destruct_scm; - refcount_add(skb->truesize, &sk->sk_wmem_alloc); - skb_queue_head(&sk->sk_receive_queue, skb); - - for (i =3D 0; i < nr; i++) { - struct file *file =3D io_file_from_index(ctx, i + offset); - - if (file) - fput(file); - } - } else { - kfree_skb(skb); - free_uid(fpl->user); - kfree(fpl); - } - - return 0; -} - -/* - * If UNIX sockets are enabled, fd passing can cause a reference cycle whi= ch - * causes regular reference counting to break down. We rely on the UNIX - * garbage collection to take care of this problem for us. - */ -static int io_sqe_files_scm(struct io_ring_ctx *ctx) -{ - unsigned left, total; - int ret =3D 0; - - total =3D 0; - left =3D ctx->nr_user_files; - while (left) { - unsigned this_files =3D min_t(unsigned, left, SCM_MAX_FD); - - ret =3D __io_sqe_files_scm(ctx, this_files, total); - if (ret) - break; - left -=3D this_files; - total +=3D this_files; - } - - if (!ret) - return 0; - - while (total < ctx->nr_user_files) { - struct file *file =3D io_file_from_index(ctx, total); - - if (file) - fput(file); - total++; - } - - return ret; -} -#else -static int io_sqe_files_scm(struct io_ring_ctx *ctx) -{ - return 0; -} -#endif - static void io_rsrc_file_put(struct io_ring_ctx *ctx, struct io_rsrc_put *= prsrc) { struct file *file =3D prsrc->file; -#if defined(CONFIG_UNIX) - struct sock *sock =3D ctx->ring_sock->sk; - struct sk_buff_head list, *head =3D &sock->sk_receive_queue; - struct sk_buff *skb; - int i; =20 - __skb_queue_head_init(&list); - - /* - * Find the skb that holds this file in its SCM_RIGHTS. When found, - * remove this entry and rearrange the file array. - */ - skb =3D skb_dequeue(head); - while (skb) { - struct scm_fp_list *fp; - - fp =3D UNIXCB(skb).fp; - for (i =3D 0; i < fp->count; i++) { - int left; - - if (fp->fp[i] !=3D file) - continue; - - unix_notinflight(fp->user, fp->fp[i]); - left =3D fp->count - 1 - i; - if (left) { - memmove(&fp->fp[i], &fp->fp[i + 1], - left * sizeof(struct file *)); - } - fp->count--; - if (!fp->count) { - kfree_skb(skb); - skb =3D NULL; - } else { - __skb_queue_tail(&list, skb); - } - fput(file); - file =3D NULL; - break; - } - - if (!file) - break; - - __skb_queue_tail(&list, skb); - - skb =3D skb_dequeue(head); - } - - if (skb_peek(&list)) { - spin_lock_irq(&head->lock); - while ((skb =3D __skb_dequeue(&list)) !=3D NULL) - __skb_queue_tail(head, skb); - spin_unlock_irq(&head->lock); - } -#else fput(file); -#endif } =20 static void __io_rsrc_put_work(struct io_rsrc_node *ref_node) @@ -8420,12 +8247,6 @@ static int io_sqe_files_register(struct io_ring_ctx = *ctx, void __user *arg, io_fixed_file_set(io_fixed_file_slot(&ctx->file_table, i), file); } =20 - ret =3D io_sqe_files_scm(ctx); - if (ret) { - __io_sqe_files_unregister(ctx); - return ret; - } - io_rsrc_node_switch(ctx, NULL); return ret; out_fput: @@ -9382,12 +9203,6 @@ static void io_ring_ctx_free(struct io_ring_ctx *ctx) WARN_ON_ONCE(!list_empty(&ctx->rsrc_ref_list)); WARN_ON_ONCE(!llist_empty(&ctx->rsrc_put_llist)); =20 -#if defined(CONFIG_UNIX) - if (ctx->ring_sock) { - ctx->ring_sock->file =3D NULL; /* so that iput() is called */ - sock_release(ctx->ring_sock); - } -#endif WARN_ON_ONCE(!list_empty(&ctx->ltimeout_list)); =20 if (ctx->mm_account) { @@ -10329,32 +10144,12 @@ static int io_uring_install_fd(struct io_ring_ctx= *ctx, struct file *file) /* * Allocate an anonymous fd, this is what constitutes the application * visible backing of an io_uring instance. The application mmaps this - * fd to gain access to the SQ/CQ ring details. If UNIX sockets are enable= d, - * we have to tie this fd to a socket for file garbage collection purposes. + * fd to gain access to the SQ/CQ ring details. */ static struct file *io_uring_get_file(struct io_ring_ctx *ctx) { - struct file *file; -#if defined(CONFIG_UNIX) - int ret; - - ret =3D sock_create_kern(&init_net, PF_UNIX, SOCK_RAW, IPPROTO_IP, - &ctx->ring_sock); - if (ret) - return ERR_PTR(ret); -#endif - - file =3D anon_inode_getfile("[io_uring]", &io_uring_fops, ctx, - O_RDWR | O_CLOEXEC); -#if defined(CONFIG_UNIX) - if (IS_ERR(file)) { - sock_release(ctx->ring_sock); - ctx->ring_sock =3D NULL; - } else { - ctx->ring_sock->file =3D file; - } -#endif - return file; + return anon_inode_getfile("[io_uring]", &io_uring_fops, ctx, + O_RDWR | O_CLOEXEC); } =20 static int io_uring_create(unsigned entries, struct io_uring_params *p, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E64C2801F7; Sun, 24 Mar 2024 23:40:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323632; cv=none; b=bmehlgJK4dZnn645HFoBO9mGmJz6J6gvTw7lUsV6aOemYNWbzmKdI2BvaVaxcU2UuDuh+97ErOMB37Mq2XRfPLXbKvPWwTz62EBt1AKrpWvGRPUwlxljfPozaNtL/a0FM3MawG5fuwQlHAEIKxLWfCWZgor3vyrdAxIZRf8XIhE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323632; c=relaxed/simple; bh=oD17ofTA2Z/4lB9MfJbdZTrDP3Xqo6BRlFf4yaezyaM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zghl3Wl8IGEsSgOs1RTxGbvwL5PTb6at89aPClJk9dOJGo2CNob+ShuWn7SJXdIXQ6G3R2Ey0VLTEq8sK+TpGrrXXWFfeU/fHTB7a6PwMaZxb1dsGvFnc1TuLikvMNgpS7vvIZXhrMJMu2KHqOs8DRqC+FkL7XqJZLNUhnR+xr0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lCep375C; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lCep375C" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 298FFC43394; Sun, 24 Mar 2024 23:40:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323632; bh=oD17ofTA2Z/4lB9MfJbdZTrDP3Xqo6BRlFf4yaezyaM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lCep375CE6YNV1yR3a3TcXYpMoIsLj1BjjiwJvp/AqTw72qSxO595Q8VkV0YsR6xI jY8s38dhhCG6VMYoRQREZ6SGGnrwT9YCsi1zmtwIMWTwy0l9KeQsS9E7TOrtxUEB0V A6iFExh1BwUEvRblFf8n3ak9k9QMAqFhWTEtra9ReGbmj92Tm+FMKRqPhBpcDvWomk aI97x+ETqoGDM6lO/MOH1hVGqUHs8tJgN1YmpcPKVnVHbzGz/FX/THNVg827PuKtPs bfAJWFz1CWHZh7quVtNRHOnWrswg1TKrTci5KrJwIU3WYl5+YpYneicXLhF5+gD99w DVHSmPjKPtBsQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Paul E. McKenney" , Hou Tao , Alexei Starovoitov , Martin KaFai Lau , Sasha Levin , Robert Kolchmeyer Subject: [PATCH 5.10 003/238] rcu-tasks: Provide rcu_trace_implies_rcu_gp() Date: Sun, 24 Mar 2024 19:36:31 -0400 Message-ID: <20240324234027.1354210-4-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: "Paul E. McKenney" [ Upstream commit e6c86c513f440bec5f1046539c7e3c6c653842da ] As an accident of implementation, an RCU Tasks Trace grace period also acts as an RCU grace period. However, this could change at any time. This commit therefore creates an rcu_trace_implies_rcu_gp() that currently returns true to codify this accident. Code relying on this accident must call this function to verify that this accident is still happening. Reported-by: Hou Tao Signed-off-by: Paul E. McKenney Cc: Alexei Starovoitov Cc: Martin KaFai Lau Link: https://lore.kernel.org/r/20221014113946.965131-2-houtao@huaweicloud.= com Signed-off-by: Alexei Starovoitov Stable-dep-of: 876673364161 ("bpf: Defer the free of inner map when necessa= ry") Signed-off-by: Sasha Levin (cherry picked from commit 10108826191ab30388e8ae9d54505a628f78a7ec) Signed-off-by: Robert Kolchmeyer Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/linux/rcupdate.h | 12 ++++++++++++ kernel/rcu/tasks.h | 2 ++ 2 files changed, 14 insertions(+) diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 8716a17063518..0122c03da24af 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -201,6 +201,18 @@ static inline void exit_tasks_rcu_stop(void) { } static inline void exit_tasks_rcu_finish(void) { } #endif /* #else #ifdef CONFIG_TASKS_RCU_GENERIC */ =20 +/** + * rcu_trace_implies_rcu_gp - does an RCU Tasks Trace grace period imply a= n RCU grace period? + * + * As an accident of implementation, an RCU Tasks Trace grace period also + * acts as an RCU grace period. However, this could change at any time. + * Code relying on this accident must call this function to verify that + * this accident is still happening. + * + * You have been warned! + */ +static inline bool rcu_trace_implies_rcu_gp(void) { return true; } + /** * cond_resched_tasks_rcu_qs - Report potential quiescent states to RCU * diff --git a/kernel/rcu/tasks.h b/kernel/rcu/tasks.h index c5624ab0580c5..105fdc2bb004c 100644 --- a/kernel/rcu/tasks.h +++ b/kernel/rcu/tasks.h @@ -1015,6 +1015,8 @@ static void rcu_tasks_trace_postscan(struct list_head= *hop) =20 // Wait for late-stage exiting tasks to finish exiting. // These might have passed the call to exit_tasks_rcu_finish(). + + // If you remove the following line, update rcu_trace_implies_rcu_gp()!!! synchronize_rcu(); // Any tasks that exit after this point will set ->trc_reader_checked. } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2EDA0280202; Sun, 24 Mar 2024 23:40:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323634; cv=none; b=hgK+/yqumheyvyLzSP/W5Z7qjcG3pPW/1/bpArrW+TIOjQY3pOm040obdJjemBDUessllXkzImcFOvIaegVlzZkvsPtorLewVJClqyge+vZGdrotIdjuzFv/tsit0zA+lxLdVIrUSIaiCL3gqnGyB7hfCzNT8Lg+ODehua0BXRs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323634; c=relaxed/simple; bh=w1SWC/npLs9PAnsaTRTUf2qggJJX/Bjpja5a1dxH1+k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dhGy6wPex+yU9XO+3dpUoOIqNLqqiGNmOz5+yjFCNWjnrd+yydep5xvzUobe583HvDuHHEJE2g+jHjSsEVdH8sapriecmkxNAlTDWovfQJ4qlVlYLXMX+Kx34QaZ3Ob9JZbH+4ArkcNAIO5+QCE/8OE/N2abHyLiWhXe1CR65xA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=il0aGbY1; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="il0aGbY1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 55B38C433F1; Sun, 24 Mar 2024 23:40:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323633; bh=w1SWC/npLs9PAnsaTRTUf2qggJJX/Bjpja5a1dxH1+k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=il0aGbY1BYGseK4eyztPVld6YbeSFDNvsliJq98kkL1zfEBoo4Sc7MxcPLsbIr+uN c+ldbGXS2ARm/NOsTjehYOGcp9hhP0FKqSSVu4u1hdno0QMOi2qsjXY/bsAQT6mLNP aqDBh2CFLRaERf2rwTZuA9xcWE794wspCcW+ZU9PuA7G4pJSn5whSyqK6vZImA7hLn FLNm4AFwhITLLXZN05exhBCBDcjWVErEqpQ4WE0t0z2Xp0LgpqfGsUDXc/61FDf3Sc xT+C+xnvJ8mb2K7sdEXC3dEi/WEf+36uEOjdAa35skLJ6WnAzFE4uNGTQKJs5/7RuJ T3jP31AMEss0g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Hou Tao , Alexei Starovoitov , Sasha Levin , Robert Kolchmeyer Subject: [PATCH 5.10 004/238] bpf: Defer the free of inner map when necessary Date: Sun, 24 Mar 2024 19:36:32 -0400 Message-ID: <20240324234027.1354210-5-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Hou Tao [ Upstream commit 876673364161da50eed6b472d746ef88242b2368 ] When updating or deleting an inner map in map array or map htab, the map may still be accessed by non-sleepable program or sleepable program. However bpf_map_fd_put_ptr() decreases the ref-counter of the inner map directly through bpf_map_put(), if the ref-counter is the last one (which is true for most cases), the inner map will be freed by ops->map_free() in a kworker. But for now, most .map_free() callbacks don't use synchronize_rcu() or its variants to wait for the elapse of a RCU grace period, so after the invocation of ops->map_free completes, the bpf program which is accessing the inner map may incur use-after-free problem. Fix the free of inner map by invoking bpf_map_free_deferred() after both one RCU grace period and one tasks trace RCU grace period if the inner map has been removed from the outer map before. The deferment is accomplished by using call_rcu() or call_rcu_tasks_trace() when releasing the last ref-counter of bpf map. The newly-added rcu_head field in bpf_map shares the same storage space with work field to reduce the size of bpf_map. Fixes: bba1dc0b55ac ("bpf: Remove redundant synchronize_rcu.") Fixes: 638e4b825d52 ("bpf: Allows per-cpu maps and map-in-map in sleepable = programs") Signed-off-by: Hou Tao Link: https://lore.kernel.org/r/20231204140425.1480317-5-houtao@huaweicloud= .com Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin (cherry picked from commit 62fca83303d608ad4fec3f7428c8685680bb01b0) Signed-off-by: Robert Kolchmeyer Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/linux/bpf.h | 7 ++++++- kernel/bpf/map_in_map.c | 11 ++++++++--- kernel/bpf/syscall.c | 26 ++++++++++++++++++++++++-- 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/include/linux/bpf.h b/include/linux/bpf.h index bfdf40be5360a..a75faf437e750 100644 --- a/include/linux/bpf.h +++ b/include/linux/bpf.h @@ -175,9 +175,14 @@ struct bpf_map { */ atomic64_t refcnt ____cacheline_aligned; atomic64_t usercnt; - struct work_struct work; + /* rcu is used before freeing and work is only used during freeing */ + union { + struct work_struct work; + struct rcu_head rcu; + }; struct mutex freeze_mutex; atomic64_t writecnt; + bool free_after_mult_rcu_gp; }; =20 static inline bool map_value_has_spin_lock(const struct bpf_map *map) diff --git a/kernel/bpf/map_in_map.c b/kernel/bpf/map_in_map.c index 0cf4cb6858105..caa1a17cbae15 100644 --- a/kernel/bpf/map_in_map.c +++ b/kernel/bpf/map_in_map.c @@ -102,10 +102,15 @@ void *bpf_map_fd_get_ptr(struct bpf_map *map, =20 void bpf_map_fd_put_ptr(struct bpf_map *map, void *ptr, bool need_defer) { - /* ptr->ops->map_free() has to go through one - * rcu grace period by itself. + struct bpf_map *inner_map =3D ptr; + + /* The inner map may still be used by both non-sleepable and sleepable + * bpf program, so free it after one RCU grace period and one tasks + * trace RCU grace period. */ - bpf_map_put(ptr); + if (need_defer) + WRITE_ONCE(inner_map->free_after_mult_rcu_gp, true); + bpf_map_put(inner_map); } =20 u32 bpf_map_fd_sys_lookup_elem(void *ptr) diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index 16affa09db5c9..e1bee8cd34044 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c @@ -493,6 +493,25 @@ static void bpf_map_put_uref(struct bpf_map *map) } } =20 +static void bpf_map_free_in_work(struct bpf_map *map) +{ + INIT_WORK(&map->work, bpf_map_free_deferred); + schedule_work(&map->work); +} + +static void bpf_map_free_rcu_gp(struct rcu_head *rcu) +{ + bpf_map_free_in_work(container_of(rcu, struct bpf_map, rcu)); +} + +static void bpf_map_free_mult_rcu_gp(struct rcu_head *rcu) +{ + if (rcu_trace_implies_rcu_gp()) + bpf_map_free_rcu_gp(rcu); + else + call_rcu(rcu, bpf_map_free_rcu_gp); +} + /* decrement map refcnt and schedule it for freeing via workqueue * (unrelying map implementation ops->map_free() might sleep) */ @@ -502,8 +521,11 @@ static void __bpf_map_put(struct bpf_map *map, bool do= _idr_lock) /* bpf_map_free_id() must be called first */ bpf_map_free_id(map, do_idr_lock); btf_put(map->btf); - INIT_WORK(&map->work, bpf_map_free_deferred); - schedule_work(&map->work); + + if (READ_ONCE(map->free_after_mult_rcu_gp)) + call_rcu_tasks_trace(&map->rcu, bpf_map_free_mult_rcu_gp); + else + bpf_map_free_in_work(map); } } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 67BCF280206; Sun, 24 Mar 2024 23:40:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323635; cv=none; b=DSZo3O6/PCaLS+CP6xGw+Vti4hq5RojBFIISMZM/Oq6TkqNo//+nNWGXjjOpboCAU6812FyDR1da+BO2N//lS12h74OTKNBfceGrFqyo6HrMWzQ22C+D9cQBXiOIgAylVlqlkiw3vA1wg+JA+ow+ufArDjTK0XSepTxGeozmewc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323635; c=relaxed/simple; bh=W7EFPrddAiARLEIxEX/jN7SMYuIy9OT780TTtwsJlAg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N5qyY9r2ABA88lajLaPhGn4gUDa/OyLMyem5tiPDOv4yzCJIhtcJnNaJQu7Gz6DE5P+sqHkaU0E4AppAz3xl5orPfYUcZc/g8844YOD6m+10/aeGwIolJ+h3h9ir5iMupioJSwmcVpMXhj8T/hg+7bzVxk/vFPMXOWZLSpz1yJc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Fgx1sQ1B; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Fgx1sQ1B" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 52E80C43390; Sun, 24 Mar 2024 23:40:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323634; bh=W7EFPrddAiARLEIxEX/jN7SMYuIy9OT780TTtwsJlAg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Fgx1sQ1BIn1VV4XNaxQ4Ws8WTDJ9mdA+BsALOGIRlA/iAzst5JIQUv8Br72n9VHdG LRD+pkTXS4/tFcbYjCs1UDKR+Orcj62s2oq4Q1c6dxvlMPSAxMoywbrI3S6Fy0TaKl 83MwBsPi9BiHTKp8t5IH8zvbsFKxvNrFZ0EuNc9zD41wI6V/38N+wy1C7d3kY8n1H/ 89YErQ/hg8U7v4m9Pxl2lqqiYC9D9QG/ex5nt5lb4IReU4oY0ZCsgo1lxafIBWpkSK rJ9jT2z53xUYG/RmO/rozKXCqF6BucNAHi/BGlAU+l0kVlBMb+aYrXhFWhl3hfuMMt 73+MiqE5s9NGQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Filipe Manana , Johannes Thumshirn , Josef Bacik , Boris Burkov , David Sterba , Sasha Levin Subject: [PATCH 5.10 005/238] btrfs: add and use helper to check if block group is used Date: Sun, 24 Mar 2024 19:36:33 -0400 Message-ID: <20240324234027.1354210-6-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Filipe Manana [ Upstream commit 1693d5442c458ae8d5b0d58463b873cd879569ed ] Add a helper function to determine if a block group is being used and make use of it at btrfs_delete_unused_bgs(). This helper will also be used in future code changes. Reviewed-by: Johannes Thumshirn Reviewed-by: Josef Bacik Reviewed-by: Boris Burkov Signed-off-by: Filipe Manana Reviewed-by: David Sterba Signed-off-by: David Sterba Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/btrfs/block-group.c | 3 +-- fs/btrfs/block-group.h | 7 +++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c index c4e3c1a5de059..9a7c7e0f7c233 100644 --- a/fs/btrfs/block-group.c +++ b/fs/btrfs/block-group.c @@ -1393,8 +1393,7 @@ void btrfs_delete_unused_bgs(struct btrfs_fs_info *fs= _info) } =20 spin_lock(&block_group->lock); - if (block_group->reserved || block_group->pinned || - block_group->used || block_group->ro || + if (btrfs_is_block_group_used(block_group) || block_group->ro || list_is_singular(&block_group->list)) { /* * We want to bail if we made new allocations or have diff --git a/fs/btrfs/block-group.h b/fs/btrfs/block-group.h index 4c7614346f724..0d02b75f9e7e3 100644 --- a/fs/btrfs/block-group.h +++ b/fs/btrfs/block-group.h @@ -196,6 +196,13 @@ static inline u64 btrfs_block_group_end(struct btrfs_b= lock_group *block_group) return (block_group->start + block_group->length); } =20 +static inline bool btrfs_is_block_group_used(const struct btrfs_block_grou= p *bg) +{ + lockdep_assert_held(&bg->lock); + + return (bg->used > 0 || bg->reserved > 0 || bg->pinned > 0); +} + static inline bool btrfs_is_block_group_data_only( struct btrfs_block_group *block_group) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57DDC280209; Sun, 24 Mar 2024 23:40:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323636; cv=none; b=KMuljLvmPUI5VwXdsJ0jWYMRiPD7jAigquB3iQFkLapQ6nLUf4d36AwM48unRq36152a1fcnntK7SnArx+fht22pwUA8i4HohXKsBefse4nsRfKnAiTerZBYrDyibrVdVvYutalv9Pwzpsh/LlYcUkuBZldzfF0IBeN2ybzVQdc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323636; c=relaxed/simple; bh=Yo+IjX1HMF7yDU/yvovsGvcfnMLDjmAxJteTj1nN9MI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AjmRIRyPOn6BkRGYpjtIrk/nKQojIcnUj8UjcmCaN0fqvtqS0HTw2caKk57THmgXyv7QNkUwp3QOyC2kDJRU6UkZItVGh2Op5/YKe/o3PhcxFQrB8riZuaQ04B2U28ZTKfPGHG2l45UyOVST3AK7hyde5RLc+V7s5J4Ht/fyHM4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ja6ifQli; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ja6ifQli" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7EDCBC43394; Sun, 24 Mar 2024 23:40:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323635; bh=Yo+IjX1HMF7yDU/yvovsGvcfnMLDjmAxJteTj1nN9MI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ja6ifQliUdwmqr9aWBMb59DdR/UJB+QPgiPOQIgbwXG0jphtpcn3sS3uFLf4RhLnu f509v/NtelUCXWrsH3cf/54u0dNHpBpb5xG/XEgQhIEwYQKe321AKByyNZ7MH+pSSE RKTY202J42HZ9Euquxty7A2XhHxl1m0akEm8r2KuMs01wnEzKLyYj0xg93sR5m85I4 LVmhrIzvrFjJv6a16C9KiZfyWO1K5SZXvrf4r5pAT6VjKyN+FTnOHZkFkyqKoY61f8 mKNO8NqF64CcijJV4Xne54dtENjM7jjfk6TqddTo2ZxaeCBVH2qA7+InkRIEH32AF3 O12C3QTXP0/bQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jakub Kicinski , Simon Horman , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 006/238] selftests: tls: use exact comparison in recv_partial Date: Sun, 24 Mar 2024 19:36:34 -0400 Message-ID: <20240324234027.1354210-7-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jakub Kicinski [ Upstream commit 49d821064c44cb5ffdf272905236012ea9ce50e3 ] This exact case was fail for async crypto and we weren't catching it. Signed-off-by: Jakub Kicinski Reviewed-by: Simon Horman Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- tools/testing/selftests/net/tls.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/tls.c b/tools/testing/selftests/ne= t/tls.c index 44a25a9f1f722..956ee3c01dd1a 100644 --- a/tools/testing/selftests/net/tls.c +++ b/tools/testing/selftests/net/tls.c @@ -653,12 +653,12 @@ TEST_F(tls, recv_partial) =20 memset(recv_mem, 0, sizeof(recv_mem)); EXPECT_EQ(send(self->fd, test_str, send_len, 0), send_len); - EXPECT_NE(recv(self->cfd, recv_mem, strlen(test_str_first), - MSG_WAITALL), -1); + EXPECT_EQ(recv(self->cfd, recv_mem, strlen(test_str_first), + MSG_WAITALL), strlen(test_str_first)); EXPECT_EQ(memcmp(test_str_first, recv_mem, strlen(test_str_first)), 0); memset(recv_mem, 0, sizeof(recv_mem)); - EXPECT_NE(recv(self->cfd, recv_mem, strlen(test_str_second), - MSG_WAITALL), -1); + EXPECT_EQ(recv(self->cfd, recv_mem, strlen(test_str_second), + MSG_WAITALL), strlen(test_str_second)); EXPECT_EQ(memcmp(test_str_second, recv_mem, strlen(test_str_second)), 0); } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C3372801FC; Sun, 24 Mar 2024 23:40:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323636; cv=none; b=WaoUS35zjxNMjLSfgQM/gM4UoLXA7N7nCYerJuTV2BVUwGXH4Hq/Z+pvV9LAP2k1q0rvrfILpxeOvkTXxb597XSwsbicos8/hNz7gHo//shK59KNXyOJDwDBEVACMKA6LNoPZT2PIGZllwHxbKn+gdgLcAJvZrO01dj7/1s5mA8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323636; c=relaxed/simple; bh=wN9qknYWyXLhykrwy7deV6GMrdHRh+3YLf4iu0Y3Nyo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JWTEi4PahRLQ+lX7WFNLwUf6uyhw/Pw50V+uX3vDS2S5pxakt/MyPiVUWwFSRPNnMjisPd8e9UQln+mtCoCdJGHN91VblnD4yQR9FgR2dsIdigOaqMbV+GqyQGtdd8Fmws/sXAAwmKviB0+PLMfhw3sIlGJ0pyyhHd542YO8umI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ijloQtLL; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ijloQtLL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7C9A2C433B1; Sun, 24 Mar 2024 23:40:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323636; bh=wN9qknYWyXLhykrwy7deV6GMrdHRh+3YLf4iu0Y3Nyo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ijloQtLLT4Cc3q8p3gBW47KIf8Wte33UMOZiO/59UWWdbKhwuQq0md7kczOZPOyua P8lKNtPXeoj59GC5uvNrfquXmeXxCIed4OwW/D59r6GNJi2yOcHUXonGjjz6h8KAF/ 1OgKMPs/eErrz2EZqAi//XniZqRV3Wh640DmHU/sJ9+7W6vETOB5IagD04LU0m6plb z6S+Muap1vpGp3tckoGZyeB1PUzGfZWupClH0pDoFp7r3CFP7EY77ZoCwPMt/9BtdN nlLysxNnrP+HQC3JMTU5wycxu4q2AUSTc449Tg/MTXzNlNLFaORqKo3JYWyuI/fJYy GCFXIQgrW8KEQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Hans de Goede , Mark Brown , Sasha Levin Subject: [PATCH 5.10 007/238] ASoC: rt5645: Make LattePanda board DMI match more precise Date: Sun, 24 Mar 2024 19:36:35 -0400 Message-ID: <20240324234027.1354210-8-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Hans de Goede [ Upstream commit 551539a8606e28cb2a130f8ef3e9834235b456c4 ] The DMI strings used for the LattePanda board DMI quirks are very generic. Using the dmidecode database from https://linux-hardware.org/ shows that the chosen DMI strings also match the following 2 laptops which also have a rt5645 codec: Insignia NS-P11W7100 https://linux-hardware.org/?computer=3DE092FFF8BA04 Insignia NS-P10W8100 https://linux-hardware.org/?computer=3DAFB6C0BF7934 All 4 hw revisions of the LattePanda board have "S70CR" in their BIOS version DMI strings: DF-BI-7-S70CR100-* DF-BI-7-S70CR110-* DF-BI-7-S70CR200-* LP-BS-7-S70CR700-* See e.g. https://linux-hardware.org/?computer=3DD98250A817C0 Add a partial (non exact) DMI match on this string to make the LattePanda board DMI match more precise to avoid false-positive matches. Signed-off-by: Hans de Goede Link: https://msgid.link/r/20240211212736.179605-1-hdegoede@redhat.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/codecs/rt5645.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sound/soc/codecs/rt5645.c b/sound/soc/codecs/rt5645.c index 04457cbed5b4e..5db63ef33f1a2 100644 --- a/sound/soc/codecs/rt5645.c +++ b/sound/soc/codecs/rt5645.c @@ -3772,6 +3772,16 @@ static const struct dmi_system_id dmi_platform_data[= ] =3D { DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"), DMI_EXACT_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"), DMI_EXACT_MATCH(DMI_BOARD_VERSION, "Default string"), + /* + * Above strings are too generic, LattePanda BIOS versions for + * all 4 hw revisions are: + * DF-BI-7-S70CR100-* + * DF-BI-7-S70CR110-* + * DF-BI-7-S70CR200-* + * LP-BS-7-S70CR700-* + * Do a partial match for S70CR to avoid false positive matches. + */ + DMI_MATCH(DMI_BIOS_VERSION, "S70CR"), }, .driver_data =3D (void *)&lattepanda_board_platform_data, }, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4DA97280203; Sun, 24 Mar 2024 23:40:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323637; cv=none; b=tfueCE3dUDNn6D5Yvj9tAVpnjXVmvzCXHyzJhPmikxRU+bR4JdPxdgi55Vp7BsJKxS7yuUYpBBn4rs/x2hgd/3Xnj9ZRle5SJHXCNEMQ/vNcPgzxFOzLntfsbnxesVa03w6KEL5XCSlXbD2h/Vy2Rjw9RA7pM5zAUggHZIgzz8c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323637; c=relaxed/simple; bh=tjjI2nsFG1aGxXNU8gC7cWP86c+GUyG67wihdRCmajA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=G9lbFitmdgm72nmDBtbEnj7xoorK9CawpAqFVIZmED5rj9luhLBT8MPWF7y3m3qNgdyvEsPoKBfOPE4ubctXGNzOp+wpu2/+zf+N2l4oVC8JsNQyInpuqvjhzbLmFF/RN52LM/IbuGPPPNJXrpWM8g7yaykgF9t2VP6w9es0icU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ijZdy8z6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ijZdy8z6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DF44C433F1; Sun, 24 Mar 2024 23:40:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323637; bh=tjjI2nsFG1aGxXNU8gC7cWP86c+GUyG67wihdRCmajA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ijZdy8z69XJWaWgDssJFUzlKCb+rfhGEJFuZczreAxWexakfzysW0LDsO478o2Bqd Sk+WkB+mKH40kXsynRAzyfmtV/VQoKWrjCAlFZ8cTtp3DgDWYUOkNvwbH3rrMup4v/ 4jwQEqZSueTwtgrDmAIfitifqWCTitIgz0fgE6aZfv23opSTYyaSQzz0g4RENBA7Fo GgZSK8urEsoDtU9ySAZMwofeEZ/sw7WXcY//Nxx7AnMigaUGq2my40WF0YgH5OitR3 WOw9eDuIeuuu3MI66LaRa+Z8HtZSB+krZasGo5jTXxgP0AbO4r/xVhQMCFGH0w+Ora jCKTpqvBTxBQA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Kunwu Chan , kernel test robot , Markus Elfring , Juergen Gross , Sasha Levin Subject: [PATCH 5.10 008/238] x86/xen: Add some null pointer checking to smp.c Date: Sun, 24 Mar 2024 19:36:36 -0400 Message-ID: <20240324234027.1354210-9-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Kunwu Chan [ Upstream commit 3693bb4465e6e32a204a5b86d3ec7e6b9f7e67c2 ] kasprintf() returns a pointer to dynamically allocated memory which can be NULL upon failure. Ensure the allocation was successful by checking the pointer validity. Signed-off-by: Kunwu Chan Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202401161119.iof6BQsf-lkp@int= el.com/ Suggested-by: Markus Elfring Reviewed-by: Juergen Gross Link: https://lore.kernel.org/r/20240119094948.275390-1-chentao@kylinos.cn Signed-off-by: Juergen Gross Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/x86/xen/smp.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c index cdec892b28e2e..a641e0d452194 100644 --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c @@ -65,6 +65,8 @@ int xen_smp_intr_init(unsigned int cpu) char *resched_name, *callfunc_name, *debug_name; =20 resched_name =3D kasprintf(GFP_KERNEL, "resched%d", cpu); + if (!resched_name) + goto fail_mem; per_cpu(xen_resched_irq, cpu).name =3D resched_name; rc =3D bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR, cpu, @@ -77,6 +79,8 @@ int xen_smp_intr_init(unsigned int cpu) per_cpu(xen_resched_irq, cpu).irq =3D rc; =20 callfunc_name =3D kasprintf(GFP_KERNEL, "callfunc%d", cpu); + if (!callfunc_name) + goto fail_mem; per_cpu(xen_callfunc_irq, cpu).name =3D callfunc_name; rc =3D bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_VECTOR, cpu, @@ -90,6 +94,9 @@ int xen_smp_intr_init(unsigned int cpu) =20 if (!xen_fifo_events) { debug_name =3D kasprintf(GFP_KERNEL, "debug%d", cpu); + if (!debug_name) + goto fail_mem; + per_cpu(xen_debug_irq, cpu).name =3D debug_name; rc =3D bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, xen_debug_interrupt, @@ -101,6 +108,9 @@ int xen_smp_intr_init(unsigned int cpu) } =20 callfunc_name =3D kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu); + if (!callfunc_name) + goto fail_mem; + per_cpu(xen_callfuncsingle_irq, cpu).name =3D callfunc_name; rc =3D bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR, cpu, @@ -114,6 +124,8 @@ int xen_smp_intr_init(unsigned int cpu) =20 return 0; =20 + fail_mem: + rc =3D -ENOMEM; fail: xen_smp_intr_free(cpu); return rc; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3130B280211; Sun, 24 Mar 2024 23:40:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323638; cv=none; b=JJI4MApbO9oG+radqntd9HQJK9br5Cman+0qzBBhLywwefyioqV4HME8wENe5uMo0/8R3mxHx0nr/oOHUHoWvML8cD3Va7emUBUkyQOphIy9HJx9dDkFJdCtrqOX1yUAILG6+1Qv+YPr1sw4s7IjNfgJSBFt71fIjNyuqacZzdI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323638; c=relaxed/simple; bh=tfnOGd7pf3A5f59RWHth3GLkpWlXj5gee4oTcfvY3k4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sCU91bD19uTTdVpXibJrPCVANAsd5n9mkwkTH79PpyhsKnykYeB3XwrfyIy8sKi0RNHiZxwBIFzZWPBH4QNtJsQqK1vNuwlCM8B0QLHrTib6iHCWhS34XRMJrScAg1l02gBtYZZcYxLydW64kvFWpDn2zTbOupsnsIAzSF8jKSA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HZi5Z2zx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HZi5Z2zx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6E621C43390; Sun, 24 Mar 2024 23:40:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323638; bh=tfnOGd7pf3A5f59RWHth3GLkpWlXj5gee4oTcfvY3k4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HZi5Z2zxzeRE3/FNc6bW1kRMmeK4NCHqvIgDUb1Enm3ZDml8+fwMH+GmCatTcaZ5m OUEhGKYDFRyPq8lvWjZ1+r78RyRnMJXwMCF+draHTfjuiE2xjABF3TIujOCXGEItNQ NXjvrokhN9h0R2U1wU3dCUxQwEeFRTa3EcA0+lwHzZP/zaw8Bj1NV7JJ2cPDwftZWu rqRtsNiIwbcI5CFrFsQx2dDrnVxeEnFA8gK3pnJJ1FxCQCAP2tsPjhMO6NBw0LnyOm Ra+QYWGtDduxWdFLY4WVpld9rVcdIxHYZXdiyZXkNIWFuX/3NtiEv6Z2tLNJ+35uYo fmipVoDKlCRMA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jiaxun Yang , Thomas Bogendoerfer , Sasha Levin Subject: [PATCH 5.10 009/238] MIPS: Clear Cause.BD in instruction_pointer_set Date: Sun, 24 Mar 2024 19:36:37 -0400 Message-ID: <20240324234027.1354210-10-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jiaxun Yang [ Upstream commit 9d6e21ddf20293b3880ae55b9d14de91c5891c59 ] Clear Cause.BD after we use instruction_pointer_set to override EPC. This can prevent exception_epc check against instruction code at new return address. It won't be considered as "in delay slot" after epc being overridden anyway. Signed-off-by: Jiaxun Yang Signed-off-by: Thomas Bogendoerfer Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/mips/include/asm/ptrace.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/mips/include/asm/ptrace.h b/arch/mips/include/asm/ptrace.h index 1e76774b36ddf..2849a9b65a055 100644 --- a/arch/mips/include/asm/ptrace.h +++ b/arch/mips/include/asm/ptrace.h @@ -60,6 +60,7 @@ static inline void instruction_pointer_set(struct pt_regs= *regs, unsigned long val) { regs->cp0_epc =3D val; + regs->cp0_cause &=3D ~CAUSEF_BD; } =20 /* Query offset/name of register from its name/offset */ --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 11639280217; Sun, 24 Mar 2024 23:40:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323639; cv=none; b=F0U6e3vN0oSlVyx9DjEeryu5a2ucRgcQP6b/ZEnLdrxbeELJf+nbHS7NulxP7vi1yO5k+EWELo93Z7NyZpRW+fJVpLbg/TEq6DLJu2isrXWKTTK6IlZQOm/+wFtOOeG/9JA/8LzDa3X9VQuSZV8wiU8Mb1KtlSw8fHbJTnlZzcM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323639; c=relaxed/simple; bh=c6/DOxUKRsUIHujFZ6RcUlM4sO3EWtCuNBhifZZp5eM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ncG8Lk8PJ4Gd/O8vvJpL1Q+q8yqP+tdUNb+oTsM1SXvTG8xGi6Yj+JGsusyZZrxZHgwt2yDj+FlbbAnUGNa4RcviAFqgsc7uscFQO9/aM0yyL9WiWj5HRXgRX04m986JWYDSy6WoCrBi1hCkLQC14jBph5YjxgszABHsHTxkBzs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=N7JyjnqN; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="N7JyjnqN" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 53C46C43394; Sun, 24 Mar 2024 23:40:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323638; bh=c6/DOxUKRsUIHujFZ6RcUlM4sO3EWtCuNBhifZZp5eM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N7JyjnqN53NrDrTTd2dFT9IYwnpTuOprB4oA5gume2NnArcggp/9edMsm/JbNCXuz CMd7YjvCFkvbGkmVDie4wvt26oivq8kxIo6X02qWtNoWVRVPWEOREeL6Ww3thnoOEO k3jv1bWr1NShy2BXpdtVG4QTPZ1BaNWKguPIiYuMfwbTfYAL9VQqYcMQu5QrFDSIU/ ruoVmd0duyCVi0DyIOnT0HMnu6hwAmLl+ISQmJj1uq1EJoJ8utSOUHxoKqYp73t3Ht maw7LDKGxJEhOHszqYmPHZgodZR+dARRhX9T9VZtSpxN2Aut9Qy+Ry2oYev0tbuLcQ kxTKZJqzNvqWg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Manuel Fombuena , Jiri Kosina , Sasha Levin Subject: [PATCH 5.10 010/238] HID: multitouch: Add required quirk for Synaptics 0xcddc device Date: Sun, 24 Mar 2024 19:36:38 -0400 Message-ID: <20240324234027.1354210-11-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Manuel Fombuena [ Upstream commit 1741a8269e1c51fa08d4bfdf34667387a6eb10ec ] Add support for the pointing stick (Accupoint) and 2 mouse buttons. Present on some Toshiba/dynabook Portege X30 and X40 laptops. It should close https://bugzilla.kernel.org/show_bug.cgi?id=3D205817 Signed-off-by: Manuel Fombuena Signed-off-by: Jiri Kosina Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/hid/hid-multitouch.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 7d43d62df2409..8dcd636daf270 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -2067,6 +2067,10 @@ static const struct hid_device_id mt_devices[] =3D { HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, USB_VENDOR_ID_SYNAPTICS, 0xcd7e) }, =20 + { .driver_data =3D MT_CLS_WIN_8_FORCE_MULTI_INPUT, + HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, + USB_VENDOR_ID_SYNAPTICS, 0xcddc) }, + { .driver_data =3D MT_CLS_WIN_8_FORCE_MULTI_INPUT, HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, USB_VENDOR_ID_SYNAPTICS, 0xce08) }, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 12C84178314; Sun, 24 Mar 2024 23:40:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323641; cv=none; b=MCIaELb1CuJJq0L0Xl2oG4mVeU8kC+OWh07jykEjQof91LUHE1/ESa+S2LA4akz1HXvSz9Gfd4g7uX89uxfHsmQda2QgCeEummcKKX8lZbrsgOs3d6V8TbT2ucpw12PUdBW4mp7dUTjppouKoSFYUEd+ktyHcXMkuMlu5WnrgFY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323641; c=relaxed/simple; bh=iDEiulklPJxiT0KxN848Zac4TFlvECiWKebGAJuHqZI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DruqDhclsRUsSe0xiLUnR2wW//n5CAi8OQjcGiQyMp6lQ5/Bmu+XJZ5aHTlWzmfOYdqb4mp1b8MtQo29L25iU9p/ycRADC0gZERnVLgX6IkJrGJceuYcNb7TMbJme2wDgrUYcQzciEKX97JCzIlhXgzd8x7aj+gh2yXLP5HCv5A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JU1Nz0Z2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JU1Nz0Z2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3788AC43390; Sun, 24 Mar 2024 23:40:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323639; bh=iDEiulklPJxiT0KxN848Zac4TFlvECiWKebGAJuHqZI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JU1Nz0Z2Qgo99S+NqdvIyMOMJ4sBukR4JF/R2n4DyfTmetIQEIvilrKDH8msJJ9pz WNd1kndaGzbd8OsxZUh5pCy4EKv0mmge67N26RC8LrUgyrGQJzQLxvlNx3e2dxKwFN y9SjCT6AmYTsQGTgaXsfEd001c90Vzn4az3uibdgbvuC899iQ60U2IS5gr9pu9E8r6 7nNLq6kYb4IAkUtFR94PGsBAwU/u1+8L4yI+GYdK2ErxYt8MTOqoPJa9doLzj03zY7 WJOTgI6F7fswK+UgTQtWGFhj/0Nr4+y3nrRJ/yyK7GXU9Ay6jLRQlXpaCOXmYjAtL/ fdOfjGfkNSFpA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Andrew Ballance , Justin Stitt , Masahiro Yamada , Sasha Levin Subject: [PATCH 5.10 011/238] gen_compile_commands: fix invalid escape sequence warning Date: Sun, 24 Mar 2024 19:36:39 -0400 Message-ID: <20240324234027.1354210-12-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Andrew Ballance [ Upstream commit dae4a0171e25884787da32823b3081b4c2acebb2 ] With python 3.12, '\#' results in this warning SyntaxWarning: invalid escape sequence '\#' Signed-off-by: Andrew Ballance Reviewed-by: Justin Stitt Signed-off-by: Masahiro Yamada Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- scripts/clang-tools/gen_compile_commands.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/clang-tools/gen_compile_commands.py b/scripts/clang-to= ols/gen_compile_commands.py index 8bf55bb4f515c..96e4865ee934d 100755 --- a/scripts/clang-tools/gen_compile_commands.py +++ b/scripts/clang-tools/gen_compile_commands.py @@ -176,7 +176,7 @@ def process_line(root_directory, command_prefix, file_p= ath): # escape the pound sign '#', either as '\#' or '$(pound)' (depending o= n the # kernel version). The compile_commands.json file is not interepreted # by Make, so this code replaces the escaped version with '#'. - prefix =3D command_prefix.replace('\#', '#').replace('$(pound)', '#') + prefix =3D command_prefix.replace(r'\#', '#').replace('$(pound)', '#') =20 # Use os.path.abspath() to normalize the path resolving '.' and '..' . abs_path =3D os.path.abspath(os.path.join(root_directory, file_path)) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D0C76280213; Sun, 24 Mar 2024 23:40:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323640; cv=none; b=CrqQfp4LUc5WLJL44RTVYDNGFYBZ1ppOU/4lT/LNSE9u1vGsyk8PaDcbU2OztnQRda3GNrF1+5lcRNodjHqScEfTA69/uGNO9qr48y2Nbs9qpSmDUeoc0G17HAJW0OhTV2Gu0/L5tPWUf1WKvg5UOvEVj/GbBjaDTkUMxYtdWGY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323640; c=relaxed/simple; bh=ttS7QcQyTQtqfNwAtJPI+G3AAOWCTfZVzehAOR8AHHI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=d0uPpbgDIKD9Ol9TvtWJ41dS7lGbQ7O1e3CNJIZKEen2IdAZmUqhHqFf5s4ILHxqGzJWXhtv3hATl54gP26HB02ULA7lho5mC3o/+uO7XYC9scSLmUlAbXBdlk6iLkun9jkbPJyDzt3kiRoFdL2pjdWeu0+fH8qX3CKgwXrt3ec= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TDOjHOEf; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TDOjHOEf" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 33C29C41679; Sun, 24 Mar 2024 23:40:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323640; bh=ttS7QcQyTQtqfNwAtJPI+G3AAOWCTfZVzehAOR8AHHI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TDOjHOEfu0XbdBG82cdzg9/k15rs0iGeRGOc0Xu4y0nTXBKsIcupovYDYoOJSp55z 3gCux69kxZNh5n05gZJNXVkq+DQwkpZ40BXOqQWinJKzU5MgvjrHuX/Otl98L6x6cM m4qcjyTAYJnpTAzBG5vQarL9dy2sIdaLM3Yx/V7PE+oVhdNqq+qAUtI1H4AYet2T88 N+TRbCCEzVweSb/2DZo9VH4HZ9w8rrX0utKHBRIuEQBcAdwlbwMJsFe3+p/Cp6OQ7c gDimOk7IPMaikmsCd8lmjAOC+jtk6aUObKMVU51K+UW6pjWd3pmn8xgYc07Y0gXkBp AZsSiCtaLeugw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Leon Romanovsky , Sasha Levin Subject: [PATCH 5.10 012/238] RDMA/mlx5: Fix fortify source warning while accessing Eth segment Date: Sun, 24 Mar 2024 19:36:40 -0400 Message-ID: <20240324234027.1354210-13-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Leon Romanovsky [ Upstream commit 4d5e86a56615cc387d21c629f9af8fb0e958d350 ] ------------[ cut here ]------------ memcpy: detected field-spanning write (size 56) of single field "eseg->inl= ine_hdr.start" at /var/lib/dkms/mlnx-ofed-kernel/5.8/build/drivers/infiniba= nd/hw/mlx5/wr.c:131 (size 2) WARNING: CPU: 0 PID: 293779 at /var/lib/dkms/mlnx-ofed-kernel/5.8/build/dr= ivers/infiniband/hw/mlx5/wr.c:131 mlx5_ib_post_send+0x191b/0x1a60 [mlx5_ib] Modules linked in: 8021q garp mrp stp llc rdma_ucm(OE) rdma_cm(OE) iw_cm(O= E) ib_ipoib(OE) ib_cm(OE) ib_umad(OE) mlx5_ib(OE) ib_uverbs(OE) ib_core(OE)= mlx5_core(OE) pci_hyperv_intf mlxdevm(OE) mlx_compat(OE) tls mlxfw(OE) psa= mple nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib nft_reject_inet nf_reje= ct_ipv4 nf_reject_ipv6 nft_reject nft_ct nft_chain_nat nf_nat nf_conntrack = nf_defrag_ipv6 nf_defrag_ipv4 ip_set nf_tables libcrc32c nfnetlink mst_pcic= onf(OE) knem(OE) vfio_pci vfio_pci_core vfio_iommu_type1 vfio iommufd irqby= pass cuse nfsv3 nfs fscache netfs xfrm_user xfrm_algo ipmi_devintf ipmi_msg= handler binfmt_misc crct10dif_pclmul crc32_pclmul polyval_clmulni polyval_g= eneric ghash_clmulni_intel sha512_ssse3 snd_pcsp aesni_intel crypto_simd cr= yptd snd_pcm snd_timer joydev snd soundcore input_leds serio_raw evbug nfsd= auth_rpcgss nfs_acl lockd grace sch_fq_codel sunrpc drm efi_pstore ip_tabl= es x_tables autofs4 psmouse virtio_net net_failover failover floppy [last unloaded: mlx_compat(OE)] CPU: 0 PID: 293779 Comm: ssh Tainted: G OE 6.2.0-32-generic= #32~22.04.1-Ubuntu Hardware name: Red Hat KVM, BIOS 0.5.1 01/01/2011 RIP: 0010:mlx5_ib_post_send+0x191b/0x1a60 [mlx5_ib] Code: 0c 01 00 a8 01 75 25 48 8b 75 a0 b9 02 00 00 00 48 c7 c2 10 5b fd c0= 48 c7 c7 80 5b fd c0 c6 05 57 0c 03 00 01 e8 95 4d 93 da <0f> 0b 44 8b 4d = b0 4c 8b 45 c8 48 8b 4d c0 e9 49 fb ff ff 41 0f b7 RSP: 0018:ffffb5b48478b570 EFLAGS: 00010046 RAX: 0000000000000000 RBX: 0000000000000001 RCX: 0000000000000000 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffffb5b48478b628 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000000 R12: ffffb5b48478b5e8 R13: ffff963a3c609b5e R14: ffff9639c3fbd800 R15: ffffb5b480475a80 FS: 00007fc03b444c80(0000) GS:ffff963a3dc00000(0000) knlGS:00000000000000= 00 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000556f46bdf000 CR3: 0000000006ac6003 CR4: 00000000003706f0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 Call Trace: ? show_regs+0x72/0x90 ? mlx5_ib_post_send+0x191b/0x1a60 [mlx5_ib] ? __warn+0x8d/0x160 ? mlx5_ib_post_send+0x191b/0x1a60 [mlx5_ib] ? report_bug+0x1bb/0x1d0 ? handle_bug+0x46/0x90 ? exc_invalid_op+0x19/0x80 ? asm_exc_invalid_op+0x1b/0x20 ? mlx5_ib_post_send+0x191b/0x1a60 [mlx5_ib] mlx5_ib_post_send_nodrain+0xb/0x20 [mlx5_ib] ipoib_send+0x2ec/0x770 [ib_ipoib] ipoib_start_xmit+0x5a0/0x770 [ib_ipoib] dev_hard_start_xmit+0x8e/0x1e0 ? validate_xmit_skb_list+0x4d/0x80 sch_direct_xmit+0x116/0x3a0 __dev_xmit_skb+0x1fd/0x580 __dev_queue_xmit+0x284/0x6b0 ? _raw_spin_unlock_irq+0xe/0x50 ? __flush_work.isra.0+0x20d/0x370 ? push_pseudo_header+0x17/0x40 [ib_ipoib] neigh_connected_output+0xcd/0x110 ip_finish_output2+0x179/0x480 ? __smp_call_single_queue+0x61/0xa0 __ip_finish_output+0xc3/0x190 ip_finish_output+0x2e/0xf0 ip_output+0x78/0x110 ? __pfx_ip_finish_output+0x10/0x10 ip_local_out+0x64/0x70 __ip_queue_xmit+0x18a/0x460 ip_queue_xmit+0x15/0x30 __tcp_transmit_skb+0x914/0x9c0 tcp_write_xmit+0x334/0x8d0 tcp_push_one+0x3c/0x60 tcp_sendmsg_locked+0x2e1/0xac0 tcp_sendmsg+0x2d/0x50 inet_sendmsg+0x43/0x90 sock_sendmsg+0x68/0x80 sock_write_iter+0x93/0x100 vfs_write+0x326/0x3c0 ksys_write+0xbd/0xf0 ? do_syscall_64+0x69/0x90 __x64_sys_write+0x19/0x30 do_syscall_64+0x59/0x90 ? do_user_addr_fault+0x1d0/0x640 ? exit_to_user_mode_prepare+0x3b/0xd0 ? irqentry_exit_to_user_mode+0x9/0x20 ? irqentry_exit+0x43/0x50 ? exc_page_fault+0x92/0x1b0 entry_SYSCALL_64_after_hwframe+0x72/0xdc RIP: 0033:0x7fc03ad14a37 Code: 10 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 00 f3 0f 1e fa= 64 8b 04 25 18 00 00 00 85 c0 75 10 b8 01 00 00 00 0f 05 <48> 3d 00 f0 ff = ff 77 51 c3 48 83 ec 28 48 89 54 24 18 48 89 74 24 RSP: 002b:00007ffdf8697fe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001 RAX: ffffffffffffffda RBX: 0000000000008024 RCX: 00007fc03ad14a37 RDX: 0000000000008024 RSI: 0000556f46bd8270 RDI: 0000000000000003 RBP: 0000556f46bb1800 R08: 0000000000007fe3 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000002 R13: 0000556f46bc66b0 R14: 000000000000000a R15: 0000556f46bb2f50 ---[ end trace 0000000000000000 ]--- Link: https://lore.kernel.org/r/8228ad34bd1a25047586270f7b1fb4ddcd046282.17= 06433934.git.leon@kernel.org Signed-off-by: Leon Romanovsky Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/infiniband/hw/mlx5/wr.c | 2 +- include/linux/mlx5/qp.h | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/hw/mlx5/wr.c b/drivers/infiniband/hw/mlx5/w= r.c index d6038fb6c50c6..19fd440a6ce38 100644 --- a/drivers/infiniband/hw/mlx5/wr.c +++ b/drivers/infiniband/hw/mlx5/wr.c @@ -128,7 +128,7 @@ static void set_eth_seg(const struct ib_send_wr *wr, st= ruct mlx5_ib_qp *qp, */ copysz =3D min_t(u64, *cur_edge - (void *)eseg->inline_hdr.start, left); - memcpy(eseg->inline_hdr.start, pdata, copysz); + memcpy(eseg->inline_hdr.data, pdata, copysz); stride =3D ALIGN(sizeof(struct mlx5_wqe_eth_seg) - sizeof(eseg->inline_hdr.start) + copysz, 16); *size +=3D stride / 16; diff --git a/include/linux/mlx5/qp.h b/include/linux/mlx5/qp.h index d75ef8aa8fac0..28d44061d6700 100644 --- a/include/linux/mlx5/qp.h +++ b/include/linux/mlx5/qp.h @@ -261,7 +261,10 @@ struct mlx5_wqe_eth_seg { union { struct { __be16 sz; - u8 start[2]; + union { + u8 start[2]; + DECLARE_FLEX_ARRAY(u8, data); + }; } inline_hdr; struct { __be16 type; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EA9A717967E; Sun, 24 Mar 2024 23:40:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323643; cv=none; b=U6GMe6cybsX/7+7QmMTJiYU1l0MZccVCwLVT3QD4Mlt5//hGvFmoYuj7Nk5jvxlUbiw0Ko94+6HotfPREhs/eGiIoEKmCDJvd3EEU+omsChYFflv2QkGmyd+AQgERuaK3J4o6pV6JZbPcRyOyu3P1E4d5jLwisXOw5zdfULKnjY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323643; c=relaxed/simple; bh=9eC06TIqVP4YEX5xtazcIFSDbMDbYTC3Hpi0cb+4aWg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mZxZTs9WIKrKhn5wU9RG8G/dl4JZsrepzUThsgWKVdwCPAlD0VUFOSHqUGBkWxaJ1n6xfGHjERrv+aLo3u56j4D7AomhBaVJSxW89A292tmO+6qODhY2I7d3GatRmT3R0xcPnDNIvYdJvYuvSfK+eoKl/IeETA0PD/+1Vas7V8A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KsRyly+b; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KsRyly+b" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 00B6FC433F1; Sun, 24 Mar 2024 23:40:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323641; bh=9eC06TIqVP4YEX5xtazcIFSDbMDbYTC3Hpi0cb+4aWg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KsRyly+bdyJVs10sCVleve2HoaYGh0ojO6Yj5PsnwfnJb0sxkunMSCvhPx9Law1kf q/POwOHKe9O3zcGxX/WeegwL8ja+aRGuEgzzYf2VeaNYXlZRHBDd4Bw8TWg21zCQIr dD+6i8YEMDqpzL86o/p+WokHk8x6XEKmXft13rPE0oov3ktG+2fB/cr/NwFaSkz5jz Nq/XcNfDCeV6eRV9apH5rtWeOzDlLQqFsPGOZr7jed4Eg4Z/Q1jI2ozQG3cPgmxzFv ikFdq2ezSXpYDuBE8g9be9Y2aGq/DG2cEe9muCtuBJJrMwGucO0mQJi/X5hILjWoGm Fke+6U+9esM9g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Yishai Hadas , Tamar Mashiah , Michael Guralnik , Leon Romanovsky , Sasha Levin Subject: [PATCH 5.10 013/238] RDMA/mlx5: Relax DEVX access upon modify commands Date: Sun, 24 Mar 2024 19:36:41 -0400 Message-ID: <20240324234027.1354210-14-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yishai Hadas [ Upstream commit be551ee1574280ef8afbf7c271212ac3e38933ef ] Relax DEVX access upon modify commands to be UVERBS_ACCESS_READ. The kernel doesn't need to protect what firmware protects, or what causes no damage to anyone but the user. As firmware needs to protect itself from parallel access to the same object, don't block parallel modify/query commands on the same object in the kernel side. This change will allow user space application to run parallel updates to different entries in the same bulk object. Tested-by: Tamar Mashiah Signed-off-by: Yishai Hadas Reviewed-by: Michael Guralnik Link: https://lore.kernel.org/r/7407d5ed35dc427c1097699e12b49c01e1073406.17= 06433934.git.leon@kernel.org Signed-off-by: Leon Romanovsky Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/infiniband/hw/mlx5/devx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/infiniband/hw/mlx5/devx.c b/drivers/infiniband/hw/mlx5= /devx.c index a56ebdc15723c..f67ebd9f3cdd1 100644 --- a/drivers/infiniband/hw/mlx5/devx.c +++ b/drivers/infiniband/hw/mlx5/devx.c @@ -2780,7 +2780,7 @@ DECLARE_UVERBS_NAMED_METHOD( MLX5_IB_METHOD_DEVX_OBJ_MODIFY, UVERBS_ATTR_IDR(MLX5_IB_ATTR_DEVX_OBJ_MODIFY_HANDLE, UVERBS_IDR_ANY_OBJECT, - UVERBS_ACCESS_WRITE, + UVERBS_ACCESS_READ, UA_MANDATORY), UVERBS_ATTR_PTR_IN( MLX5_IB_ATTR_DEVX_OBJ_MODIFY_CMD_IN, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E12C2178CD9; Sun, 24 Mar 2024 23:40:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323643; cv=none; b=XQrVe1FrkgOnnpKecKVxe4bc3BsVuAxmA4Fa3jJYpA6fCy0CFrJn2q855KuNORIdM8oVttkuUcGoVVWmm7UkcVNd891LrkCDJzmBY6OKb+UeVuYMTNVWVV9D97bKNuPY8VmYD7Mbu4spZ3rYhO+VOx+q2AU0+Sse2eeloJ1DaVk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323643; c=relaxed/simple; bh=HwmkPfGefzMCAlIIte66Zo11gpIVH+oat9lMPqJVMGA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f8dINjZ0f4rl6OGFuzF9ofwRkxQPqq+yKgCkehZOkokUd3ebKnykRBQKtPOgIm1oONLG5cQB5WNF/HBSaaZtgDbqCYfGc+T4priileseZmBrR+nlmPwk8J3aVviBYIOrZEeq11fFwu4l7bobl9c/dSk+5/n+y0At7bK+d53iFNc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=d/9nmAoR; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="d/9nmAoR" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 131E9C433C7; Sun, 24 Mar 2024 23:40:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323642; bh=HwmkPfGefzMCAlIIte66Zo11gpIVH+oat9lMPqJVMGA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d/9nmAoRmZZz0xnhLEIoXXe2ZF0YaKZqimfWD0aCfd7tTsdVHrxW5beCQytTKJDbo EkBX3EVNBh8GqPfepUQZnqD6s5CeRyz5Qs69LxrPECWrq4SPCfm/wG2uLENxMMlBQ9 Ub1HeKR6sZYxqp6WEN7urjhgNWE5ZBPQ9uFJMyFEePKzAwNLt3Ty6mR+0HjXd6dCkK q03/AuHhAoWoUgecDw4z6sjeskPGCD556k0g4zLWlb8ewrkgZ7QdoNokidJeQsV01T rRuJ626++4bh6NjYB7iPgddini5vXbW7galFwOspzwihL/VkbRSxtN9E+vKC2i9vcy E43k3mu3W+6kg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Hou Tao , Sohil Mehta , Alexei Starovoitov , Sasha Levin Subject: [PATCH 5.10 014/238] x86/mm: Move is_vsyscall_vaddr() into asm/vsyscall.h Date: Sun, 24 Mar 2024 19:36:42 -0400 Message-ID: <20240324234027.1354210-15-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Hou Tao [ Upstream commit ee0e39a63b78849f8abbef268b13e4838569f646 ] Move is_vsyscall_vaddr() into asm/vsyscall.h to make it available for copy_from_kernel_nofault_allowed() in arch/x86/mm/maccess.c. Reviewed-by: Sohil Mehta Signed-off-by: Hou Tao Link: https://lore.kernel.org/r/20240202103935.3154011-2-houtao@huaweicloud= .com Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/x86/include/asm/vsyscall.h | 10 ++++++++++ arch/x86/mm/fault.c | 9 --------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/arch/x86/include/asm/vsyscall.h b/arch/x86/include/asm/vsyscal= l.h index ab60a71a8dcb9..472f0263dbc61 100644 --- a/arch/x86/include/asm/vsyscall.h +++ b/arch/x86/include/asm/vsyscall.h @@ -4,6 +4,7 @@ =20 #include #include +#include =20 #ifdef CONFIG_X86_VSYSCALL_EMULATION extern void map_vsyscall(void); @@ -24,4 +25,13 @@ static inline bool emulate_vsyscall(unsigned long error_= code, } #endif =20 +/* + * The (legacy) vsyscall page is the long page in the kernel portion + * of the address space that has user-accessible permissions. + */ +static inline bool is_vsyscall_vaddr(unsigned long vaddr) +{ + return unlikely((vaddr & PAGE_MASK) =3D=3D VSYSCALL_ADDR); +} + #endif /* _ASM_X86_VSYSCALL_H */ diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index 9c1545c376e9b..cdb337cf92bae 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c @@ -781,15 +781,6 @@ show_signal_msg(struct pt_regs *regs, unsigned long er= ror_code, show_opcodes(regs, loglvl); } =20 -/* - * The (legacy) vsyscall page is the long page in the kernel portion - * of the address space that has user-accessible permissions. - */ -static bool is_vsyscall_vaddr(unsigned long vaddr) -{ - return unlikely((vaddr & PAGE_MASK) =3D=3D VSYSCALL_ADDR); -} - static void __bad_area_nosemaphore(struct pt_regs *regs, unsigned long error_code, unsigned long address, u32 pkey, int si_code) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2DA58179FA2; Sun, 24 Mar 2024 23:40:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323644; cv=none; b=sP06XrycjgMX7Hno66Kb2uVj4liiMIjSI1BSml0BA6hcKYhyQa/hRCnhB7pzCwYmsUtibIexYVSecOmtW2zhBuaugakAMKn3t2vF2T5Yz3p8u4dDa+f2dpbxujzAIqvLiiqBECcOMBe/QH9xp/SbKnz/OhMKjFgvTHJvr0Aos9o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323644; c=relaxed/simple; bh=Vo3k/UgoRrmyUGzlldwCCqinbenvGMIr4yM+BJI4MQQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ua+BRM5vBx5x4TyEDis89CyZs4DhH4ldDy7cxLNMOOc5VEE0BrxTr+Z9S9+P6GskaJtzFEQh21P5PxWhxyVFrLBRlYOaR4eVdtbO1jy9b6AGzChhD0yf46qQHIH3tfLYW3SaLq2YHxGOF7gWvrlFm88zFPrGQgQ8yuxMMNv36iQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WdZZWYVa; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WdZZWYVa" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0DA3FC43390; Sun, 24 Mar 2024 23:40:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323644; bh=Vo3k/UgoRrmyUGzlldwCCqinbenvGMIr4yM+BJI4MQQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WdZZWYVa03pnTKSTauywC6ZKM1vs1ORJSDzfD2NgCgP67SOPeWv7IYdgPkFQADqNU W/HfvopHNCnSkTzvcGAuCvBueu2uBEnjjbx4er6QH/ZrXhfsWnDObU/GdBnWEQLjFO VkFiXdPphBLYwMw4YdOFD7BfMOWhXHJWr+80EOkiWGhDTZpBk1qI6qeTV4EvtSPfP3 qgzbF23s4u5mWpzUg3Hr11wzuanRxx6BxDqGjWBrThLEeBZAavbgD5TLmXHvUKlacY vaj+vY2lBHFn5qWLb3XUchU+aMDKwZhLusHi1D6YHs3+tozEa52xhydLddI+NxjIJ2 rw2lBpfi4qdlw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Hou Tao , Thomas Gleixner , syzbot+72aa0161922eba61b50e@syzkaller.appspotmail.com, xingwei lee , Sohil Mehta , Alexei Starovoitov , Sasha Levin Subject: [PATCH 5.10 015/238] x86/mm: Disallow vsyscall page read for copy_from_kernel_nofault() Date: Sun, 24 Mar 2024 19:36:43 -0400 Message-ID: <20240324234027.1354210-16-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Hou Tao [ Upstream commit 32019c659ecfe1d92e3bf9fcdfbb11a7c70acd58 ] When trying to use copy_from_kernel_nofault() to read vsyscall page through a bpf program, the following oops was reported: BUG: unable to handle page fault for address: ffffffffff600000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 3231067 P4D 3231067 PUD 3233067 PMD 3235067 PTE 0 Oops: 0000 [#1] PREEMPT SMP PTI CPU: 1 PID: 20390 Comm: test_progs ...... 6.7.0+ #58 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996) ...... RIP: 0010:copy_from_kernel_nofault+0x6f/0x110 ...... Call Trace: ? copy_from_kernel_nofault+0x6f/0x110 bpf_probe_read_kernel+0x1d/0x50 bpf_prog_2061065e56845f08_do_probe_read+0x51/0x8d trace_call_bpf+0xc5/0x1c0 perf_call_bpf_enter.isra.0+0x69/0xb0 perf_syscall_enter+0x13e/0x200 syscall_trace_enter+0x188/0x1c0 do_syscall_64+0xb5/0xe0 entry_SYSCALL_64_after_hwframe+0x6e/0x76 ...... ---[ end trace 0000000000000000 ]--- The oops is triggered when: 1) A bpf program uses bpf_probe_read_kernel() to read from the vsyscall page and invokes copy_from_kernel_nofault() which in turn calls __get_user_asm(). 2) Because the vsyscall page address is not readable from kernel space, a page fault exception is triggered accordingly. 3) handle_page_fault() considers the vsyscall page address as a user space address instead of a kernel space address. This results in the fix-up setup by bpf not being applied and a page_fault_oops() is invoked due to SMAP. Considering handle_page_fault() has already considered the vsyscall page address as a userspace address, fix the problem by disallowing vsyscall page read for copy_from_kernel_nofault(). Originally-by: Thomas Gleixner Reported-by: syzbot+72aa0161922eba61b50e@syzkaller.appspotmail.com Closes: https://lore.kernel.org/bpf/CAG48ez06TZft=3DATH1qh2c5mpS5BT8UakwNkz= i6nvK5_djC-4Nw@mail.gmail.com Reported-by: xingwei lee Closes: https://lore.kernel.org/bpf/CABOYnLynjBoFZOf3Z4BhaZkc5hx_kHfsjiW+UW= LoB=3Dw33LvScw@mail.gmail.com Signed-off-by: Hou Tao Reviewed-by: Sohil Mehta Acked-by: Thomas Gleixner Link: https://lore.kernel.org/r/20240202103935.3154011-3-houtao@huaweicloud= .com Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/x86/mm/maccess.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/arch/x86/mm/maccess.c b/arch/x86/mm/maccess.c index 6993f026adec9..42115ac079cfe 100644 --- a/arch/x86/mm/maccess.c +++ b/arch/x86/mm/maccess.c @@ -3,6 +3,8 @@ #include #include =20 +#include + #ifdef CONFIG_X86_64 bool copy_from_kernel_nofault_allowed(const void *unsafe_src, size_t size) { @@ -15,6 +17,14 @@ bool copy_from_kernel_nofault_allowed(const void *unsafe= _src, size_t size) if (vaddr < TASK_SIZE_MAX + PAGE_SIZE) return false; =20 + /* + * Reading from the vsyscall page may cause an unhandled fault in + * certain cases. Though it is at an address above TASK_SIZE_MAX, it is + * usually considered as a user space address. + */ + if (is_vsyscall_vaddr(vaddr)) + return false; + /* * Allow everything during early boot before 'x86_virt_bits' * is initialized. Needed for instruction decoding in early --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 360D417967F; Sun, 24 Mar 2024 23:40:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323645; cv=none; b=MjVvE0LmlC2s/ELXjOJhWXletWlqJszKbOrM1rvtVSxaagshspANU9+osKo1VNRcS4WxRg2xzSPuKzfeLMdFhZCKZD+UuCtSm95Xr5oiWauRdAoCQ0UoQmGJGa59XRSQvvJXrZ6wmZLWJsX8fWBa0LLPTlvHkBSWX5+bCtCtaEs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323645; c=relaxed/simple; bh=/+JbcQspYtn1cfE7npVm5z6VSjqlZ5+MhDIb1KgxOJY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YTTkv0vLVUvNA4e7riS7lbuv2kRdff9lEvhRRQcW8pllVHAV2RAhxmrz3mVxADi0jzAqxzFLhvVdStaXIUkEud6n9BKKGj05cHkmJ8unCKxpiorVcwZXy8PMwGD7dDlPLOLHnvKP3vcKO1CRLoq9iKA3yU2FxTKkqLzp4Lu1ecQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XVvXBWys; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XVvXBWys" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 50D17C43399; Sun, 24 Mar 2024 23:40:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323645; bh=/+JbcQspYtn1cfE7npVm5z6VSjqlZ5+MhDIb1KgxOJY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XVvXBWysHVCmnjORrhPtsPlGZ5e4DgWatojRcitez5bo9f9XKIuNfmgHOmFevTIK3 bzfrfGeEOFdPx0XrRquGRiPuFu04BKb+CHqS5u2bmXaiuDZ23GlfzG+LTGv08jzzxM OcwQxcoeoHeSfEtRVo6CR1pq5vqaHk4qH2QhoTX3jnsQF3S1KAyIZ/SgArvg6h5bjW xBQQ2RJ+dMOIILg9XZz+FL6Ca4Ws/Hsf/5JA5oNOySKQWxbsHIyjuVGTE5/8cT2IlK 6m9wavPD//Vi95oXQ1NvDYTYhRg/fwOJYuYFiYKttorOdhcyG1ZC0VSJAWNwHKvFTJ FICoFq97AXC6Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Alexander Gordeev , Alexandra Winter , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 016/238] net/iucv: fix the allocation size of iucv_path_table array Date: Sun, 24 Mar 2024 19:36:44 -0400 Message-ID: <20240324234027.1354210-17-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alexander Gordeev [ Upstream commit b4ea9b6a18ebf7f9f3a7a60f82e925186978cfcf ] iucv_path_table is a dynamically allocated array of pointers to struct iucv_path items. Yet, its size is calculated as if it was an array of struct iucv_path items. Signed-off-by: Alexander Gordeev Reviewed-by: Alexandra Winter Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/iucv/iucv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/iucv/iucv.c b/net/iucv/iucv.c index 6f84978a77265..ed0dbdbba4d94 100644 --- a/net/iucv/iucv.c +++ b/net/iucv/iucv.c @@ -156,7 +156,7 @@ static char iucv_error_pathid[16] =3D "INVALID PATHID"; static LIST_HEAD(iucv_handler_list); =20 /* - * iucv_path_table: an array of iucv_path structures. + * iucv_path_table: array of pointers to iucv_path structures. */ static struct iucv_path **iucv_path_table; static unsigned long iucv_max_pathid; @@ -542,7 +542,7 @@ static int iucv_enable(void) =20 get_online_cpus(); rc =3D -ENOMEM; - alloc_size =3D iucv_max_pathid * sizeof(struct iucv_path); + alloc_size =3D iucv_max_pathid * sizeof(*iucv_path_table); iucv_path_table =3D kzalloc(alloc_size, GFP_KERNEL); if (!iucv_path_table) goto out; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1B530179FB0; Sun, 24 Mar 2024 23:40:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323647; cv=none; b=dX+hjyWBbFnLs1W6G5xYWH8Y46zxG2Y5ad8DSCsbH6WBFMBndiNwsHJOyI91VhilWFdj2m9euDMRTaR8UTuKj6ASnD/WEg/YWwlAjYKIjTcMlATU8VmYGHolOn8z/UUdm3NreROSmwMIweoZznCyQh8w1Sgzn0/JiaHvs5sseq8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323647; c=relaxed/simple; bh=Fg21IVBdDngt1etfWcnPSEvzp7Y5DXNt8psD2PSobPY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OMo+9XLUQaVug4SVtbIa3XVk9bFvwtqtFw7tZk5Z59DcFNiPLA1bnHjQetmQm3cBl+HlLPl/+vc+1ygDWTlx85M8hptL6rq/Zb19fyLDBc14hN4dULxBxZ8OpJ35iki35/JrpSrBTw9uk2dOqv8BYUJ5E8dse7uEnvo4rlaN6+c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=toZ1DJzr; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="toZ1DJzr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 51235C433C7; Sun, 24 Mar 2024 23:40:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323646; bh=Fg21IVBdDngt1etfWcnPSEvzp7Y5DXNt8psD2PSobPY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=toZ1DJzr/oAPjR7bv+gznv8iFYQTtX+5vpnQ33zAWbWclWK8avxJeP7L30ynIDxCp mGgC3qK5bjVBLF2nLi4HG+gjHvqA/EuqaDJBAYYQ7O/XXP3zpC+4RMzJ1nPL/HLZUA xQy8p42ZdG2THxnNOss1uS/AEOyaLg6bGkC77ktb+OZ32ulGjFLsDXpNIfITWlN1Ul kDFutl4fHHVt4DBJ5m90hG9ETo/r7pSTUqgcLU4Ocx6BaD/fIkTlsWVJmKmhXWf/Zy mzbdG8azNG+jm/Gr+Uxvm6DnO8tbCHhszS3eu4lweO0a+FZ7HqUiBMm47tYYYZIUJG ur+bYfi1ayTdQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Max Kellermann , Helge Deller , Sasha Levin Subject: [PATCH 5.10 017/238] parisc/ftrace: add missing CONFIG_DYNAMIC_FTRACE check Date: Sun, 24 Mar 2024 19:36:45 -0400 Message-ID: <20240324234027.1354210-18-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Max Kellermann [ Upstream commit 250f5402e636a5cec9e0e95df252c3d54307210f ] Fixes a bug revealed by -Wmissing-prototypes when CONFIG_FUNCTION_GRAPH_TRACER is enabled but not CONFIG_DYNAMIC_FTRACE: arch/parisc/kernel/ftrace.c:82:5: error: no previous prototype for 'ftrace= _enable_ftrace_graph_caller' [-Werror=3Dmissing-prototypes] 82 | int ftrace_enable_ftrace_graph_caller(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ arch/parisc/kernel/ftrace.c:88:5: error: no previous prototype for 'ftrace= _disable_ftrace_graph_caller' [-Werror=3Dmissing-prototypes] 88 | int ftrace_disable_ftrace_graph_caller(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Max Kellermann Signed-off-by: Helge Deller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/parisc/kernel/ftrace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/parisc/kernel/ftrace.c b/arch/parisc/kernel/ftrace.c index 63e3ecb9da812..8538425cc43e0 100644 --- a/arch/parisc/kernel/ftrace.c +++ b/arch/parisc/kernel/ftrace.c @@ -81,7 +81,7 @@ void notrace __hot ftrace_function_trampoline(unsigned lo= ng parent, #endif } =20 -#ifdef CONFIG_FUNCTION_GRAPH_TRACER +#if defined(CONFIG_DYNAMIC_FTRACE) && defined(CONFIG_FUNCTION_GRAPH_TRACER) int ftrace_enable_ftrace_graph_caller(void) { return 0; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F0F39179FB5; Sun, 24 Mar 2024 23:40:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323648; cv=none; b=juGK8dX/+SwGyF6BJNZOMmg635b6vcQdiUFeLQw4c7Lod4TDmMJJnz9ZosFUj3H1vbmBWGZrzwAoIltuZd8oDNTTm61zmo17MREdncbugoX+81kUx5eFyc9F7mnmD1FUb8O94sQEjvOGBv+HvJQY/nfgb51Sfd/zOWPcki9s0vc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323648; c=relaxed/simple; bh=/asW2tftmwjIBrAfKoCxa3oRNne3RxOit1L2BaOZ8Jg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MAw/rwmbEN4kLlRTuKnWwSJgJFRQELsBG80sBACX3RM3qFcWovjhE2CRcYNuokyu9Eqph4HjTgtF8PoV8d8mGRZ49DoFvg2Al2SIudM2q8MrB2ZsmXImrFpTqzEowfvQWbGSTRWhIHnJJLYy43KMB8HlurnS/iPJmva6JkcXIRA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jBa9bbE5; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jBa9bbE5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D68AC43394; Sun, 24 Mar 2024 23:40:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323646; bh=/asW2tftmwjIBrAfKoCxa3oRNne3RxOit1L2BaOZ8Jg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jBa9bbE5Oyrf7BlqoHreKOT3CDDJ8lG7TbT9+QTPwY4y5BWbhj0/9NqpO6qiRDNJJ iMBBivkjuMoEWA/pLR03VEpF4EXsTXRLZYF1d/HhwQ9BR4GthDJoIpa/hCAMjuMDJR NfLaMrBhUgBFvC8oxo2GR65F8SbYsjNY78S6LNEF5nHBZ12hKYWOCxUrlhxNEg57dG Oj57Zq+g15swndc8bxaob/I+OJLRu9eSEKVljfyJW34V9WOh7REsVp/3Fa6/of+vQ6 /GJWe6ii+jTrrQ7EsA49MZhiYbuyAGOs+msgffJ59pPQr01z9KoZBkMBTFiJ0S3HB6 S8yem5TvDPpoQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Greg Joyce , Jens Axboe , Sasha Levin Subject: [PATCH 5.10 018/238] block: sed-opal: handle empty atoms when parsing response Date: Sun, 24 Mar 2024 19:36:46 -0400 Message-ID: <20240324234027.1354210-19-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Greg Joyce [ Upstream commit 5429c8de56f6b2bd8f537df3a1e04e67b9c04282 ] The SED Opal response parsing function response_parse() does not handle the case of an empty atom in the response. This causes the entry count to be too high and the response fails to be parsed. Recognizing, but ignoring, empty atoms allows response handling to succeed. Signed-off-by: Greg Joyce Link: https://lore.kernel.org/r/20240216210417.3526064-2-gjoyce@linux.ibm.c= om Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- block/opal_proto.h | 1 + block/sed-opal.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/block/opal_proto.h b/block/opal_proto.h index b486b3ec7dc41..a50191bddbc26 100644 --- a/block/opal_proto.h +++ b/block/opal_proto.h @@ -66,6 +66,7 @@ enum opal_response_token { #define SHORT_ATOM_BYTE 0xBF #define MEDIUM_ATOM_BYTE 0xDF #define LONG_ATOM_BYTE 0xE3 +#define EMPTY_ATOM_BYTE 0xFF =20 #define OPAL_INVAL_PARAM 12 #define OPAL_MANUFACTURED_INACTIVE 0x08 diff --git a/block/sed-opal.c b/block/sed-opal.c index 0ac5a4f3f2261..00e4d23ac49e7 100644 --- a/block/sed-opal.c +++ b/block/sed-opal.c @@ -895,16 +895,20 @@ static int response_parse(const u8 *buf, size_t lengt= h, token_length =3D response_parse_medium(iter, pos); else if (pos[0] <=3D LONG_ATOM_BYTE) /* long atom */ token_length =3D response_parse_long(iter, pos); + else if (pos[0] =3D=3D EMPTY_ATOM_BYTE) /* empty atom */ + token_length =3D 1; else /* TOKEN */ token_length =3D response_parse_token(iter, pos); =20 if (token_length < 0) return token_length; =20 + if (pos[0] !=3D EMPTY_ATOM_BYTE) + num_entries++; + pos +=3D token_length; total -=3D token_length; iter++; - num_entries++; } =20 resp->num =3D num_entries; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F04C1179FBA; Sun, 24 Mar 2024 23:40:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323649; cv=none; b=GvK5XA6pyZFdJ5dKFY1iF0yyO2L4R1GPXbSIsLIg9pwu2aQ9uAeD7FBNyvdJKzVrJ8mt5rt2tY7vJD41R2Dgazcd4MQkg3g5TWsYBvt5GyLeBqgRhQdJOrpPDlPeNuDBU01E/+tzneETUay/6qIEELWrizs0eqiMbD+6vHn0wik= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323649; c=relaxed/simple; bh=rV1Chya9Fs80M7pKnqpi+2koMxxRjn3q/NRZJ9hXBPA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ELg98MuHKge83TQSmiUV32EPvR9pAVkyKuf/r04RkPzTdHiT5sNwKoRP96U+jFHvV4FIoKiG6waMUTpixhB6t3VB5+eBIBgYnmwsBiOqKNfttqbkhFLBCBL1TjpqutioDcEr6KG2OVpRewhjc9wzEk8NXrHsbOoBahDwMaA5yTw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=i/QUK6VT; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="i/QUK6VT" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 22F8DC43390; Sun, 24 Mar 2024 23:40:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323647; bh=rV1Chya9Fs80M7pKnqpi+2koMxxRjn3q/NRZJ9hXBPA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=i/QUK6VTo8/QzTfceR9d4rUZkvtx233wHaRlQaaqSWO4W4KjggP8qLxfkjFfGuJgl ARFxTnp2XOwseEFeOnqaO2/JD/Ef0+n74vY06psoC/PsUTHzvYeuehKXphqVBW0ua4 uoipSZL74M7WxZFbUq4X2O3OoVeb8/DhTuoNewAtWTCRM5daAbWLKN3td1mT9QdoCQ ZkH2wr6i5+B9/kFOoAYDIJphRRxtOJAo+qGyd85dQOJ25CXuEztn7M+CCxzWUdJNrW wmEa1wXsA941lpOBi5e0I2B6ssdm4EwDUtFO6g6piEAVJeOXzXyIo3aEJa8nE/iqsA 6RmTXYBl4o9Kw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mikulas Patocka , Mike Snitzer , Sasha Levin Subject: [PATCH 5.10 019/238] dm-verity, dm-crypt: align "struct bvec_iter" correctly Date: Sun, 24 Mar 2024 19:36:47 -0400 Message-ID: <20240324234027.1354210-20-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikulas Patocka [ Upstream commit 787f1b2800464aa277236a66eb3c279535edd460 ] "struct bvec_iter" is defined with the __packed attribute, so it is aligned on a single byte. On X86 (and on other architectures that support unaligned addresses in hardware), "struct bvec_iter" is accessed using the 8-byte and 4-byte memory instructions, however these instructions are less efficient if they operate on unaligned addresses. (on RISC machines that don't have unaligned access in hardware, GCC generates byte-by-byte accesses that are very inefficient - see [1]) This commit reorders the entries in "struct dm_verity_io" and "struct convert_context", so that "struct bvec_iter" is aligned on 8 bytes. [1] https://lore.kernel.org/all/ZcLuWUNRZadJr0tQ@fedora/T/ Signed-off-by: Mikulas Patocka Signed-off-by: Mike Snitzer Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/md/dm-crypt.c | 4 ++-- drivers/md/dm-verity.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index 5edcdcee91c23..5deda6c6fa2e7 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -48,11 +48,11 @@ struct convert_context { struct completion restart; struct bio *bio_in; - struct bio *bio_out; struct bvec_iter iter_in; + struct bio *bio_out; struct bvec_iter iter_out; - u64 cc_sector; atomic_t cc_pending; + u64 cc_sector; union { struct skcipher_request *req; struct aead_request *req_aead; diff --git a/drivers/md/dm-verity.h b/drivers/md/dm-verity.h index 78d1e51195ada..f61c89c79cf5b 100644 --- a/drivers/md/dm-verity.h +++ b/drivers/md/dm-verity.h @@ -74,11 +74,11 @@ struct dm_verity_io { /* original value of bio->bi_end_io */ bio_end_io_t *orig_bi_end_io; =20 + struct bvec_iter iter; + sector_t block; unsigned n_blocks; =20 - struct bvec_iter iter; - struct work_struct work; =20 /* --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DABC621EB7B; Sun, 24 Mar 2024 23:40:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323649; cv=none; b=LeR0NSFqI66IFw1x9yxmWY366y2DhLOKJR/GR+t/M0DOQufiMIzdYZV97VxDqpGVqoXzp6nLsVF4/kIyrQ1ZVEDpmMVRATcyxZIgvZMDey+XWsO3Ef8R7iGamr4D9g7qFiFMkUXuLGs3EUEd8i9MwvJEdcxa7i4tUJxydKX1aAk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323649; c=relaxed/simple; bh=f2qTjhmMz1jFyOTLwRJOYcWLeZ31+lsP1caQS8kVENw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=o76yP33KF/Kx2/doHwzX4zpcEyGOY3w1tb82nW503VUQx6zgm9KMxao37nPFdMAGeH4cL8sot0O+EM/MYfGGiNamoBDmvS7IvMQHnyrKG8aH6RYxs4Tybr7i3qZCsbHy1L0K49eiFlzC2LIxNO+7b5viP/PQ5T3I0mg26LtkRzM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AOoEruAj; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AOoEruAj" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2260EC43394; Sun, 24 Mar 2024 23:40:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323648; bh=f2qTjhmMz1jFyOTLwRJOYcWLeZ31+lsP1caQS8kVENw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AOoEruAjkPwNAM8jxcD2V5MiuZo3nCq8pcUy7dgmw9R6g7Ypbu4bhn/k7wt/edsUh jWu84sCoNCZw0BzrNxTjNt1wLwA5aDRwy/GPc+O4Ah1qBwdDerPen/BEGiwVXOex4c ZdgTIz4pXf/QC8nqSW8YhJv0y6LrXfxU1dxq7zuoNO6ruxEZc3aRPeeAIZkxHtaxP4 TB7WV+1nN3zHA+HGcwv5CD4keqJyAdh5dVpe9swaHa/R2RLWalx5pLpoN8cBsjz5Cp BZGroi6OWnaOkBv84HTiHMRGbIDENcwUVhg+cIYxYeSrumWg52SgUqMB34O9dhYwMt 5FObvUCrwbzmg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ranjan Kumar , "Martin K . Petersen" , Sasha Levin Subject: [PATCH 5.10 020/238] scsi: mpt3sas: Prevent sending diag_reset when the controller is ready Date: Sun, 24 Mar 2024 19:36:48 -0400 Message-ID: <20240324234027.1354210-21-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ranjan Kumar [ Upstream commit ee0017c3ed8a8abfa4d40e42f908fb38c31e7515 ] If the driver detects that the controller is not ready before sending the first IOC facts command, it will wait for a maximum of 10 seconds for it to become ready. However, even if the controller becomes ready within 10 seconds, the driver will still issue a diagnostic reset. Modify the driver to avoid sending a diag reset if the controller becomes ready within the 10-second wait time. Signed-off-by: Ranjan Kumar Link: https://lore.kernel.org/r/20240221071724.14986-1-ranjan.kumar@broadco= m.com Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/scsi/mpt3sas/mpt3sas_base.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt= 3sas_base.c index 814ac25238058..105d781d0cacf 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_base.c +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c @@ -6357,7 +6357,9 @@ _base_wait_for_iocstate(struct MPT3SAS_ADAPTER *ioc, = int timeout) return -EFAULT; } =20 - issue_diag_reset: + return 0; + +issue_diag_reset: rc =3D _base_diag_reset(ioc); return rc; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C2F48179FBD; Sun, 24 Mar 2024 23:40:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323649; cv=none; b=fK9HfEEAdsAzfKhw4LikKtLBIc5Dv/6CdI6Aiyg3cvCt9QwZfLYjHP1HBmDLX9nD2jXW5tHqj2wJ4HmxNuMGpsYijLKXjzJ+Ek1S4Z/+Z1RR8xvRuZ7EaXcU1E9832RovSd/xpsTUKZtJyTOTxgPkuTVP14kw+xOrceQoibijv8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323649; c=relaxed/simple; bh=Du80a8081lcmLcIyq1r2JOmgELaCBxEoYXMTEtF6bGQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J7WMEBdDhZrXZUdUq8CpYoOE/jdLCD4pJkrgWkPufn88mzAxIkKeA3oL3sys9AnuUFGL5zPBGqbSb9EjUcEcmDwu0KtXmdhWYWGhhVsHVr8UVt46QHI4g+Yz9hk+hm2MvNtCMpIba8MG/qaOThFIiXNzr0VlAAaORtmEiecakpM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kXZL/o7I; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kXZL/o7I" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0D1A2C433C7; Sun, 24 Mar 2024 23:40:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323649; bh=Du80a8081lcmLcIyq1r2JOmgELaCBxEoYXMTEtF6bGQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kXZL/o7IT25/uBFUTxGGnKVy1i7IIJO/iGfzogMkVm9W5RG/V8mC5rcXydJSOCKce DrsvMU2z2iHm5ZLvaSaph4UsLEEqNetSX2+7LUUzrWRKx0pjVgTFHwVnUUNAIo8UvK SzZWUN9OM7ljQCArGpalsIp0+rWXPdl8McjjxAhmmmsxSeSAY1eN7JlSRmK47UKLwA v7JKYatbQTEFzpghkwQAT8ftEgDX9hpwaZBTH+mm0yRFpn9S2x5Ox057QHsOIjFwuw +lNxWV69WtuBkOCCSrFeMbxIonUMAfv4nvEv9QMeZOnC76o4wdOKGj7AXDZCNOG4/p m8TRXxNNCDb4A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Yuxuan Hu <20373622@buaa.edu.cn>, Luiz Augusto von Dentz , Sasha Levin Subject: [PATCH 5.10 021/238] Bluetooth: rfcomm: Fix null-ptr-deref in rfcomm_check_security Date: Sun, 24 Mar 2024 19:36:49 -0400 Message-ID: <20240324234027.1354210-22-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yuxuan Hu <20373622@buaa.edu.cn> [ Upstream commit 2535b848fa0f42ddff3e5255cf5e742c9b77bb26 ] During our fuzz testing of the connection and disconnection process at the RFCOMM layer, we discovered this bug. By comparing the packets from a normal connection and disconnection process with the testcase that triggered a KASAN report. We analyzed the cause of this bug as follows: 1. In the packets captured during a normal connection, the host sends a `Read Encryption Key Size` type of `HCI_CMD` packet (Command Opcode: 0x1408) to the controller to inquire the length of encryption key.After receiving this packet, the controller immediately replies with a Command Completepacket (Event Code: 0x0e) to return the Encryption Key Size. 2. In our fuzz test case, the timing of the controller's response to this packet was delayed to an unexpected point: after the RFCOMM and L2CAP layers had disconnected but before the HCI layer had disconnected. 3. After receiving the Encryption Key Size Response at the time described in point 2, the host still called the rfcomm_check_security function. However, by this time `struct l2cap_conn *conn =3D l2cap_pi(sk)->chan->conn= ;` had already been released, and when the function executed `return hci_conn_security(conn->hcon, d->sec_level, auth_type, d->out);`, specifically when accessing `conn->hcon`, a null-ptr-deref error occurred. To fix this bug, check if `sk->sk_state` is BT_CLOSED before calling rfcomm_recv_frame in rfcomm_process_rx. Signed-off-by: Yuxuan Hu <20373622@buaa.edu.cn> Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/bluetooth/rfcomm/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c index 8d6fce9005bdd..4f54c7df3a94f 100644 --- a/net/bluetooth/rfcomm/core.c +++ b/net/bluetooth/rfcomm/core.c @@ -1937,7 +1937,7 @@ static struct rfcomm_session *rfcomm_process_rx(struc= t rfcomm_session *s) /* Get data directly from socket receive queue without copying it. */ while ((skb =3D skb_dequeue(&sk->sk_receive_queue))) { skb_orphan(skb); - if (!skb_linearize(skb)) { + if (!skb_linearize(skb) && sk->sk_state !=3D BT_CLOSED) { s =3D rfcomm_recv_frame(s, skb); if (!s) break; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A8AEB17A365; Sun, 24 Mar 2024 23:40:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323651; cv=none; b=DrWTGV0JnOh7dq6NBPjXefISBYXN4gkmuy8tqFpEul2JzA0ptw5tuRcjuCJvUROvvNkEuxt5G+pkfVg0dMfWEudBzgZxWIPI91vhbjqwTnOQpSYOfAxQYbrjn0K22i3HwDSYZLzAR4W4mny5YJD/e6WccUBa6SsdZuWJoIIXa9M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323651; c=relaxed/simple; bh=gAqdm49DZG7gHX8FLf99AYsnKM/Po+UYbJY+eyoQle0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VquZZUW42xAo/cBYhgYDx49G55/elXztCTNWzsmsf4tK3fZmgYbQCfzBcUFaqj4xbEmTPGUl766QYE0lCfbKt0nChTsgLal0vyngU/1ugWjZskYM5rQrAOgnHltOQvMe53HoOC2hOUVSKKhubcFgCVD6F4/uZOgqJy3eZec8GPE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=obJc/MRj; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="obJc/MRj" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8725C43399; Sun, 24 Mar 2024 23:40:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323650; bh=gAqdm49DZG7gHX8FLf99AYsnKM/Po+UYbJY+eyoQle0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=obJc/MRjcgkA+mllmrww6+1G284TlnEyeBKJuJvyxJiDaWBAAvKAyA0LM7cX8A6ZZ E7qvzlULLrXuZR4hymU5avc7pUEE6Fl6tng9xg0DLLJRWZIWpN36v1x0M0oJUjwBWs Xl/IhXvU5ypFYqcCOgxRpstMurGAgHN59FE+sLKUMD7I6PIRc1dSKQPl+WKB4BxlkG YI78YirwGVZ/D2OL5XR7kH3HsQoQU8z5Ui+hCWk85W3V6C5v+1jrkK6S8U8kVJ1V6T MOnHJG1rwXaZChjQIFNmjWqnmCKEvu/DZMOeEhVWfYOHYfNny9lmkWsWP8mBizUCeY CP+oYXhwwgQJw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Takashi Sakamoto , Adam Goldman , Sasha Levin Subject: [PATCH 5.10 022/238] firewire: core: use long bus reset on gap count error Date: Sun, 24 Mar 2024 19:36:50 -0400 Message-ID: <20240324234027.1354210-23-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Takashi Sakamoto [ Upstream commit d0b06dc48fb15902d7da09c5c0861e7f042a9381 ] When resetting the bus after a gap count error, use a long rather than short bus reset. IEEE 1394-1995 uses only long bus resets. IEEE 1394a adds the option of short bus resets. When video or audio transmission is in progress and a device is hot-plugged elsewhere on the bus, the resulting bus reset can cause video frame drops or audio dropouts. Short bus resets reduce or eliminate this problem. Accordingly, short bus resets are almost always preferred. However, on a mixed 1394/1394a bus, a short bus reset can trigger an immediate additional bus reset. This double bus reset can be interpreted differently by different nodes on the bus, resulting in an inconsistent gap count after the bus reset. An inconsistent gap count will cause another bus reset, leading to a neverending bus reset loop. This only happens for some bus topologies, not for all mixed 1394/1394a buses. By instead sending a long bus reset after a gap count inconsistency, we avoid the doubled bus reset, restoring the bus to normal operation. Signed-off-by: Adam Goldman Link: https://sourceforge.net/p/linux1394/mailman/message/58741624/ Signed-off-by: Takashi Sakamoto Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/firewire/core-card.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/drivers/firewire/core-card.c b/drivers/firewire/core-card.c index be195ba834632..d446a72629414 100644 --- a/drivers/firewire/core-card.c +++ b/drivers/firewire/core-card.c @@ -500,7 +500,19 @@ static void bm_work(struct work_struct *work) fw_notice(card, "phy config: new root=3D%x, gap_count=3D%d\n", new_root_id, gap_count); fw_send_phy_config(card, new_root_id, generation, gap_count); - reset_bus(card, true); + /* + * Where possible, use a short bus reset to minimize + * disruption to isochronous transfers. But in the event + * of a gap count inconsistency, use a long bus reset. + * + * As noted in 1394a 8.4.6.2, nodes on a mixed 1394/1394a bus + * may set different gap counts after a bus reset. On a mixed + * 1394/1394a bus, a short bus reset can get doubled. Some + * nodes may treat the double reset as one bus reset and others + * may treat it as two, causing a gap count inconsistency + * again. Using a long bus reset prevents this. + */ + reset_bus(card, card->gap_count !=3D 0); /* Will allocate broadcast channel after the reset. */ goto out; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA9B517A36C; Sun, 24 Mar 2024 23:40:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323652; cv=none; b=NX3vIaXQzQPl1+Z/lp48wkNvvYa1BbbbYkjXpMZ22u/dxUujAj3d7m+o0yuq7Y0ThzbJMmz2O5wIzdqKCbLNW56jkFDawY9ZXYra8yd/yfs2hb/44p1skjzs9xdWRRrYuAE78FDxbVZN1wUSI4igCtVSaOe7zZoV1U/u9WxQ0lk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323652; c=relaxed/simple; bh=coEL8lDz0ZfUwW77qKN9jj5CS3Zu6IpXoXG/Xg5cYHM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=iY8KaHjsIZH0GrN8lo5i/irLYaDpHTIQ2Lhz3Dof0S67b8ku+XAabIqZLMI2lwikOUNUra95RcuX9zzgrlGNkpze/40UVMU9qrRpS42bZ4nkoSsGbbiNjbsx2fWqCgztj8++GBWlsP3wp0954ZC2WXXISQxvzqlArSaLbpLWhYs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=okIQzQYK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="okIQzQYK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D18DAC433F1; Sun, 24 Mar 2024 23:40:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323651; bh=coEL8lDz0ZfUwW77qKN9jj5CS3Zu6IpXoXG/Xg5cYHM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=okIQzQYKpRxkvVhPTLDn9fGeaXSEX7CfXkoXATQOZhSDxLS6YuKqs+43c/ssRRqbq TeyDSW80zsdj8R/yPdm1AwjEB4uyWnwVDk1b0kokMSb9oEe88g8z6vD5XCltpbYWhU sk81pTE9gOXN2SFW5x8ZRtK+1YwdOD5+9wdG7LOsIKJdflfwfFn88Nlhgy+wzv4bRl JcZYc206OflDyMKCfdmXIqWkmITBe3NU0e+/rHdhBs4KOq8UkcER1a2t0FW8o3kqKC 3wBvQ3JvDEThfp0bIMZ38hpNjEplreaA05MV8/kh8uFZjhPEbSwVFeZncUHqkZNaaq EUTBfZa8izIFw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Alban=20Boy=C3=A9?= , Cezary Rojewski , Pierre-Louis Bossart , Mark Brown , Sasha Levin Subject: [PATCH 5.10 023/238] ASoC: Intel: bytcr_rt5640: Add an extra entry for the Chuwi Vi8 tablet Date: Sun, 24 Mar 2024 19:36:51 -0400 Message-ID: <20240324234027.1354210-24-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Alban Boy=C3=A9 [ Upstream commit f8b0127aca8c60826e7354e504a12d4a46b1c3bb ] The bios version can differ depending if it is a dual-boot variant of the t= ablet. Therefore another DMI match is required. Signed-off-by: Alban Boy=C3=A9 Reviewed-by: Cezary Rojewski Acked-by: Pierre-Louis Bossart Link: https://msgid.link/r/20240228192807.15130-1-alban.boye@protonmail.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/intel/boards/bytcr_rt5640.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards= /bytcr_rt5640.c index f5b1b3b876980..1d049685e7075 100644 --- a/sound/soc/intel/boards/bytcr_rt5640.c +++ b/sound/soc/intel/boards/bytcr_rt5640.c @@ -529,6 +529,18 @@ static const struct dmi_system_id byt_rt5640_quirk_tab= le[] =3D { BYT_RT5640_SSP0_AIF1 | BYT_RT5640_MCLK_EN), }, + { /* Chuwi Vi8 dual-boot (CWI506) */ + .matches =3D { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Insyde"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "i86"), + /* The above are too generic, also match BIOS info */ + DMI_MATCH(DMI_BIOS_VERSION, "CHUWI2.D86JHBNR02"), + }, + .driver_data =3D (void *)(BYTCR_INPUT_DEFAULTS | + BYT_RT5640_MONO_SPEAKER | + BYT_RT5640_SSP0_AIF1 | + BYT_RT5640_MCLK_EN), + }, { /* Chuwi Vi10 (CWI505) */ .matches =3D { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C79F717A36A; Sun, 24 Mar 2024 23:40:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323652; cv=none; b=Iru3fVdOBRZvgwJ0+8F1Inbjt1+Cju3FfGD/ZNGYzipSIWBRcSRlcTlJTAE7O9zUqh6QB5E8+lgbz4lDUCuhJZKcRN+twjkrk2zJInxUTeENQZ0DnWKvPS4PUafFsm61s7JQYtPuEYITox5/X0DjJum/9ySY7yQJqIGvB61/yIw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323652; c=relaxed/simple; bh=YEz4yne20Y+PXJLPWPogO6ruSXDx1kKR8hKUaO0QDu8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=PqY0k39/BYLUVpwRCuXJadcDYiu12XzZe/Uafn8KzhfzqqrCoqwsIe9oDeXAOlVF9BY3R2LoxHQ2axGjhG1MJQT/uiKxJVMq170Z6W9uCEHoXcGgLU0b7bVzYhccDst8obXtg/h941V7/46sBH+MeLAvOK3I3BK7h//VYR7JbU8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CUO3XcNI; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="CUO3XcNI" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EC833C433C7; Sun, 24 Mar 2024 23:40:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323652; bh=YEz4yne20Y+PXJLPWPogO6ruSXDx1kKR8hKUaO0QDu8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CUO3XcNI6fEqHqNlbPCqkke34sA+455eUNfFW766WWkTXoRwaNpkjSKuqZo9MA75o NRLBIDRJrrDn7x4LdeeG7lKtkwN1x/qYsHCqXJ01q5mMZJNQbacF9AM0ttyxQM2fBA H/yO+GpfODctYGkxRBpRHqV5VFdUYljPhrusn4pzWRy2+ohOpxK66kiOjfsoWmDQx/ 7BXTP67wu8ub9EGRA1gz2KKmwwlQT0TkBqp679VxONpzscajPRllMLevA7krZafzDe 1c8ClYlgXVoB5MRGL0ioqvD6lHTfQ5FM0vM5HckMlOw3faoyjMfCax/9wtmre2fvZa BKLXX4OOmvn3Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= , Linus Walleij , Dmitry Torokhov , Sasha Levin Subject: [PATCH 5.10 024/238] Input: gpio_keys_polled - suppress deferred probe error for gpio Date: Sun, 24 Mar 2024 19:36:52 -0400 Message-ID: <20240324234027.1354210-25-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Uwe Kleine-K=C3=B6nig [ Upstream commit 963465a33141d0d52338e77f80fe543d2c9dc053 ] On a PC Engines APU our admins are faced with: $ dmesg | grep -c "gpio-keys-polled gpio-keys-polled: unable to claim gpio= 0, err=3D-517" 261 Such a message always appears when e.g. a new USB device is plugged in. Suppress this message which considerably clutters the kernel log for EPROBE_DEFER (i.e. -517). Signed-off-by: Uwe Kleine-K=C3=B6nig Reviewed-by: Linus Walleij Link: https://lore.kernel.org/r/20240305101042.10953-2-u.kleine-koenig@peng= utronix.de Signed-off-by: Dmitry Torokhov Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/input/keyboard/gpio_keys_polled.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/input/keyboard/gpio_keys_polled.c b/drivers/input/keyb= oard/gpio_keys_polled.c index c3937d2fc7446..a0f9978c68f55 100644 --- a/drivers/input/keyboard/gpio_keys_polled.c +++ b/drivers/input/keyboard/gpio_keys_polled.c @@ -319,12 +319,10 @@ static int gpio_keys_polled_probe(struct platform_dev= ice *pdev) =20 error =3D devm_gpio_request_one(dev, button->gpio, flags, button->desc ? : DRV_NAME); - if (error) { - dev_err(dev, - "unable to claim gpio %u, err=3D%d\n", - button->gpio, error); - return error; - } + if (error) + return dev_err_probe(dev, error, + "unable to claim gpio %u\n", + button->gpio); =20 bdata->gpiod =3D gpio_to_desc(button->gpio); if (!bdata->gpiod) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A9E5F17A379; Sun, 24 Mar 2024 23:40:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323654; cv=none; b=HOjXOvV2BSZiaeyZJ2W8LrXY/H1iDJxgznuV0CwLl9cLCAGfToWNYqwcNNPV3f95vrh4/YCieD78NlbcmPu2PGQlm1ZTYCqjgHj6F/aEjFabhu10v00+hT+Nq4TfPJQ5AlWvpYrM4TxLf/eNY/2xHdDBo+H5brrycx2p+slY7PI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323654; c=relaxed/simple; bh=Gp9IO464KiE0GU2Yx/UvzMNFMfeX7usV3cGwqZ/sgbY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fWdJaW1sabZph0gC/RDJLdIUaPo2F4XGxVEjW7fxm2LDt4h3g2xyxrqGCK7ZezmuOjtNg0bQJe6Ll1IRoC9ahmtt+rpgbXgGcMVjSAFzbrQs9sa1tMfBufAsRdVBuI0e3vR48Mm6rFNb8UUrC3R2VUbJtX9zgeMhn2SvmCDMMuc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RJ84GMna; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="RJ84GMna" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EBE46C43390; Sun, 24 Mar 2024 23:40:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323653; bh=Gp9IO464KiE0GU2Yx/UvzMNFMfeX7usV3cGwqZ/sgbY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RJ84GMnaEsRdo6kw+J5yOj5MnK/Qp7TFhGjVVfgSv7gll09zXX1HPWEnysEzzE1qX zWTWUqt54gdwGdBiBJLmkeDliSIOp31da03RddQa7tbYRtlT0WhpkAm+j6Dyo19zBk sx/GSEN7aSU6ql/zRJErPaHUnW2X1t8Sf3L5ilzWuxB3nKsIhGc27kK9VBwL6V+0fW 26mVxWMJ4NACcFbMgPA2Y8haqwkPVQ07si8L8TL5DBSrDKN0fdhSHfag8xb1GS5WHm nk7sz8oeLaTwS1GnPiwjqgwKXKEG5qyxBONe/uKn+oE+hr3sMO1iYBoOJwqDr2q7r8 uBFPJhqbNq7Vg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Stuart Henderson , Mark Brown , Sasha Levin Subject: [PATCH 5.10 025/238] ASoC: wm8962: Enable oscillator if selecting WM8962_FLL_OSC Date: Sun, 24 Mar 2024 19:36:53 -0400 Message-ID: <20240324234027.1354210-26-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stuart Henderson [ Upstream commit 03c7874106ca5032a312626b927b1c35f07b1f35 ] Signed-off-by: Stuart Henderson Link: https://msgid.link/r/20240306161439.1385643-1-stuarth@opensource.cirr= us.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/codecs/wm8962.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 57aeded978c28..d6efc85f966b0 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -2898,8 +2898,12 @@ static int wm8962_set_fll(struct snd_soc_component *= component, int fll_id, int s switch (fll_id) { case WM8962_FLL_MCLK: case WM8962_FLL_BCLK: + fll1 |=3D (fll_id - 1) << WM8962_FLL_REFCLK_SRC_SHIFT; + break; case WM8962_FLL_OSC: fll1 |=3D (fll_id - 1) << WM8962_FLL_REFCLK_SRC_SHIFT; + snd_soc_component_update_bits(component, WM8962_PLL2, + WM8962_OSC_ENA, WM8962_OSC_ENA); break; case WM8962_FLL_INT: snd_soc_component_update_bits(component, WM8962_FLL_CONTROL_1, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9384217A37B; Sun, 24 Mar 2024 23:40:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323655; cv=none; b=SmCp/cK0Jnjx2MleUP0L/Qbf4roVPnBylpM1qR1M7RNvOk77RY2o2BzDILIf5a8G5MpSsynwDlkVRgzpjbM7E2sMvmw/hIP9zl9NDOzWbFqS0a2OEIYr1VMZzdVhs1wlM1MkEHZ2LfNDAka1eodxxySPOpcQIDh0v+kj+4i/pAY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323655; c=relaxed/simple; bh=Cjgf2sMW+/k4oUUOWGb0uZEJXtYf0V9CBZX0SvVIgmo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GEtsgw3zFg1Bw+cNABRup6dzAOkS4dRreOib0UmCgMs9NGKXBXyjKAt/RIfGehgTVqQ++QQWmMIKFLSRrjaM+DdJboMd/Xwsgw5KyUcSDKIU6du3micvPHmd+EFysir0WbLHgAKgjtCIp1Lyg2vUm3nYZJbybclNc7Cdjwhof8c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TZgoMHDq; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TZgoMHDq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CE5AAC433C7; Sun, 24 Mar 2024 23:40:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323654; bh=Cjgf2sMW+/k4oUUOWGb0uZEJXtYf0V9CBZX0SvVIgmo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TZgoMHDqRvFfwMupmRvVHVv+DjYcaBCM590RBUf8ztiX/WKau2XydHOI+QQA6PIR9 u8CwilfLlUTlVNzl/IbHjRAfZESCWgAnEhijLMOHo87EV2tQXmzKoKo7kliCh6VI4C ZZG/BtgVBhR5AWV32FK5aAUvM4CapED6qxPj8DFVCTMwBORIOEzv3x449ALyeenGSw 0XE8EKS8TrGHOB8ggQEhxytvRQJI4014rWcD2Tb52lSq/xTPRDJ/2NtpUeHPfTNtDu 1nMN0q/Tdgw5VlKskiOW9SFKOpxg1aZWMwfAa4JhetCTpjUena5/CVNPcanexggG1y nQSbcE5WPp4Gg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Stuart Henderson , Mark Brown , Sasha Levin Subject: [PATCH 5.10 026/238] ASoC: wm8962: Enable both SPKOUTR_ENA and SPKOUTL_ENA in mono mode Date: Sun, 24 Mar 2024 19:36:54 -0400 Message-ID: <20240324234027.1354210-27-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stuart Henderson [ Upstream commit 6fa849e4d78b880e878138bf238e4fd2bac3c4fa ] Signed-off-by: Stuart Henderson Link: https://msgid.link/r/20240306161439.1385643-2-stuarth@opensource.cirr= us.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/codecs/wm8962.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index d6efc85f966b0..030471248e0e4 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -2219,6 +2219,9 @@ SND_SOC_DAPM_PGA_E("HPOUT", SND_SOC_NOPM, 0, 0, NULL,= 0, hp_event, =20 SND_SOC_DAPM_OUTPUT("HPOUTL"), SND_SOC_DAPM_OUTPUT("HPOUTR"), + +SND_SOC_DAPM_PGA("SPKOUTL Output", WM8962_CLASS_D_CONTROL_1, 6, 0, NULL, 0= ), +SND_SOC_DAPM_PGA("SPKOUTR Output", WM8962_CLASS_D_CONTROL_1, 7, 0, NULL, 0= ), }; =20 static const struct snd_soc_dapm_widget wm8962_dapm_spk_mono_widgets[] =3D= { @@ -2226,7 +2229,6 @@ SND_SOC_DAPM_MIXER("Speaker Mixer", WM8962_MIXER_ENAB= LES, 1, 0, spkmixl, ARRAY_SIZE(spkmixl)), SND_SOC_DAPM_MUX_E("Speaker PGA", WM8962_PWR_MGMT_2, 4, 0, &spkoutl_mux, out_pga_event, SND_SOC_DAPM_POST_PMU), -SND_SOC_DAPM_PGA("Speaker Output", WM8962_CLASS_D_CONTROL_1, 7, 0, NULL, 0= ), SND_SOC_DAPM_OUTPUT("SPKOUT"), }; =20 @@ -2241,9 +2243,6 @@ SND_SOC_DAPM_MUX_E("SPKOUTL PGA", WM8962_PWR_MGMT_2, = 4, 0, &spkoutl_mux, SND_SOC_DAPM_MUX_E("SPKOUTR PGA", WM8962_PWR_MGMT_2, 3, 0, &spkoutr_mux, out_pga_event, SND_SOC_DAPM_POST_PMU), =20 -SND_SOC_DAPM_PGA("SPKOUTR Output", WM8962_CLASS_D_CONTROL_1, 7, 0, NULL, 0= ), -SND_SOC_DAPM_PGA("SPKOUTL Output", WM8962_CLASS_D_CONTROL_1, 6, 0, NULL, 0= ), - SND_SOC_DAPM_OUTPUT("SPKOUTL"), SND_SOC_DAPM_OUTPUT("SPKOUTR"), }; @@ -2353,12 +2352,18 @@ static const struct snd_soc_dapm_route wm8962_spk_m= ono_intercon[] =3D { { "Speaker PGA", "Mixer", "Speaker Mixer" }, { "Speaker PGA", "DAC", "DACL" }, =20 - { "Speaker Output", NULL, "Speaker PGA" }, - { "Speaker Output", NULL, "SYSCLK" }, - { "Speaker Output", NULL, "TOCLK" }, - { "Speaker Output", NULL, "TEMP_SPK" }, + { "SPKOUTL Output", NULL, "Speaker PGA" }, + { "SPKOUTL Output", NULL, "SYSCLK" }, + { "SPKOUTL Output", NULL, "TOCLK" }, + { "SPKOUTL Output", NULL, "TEMP_SPK" }, + + { "SPKOUTR Output", NULL, "Speaker PGA" }, + { "SPKOUTR Output", NULL, "SYSCLK" }, + { "SPKOUTR Output", NULL, "TOCLK" }, + { "SPKOUTR Output", NULL, "TEMP_SPK" }, =20 - { "SPKOUT", NULL, "Speaker Output" }, + { "SPKOUT", NULL, "SPKOUTL Output" }, + { "SPKOUT", NULL, "SPKOUTR Output" }, }; =20 static const struct snd_soc_dapm_route wm8962_spk_stereo_intercon[] =3D { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7CFC617A382; Sun, 24 Mar 2024 23:40:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323656; cv=none; b=nTQM/X1wUmZneMFNmWGgwQl4JvxIX/DZrl50Ex+S8NQ32k9sxIG6V12iX+f7mvyaVRRpLp8SbU51jdQkypUVrXqm9+OE+u4rxRyQBB0/flOQiDYT8ugsYw0gabSrqxqvnw1KiVcHC46BW9cmU6z0T3PehVsBTbZwxy7u8pkG7mc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323656; c=relaxed/simple; bh=iu26nAz5LeR10kqCU52zW6G6ji5s+n5Q4x2xWSNy2VA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=le0I0NnrpMtAr0NuON4WSLBW91y0y2pn2Ow336F2qavNIfaJMf00tuG8HvfdBnx7SgQwl8qrt0LvVPdu3Y0+fDwQ6zHo7SFMA+3iZ7thK3cJavdZjLWKN2zEH+ZfuR5brvFrXXc540mniFQlqUCqAU72LiwWX2pKU7eTflUiaJs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Dy/9QRGu; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Dy/9QRGu" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B7274C43394; Sun, 24 Mar 2024 23:40:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323655; bh=iu26nAz5LeR10kqCU52zW6G6ji5s+n5Q4x2xWSNy2VA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Dy/9QRGun6yb9JlUBh3VcEBYX2/q1fOh1scaPDatNdj5gzVGuh406yHIRcin+KMO4 ebCY7dzmY51eO3/ZUWafJYtE7ydXMpUwF+UPFUOxH1Guvpzd6TLKIJGACQFV3Wymik Db5PkRbcTACPvChRxlbqPY1IchN4BjMG9qbfGqJh90/VQ1YbWq3FZHbGdVZCQyQB+u 4ahngzhsCgPQ1eZh3Hy44W2OQfZucA8gbsiibGqpAij3si07/dilSwOZGPNUeFWWtX eiIE2t1YJEV6oZcU+SLTIVyzUdsr7cOWG55hZ34PrVuW7OZ3FQP3ASklKePM/TJbjw q92pyrTTNU36g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Stuart Henderson , Mark Brown , Sasha Levin Subject: [PATCH 5.10 027/238] ASoC: wm8962: Fix up incorrect error message in wm8962_set_fll Date: Sun, 24 Mar 2024 19:36:55 -0400 Message-ID: <20240324234027.1354210-28-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stuart Henderson [ Upstream commit 96e202f8c52ac49452f83317cf3b34cd1ad81e18 ] Use source instead of ret, which seems to be unrelated and will always be zero. Signed-off-by: Stuart Henderson Link: https://msgid.link/r/20240306161439.1385643-5-stuarth@opensource.cirr= us.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/codecs/wm8962.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c index 030471248e0e4..272932e200d87 100644 --- a/sound/soc/codecs/wm8962.c +++ b/sound/soc/codecs/wm8962.c @@ -2917,7 +2917,7 @@ static int wm8962_set_fll(struct snd_soc_component *c= omponent, int fll_id, int s WM8962_FLL_FRC_NCO, WM8962_FLL_FRC_NCO); break; default: - dev_err(component->dev, "Unknown FLL source %d\n", ret); + dev_err(component->dev, "Unknown FLL source %d\n", source); return -EINVAL; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6B2A617A387; Sun, 24 Mar 2024 23:40:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323657; cv=none; b=Ar9TDigdg/Gp40/A4/RlDX1XMl/wuEaKXHJgCfMrqz+bCA05b1xUR/+Uk1kWx7S58oGs8Epx5bLY0jYVH6ahn/ADfkho9G8Y1Wpn9XzyKkWO0G2WLz2LxZ0i221KvLzZ7GWdBDedq8BOr0s6Or6mMhuZkl4KhYaL7YFODoK2KxM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323657; c=relaxed/simple; bh=h4lItqMeOzYnNgZPMXZ1qCGx/yc3jP4yGmrQlDOCSYw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Rn6cGF/EkGtwQMi8qYvtSNF4CMkqFs3M+3hAwSnPsCD7Rzgc7fhN4bm6eKyMbgep4Z1zNeJZ9ncLuxGoU0mS387Kfj6Pu1sH3mu9mYBDHSVCdqxb5RDgqjKKK6xHXG+ifcD8NQ4O1RhxlGIA7zj13JB+rZ2TVmVW3G3UNPLORxU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=goxU7WUm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="goxU7WUm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9FAC1C433F1; Sun, 24 Mar 2024 23:40:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323656; bh=h4lItqMeOzYnNgZPMXZ1qCGx/yc3jP4yGmrQlDOCSYw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=goxU7WUmE17Xr0I9m+si5NqF0ckHae5ATLZocolopuZz7YzcHlkB+rUZXY6ICTlKu 0I5octrrZQIK5h9xe65x/41R/GTG49CekkGVf3NggzOsWR3vQg1uaiLaE3ONA1O/Hl v73Jit3D2KHgFCteslR54FY8e8y6ceVLQjLB6HZUyezild/uDEu7lcpSy2eSleAlg+ p9o+VPuoQmolSEGGNeMFI5VcBe/pxhSPytQI5Tl4mhj2dIiDD4AVFzBSyoRZuXpIUs TRAB6FpBjXzjN5rgHGUjN4kqIG7Kj6Am1F8tRivx1Y1nbedkts6k0y/3/keH7NSZJa r7xZghNk40K8w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Borislav Petkov (AMD)" , Omar Sandoval , Sasha Levin Subject: [PATCH 5.10 028/238] x86/paravirt: Fix build due to __text_gen_insn() backport Date: Sun, 24 Mar 2024 19:36:56 -0400 Message-ID: <20240324234027.1354210-29-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: "Borislav Petkov (AMD)" The Link tag has all the details but basically due to missing upstream commits, the header which contains __text_gen_insn() is not in the includes in paravirt.c, leading to: arch/x86/kernel/paravirt.c: In function 'paravirt_patch_call': arch/x86/kernel/paravirt.c:65:9: error: implicit declaration of function = '__text_gen_insn' \ [-Werror=3Dimplicit-function-declaration] 65 | __text_gen_insn(insn_buff, CALL_INSN_OPCODE, | ^~~~~~~~~~~~~~~ Add the missing include. Reported-by: Omar Sandoval Signed-off-by: Borislav Petkov (AMD) Link: https://lore.kernel.org/r/ZeYXvd1-rVkPGvvW@telecaster Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/x86/kernel/paravirt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index 5bea8d93883a2..f0e4ad8595ca7 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -31,6 +31,7 @@ #include #include #include +#include =20 /* * nop stub, which must not clobber anything *including the stack* to --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D15317A38E; Sun, 24 Mar 2024 23:40:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323658; cv=none; b=sEhtEpQegPyv9vIWUixaq6b1xeCVg0wIFSWxTkfELcpl16Wz4w3gRGTuDm9KJerCau0W/KaAzx0n560LWo8uimJ4jjHBFkUrJUDJKhTQM6Ghyms71IVF6+0e1Lfk6OgWYbAARc7BEZku4gBgg4engGUxVGO+I97zZkl/47PaUro= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323658; c=relaxed/simple; bh=LTi1uiWusNYqglrFjirvmacGHwvj6xPN7iV4nR1ZLyI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Q1pnA/lfcsM2NsUytPsW1vtq7UJErRYlC9XPr6tCHlraWtuC1vGB0vbtCvbhnzM37DC3kRDzekvTFEL3R7My4Pyx6X7luqxqF5bcKBeiQ8LGCY+zih1JqUz8wRJreA2PLWokc92YqZcoT+nDZfrJDnCTC+LIALGD3kHP6UR1Yr4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KPNCAmRZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KPNCAmRZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 83350C43390; Sun, 24 Mar 2024 23:40:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323657; bh=LTi1uiWusNYqglrFjirvmacGHwvj6xPN7iV4nR1ZLyI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KPNCAmRZACoxz3LHgyBW1O7dbLuZB/UbX48Cl9bLMTUjIloUjWJtAXONtViAgfq+z p066M8+tZx+5zR05hv+Nq5G/YYIClAgPve8Kp1urya8+ehPclFuBshKYHp5Wc9at64 aP/hnmbhKppcBmQB/5TM4Hjjrv4w+b0LZ35TmdEYscMDaje8J7B2cDil13/DRaHP9Z tReMDAMI650l69ImQaUepDlRkRQxB+44cDvBVfMc4nPH5LKNFD4qY7oKa2JQvjKEn4 RZIPfnbqZE9KW88lw5RmoT+CdL2OXQIrgrfcle8SUPOu0EmlbHU4iAUSwpPunkr+3b mH4O3G9F9opig== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Nikita Zhandarovich , Chuck Lever III , syzbot+09b349b3066c2e0b1e96@syzkaller.appspotmail.com, Jan Kara , Christian Brauner , Sasha Levin Subject: [PATCH 5.10 029/238] do_sys_name_to_handle(): use kzalloc() to fix kernel-infoleak Date: Sun, 24 Mar 2024 19:36:57 -0400 Message-ID: <20240324234027.1354210-30-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Nikita Zhandarovich [ Upstream commit 3948abaa4e2be938ccdfc289385a27342fb13d43 ] syzbot identified a kernel information leak vulnerability in do_sys_name_to_handle() and issued the following report [1]. [1] "BUG: KMSAN: kernel-infoleak in instrument_copy_to_user include/linux/instr= umented.h:114 [inline] BUG: KMSAN: kernel-infoleak in _copy_to_user+0xbc/0x100 lib/usercopy.c:40 instrument_copy_to_user include/linux/instrumented.h:114 [inline] _copy_to_user+0xbc/0x100 lib/usercopy.c:40 copy_to_user include/linux/uaccess.h:191 [inline] do_sys_name_to_handle fs/fhandle.c:73 [inline] __do_sys_name_to_handle_at fs/fhandle.c:112 [inline] __se_sys_name_to_handle_at+0x949/0xb10 fs/fhandle.c:94 __x64_sys_name_to_handle_at+0xe4/0x140 fs/fhandle.c:94 ... Uninit was created at: slab_post_alloc_hook+0x129/0xa70 mm/slab.h:768 slab_alloc_node mm/slub.c:3478 [inline] __kmem_cache_alloc_node+0x5c9/0x970 mm/slub.c:3517 __do_kmalloc_node mm/slab_common.c:1006 [inline] __kmalloc+0x121/0x3c0 mm/slab_common.c:1020 kmalloc include/linux/slab.h:604 [inline] do_sys_name_to_handle fs/fhandle.c:39 [inline] __do_sys_name_to_handle_at fs/fhandle.c:112 [inline] __se_sys_name_to_handle_at+0x441/0xb10 fs/fhandle.c:94 __x64_sys_name_to_handle_at+0xe4/0x140 fs/fhandle.c:94 ... Bytes 18-19 of 20 are uninitialized Memory access of size 20 starts at ffff888128a46380 Data copied to user address 0000000020000240" Per Chuck Lever's suggestion, use kzalloc() instead of kmalloc() to solve the problem. Fixes: 990d6c2d7aee ("vfs: Add name to file handle conversion support") Suggested-by: Chuck Lever III Reported-and-tested-by: Signed-off-by: Nikita Zhandarovich Link: https://lore.kernel.org/r/20240119153906.4367-1-n.zhandarovich@fintec= h.ru Reviewed-by: Jan Kara Signed-off-by: Christian Brauner Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/fhandle.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/fhandle.c b/fs/fhandle.c index 01263ffbc4c08..9a5f153c8919e 100644 --- a/fs/fhandle.c +++ b/fs/fhandle.c @@ -37,7 +37,7 @@ static long do_sys_name_to_handle(struct path *path, if (f_handle.handle_bytes > MAX_HANDLE_SZ) return -EINVAL; =20 - handle =3D kmalloc(sizeof(struct file_handle) + f_handle.handle_bytes, + handle =3D kzalloc(sizeof(struct file_handle) + f_handle.handle_bytes, GFP_KERNEL); if (!handle) return -ENOMEM; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9EAAF17A392; Sun, 24 Mar 2024 23:40:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323659; cv=none; b=JPgG6i/6LbPkAG8KGvhsQcbg3uhk5lu2yzrxrd1eI88e2KjBSuq9J3JKZgpF34N2SxJe9fdxe0Oaifji4br5kxBq+7TLhwPoe40bODX1qEDeieXpAgt0qQxeuZdIgvOyqhOfeVXzjK0oQvgTdAXx33qCKMcaGmwZFI+CDzxlT74= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323659; c=relaxed/simple; bh=AcMANvlJML9SIuMbfJooYhS/xPwzVCuifP/AAL+ivoc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S01mcK/bPsR4OZ5u5BOwS+/nrDX6NJz5LVyunVrY5kJsAKVb5IpeXByTWViMM+QiSKvEnQwIoYmAVGloUoHAEO0UuJN7E7EHnt6TbK/y2Ldc/HBs4jXqnZNHqat344b0FhoUgSDt5ReBbAbZ/itplmkMrYqGWL/9lUQBO7vczM4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hSA/Cn3R; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hSA/Cn3R" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B0BABC433C7; Sun, 24 Mar 2024 23:40:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323658; bh=AcMANvlJML9SIuMbfJooYhS/xPwzVCuifP/AAL+ivoc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hSA/Cn3ROBPFdbqq7NAb9Us3TZ3OX425mNnUuBAdx89UUkLAhd5aInXWnqq91feyX 8IQDds5tlvnmB/871W0DFTeyfQz2gimJIWZSS/5FHV+S5BTOS9g7VeERRffpQJq8Vl dR6+LXldPZkr90M9hv+VuhzmenDTajHOnfM8WDxy/inyO+/5u5gUn1KHJEbFAbWdFl l7yWzyk7EuYy7Cw9l4I8+N5Tvc65m7gc9lBOB3MpxlzKtx2O3bVyb0VQl+bUwXU4QM BXqK4H8NXgQzE3K3qt8QPoYkZoGTvY+JF2NxFZlTYepAwebAA4JYL/j2w4qD4wfinX zXNY4TweD7I+g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Navid Emamdoost , Michal Kubecek , Kees Cook , Jens Axboe , Sasha Levin Subject: [PATCH 5.10 030/238] nbd: null check for nla_nest_start Date: Sun, 24 Mar 2024 19:36:58 -0400 Message-ID: <20240324234027.1354210-31-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Navid Emamdoost [ Upstream commit 31edf4bbe0ba27fd03ac7d87eb2ee3d2a231af6d ] nla_nest_start() may fail and return NULL. Insert a check and set errno based on other call sites within the same source code. Signed-off-by: Navid Emamdoost Reviewed-by: Michal Kubecek Fixes: 47d902b90a32 ("nbd: add a status netlink command") Signed-off-by: Kees Cook Link: https://lore.kernel.org/r/20240218042534.it.206-kees@kernel.org Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/block/nbd.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/block/nbd.c b/drivers/block/nbd.c index e0f805ca0e727..d6e3edb404748 100644 --- a/drivers/block/nbd.c +++ b/drivers/block/nbd.c @@ -2339,6 +2339,12 @@ static int nbd_genl_status(struct sk_buff *skb, stru= ct genl_info *info) } =20 dev_list =3D nla_nest_start_noflag(reply, NBD_ATTR_DEVICE_LIST); + if (!dev_list) { + nlmsg_free(reply); + ret =3D -EMSGSIZE; + goto out; + } + if (index =3D=3D -1) { ret =3D idr_for_each(&nbd_index_idr, &status_cb, reply); if (ret) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD8B017A39F; Sun, 24 Mar 2024 23:40:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323660; cv=none; b=V4JssnGr36UWCeJJPSCA454V4WQrv9DTdl6vDOMeO0qJ/6Exn0dK451lqAQtvtv3JFSl0/M7lMERvZ7XP86yrT/zXSbmVk1dUpb7qn+D5GwpUe3U7yXV/gowRIakAEE/IEiYio2dTsDNNEdOREf439VME57o+jMJ1Wa/GZCRFLQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323660; c=relaxed/simple; bh=2QmnBqFaoclGLhXwzEZp6wAs7/ysaG7ABlc3lWoqZTU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IwoZRafgYBeoeDXBWK2rJk856VZjU+hMtKbrjeqrPf9J5Fm0WHkcBxrbTufFVMrKqXnYUn22drYAVZtvCmSvqf6hzq3SIh101Hf0YitBgxUQ+lL91o3tfp6tGMNY9tbp68J3WjBgD1J/7/R3KyiJ8YX57daqHq70xrk+1XM6i6g= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SNT3HR9V; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SNT3HR9V" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C4050C43390; Sun, 24 Mar 2024 23:40:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323659; bh=2QmnBqFaoclGLhXwzEZp6wAs7/ysaG7ABlc3lWoqZTU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SNT3HR9VFsSlI3G+PwfxNK4DD2xvT9Jc4FjJcQ19QZQIBnVIauTLVmHjhCW1H1iUH mDKZV3SY6D+pRvWOrCb18kIPri9AHVoBGWmBj0dX9dpO1yWMg5lgm+Py+yw9nNLI7v L6iBZenLZUylEj7qeJqYgJUYJxn/bkXAjiZaZHem6PMEg+6d91mzKA/L+9C43NZCn1 wDCunvi4Rr+tQlRQIQ2RgSPbETbpuPLoTQx+A6WQ58bXBWmflx2QBX/SOtYmebSvxe AbTGCSCQx/rRJmOVifZkKH035uHB5OOQfUx9XXOmrUhU/RMQqtdlL1inXJzPecXTQ+ uuQBd1o0JvhwQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Kees Cook , Andi Kleen , Jan Kara , Christian Brauner , Sasha Levin Subject: [PATCH 5.10 031/238] fs/select: rework stack allocation hack for clang Date: Sun, 24 Mar 2024 19:36:59 -0400 Message-ID: <20240324234027.1354210-32-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit ddb9fd7a544088ed70eccbb9f85e9cc9952131c1 ] A while ago, we changed the way that select() and poll() preallocate a temporary buffer just under the size of the static warning limit of 1024 bytes, as clang was frequently going slightly above that limit. The warnings have recently returned and I took another look. As it turns out, clang is not actually inherently worse at reserving stack space, it just happens to inline do_select() into core_sys_select(), while gcc never inlines it. Annotate do_select() to never be inlined and in turn remove the special case for the allocation size. This should give the same behavior for both clang and gcc all the time and once more avoids those warnings. Fixes: ad312f95d41c ("fs/select: avoid clang stack usage warning") Signed-off-by: Arnd Bergmann Link: https://lore.kernel.org/r/20240216202352.2492798-1-arnd@kernel.org Reviewed-by: Kees Cook Reviewed-by: Andi Kleen Reviewed-by: Jan Kara Signed-off-by: Christian Brauner Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/select.c | 2 +- include/linux/poll.h | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/fs/select.c b/fs/select.c index 5edffee1162c2..668a5200503ae 100644 --- a/fs/select.c +++ b/fs/select.c @@ -475,7 +475,7 @@ static inline void wait_key_set(poll_table *wait, unsig= ned long in, wait->_key |=3D POLLOUT_SET; } =20 -static int do_select(int n, fd_set_bits *fds, struct timespec64 *end_time) +static noinline_for_stack int do_select(int n, fd_set_bits *fds, struct ti= mespec64 *end_time) { ktime_t expire, *to =3D NULL; struct poll_wqueues table; diff --git a/include/linux/poll.h b/include/linux/poll.h index 1cdc32b1f1b08..7e0fdcf905d2e 100644 --- a/include/linux/poll.h +++ b/include/linux/poll.h @@ -16,11 +16,7 @@ extern struct ctl_table epoll_table[]; /* for sysctl */ /* ~832 bytes of stack space used max in sys_select/sys_poll before alloca= ting additional memory. */ -#ifdef __clang__ -#define MAX_STACK_ALLOC 768 -#else #define MAX_STACK_ALLOC 832 -#endif #define FRONTEND_STACK_ALLOC 256 #define SELECT_STACK_ALLOC FRONTEND_STACK_ALLOC #define POLL_STACK_ALLOC FRONTEND_STACK_ALLOC --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BCBFE17A39D; Sun, 24 Mar 2024 23:41:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323660; cv=none; b=iguVXZRgKB+xQyi1t0qpgscAXUIp/PMYx4EGTzRb+mnuq3vb2semPduwERaIm66ca1U/tfN+DnlrSL7a7jybXZUjc6jBAoBZwTd1ed1hZbMYrG+hPeIi6B+Jd2L7ZwXG9KAFunn5wgJD9dhwy7xwYCShhIaNL1zv6R5MdQ6KNtY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323660; c=relaxed/simple; bh=EvF6yk0rVIb8AReax+xdLMBHydsrlD1ehkezoEOOnWA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eiLoL/OSXh7vD3IpnRXhdVZviQSK5hDzZhYUo+LXIB+x8X81eKk3jekfeuMDdIewIAbERh34bvsfEoeDAmKS4efa3bnb1I/IUvVTuRCboST4mMd0yUtGKaYh9WTdwmwmM0ohVv6JrdMcXXJODvC0pPorvSCvobH0OpL8Z+R4C6c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AdyeCg25; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AdyeCg25" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F1A27C433B2; Sun, 24 Mar 2024 23:40:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323660; bh=EvF6yk0rVIb8AReax+xdLMBHydsrlD1ehkezoEOOnWA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AdyeCg25p2rL5CKYilX8cdFD5P/8DR5BdPkB1zLnBrvrDfQiM86qTR96bvgjV/A0i 0SieehzSoBvfnj9gwG36oLddjWK/SGG67OCAER5dvOPqHQq7SSXJai10YhcGA72Buv A2zqbCiEuoMJhMnUk/OHxSIbgf9XSmmjYVYBaLZxYsZCoRpn9IciHV0Ht3xF8nk3M5 EdmuJwmkq8wUZAm5EFmEbsklkie+serjO1aWxy+jPkcSkEkoyl2Ywknlmyl97Dt1zQ lcBOtoOhDXF/skYlp79AgAIvEp6kNDtpxmutx7rCy8Ncxm4ENS5jIQcOTsuHdr7CSG M2CgPosJp+puQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christoph Hellwig , Jens Axboe , Sasha Levin Subject: [PATCH 5.10 032/238] block: add a new set_read_only method Date: Sun, 24 Mar 2024 19:37:00 -0400 Message-ID: <20240324234027.1354210-33-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christoph Hellwig [ Upstream commit e00adcadf3af7a8335026d71ab9f0e0a922191ac ] Add a new method to allow for driver-specific processing when setting or clearing the block device read-only state. This allows to replace the cumbersome and error-prone override of the whole ioctl implementation. Signed-off-by: Christoph Hellwig Signed-off-by: Jens Axboe Stable-dep-of: 9674f54e41ff ("md: Don't clear MD_CLOSING when the raid is a= bout to stop") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- block/ioctl.c | 5 +++++ include/linux/blkdev.h | 1 + 2 files changed, 6 insertions(+) diff --git a/block/ioctl.c b/block/ioctl.c index e7eed7dadb5cf..24f8042f12b60 100644 --- a/block/ioctl.c +++ b/block/ioctl.c @@ -405,6 +405,11 @@ static int blkdev_roset(struct block_device *bdev, fmo= de_t mode, return ret; if (get_user(n, (int __user *)arg)) return -EFAULT; + if (bdev->bd_disk->fops->set_read_only) { + ret =3D bdev->bd_disk->fops->set_read_only(bdev, n); + if (ret) + return ret; + } set_device_ro(bdev, n); return 0; } diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 98fdf5a31fd66..583824f111079 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1883,6 +1883,7 @@ struct block_device_operations { void (*unlock_native_capacity) (struct gendisk *); int (*revalidate_disk) (struct gendisk *); int (*getgeo)(struct block_device *, struct hd_geometry *); + int (*set_read_only)(struct block_device *bdev, bool ro); /* this callback is with swap_lock and sometimes page table lock held */ void (*swap_slot_free_notify) (struct block_device *, unsigned long); int (*report_zones)(struct gendisk *, sector_t sector, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB2D717A398; Sun, 24 Mar 2024 23:41:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323661; cv=none; b=rMILPbreeaebUe3AmFoW2CLk/dhwqmL82ltzpDhaD/w8K/S3dAkn5FQyn/HrLVVs7Yc9MGXlbKZU0GIgFQ9BP8H+FXfZtDVOOAB6/tnVQEZoapsIOeVcYhi5BBziBMJ29uhrmhsLCChdLztMuWdk0YBe+pGhIko3fhVzE5SzBLs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323661; c=relaxed/simple; bh=xUEq0/4SeP+e6cmHTvV6rwqLU4gsCa5EQBlGBnER0Z4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XKQ9lUz7uehjG207TdFrYRRTGgr5yzkWMt6CU0sUIc2ME65TDSZngZVSDroQJXZf8SEHzbgF/edQK9yUozWyM2rIcQZpl8JfVdgelHUdTpExU/DyBLYTv+WYHWIfeVA7YPNeG8O2ZoAiHLh47dqD/5hVOQBNZFhAxkVy0iBh7YI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FugA5Sbl; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="FugA5Sbl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DE1B8C433C7; Sun, 24 Mar 2024 23:41:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323661; bh=xUEq0/4SeP+e6cmHTvV6rwqLU4gsCa5EQBlGBnER0Z4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FugA5SblT3WEMvXBuNECePtQdjbuqsM6eez8QeYyVgeozsSrtddfCz4aYMykrQhqr FbpZC3fA4UOp/28wmIhg1cG2fDd0CZb2hHQs7d3h+H11nNG6aAO2rGt+VA4DNGRY1Q nvuCXXPOVgJOShHETFlH9KoTpqFrwVoB1zJWxQJNl4/bNJWldFmye3CbIzV1qiNeCk aYWTZ1CI0dJUIv5CPpq/svjPP5UCZEje61JQQ8wRmr0bHzu2kRqEhg6t19Bs4xj/2f DDh6zZuutd6y44olQJGzAH6uBF9/dcNz/OR+6D5M9n6bfZcL2X8yqezf7D/OX7aR24 Bne615vq1cehg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christoph Hellwig , Song Liu , Jens Axboe , Sasha Levin Subject: [PATCH 5.10 033/238] md: implement ->set_read_only to hook into BLKROSET processing Date: Sun, 24 Mar 2024 19:37:01 -0400 Message-ID: <20240324234027.1354210-34-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christoph Hellwig [ Upstream commit 118cf084adb3964d06e1667cf7d702e56e5cd2c5 ] Implement the ->set_read_only method instead of parsing the actual ioctl command. Signed-off-by: Christoph Hellwig Acked-by: Song Liu Signed-off-by: Jens Axboe Stable-dep-of: 9674f54e41ff ("md: Don't clear MD_CLOSING when the raid is a= bout to stop") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/md/md.c | 62 ++++++++++++++++++++++++------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index 03d2e31dda2f6..d6f12338cb989 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -7536,7 +7536,6 @@ static inline bool md_ioctl_valid(unsigned int cmd) { switch (cmd) { case ADD_NEW_DISK: - case BLKROSET: case GET_ARRAY_INFO: case GET_BITMAP_FILE: case GET_DISK_INFO: @@ -7563,7 +7562,6 @@ static int md_ioctl(struct block_device *bdev, fmode_= t mode, int err =3D 0; void __user *argp =3D (void __user *)arg; struct mddev *mddev =3D NULL; - int ro; bool did_set_md_closing =3D false; =20 if (!md_ioctl_valid(cmd)) @@ -7746,35 +7744,6 @@ static int md_ioctl(struct block_device *bdev, fmode= _t mode, goto unlock; } break; - - case BLKROSET: - if (get_user(ro, (int __user *)(arg))) { - err =3D -EFAULT; - goto unlock; - } - err =3D -EINVAL; - - /* if the bdev is going readonly the value of mddev->ro - * does not matter, no writes are coming - */ - if (ro) - goto unlock; - - /* are we are already prepared for writes? */ - if (mddev->ro !=3D 1) - goto unlock; - - /* transitioning to readauto need only happen for - * arrays that call md_write_start - */ - if (mddev->pers) { - err =3D restart_array(mddev); - if (err =3D=3D 0) { - mddev->ro =3D 2; - set_disk_ro(mddev->gendisk, 0); - } - } - goto unlock; } =20 /* @@ -7868,6 +7837,36 @@ static int md_compat_ioctl(struct block_device *bdev= , fmode_t mode, } #endif /* CONFIG_COMPAT */ =20 +static int md_set_read_only(struct block_device *bdev, bool ro) +{ + struct mddev *mddev =3D bdev->bd_disk->private_data; + int err; + + err =3D mddev_lock(mddev); + if (err) + return err; + + if (!mddev->raid_disks && !mddev->external) { + err =3D -ENODEV; + goto out_unlock; + } + + /* + * Transitioning to read-auto need only happen for arrays that call + * md_write_start and which are not ready for writes yet. + */ + if (!ro && mddev->ro =3D=3D 1 && mddev->pers) { + err =3D restart_array(mddev); + if (err) + goto out_unlock; + mddev->ro =3D 2; + } + +out_unlock: + mddev_unlock(mddev); + return err; +} + static int md_open(struct block_device *bdev, fmode_t mode) { /* @@ -7944,6 +7943,7 @@ const struct block_device_operations md_fops =3D #endif .getgeo =3D md_getgeo, .check_events =3D md_check_events, + .set_read_only =3D md_set_read_only, }; =20 static int md_thread(void *arg) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B363117A39C; Sun, 24 Mar 2024 23:41:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323662; cv=none; b=jcqYJ+9USgUZueEQjvbgLw8RDz3FuRwhP6Yy0/RtyZv/+IgvIZF/MHXKh54o1HQPIRorcssjmXrEgFUtdUGggYjBS25OpwGlk4jMxvwzsmNrhdY9zT0cxeTwhcWQB42qFwYOPn+mFw0S9GSeGFS6QZ6uP71xkTIB9jXIaQ2uuXw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323662; c=relaxed/simple; bh=4o61d4k2DAVEjGzNj9t2LcUukFfJ64pIJLJSjHvQuns=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D67iMu8niAMl4FVXGV2JU8Scgmc8TAJ5XEEarPble3v9OZpfF1RHqTDbuPYDD8cTrpk2SVslUqw0O89+k7kgjyirLMfUH00OnQ6AZlP6nrbJFp62AZPI0lIuJyh4qRV6wkqwfKGejNlTfxSTwrE4r8WdP7khBFOG+Y37UX8TKcw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=shcQElUQ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="shcQElUQ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DD0E5C43390; Sun, 24 Mar 2024 23:41:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323662; bh=4o61d4k2DAVEjGzNj9t2LcUukFfJ64pIJLJSjHvQuns=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=shcQElUQ5B8JyoHzaf0hl7h8Hr8vrw5jNsx3qyna1C0yjQfq1vnykpfUg7TJ6l0vf dOBzeH9SHPFUFkudWqsBoEEVMbLzWa4ch5KMWJb9yxSaPUHnpj4Gg0dOFGNrduV1af +/20zTAycIojx+TvJvfwh3FQyOZ4zZNxbwoLSMW8pENUfiw0a0URobeTs1gNTmZDoO TV+8kI83VHJlzqz6OZ3sGyBGKIsLNBaZtXGxiaTL5yQao0hmmR1kR7ZzikARLSe7ZH z0ExatI2wEgRuZVHaiB0dDgb3S+Hzc+Ulv3Zt4J5BMUl5snTQysHizvuQukcg4eVdl 9SOKbQqNMt4bg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Li Nan , Yu Kuai , Song Liu , Sasha Levin Subject: [PATCH 5.10 034/238] md: Don't clear MD_CLOSING when the raid is about to stop Date: Sun, 24 Mar 2024 19:37:02 -0400 Message-ID: <20240324234027.1354210-35-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Li Nan [ Upstream commit 9674f54e41fffaf06f6a60202e1fa4cc13de3cf5 ] The raid should not be opened anymore when it is about to be stopped. However, other processes can open it again if the flag MD_CLOSING is cleared before exiting. From now on, this flag will not be cleared when the raid will be stopped. Fixes: 065e519e71b2 ("md: MD_CLOSING needs to be cleared after called md_se= t_readonly or do_md_stop") Signed-off-by: Li Nan Reviewed-by: Yu Kuai Signed-off-by: Song Liu Link: https://lore.kernel.org/r/20240226031444.3606764-6-linan666@huaweiclo= ud.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/md/md.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index d6f12338cb989..09c7f52156f3f 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -6243,7 +6243,15 @@ static void md_clean(struct mddev *mddev) mddev->persistent =3D 0; mddev->level =3D LEVEL_NONE; mddev->clevel[0] =3D 0; - mddev->flags =3D 0; + /* + * Don't clear MD_CLOSING, or mddev can be opened again. + * 'hold_active !=3D 0' means mddev is still in the creation + * process and will be used later. + */ + if (mddev->hold_active) + mddev->flags =3D 0; + else + mddev->flags &=3D BIT_ULL_MASK(MD_CLOSING); mddev->sb_flags =3D 0; mddev->ro =3D 0; mddev->metadata_type[0] =3D 0; @@ -7562,7 +7570,6 @@ static int md_ioctl(struct block_device *bdev, fmode_= t mode, int err =3D 0; void __user *argp =3D (void __user *)arg; struct mddev *mddev =3D NULL; - bool did_set_md_closing =3D false; =20 if (!md_ioctl_valid(cmd)) return -ENOTTY; @@ -7649,7 +7656,6 @@ static int md_ioctl(struct block_device *bdev, fmode_= t mode, err =3D -EBUSY; goto out; } - did_set_md_closing =3D true; mutex_unlock(&mddev->open_mutex); sync_blockdev(bdev); } @@ -7813,7 +7819,7 @@ static int md_ioctl(struct block_device *bdev, fmode_= t mode, mddev->hold_active =3D 0; mddev_unlock(mddev); out: - if(did_set_md_closing) + if (cmd =3D=3D STOP_ARRAY_RO || (err && cmd =3D=3D STOP_ARRAY)) clear_bit(MD_CLOSING, &mddev->flags); return err; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 990A3179FC9; Sun, 24 Mar 2024 23:41:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323663; cv=none; b=c/5g6CqAwdFtohL8RriNfLBBF8rbNZzL4A+4ljZuQGB6prspdGe404WxNIJPZR/aCHfnY3bFeqxap4hF4HtxQES8YOors4hLIJnLfMxRDddLZtca7whKEnhBgexNOw5eLfcCghUhpcYuaoTdt3Ib6OI/Ws4i2GnGtZwWyTfWbx4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323663; c=relaxed/simple; bh=NIoDcRpVejFLNVUkjop1RAxTn/B6sQZnq+VQSlo84Rc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=uY2Fx+nROLPxxF2B9GMAGwelCTtBb9kzERNCrfIqG2o8q8Q9mA/f/DQRZ4l62SuIZheFA+UVi3GNwycQEmG169jr4rrzEK2aCl21p6tyRavgIoPiSfgu5C4yN7NZaBISfwVaN1ipJf7qPA6S+Psfva90vgo8f95Ge9M2BBpFEyA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Mxc/sWAV; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Mxc/sWAV" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D8117C43399; Sun, 24 Mar 2024 23:41:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323663; bh=NIoDcRpVejFLNVUkjop1RAxTn/B6sQZnq+VQSlo84Rc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Mxc/sWAVUnF8ICSFAzeu4KxUprDCmKZ2w5qfCpacLT8th3soy/nGfID063tqqia9k BPFqEKEBL7kmCRC87qJOrhAQL3BDX5Q4c8qggHg4mfV/2KMHyQjL81xR1b02NDV5gV fHWraPspch7AteuVW6EyMd3H5jHrNdLPr57c9dlagfoOn/k8L1ghSvpEvgZK+O6HhB fGLhCCMRcoyCdzki/jJ2IEbY0EjZ6FU0Q74Qt/7i0FUbmRk1LElAw4dRD2UJi8PJyM bhzpw16yg8gseEOsmop5+sdfoEzVfeKChMap3deVb/xKGGJAZzXD/Q9JU35nkoTMVX 8+yX3Rktw1kgg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Chun-Yi Lee , Jens Axboe , Sasha Levin Subject: [PATCH 5.10 035/238] aoe: fix the potential use-after-free problem in aoecmd_cfg_pkts Date: Sun, 24 Mar 2024 19:37:03 -0400 Message-ID: <20240324234027.1354210-36-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Chun-Yi Lee [ Upstream commit f98364e926626c678fb4b9004b75cacf92ff0662 ] This patch is against CVE-2023-6270. The description of cve is: A flaw was found in the ATA over Ethernet (AoE) driver in the Linux kernel. The aoecmd_cfg_pkts() function improperly updates the refcnt on `struct net_device`, and a use-after-free can be triggered by racing between the free on the struct and the access through the `skbtxq` global queue. This could lead to a denial of service condition or potential code execution. In aoecmd_cfg_pkts(), it always calls dev_put(ifp) when skb initial code is finished. But the net_device ifp will still be used in later tx()->dev_queue_xmit() in kthread. Which means that the dev_put(ifp) should NOT be called in the success path of skb initial code in aoecmd_cfg_pkts(). Otherwise tx() may run into use-after-free because the net_device is freed. This patch removed the dev_put(ifp) in the success path in aoecmd_cfg_pkts(), and added dev_put() after skb xmit in tx(). Link: https://nvd.nist.gov/vuln/detail/CVE-2023-6270 Fixes: 7562f876cd93 ("[NET]: Rework dev_base via list_head (v3)") Signed-off-by: Chun-Yi Lee Link: https://lore.kernel.org/r/20240305082048.25526-1-jlee@suse.com Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/block/aoe/aoecmd.c | 12 ++++++------ drivers/block/aoe/aoenet.c | 1 + 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c index 313f0b946fe2b..c805909c8e775 100644 --- a/drivers/block/aoe/aoecmd.c +++ b/drivers/block/aoe/aoecmd.c @@ -420,13 +420,16 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoemin= or, struct sk_buff_head *qu rcu_read_lock(); for_each_netdev_rcu(&init_net, ifp) { dev_hold(ifp); - if (!is_aoe_netif(ifp)) - goto cont; + if (!is_aoe_netif(ifp)) { + dev_put(ifp); + continue; + } =20 skb =3D new_skb(sizeof *h + sizeof *ch); if (skb =3D=3D NULL) { printk(KERN_INFO "aoe: skb alloc failure\n"); - goto cont; + dev_put(ifp); + continue; } skb_put(skb, sizeof *h + sizeof *ch); skb->dev =3D ifp; @@ -441,9 +444,6 @@ aoecmd_cfg_pkts(ushort aoemajor, unsigned char aoeminor= , struct sk_buff_head *qu h->major =3D cpu_to_be16(aoemajor); h->minor =3D aoeminor; h->cmd =3D AOECMD_CFG; - -cont: - dev_put(ifp); } rcu_read_unlock(); } diff --git a/drivers/block/aoe/aoenet.c b/drivers/block/aoe/aoenet.c index 63773a90581dd..1e66c7a188a12 100644 --- a/drivers/block/aoe/aoenet.c +++ b/drivers/block/aoe/aoenet.c @@ -64,6 +64,7 @@ tx(int id) __must_hold(&txlock) pr_warn("aoe: packet could not be sent on %s. %s\n", ifp ? ifp->name : "netif", "consider increasing tx_queue_len"); + dev_put(ifp); spin_lock_irq(&txlock); } return 0; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9564A179FCF; Sun, 24 Mar 2024 23:41:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323665; cv=none; b=tVYOna4ldydOQBhTgHaoaf9z4lQvXZliUt67X0JxZtNbaYhVW3eAMTXa8Rc8pkDTh8eGa/54JHF6cE1GOzCr3VLkv22bQ9crYwqO5Th0A2uIS/t7rxl5SmC3kFleQd1T/z/agoYnJSDVerRJ2j6Ayj8bD4oFOdf53BcJjSqPF1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323665; c=relaxed/simple; bh=r5p49GZRFmtuKgVaabBtNqYpK5s4aOtan8S6DcAYzIw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=m1QbYXgR05cNzEDZBSwFrE4MvJydu/zyfz6ZBlUH1X+oFDT0qj3tmg+2b2+jycYVhwb+qqAUcUSQ/kOSYLQacr55BnxVw56dhjpdC2eDrUpJQez4FKS5hMIxQfmqKjmL+hOSC5OOTMzIOR56xjTw/95Jw2yRa6oqussZjTGm7Js= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uLrUItxU; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="uLrUItxU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BCE92C433F1; Sun, 24 Mar 2024 23:41:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323664; bh=r5p49GZRFmtuKgVaabBtNqYpK5s4aOtan8S6DcAYzIw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uLrUItxUMo2C8kbAaL1jlnYCyupJ6CMqnHgjG1Zrxg07gRtCLRHTgVaoxGgGyZsZl dVDZAWuyhLXgpPkNpre8FsY58mE4KMTt8lRLyeoOlkHT/YEux1wP+B+aCxC5O+AHNp NLHwxI7+cpsJrZgJS6ZpY/rLzrxrgBvEOtBhuavQvBvyGDn+hv/rF88ejXxYotMydE 5iSSXOLJaXwdhRrMEGKfhqP1yK/5JVn5qG0NDZXnaKEzHd11JDGbvDmpNPS4kVJPB4 aXYBfg4p6iFpY+MUp2FdAQPhkg7tOrprl2GXfZwKEmQNfBTjYGFWtpJgQ0f9w2gCSp GyBmhl6w/IqjQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Peter Hilber , Thomas Gleixner , John Stultz , Sasha Levin Subject: [PATCH 5.10 036/238] timekeeping: Fix cross-timestamp interpolation on counter wrap Date: Sun, 24 Mar 2024 19:37:04 -0400 Message-ID: <20240324234027.1354210-37-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Peter Hilber [ Upstream commit 84dccadd3e2a3f1a373826ad71e5ced5e76b0c00 ] cycle_between() decides whether get_device_system_crosststamp() will interpolate for older counter readings. cycle_between() yields wrong results for a counter wrap-around where after < before < test, and for the case after < test < before. Fix the comparison logic. Fixes: 2c756feb18d9 ("time: Add history to cross timestamp interface suppor= ting slower devices") Signed-off-by: Peter Hilber Signed-off-by: Thomas Gleixner Acked-by: John Stultz Link: https://lore.kernel.org/r/20231218073849.35294-2-peter.hilber@opensyn= ergy.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/time/timekeeping.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index d9b48f7a35e0d..6a8a610b19717 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -1173,7 +1173,7 @@ static bool cycle_between(u64 before, u64 test, u64 a= fter) { if (test > before && test < after) return true; - if (test < before && before > after) + if (before > after && (test > before || test < after)) return true; return false; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7EEF6179FD7; Sun, 24 Mar 2024 23:41:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323666; cv=none; b=bGqoCdabsyDKF+6GBd38aHM72l5l5RbilgDaW1riUyIZsBB8ALAu8nz+ZtYMglxk5Q9sOGR301lIBIab27Kt21kl4ZMzafTa/4M9m3E6QGWOjD7vq/9fp4/oODR+1Kgmv1mKODmn0H8cZWRnpeSxyanVeYqlDmQtfUhY0jURKfU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323666; c=relaxed/simple; bh=7qg2d7U5uXac9tRrTtTU0XxUPVPsUuSatmmbjlFPExQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=O5VMe6y+ugV+rEuIy9nhN6Z1JqCeC8SFlbxSGjk9YaY1WdVtBMv9xp4nM3mIvojyYChHwfSZuXGvwzYYz/rVuaKb4sCxmO5CEdFlHSn03UM/i5CILwyfBVvk6eWzxYGr3ZXleJ4EJVX5wsiBWMs1lMW0uAS4M9V6aME5ywFmHgo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KE7/TzL+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KE7/TzL+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B9692C433C7; Sun, 24 Mar 2024 23:41:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323665; bh=7qg2d7U5uXac9tRrTtTU0XxUPVPsUuSatmmbjlFPExQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KE7/TzL+bBK5w+VzTrKBB39TOhJQdZpOuwnrWYnUiGEDjhRydDiuZvMSacL8qxiAg XAnztY8UM9E78687qJqhtiYiPs7iOYpf41x9/LFa0djZNBKzKjtqxb0igtfxyskzPO dMEam0yDzP3mL6gWen4lEvTK0vxs0wNBTECldesaYZYsvw9ccidABOaNC2RDT12Loh +gZeQ9v9VKx2Mt6KfHPil7aRue/SQvw9IIW9CF+iqqBxdjU8Lou6j9IKgRF3WE9fn1 kvxI1oENQVBIovqbgxXSIdJrhUjVxEHsi82N3k+Zi3l5sZOZje1MSMnKOjE+/UAKOS CewvYKoFIV+pA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Peter Hilber , Thomas Gleixner , Sasha Levin Subject: [PATCH 5.10 037/238] timekeeping: Fix cross-timestamp interpolation corner case decision Date: Sun, 24 Mar 2024 19:37:05 -0400 Message-ID: <20240324234027.1354210-38-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Peter Hilber [ Upstream commit 87a41130881995f82f7adbafbfeddaebfb35f0ef ] The cycle_between() helper checks if parameter test is in the open interval (before, after). Colloquially speaking, this also applies to the counter wrap-around special case before > after. get_device_system_crosststamp() currently uses cycle_between() at the first call site to decide whether to interpolate for older counter readings. get_device_system_crosststamp() has the following problem with cycle_between() testing against an open interval: Assume that, by chance, cycles =3D=3D tk->tkr_mono.cycle_last (in the following, "cycle_last" for brevity). Then, cycle_between() at the first call site, with effective argument values cycle_between(cycle_last, cycles, now), returns false, enabling interpolation. During interpolation, get_device_system_crosststamp() will then call cycle_between() at the second call site (if a history_begin was supplied). The effective argument values are cycle_between(history_begin->cycles, cycles, cycles), since system_counterval.cycles =3D=3D interval_start =3D=3D cycles, per the assum= ption. Due to the test against the open interval, cycle_between() returns false again. This causes get_device_system_crosststamp() to return -EINVAL. This failure should be avoided, since get_device_system_crosststamp() works both when cycles follows cycle_last (no interpolation), and when cycles precedes cycle_last (interpolation). For the case cycles =3D=3D cycle_last, interpolation is actually unneeded. Fix this by changing cycle_between() into timestamp_in_interval(), which now checks against the closed interval, rather than the open interval. This changes the get_device_system_crosststamp() behavior for three corner cases: 1. Bypass interpolation in the case cycles =3D=3D tk->tkr_mono.cycle_last, fixing the problem described above. 2. At the first timestamp_in_interval() call site, cycles =3D=3D now no lon= ger causes failure. 3. At the second timestamp_in_interval() call site, history_begin->cycles =3D=3D system_counterval.cycles no longer causes failure. adjust_historical_crosststamp() also works for this corner case, where partial_history_cycles =3D=3D total_history_cycles. These behavioral changes should not cause any problems. Fixes: 2c756feb18d9 ("time: Add history to cross timestamp interface suppor= ting slower devices") Signed-off-by: Peter Hilber Signed-off-by: Thomas Gleixner Link: https://lore.kernel.org/r/20231218073849.35294-3-peter.hilber@opensyn= ergy.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/time/timekeeping.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 6a8a610b19717..6f615db414769 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -1167,13 +1167,15 @@ static int adjust_historical_crosststamp(struct sys= tem_time_snapshot *history, } =20 /* - * cycle_between - true if test occurs chronologically between before and = after + * timestamp_in_interval - true if ts is chronologically in [start, end] + * + * True if ts occurs chronologically at or after start, and before or at e= nd. */ -static bool cycle_between(u64 before, u64 test, u64 after) +static bool timestamp_in_interval(u64 start, u64 end, u64 ts) { - if (test > before && test < after) + if (ts >=3D start && ts <=3D end) return true; - if (before > after && (test > before || test < after)) + if (start > end && (ts >=3D start || ts <=3D end)) return true; return false; } @@ -1233,7 +1235,7 @@ int get_device_system_crosststamp(int (*get_time_fn) */ now =3D tk_clock_read(&tk->tkr_mono); interval_start =3D tk->tkr_mono.cycle_last; - if (!cycle_between(interval_start, cycles, now)) { + if (!timestamp_in_interval(interval_start, now, cycles)) { clock_was_set_seq =3D tk->clock_was_set_seq; cs_was_changed_seq =3D tk->cs_was_changed_seq; cycles =3D interval_start; @@ -1264,13 +1266,13 @@ int get_device_system_crosststamp(int (*get_time_fn) bool discontinuity; =20 /* - * Check that the counter value occurs after the provided + * Check that the counter value is not before the provided * history reference and that the history doesn't cross a * clocksource change */ if (!history_begin || - !cycle_between(history_begin->cycles, - system_counterval.cycles, cycles) || + !timestamp_in_interval(history_begin->cycles, + cycles, system_counterval.cycles) || history_begin->cs_was_changed_seq !=3D cs_was_changed_seq) return -EINVAL; partial_history_cycles =3D cycles - system_counterval.cycles; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 873CF179FDD; Sun, 24 Mar 2024 23:41:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323667; cv=none; b=h20A/rPDCu+hwqG57eGUJPiYTPf7MQvo8NNHGNlOpYot0HxHwgWGHQz9LLZ+7blzfB5qa4p70Zs4hUbM8isvC5J2CfrXrGX1ja10Affx8PfLRz1Yd0CJDIW0a6dK5NlGJbA/KPG/9iTYoPMXMhFkK6FZoL0bWRhyPQ0T78h4BdY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323667; c=relaxed/simple; bh=bkgkY4MimmFGIFsqql8oT8WjKyOt0XojbbENl0nJP7w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=p9PCOc30jlehk2aYaK+oPS4wfucVr8aCMP7D1Nv/chapIfCmXI/znIX3EsY70swzx9wqISlL6I1j/CGKT6jv/19UjTC5LSVJDA1Dfwjl9KKwx6n6xqGdWysmaSqbp9HsTK3MpF3GJo1VwowtpHLuwENznxGgV5TMTKa8bXY0/mE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OayZDEjj; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OayZDEjj" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A1B79C43390; Sun, 24 Mar 2024 23:41:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323666; bh=bkgkY4MimmFGIFsqql8oT8WjKyOt0XojbbENl0nJP7w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OayZDEjjo9BnrNuEEhq3UF7iJxGjPVl8s7heX1wflSF/KHNuX+LoGah7MJ4psnmbS wopZGe2A1uGLfZod+qeb1CckK5DqBPC3D3kw3qNqeOQQhxP16qRmnpAfY4cHxUymFC F0Rm/B1Y41XHDlsvETGARrHr6m/kItginwl6uBmjDOc3HLlBaCLI4fi+1qSTqwcYJ4 dwPiNKrc7sgYSYtZdJArN+uEGdMGGSotaXbX6Q0q8rMscDumG1fkgwE/4QI+7/K26A zWNYTF8APlkNO+NM69FTaCxq72GERvXUGEuDqDunhMwUEZQLIw9k+A9DGV+Tt29cou pULmw1vBrxs/w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Peter Hilber , Thomas Gleixner , John Stultz , Sasha Levin Subject: [PATCH 5.10 038/238] timekeeping: Fix cross-timestamp interpolation for non-x86 Date: Sun, 24 Mar 2024 19:37:06 -0400 Message-ID: <20240324234027.1354210-39-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Peter Hilber [ Upstream commit 14274d0bd31b4debf28284604589f596ad2e99f2 ] So far, get_device_system_crosststamp() unconditionally passes system_counterval.cycles to timekeeping_cycles_to_ns(). But when interpolating system time (do_interp =3D=3D true), system_counterval.cycles= is before tkr_mono.cycle_last, contrary to the timekeeping_cycles_to_ns() expectations. On x86, CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE will mitigate on interpolating, setting delta to 0. With delta =3D=3D 0, xtstamp->sys_monoraw and xtstamp->sys_realtime are then set to the last update time, as implicitly expected by adjust_historical_crosststamp(). On other architectures, the resulting nonsense xtstamp->sys_monoraw and xtstamp->sys_realtime corrupt the xtstamp (ts) adjustment in adjust_historical_crosststamp(). Fix this by deriving xtstamp->sys_monoraw and xtstamp->sys_realtime from the last update time when interpolating, by using the local variable "cycles". The local variable already has the right value when interpolating, unlike system_counterval.cycles. Fixes: 2c756feb18d9 ("time: Add history to cross timestamp interface suppor= ting slower devices") Signed-off-by: Peter Hilber Signed-off-by: Thomas Gleixner Acked-by: John Stultz Link: https://lore.kernel.org/r/20231218073849.35294-4-peter.hilber@opensyn= ergy.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/time/timekeeping.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 6f615db414769..629a07e6a0bfc 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -1248,10 +1248,8 @@ int get_device_system_crosststamp(int (*get_time_fn) tk_core.timekeeper.offs_real); base_raw =3D tk->tkr_raw.base; =20 - nsec_real =3D timekeeping_cycles_to_ns(&tk->tkr_mono, - system_counterval.cycles); - nsec_raw =3D timekeeping_cycles_to_ns(&tk->tkr_raw, - system_counterval.cycles); + nsec_real =3D timekeeping_cycles_to_ns(&tk->tkr_mono, cycles); + nsec_raw =3D timekeeping_cycles_to_ns(&tk->tkr_raw, cycles); } while (read_seqcount_retry(&tk_core.seq, seq)); =20 xtstamp->sys_realtime =3D ktime_add_ns(base_real, nsec_real); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 779BB179FDF; Sun, 24 Mar 2024 23:41:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323668; cv=none; b=hatJlYRlXxTh2kexdiQ84vzu7Ab2MORZktdZF9c0Gcw+z9rNPc2PUYjoYTdqHsRKrO0aQBrSrT3g991sVTc86gn9emk+ZtMr510HKfcLHguvqKjRB+OzIfkzUHdycqoyUFfwibbneNGIQ1gCcIrzV6M0OS+S+Q2Bwg8G5oA4y3I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323668; c=relaxed/simple; bh=KO8CixSl6mJgAcFcZpVjUBVD4cWMv0wovfQtZ3hH+DE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OSpk++LvR3R+dvtpDRsxlCvR3KNyaXLTmDLwvU6sUPvcNlBMbnYRBjGVp98clNRwTREG0hawh8t+xyVAsJQ90CDckRjZzObKX0N3lhr/Oqm3m7pXS8N4wAuZUAydgx/MSL12OeWUulCCewgS4H1ryw/4Hr7ZNrBaMs/qPlyodRo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=usuQKY8V; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="usuQKY8V" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9EAE9C433F1; Sun, 24 Mar 2024 23:41:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323667; bh=KO8CixSl6mJgAcFcZpVjUBVD4cWMv0wovfQtZ3hH+DE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=usuQKY8VquHjVMvvYYd0XXN45nYRM+ZcsZSbXvkFVY9yD6abzy8j5L5U3ZQttUWyu oH0GwWPWpICh1XBHxE7XLvSCeMXwOubfbIXJsEkrATGvqTUBKvwsJHKZRZSB8uxqkm vPfogku4oeEQGkroyul8aI0LAquXgmK5puCKP7MgbKeWJYYqe6GukUoWp5r/SIL9BM JW7nxM3Srm5UsviIomOLf1WmS2cKV66MB/4eFkSG25RWvuKRJZMkYNxUEE7X8GH1nU xBIrNPspRE8R03O58yt+YAdGYA9+74qbp7xTSZwZAoaeOc5G7kGdq/0kFx9Yvx9Ken dO3Cv8uu0ahRg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Xingyuan Mo , Jeff Johnson , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 039/238] wifi: ath10k: fix NULL pointer dereference in ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev() Date: Sun, 24 Mar 2024 19:37:07 -0400 Message-ID: <20240324234027.1354210-40-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Xingyuan Mo [ Upstream commit ad25ee36f00172f7d53242dc77c69fff7ced0755 ] We should check whether the WMI_TLV_TAG_STRUCT_MGMT_TX_COMPL_EVENT tlv is present before accessing it, otherwise a null pointer deference error will occur. Fixes: dc405152bb64 ("ath10k: handle mgmt tx completion event") Signed-off-by: Xingyuan Mo Acked-by: Jeff Johnson Signed-off-by: Kalle Valo Link: https://msgid.link/20231208043433.271449-1-hdthky0@gmail.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/ath/ath10k/wmi-tlv.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wirele= ss/ath/ath10k/wmi-tlv.c index 4f2fbc610d798..0eeb74245372f 100644 --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c @@ -844,6 +844,10 @@ ath10k_wmi_tlv_op_pull_mgmt_tx_compl_ev(struct ath10k = *ar, struct sk_buff *skb, } =20 ev =3D tb[WMI_TLV_TAG_STRUCT_MGMT_TX_COMPL_EVENT]; + if (!ev) { + kfree(tb); + return -EPROTO; + } =20 arg->desc_id =3D ev->desc_id; arg->status =3D ev->status; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 795225BAFC; Sun, 24 Mar 2024 23:41:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323669; cv=none; b=R/ME9FjFIMF53CYUPE5s4bBponVml1OMBFiBssoxiNs3ztW2fojdYdl50mNqOs/rEMTXrVVwpCP0FFr9590YBlOoUQDAcamjluusBg/XZHA3GrShVOZYJtmfN0Fjw2roFPErK7E2xdcVcmHxWVlq41FOCdWgwb04ojyH+D6RzTk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323669; c=relaxed/simple; bh=b/5s7QGVGOrCuOtXOJt/WL9bT1hmlf6/D8yCh5Oa4Bo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TNSHHJ2LT13jZNFe1ecj1FAuS2LV2wMNWcw4LqR0SwK7jXAxjXtWNdsCstvwNipgVygE9/zlYeh7y5RqQgq4YMlFhcuwBfKj5yo4LyTkJYItSvEJDAY1Wpaep3MtNAFSrFSmQ+mBBv/G+4ZKlNI+Bh9Pbplt+ncGYNFj9gjzPq0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QudVlzr9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QudVlzr9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9C8B4C43394; Sun, 24 Mar 2024 23:41:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323668; bh=b/5s7QGVGOrCuOtXOJt/WL9bT1hmlf6/D8yCh5Oa4Bo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QudVlzr9PvEUV0wDdJZp6v132br4nH+TkAgZ+8r9Ntk7igAEwSpEWmkB8n10wgIju chVE8F3YlLVFNQ4PdoT1TWV6CdLQ1EdPWE3Zl+dHQjUS4h1adR9jSYOiwsD7Wx1rkL VXetj40y4vJnufpQF9JHZsOsALhfEBr23SJQGEg27cp7ffiHrIg2cYskDZm7qLqoIO 3QxmsSwY0QEF7yZpJnIIhndibP4fND/l9bNeap2gnaxvbVEHeHxT3J7Iv2bTq1V8gS wTiSlppVxVQ598La2kkD+Qt/2gWVVCWm2I9N0Omzeg/3jclSFY9DnBQP69jOfkBnbP BcsEfmYV7m65w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Rahul Rameshbabu , Julian Calaby , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 040/238] wifi: b43: Stop/wake correct queue in DMA Tx path when QoS is disabled Date: Sun, 24 Mar 2024 19:37:08 -0400 Message-ID: <20240324234027.1354210-41-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Rahul Rameshbabu [ Upstream commit 9636951e4468f02c72cc75a82dc65d003077edbc ] When QoS is disabled, the queue priority value will not map to the correct ieee80211 queue since there is only one queue. Stop/wake queue 0 when QoS is disabled to prevent trying to stop/wake a non-existent queue and failing to stop/wake the actual queue instantiated. Log of issue before change (with kernel parameter qos=3D0): [ +5.112651] ------------[ cut here ]------------ [ +0.000005] WARNING: CPU: 7 PID: 25513 at net/mac80211/util.c:449 __i= eee80211_wake_queue+0xd5/0x180 [mac80211] [ +0.000067] Modules linked in: b43(O) snd_seq_dummy snd_hrtimer snd_s= eq snd_seq_device nft_chain_nat xt_MASQUERADE nf_nat xfrm_user xfrm_algo xt= _addrtype overlay ccm af_packet amdgpu snd_hda_codec_cirrus snd_hda_codec_g= eneric ledtrig_audio drm_exec amdxcp gpu_sched xt_conntrack nf_conntrack nf= _defrag_ipv6 nf_defrag_ipv4 ip6t_rpfilter ipt_rpfilter xt_pkttype xt_LOG nf= _log_syslog xt_tcpudp nft_compat nf_tables nfnetlink sch_fq_codel btusb uin= put iTCO_wdt ctr btrtl intel_pmc_bxt i915 intel_rapl_msr mei_hdcp mei_pxp j= oydev at24 watchdog btintel atkbd libps2 serio radeon btbcm vivaldi_fmap bt= mtk intel_rapl_common snd_hda_codec_hdmi bluetooth uvcvideo nls_iso8859_1 a= pplesmc nls_cp437 x86_pkg_temp_thermal snd_hda_intel intel_powerclamp vfat = videobuf2_vmalloc coretemp fat snd_intel_dspcfg crc32_pclmul uvc polyval_cl= mulni snd_intel_sdw_acpi loop videobuf2_memops snd_hda_codec tun drm_suball= oc_helper polyval_generic drm_ttm_helper drm_buddy tap ecdh_generic videobu= f2_v4l2 gf128mul macvlan ttm ghash_clmulni_intel ecc tg3 [ +0.000044] videodev bridge snd_hda_core rapl crc16 drm_display_help= er cec mousedev snd_hwdep evdev intel_cstate bcm5974 hid_appleir videobuf2_= common stp mac_hid libphy snd_pcm drm_kms_helper acpi_als mei_me intel_unco= re llc mc snd_timer intel_gtt industrialio_triggered_buffer apple_mfi_fastc= harge i2c_i801 mei snd lpc_ich agpgart ptp i2c_smbus thunderbolt apple_gmux= i2c_algo_bit kfifo_buf video industrialio soundcore pps_core wmi tiny_powe= r_button sbs sbshc button ac cordic bcma mac80211 cfg80211 ssb rfkill libar= c4 kvm_intel kvm drm irqbypass fuse backlight firmware_class efi_pstore con= figfs efivarfs dmi_sysfs ip_tables x_tables autofs4 dm_crypt cbc encrypted_= keys trusted asn1_encoder tee tpm rng_core input_leds hid_apple led_class h= id_generic usbhid hid sd_mod t10_pi crc64_rocksoft crc64 crc_t10dif crct10d= if_generic ahci libahci libata uhci_hcd ehci_pci ehci_hcd crct10dif_pclmul = crct10dif_common sha512_ssse3 sha512_generic sha256_ssse3 sha1_ssse3 aesni_= intel usbcore scsi_mod libaes crypto_simd cryptd scsi_common [ +0.000055] usb_common rtc_cmos btrfs blake2b_generic libcrc32c crc3= 2c_generic crc32c_intel xor raid6_pq dm_snapshot dm_bufio dm_mod dax [last = unloaded: b43(O)] [ +0.000009] CPU: 7 PID: 25513 Comm: irq/17-b43 Tainted: G W O= 6.6.7 #1-NixOS [ +0.000003] Hardware name: Apple Inc. MacBookPro8,3/Mac-942459F5819B1= 71B, BIOS 87.0.0.0.0 06/13/2019 [ +0.000001] RIP: 0010:__ieee80211_wake_queue+0xd5/0x180 [mac80211] [ +0.000046] Code: 00 45 85 e4 0f 85 9b 00 00 00 48 8d bd 40 09 00 00 = f0 48 0f ba ad 48 09 00 00 00 72 0f 5b 5d 41 5c 41 5d 41 5e e9 cb 6d 3c d0 = <0f> 0b 5b 5d 41 5c 41 5d 41 5e c3 cc cc cc cc 48 8d b4 16 94 00 00 [ +0.000002] RSP: 0018:ffffc90003c77d60 EFLAGS: 00010097 [ +0.000001] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 00000000= 00000000 [ +0.000001] RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff8882= 0b924900 [ +0.000002] RBP: ffff88820b924900 R08: ffffc90003c77d90 R09: 00000000= 0003bfd0 [ +0.000001] R10: ffff88820b924900 R11: ffffc90003c77c68 R12: 00000000= 00000000 [ +0.000001] R13: 0000000000000000 R14: ffffc90003c77d90 R15: ffffffff= c0fa6f40 [ +0.000001] FS: 0000000000000000(0000) GS:ffff88846fb80000(0000) knl= GS:0000000000000000 [ +0.000001] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ +0.000001] CR2: 00007fafda7ae008 CR3: 000000046d220005 CR4: 00000000= 000606e0 [ +0.000002] Call Trace: [ +0.000003] [ +0.000001] ? __ieee80211_wake_queue+0xd5/0x180 [mac80211] [ +0.000044] ? __warn+0x81/0x130 [ +0.000005] ? __ieee80211_wake_queue+0xd5/0x180 [mac80211] [ +0.000045] ? report_bug+0x171/0x1a0 [ +0.000004] ? handle_bug+0x41/0x70 [ +0.000004] ? exc_invalid_op+0x17/0x70 [ +0.000003] ? asm_exc_invalid_op+0x1a/0x20 [ +0.000005] ? __ieee80211_wake_queue+0xd5/0x180 [mac80211] [ +0.000043] ieee80211_wake_queue+0x4a/0x80 [mac80211] [ +0.000044] b43_dma_handle_txstatus+0x29c/0x3a0 [b43] [ +0.000016] ? __pfx_irq_thread_fn+0x10/0x10 [ +0.000002] b43_handle_txstatus+0x61/0x80 [b43] [ +0.000012] b43_interrupt_thread_handler+0x3f9/0x6b0 [b43] [ +0.000011] irq_thread_fn+0x23/0x60 [ +0.000002] irq_thread+0xfe/0x1c0 [ +0.000002] ? __pfx_irq_thread_dtor+0x10/0x10 [ +0.000001] ? __pfx_irq_thread+0x10/0x10 [ +0.000001] kthread+0xe8/0x120 [ +0.000003] ? __pfx_kthread+0x10/0x10 [ +0.000003] ret_from_fork+0x34/0x50 [ +0.000002] ? __pfx_kthread+0x10/0x10 [ +0.000002] ret_from_fork_asm+0x1b/0x30 [ +0.000004] [ +0.000001] ---[ end trace 0000000000000000 ]--- [ +0.000065] ------------[ cut here ]------------ [ +0.000001] WARNING: CPU: 0 PID: 56077 at net/mac80211/util.c:514 __i= eee80211_stop_queue+0xcc/0xe0 [mac80211] [ +0.000077] Modules linked in: b43(O) snd_seq_dummy snd_hrtimer snd_s= eq snd_seq_device nft_chain_nat xt_MASQUERADE nf_nat xfrm_user xfrm_algo xt= _addrtype overlay ccm af_packet amdgpu snd_hda_codec_cirrus snd_hda_codec_g= eneric ledtrig_audio drm_exec amdxcp gpu_sched xt_conntrack nf_conntrack nf= _defrag_ipv6 nf_defrag_ipv4 ip6t_rpfilter ipt_rpfilter xt_pkttype xt_LOG nf= _log_syslog xt_tcpudp nft_compat nf_tables nfnetlink sch_fq_codel btusb uin= put iTCO_wdt ctr btrtl intel_pmc_bxt i915 intel_rapl_msr mei_hdcp mei_pxp j= oydev at24 watchdog btintel atkbd libps2 serio radeon btbcm vivaldi_fmap bt= mtk intel_rapl_common snd_hda_codec_hdmi bluetooth uvcvideo nls_iso8859_1 a= pplesmc nls_cp437 x86_pkg_temp_thermal snd_hda_intel intel_powerclamp vfat = videobuf2_vmalloc coretemp fat snd_intel_dspcfg crc32_pclmul uvc polyval_cl= mulni snd_intel_sdw_acpi loop videobuf2_memops snd_hda_codec tun drm_suball= oc_helper polyval_generic drm_ttm_helper drm_buddy tap ecdh_generic videobu= f2_v4l2 gf128mul macvlan ttm ghash_clmulni_intel ecc tg3 [ +0.000073] videodev bridge snd_hda_core rapl crc16 drm_display_help= er cec mousedev snd_hwdep evdev intel_cstate bcm5974 hid_appleir videobuf2_= common stp mac_hid libphy snd_pcm drm_kms_helper acpi_als mei_me intel_unco= re llc mc snd_timer intel_gtt industrialio_triggered_buffer apple_mfi_fastc= harge i2c_i801 mei snd lpc_ich agpgart ptp i2c_smbus thunderbolt apple_gmux= i2c_algo_bit kfifo_buf video industrialio soundcore pps_core wmi tiny_powe= r_button sbs sbshc button ac cordic bcma mac80211 cfg80211 ssb rfkill libar= c4 kvm_intel kvm drm irqbypass fuse backlight firmware_class efi_pstore con= figfs efivarfs dmi_sysfs ip_tables x_tables autofs4 dm_crypt cbc encrypted_= keys trusted asn1_encoder tee tpm rng_core input_leds hid_apple led_class h= id_generic usbhid hid sd_mod t10_pi crc64_rocksoft crc64 crc_t10dif crct10d= if_generic ahci libahci libata uhci_hcd ehci_pci ehci_hcd crct10dif_pclmul = crct10dif_common sha512_ssse3 sha512_generic sha256_ssse3 sha1_ssse3 aesni_= intel usbcore scsi_mod libaes crypto_simd cryptd scsi_common [ +0.000084] usb_common rtc_cmos btrfs blake2b_generic libcrc32c crc3= 2c_generic crc32c_intel xor raid6_pq dm_snapshot dm_bufio dm_mod dax [last = unloaded: b43] [ +0.000012] CPU: 0 PID: 56077 Comm: kworker/u16:17 Tainted: G = W O 6.6.7 #1-NixOS [ +0.000003] Hardware name: Apple Inc. MacBookPro8,3/Mac-942459F5819B1= 71B, BIOS 87.0.0.0.0 06/13/2019 [ +0.000001] Workqueue: phy7 b43_tx_work [b43] [ +0.000019] RIP: 0010:__ieee80211_stop_queue+0xcc/0xe0 [mac80211] [ +0.000076] Code: 74 11 48 8b 78 08 0f b7 d6 89 e9 4c 89 e6 e8 ab f4 = 00 00 65 ff 0d 9c b7 34 3f 0f 85 55 ff ff ff 0f 1f 44 00 00 e9 4b ff ff ff = <0f> 0b 5b 5d 41 5c 41 5d c3 cc cc cc cc 0f 1f 80 00 00 00 00 90 90 [ +0.000002] RSP: 0000:ffffc90004157d50 EFLAGS: 00010097 [ +0.000002] RAX: 0000000000000001 RBX: 0000000000000002 RCX: 00000000= 00000000 [ +0.000002] RDX: 0000000000000000 RSI: 0000000000000002 RDI: ffff8882= d65d0900 [ +0.000002] RBP: 0000000000000000 R08: 0000000000000001 R09: 00000000= 00000001 [ +0.000001] R10: 00000000000000ff R11: ffff88814d0155a0 R12: ffff8882= d65d0900 [ +0.000002] R13: 0000000000000000 R14: ffff8881002d2800 R15: 00000000= 000000d0 [ +0.000002] FS: 0000000000000000(0000) GS:ffff88846f800000(0000) knl= GS:0000000000000000 [ +0.000003] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ +0.000002] CR2: 00007f2e8c10c880 CR3: 0000000385b66005 CR4: 00000000= 000606f0 [ +0.000002] Call Trace: [ +0.000001] [ +0.000001] ? __ieee80211_stop_queue+0xcc/0xe0 [mac80211] [ +0.000075] ? __warn+0x81/0x130 [ +0.000004] ? __ieee80211_stop_queue+0xcc/0xe0 [mac80211] [ +0.000075] ? report_bug+0x171/0x1a0 [ +0.000005] ? handle_bug+0x41/0x70 [ +0.000003] ? exc_invalid_op+0x17/0x70 [ +0.000004] ? asm_exc_invalid_op+0x1a/0x20 [ +0.000004] ? __ieee80211_stop_queue+0xcc/0xe0 [mac80211] [ +0.000076] ieee80211_stop_queue+0x36/0x50 [mac80211] [ +0.000077] b43_dma_tx+0x550/0x780 [b43] [ +0.000023] b43_tx_work+0x90/0x130 [b43] [ +0.000018] process_one_work+0x174/0x340 [ +0.000003] worker_thread+0x27b/0x3a0 [ +0.000004] ? __pfx_worker_thread+0x10/0x10 [ +0.000002] kthread+0xe8/0x120 [ +0.000003] ? __pfx_kthread+0x10/0x10 [ +0.000004] ret_from_fork+0x34/0x50 [ +0.000002] ? __pfx_kthread+0x10/0x10 [ +0.000003] ret_from_fork_asm+0x1b/0x30 [ +0.000006] [ +0.000001] ---[ end trace 0000000000000000 ]--- Fixes: e6f5b934fba8 ("b43: Add QOS support") Signed-off-by: Rahul Rameshbabu Reviewed-by: Julian Calaby Signed-off-by: Kalle Valo Link: https://msgid.link/20231231050300.122806-2-sergeantsagara@protonmail.= com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/broadcom/b43/b43.h | 16 ++++++++++++++++ drivers/net/wireless/broadcom/b43/dma.c | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/broadcom/b43/b43.h b/drivers/net/wireless= /broadcom/b43/b43.h index 67b4bac048e58..c0d8fc0b22fb2 100644 --- a/drivers/net/wireless/broadcom/b43/b43.h +++ b/drivers/net/wireless/broadcom/b43/b43.h @@ -1082,6 +1082,22 @@ static inline bool b43_using_pio_transfers(struct b4= 3_wldev *dev) return dev->__using_pio_transfers; } =20 +static inline void b43_wake_queue(struct b43_wldev *dev, int queue_prio) +{ + if (dev->qos_enabled) + ieee80211_wake_queue(dev->wl->hw, queue_prio); + else + ieee80211_wake_queue(dev->wl->hw, 0); +} + +static inline void b43_stop_queue(struct b43_wldev *dev, int queue_prio) +{ + if (dev->qos_enabled) + ieee80211_stop_queue(dev->wl->hw, queue_prio); + else + ieee80211_stop_queue(dev->wl->hw, 0); +} + /* Message printing */ __printf(2, 3) void b43info(struct b43_wl *wl, const char *fmt, ...); __printf(2, 3) void b43err(struct b43_wl *wl, const char *fmt, ...); diff --git a/drivers/net/wireless/broadcom/b43/dma.c b/drivers/net/wireless= /broadcom/b43/dma.c index 9a7c62bd5e431..cfaf2f9d67b22 100644 --- a/drivers/net/wireless/broadcom/b43/dma.c +++ b/drivers/net/wireless/broadcom/b43/dma.c @@ -1399,7 +1399,7 @@ int b43_dma_tx(struct b43_wldev *dev, struct sk_buff = *skb) should_inject_overflow(ring)) { /* This TX ring is full. */ unsigned int skb_mapping =3D skb_get_queue_mapping(skb); - ieee80211_stop_queue(dev->wl->hw, skb_mapping); + b43_stop_queue(dev, skb_mapping); dev->wl->tx_queue_stopped[skb_mapping] =3D true; ring->stopped =3D true; if (b43_debug(dev, B43_DBG_DMAVERBOSE)) { @@ -1570,7 +1570,7 @@ void b43_dma_handle_txstatus(struct b43_wldev *dev, } else { /* If the driver queue is running wake the corresponding * mac80211 queue. */ - ieee80211_wake_queue(dev->wl->hw, ring->queue_prio); + b43_wake_queue(dev, ring->queue_prio); if (b43_debug(dev, B43_DBG_DMAVERBOSE)) { b43dbg(dev->wl, "Woke up TX ring %d\n", ring->index); } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 798D221F9EE; Sun, 24 Mar 2024 23:41:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323669; cv=none; b=XVqOdc8G6t6q7axV6+aO5GFF0co/jr8+ATHjYUXoaJqJ8AvC02k6UIBU17CrbfSg4Sil5v9FR2nExb3pBAbL1y/DrprFIPIKXCEiPH80RiWUDkYS/tF9kLNTVhiCHZfyupz8q0tVlXwr8MboW0/MfPibYtlnZMgHm/HN7iwub08= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323669; c=relaxed/simple; bh=KJVDxpizcfGR7aOIB8U3FFHOvETVfc+6GQRhnboy+Eo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mv3ttl7L49vo7OgL5LzsBw49EDY+YoUDhnk++ck4wkW/6nVNJlhNIJqHDI5RjpUR9qEPDUsr93R9r5dB6RTCYMwJEJkSlOv1gsUFGz7Qo/YRrDncs9BQJtxx+kB7+h+HGmpTq+Xxm5O5UstpHaL9MdPU4emjEqK/De4SLb5q1nk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NMErRSM5; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="NMErRSM5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9EB82C433F1; Sun, 24 Mar 2024 23:41:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323669; bh=KJVDxpizcfGR7aOIB8U3FFHOvETVfc+6GQRhnboy+Eo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NMErRSM5Ne9OuuMOf0pP8NDOWFH1b/fxq8uH8A30voQxFCvHjIK3q31rOPnH+kDgI W+XXBVHthh46rwXCF9AvQ3szR2FL4LRrYG+Q3cNkcdkds/1+KbMDX5H7ee1tLzHwx7 RvUeHhSaBPTqdPxqpeYyhsGR0G9QPQ08Za4PsWuUQz5+BQp0JldXDY5VSYbhvYZNK/ N4zRtlWZqioCTN8GMr7uHbfDtc0MOVnSdSozdhQ+SESnEOFUm7FrkcfaQq+Pn+nKwZ xM/Z8s1hB8PuqLwvpIGtjWk/sDfflAE/9BCJqi8sYy6dKrJjyb1rVsNSNTfMNJuXVU 5Wgl2IHlxH1Sg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Rahul Rameshbabu , Julian Calaby , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 041/238] wifi: b43: Stop/wake correct queue in PIO Tx path when QoS is disabled Date: Sun, 24 Mar 2024 19:37:09 -0400 Message-ID: <20240324234027.1354210-42-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Rahul Rameshbabu [ Upstream commit 77135a38f6c2f950d2306ac3d37cbb407e6243f2 ] When QoS is disabled, the queue priority value will not map to the correct ieee80211 queue since there is only one queue. Stop/wake queue 0 when QoS is disabled to prevent trying to stop/wake a non-existent queue and failing to stop/wake the actual queue instantiated. Fixes: 5100d5ac81b9 ("b43: Add PIO support for PCMCIA devices") Signed-off-by: Rahul Rameshbabu Reviewed-by: Julian Calaby Signed-off-by: Kalle Valo Link: https://msgid.link/20231231050300.122806-3-sergeantsagara@protonmail.= com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/broadcom/b43/pio.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireless/broadcom/b43/pio.c b/drivers/net/wireless= /broadcom/b43/pio.c index 8c28a9250cd19..cc19b589fa70d 100644 --- a/drivers/net/wireless/broadcom/b43/pio.c +++ b/drivers/net/wireless/broadcom/b43/pio.c @@ -525,7 +525,7 @@ int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *s= kb) if (total_len > (q->buffer_size - q->buffer_used)) { /* Not enough memory on the queue. */ err =3D -EBUSY; - ieee80211_stop_queue(dev->wl->hw, skb_get_queue_mapping(skb)); + b43_stop_queue(dev, skb_get_queue_mapping(skb)); q->stopped =3D true; goto out; } @@ -552,7 +552,7 @@ int b43_pio_tx(struct b43_wldev *dev, struct sk_buff *s= kb) if (((q->buffer_size - q->buffer_used) < roundup(2 + 2 + 6, 4)) || (q->free_packet_slots =3D=3D 0)) { /* The queue is full. */ - ieee80211_stop_queue(dev->wl->hw, skb_get_queue_mapping(skb)); + b43_stop_queue(dev, skb_get_queue_mapping(skb)); q->stopped =3D true; } =20 @@ -587,7 +587,7 @@ void b43_pio_handle_txstatus(struct b43_wldev *dev, list_add(&pack->list, &q->packets_list); =20 if (q->stopped) { - ieee80211_wake_queue(dev->wl->hw, q->queue_prio); + b43_wake_queue(dev, q->queue_prio); q->stopped =3D false; } } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 75A622811A9; Sun, 24 Mar 2024 23:41:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323671; cv=none; b=QPgqs6TkC43vSMDji6QpiqDdv/0mfaCqUO0o2TeBrOPwsiJHi24Az0pP/lLKQDQZx1bdw3mZzXJetDXRX9rQItbNlw9yu4EoN1+y/g6YaoNtTcbReiIaI4Ri1dXy2fLYm/EXo3X3E0/wnhOg6UaiJS1RSOKcaHOcJLGFAGfD2Ns= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323671; c=relaxed/simple; bh=3NZJxN1ilBXYbX6v5QjBJ8M3TSMEdpCJXEWGJUSKqo8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Mo3603XEOAnemabM6U3yV8xww/oaCu+Cd6oDNBC3QVmRNcYz7fJU4evySvvdGCCI5XNx9ipVxQEDrTrcWcB0xexcjKNvLvbSBau2J6TVAlA2NWrIQkb4Gp1Jg5vThKaKsqAVUfmDEqQhx8rYbbxmwda8rLjYMSI8bFYYDXCUPxI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=piiy2pgy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="piiy2pgy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9B715C43390; Sun, 24 Mar 2024 23:41:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323670; bh=3NZJxN1ilBXYbX6v5QjBJ8M3TSMEdpCJXEWGJUSKqo8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=piiy2pgyvYkhSRp4/GD4caYUBTPKhuF3Kq7cxoIvqGD80KH6ImpYbV5wirLe2MuJR kTP0RQu0UUNOv1a8MIJATRnHqFcucdinunxyh2bKAIZUTQGEx/Vrp0o1Gm4LKajUjY MeuFJ9P5lCtBB5Xn2By49HiZzlR8fXRTZuc8b3q/bY+ER6wMveKm5RcG3kNHPY6ZQY sB+FHh59Pbl7GCGaur/+8xPPmurGirOaQwlyV7zOtEAy3yeDCZt+OlN5gCTD3yCLXN so4f3tTegx35DzErd1yvd8XjAefQG4OtytzofBbed/ghBiUPRxffkSLeJcr02ezpal 0jbHteMwTvgcQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Rahul Rameshbabu , Julian Calaby , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 042/238] wifi: b43: Stop correct queue in DMA worker when QoS is disabled Date: Sun, 24 Mar 2024 19:37:10 -0400 Message-ID: <20240324234027.1354210-43-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Rahul Rameshbabu [ Upstream commit 581c8967d66c4961076dbbee356834e9c6777184 ] When QoS is disabled, the queue priority value will not map to the correct ieee80211 queue since there is only one queue. Stop queue 0 when QoS is disabled to prevent trying to stop a non-existent queue and failing to stop the actual queue instantiated. Fixes: bad691946966 ("b43: avoid packet losses in the dma worker code.") Signed-off-by: Rahul Rameshbabu Reviewed-by: Julian Calaby Signed-off-by: Kalle Valo Link: https://msgid.link/20231231050300.122806-4-sergeantsagara@protonmail.= com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/broadcom/b43/main.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireles= s/broadcom/b43/main.c index f175dbaffc300..6100c0d2a7f3c 100644 --- a/drivers/net/wireless/broadcom/b43/main.c +++ b/drivers/net/wireless/broadcom/b43/main.c @@ -3603,7 +3603,7 @@ static void b43_tx_work(struct work_struct *work) err =3D b43_dma_tx(dev, skb); if (err =3D=3D -ENOSPC) { wl->tx_queue_stopped[queue_num] =3D true; - ieee80211_stop_queue(wl->hw, queue_num); + b43_stop_queue(dev, queue_num); skb_queue_head(&wl->tx_queue[queue_num], skb); break; } @@ -3627,6 +3627,7 @@ static void b43_op_tx(struct ieee80211_hw *hw, struct sk_buff *skb) { struct b43_wl *wl =3D hw_to_b43_wl(hw); + u16 skb_queue_mapping; =20 if (unlikely(skb->len < 2 + 2 + 6)) { /* Too short, this can't be a valid frame. */ @@ -3635,12 +3636,12 @@ static void b43_op_tx(struct ieee80211_hw *hw, } B43_WARN_ON(skb_shinfo(skb)->nr_frags); =20 - skb_queue_tail(&wl->tx_queue[skb->queue_mapping], skb); - if (!wl->tx_queue_stopped[skb->queue_mapping]) { + skb_queue_mapping =3D skb_get_queue_mapping(skb); + skb_queue_tail(&wl->tx_queue[skb_queue_mapping], skb); + if (!wl->tx_queue_stopped[skb_queue_mapping]) ieee80211_queue_work(wl->hw, &wl->tx_work); - } else { - ieee80211_stop_queue(wl->hw, skb->queue_mapping); - } + else + b43_stop_queue(wl->current_dev, skb_queue_mapping); } =20 static void b43_qos_params_upload(struct b43_wldev *dev, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 750622811A8; Sun, 24 Mar 2024 23:41:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323671; cv=none; b=I12Vn3UYXRVF2FxqeBA7rHKag58eJtqon4Dy0aKTLvyXLXHqGLLjHIGjP02ZU5uiqv2ph5zLWIy5WFKrSk2j7J1b4nHPXweFtAt9G+aAikzyS5EuK/H0ZRcsQfsmZNgwu+B/RqH8UGBQdKywpv68hB/BksR3XYxTffr7HEITPC4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323671; c=relaxed/simple; bh=DVaPUcZGfsXRrLaBgxLaQDa9CsmRpnZR4OpG2n8SCiY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=vGhlI3tiqkSjc2R5ujMe3JpFbzyrOQDUj8ulslTKI3gbLBKthQpPzx8tMtA/qWlORMizqnRnuDEU9dIaaLKhfX7n9NadRoC61d6FCv/D58TGS8FeYgwB+lsyaNVTsDsbi1fuz7Q4UrOURtU5MZUFZe66MspEUD5Z1JrjucZdDAM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AwPS0tr+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AwPS0tr+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 98C75C43394; Sun, 24 Mar 2024 23:41:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323671; bh=DVaPUcZGfsXRrLaBgxLaQDa9CsmRpnZR4OpG2n8SCiY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AwPS0tr+Zp9U4wMJV2b+fYfENp99370sVprN90Fy9lW0aRGmRYnPCw5r2GBc1Engm ixZJPeI4SAhPE/UMTJ1u2guP131JIoLdD8L4avFWefiN2IfyOJWJxW7kU2neT+fRLQ jMEDHU9pANMloEzVeMvSm7o6HrTYlAcibYvsyvWFBmZShohsCAWre8t7cR8DLN3wd4 cXiZB7rU8rcZT+GqAZ6Y5A5JkMLuARE4c7DWWacK8Dxuc7Re8FyqtJcZzaIVxRVvLw O3rWo1M3AmHqPp/FE/Kwkrcv5YhpadlHbo3ZJz++Hs1MOTHh+aj0Dnia77/iHn+voQ k0W1jA+VkZBLA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Rahul Rameshbabu , Julian Calaby , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 043/238] wifi: b43: Disable QoS for bcm4331 Date: Sun, 24 Mar 2024 19:37:11 -0400 Message-ID: <20240324234027.1354210-44-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Rahul Rameshbabu [ Upstream commit 09795bded2e725443fe4a4803cae2079cdaf7b26 ] bcm4331 seems to not function correctly with QoS support. This may be due to issues with currently available firmware or potentially a device specific issue. When queues that are not of the default "best effort" priority are selected, traffic appears to not transmit out of the hardware while no errors are returned. This behavior is present among all the other priority queues: video, voice, and background. While this can be worked around by setting a kernel parameter, the default behavior is problematic for most users and may be difficult to debug. This patch offers a working out-of-box experience for bcm4331 users. Log of the issue (using ssh low-priority traffic as an example): ssh -T -vvvv git@github.com OpenSSH_9.6p1, OpenSSL 3.0.12 24 Oct 2023 debug1: Reading configuration data /etc/ssh/ssh_config debug2: checking match for 'host * exec "/nix/store/q1c2flcykgr4wwg5a6h= 450hxbk4ch589-bash-5.2-p15/bin/bash -c '/nix/store/c015armnkhr6v18za0rypm7s= h1i8js8w-gnupg-2.4.1/bin/gpg-connect-agent --quiet updatestartuptty /bye >/= dev/null 2>&1'"' host github.com originally github.com debug3: /etc/ssh/ssh_config line 5: matched 'host "github.com"' debug1: Executing command: '/nix/store/q1c2flcykgr4wwg5a6h450hxbk4ch589= -bash-5.2-p15/bin/bash -c '/nix/store/c015armnkhr6v18za0rypm7sh1i8js8w-gnup= g-2.4.1/bin/gpg-connect-agent --quiet updatestartuptty /bye >/dev/null 2>&1= '' debug3: command returned status 0 debug3: /etc/ssh/ssh_config line 5: matched 'exec "/nix/store/q1c2flcyk= gr4wwg5a6h450hxbk4ch589-bash-5.2-p15/bin/bash -c '/nix/store/c015armnkhr6v1= 8za0r"' debug2: match found debug1: /etc/ssh/ssh_config line 9: Applying options for * debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/bina= ry-eater/.ssh/known_hosts' debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/bin= ary-eater/.ssh/known_hosts2' debug2: resolving "github.com" port 22 debug3: resolve_host: lookup github.com:22 debug3: channel_clear_timeouts: clearing debug3: ssh_connect_direct: entering debug1: Connecting to github.com [192.30.255.113] port 22. debug3: set_sock_tos: set socket 3 IP_TOS 0x48 Fixes: e6f5b934fba8 ("b43: Add QOS support") Signed-off-by: Rahul Rameshbabu Reviewed-by: Julian Calaby Signed-off-by: Kalle Valo Link: https://msgid.link/20231231050300.122806-5-sergeantsagara@protonmail.= com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/broadcom/b43/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireles= s/broadcom/b43/main.c index 6100c0d2a7f3c..29f97ab9b72a6 100644 --- a/drivers/net/wireless/broadcom/b43/main.c +++ b/drivers/net/wireless/broadcom/b43/main.c @@ -2587,7 +2587,8 @@ static void b43_request_firmware(struct work_struct *= work) =20 start_ieee80211: wl->hw->queues =3D B43_QOS_QUEUE_NUM; - if (!modparam_qos || dev->fw.opensource) + if (!modparam_qos || dev->fw.opensource || + dev->dev->chip_id =3D=3D BCMA_CHIP_ID_BCM4331) wl->hw->queues =3D 1; =20 err =3D ieee80211_register_hw(wl->hw); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5564C2811AF; Sun, 24 Mar 2024 23:41:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323672; cv=none; b=kdAwj4WFRomK413DI0unjq2y5v69fOzMWjEZdUKT3YTyuGIAcLuMNWFEpuKw6M19opJlMkJFyOEZ6z57vmCZ5EuXAZxQHndUGdINTmMnMAQ1JfWzxSUMr46jdPpInsOSFpLu84lA9CMpdMzUKZllzcz0tnBCDooLwYEPdHL5uUw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323672; c=relaxed/simple; bh=tYtOBFKTlqrPpFgpD2Kj2tZ5+ElxGQzIPYLeyxXO1KE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=V9zZ74JBmu89fVH38j29/jv0iCMkaBh1c/308Bf9dH139iCMR7W9DXHQihwtmmai0++WJJ3p5eTIUlqW6T4KhnjTIgFGXnLhWBIBIDjrhNQ/KS6L6MN292o2P+VAr85gN1RVRyxl8LA+TP3+/8Q5ZGB1ywuxQAemzICWlEVbMIs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LKdXb2cx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LKdXb2cx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9718FC43390; Sun, 24 Mar 2024 23:41:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323672; bh=tYtOBFKTlqrPpFgpD2Kj2tZ5+ElxGQzIPYLeyxXO1KE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LKdXb2cxG62UMFKo3wogKJLn2ammcD96g+ZhqNQQT4puO66u5q5TIavxajOU7EjCA QXwy1IR6kbB+fhSVKVv/ru8eXGblpNoa+tG/I/flBKRLvMEh5xXj+eCcn7Hf1NGoL+ tzQrnG0JnwVo8Z1Kq9txJamvnfvJaxBudMG9hFLKFB/09II5cCJtiF4oAVuR/l4W7S j9bCj5/r2nKPO6lVq2jJPuf53gkvaLkpU/NH6cGPxjHgW/gBdl5moasPQIpbDqRmwx EuRTKCOTAHpzzgUeJwgJTLyChsg1qkRIRi1iX1PVdXAZLCAFEFgd09UmakRn74VXOu /y3LjoqwtqEoQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Alexis=20Lothor=C3=A9?= , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 044/238] wifi: wilc1000: fix declarations ordering Date: Sun, 24 Mar 2024 19:37:12 -0400 Message-ID: <20240324234027.1354210-45-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Alexis Lothor=C3=A9 [ Upstream commit 535733e90e5d8912ebeccebb05b354a2d06ff459 ] Reorder parameters declaration in wilc_parse_join_bss_param to enforce reverse christmas tree Signed-off-by: Alexis Lothor=C3=A9 Signed-off-by: Kalle Valo Link: https://msgid.link/20240105075733.36331-2-alexis.lothore@bootlin.com Stable-dep-of: 205c50306acf ("wifi: wilc1000: fix RCU usage in connect path= ") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/microchip/wilc1000/hif.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/microchip/wilc1000/hif.c b/drivers/net/wi= reless/microchip/wilc1000/hif.c index 884f45e627a72..bff33f39605b9 100644 --- a/drivers/net/wireless/microchip/wilc1000/hif.c +++ b/drivers/net/wireless/microchip/wilc1000/hif.c @@ -359,13 +359,13 @@ static void handle_connect_timeout(struct work_struct= *work) void *wilc_parse_join_bss_param(struct cfg80211_bss *bss, struct cfg80211_crypto_settings *crypto) { - struct wilc_join_bss_param *param; - struct ieee80211_p2p_noa_attr noa_attr; - u8 rates_len =3D 0; + const struct cfg80211_bss_ies *ies =3D rcu_dereference(bss->ies); const u8 *tim_elm, *ssid_elm, *rates_ie, *supp_rates_ie; const u8 *ht_ie, *wpa_ie, *wmm_ie, *rsn_ie; + struct ieee80211_p2p_noa_attr noa_attr; + struct wilc_join_bss_param *param; + u8 rates_len =3D 0; int ret; - const struct cfg80211_bss_ies *ies =3D rcu_dereference(bss->ies); =20 param =3D kzalloc(sizeof(*param), GFP_KERNEL); if (!param) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3D4B42811B1; Sun, 24 Mar 2024 23:41:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323673; cv=none; b=Bxl6/r0JTFZf54G35yDew7eacVB5kbAMKQYWCwBg67lAe2ju0Yx9QdjearD0M0DTCfHP/uPu0T5EFi9SdlfNJ1iwRD4H5CfRe80m4AMDkwyCV9s3oa6Y43TKiEGuGCzuMvoyfIT5Coj9fxKgViKjGeUgFNu88j1JbPVjCR2+yx4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323673; c=relaxed/simple; bh=eM7yT7/5njlLyYr5VUzShm8kIicFr2xeiME1jg90/Ls=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JzTJE5SRaGH5oFYZ1mlGBmDhI/ZxFshEN+lxNKn74Ir/wu5LyujHlHaHP3g3qV5fwkeUYuENw+9jv8+OfxZ40B3vTQF7zfdfbJP8tfZQGYT9avz94/imziSA+qo68jxTT0PQIsZLrt1E+IJi0I6LZpH3NkmHoeWBlIi/mzuHRKg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QJ8HJLjm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QJ8HJLjm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 799D8C43394; Sun, 24 Mar 2024 23:41:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323673; bh=eM7yT7/5njlLyYr5VUzShm8kIicFr2xeiME1jg90/Ls=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QJ8HJLjml4igvPTkT50vgfTzI4u7Iqlq+5xtkU6Z+hQpjNLk1+7OO5w1GdAqOeqtT OEqcZP3jSVR9Ge7CrVAJxnS8FzM3O6iBX+hfBsLtrgQF1ACUGQIArKOjnD5OW405Sj +ZWbJNHWcbcXwVFuQ4cW1s44UxLmkrN61hvI+VxYb0Ys4QU+vSMVCQ9fEQLfBVEo+l 4Vp616QB9LZZDqaKAoOgwyTNDJ1gctye15KLZhTx0+tK4h8+JZugOvv+iQmjXH2rqr +I7ric2YxGNba7B8JIwkrZmdWJF6506/VTTzGgrzaSdc41l9va8aVR1g6aVHh4Zd+5 mkNkL3sPklTWw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Alexis=20Lothor=C3=A9?= , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 045/238] wifi: wilc1000: fix RCU usage in connect path Date: Sun, 24 Mar 2024 19:37:13 -0400 Message-ID: <20240324234027.1354210-46-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Alexis Lothor=C3=A9 [ Upstream commit 205c50306acf58a335eb19fa84e40140f4fe814f ] With lockdep enabled, calls to the connect function from cfg802.11 layer lead to the following warning: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D WARNING: suspicious RCU usage 6.7.0-rc1-wt+ #333 Not tainted Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot ----------------------------- drivers/net/wireless/microchip/wilc1000/hif.c:386 suspicious rcu_dereference_check() usage! [...] stack backtrace: CPU: 0 PID: 100 Comm: wpa_supplicant Not tainted 6.7.0-rc1-wt+ #333 Hardware name: Atmel SAMA5 unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x34/0x48 dump_stack_lvl from wilc_parse_join_bss_param+0x7dc/0x7f4 wilc_parse_join_bss_param from connect+0x2c4/0x648 connect from cfg80211_connect+0x30c/0xb74 cfg80211_connect from nl80211_connect+0x860/0xa94 nl80211_connect from genl_rcv_msg+0x3fc/0x59c genl_rcv_msg from netlink_rcv_skb+0xd0/0x1f8 netlink_rcv_skb from genl_rcv+0x2c/0x3c genl_rcv from netlink_unicast+0x3b0/0x550 netlink_unicast from netlink_sendmsg+0x368/0x688 netlink_sendmsg from ____sys_sendmsg+0x190/0x430 ____sys_sendmsg from ___sys_sendmsg+0x110/0x158 ___sys_sendmsg from sys_sendmsg+0xe8/0x150 sys_sendmsg from ret_fast_syscall+0x0/0x1c This warning is emitted because in the connect path, when trying to parse target BSS parameters, we dereference a RCU pointer whithout being in RCU critical section. Fix RCU dereference usage by moving it to a RCU read critical section. To avoid wrapping the whole wilc_parse_join_bss_param under the critical section, just use the critical section to copy ies data Fixes: c460495ee072 ("staging: wilc1000: fix incorrent type in initializer") Signed-off-by: Alexis Lothor=C3=A9 Signed-off-by: Kalle Valo Link: https://msgid.link/20240105075733.36331-3-alexis.lothore@bootlin.com Signed-off-by: Sasha Levin --- drivers/net/wireless/microchip/wilc1000/hif.c | 36 ++++++++++++------- 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/drivers/net/wireless/microchip/wilc1000/hif.c b/drivers/net/wi= reless/microchip/wilc1000/hif.c index bff33f39605b9..457386f9de990 100644 --- a/drivers/net/wireless/microchip/wilc1000/hif.c +++ b/drivers/net/wireless/microchip/wilc1000/hif.c @@ -359,38 +359,49 @@ static void handle_connect_timeout(struct work_struct= *work) void *wilc_parse_join_bss_param(struct cfg80211_bss *bss, struct cfg80211_crypto_settings *crypto) { - const struct cfg80211_bss_ies *ies =3D rcu_dereference(bss->ies); - const u8 *tim_elm, *ssid_elm, *rates_ie, *supp_rates_ie; + const u8 *ies_data, *tim_elm, *ssid_elm, *rates_ie, *supp_rates_ie; const u8 *ht_ie, *wpa_ie, *wmm_ie, *rsn_ie; struct ieee80211_p2p_noa_attr noa_attr; + const struct cfg80211_bss_ies *ies; struct wilc_join_bss_param *param; - u8 rates_len =3D 0; + u8 rates_len =3D 0, ies_len; int ret; =20 param =3D kzalloc(sizeof(*param), GFP_KERNEL); if (!param) return NULL; =20 + rcu_read_lock(); + ies =3D rcu_dereference(bss->ies); + ies_data =3D kmemdup(ies->data, ies->len, GFP_ATOMIC); + if (!ies_data) { + rcu_read_unlock(); + kfree(param); + return NULL; + } + ies_len =3D ies->len; + rcu_read_unlock(); + param->beacon_period =3D cpu_to_le16(bss->beacon_interval); param->cap_info =3D cpu_to_le16(bss->capability); param->bss_type =3D WILC_FW_BSS_TYPE_INFRA; param->ch =3D ieee80211_frequency_to_channel(bss->channel->center_freq); ether_addr_copy(param->bssid, bss->bssid); =20 - ssid_elm =3D cfg80211_find_ie(WLAN_EID_SSID, ies->data, ies->len); + ssid_elm =3D cfg80211_find_ie(WLAN_EID_SSID, ies_data, ies_len); if (ssid_elm) { if (ssid_elm[1] <=3D IEEE80211_MAX_SSID_LEN) memcpy(param->ssid, ssid_elm + 2, ssid_elm[1]); } =20 - tim_elm =3D cfg80211_find_ie(WLAN_EID_TIM, ies->data, ies->len); + tim_elm =3D cfg80211_find_ie(WLAN_EID_TIM, ies_data, ies_len); if (tim_elm && tim_elm[1] >=3D 2) param->dtim_period =3D tim_elm[3]; =20 memset(param->p_suites, 0xFF, 3); memset(param->akm_suites, 0xFF, 3); =20 - rates_ie =3D cfg80211_find_ie(WLAN_EID_SUPP_RATES, ies->data, ies->len); + rates_ie =3D cfg80211_find_ie(WLAN_EID_SUPP_RATES, ies_data, ies_len); if (rates_ie) { rates_len =3D rates_ie[1]; if (rates_len > WILC_MAX_RATES_SUPPORTED) @@ -401,7 +412,7 @@ void *wilc_parse_join_bss_param(struct cfg80211_bss *bs= s, =20 if (rates_len < WILC_MAX_RATES_SUPPORTED) { supp_rates_ie =3D cfg80211_find_ie(WLAN_EID_EXT_SUPP_RATES, - ies->data, ies->len); + ies_data, ies_len); if (supp_rates_ie) { u8 ext_rates =3D supp_rates_ie[1]; =20 @@ -416,11 +427,11 @@ void *wilc_parse_join_bss_param(struct cfg80211_bss *= bss, } } =20 - ht_ie =3D cfg80211_find_ie(WLAN_EID_HT_CAPABILITY, ies->data, ies->len); + ht_ie =3D cfg80211_find_ie(WLAN_EID_HT_CAPABILITY, ies_data, ies_len); if (ht_ie) param->ht_capable =3D true; =20 - ret =3D cfg80211_get_p2p_attr(ies->data, ies->len, + ret =3D cfg80211_get_p2p_attr(ies_data, ies_len, IEEE80211_P2P_ATTR_ABSENCE_NOTICE, (u8 *)&noa_attr, sizeof(noa_attr)); if (ret > 0) { @@ -444,7 +455,7 @@ void *wilc_parse_join_bss_param(struct cfg80211_bss *bs= s, } wmm_ie =3D cfg80211_find_vendor_ie(WLAN_OUI_MICROSOFT, WLAN_OUI_TYPE_MICROSOFT_WMM, - ies->data, ies->len); + ies_data, ies_len); if (wmm_ie) { struct ieee80211_wmm_param_ie *ie; =20 @@ -459,13 +470,13 @@ void *wilc_parse_join_bss_param(struct cfg80211_bss *= bss, =20 wpa_ie =3D cfg80211_find_vendor_ie(WLAN_OUI_MICROSOFT, WLAN_OUI_TYPE_MICROSOFT_WPA, - ies->data, ies->len); + ies_data, ies_len); if (wpa_ie) { param->mode_802_11i =3D 1; param->rsn_found =3D true; } =20 - rsn_ie =3D cfg80211_find_ie(WLAN_EID_RSN, ies->data, ies->len); + rsn_ie =3D cfg80211_find_ie(WLAN_EID_RSN, ies_data, ies_len); if (rsn_ie) { int rsn_ie_len =3D sizeof(struct element) + rsn_ie[1]; int offset =3D 8; @@ -499,6 +510,7 @@ void *wilc_parse_join_bss_param(struct cfg80211_bss *bs= s, param->akm_suites[i] =3D crypto->akm_suites[i] & 0xFF; } =20 + kfree(ies_data); return (void *)param; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 812542811BD; Sun, 24 Mar 2024 23:41:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323675; cv=none; b=stNzoXYUlNED/w44iwAkKTo8m+ham1fVAAsHfpV38lOpPDEw2yT2axwwF1x4DeZpT1IyWOU+zO3kJIIU0rlqedPlt+IFDNFkI7QRWh34C4fyTg6KHnv8L1osP55B8lbCVujAMiyYnF6fRPx++ZFlpKRlBa5N7nUHUWajdXCEbho= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323675; c=relaxed/simple; bh=pK91jJaBnwGOqondxwR+98VyK28KJn+ZyGzSqLRXcCE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KrWGwcRwPidnQj/eWTUDpyClB9X18H7R8yW2BQZ9lhJdvA1Xin268rRCjI30/w/Nh6U7/qdyOdM92CVQ2ggeUHeEBOGVGXNW0r1Hm47ciFKrCAwxRDW+NoOWdj8TddnLWxe9e/2JkjOo+/GIMFQUwjll9nS2oP71Jl5vs590Io4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gCVR9LMz; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gCVR9LMz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5F280C433C7; Sun, 24 Mar 2024 23:41:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323674; bh=pK91jJaBnwGOqondxwR+98VyK28KJn+ZyGzSqLRXcCE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gCVR9LMzGCK5ZhVTeWw7Jtxu2ytEsl6slmAK5pzUaiA7+DwFshsbbVItw8vQp5742 5hMxXKZXy2g1yTQgPVnXjzkHOn6cVsYu3UzwhI3Vla3ZDpH3rxFz0AdMcT4jEVT/J+ rH5Km4wDU40YqGJgMClFWJsl0lUztN2xVR7qNQpy9eqnVXEgK8AuapdE60m6vZFRaV HlpxaGrj5hgag6kfUYhd8ALp6Pio804RTGyGbmB2+Ol+v0PDiXFGSYLA90asHoPaRP C0kS+rlLzO1RndCRsVwiYiCLEqu9CftiT1xsL9qY7RTTxWpGgtxxS6Fy/HrlniZCvm Ex+sWc9vutbmw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Martin Kaistra , Ping-Ke Shih , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 046/238] wifi: rtl8xxxu: add cancel_work_sync() for c2hcmd_work Date: Sun, 24 Mar 2024 19:37:14 -0400 Message-ID: <20240324234027.1354210-47-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Martin Kaistra [ Upstream commit 1213acb478a7181cd73eeaf00db430f1e45b1361 ] The workqueue might still be running, when the driver is stopped. To avoid a use-after-free, call cancel_work_sync() in rtl8xxxu_stop(). Fixes: e542e66b7c2e ("rtl8xxxu: add bluetooth co-existence support for sing= le antenna") Signed-off-by: Martin Kaistra Reviewed-by: Ping-Ke Shih Signed-off-by: Kalle Valo Link: https://msgid.link/20240111163628.320697-2-martin.kaistra@linutronix.= de Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/driver= s/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c index 3051fb358fdd5..9efc15e69ae82 100644 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c @@ -6483,6 +6483,7 @@ static void rtl8xxxu_stop(struct ieee80211_hw *hw) if (priv->usb_interrupts) rtl8xxxu_write32(priv, REG_USB_HIMR, 0); =20 + cancel_work_sync(&priv->c2hcmd_work); cancel_delayed_work_sync(&priv->ra_watchdog); =20 rtl8xxxu_free_rx_resources(priv); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3481D2811BB; Sun, 24 Mar 2024 23:41:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323675; cv=none; b=nGALOHAZC/QKp9g6SO5rYII3Z3QANrQuRAV5HgJjXv3wizJg1YjnbGQtfkv15zaik4WSUya4PInMfdMkHU921e3SBAciHxfqp/9grhegvj8iKAsEC6+MbP0fuR3/0D3+175JTbyOG+UjyoLdPkoc7e6B7i3hM8/SVrcmCoXjfs8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323675; c=relaxed/simple; bh=1XQ8MwnwM5Ha1tMesnidn2cTW17PhSN1EXbTQwFpS6A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=mVeiQ4Pa+R6CYIL0lxHueP3LLaydZ2WmD2iw9s/RgIt1HOrUshMkmJ0GXfoNI4QlD7Dj3HooaMEaOubijjGQqObgt64pryrGMIB0ZEoin75lbc/IpwbYsbM+RKb5zy/r8hjCNoMQcGVoT3u9wRxZPzPYib4u7O6UXsGsf9+SOyA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GELkPQ2t; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="GELkPQ2t" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B5DCC433F1; Sun, 24 Mar 2024 23:41:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323675; bh=1XQ8MwnwM5Ha1tMesnidn2cTW17PhSN1EXbTQwFpS6A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GELkPQ2tKub0pPTQJ28cmyRqaIYK+BKWZ8zHVtg/gL1yg7rhR3R9XNOP5FqKSLHIN p167/j4s6PSG7gftdnw2EQTRG+tzNUtB9boyDcDMXJStY51p/3jDCy8k7/JJ8zmxZX aDT/k/2DggucLlP13Wz+JgZSPKA27/eHbJtWkfzLvYK7BQ3OpwB+8gUvhuxcrxkpht +v3xXH9mkuoxhRo7HRDtfg/hPCQ+tBoedvyy0S13wDspv1Q3aMRUqvDbBeJYniMYdl foB9+0H7+tLlZdRMLaqjKcMFAsJsKZsqXRisrrTSUes20i5NzdoT3DZdwX62ATk7kl dWIaoVjEbGvyg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ajay Singh , =?UTF-8?q?Alexis=20Lothor=C3=A9?= , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 047/238] wifi: wilc1000: fix multi-vif management when deleting a vif Date: Sun, 24 Mar 2024 19:37:15 -0400 Message-ID: <20240324234027.1354210-48-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Ajay Singh [ Upstream commit 12cfc9c8d3faf887a202c89bc312202445fca7e8 ] Adding then removing a second vif currently makes the first vif not working anymore. This is visible for example when we have a first interface connected to some access point: - create a wpa_supplicant.conf with some AP credentials - wpa_supplicant -Dnl80211 -c /etc/wpa_supplicant.conf -i wlan0 - dhclient wlan0 - iw phy phy0 interface add wlan1 type managed - iw dev wlan1 del wlan0 does not manage properly traffic anymore (eg: ping not working) This is due to vif mode being incorrectly reconfigured with some default values in del_virtual_intf, affecting by default first vif. Prevent first vif from being affected on second vif removal by removing vif mode change command in del_virtual_intf Fixes: 9bc061e88054 ("staging: wilc1000: added support to dynamically add/r= emove interfaces") Signed-off-by: Ajay Singh Co-developed-by: Alexis Lothor=C3=A9 Signed-off-by: Alexis Lothor=C3=A9 Signed-off-by: Kalle Valo Link: https://msgid.link/20240115-wilc_1000_fixes-v1-5-54d29463a738@bootlin= .com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/microchip/wilc1000/cfg80211.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/wireless/microchip/wilc1000/cfg80211.c b/drivers/n= et/wireless/microchip/wilc1000/cfg80211.c index dd26f20861807..5d4f9e9a81e05 100644 --- a/drivers/net/wireless/microchip/wilc1000/cfg80211.c +++ b/drivers/net/wireless/microchip/wilc1000/cfg80211.c @@ -1562,7 +1562,6 @@ static int del_virtual_intf(struct wiphy *wiphy, stru= ct wireless_dev *wdev) unregister_netdevice(vif->ndev); vif->monitor_flag =3D 0; =20 - wilc_set_operation_mode(vif, 0, 0, 0); mutex_lock(&wl->vif_mutex); list_del_rcu(&vif->list); wl->vif_num--; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 312592811B5; Sun, 24 Mar 2024 23:41:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323676; cv=none; b=sPCcIZA5t3vUf8VnEsYueGKCCYafyUsnGAAWN+OI/Q/oVH4EQNltbYP8WU4yzmwFu1uKoB7nsQrH+Ac8Tq4fJwoy13/2w8VKznpDQ/likfEAEJ+U8fZEB9rUu9ko4VF6wrNkRD/72CNvaWw5Fdf832kQmHEFNQV7GPY7sHYjB1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323676; c=relaxed/simple; bh=dMAyWF23agArvAO80uHD1LcxVbaqvdgHxmgzfLuynDE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lNSDbi8wxRGRsjPwnqcx00vTS037f0pDjg/6hM1st49V13bcR1pi6pgi9g/CP3VE21BZTDwLFVfwnieSrsUQz2ABY7atwMWcrJjY1x0CONw9XBWkX+97eK0dyDd4LyWL93DiTglM7gSdAk2FECQQew2DK7rEiwtIf4Mlyrc2Zq4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YT83ap+C; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YT83ap+C" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 550FDC433A6; Sun, 24 Mar 2024 23:41:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323676; bh=dMAyWF23agArvAO80uHD1LcxVbaqvdgHxmgzfLuynDE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YT83ap+CH98fD2uRGUBHZ149uOmTz76scSt8H6FLDe/q48GQ8eIFwFZk7896Ch9rO fvBjMxjo+chQjVQ8A81oXKaJsX/GAiOPpj1+o+kDpOYQtyRO4nk5a/q7iRsv0ci2TK 7UG90q7gEmY0pEjQweWQzK/fm7MblcTj++piaYwcywOQM6lvezM+SoPxgpwcp9Ai9b T5g2HwE1sOxgcmD+y1RBmbCBdxZScvmc3UvC7d8oAqsVuFa3r1mbceY+oSZnjg6d/4 84Q8Mof1vYhU8fq81PwP8eSmPHB9UnVurMRWudBBaeyDBkzGxTnw9WJBqCAJ5riU8x tM+l+5Wm8Iy/A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jinjie Ruan , Russell King , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 048/238] wifi: mwifiex: debugfs: Drop unnecessary error check for debugfs_create_dir() Date: Sun, 24 Mar 2024 19:37:16 -0400 Message-ID: <20240324234027.1354210-49-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jinjie Ruan [ Upstream commit 50180c7f8e3de7c2d87f619131776598fcb1478d ] debugfs_create_dir() returns ERR_PTR and never return NULL. As Russell suggested, this patch removes the error checking for debugfs_create_dir(). This is because the DebugFS kernel API is developed in a way that the caller can safely ignore the errors that occur during the creation of DebugFS nodes. The debugfs APIs have a IS_ERR() judge in start_creating() which can handle it gracefully. So these checks are unnecessary. Fixes: 5e6e3a92b9a4 ("wireless: mwifiex: initial commit for Marvell mwifiex= driver") Signed-off-by: Jinjie Ruan Suggested-by: Russell King (Oracle) Signed-off-by: Kalle Valo Link: https://msgid.link/20230903030216.1509013-3-ruanjinjie@huawei.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/marvell/mwifiex/debugfs.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/net/wireless/marvell/mwifiex/debugfs.c b/drivers/net/w= ireless/marvell/mwifiex/debugfs.c index 1e7dc724c6a94..d48a3e0b36060 100644 --- a/drivers/net/wireless/marvell/mwifiex/debugfs.c +++ b/drivers/net/wireless/marvell/mwifiex/debugfs.c @@ -976,9 +976,6 @@ mwifiex_dev_debugfs_init(struct mwifiex_private *priv) priv->dfs_dev_dir =3D debugfs_create_dir(priv->netdev->name, mwifiex_dfs_dir); =20 - if (!priv->dfs_dev_dir) - return; - MWIFIEX_DFS_ADD_FILE(info); MWIFIEX_DFS_ADD_FILE(debug); MWIFIEX_DFS_ADD_FILE(getlog); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 128932811D2; Sun, 24 Mar 2024 23:41:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323678; cv=none; b=PJV295vLiXNtkV2dXFiBvcFKdpq7+5kCLn31jKz9ZPUq6zRI7lNtfwmH7VgJIEbZV4eqOFH2lwCJNAP7uA+0El0XxoBR9AbrmvggCZa2gi0wkr8grR1csCisTQHK8PjbtHY6KFtIMvueJPFvR0IZJIxcB3qvRJxgH58XsRMIQng= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323678; c=relaxed/simple; bh=ATb1YtUcp7NvYmx4HjbB58j2NBFLq651YIr/cfDjZ2Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=UHs2eox909DExnAPdNPAZAaTOIgSBOiq1QcudAZ5GuUW4nmCZhcjoaVn297ZbW2csBN58k1ZiWdtc3tkGKCVVk7iMn2q1X1FA2SqUGCY9jSNF1AMzhE+JpReLXqTnR96kxoKZjsWQjryGPfHOz5ZDa2iwzw9+QrsYxEohCYhCy8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XTo2cz4C; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XTo2cz4C" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 528D1C43394; Sun, 24 Mar 2024 23:41:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323676; bh=ATb1YtUcp7NvYmx4HjbB58j2NBFLq651YIr/cfDjZ2Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XTo2cz4CepZh4/QJ1jNhWq/HWW1rI9SIz3UeiyDQsuQpp6QvFgkpP6QDvUMHlsiJ9 11MEnR8YSkuP96dLAfVn/tfm4Z14tdBJUuXcRwmQJ/6jhKkEGpwprK/DsHNmyajWuc MfhSuBYsa+11ecIMfPS5XwQdX7BX3gg7xKUM7pyvFhIn87wiPIqwvFfB8XOrh19c0e gemDy3mtGoWscOWsbVZubBPaFKP8J+VHDritKniQo6j54D+RC/aKNUkdGt87nReo/5 lE30buOKfPJ/Z5AebVqzaLuG4Vb7YYCSK6nxPS3F06BImsLh8zQkt6p0srGRPm4bve GBbCDqJ2b0sZg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Geert Uytterhoeven , =?UTF-8?q?Niklas=20S=C3=B6derlund?= , Sasha Levin Subject: [PATCH 5.10 049/238] ARM: dts: renesas: r8a73a4: Fix external clocks and clock rate Date: Sun, 24 Mar 2024 19:37:17 -0400 Message-ID: <20240324234027.1354210-50-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Geert Uytterhoeven [ Upstream commit 090c4094574705b0afc7d37825cdc5d06f0e7e02 ] External clocks should be defined as zero-Hz clocks in the SoC .dtsi, and overridden in the board .dts when present. Correct the clock rate of extal1 from 25 to 26 MHz, to match the crystal oscillator present on the APE6-EVM board. Fixes: a76809a329d6ebae ("ARM: shmobile: r8a73a4: Common clock framework DT= description") Signed-off-by: Geert Uytterhoeven Reviewed-by: Niklas S=C3=B6derlund Link: https://lore.kernel.org/r/1692bc8cd465d62168cbf110522ad62a7af3f606.17= 05315614.git.geert+renesas@glider.be Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/arm/boot/dts/r8a73a4-ape6evm.dts | 12 ++++++++++++ arch/arm/boot/dts/r8a73a4.dtsi | 9 ++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/arch/arm/boot/dts/r8a73a4-ape6evm.dts b/arch/arm/boot/dts/r8a7= 3a4-ape6evm.dts index b088e8e351d54..1028f721b38b0 100644 --- a/arch/arm/boot/dts/r8a73a4-ape6evm.dts +++ b/arch/arm/boot/dts/r8a73a4-ape6evm.dts @@ -208,6 +208,18 @@ &cmt1 { status =3D "okay"; }; =20 +&extal1_clk { + clock-frequency =3D <26000000>; +}; + +&extal2_clk { + clock-frequency =3D <48000000>; +}; + +&extalr_clk { + clock-frequency =3D <32768>; +}; + &pfc { scifa0_pins: scifa0 { groups =3D "scifa0_data"; diff --git a/arch/arm/boot/dts/r8a73a4.dtsi b/arch/arm/boot/dts/r8a73a4.dtsi index e5fb1ce261f72..bcde8d1005976 100644 --- a/arch/arm/boot/dts/r8a73a4.dtsi +++ b/arch/arm/boot/dts/r8a73a4.dtsi @@ -494,17 +494,20 @@ clocks { extalr_clk: extalr { compatible =3D "fixed-clock"; #clock-cells =3D <0>; - clock-frequency =3D <32768>; + /* This value must be overridden by the board. */ + clock-frequency =3D <0>; }; extal1_clk: extal1 { compatible =3D "fixed-clock"; #clock-cells =3D <0>; - clock-frequency =3D <25000000>; + /* This value must be overridden by the board. */ + clock-frequency =3D <0>; }; extal2_clk: extal2 { compatible =3D "fixed-clock"; #clock-cells =3D <0>; - clock-frequency =3D <48000000>; + /* This value must be overridden by the board. */ + clock-frequency =3D <0>; }; fsiack_clk: fsiack { compatible =3D "fixed-clock"; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E715B2811D0; Sun, 24 Mar 2024 23:41:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323678; cv=none; b=M10AsFJbW/T/BABlxt/ql5b+pDFgD94m0XczxvnxmEeaPWfeE4/ZOUY82M4urT6bGFYqvfdvHiJ+cUoJGJg8h1IGvNcAs2Ief6e58B+R6ih3yi1xCGKExD3wBPkDXhwJxXA7KYpNJtP21zlDtsYQTjmG9fvHQ+n2bmi7AGdkUTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323678; c=relaxed/simple; bh=3v2u52gHV9cGUvW7r3oyCpl4u5Lb7Ipc60LXIYLcw5Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NE3hXBIt/B1aJ0NPa8XZwB2xDSUmPLwpNkQqiGaCTk0JDqY0OhhFypG/v9Us9v143CRTKnwKLRXQ/Fc51pGwfHeigjv4mBiKHkOxfAEa21fnd9rGkcLSdIt0+i3svunUclhAo7SxFdnw9WfgzFM92Pc9/ElgipZjppyLFQtBstA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fEYYpD6s; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fEYYpD6s" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 352F6C43390; Sun, 24 Mar 2024 23:41:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323677; bh=3v2u52gHV9cGUvW7r3oyCpl4u5Lb7Ipc60LXIYLcw5Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fEYYpD6ste3NLXXBh/DGCAbRQk33R57iOY9PJmd5ei/HL40BYVQBvqu9nFMuJoAr5 9KV/epCU+/LtbFl4FkUkQwJW1DHtPc2HP4agSjIZ4grYS3+8otpPUQU6hc0VVu3Xel aJ1NXRdZlKMZniBhFjv1qqWaIlJQgfOIo1IwXoGJ0hg3g9BxKwqkgMljQXPmKqnZIF 4DgweS+ubtjeiQYjHAPCCjQI7HdddO4Aoo0v5sD6/XIEE6tWzWU93iQsGif40SXgXf FL9q+7njQzwafrXUNL6Y0Mj0uG/pHEc3Ka2O+LJ+q39ljdG1f8Z1/t1uRiOKFGNph9 oMkCK4LOki6dg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Anastasia Belova , Viresh Kumar , Sasha Levin Subject: [PATCH 5.10 050/238] cpufreq: brcmstb-avs-cpufreq: add check for cpufreq_cpu_get's return value Date: Sun, 24 Mar 2024 19:37:18 -0400 Message-ID: <20240324234027.1354210-51-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anastasia Belova [ Upstream commit f661017e6d326ee187db24194cabb013d81bc2a6 ] cpufreq_cpu_get may return NULL. To avoid NULL-dereference check it and return 0 in case of error. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: de322e085995 ("cpufreq: brcmstb-avs-cpufreq: AVS CPUfreq driver for = Broadcom STB SoCs") Signed-off-by: Anastasia Belova Signed-off-by: Viresh Kumar Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/cpufreq/brcmstb-avs-cpufreq.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/cpufreq/brcmstb-avs-cpufreq.c b/drivers/cpufreq/brcmst= b-avs-cpufreq.c index f644c5e325fb2..38ec0fedb247f 100644 --- a/drivers/cpufreq/brcmstb-avs-cpufreq.c +++ b/drivers/cpufreq/brcmstb-avs-cpufreq.c @@ -481,6 +481,8 @@ static bool brcm_avs_is_firmware_loaded(struct private_= data *priv) static unsigned int brcm_avs_cpufreq_get(unsigned int cpu) { struct cpufreq_policy *policy =3D cpufreq_cpu_get(cpu); + if (!policy) + return 0; struct private_data *priv =3D policy->driver_data; =20 cpufreq_cpu_put(policy); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20EFC2811D9; Sun, 24 Mar 2024 23:41:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323680; cv=none; b=gCrmj+7YA2zd2aWELObV+1/8E+6eTpuUnLZq/5ALypOFuoPqANwgLUL2lF8iXMEvgD0YnNqeaIdof4CQWSBTfaLWiN0meaJ1jsiq7NE9OlTK3QuJ8PTGgN0SMd9I+rKzWbpvZgZiFjooOWY8/mmy1MfP0UGyrVIjek8NeyCz5fQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323680; c=relaxed/simple; bh=75RTwF1RiKRiyBcXXdqr/7omHTpdRTEVzn66ZABF4OM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rpMoZuybVPXxPk+rROZ0ZdMF7vUPb5MLJJ4APyUr5rNZYVEE4qYDG7PPexxVEME1DGxylWRhmW5Kgk0qfJC+lPHHcZZhgOK+A8wOEeM9ji3XZlUe4gHPkap5Xr6z0JbeI6IKcboQj3m2SoSaHPg/1b+4rkj7f/RucbfyKfClpTs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NI6+96z6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="NI6+96z6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 18939C4166D; Sun, 24 Mar 2024 23:41:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323679; bh=75RTwF1RiKRiyBcXXdqr/7omHTpdRTEVzn66ZABF4OM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NI6+96z6PGttmaFzKx0pV/pkgPVIvh8Q65dzySzYOC9TJT0ApFRo6Ijw4k9353XKV +mUMAkLl3SWqCHAM8/vVP6ZTOjDPt1Uex8QmaiOpJQOoGGJ+F3Ora3iYve/LFQKlMD LxjCqihyl2XQDqZDGK+pOGWRh4EgfzL0/3P0NTxt366p11NiSrA/XTLsqTs/oic6/W MtTWbLkrHuTWRVfOu1qIuLN5c8Vk/kju5PCcE1SwZ757GYRG/Fw7/8qCmuqASCiZQf zF4OcaeclJJF/HWRtkidk5TLuixZiGJRLNPK6BUmUFdHOq3BdL7IQvth0NsurTC+Y8 u3oMfqqh1e/Mw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Eric Dumazet , Guillaume Nault , Kuniyuki Iwashima , Willem de Bruijn , Paolo Abeni , Sasha Levin Subject: [PATCH 5.10 051/238] sock_diag: annotate data-races around sock_diag_handlers[family] Date: Sun, 24 Mar 2024 19:37:19 -0400 Message-ID: <20240324234027.1354210-52-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Dumazet [ Upstream commit efd402537673f9951992aea4ef0f5ff51d858f4b ] __sock_diag_cmd() and sock_diag_bind() read sock_diag_handlers[family] without a lock held. Use READ_ONCE()/WRITE_ONCE() annotations to avoid potential issues. Fixes: 8ef874bfc729 ("sock_diag: Move the sock_ code to net/core/") Signed-off-by: Eric Dumazet Reviewed-by: Guillaume Nault Reviewed-by: Kuniyuki Iwashima Reviewed-by: Willem de Bruijn Signed-off-by: Paolo Abeni Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/core/sock_diag.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/net/core/sock_diag.c b/net/core/sock_diag.c index c9c45b935f990..bce65b519ee80 100644 --- a/net/core/sock_diag.c +++ b/net/core/sock_diag.c @@ -189,7 +189,7 @@ int sock_diag_register(const struct sock_diag_handler *= hndl) if (sock_diag_handlers[hndl->family]) err =3D -EBUSY; else - sock_diag_handlers[hndl->family] =3D hndl; + WRITE_ONCE(sock_diag_handlers[hndl->family], hndl); mutex_unlock(&sock_diag_table_mutex); =20 return err; @@ -205,7 +205,7 @@ void sock_diag_unregister(const struct sock_diag_handle= r *hnld) =20 mutex_lock(&sock_diag_table_mutex); BUG_ON(sock_diag_handlers[family] !=3D hnld); - sock_diag_handlers[family] =3D NULL; + WRITE_ONCE(sock_diag_handlers[family], NULL); mutex_unlock(&sock_diag_table_mutex); } EXPORT_SYMBOL_GPL(sock_diag_unregister); @@ -223,7 +223,7 @@ static int __sock_diag_cmd(struct sk_buff *skb, struct = nlmsghdr *nlh) return -EINVAL; req->sdiag_family =3D array_index_nospec(req->sdiag_family, AF_MAX); =20 - if (sock_diag_handlers[req->sdiag_family] =3D=3D NULL) + if (READ_ONCE(sock_diag_handlers[req->sdiag_family]) =3D=3D NULL) sock_load_diag_module(req->sdiag_family, 0); =20 mutex_lock(&sock_diag_table_mutex); @@ -282,12 +282,12 @@ static int sock_diag_bind(struct net *net, int group) switch (group) { case SKNLGRP_INET_TCP_DESTROY: case SKNLGRP_INET_UDP_DESTROY: - if (!sock_diag_handlers[AF_INET]) + if (!READ_ONCE(sock_diag_handlers[AF_INET])) sock_load_diag_module(AF_INET, 0); break; case SKNLGRP_INET6_TCP_DESTROY: case SKNLGRP_INET6_UDP_DESTROY: - if (!sock_diag_handlers[AF_INET6]) + if (!READ_ONCE(sock_diag_handlers[AF_INET6])) sock_load_diag_module(AF_INET6, 0); break; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4F98A2811DC; Sun, 24 Mar 2024 23:41:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323680; cv=none; b=LiRYPfXdPKSmZ6WRFiBo+de2trfMwG/3D0xvqMiT4IHKgWCBrh9EWE/4DiDkgZ+Pvnon6ItVfHA1mludFSilopTcNBjkPap+8eonGEhyLzgHyum21p5nIJZnBQK9XwJbt0iJ2XE1dxz9dxXmXo8B9A2Uxw1DJ3LN5H1vJ6HBi5o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323680; c=relaxed/simple; bh=6m+hw0ytwK8q3A+8x1/O6dFDlxarc7SQSSmQSXbygAM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dAiDapxYRHykxgbaDicJM2yxwzrShV6TK05ibI4jHvzxRkvsFWGas3NQ2TpCv+4qv9PEHGFJJKWHKMPxpLrGtKnQTOEdlJrHH4m7PmFnYjcIS46fWaiwDkohloHBcQAae4h+JHq/h2aHj9AOi1slkkTF6FRcmT2c1LUCTc3oV+c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=U6YDQhwv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="U6YDQhwv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 46D4FC43390; Sun, 24 Mar 2024 23:41:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323680; bh=6m+hw0ytwK8q3A+8x1/O6dFDlxarc7SQSSmQSXbygAM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U6YDQhwvcC+68Tf87qV1KYAWdKjkFx85pm4lN1QGizsmpuApoZGKG6wTMR5eA6QeO E/yCd2YWCeCSduLqB5Q6be5VWaiVwZlVoo8NyPtNeEiRy33qEOQKJM0g7qvkBtkeJE M/xGW5FMU4TvjsGNzYfZILlqhWa5Uyxh+zFLGvAJUNJGZ4TTozMLDL7Bmtkj8c0KMk 3PZ8n8ja/BqF6iMO+PFd85O+400G9bIORyn9lMwdGFjV+EAGOkEaPK0gQm5xgTqjpz I9EhT1zZEUQQnSZ05WS28nup1yCS+iPfd/VI5ajWpwQuG06D1kH+mEpPJZ2/+fE/+M KzozOTKl/PiPg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Eric Dumazet , Guillaume Nault , Kuniyuki Iwashima , Willem de Bruijn , Paolo Abeni , Sasha Levin Subject: [PATCH 5.10 052/238] inet_diag: annotate data-races around inet_diag_table[] Date: Sun, 24 Mar 2024 19:37:20 -0400 Message-ID: <20240324234027.1354210-53-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Dumazet [ Upstream commit e50e10ae5d81ddb41547114bfdc5edc04422f082 ] inet_diag_lock_handler() reads inet_diag_table[proto] locklessly. Use READ_ONCE()/WRITE_ONCE() annotations to avoid potential issues. Fixes: d523a328fb02 ("[INET]: Fix inet_diag dead-lock regression") Signed-off-by: Eric Dumazet Reviewed-by: Guillaume Nault Reviewed-by: Kuniyuki Iwashima Reviewed-by: Willem de Bruijn Signed-off-by: Paolo Abeni Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/ipv4/inet_diag.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/net/ipv4/inet_diag.c b/net/ipv4/inet_diag.c index fa9f1de58df46..27a5a7d66d184 100644 --- a/net/ipv4/inet_diag.c +++ b/net/ipv4/inet_diag.c @@ -57,7 +57,7 @@ static const struct inet_diag_handler *inet_diag_lock_han= dler(int proto) return ERR_PTR(-ENOENT); } =20 - if (!inet_diag_table[proto]) + if (!READ_ONCE(inet_diag_table[proto])) sock_load_diag_module(AF_INET, proto); =20 mutex_lock(&inet_diag_table_mutex); @@ -1413,7 +1413,7 @@ int inet_diag_register(const struct inet_diag_handler= *h) mutex_lock(&inet_diag_table_mutex); err =3D -EEXIST; if (!inet_diag_table[type]) { - inet_diag_table[type] =3D h; + WRITE_ONCE(inet_diag_table[type], h); err =3D 0; } mutex_unlock(&inet_diag_table_mutex); @@ -1430,7 +1430,7 @@ void inet_diag_unregister(const struct inet_diag_hand= ler *h) return; =20 mutex_lock(&inet_diag_table_mutex); - inet_diag_table[type] =3D NULL; + WRITE_ONCE(inet_diag_table[type], NULL); mutex_unlock(&inet_diag_table_mutex); } EXPORT_SYMBOL_GPL(inet_diag_unregister); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A679A131185; Sun, 24 Mar 2024 23:41:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323682; cv=none; b=uXyT6ys7N8FPmqRO/OrHGB4DwLfZ/Fcw4PbBOOyS0emszGEj5wzygnKJ73AWyujMn9ldodse1Hf+U4yPqzTxgT3bwUiq4VaV6dU/6b6fwaM2LhGTUpWjtvgRqZGFQWZxMcC+ul6MvrlS3FKOjI8zxjqao6mcSslybajJxrOb7lg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323682; c=relaxed/simple; bh=3W3lrsoiKgSnvKawyn3EkiTNZnvZyA3ktpieySWGVB4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=KsULYoXOtQmJsZbaLHE57GstOhvsG3cvg+gKXyZqH8w3+zFh/TJ1ViWqnprBRZzG/uRweLD4YLJR+zybEyaVSIRx0SPcUcRJCuc2SXGHZYXM5Y1me4WWpdhqlPIcUXsC51R2+t4bgxVj14aAZqk/IFk7KFexlsdhRIrbhANa0TQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SN4ROJxG; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SN4ROJxG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 71252C433A6; Sun, 24 Mar 2024 23:41:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323681; bh=3W3lrsoiKgSnvKawyn3EkiTNZnvZyA3ktpieySWGVB4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SN4ROJxGPw6f4yvyik0ZJSXGu9KlCT/5C4c0BFmdSd+yIkeRjgsEE5tW1btkFFppP h6xIh+txxbE6HVLEnQlNtsMg8qu2CoQdNINsM8ru1olUmPnQ9nfRHK49huTqi0JveL BQX1F1CCHIAKHoSh82mo3KoZcluc4qrASe5w+UqJbbsUPHafXiNaBVFF3/620Q0J17 8gWHXKlTcOXjLAtQRSwwdDarIKghnjutVqhAkvkFiEpjLMhjNWXQej9sogtc378ezV 5JQ6h0yDZzmbUd68FyTxHCvBN1pZN68zIa+I2Q+YKKakVWf6ZQ1yjuj5rQW0L5n+Kl NuzteogEJu7qQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Tiezhu Yang , Daniel Borkmann , Quentin Monnet , Alexei Starovoitov , Sasha Levin Subject: [PATCH 5.10 053/238] bpftool: Silence build warning about calloc() Date: Sun, 24 Mar 2024 19:37:21 -0400 Message-ID: <20240324234027.1354210-54-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Tiezhu Yang [ Upstream commit f5f30386c78105cba520e443a6a9ee945ec1d066 ] There exists the following warning when building bpftool: CC prog.o prog.c: In function =E2=80=98profile_open_perf_events=E2=80=99: prog.c:2301:24: warning: =E2=80=98calloc=E2=80=99 sizes specified with =E2= =80=98sizeof=E2=80=99 in the earlier argument and not in the later argument= [-Wcalloc-transposed-args] 2301 | sizeof(int), obj->rodata->num_cpu * obj->rodata->nu= m_metric); | ^~~ prog.c:2301:24: note: earlier argument should specify number of elements, l= ater size of each element Tested with the latest upstream GCC which contains a new warning option -Wcalloc-transposed-args. The first argument to calloc is documented to be number of elements in array, while the second argument is size of each element, just switch the first and second arguments of calloc() to silence the build warning, compile tested only. Fixes: 47c09d6a9f67 ("bpftool: Introduce "prog profile" command") Signed-off-by: Tiezhu Yang Signed-off-by: Daniel Borkmann Reviewed-by: Quentin Monnet Link: https://lore.kernel.org/bpf/20240116061920.31172-1-yangtiezhu@loongso= n.cn Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- tools/bpf/bpftool/prog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/bpf/bpftool/prog.c b/tools/bpf/bpftool/prog.c index d2bcce627b320..d07996e7952f3 100644 --- a/tools/bpf/bpftool/prog.c +++ b/tools/bpf/bpftool/prog.c @@ -1946,7 +1946,7 @@ static int profile_open_perf_events(struct profiler_b= pf *obj) int map_fd; =20 profile_perf_events =3D calloc( - sizeof(int), obj->rodata->num_cpu * obj->rodata->num_metric); + obj->rodata->num_cpu * obj->rodata->num_metric, sizeof(int)); if (!profile_perf_events) { p_err("failed to allocate memory for perf_event array: %s", strerror(errno)); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 42602131188; Sun, 24 Mar 2024 23:41:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323683; cv=none; b=GbnNuskwn/MHri0Ww9c/d3lGjzPqOOJmj0m8BSW/uvv9nyaMxUks7b5jtHnexWUOfvmXsRwF1CNNse5vJKm1/Y6LAhxeWSGtkTAf020OZM3r950mu6GlfQ6Ah3OAiBnb57FTbK3Yrw2lcOyHkhzvGNTDygIh6KpUwXaKGyzjAgQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323683; c=relaxed/simple; bh=PAMZMwA6ckum7R7Mm0LbM8DTdW/7ofn9I96UXMzIw1g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oBPqRW0Dq+vv/ilH3EitpwSlxhtSaKSm4nvD9HYIO5ZL4nQgHT+2lDnZYtu4fx4K1LoZFh5Y9Q64vIY7wKeBjLNfjKqscRGVM4WFjr/GmOQDPAriuZBaogSXchYHMJkx9tFJ53ePQWBQSktqDGDjLSI5muDxsaWIHD4Ux8X3WzM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=e9RJagsy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="e9RJagsy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84608C43394; Sun, 24 Mar 2024 23:41:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323682; bh=PAMZMwA6ckum7R7Mm0LbM8DTdW/7ofn9I96UXMzIw1g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=e9RJagsyR6VxSnjjQ3fEs1iDCTR0V6TKTsd1ULfhvEnF5BeZI9MMIxU9W1Mew+Ew9 c2kq1euZ6SSMYmkhbcVxnAJkr6jgMYTUm6pi6eQjI2wN51ADkKafaS77l+oe5zCwEL Mc5KLHnkZVWaMF1Kb2EFArUVAftLeAENyES2nesJ5kYUt9rThNjleAiTrdaWgrO9dE C7O+XDq6HzMQ/3YK1h+x/4ePgcPYZa8WKTzhrRScnctKVglYDsHE0rE558mJstW+ho GpOIrUOT2o53pmSvLzKhCY+P5xa/ukKDMcqstlDnACUQXc6qJ6FcuUzosfzFDwiRAx 1zTkVblQCev8g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Kuniyuki Iwashima , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.10 054/238] af_unix: Annotate data-race of gc_in_progress in wait_for_unix_gc(). Date: Sun, 24 Mar 2024 19:37:22 -0400 Message-ID: <20240324234027.1354210-55-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Kuniyuki Iwashima [ Upstream commit 31e03207119a535d0b0e3b3a7f91983aeb2cb14d ] gc_in_progress is changed under spin_lock(&unix_gc_lock), but wait_for_unix_gc() reads it locklessly. Let's use READ_ONCE(). Fixes: 5f23b734963e ("net: Fix soft lockups/OOM issues w/ unix garbage coll= ector") Signed-off-by: Kuniyuki Iwashima Link: https://lore.kernel.org/r/20240123170856.41348-2-kuniyu@amazon.com Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/unix/garbage.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/unix/garbage.c b/net/unix/garbage.c index dc27635403932..9121a4d5436d5 100644 --- a/net/unix/garbage.c +++ b/net/unix/garbage.c @@ -198,7 +198,7 @@ void wait_for_unix_gc(void) if (READ_ONCE(unix_tot_inflight) > UNIX_INFLIGHT_TRIGGER_GC && !READ_ONCE(gc_in_progress)) unix_gc(); - wait_event(unix_gc_wait, gc_in_progress =3D=3D false); + wait_event(unix_gc_wait, !READ_ONCE(gc_in_progress)); } =20 /* The external entry point: unix_gc() */ --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E697131187; Sun, 24 Mar 2024 23:41:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323683; cv=none; b=WMRSqJgmqmQedxoKeEma6Y6JqT03ihXxKJ5N6aVqVufENmpkSAqHuUqO3LWfjrFKi0lzjsvJBbtWKAX/if6RiFuPRH1JvQnnMKgRuH1yvTYwPKKZ50sETHwvhdAf1pd8n/FprNdf9lmy5f8E7oDfZG5gIVJ6/IZK/ez+fxWbNl8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323683; c=relaxed/simple; bh=QyAnXMWYQENBOHd4XUvZKCz+yB+VOQoDw0E4z1GetK0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=k/ZGeu9boezr1TEmy1nA/C88Ek/lcUh/kkePw6YprRInpwgNL3gMqTWRcLM/p0k3c2WTqnPozB17qh5qelGJCQ+IFFDmor3MDi9dakzkVOVGVeyllTFGyLcnzX/dYkBYPR3nLVlV+3IrCxGXK+1HcBl2mzIbvP/XLERYcEp1XsA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KGID7eUH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KGID7eUH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 678EEC433C7; Sun, 24 Mar 2024 23:41:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323683; bh=QyAnXMWYQENBOHd4XUvZKCz+yB+VOQoDw0E4z1GetK0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KGID7eUHnco+UOMoSmXPPnhGRkFdu1YpN0kNGON5Ixa4y+9Fvk9fgUEpCX5/IK0AZ 7/7H1eu94RdzFLD+eCJHtYjCAUSlhtLg2xwGo4CBqOWi7/GDm4PqSh/jTznx813mmg mk74kIJf3QlXD1aOgwYWnHm8quTfKYs7cX/8jdV/fctfVkXP0+rD/8LajwqiDNJafA t8P/h+DIZlnOsZ/PfcNLBbpGx/YlwN6Nd4Dqr6/dGlCOGU16kpU3BJTJJsXq8YdV0t 5mVYcJZD9df19EPX5WdUTkv4qrLugjBYVKfuOZYBhZwMjDuiDlBxPvQ+v5I8aHxMcR i7vqjPsKkDY0Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Ubisectech Sirius , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 055/238] wifi: ath9k: delay all of ath9k_wmi_event_tasklet() until init is complete Date: Sun, 24 Mar 2024 19:37:23 -0400 Message-ID: <20240324234027.1354210-56-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Toke H=C3=B8iland-J=C3=B8rgensen [ Upstream commit 24355fcb0d4cbcb6ddda262596558e8cfba70f11 ] The ath9k_wmi_event_tasklet() used in ath9k_htc assumes that all the data structures have been fully initialised by the time it runs. However, becaus= e of the order in which things are initialised, this is not guaranteed to be the case, because the device is exposed to the USB subsystem before the ath9k d= river initialisation is completed. We already committed a partial fix for this in commit: 8b3046abc99e ("ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_= packet()") However, that commit only aborted the WMI_TXSTATUS_EVENTID command in the e= vent tasklet, pairing it with an "initialisation complete" bit in the TX struct.= It seems syzbot managed to trigger the race for one of the other commands as w= ell, so let's just move the existing synchronisation bit to cover the whole tasklet (setting it at the end of ath9k_htc_probe_device() instead of inside ath9k_tx_init()). Link: https://lore.kernel.org/r/ed1d2c66-1193-4c81-9542-d514c29ba8b8.bugrep= ort@ubisectech.com Fixes: 8b3046abc99e ("ath9k_htc: fix NULL pointer dereference at ath9k_htc_= tx_get_packet()") Reported-by: Ubisectech Sirius Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen Signed-off-by: Kalle Valo Link: https://msgid.link/20240126140218.1033443-1-toke@toke.dk Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/ath/ath9k/htc.h | 2 +- drivers/net/wireless/ath/ath9k/htc_drv_init.c | 4 ++++ drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 4 ---- drivers/net/wireless/ath/ath9k/wmi.c | 10 ++++++---- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/net/wireless/ath/ath9k/htc.h b/drivers/net/wireless/at= h/ath9k/htc.h index 237f4ec2cffd7..6c33e898b3000 100644 --- a/drivers/net/wireless/ath/ath9k/htc.h +++ b/drivers/net/wireless/ath/ath9k/htc.h @@ -306,7 +306,6 @@ struct ath9k_htc_tx { DECLARE_BITMAP(tx_slot, MAX_TX_BUF_NUM); struct timer_list cleanup_timer; spinlock_t tx_lock; - bool initialized; }; =20 struct ath9k_htc_tx_ctl { @@ -515,6 +514,7 @@ struct ath9k_htc_priv { unsigned long ps_usecount; bool ps_enabled; bool ps_idle; + bool initialized; =20 #ifdef CONFIG_MAC80211_LEDS enum led_brightness brightness; diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wi= reless/ath/ath9k/htc_drv_init.c index 96a3185a96d75..b014185373f34 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c @@ -966,6 +966,10 @@ int ath9k_htc_probe_device(struct htc_target *htc_hand= le, struct device *dev, =20 htc_handle->drv_priv =3D priv; =20 + /* Allow ath9k_wmi_event_tasklet() to operate. */ + smp_wmb(); + priv->initialized =3D true; + return 0; =20 err_init: diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wi= reless/ath/ath9k/htc_drv_txrx.c index 5037142c5a822..95146ec754d5c 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c @@ -810,10 +810,6 @@ int ath9k_tx_init(struct ath9k_htc_priv *priv) skb_queue_head_init(&priv->tx.data_vo_queue); skb_queue_head_init(&priv->tx.tx_failed); =20 - /* Allow ath9k_wmi_event_tasklet(WMI_TXSTATUS_EVENTID) to operate. */ - smp_wmb(); - priv->tx.initialized =3D true; - return 0; } =20 diff --git a/drivers/net/wireless/ath/ath9k/wmi.c b/drivers/net/wireless/at= h/ath9k/wmi.c index 1476b42b52a91..805ad31edba2b 100644 --- a/drivers/net/wireless/ath/ath9k/wmi.c +++ b/drivers/net/wireless/ath/ath9k/wmi.c @@ -155,6 +155,12 @@ void ath9k_wmi_event_tasklet(struct tasklet_struct *t) } spin_unlock_irqrestore(&wmi->wmi_lock, flags); =20 + /* Check if ath9k_htc_probe_device() completed. */ + if (!data_race(priv->initialized)) { + kfree_skb(skb); + continue; + } + hdr =3D (struct wmi_cmd_hdr *) skb->data; cmd_id =3D be16_to_cpu(hdr->command_id); wmi_event =3D skb_pull(skb, sizeof(struct wmi_cmd_hdr)); @@ -169,10 +175,6 @@ void ath9k_wmi_event_tasklet(struct tasklet_struct *t) &wmi->drv_priv->fatal_work); break; case WMI_TXSTATUS_EVENTID: - /* Check if ath9k_tx_init() completed. */ - if (!data_race(priv->tx.initialized)) - break; - spin_lock_bh(&priv->tx.tx_lock); if (priv->tx.flags & ATH9K_HTC_OP_TX_DRAIN) { spin_unlock_bh(&priv->tx.tx_lock); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7E88B131192; Sun, 24 Mar 2024 23:41:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323684; cv=none; b=ayix6cW4LIpUm9WAXjo81CIYpMXBSxwdHUdyXMeUvo+92yy4v9q5ndUskeV4YjUldGExXf4duNFpKzMzIi2Do/lRnHy/ttW4tIGJ10VooRx4t+kNpcTrofM4AdlVuwaOBqCOJ4/z1M7M3nRNoIk505nOy+RXIoyB/fPYeqe8l7U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323684; c=relaxed/simple; bh=koVwPrZQUSvcHiiHHSXm4PoGQaBqY7IyOELR1RuD3Vo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=auFFCrxOCh3NdCkyPlpLihq9hwGlxtCG/yN1H0YTLzJ25c7YN29WO73tY1px1y4B4GHeFfNzOsE2TlhHqJkSQH0mYgR9wqu74N3ZgKLPTz2yv2o2YkdzU7hSUzIer5f07bu2GiuJAR4nRQgWdMT6FznvmP7Fxq8LH+4x8nJfqqI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DNVkhzZH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DNVkhzZH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 62FBCC43394; Sun, 24 Mar 2024 23:41:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323684; bh=koVwPrZQUSvcHiiHHSXm4PoGQaBqY7IyOELR1RuD3Vo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DNVkhzZHJ+rAlFQxV9qXDbTKF/jWQydx3U7Bcs2AdVplET0ASRhVZ7WbbNOZjmNYc yWc2F11pro1FwPpe6lNXZigmMvzd3KCyKQovbjYSoRJenQhTKWDWBnBzudCDpXr4pM L+R2cgi3DS41K4jd4i5XVt67AHN23+tBwkOiiihaySdYUG1asHqSFPD/QeWsZNArK+ Q0vFEOgL6Gw9rfUoqtKz4BMVnA4Tl9nuVZcreF02yl6+lmN6p6pLppG339wEi0zX2I ErYI2pEBOD5eCMmh5qYsx4wQ4AY2fZ6ZZgKKz8axqFIwGZBaHWr07UAeF5LGyaA1r1 lJQO0pO2GgzLQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Johannes Berg , Gregory Greenman , Miri Korenblit , Sasha Levin Subject: [PATCH 5.10 056/238] wifi: iwlwifi: dbg-tlv: ensure NUL termination Date: Sun, 24 Mar 2024 19:37:24 -0400 Message-ID: <20240324234027.1354210-57-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Johannes Berg [ Upstream commit ea1d166fae14e05d49ffb0ea9fcd4658f8d3dcea ] The iwl_fw_ini_debug_info_tlv is used as a string, so we must ensure the string is terminated correctly before using it. Fixes: a9248de42464 ("iwlwifi: dbg_ini: add TLV allocation new API support") Signed-off-by: Johannes Berg Reviewed-by: Gregory Greenman Signed-off-by: Miri Korenblit Link: https://msgid.link/20240128084842.be15e858ee89.Ibff93429cf999eafc7b26= f3eef4c055dc84984a0@changeid Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c b/drivers/net= /wireless/intel/iwlwifi/iwl-dbg-tlv.c index bcaec8a184cd6..299819d2d1904 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c @@ -155,6 +155,12 @@ static int iwl_dbg_tlv_alloc_debug_info(struct iwl_tra= ns *trans, if (le32_to_cpu(tlv->length) !=3D sizeof(*debug_info)) return -EINVAL; =20 + /* we use this as a string, ensure input was NUL terminated */ + if (strnlen(debug_info->debug_cfg_name, + sizeof(debug_info->debug_cfg_name)) =3D=3D + sizeof(debug_info->debug_cfg_name)) + return -EINVAL; + IWL_DEBUG_FW(trans, "WRT: Loading debug cfg: %s\n", debug_info->debug_cfg_name); =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4743D131190; Sun, 24 Mar 2024 23:41:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323686; cv=none; b=f6Yy6R1XbE6ZkAOx/9F+Q3ybxP/i4nrSxO8vtTKph39GLKoZr6PFW/KWZcrkMO9nan509V4LbmRBoPslkvdSURCt0boQVA9bGTQbyiOjls/nBJsq+msasqZs0B8TA32ygResLsqd5GMErQisVexLRpWLiUhDP7s0eZXk9FeOY/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323686; c=relaxed/simple; bh=zt3XDLC8wxPBuetOHkGtbdT0IDzOCoaaZ61c/INRY2c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rYIw+Msz98j7id+nSIEkQULfiy/Up0xv6ncy1TvLSOGyI9tFxyyN/SymAkX/9VN+a4yCcemejswzRfbsAhlA2/NyzHebkY+TM6K9sShUtxbNVnu6GtGJpz/DIG0yhWBWt9nWDmSTbDLPTqC2efhInwY4+poIIX8FFgMd9R2Kx4A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EUZ/Puij; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="EUZ/Puij" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5FB11C433C7; Sun, 24 Mar 2024 23:41:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323685; bh=zt3XDLC8wxPBuetOHkGtbdT0IDzOCoaaZ61c/INRY2c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EUZ/Puij1zOkb6NZhLxH+XWw9TnX1Qaa7pZnJkx50CrM60DPswkG64MjzvXH0RLtk ujmVeMsIn8ZHZn29YNr5NDnq7tRv2S+PJL6AmQSIw8qUWC9GOKZbw5hVle33oTc3yG 8Nb9m8XlF3QQNOAYxJWZClb6gRmPVmTZtH5oKRcRErP/6WiM3atdN0ctAgcZSDlC6f Rm2PPPgugejBBolr/3OrWLuF0ks2+bkJyggmz0/ab89vkf2gQ5HSScvNonwR5/c5+6 BQEFRnjNIz/NHVRm4GTucWQy5EfKaL+DdVVb+vrNAyVLAjFpDQ2rYxHO/9v5Iv9nDU EvM1VWIY/gWBQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Miri Korenblit , Gregory Greenman , Johannes Berg , Sasha Levin Subject: [PATCH 5.10 057/238] wifi: iwlwifi: fix EWRD table validity check Date: Sun, 24 Mar 2024 19:37:25 -0400 Message-ID: <20240324234027.1354210-58-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Miri Korenblit [ Upstream commit c8d8f3911135921ace8e939ea0956b55f74bf8a0 ] EWRD ACPI table contains up to 3 additional sar profiles. According to the BIOS spec, the table contains a n_profile variable indicating how many additional profiles exist in the table. Currently we check that n_profiles is not <=3D 0. But according to the BIOS spec, 0 is a valid value, and it can't be < 0 anyway because we receive that from ACPI as an unsigned integer. Fixes: 39c1a9728f93 ("iwlwifi: refactor the SAR tables from mvm to acpi") Signed-off-by: Miri Korenblit Reviewed-by: Gregory Greenman Link: https://msgid.link/20240129211905.448ea2f40814.Iffd2aadf8e8693e6cb599= bee0406a800a0c1e081@changeid Signed-off-by: Johannes Berg Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/intel/iwlwifi/fw/acpi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c b/drivers/net/wir= eless/intel/iwlwifi/fw/acpi.c index 5e4faf9ce4bbe..fc35f8f84376c 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.c @@ -555,7 +555,7 @@ int iwl_sar_get_ewrd_table(struct iwl_fw_runtime *fwrt) * from index 1, so the maximum value allowed here is * ACPI_SAR_PROFILES_NUM - 1. */ - if (n_profiles <=3D 0 || n_profiles >=3D ACPI_SAR_PROFILE_NUM) { + if (n_profiles >=3D ACPI_SAR_PROFILE_NUM) { ret =3D -EINVAL; goto out_free; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8EDD113119C; Sun, 24 Mar 2024 23:41:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323686; cv=none; b=mS6k9ki178eTLm6+xvrj1amsElhrDEWReR4pvx1muq0yqibhl4e2Ybt6cB5Dr9lv4et3dTZ6s8rZGn9X1WdblRgxrrh6bhG6QgWyHom8na9It60FHIt8lTOCKiphDoDLXLtEhdxdwjoM86D0UF/MmYU4FwVgZHm3LowG4Tg000Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323686; c=relaxed/simple; bh=LvtZg5e0VQtOBT+DmVlIpjevxUc7VebV46SOEb3fPHw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cDw+egEndqdu6xwwVHzCy8/yWXoOdcm0CYueZCjvIdr1QE1Cc04Vq+LFCMv4J12WKAfR0FU4OnFKN/Zgg1mdBvqD6vqJpjh3x7Isv+yqBOoqEfsu5XwOH7QV0wGVglsbwjz+Jqqfy81ia2Svwq2wDrm2vEg1cIOhXNQ/zKLysp0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SsW2/dRK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="SsW2/dRK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 61FC3C433F1; Sun, 24 Mar 2024 23:41:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323686; bh=LvtZg5e0VQtOBT+DmVlIpjevxUc7VebV46SOEb3fPHw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SsW2/dRKCLpVeAH6HKD6a8oClmZ+NNuPNMr+ATjxjb/+0AcUAUGYcBICZKsRbQJRu xaZ4/ssE+AI1Ac929igPkUbw1CqHL7XJ6IjBpF5x+yM3qeTdd2ihYMIwbfHufSPsoV ieWnYKVC2/BSw+GbkOHGRu28teXLVOcNi54e7ddOBlJl/B62pp8mhpyemq0yGOIhNa CkGM4VH3BGBQeThOQVv599L9kDrV+FyURmPff1e8ZGQU9lon6ZQVigQxOS0gh+9buR c7ehYmIZBllBO/0odIpTBbLR0wbZDtB90Owl4FRtkZkgDqpz9si4lqp9aBAf1y53ht ClwgL0p2LAQJw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Breno Leitao , Jiri Pirko , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 058/238] net: blackhole_dev: fix build warning for ethh set but not used Date: Sun, 24 Mar 2024 19:37:26 -0400 Message-ID: <20240324234027.1354210-59-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Breno Leitao [ Upstream commit 843a8851e89e2e85db04caaf88d8554818319047 ] lib/test_blackhole_dev.c sets a variable that is never read, causing this following building warning: lib/test_blackhole_dev.c:32:17: warning: variable 'ethh' set but not used = [-Wunused-but-set-variable] Remove the variable struct ethhdr *ethh, which is unused. Fixes: 509e56b37cc3 ("blackhole_dev: add a selftest") Signed-off-by: Breno Leitao Reviewed-by: Jiri Pirko Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- lib/test_blackhole_dev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/test_blackhole_dev.c b/lib/test_blackhole_dev.c index 4c40580a99a36..f247089d63c08 100644 --- a/lib/test_blackhole_dev.c +++ b/lib/test_blackhole_dev.c @@ -29,7 +29,6 @@ static int __init test_blackholedev_init(void) { struct ipv6hdr *ip6h; struct sk_buff *skb; - struct ethhdr *ethh; struct udphdr *uh; int data_len; int ret; @@ -61,7 +60,7 @@ static int __init test_blackholedev_init(void) ip6h->saddr =3D in6addr_loopback; ip6h->daddr =3D in6addr_loopback; /* Ether */ - ethh =3D (struct ethhdr *)skb_push(skb, sizeof(struct ethhdr)); + skb_push(skb, sizeof(struct ethhdr)); skb_set_mac_header(skb, 0); =20 skb->protocol =3D htons(ETH_P_IPV6); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E033178CF4; Sun, 24 Mar 2024 23:41:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323688; cv=none; b=f5p8n3LUB9TeqE9tCKTsIzfDW7wAWsia6zFFnCqdpgDEUb0uR4EqSf0CKHh/Me4mKbLqJu1qv06Z9+z3nR9JUmRxbu/PKcR+MUVJX8VsSdYlwtjy0v2WdUMPFACLudaP6+ekbRqhY0RbyU9v5RcuDS+VTYA4yX48thN4YHnDI88= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323688; c=relaxed/simple; bh=eTI9IOKkvtOB8T26gH1qSqbthfn8ohH424sihv1I7Fk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PcMKKnz0FSJEcpihT9j9U5qtVUDkJDVQGJyyOIMJ2y6V47Ci9YEqyeNARDsmQ1Lp2kv8g8bD92IvcXwC/r9+Mzm7kzMnP/sT8eeooFG7+DJ79KNZ9upfYmvlywvrNht6Azni/CciFJaXP/NYIgdFbLb5UBWYwFI239ufHWSK/NY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hhRygCRK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hhRygCRK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D8B0C43394; Sun, 24 Mar 2024 23:41:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323687; bh=eTI9IOKkvtOB8T26gH1qSqbthfn8ohH424sihv1I7Fk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hhRygCRK7TsEPYYVv2fNrSNSB7ceVC/9F96IwLvB9t3HsBbrGm+kLUf2Bdb0NXkEq ByTdXwDbW0fyhNFxdWgj9IRh0+20k9SjxF/mlNW4jjVYjaiVsWrxi+pxThEevzLfXu Q3vVfBixKxbG4snzstZgvjgSW6Zens8mcjAB8rW0MIEsbyirZ2KoRP2ZwjLap7p84Z +pAuW3NVa4eDZUWvP9yZa5KaU26MwjUp5ZV5CeoPigtQ/9cvw0QJ+mJd8Sddir0uOZ ahgpDz8CoESRzcI7C9ddWpxsbyrmJLa/sFuhf1hAxih/mzS3sHbKVjc8uo4GA0ZD0v 2FGQVj4ydNlEg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Zhipeng Lu , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 059/238] wifi: libertas: fix some memleaks in lbs_allocate_cmd_buffer() Date: Sun, 24 Mar 2024 19:37:27 -0400 Message-ID: <20240324234027.1354210-60-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhipeng Lu [ Upstream commit 5f0e4aede01cb01fa633171f0533affd25328c3a ] In the for statement of lbs_allocate_cmd_buffer(), if the allocation of cmdarray[i].cmdbuf fails, both cmdarray and cmdarray[i].cmdbuf needs to be freed. Otherwise, there will be memleaks in lbs_allocate_cmd_buffer(). Fixes: 876c9d3aeb98 ("[PATCH] Marvell Libertas 8388 802.11b/g USB driver") Signed-off-by: Zhipeng Lu Signed-off-by: Kalle Valo Link: https://msgid.link/20240126075336.2825608-1-alexious@zju.edu.cn Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/marvell/libertas/cmd.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/marvell/libertas/cmd.c b/drivers/net/wire= less/marvell/libertas/cmd.c index a4d9dd73b2588..db9a852fa58a3 100644 --- a/drivers/net/wireless/marvell/libertas/cmd.c +++ b/drivers/net/wireless/marvell/libertas/cmd.c @@ -1133,7 +1133,7 @@ int lbs_allocate_cmd_buffer(struct lbs_private *priv) if (!cmdarray[i].cmdbuf) { lbs_deb_host("ALLOC_CMD_BUF: ptempvirtualaddr is NULL\n"); ret =3D -1; - goto done; + goto free_cmd_array; } } =20 @@ -1141,8 +1141,17 @@ int lbs_allocate_cmd_buffer(struct lbs_private *priv) init_waitqueue_head(&cmdarray[i].cmdwait_q); lbs_cleanup_and_insert_cmd(priv, &cmdarray[i]); } - ret =3D 0; + return 0; =20 +free_cmd_array: + for (i =3D 0; i < LBS_NUM_CMD_BUFFERS; i++) { + if (cmdarray[i].cmdbuf) { + kfree(cmdarray[i].cmdbuf); + cmdarray[i].cmdbuf =3D NULL; + } + } + kfree(priv->cmd_array); + priv->cmd_array =3D NULL; done: return ret; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1A9755C600; Sun, 24 Mar 2024 23:41:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323689; cv=none; b=cUEgSZTacsTptTY08dGpi45BD1adGdCciXXeFuqVvucndCZ4Q3QLAMdv2hrGTzdyQTFLKvSymN6ydhcQHJVLkrOQhSJW9gDvQ9kXeeF5P19FuVMjw/D8djsJVrYtntrL3RS+/Cklr/BM6mptkmMt0tCrVpS8UdeL8qrYiTTU4mY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323689; c=relaxed/simple; bh=WpIpVWQpJ5OjInFNBU0qyU6PNSvlKenQXTz605Sz9kY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AnEUySkjbQPhaDWUL6PnGrxyazPN6r3k8+qsUZKhUyxIFYiwcT2uFXE7SK/FyHLKxzljyci7OB7sq0mDRxjyF+JuZN9PgW4esg3I/wq6wVAca+yDm2LrI7vLAZL0HSx7RygD/j7O5iY/Qln0uNLIR2dIOLaItRbQCpm6QqvAE3w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jSkINt1F; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jSkINt1F" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41DF8C433C7; Sun, 24 Mar 2024 23:41:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323688; bh=WpIpVWQpJ5OjInFNBU0qyU6PNSvlKenQXTz605Sz9kY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jSkINt1Ffow3wKqTEyBqkdvOAQCdymNczqnQGYxGwiIY53MsZqFj/lJm/kXTKUxZi SggnJHvXKZ8jS0t94IohkzDzEboCzVVPkfKy2vOdaF0WOMA7v9B3ZNxQG2tJOlvLDW dvHo80ChkUCPk2YcgrF6obl67oi1SS4MT1sKTY9Dc8JVzdU9Ow05kwISfdtNRmDZ5L iA8kKlad/62n0lyF0XfpYxQGg8WeJDoc0vxcsxH96TkJqbMoMpcVSElqTfdEXb2+f6 lGzj6Iij3C3fB0OpekbcznV/K4jNF9Dv267ToUgpCb8OfZH5DPVXAt6NU+FDmRJ6QQ kl22OExkMuDCQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Stephen Brennan , Petr Mladek , Sergey Senozhatsky , Sasha Levin Subject: [PATCH 5.10 060/238] printk: Add panic_in_progress helper Date: Sun, 24 Mar 2024 19:37:28 -0400 Message-ID: <20240324234027.1354210-61-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Stephen Brennan [ Upstream commit 77498617857f68496b360081dde1a492d40c28b2 ] This will be used help avoid deadlocks during panics. Although it would be better to include this in linux/panic.h, it would require that header to include linux/atomic.h as well. On some architectures, this results in a circular dependency as well. So instead add the helper directly to printk.c. Suggested-by: Petr Mladek Signed-off-by: Stephen Brennan Reviewed-by: Petr Mladek Reviewed-by: Sergey Senozhatsky Signed-off-by: Petr Mladek Link: https://lore.kernel.org/r/20220202171821.179394-2-stephen.s.brennan@o= racle.com Stable-dep-of: d04d5882cd67 ("printk: Disable passing console lock owner co= mpletely during panic()") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/printk/printk.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 17a310dcb6d96..94af80b7fa9b5 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -258,6 +258,11 @@ static void __up_console_sem(unsigned long ip) } #define up_console_sem() __up_console_sem(_RET_IP_) =20 +static bool panic_in_progress(void) +{ + return unlikely(atomic_read(&panic_cpu) !=3D PANIC_CPU_INVALID); +} + /* * This is used for debugging the mess that is the VT code by * keeping track if we have the console semaphore held. It's --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57DD317A903; Sun, 24 Mar 2024 23:41:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323690; cv=none; b=SK/YuKEnpAAbckf2bZ0NzP5Q1Wb9lwfmaqfcn/Y0XZB9OGB11bl6G8QY2ahPxZm7ZkzkBY2w44H8b2woMBYmhiqCzQXm/hMAAzqltdylVnXCLxOEjC9CPeAYvfR2Z0OnJH8DUEkAFtOrUO3QGiRtbdRanRBV0zA8JFe2Jxube+o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323690; c=relaxed/simple; bh=Ml/gtYfi61s3A8PLBWk0zIxaNJs6FKIYlP18FdEQ12w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FI5D/3Lzb8fLuNAvhGmpCf1DdFJ3MTe7EaSCL1ijypLDA4Wm6IdI/f5c1c7TmrT726a5xSjYdXF3llf9pCkugLLccxxPNc3PEAPw0r+UE+OcYkiEJiwcQXIHvFChkLyROi99Yl/RK7rP7GwUJBlGdKg0lMc2mp4Vvf17x/h7ATs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Z/YEbClp; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Z/YEbClp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3CE85C433F1; Sun, 24 Mar 2024 23:41:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323688; bh=Ml/gtYfi61s3A8PLBWk0zIxaNJs6FKIYlP18FdEQ12w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Z/YEbClp0RYFIEjpYwILYOli2jp/8hJuPWEvO0Ik3AFjT7aH2yzdwq+YNkRwhghq5 vGqKryi7yUXtXRicKJnQ/26GZGtEa0gS589p85fSGhANvYfIoiRTZVCeHPzmkZeA1r vQqRIuwj+9/kverQ4nzzymrMGHXY8BJgVfD4Cy2q5SVGN4fVnc5ITUvpTCHTC8/TpU a43EqaME2JvgsXE6tWPY22FnfNg3ScIWNBuadhC7AL9485UqTB+AgOduIZkfAKxEqK I94bLznruOdwFjErx/hsAMttISBMzUfdyf3wwhI2kgUwQbwBD3DPsjBFU3Ko5YTXu8 IdlxzJYUpuVuA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Petr Mladek , John Ogness , Sasha Levin Subject: [PATCH 5.10 061/238] printk: Disable passing console lock owner completely during panic() Date: Sun, 24 Mar 2024 19:37:29 -0400 Message-ID: <20240324234027.1354210-62-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Petr Mladek [ Upstream commit d04d5882cd678b898a9d7c5aee6afbe9e6e77fcd ] The commit d51507098ff91 ("printk: disable optimistic spin during panic") added checks to avoid becoming a console waiter if a panic is in progress. However, the transition to panic can occur while there is already a waiter. The current owner should not pass the lock to the waiter because it might get stopped or blocked anytime. Also the panic context might pass the console lock owner to an already stopped waiter by mistake. It might happen when console_flush_on_panic() ignores the current lock owner, for example: CPU0 CPU1 Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot ---- ---- console_lock_spinning_enable() console_trylock_spinning() [CPU1 now console waiter] NMI: panic() panic_other_cpus_shutdown() [stopped as console waiter] console_flush_on_panic() console_lock_spinning_enable() [print 1 record] console_lock_spinning_disable_and_check() [handover to stopped CPU1] This results in panic() not flushing the panic messages. Fix these problems by disabling all spinning operations completely during panic(). Another advantage is that it prevents possible deadlocks caused by "console_owner_lock". The panic() context does not need to take it any longer. The lockless checks are safe because the functions become NOPs when they see the panic in progress. All operations manipulating the state are still synchronized by the lock even when non-panic CPUs would notice the panic synchronously. The current owner might stay spinning. But non-panic() CPUs would get stopped anyway and the panic context will never start spinning. Fixes: dbdda842fe96 ("printk: Add console owner and waiter logic to load ba= lance console writes") Signed-off-by: John Ogness Link: https://lore.kernel.org/r/20240207134103.1357162-12-john.ogness@linut= ronix.de Signed-off-by: Petr Mladek Signed-off-by: Sasha Levin --- kernel/printk/printk.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 94af80b7fa9b5..d109411f108f9 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1760,10 +1760,23 @@ static bool console_waiter; */ static void console_lock_spinning_enable(void) { + /* + * Do not use spinning in panic(). The panic CPU wants to keep the lock. + * Non-panic CPUs abandon the flush anyway. + * + * Just keep the lockdep annotation. The panic-CPU should avoid + * taking console_owner_lock because it might cause a deadlock. + * This looks like the easiest way how to prevent false lockdep + * reports without handling races a lockless way. + */ + if (panic_in_progress()) + goto lockdep; + raw_spin_lock(&console_owner_lock); console_owner =3D current; raw_spin_unlock(&console_owner_lock); =20 +lockdep: /* The waiter may spin on us after setting console_owner */ spin_acquire(&console_owner_dep_map, 0, 0, _THIS_IP_); } @@ -1787,6 +1800,22 @@ static int console_lock_spinning_disable_and_check(v= oid) { int waiter; =20 + /* + * Ignore spinning waiters during panic() because they might get stopped + * or blocked at any time, + * + * It is safe because nobody is allowed to start spinning during panic + * in the first place. If there has been a waiter then non panic CPUs + * might stay spinning. They would get stopped anyway. The panic context + * will never start spinning and an interrupted spin on panic CPU will + * never continue. + */ + if (panic_in_progress()) { + /* Keep lockdep happy. */ + spin_release(&console_owner_dep_map, _THIS_IP_); + return 0; + } + raw_spin_lock(&console_owner_lock); waiter =3D READ_ONCE(console_waiter); console_owner =3D NULL; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE61817A90A; Sun, 24 Mar 2024 23:41:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323691; cv=none; b=rzNWSEfOX1HUlUtOfUl3zZTakB9BfWE2kbZCNIpP8Gp2m6D2q/lp921UjvkxMzsi2Pu6lqZnGarqPfZAb5RVxqK8+k4NKUoINHtkUxqOkPwLFKhmcEde/FYT6/4dHp/8bkIAtVxhTVnZ4y0b7YmAVUqIn5U9ur8A1mSFeqrOKcU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323691; c=relaxed/simple; bh=21kd0MNS3pEpDqW586UDWv2efJv8oqkhwV370kyKQdc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=mk7mwDSXmVmapEFFxFrCg9QafFVsSntTCnSjgxCYA2d4UCQKOK2pJnwH3dVu5dJ6+VRzphprmqM7m6ZfaFN1uskjwFnzKaCtTHxonRWYEJBX35bQmD7w0YGp+vXrc4HuGewlI+V8Bh4qewVt0YiiT3hC9oK8FX2jiKZRv7NmorI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fbIK+w/G; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fbIK+w/G" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 229E5C43390; Sun, 24 Mar 2024 23:41:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323689; bh=21kd0MNS3pEpDqW586UDWv2efJv8oqkhwV370kyKQdc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fbIK+w/G54Iq57eXBzzygICPdwZcEalFLT9tvWL3/Gw1sLSkp/f8yksXw/3GenKaH u5gBAlMAZqY44BB+0ZZCZ8QQY3OgSJBFXfyKRoVPLnUFQbqhhwMyMaTsb0RvaNDCc6 cr0/+KV7VFxV6IioVB1IGOlxWrEmF4VMGcNwC/83GnQEBlWxcFQvCPw67eVIzaJhDf ONdasOnrBqdRx1OlNN71TUSCRIuFoemUPBi+htYeJE3c10pK3y/3HDyMn8rJohTVCz uyDAB+JpoyalNHnKBtPvO7wZe7P0svr8fX5xIPGgOFNVFJ/nHQiFCAXDS87EVNNWt6 i9TIR8/mdktxg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , Matthias Brugger , AngeloGioacchino Del Regno , Sasha Levin Subject: [PATCH 5.10 062/238] arm64: dts: mediatek: mt7622: add missing "device_type" to memory nodes Date: Sun, 24 Mar 2024 19:37:30 -0400 Message-ID: <20240324234027.1354210-63-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Rafa=C5=82 Mi=C5=82ecki [ Upstream commit 99d100e00144bc01b49a697f4bc4398f2f7e7ce4 ] This fixes: arch/arm64/boot/dts/mediatek/mt7622-rfb1.dtb: /: memory@40000000: 'device_t= ype' is a required property from schema $id: http://devicetree.org/schemas/memory.yaml# arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dtb: /: memory@4000000= 0: 'device_type' is a required property from schema $id: http://devicetree.org/schemas/memory.yaml# Signed-off-by: Rafa=C5=82 Mi=C5=82ecki Reviewed-by: Matthias Brugger Reviewed-by: AngeloGioacchino Del Regno Link: https://lore.kernel.org/r/20240122132357.31264-1-zajec5@gmail.com Signed-off-by: AngeloGioacchino Del Regno Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts | 1 + arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts | 1 + 2 files changed, 2 insertions(+) diff --git a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts b/arc= h/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts index 7e6cffdc5a551..778174a7d649b 100644 --- a/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +++ b/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts @@ -71,6 +71,7 @@ red { =20 memory@40000000 { reg =3D <0 0x40000000 0 0x40000000>; + device_type =3D "memory"; }; =20 reg_1p8v: regulator-1p8v { diff --git a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts b/arch/arm64/boot= /dts/mediatek/mt7622-rfb1.dts index 993f033d0bf04..810575de66702 100644 --- a/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts +++ b/arch/arm64/boot/dts/mediatek/mt7622-rfb1.dts @@ -57,6 +57,7 @@ wps { =20 memory@40000000 { reg =3D <0 0x40000000 0 0x20000000>; + device_type =3D "memory"; }; =20 reg_1p8v: regulator-1p8v { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 343AF17A90B; Sun, 24 Mar 2024 23:41:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323691; cv=none; b=NyfIUsqxS8rNwhIOy25dK3Lnw7XlNY9serFblhlaWiAi271ZZllTejw5Ik2YOLhQyd6hXR4NalsFLDC50eDJtG/7aaw/LZkAHKqQmxMVdRqa+YeiCGeqm7X0r37vA10myKq2b8fghfzsSzSlHr7FtxWUhU1pukc+t4buBhunRHw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323691; c=relaxed/simple; bh=YcupNQxkyz3XG7lX4bTxXOqOKbkMCzLitxyZm3jArR8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BZAw9lY2P0CWp+dLyZD5sEcYxTS3BvleIHlVUCNGmh99rQgXiFnhqzv7nUfN0/S8O9SiYbak+6IpPJYb0MiHgmdsPUw6b5CmrpjgHdSLUrOP2Tebn2GVosu3l+D5yoOVRkVnnR5T6m+0o67d4QjOuvIvdSRzbwh60kQLgeK72wI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UXPLzQd9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UXPLzQd9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1D2C4C433C7; Sun, 24 Mar 2024 23:41:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323691; bh=YcupNQxkyz3XG7lX4bTxXOqOKbkMCzLitxyZm3jArR8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UXPLzQd9y8CVXAcGmKPRjvH4HWrDFM+p4q6PM7AW8waEP6oJeRONTjdYsdOqzZb6s 8VC2Xhen91ZJ5Ler+k1stvqJMRF3WxFDl48ngC90+nZhNNPnj1r/qEOVxBz04x2Qv9 cYFWGj5W2Pq61jMvfWCxdI1N2T44KNNyxebzBe9xJ+Rcisira8JjmHKh6LbV8RYAS8 lUHgxu3ZPBuyJQ4eIE7KLfDNr1pdRCZEYkcQUl5O8xCKpl79Ef8RFbKkUtbVyrF8Xi RGr3YLg1KDpOW3RmPKlZKgzKJM3nviconz3kChRimcbo5V5aPBD7M2usCqNrIjByU6 g0SifJOLVA5Lw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Alexei Starovoitov , Daniel Borkmann , Martin KaFai Lau , Andrii Nakryiko , =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Sasha Levin Subject: [PATCH 5.10 063/238] bpf: Factor out bpf_spin_lock into helpers. Date: Sun, 24 Mar 2024 19:37:31 -0400 Message-ID: <20240324234027.1354210-64-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Alexei Starovoitov [ Upstream commit c1b3fed319d32a721d4b9c17afaeb430444ff773 ] Move ____bpf_spin_lock/unlock into helpers to make it more clear that quadruple underscore bpf_spin_lock/unlock are irqsave/restore variants. Signed-off-by: Alexei Starovoitov Signed-off-by: Daniel Borkmann Acked-by: Martin KaFai Lau Acked-by: Andrii Nakryiko Acked-by: Toke H=C3=B8iland-J=C3=B8rgensen Link: https://lore.kernel.org/bpf/20210715005417.78572-3-alexei.starovoitov= @gmail.com Stable-dep-of: 178c54666f9c ("bpf: Mark bpf_spin_{lock,unlock}() helpers wi= th notrace correctly") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/bpf/helpers.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/kernel/bpf/helpers.c b/kernel/bpf/helpers.c index 0efe7c7bfe5e9..d758641973d6d 100644 --- a/kernel/bpf/helpers.c +++ b/kernel/bpf/helpers.c @@ -278,13 +278,18 @@ static inline void __bpf_spin_unlock(struct bpf_spin_= lock *lock) =20 static DEFINE_PER_CPU(unsigned long, irqsave_flags); =20 -notrace BPF_CALL_1(bpf_spin_lock, struct bpf_spin_lock *, lock) +static inline void __bpf_spin_lock_irqsave(struct bpf_spin_lock *lock) { unsigned long flags; =20 local_irq_save(flags); __bpf_spin_lock(lock); __this_cpu_write(irqsave_flags, flags); +} + +notrace BPF_CALL_1(bpf_spin_lock, struct bpf_spin_lock *, lock) +{ + __bpf_spin_lock_irqsave(lock); return 0; } =20 @@ -295,13 +300,18 @@ const struct bpf_func_proto bpf_spin_lock_proto =3D { .arg1_type =3D ARG_PTR_TO_SPIN_LOCK, }; =20 -notrace BPF_CALL_1(bpf_spin_unlock, struct bpf_spin_lock *, lock) +static inline void __bpf_spin_unlock_irqrestore(struct bpf_spin_lock *lock) { unsigned long flags; =20 flags =3D __this_cpu_read(irqsave_flags); __bpf_spin_unlock(lock); local_irq_restore(flags); +} + +notrace BPF_CALL_1(bpf_spin_unlock, struct bpf_spin_lock *, lock) +{ + __bpf_spin_unlock_irqrestore(lock); return 0; } =20 @@ -322,9 +332,9 @@ void copy_map_value_locked(struct bpf_map *map, void *d= st, void *src, else lock =3D dst + map->spin_lock_off; preempt_disable(); - ____bpf_spin_lock(lock); + __bpf_spin_lock_irqsave(lock); copy_map_value(map, dst, src); - ____bpf_spin_unlock(lock); + __bpf_spin_unlock_irqrestore(lock); preempt_enable(); } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C0C617A914; Sun, 24 Mar 2024 23:41:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323693; cv=none; b=nazEGXL94KNauQpHexEWfMiiIksiintbvkYxs5Nf8GB3R97NFhonfItNsQ/pDHT7Pzfr7dIMrZjuc8FMp7Yp39eUCD00wC1roVCFgGjSJlZe+/Omws64LUZrVTVuLLNAsNMWTzYYPUwXR1lf57L6fQPgPQLgmpcSL2KcNS3+ISo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323693; c=relaxed/simple; bh=Xpl75Jz5d6f1KP3VBELqyCnH+uGhJIL7rB7lnTmnKi4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rpJV225LWjATyyK36ISs0DQw6BynOEIiwnkYptycD+yY1k4axUWgRI/2bMq884QyyDpQPv2tLw3MvCW3LrRHHcFlW+Vn+WJoWjz6TTQS+uML74Me/UtFJ/qeS5yGiUs+jIdnMujpF6T5xukAfJ9MH4IGz9YMTuborOOeuGLl/RU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=g5gD0Di2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="g5gD0Di2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 488F3C43394; Sun, 24 Mar 2024 23:41:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323692; bh=Xpl75Jz5d6f1KP3VBELqyCnH+uGhJIL7rB7lnTmnKi4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g5gD0Di2AuFKp42f4kp9S8DeP+Nb82x+B8gnGHYipbcRu5wiXRMcBVLDJjrwj/E72 XtUXZpcglXLomijceF0+cA8dOKs4tKG8eis9iLwqqtLhJFzCwMvGIFufXIlohwxfwS uPa7jv5SEnrqfmdXPOmJrAz1XBcVkbadCQVp9R5p+K+ole86xaoeOwPRt90ycbEj5L Tb02KxP3eQmkWtbt3J697cYQsDG0De+pKRdsFiWa5nFF2ZSm2yD3xLpg8zjdYt6aLa yUjyBgZ7ab6JbxCTBk6gqn5z1K9uAEg7lU/O5wS4qqALezlBzx2wvfJ9RDkinNe+m1 YdEY4MGkeDmNQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Yonghong Song , Andrii Nakryiko , Jiri Olsa , Sasha Levin Subject: [PATCH 5.10 064/238] bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly Date: Sun, 24 Mar 2024 19:37:32 -0400 Message-ID: <20240324234027.1354210-65-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yonghong Song [ Upstream commit 178c54666f9c4d2f49f2ea661d0c11b52f0ed190 ] Currently tracing is supposed not to allow for bpf_spin_{lock,unlock}() helper calls. This is to prevent deadlock for the following cases: - there is a prog (prog-A) calling bpf_spin_{lock,unlock}(). - there is a tracing program (prog-B), e.g., fentry, attached to bpf_spin_lock() and/or bpf_spin_unlock(). - prog-B calls bpf_spin_{lock,unlock}(). For such a case, when prog-A calls bpf_spin_{lock,unlock}(), a deadlock will happen. The related source codes are below in kernel/bpf/helpers.c: notrace BPF_CALL_1(bpf_spin_lock, struct bpf_spin_lock *, lock) notrace BPF_CALL_1(bpf_spin_unlock, struct bpf_spin_lock *, lock) notrace is supposed to prevent fentry prog from attaching to bpf_spin_{lock,unlock}(). But actually this is not the case and fentry prog can successfully attached to bpf_spin_lock(). Siddharth Chintamaneni reported the issue in [1]. The following is the macro definition for above BPF_CALL_1: #define BPF_CALL_x(x, name, ...) = \ static __always_inline = \ u64 ____##name(__BPF_MAP(x, __BPF_DECL_ARGS, __BPF_V, __VA_ARGS__))= ; \ typedef u64 (*btf_##name)(__BPF_MAP(x, __BPF_DECL_ARGS, __BPF_V, __= VA_ARGS__)); \ u64 name(__BPF_REG(x, __BPF_DECL_REGS, __BPF_N, __VA_ARGS__)); = \ u64 name(__BPF_REG(x, __BPF_DECL_REGS, __BPF_N, __VA_ARGS__)) = \ { = \ return ((btf_##name)____##name)(__BPF_MAP(x,__BPF_CAST,__BP= F_N,__VA_ARGS__));\ } = \ static __always_inline = \ u64 ____##name(__BPF_MAP(x, __BPF_DECL_ARGS, __BPF_V, __VA_ARGS__)) #define BPF_CALL_1(name, ...) BPF_CALL_x(1, name, __VA_ARGS__) The notrace attribute is actually applied to the static always_inline funct= ion ____bpf_spin_{lock,unlock}(). The actual callback function bpf_spin_{lock,unlock}() is not marked with notrace, hence allowing fentry prog to attach to two helpers, and this may cause the above mentioned deadlock. Siddharth Chintamaneni actually has a reproducer in [2]. To fix the issue, a new macro NOTRACE_BPF_CALL_1 is introduced which will add notrace attribute to the original function instead of the hidden always_inline function and this fixed the problem. [1] https://lore.kernel.org/bpf/CAE5sdEigPnoGrzN8WU7Tx-h-iFuMZgW06qp0KHWt= pvoXxf1OAQ@mail.gmail.com/ [2] https://lore.kernel.org/bpf/CAE5sdEg6yUc_Jz50AnUXEEUh6O73yQ1Z6NV2srJn= ef0ZrQkZew@mail.gmail.com/ Fixes: d83525ca62cf ("bpf: introduce bpf_spin_lock") Signed-off-by: Yonghong Song Signed-off-by: Andrii Nakryiko Acked-by: Jiri Olsa Link: https://lore.kernel.org/bpf/20240207070102.335167-1-yonghong.song@lin= ux.dev Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/linux/filter.h | 21 ++++++++++++--------- kernel/bpf/helpers.c | 4 ++-- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/include/linux/filter.h b/include/linux/filter.h index cd56e53bd42e2..840b2a05c1b9f 100644 --- a/include/linux/filter.h +++ b/include/linux/filter.h @@ -480,24 +480,27 @@ static inline bool insn_is_zext(const struct bpf_insn= *insn) __BPF_MAP(n, __BPF_DECL_ARGS, __BPF_N, u64, __ur_1, u64, __ur_2, \ u64, __ur_3, u64, __ur_4, u64, __ur_5) =20 -#define BPF_CALL_x(x, name, ...) \ +#define BPF_CALL_x(x, attr, name, ...) \ static __always_inline \ u64 ____##name(__BPF_MAP(x, __BPF_DECL_ARGS, __BPF_V, __VA_ARGS__)); \ typedef u64 (*btf_##name)(__BPF_MAP(x, __BPF_DECL_ARGS, __BPF_V, __VA_ARG= S__)); \ - u64 name(__BPF_REG(x, __BPF_DECL_REGS, __BPF_N, __VA_ARGS__)); \ - u64 name(__BPF_REG(x, __BPF_DECL_REGS, __BPF_N, __VA_ARGS__)) \ + attr u64 name(__BPF_REG(x, __BPF_DECL_REGS, __BPF_N, __VA_ARGS__)); \ + attr u64 name(__BPF_REG(x, __BPF_DECL_REGS, __BPF_N, __VA_ARGS__)) \ { \ return ((btf_##name)____##name)(__BPF_MAP(x,__BPF_CAST,__BPF_N,__VA_ARGS= __));\ } \ static __always_inline \ u64 ____##name(__BPF_MAP(x, __BPF_DECL_ARGS, __BPF_V, __VA_ARGS__)) =20 -#define BPF_CALL_0(name, ...) BPF_CALL_x(0, name, __VA_ARGS__) -#define BPF_CALL_1(name, ...) BPF_CALL_x(1, name, __VA_ARGS__) -#define BPF_CALL_2(name, ...) BPF_CALL_x(2, name, __VA_ARGS__) -#define BPF_CALL_3(name, ...) BPF_CALL_x(3, name, __VA_ARGS__) -#define BPF_CALL_4(name, ...) BPF_CALL_x(4, name, __VA_ARGS__) -#define BPF_CALL_5(name, ...) BPF_CALL_x(5, name, __VA_ARGS__) +#define __NOATTR +#define BPF_CALL_0(name, ...) BPF_CALL_x(0, __NOATTR, name, __VA_ARGS__) +#define BPF_CALL_1(name, ...) BPF_CALL_x(1, __NOATTR, name, __VA_ARGS__) +#define BPF_CALL_2(name, ...) BPF_CALL_x(2, __NOATTR, name, __VA_ARGS__) +#define BPF_CALL_3(name, ...) BPF_CALL_x(3, __NOATTR, name, __VA_ARGS__) +#define BPF_CALL_4(name, ...) BPF_CALL_x(4, __NOATTR, name, __VA_ARGS__) +#define BPF_CALL_5(name, ...) BPF_CALL_x(5, __NOATTR, name, __VA_ARGS__) + +#define NOTRACE_BPF_CALL_1(name, ...) BPF_CALL_x(1, notrace, name, __VA_AR= GS__) =20 #define bpf_ctx_range(TYPE, MEMBER) \ offsetof(TYPE, MEMBER) ... offsetofend(TYPE, MEMBER) - 1 diff --git a/kernel/bpf/helpers.c b/kernel/bpf/helpers.c index d758641973d6d..084ac7e429199 100644 --- a/kernel/bpf/helpers.c +++ b/kernel/bpf/helpers.c @@ -287,7 +287,7 @@ static inline void __bpf_spin_lock_irqsave(struct bpf_s= pin_lock *lock) __this_cpu_write(irqsave_flags, flags); } =20 -notrace BPF_CALL_1(bpf_spin_lock, struct bpf_spin_lock *, lock) +NOTRACE_BPF_CALL_1(bpf_spin_lock, struct bpf_spin_lock *, lock) { __bpf_spin_lock_irqsave(lock); return 0; @@ -309,7 +309,7 @@ static inline void __bpf_spin_unlock_irqrestore(struct = bpf_spin_lock *lock) local_irq_restore(flags); } =20 -notrace BPF_CALL_1(bpf_spin_unlock, struct bpf_spin_lock *, lock) +NOTRACE_BPF_CALL_1(bpf_spin_unlock, struct bpf_spin_lock *, lock) { __bpf_spin_unlock_irqrestore(lock); return 0; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 01AE05A7A8; Sun, 24 Mar 2024 23:41:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323694; cv=none; b=BfHHS95IonJZFbOFF0cYP2QrS0YbnbDZ9lU1s8eW1bc+W8MbF3pIumHg18a55QLpA0hU9OtSiqhQTdQ60rFsnMeVQlpnWoV0Nhd3m0EeDq/oVKxsWKcJITz1+UcfsV9a9Ttnp8w7gyqU04ftFt7xXTi3NpQPjuOkBDHF6/XhpeU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323694; c=relaxed/simple; bh=L7J2W61y/kZ4llxw1sQsqpzpY5VckUHNs+De/7aHmLU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hnTl+MyP6FD4kwcPpFG2egPrxJllxa6tHgP7u2q/HM9m0yKiGCGyi85HijvzKRPVWgOFcyAP5JllvCYNChEenIIZUfoXzKM+e+VnIDWlTx5ptnNnPKwA9v/cRXjNocX1kpDESexry8qLoHYxoqn0NnSI8Crljfk/iFuAefWuPlo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jNBjB5fD; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jNBjB5fD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4260CC433C7; Sun, 24 Mar 2024 23:41:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323692; bh=L7J2W61y/kZ4llxw1sQsqpzpY5VckUHNs+De/7aHmLU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jNBjB5fDmSJQAFR/M3ClUTW4WaXCTCpiMyZMEwhNm7QQZy3GK94v9UOb3XQcTtaRc s5myuOMYt7fxrHbb/AFuGZqoWyEmBoIeJZ1p4kJSToQlpAU0Rme8ol/csx4mo5sTHA HR7O0emRXU0BeSizTGUGtcq1oN4Sizbun2f5LJGe7ROVLHgESOFXYM6i/aCPhW4Pki bRcQejxqv87LFVlWMRxwEUpGwiC5HQ4QxzFup3OIpjDhlB1w2SC012XTouq3Z9aoM0 GdWuywunBZjT6sAS+23UHVW67rq69xtnpSYe/SF+gQRHfe1FXnUa9Zz2JvRQ4NckjJ Wzm1RwtdCyL5Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe JAILLET , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 065/238] wireless: Remove redundant 'flush_workqueue()' calls Date: Sun, 24 Mar 2024 19:37:33 -0400 Message-ID: <20240324234027.1354210-66-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET [ Upstream commit ff1cc2fa3055ee4c83839f38b74b4ee370a2291c ] 'destroy_workqueue()' already drains the queue before destroying it, so there is no need to flush it explicitly. Remove the redundant 'flush_workqueue()' calls. This was generated with coccinelle: @@ expression E; @@ - flush_workqueue(E); destroy_workqueue(E); Signed-off-by: Christophe JAILLET Signed-off-by: Kalle Valo Link: https://lore.kernel.org/r/0855d51423578ad019c0264dad3fe47a2e8af9c7.16= 33849511.git.christophe.jaillet@wanadoo.fr Stable-dep-of: cb5942b77c05 ("wifi: wilc1000: prevent use-after-free on vif= when cleaning up all interfaces") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/ath/ath10k/core.c | 3 --- drivers/net/wireless/ath/ath10k/sdio.c | 1 - drivers/net/wireless/intel/iwlegacy/3945-mac.c | 1 - drivers/net/wireless/intel/iwlegacy/4965-mac.c | 1 - drivers/net/wireless/intel/iwlwifi/dvm/main.c | 1 - drivers/net/wireless/marvell/mwifiex/cfg80211.c | 2 -- drivers/net/wireless/marvell/mwifiex/main.c | 2 -- drivers/net/wireless/microchip/wilc1000/netdev.c | 1 - drivers/net/wireless/quantenna/qtnfmac/core.c | 2 -- drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c | 2 -- drivers/net/wireless/realtek/rtlwifi/pci.c | 1 - drivers/net/wireless/rndis_wlan.c | 2 -- drivers/net/wireless/st/cw1200/bh.c | 2 -- 13 files changed, 21 deletions(-) diff --git a/drivers/net/wireless/ath/ath10k/core.c b/drivers/net/wireless/= ath/ath10k/core.c index d0967bb1f3871..57ac80997319b 100644 --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c @@ -3381,13 +3381,10 @@ EXPORT_SYMBOL(ath10k_core_create); =20 void ath10k_core_destroy(struct ath10k *ar) { - flush_workqueue(ar->workqueue); destroy_workqueue(ar->workqueue); =20 - flush_workqueue(ar->workqueue_aux); destroy_workqueue(ar->workqueue_aux); =20 - flush_workqueue(ar->workqueue_tx_complete); destroy_workqueue(ar->workqueue_tx_complete); =20 ath10k_debug_destroy(ar); diff --git a/drivers/net/wireless/ath/ath10k/sdio.c b/drivers/net/wireless/= ath/ath10k/sdio.c index 0fe639710a8bb..9d1b0890f3105 100644 --- a/drivers/net/wireless/ath/ath10k/sdio.c +++ b/drivers/net/wireless/ath/ath10k/sdio.c @@ -2651,7 +2651,6 @@ static void ath10k_sdio_remove(struct sdio_func *func) =20 ath10k_core_destroy(ar); =20 - flush_workqueue(ar_sdio->workqueue); destroy_workqueue(ar_sdio->workqueue); } =20 diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/w= ireless/intel/iwlegacy/3945-mac.c index ef0ac42a55a2a..55c00a07bc4d3 100644 --- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c +++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c @@ -3831,7 +3831,6 @@ il3945_pci_remove(struct pci_dev *pdev) il3945_unset_hw_params(il); =20 /*netif_stop_queue(dev); */ - flush_workqueue(il->workqueue); =20 /* ieee80211_unregister_hw calls il3945_mac_stop, which flushes * il->workqueue... so we can't take down the workqueue diff --git a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net/w= ireless/intel/iwlegacy/4965-mac.c index 12cf22d0e9949..2549902552e1d 100644 --- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c +++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c @@ -6745,7 +6745,6 @@ il4965_pci_remove(struct pci_dev *pdev) il_eeprom_free(il); =20 /*netif_stop_queue(dev); */ - flush_workqueue(il->workqueue); =20 /* ieee80211_unregister_hw calls il_mac_stop, which flushes * il->workqueue... so we can't take down the workqueue diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/main.c b/drivers/net/wi= reless/intel/iwlwifi/dvm/main.c index 461af58311561..6a19fc4c68604 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/main.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/main.c @@ -1526,7 +1526,6 @@ static void iwl_op_mode_dvm_stop(struct iwl_op_mode *= op_mode) kfree(priv->nvm_data); =20 /*netif_stop_queue(dev); */ - flush_workqueue(priv->workqueue); =20 /* ieee80211_unregister_hw calls iwlagn_mac_stop, which flushes * priv->workqueue... so we can't take down the workqueue diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/= wireless/marvell/mwifiex/cfg80211.c index 2f5f1ff22a601..e1196c565a62f 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -3155,13 +3155,11 @@ int mwifiex_del_virtual_intf(struct wiphy *wiphy, s= truct wireless_dev *wdev) unregister_netdevice(wdev->netdev); =20 if (priv->dfs_cac_workqueue) { - flush_workqueue(priv->dfs_cac_workqueue); destroy_workqueue(priv->dfs_cac_workqueue); priv->dfs_cac_workqueue =3D NULL; } =20 if (priv->dfs_chan_sw_workqueue) { - flush_workqueue(priv->dfs_chan_sw_workqueue); destroy_workqueue(priv->dfs_chan_sw_workqueue); priv->dfs_chan_sw_workqueue =3D NULL; } diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wire= less/marvell/mwifiex/main.c index 6283df5aaaf8b..b8b79fe50dbc2 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.c +++ b/drivers/net/wireless/marvell/mwifiex/main.c @@ -498,13 +498,11 @@ static void mwifiex_free_adapter(struct mwifiex_adapt= er *adapter) static void mwifiex_terminate_workqueue(struct mwifiex_adapter *adapter) { if (adapter->workqueue) { - flush_workqueue(adapter->workqueue); destroy_workqueue(adapter->workqueue); adapter->workqueue =3D NULL; } =20 if (adapter->rx_workqueue) { - flush_workqueue(adapter->rx_workqueue); destroy_workqueue(adapter->rx_workqueue); adapter->rx_workqueue =3D NULL; } diff --git a/drivers/net/wireless/microchip/wilc1000/netdev.c b/drivers/net= /wireless/microchip/wilc1000/netdev.c index c508f429984ab..463f3bfc3064d 100644 --- a/drivers/net/wireless/microchip/wilc1000/netdev.c +++ b/drivers/net/wireless/microchip/wilc1000/netdev.c @@ -840,7 +840,6 @@ void wilc_netdev_cleanup(struct wilc *wilc) srcu_read_unlock(&wilc->srcu, srcu_idx); =20 wilc_wfi_deinit_mon_interface(wilc, false); - flush_workqueue(wilc->hif_workqueue); destroy_workqueue(wilc->hif_workqueue); =20 while (ifc_cnt < WILC_NUM_CONCURRENT_IFC) { diff --git a/drivers/net/wireless/quantenna/qtnfmac/core.c b/drivers/net/wi= reless/quantenna/qtnfmac/core.c index bf6dbeb618423..d39c210da68e2 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/core.c +++ b/drivers/net/wireless/quantenna/qtnfmac/core.c @@ -816,13 +816,11 @@ void qtnf_core_detach(struct qtnf_bus *bus) bus->fw_state =3D QTNF_FW_STATE_DETACHED; =20 if (bus->workqueue) { - flush_workqueue(bus->workqueue); destroy_workqueue(bus->workqueue); bus->workqueue =3D NULL; } =20 if (bus->hprio_workqueue) { - flush_workqueue(bus->hprio_workqueue); destroy_workqueue(bus->hprio_workqueue); bus->hprio_workqueue =3D NULL; } diff --git a/drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c b/drivers/n= et/wireless/quantenna/qtnfmac/pcie/pcie.c index 0f328ce47fee3..f65eb6e5b8d59 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c +++ b/drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c @@ -387,7 +387,6 @@ static int qtnf_pcie_probe(struct pci_dev *pdev, const = struct pci_device_id *id) return 0; =20 error: - flush_workqueue(pcie_priv->workqueue); destroy_workqueue(pcie_priv->workqueue); pci_set_drvdata(pdev, NULL); return ret; @@ -416,7 +415,6 @@ static void qtnf_pcie_remove(struct pci_dev *dev) qtnf_core_detach(bus); =20 netif_napi_del(&bus->mux_napi); - flush_workqueue(priv->workqueue); destroy_workqueue(priv->workqueue); tasklet_kill(&priv->reclaim_tq); =20 diff --git a/drivers/net/wireless/realtek/rtlwifi/pci.c b/drivers/net/wirel= ess/realtek/rtlwifi/pci.c index 679ae786cf450..6d9f2a6233a21 100644 --- a/drivers/net/wireless/realtek/rtlwifi/pci.c +++ b/drivers/net/wireless/realtek/rtlwifi/pci.c @@ -1704,7 +1704,6 @@ static void rtl_pci_deinit(struct ieee80211_hw *hw) tasklet_kill(&rtlpriv->works.irq_tasklet); cancel_work_sync(&rtlpriv->works.lps_change_work); =20 - flush_workqueue(rtlpriv->works.rtl_wq); destroy_workqueue(rtlpriv->works.rtl_wq); } =20 diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis= _wlan.c index dc076d8448680..75c78e1c924b0 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c @@ -3497,7 +3497,6 @@ static int rndis_wlan_bind(struct usbnet *usbdev, str= uct usb_interface *intf) cancel_delayed_work_sync(&priv->dev_poller_work); cancel_delayed_work_sync(&priv->scan_work); cancel_work_sync(&priv->work); - flush_workqueue(priv->workqueue); destroy_workqueue(priv->workqueue); =20 wiphy_free(wiphy); @@ -3514,7 +3513,6 @@ static void rndis_wlan_unbind(struct usbnet *usbdev, = struct usb_interface *intf) cancel_delayed_work_sync(&priv->dev_poller_work); cancel_delayed_work_sync(&priv->scan_work); cancel_work_sync(&priv->work); - flush_workqueue(priv->workqueue); destroy_workqueue(priv->workqueue); =20 rndis_unbind(usbdev, intf); diff --git a/drivers/net/wireless/st/cw1200/bh.c b/drivers/net/wireless/st/= cw1200/bh.c index 02efe8483cba6..361fef6e1eeaa 100644 --- a/drivers/net/wireless/st/cw1200/bh.c +++ b/drivers/net/wireless/st/cw1200/bh.c @@ -88,8 +88,6 @@ void cw1200_unregister_bh(struct cw1200_common *priv) atomic_add(1, &priv->bh_term); wake_up(&priv->bh_wq); =20 - flush_workqueue(priv->bh_workqueue); - destroy_workqueue(priv->bh_workqueue); priv->bh_workqueue =3D NULL; =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E057817A91D; Sun, 24 Mar 2024 23:41:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323695; cv=none; b=UK5NSMAlkKjAXDsh2pBXhyqe5BJfImuvDh8BlwbWG5igb1rKHvU0m2zvlMywE2Jv1IxfX0iSCQ2fKmIn7nZFO9VZP+ILox0G5O6k4rAJnDeWlRyK+s8sBS9O1JfecImSJ83CgGJRP8g2n1YcjPP4f/qwT0FCjQ8RuQeUdmA1SO8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323695; c=relaxed/simple; bh=3AHGZwGBO1jHXwKXahulwh/1k2oNC2Sm2woEkVkXI0g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=oYQddCQflOA80kLecxcvipy6saVcsKMbKYoOcjuukj+dQpJi/Jx0Sf3T7BNt/+XWAy2G7BjPwYDwj777ZGA9pZbdtHIsdQ7YzjHqpU2iMJx3KSBeIe42XK/Jzxep7Vv4S3XF2LmOlBmNHkZqRqfI0GOOdfIT6IWD9bRYqTBd448= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oKbPGj6D; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oKbPGj6D" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 25B92C43399; Sun, 24 Mar 2024 23:41:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323693; bh=3AHGZwGBO1jHXwKXahulwh/1k2oNC2Sm2woEkVkXI0g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oKbPGj6D91H7595rRKCCyiIsv+xkZw1MahowowXUjY4yYbrZDXbXMAzhoXmz15PqM iKZKnOSmWUKW2m7scp1cBgLtPSoRyYrgISS5dYUGGGqsUo18jAEWaLU1Z3XragqE11 DHW2UgWGrgHaNL84YWtQnwVxwkA+AGzUwzysvi7xuT935LjFep5lYrwePLEi+doOm0 zjAbcbb+pJ8wASm+TMXFq4Zd6oKm1Z5BGUbdjzC9RwXojtrFDgYrWHDlmNKBU3QbSF DXVzvyDkKjjURTpqeN8E7O43GRikyeY2TsdG/dzNI2uL4Ahwncz3uz+xo51y8tgxf9 xQ7YQ/IS/rwtw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Alexis=20Lothor=C3=A9?= , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 066/238] wifi: wilc1000: prevent use-after-free on vif when cleaning up all interfaces Date: Sun, 24 Mar 2024 19:37:34 -0400 Message-ID: <20240324234027.1354210-67-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Alexis Lothor=C3=A9 [ Upstream commit cb5942b77c05d54310a0420cac12935e9b6aa21c ] wilc_netdev_cleanup currently triggers a KASAN warning, which can be observed on interface registration error path, or simply by removing the module/unbinding device from driver: echo spi0.1 > /sys/bus/spi/drivers/wilc1000_spi/unbind =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D BUG: KASAN: slab-use-after-free in wilc_netdev_cleanup+0x508/0x5cc Read of size 4 at addr c54d1ce8 by task sh/86 CPU: 0 PID: 86 Comm: sh Not tainted 6.8.0-rc1+ #117 Hardware name: Atmel SAMA5 unwind_backtrace from show_stack+0x18/0x1c show_stack from dump_stack_lvl+0x34/0x58 dump_stack_lvl from print_report+0x154/0x500 print_report from kasan_report+0xac/0xd8 kasan_report from wilc_netdev_cleanup+0x508/0x5cc wilc_netdev_cleanup from wilc_bus_remove+0xc8/0xec wilc_bus_remove from spi_remove+0x8c/0xac spi_remove from device_release_driver_internal+0x434/0x5f8 device_release_driver_internal from unbind_store+0xbc/0x108 unbind_store from kernfs_fop_write_iter+0x398/0x584 kernfs_fop_write_iter from vfs_write+0x728/0xf88 vfs_write from ksys_write+0x110/0x1e4 ksys_write from ret_fast_syscall+0x0/0x1c [...] Allocated by task 1: kasan_save_track+0x30/0x5c __kasan_kmalloc+0x8c/0x94 __kmalloc_node+0x1cc/0x3e4 kvmalloc_node+0x48/0x180 alloc_netdev_mqs+0x68/0x11dc alloc_etherdev_mqs+0x28/0x34 wilc_netdev_ifc_init+0x34/0x8ec wilc_cfg80211_init+0x690/0x910 wilc_bus_probe+0xe0/0x4a0 spi_probe+0x158/0x1b0 really_probe+0x270/0xdf4 __driver_probe_device+0x1dc/0x580 driver_probe_device+0x60/0x140 __driver_attach+0x228/0x5d4 bus_for_each_dev+0x13c/0x1a8 bus_add_driver+0x2a0/0x608 driver_register+0x24c/0x578 do_one_initcall+0x180/0x310 kernel_init_freeable+0x424/0x484 kernel_init+0x20/0x148 ret_from_fork+0x14/0x28 Freed by task 86: kasan_save_track+0x30/0x5c kasan_save_free_info+0x38/0x58 __kasan_slab_free+0xe4/0x140 kfree+0xb0/0x238 device_release+0xc0/0x2a8 kobject_put+0x1d4/0x46c netdev_run_todo+0x8fc/0x11d0 wilc_netdev_cleanup+0x1e4/0x5cc wilc_bus_remove+0xc8/0xec spi_remove+0x8c/0xac device_release_driver_internal+0x434/0x5f8 unbind_store+0xbc/0x108 kernfs_fop_write_iter+0x398/0x584 vfs_write+0x728/0xf88 ksys_write+0x110/0x1e4 ret_fast_syscall+0x0/0x1c [...] David Mosberger-Tan initial investigation [1] showed that this use-after-free is due to netdevice unregistration during vif list traversal. When unregistering a net device, since the needs_free_netdev has been set to true during registration, the netdevice object is also freed, and as a consequence, the corresponding vif object too, since it is attached to it as private netdevice data. The next occurrence of the loop then tries to access freed vif pointer to the list to move forward in the list. Fix this use-after-free thanks to two mechanisms: - navigate in the list with list_for_each_entry_safe, which allows to safely modify the list as we go through each element. For each element, remove it from the list with list_del_rcu - make sure to wait for RCU grace period end after each vif removal to make sure it is safe to free the corresponding vif too (through unregister_netdev) Since we are in a RCU "modifier" path (not a "reader" path), and because such path is expected not to be concurrent to any other modifier (we are using the vif_mutex lock), we do not need to use RCU list API, that's why we can benefit from list_for_each_entry_safe. [1] https://lore.kernel.org/linux-wireless/ab077dbe58b1ea5de0a3b2ca21f275a0= 7af967d2.camel@egauge.net/ Fixes: 8399918f3056 ("staging: wilc1000: use RCU list to maintain vif inter= faces list") Signed-off-by: Alexis Lothor=C3=A9 Signed-off-by: Kalle Valo Link: https://msgid.link/20240212-wilc_rework_deinit-v1-1-9203ae56c27f@boot= lin.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- .../net/wireless/microchip/wilc1000/netdev.c | 28 +++++-------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/drivers/net/wireless/microchip/wilc1000/netdev.c b/drivers/net= /wireless/microchip/wilc1000/netdev.c index 463f3bfc3064d..ab84b146aa272 100644 --- a/drivers/net/wireless/microchip/wilc1000/netdev.c +++ b/drivers/net/wireless/microchip/wilc1000/netdev.c @@ -821,8 +821,7 @@ static const struct net_device_ops wilc_netdev_ops =3D { =20 void wilc_netdev_cleanup(struct wilc *wilc) { - struct wilc_vif *vif; - int srcu_idx, ifc_cnt =3D 0; + struct wilc_vif *vif, *vif_tmp; =20 if (!wilc) return; @@ -832,32 +831,19 @@ void wilc_netdev_cleanup(struct wilc *wilc) wilc->firmware =3D NULL; } =20 - srcu_idx =3D srcu_read_lock(&wilc->srcu); - list_for_each_entry_rcu(vif, &wilc->vif_list, list) { + list_for_each_entry_safe(vif, vif_tmp, &wilc->vif_list, list) { + mutex_lock(&wilc->vif_mutex); + list_del_rcu(&vif->list); + wilc->vif_num--; + mutex_unlock(&wilc->vif_mutex); + synchronize_srcu(&wilc->srcu); if (vif->ndev) unregister_netdev(vif->ndev); } - srcu_read_unlock(&wilc->srcu, srcu_idx); =20 wilc_wfi_deinit_mon_interface(wilc, false); destroy_workqueue(wilc->hif_workqueue); =20 - while (ifc_cnt < WILC_NUM_CONCURRENT_IFC) { - mutex_lock(&wilc->vif_mutex); - if (wilc->vif_num <=3D 0) { - mutex_unlock(&wilc->vif_mutex); - break; - } - vif =3D wilc_get_wl_to_vif(wilc); - if (!IS_ERR(vif)) - list_del_rcu(&vif->list); - - wilc->vif_num--; - mutex_unlock(&wilc->vif_mutex); - synchronize_srcu(&wilc->srcu); - ifc_cnt++; - } - wilc_wlan_cfg_deinit(wilc); wlan_deinit_locks(wilc); kfree(wilc->bus_data); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 314A417A923; Sun, 24 Mar 2024 23:41:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323696; cv=none; b=i3RVOsc21rLHarrvcpH/pejRndGqeind4yh83jCk1bf9ZWB8yKszxDWjvm57NH5usP3YMxM4Z2r/28isuWLT2uPHqTO7YAtzzNPeyrT+KX6PYotwAmBU68NTCwrpi3Yv8wE9WXU/UmR85mg5GSoiPD8YnPcLMQe4pEKRca4y1n0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323696; c=relaxed/simple; bh=INN/gpk51sOf3ovPi5IuavhJHJQYrg/i54zt5o0DS0A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fZvEObMjS00vtpAOT0U+ChubiAYkQ+MzeQUAECK5jx3rhb8jBLWL4u9I0OjjBRuQ36GRB0uAe2jPr7j19vKQmkIx37uxZu/tnfvrqRrgYApjZksCx7p4D751PMpe47v/FNS76dRs2kn/bWhSrZZrz8OwwCTAvFP1cgwC6uhg0wo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=eiUWnFJZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="eiUWnFJZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0F8DCC433F1; Sun, 24 Mar 2024 23:41:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323694; bh=INN/gpk51sOf3ovPi5IuavhJHJQYrg/i54zt5o0DS0A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eiUWnFJZrXI/+zAjtXQZamNO/OR9fwuCjLEI2N4GN/Yo7Er/VmLRxmfyRifJ+IJgW 6TLz8L2ZbhHFdqTSD0/sHbfNSSu2ziVuFmjW8+GVu0gO4IDNh04fmVNB97KTzGSzEZ 6AmB3GrLrWr9TH2a3ZlUBrpj+7T4kxvo1QpoMGdPSkaebm2Zg6qHhuu8ZVECxdOZNh 2WJc0Jf+rw70rLnMtF8hfenevD0TeAZE6On/wTfeId5FpmG6CyNZo4KSdHNQJav+BV 35qqAkQFDzz7KUjILveRYaUCE0MbGQCM5N3YUn90yC3v6lWbXQS4KXiPtzD6x49Puo 6RFioxXAK/mEw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Armin Wolf , "Rafael J . Wysocki" , Sasha Levin Subject: [PATCH 5.10 067/238] ACPI: processor_idle: Fix memory leak in acpi_processor_power_exit() Date: Sun, 24 Mar 2024 19:37:35 -0400 Message-ID: <20240324234027.1354210-68-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Armin Wolf [ Upstream commit e18afcb7b2a12b635ac10081f943fcf84ddacc51 ] After unregistering the CPU idle device, the memory associated with it is not freed, leading to a memory leak: unreferenced object 0xffff896282f6c000 (size 1024): comm "swapper/0", pid 1, jiffies 4294893170 hex dump (first 32 bytes): 00 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace (crc 8836a742): [] kmalloc_trace+0x29d/0x340 [] acpi_processor_power_init+0xf3/0x1c0 [] __acpi_processor_start+0xd3/0xf0 [] acpi_processor_start+0x2c/0x50 [] really_probe+0xe2/0x480 [] __driver_probe_device+0x78/0x160 [] driver_probe_device+0x1f/0x90 [] __driver_attach+0xce/0x1c0 [] bus_for_each_dev+0x70/0xc0 [] bus_add_driver+0x112/0x210 [] driver_register+0x55/0x100 [] acpi_processor_driver_init+0x3b/0xc0 [] do_one_initcall+0x41/0x300 [] kernel_init_freeable+0x320/0x470 [] kernel_init+0x16/0x1b0 [] ret_from_fork+0x2d/0x50 Fix this by freeing the CPU idle device after unregistering it. Fixes: 3d339dcbb56d ("cpuidle / ACPI : move cpuidle_device field out of the= acpi_processor_power structure") Signed-off-by: Armin Wolf Signed-off-by: Rafael J. Wysocki Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/acpi/processor_idle.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index 59781e765e0e2..3deeabb273940 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c @@ -1427,6 +1427,8 @@ int acpi_processor_power_exit(struct acpi_processor *= pr) acpi_processor_registered--; if (acpi_processor_registered =3D=3D 0) cpuidle_unregister_driver(&acpi_idle_driver); + + kfree(dev); } =20 pr->flags.power_setup_done =3D 0; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BAD3517A916; Sun, 24 Mar 2024 23:41:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323695; cv=none; b=uj8G8fDz55IciFJUUeA6GzMfqpy73onItsnyoMaVYi53RIA/LlW1/b5pIUSCKDLiA0yTvDf1Ul/f+QrJ3QUAe3pcHgx0yRgcJ3/8mPJTuCrlMKwrnJjKJcgwo/Z8Wxqzg4h7L/yyIokgZAaLDQRmYDj6Ry8Fq8EsTPlkCHK5aic= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323695; c=relaxed/simple; bh=pWG+b7pauP9/zuCIkVzsof4xZ6Nu4d2N8Fb2XZ+QAJE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J+2H18SOoBVAo1rrl0mmRBX/I33cn7drlmBcV2RYpsQbn3ozZF53P4uRCjbitdpbX+mSQWSkvwPlUhE5ttHGPtOPfNk0gRq34tsuBy04YOfjz3Dblvk1Nfnb8MssIRKiC9ff9Hy201jpVTEQWKxbnqsTYcN4E6TzsKaI7+DAr74= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kXRODp/t; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kXRODp/t" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E7CA0C43394; Sun, 24 Mar 2024 23:41:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323695; bh=pWG+b7pauP9/zuCIkVzsof4xZ6Nu4d2N8Fb2XZ+QAJE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kXRODp/tYOHGvlQG5qbGsTDY0cMFxGoa4g06RQv0Aldi1G6ofC/EJ1XB4aEvYqb3A NetqXe5qRKODxBgNWpldGvLpOVAYWhuKxtwhDtyoFF5UbRPuRrR31Vht3+ww0fej5e V20+tr1cwpLJlLE9XEolEW6tYNvychFsbVZ+5jdouqGBAWUNyo3OjgIsPwO6Y5uWWO ZSxztjojtGI+o4tiDIKpGQxslqMTKiNT5Z3Itz5JdNB0IUALMMYabh2EfBV+y9mBL3 fPD98aRD5zWhMlDmTAHsssRtsy9bO8UatuFnhcDgzWcGZhqNQx7IOM30gH0obg4vZQ P6n6ZUPADdE+w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Peter Robinson , Jon Hunter , Thierry Reding , Sasha Levin Subject: [PATCH 5.10 068/238] bus: tegra-aconnect: Update dependency to ARCH_TEGRA Date: Sun, 24 Mar 2024 19:37:36 -0400 Message-ID: <20240324234027.1354210-69-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Peter Robinson [ Upstream commit 4acd21a45c1446277e2abaece97d7fa7c2e692a9 ] Update the architecture dependency to be the generic Tegra because the driver works on the four latest Tegra generations not just Tegra210, if you build a kernel with a specific ARCH_TEGRA_xxx_SOC option that excludes Tegra210 you don't get this driver. Fixes: 46a88534afb59 ("bus: Add support for Tegra ACONNECT") Signed-off-by: Peter Robinson Cc: Jon Hunter Cc: Thierry Reding Signed-off-by: Thierry Reding Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/bus/Kconfig | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig index 0c262c2aeaf2f..01f2349dbfaed 100644 --- a/drivers/bus/Kconfig +++ b/drivers/bus/Kconfig @@ -176,11 +176,12 @@ config SUNXI_RSB =20 config TEGRA_ACONNECT tristate "Tegra ACONNECT Bus Driver" - depends on ARCH_TEGRA_210_SOC + depends on ARCH_TEGRA depends on OF && PM help Driver for the Tegra ACONNECT bus which is used to interface with - the devices inside the Audio Processing Engine (APE) for Tegra210. + the devices inside the Audio Processing Engine (APE) for + Tegra210 and later. =20 config TEGRA_GMI tristate "Tegra Generic Memory Interface bus driver" --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC43D17A91B; Sun, 24 Mar 2024 23:41:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323696; cv=none; b=k7yZfq74EVrFgngNrxmY+pZjSfbleaXyLILFWIXOL9agqQJfJYpSgRTSV19z7i03XqLyOUt+vzG1X0Fj81PkEwvd1WYucYRvsfAvqjm6u2XBoBHHg7MWRJXFooL6o2TdB0dU+goSTna1H4NeMcRFQ2s1y37rSXIfaaThKQ5PM3g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323696; c=relaxed/simple; bh=fFMCesXUufm2DgbC8slVbgop5cai1GV2Xv4Zvx4ZcJo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hXO4ktJGrduyUEtw9EiwKm3AygASIYtutgB0OedQ5NaxpAyNtZlLBwqBiORsR06JTnltpmEp49xyyOpN2ZK4O1ceGh+97b8vvkx8QuXWnicP0hTnfXZ+xAuADNprIuvAqIc/26aC7mlEo8iRz3ztYFGeTDbY0vTwATEMAnYAfPo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aEYwDK/J; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aEYwDK/J" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E43ECC43390; Sun, 24 Mar 2024 23:41:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323696; bh=fFMCesXUufm2DgbC8slVbgop5cai1GV2Xv4Zvx4ZcJo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aEYwDK/JNyKgXAh8L6dvpsuzokc5wIm907hZ5Tn7nj/iWrkVg3FIMmayXxWcgz4tb ZuBbiRyv5KF2gon8nSp6hfsze9TTTLmf+EWPk7fuSTzcEJPmeStNf7ykxpDg6b97Q3 ejwYfcdBU3ZIt1C73keWGhnxgWWcRTlcah33Mv3Lk6zj+UfdXzWgZhv2jWoTebob5w dYGT+WlXS5F2y32OtASnKhazov0ebQxmwo7cADxK1rjld2L3wS6/AZFsfcOPvF1N62 9EJk0+tJvILvYqiEB4c/c4ZHlOEP2BN0oR4yBOTq47BgFueHPjf4p8knZBhcZJadDR l94BHkeYyL6rw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mario Limonciello , Vasant Hegde , Joerg Roedel , Sasha Levin Subject: [PATCH 5.10 069/238] iommu/amd: Mark interrupt as managed Date: Sun, 24 Mar 2024 19:37:37 -0400 Message-ID: <20240324234027.1354210-70-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mario Limonciello [ Upstream commit 0feda94c868d396fac3b3cb14089d2d989a07c72 ] On many systems that have an AMD IOMMU the following sequence of warnings is observed during bootup. ``` pci 0000:00:00.2 can't derive routing for PCI INT A pci 0000:00:00.2: PCI INT A: not connected ``` This series of events happens because of the IOMMU initialization sequence order and the lack of _PRT entries for the IOMMU. During initialization the IOMMU driver first enables the PCI device using pci_enable_device(). This will call acpi_pci_irq_enable() which will check if the interrupt is declared in a PCI routing table (_PRT) entry. According to the PCI spec [1] these routing entries are only required under PCI root bridges: The _PRT object is required under all PCI root bridges The IOMMU is directly connected to the root complex, so there is no parent bridge to look for a _PRT entry. The first warning is emitted since no entry could be found in the hierarchy. The second warning is then emitted because the interrupt hasn't yet been configured to any value. The pin was configured in pci_read_irq() but the byte in PCI_INTERRUPT_LINE return 0xff which means "Unknown". After that sequence of events pci_enable_msi() is called and this will allocate an interrupt. That is both of these warnings are totally harmless because the IOMMU uses MSI for interrupts. To avoid even trying to probe for a _PRT entry mark the IOMMU as IRQ managed. This avoids both warnings. Link: https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/06_Device_Configuration= /Device_Configuration.html?highlight=3D_prt#prt-pci-routing-table [1] Signed-off-by: Mario Limonciello Fixes: cffe0a2b5a34 ("x86, irq: Keep balance of IOAPIC pin reference count") Reviewed-by: Vasant Hegde Link: https://lore.kernel.org/r/20240122233400.1802-1-mario.limonciello@amd= .com Signed-off-by: Joerg Roedel Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/iommu/amd/init.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/iommu/amd/init.c b/drivers/iommu/amd/init.c index 603f625a74e54..91cc3a5643caf 100644 --- a/drivers/iommu/amd/init.c +++ b/drivers/iommu/amd/init.c @@ -1827,6 +1827,9 @@ static int __init iommu_init_pci(struct amd_iommu *io= mmu) /* Prevent binding other PCI device drivers to IOMMU devices */ iommu->dev->match_driver =3D false; =20 + /* ACPI _PRT won't have an IRQ for IOMMU */ + iommu->dev->irq_managed =3D 1; + pci_read_config_dword(iommu->dev, cap_ptr + MMIO_CAP_HDR_OFFSET, &iommu->cap); =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BFDEC17A92E; Sun, 24 Mar 2024 23:41:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323698; cv=none; b=qV7Qi1NoGZcrZNtFyidJbChx5g6xbtFL5GbkdkORvl3oiHhj7izRbiPY4JZrhrzZkGsdYnsDBZBbJ//jyKGoZA/m8S9TzVklSHvM9pLrv1ok7cNLG243z9S6uvXSTHYb6cqVqK+z/uxNTA64FC/yTFzQY8XiM1X+063E4tLrMTY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323698; c=relaxed/simple; bh=nt4DweudXrWSOOYE0nV/wX2peusxuk3T7M9VaEFEUOQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UIDEPzYZCoqwFbHwFzmDmiBbfIGWDIiTPKwf11g/d5e6Ab2o74i0AGARMflzFZgyFg0zDnMDQ86oOU3GpE3Co6yIfKMQ42vbym6UGQnguZS1gEIJCq1Io4QI26SzJe49xy2T+S1Vv4fDKGxjwsxS8NrTPPKQL0VKFP4PvJ0FANU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=i8a71KtI; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="i8a71KtI" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DF965C433C7; Sun, 24 Mar 2024 23:41:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323697; bh=nt4DweudXrWSOOYE0nV/wX2peusxuk3T7M9VaEFEUOQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=i8a71KtIAD/I7eTyxLDJ97QBm0a4SSnvuseIxjDofvuXCmXvJIMcfm4Oay9x25+Tt GA5A0kOcDw0NRxQnnksure48VCivAypTNXMGGxhdLqyoEGe7Uc0L0SXrzJtBio5E6L 8XJHqfXXLaCNS5vd/eMBYfNa/4U0Wus8k0WzGb6lrc3GtRP5rJFSI9Y2d/ZDIklwKX IMGo2eliwDxejHOO4JRwCoTTUNB6quG/osRmy+3bywmmRCuK+3D4d1ky08FACJfKxt 9JDxURkz5RaCgrNr9OEcb+ab32D4/fcNp88oRgqOdqmppUEnYae/gGkXolX8Y/SxHy Ec/sW0FGJLC1g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Arend van Spriel , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 070/238] wifi: brcmsmac: avoid function pointer casts Date: Sun, 24 Mar 2024 19:37:38 -0400 Message-ID: <20240324234027.1354210-71-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit e1ea6db35fc3ba5ff063f097385e9f7a88c25356 ] An old cleanup went a little too far and causes a warning with clang-16 and higher as it breaks control flow integrity (KCFI) rules: drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c:64:34: error: c= ast from 'void (*)(struct brcms_phy *)' to 'void (*)(void *)' converts to i= ncompatible function type [-Werror,-Wcast-function-type-strict] 64 | brcms_init_timer(physhim->wl, (void (*)(voi= d *))fn, | ^~~~~~~~~~~~~= ~~~~~~~ Change this one instance back to passing a void pointer so it can be used with the timer callback interface. Fixes: d89a4c80601d ("staging: brcm80211: removed void * from softmac phy") Signed-off-by: Arnd Bergmann Acked-by: Arend van Spriel Signed-off-by: Kalle Valo Link: https://msgid.link/20240213100548.457854-1-arnd@kernel.org Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- .../net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c | 3 ++- drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c | 5 ++--- drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.h | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c= b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c index ccc621b8ed9f2..4a1fe982a948e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c @@ -383,8 +383,9 @@ struct shared_phy *wlc_phy_shared_attach(struct shared_= phy_params *shp) return sh; } =20 -static void wlc_phy_timercb_phycal(struct brcms_phy *pi) +static void wlc_phy_timercb_phycal(void *ptr) { + struct brcms_phy *pi =3D ptr; uint delay =3D 5; =20 if (PHY_PERICAL_MPHASE_PENDING(pi)) { diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c b/= drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c index a0de5db0cd646..b723817915365 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c @@ -57,12 +57,11 @@ void wlc_phy_shim_detach(struct phy_shim_info *physhim) } =20 struct wlapi_timer *wlapi_init_timer(struct phy_shim_info *physhim, - void (*fn)(struct brcms_phy *pi), + void (*fn)(void *pi), void *arg, const char *name) { return (struct wlapi_timer *) - brcms_init_timer(physhim->wl, (void (*)(void *))fn, - arg, name); + brcms_init_timer(physhim->wl, fn, arg, name); } =20 void wlapi_free_timer(struct wlapi_timer *t) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.h b/= drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.h index dd8774717adee..27d0934e600ed 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.h @@ -131,7 +131,7 @@ void wlc_phy_shim_detach(struct phy_shim_info *physhim); =20 /* PHY to WL utility functions */ struct wlapi_timer *wlapi_init_timer(struct phy_shim_info *physhim, - void (*fn)(struct brcms_phy *pi), + void (*fn)(void *pi), void *arg, const char *name); void wlapi_free_timer(struct wlapi_timer *t); void wlapi_add_timer(struct wlapi_timer *t, uint ms, int periodic); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C261B17A92F; Sun, 24 Mar 2024 23:41:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323698; cv=none; b=jC+sC3SbRdaroNn+tJjZRdftrayMr4F4K2pi1wMRD40EED44CWjR03n07w7yjMvY3IcWHOocnfRlndSSbzB5YAYWOkE9zuZft/geiLAbuLJ9yzGCpyXgiptlRifJd8vaWJm0ft9fsRetiypjeCO6aQe8Tar5DZFDdS2sYQzRTJ4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323698; c=relaxed/simple; bh=LxXCsMHV06d1AmLDDwEmpwTgUubYkAlaotSgTsXd4QA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=X0A69yHg6quzBo6P2zOng8Qa8cji6E7mlB6wQgua7DLuPH0gHSusTUzjLlonmwZcYQcCVhctCH94BB2tIXeTOIIZfZ2vYLN+msSnpsTchfbwL2VSdUCx1tSaWkvImAZrWq5nVW8qpHkSnF3kn//CuFUCq+H1B0HGsnopNtxrdEE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=g2tdOiR1; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="g2tdOiR1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0C06C43390; Sun, 24 Mar 2024 23:41:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323698; bh=LxXCsMHV06d1AmLDDwEmpwTgUubYkAlaotSgTsXd4QA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g2tdOiR1i1MXoiSRgosAAZEjycp8sJrC3QhO7fswGib7AlYMb+dcrjVH6chaFIAyf elS+CSWAdt37TuKjd1fJtZrFFscOSwx/K/o9k445ev+MVGXFKTBp8G1O7lZvEX2OtG aNx/WYT/20cKColmJSytAv3Hp+XratwB72i34CZ0gAeVJMxTsUetLYj+7TgBP7C3dw tWjfPezfPQG7GyPDCRy5PauczHBVfMX6kbzH3as11gsFNlWSYppSXB+kONCLMuxihe al/pMAJ4i5QB0A/uvNiJ4KKjfcXSysIz17WlWvAUBb/ujQDM8N0PRekqI/0gjEVXw/ sfuP3mh3R5crA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Kamal Heib , Jacob Keller , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 071/238] net: ena: Remove ena_select_queue Date: Sun, 24 Mar 2024 19:37:39 -0400 Message-ID: <20240324234027.1354210-72-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Kamal Heib [ Upstream commit 78e886ba2b549945ecada055ee0765f0ded5707a ] Avoid the following warnings by removing the ena_select_queue() function and rely on the net core to do the queue selection, The issue happen when an skb received from an interface with more queues than ena is forwarded to the ena interface. [ 1176.159959] eth0 selects TX queue 11, but real number of TX queues is 8 [ 1176.863976] eth0 selects TX queue 14, but real number of TX queues is 8 [ 1180.767877] eth0 selects TX queue 14, but real number of TX queues is 8 [ 1188.703742] eth0 selects TX queue 14, but real number of TX queues is 8 Fixes: 1738cd3ed342 ("net: ena: Add a driver for Amazon Elastic Network Ada= pters (ENA)") Signed-off-by: Kamal Heib Reviewed-by: Jacob Keller Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/ethernet/amazon/ena/ena_netdev.c | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.c b/drivers/net/eth= ernet/amazon/ena/ena_netdev.c index e13ae04d2f0fd..fa65971949fce 100644 --- a/drivers/net/ethernet/amazon/ena/ena_netdev.c +++ b/drivers/net/ethernet/amazon/ena/ena_netdev.c @@ -3057,22 +3057,6 @@ static netdev_tx_t ena_start_xmit(struct sk_buff *sk= b, struct net_device *dev) return NETDEV_TX_OK; } =20 -static u16 ena_select_queue(struct net_device *dev, struct sk_buff *skb, - struct net_device *sb_dev) -{ - u16 qid; - /* we suspect that this is good for in--kernel network services that - * want to loop incoming skb rx to tx in normal user generated traffic, - * most probably we will not get to this - */ - if (skb_rx_queue_recorded(skb)) - qid =3D skb_get_rx_queue(skb); - else - qid =3D netdev_pick_tx(dev, skb, NULL); - - return qid; -} - static void ena_config_host_info(struct ena_com_dev *ena_dev, struct pci_d= ev *pdev) { struct device *dev =3D &pdev->dev; @@ -3242,7 +3226,6 @@ static const struct net_device_ops ena_netdev_ops =3D= { .ndo_open =3D ena_open, .ndo_stop =3D ena_close, .ndo_start_xmit =3D ena_start_xmit, - .ndo_select_queue =3D ena_select_queue, .ndo_get_stats64 =3D ena_get_stats64, .ndo_tx_timeout =3D ena_tx_timeout, .ndo_change_mtu =3D ena_change_mtu, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9F67317A934; Sun, 24 Mar 2024 23:41:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323700; cv=none; b=RL26b7OceEpgaluUoccoD2pBUwbx68PvdEDmNLagaEsyUfOVQEtj1zgcosIOg5DJqDUDI77EJ1lo5dsTSiAZ6zYQGYZoZoq3GQszJQykhQILy+Zzly2sqfZHBOXtF0au71ZmXx/PQDl2sXDMtYdsIQkZPxJg/HkevrO0hcD7C6k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323700; c=relaxed/simple; bh=CoIP5bWI0VIjdjtDRBLAzqY0BhLzkg9Y4oXc5EsY1Hs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Tc3uieJ/8EdA9i4sPPO+Sb/f97BWYf7LqJW51eK5Gv+63BcAnetMapEITY/ucwK4ruGing4PqdKrcPgeGh5rBtc5ZD2jMYIRxmp5GOs7wkXTy+DeFczIf0QTfplrHGeDsS/Ks18C6AZIC3B2XMnZt7IR/IfNjk5+6GjqHrb51L0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DKtxDzV6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DKtxDzV6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DF87EC43399; Sun, 24 Mar 2024 23:41:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323699; bh=CoIP5bWI0VIjdjtDRBLAzqY0BhLzkg9Y4oXc5EsY1Hs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DKtxDzV6urA411T2SJQnde9dYn52igK688BFvI12qnu5DqyNOJQENJj/Tx6aO6mtV Z9vPeHuhO8XO9XmNhQCInm79rvj148jKvAlZ9yV4wMDhb4BU0Tc8Dvd8pr/pWNzgeO tziyDoDiV1ajLeZ+0NtJBqOFyEhCg7u1YPL6neEh4S6yne2vbeJ1YZxzlDNeiR9N7i CY+u0pS4e4rBbXq4PG9F+oE/wpvPab+I2V/O5qO6XJ5xosgvS/cC/hzPOtuc2FDKGz CaP/mO6CohMnyh1ej0UDayMfJHCF2/ecIwSINi9hhSBO99/1Fg44ld6lCp9lvHCk83 bJVzzJBo+pfiw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Geert Uytterhoeven , Linus Walleij , Sasha Levin Subject: [PATCH 5.10 072/238] ARM: dts: arm: realview: Fix development chip ROM compatible value Date: Sun, 24 Mar 2024 19:37:40 -0400 Message-ID: <20240324234027.1354210-73-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Geert Uytterhoeven [ Upstream commit 3baa4c5143d65ebab2de0d99a395e5f4f1f46608 ] When the development chip ROM was added, the "direct-mapped" compatible value was already obsolete. In addition, the device node lacked the accompanying "probe-type" property, causing the old physmap_of_core driver to fall back to trying all available probe types. Unfortunately this fallback was lost when the DT and pdata cases were merged. Fix this by using the modern "mtd-rom" compatible value instead. Fixes: 5c3f5edbe0a1dff3 ("ARM: realview: add flash devices to the PB1176 DT= S") Fixes: 642b1e8dbed7bbbf ("mtd: maps: Merge physmap_of.c into physmap-core.c= ") Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/arm/boot/dts/arm-realview-pb1176.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/arm-realview-pb1176.dts b/arch/arm/boot/dts/= arm-realview-pb1176.dts index f925782f85604..f0be83eebb09d 100644 --- a/arch/arm/boot/dts/arm-realview-pb1176.dts +++ b/arch/arm/boot/dts/arm-realview-pb1176.dts @@ -435,7 +435,7 @@ pb1176_serial3: serial@1010f000 { =20 /* Direct-mapped development chip ROM */ pb1176_rom@10200000 { - compatible =3D "direct-mapped"; + compatible =3D "mtd-rom"; reg =3D <0x10200000 0x4000>; bank-width =3D <1>; }; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90E4417A933; Sun, 24 Mar 2024 23:41:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323700; cv=none; b=W5f4YxpaHNpzEqcarUeJh13pwbgFBbVbpxYYvqzWvVz3zOkgjIWzS7KWZMF8Ulv6htlWXrOlsBM1f0fSPSskyvLq0O/ood2woKR5JgaU/mHdm6YBj6xUBsGrpudjKQHcGlTGfjdZbxv5WH9P+wCSSTqXu+zJaO0MIgdJWQpd+qQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323700; c=relaxed/simple; bh=c0uLUG+mhovqbPr9q1gR4533lawj4gn8WwbkQdk8jMs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=AxwpGwzS7dSBkD76a/21q0m2x97y34zQIXhq7z+qfKBGhEj3arP9AY+s3WjlfVEMKKUh7f2fCeIkbfDkyeGrhYNQF0Y3m0d6YsDvMXlJ6niUEgR20SBOO8vhxUsguYX+CFGFGQqxY/+3+h2v0lH9cCKfCXpgBN+MVsBrZ/+/NSw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IMWQ0O80; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IMWQ0O80" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C34E7C433F1; Sun, 24 Mar 2024 23:41:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323700; bh=c0uLUG+mhovqbPr9q1gR4533lawj4gn8WwbkQdk8jMs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IMWQ0O80/Tq+h9iCYYGJ8XBV1ulVlKo1HpAg2Q41GRXiID5tObNSNdz9JLppl0rMg 6C3iUVg8Q7ec5WsSfy5azd8ni3BgMSoh0BumchkIzzoqzgN8DIUTDx/g4oXsTrLjZs eTZw2lBJPMWJxUvBCCKXLOizEZ9M7HGhTCUp1d0yB7ZlAwdYVkE100ki27gg/1kxCj 5+mVbdlqbs8wISk32hHStg93UHRHKH9e59dN7wVn+HloWg9hfN4xyFx5znebQC2PfF bYMaJIjXKHbxGEMR1GFmI/jMHZdeVMLRAIFfSPf9i0HwJ/Z2dpLSB2bF6QKJjTl9ZW 76HsBb+qKFhqA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Michal=20Vok=C3=A1=C4=8D?= , Shawn Guo , Sasha Levin Subject: [PATCH 5.10 073/238] ARM: dts: imx6dl-yapp4: Move phy reset into switch node Date: Sun, 24 Mar 2024 19:37:41 -0400 Message-ID: <20240324234027.1354210-74-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Michal Vok=C3=A1=C4=8D [ Upstream commit 7da7b84fee58c85a6075022023d31edea40e81a1 ] Drop the phy-reset-duration and phy-reset-gpios deprecated properties and move reset-gpios under the switch node. Signed-off-by: Michal Vok=C3=A1=C4=8D Signed-off-by: Shawn Guo Stable-dep-of: 023bd910d3ab ("ARM: dts: imx6dl-yapp4: Fix typo in the QCA s= witch register address") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/arm/boot/dts/imx6dl-yapp4-common.dtsi | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi b/arch/arm/boot/dts= /imx6dl-yapp4-common.dtsi index ebc0892e37c7a..f18da2b70fdc9 100644 --- a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi +++ b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi @@ -103,8 +103,6 @@ &fec { pinctrl-names =3D "default"; pinctrl-0 =3D <&pinctrl_enet>; phy-mode =3D "rgmii-id"; - phy-reset-gpios =3D <&gpio1 25 GPIO_ACTIVE_LOW>; - phy-reset-duration =3D <20>; phy-supply =3D <&sw2_reg>; status =3D "okay"; =20 @@ -128,6 +126,7 @@ phy_port3: phy@2 { switch@10 { compatible =3D "qca,qca8334"; reg =3D <10>; + reset-gpios =3D <&gpio1 25 GPIO_ACTIVE_LOW>; =20 switch_ports: ports { #address-cells =3D <1>; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7FE8B1311A3; Sun, 24 Mar 2024 23:41:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323702; cv=none; b=d1RAlwicFjXttZI/oLCwwj+orKCpIc9UKRJwRGv2ujrmAp/IrcxsZqYLhmSTwWD27623xMH56KzzvVsK13EKEpRlJPd2/tyIQTzFa/INmD2NP2DkpzZzimmJ/m0FHx18fTFn3wURbzy33T1hYl2ySMjMLf7YqZ6nojDN3iZbNLc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323702; c=relaxed/simple; bh=dSI5qBjOnFdBTRPXrxPTEl5Owb7ZLke4MimUaePBXUo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=bYReqU0WPsTXBjV+zlhmkGGpBSgyHRTxUoL4+kGrGd6Q7y7He/v+NTj2zG9ROVihVX6mPj0CCZALTjuH9H4VQs+v/wNI/R7GtemOS9VhGY5d9pfKD070pZBI0GuLtLcJfglrw5WNeDmuGt/gg0HiIc7KgqcBer7CBCapsOuwIQg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DOgx1VJI; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DOgx1VJI" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7E9BC433C7; Sun, 24 Mar 2024 23:41:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323701; bh=dSI5qBjOnFdBTRPXrxPTEl5Owb7ZLke4MimUaePBXUo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DOgx1VJIai3Sdkrf1hI05Easi2f+ZXvzjNX3SbC8zdd/3MupIEaGT/jYHFvOMY1L8 wHvenyvEp913kemfQPdQkfXpRBkcRmVZOXPN8dJyNjIYv4sJpHjodMqb8oWHqa1wZ7 YxzdiKZ4q90m2JkHpta1WnomF7BaM8cJYoPDDuWWMM44ZmGUPf6oVzr59JeWD/WlK9 zGhZmTMm6s6J0FPVLF/r0jtGbUZVZxsz0ZmDHW0raDpnYURwRPeM72Em6Bt0gK1b+J 5uCho5JhvOpIfwE8JUSfRgHgMZfhe2H1GM4fcSVjW5TBAL4toK4QxqmcmtRGUFXIiw fQjXJh0ar5JrA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Michal=20Vok=C3=A1=C4=8D?= , Andrew Lunn , Shawn Guo , Sasha Levin Subject: [PATCH 5.10 074/238] ARM: dts: imx6dl-yapp4: Fix typo in the QCA switch register address Date: Sun, 24 Mar 2024 19:37:42 -0400 Message-ID: <20240324234027.1354210-75-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Michal Vok=C3=A1=C4=8D [ Upstream commit 023bd910d3ab735459f84b22bb99fb9e00bd9d76 ] This change does not have any functional effect. The switch works just fine without this patch as it has full access to all the addresses on the bus. This is simply a clean-up to set the node name address and reg address to the same value. Fixes: 15b43e497ffd ("ARM: dts: imx6dl-yapp4: Use correct pseudo PHY addres= s for the switch") Signed-off-by: Michal Vok=C3=A1=C4=8D Reviewed-by: Andrew Lunn Signed-off-by: Shawn Guo Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/arm/boot/dts/imx6dl-yapp4-common.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi b/arch/arm/boot/dts= /imx6dl-yapp4-common.dtsi index f18da2b70fdc9..b636faaddc510 100644 --- a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi +++ b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi @@ -125,7 +125,7 @@ phy_port3: phy@2 { =20 switch@10 { compatible =3D "qca,qca8334"; - reg =3D <10>; + reg =3D <0x10>; reset-gpios =3D <&gpio1 25 GPIO_ACTIVE_LOW>; =20 switch_ports: ports { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 641471311A9; Sun, 24 Mar 2024 23:41:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323703; cv=none; b=hOTqp17ar71h9JJu76AaAhXGGqF3n3VjT33sz3OsyEs8MdylvnkUbjnnfrrrIjQ1Tzdop+/fcrzYjtAcXdLAxOAWZOvhlVKQiFwIM9EpqGoTfxZrQz/JIT/DZLUMaA+2THlujWEd9RaWU1LnrZMlZV7YTwSauDXK/hJoM/IXMVQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323703; c=relaxed/simple; bh=IrK+mD+2Z3bW8shY55OCC5+ywxgQWIUrG6/9PcXJ0tU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=l4FX8m+zkAmItgzLysSDHeTvTGM3U2tpAMJA/2Iaj4+jN/ztqG0TFrJFHhbPMocTbG+pOYnok3h3q0JCZhfyRA/aQg+HDpamlkmr17N6iQyQtprJv1+LvRCcr51TV1m7fqxS377iJoZHdK2gdO9eqgqXWtMOIsAPLFAVBEkEwG8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Qv5YTG6Q; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Qv5YTG6Q" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A256FC43399; Sun, 24 Mar 2024 23:41:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323702; bh=IrK+mD+2Z3bW8shY55OCC5+ywxgQWIUrG6/9PcXJ0tU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Qv5YTG6QlamwOKu3LpCA2VeNXfNPJw7mB+nIuMJQwRbXuJKIIkO/ZWIgnqjeSrNED Wgs9c/DQIhmXsRQ7vUT1SRYcUjWednu2DeOi429T6xXB1E3PRygWZUXBs0Ntriq3uN yeQNC3FR+FBjuPsyj52H/66MxajoccNGsrWKfLKslJXKADgpNkWK17NWvfQ0d6EPbz P4OmSvoENi69/9lnTYyXvdvM1vmeNUi/OA8u5wvw85UcN3wT52akOKDjpvlyZN28Xu PJsLa9lu66JPhMnLMjKRT18ZAq07qShWNm2uMCsK4OKjnB6pFlkEcCf7LbhYE9j/1A KzogEqesId7iA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Michal=20Vok=C3=A1=C4=8D?= , Shawn Guo , Sasha Levin Subject: [PATCH 5.10 075/238] ARM: dts: imx6dl-yapp4: Move the internal switch PHYs under the switch node Date: Sun, 24 Mar 2024 19:37:43 -0400 Message-ID: <20240324234027.1354210-76-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Michal Vok=C3=A1=C4=8D [ Upstream commit 79978bff2e4b8e05ebdf5fc3ee6b794002393484 ] We identified that the PHYs actually do not work since commit 7da7b84fee58 ("ARM: dts: imx6dl-yapp4: Move phy reset into switch node") as a coincidence of several circumstances. The reset signal is kept asserted by a pull-down resistor on the board unless it is deasserted by GPIO from the SoC. This is to keep the switch dead until it is configured properly by the kernel and user space. Prior to the referenced commit the switch was reset by the FEC driver and the reset GPIO was actively deasserted. The mdio-bus was scanned and the attached switch and its PHYs were found and configured. With the referenced commit the switch is reset by the qca8k driver. Because of another bug in the qca8k driver, functionality of the reset pin depends on its pre-kernel configuration. See commit c44fc98f0a8f ("net: dsa: qca8k: fix illegal usage of GPIO") The problem did not appear until we removed support for the switch and configuration of its reset pin from the bootloader. To fix that, properly describe the internal mdio-bus configuration of the qca8334 switch. The PHYs are internal to the switch and sit on its internal mdio-bus. Fixes: 7da7b84fee58 ("ARM: dts: imx6dl-yapp4: Move phy reset into switch no= de") Signed-off-by: Michal Vok=C3=A1=C4=8D Signed-off-by: Shawn Guo Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/arm/boot/dts/imx6dl-yapp4-common.dtsi | 23 ++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi b/arch/arm/boot/dts= /imx6dl-yapp4-common.dtsi index b636faaddc510..cbf5a76625e69 100644 --- a/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi +++ b/arch/arm/boot/dts/imx6dl-yapp4-common.dtsi @@ -115,14 +115,6 @@ mdio { #address-cells =3D <1>; #size-cells =3D <0>; =20 - phy_port2: phy@1 { - reg =3D <1>; - }; - - phy_port3: phy@2 { - reg =3D <2>; - }; - switch@10 { compatible =3D "qca,qca8334"; reg =3D <0x10>; @@ -147,15 +139,30 @@ fixed-link { eth2: port@2 { reg =3D <2>; label =3D "eth2"; + phy-mode =3D "internal"; phy-handle =3D <&phy_port2>; }; =20 eth1: port@3 { reg =3D <3>; label =3D "eth1"; + phy-mode =3D "internal"; phy-handle =3D <&phy_port3>; }; }; + + mdio { + #address-cells =3D <1>; + #size-cells =3D <0>; + + phy_port2: ethernet-phy@1 { + reg =3D <1>; + }; + + phy_port3: ethernet-phy@2 { + reg =3D <2>; + }; + }; }; }; }; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 47EFE1311A6; Sun, 24 Mar 2024 23:41:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323703; cv=none; b=L+5diZMC7HztgLqkttKQC4x8oH+GWIWOsFnN2wV/jSnmyWf35kBH41Nu310MJnCFDGvfzwtFTWC+0tNkT6f+Hkp0UeX3qdEOUyPXM1quM4PKZNQmaIvDz4DSEwmhVb3bawwXA1vGUHGMaF1l9VCFxH+cMvMQlXSi2g1k0XjhlGA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323703; c=relaxed/simple; bh=fxBXclm5odU7MS1XP/p5zvVRiI/LKuoAIK+l4yHfNVI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=MeJvD51fbKYjfRb9B13G8fA+8qlEu4h455RS4Vk9jYiy4NxYGa55b6mYCBWlLzgEWNLV6Syh07jNotfPAW1IYb/J2fn7+lotoskf+7ZGXQ8QSm3aZtBXWw4dzGjBn8d1bTWZWXb+AS/ROM1os1sMibHjU6qOcYQA8UFa7fi+8Fs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ezFbTXUJ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ezFbTXUJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8A169C433F1; Sun, 24 Mar 2024 23:41:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323703; bh=fxBXclm5odU7MS1XP/p5zvVRiI/LKuoAIK+l4yHfNVI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ezFbTXUJqfuHL9mvr82WCSEeTtV4toPH90Cw6RidElE36NveteNm0R+EuU9pRIZHi DTgZ7IzGX3ixroBA2sGKgg/gcJD4XjOYvUFOD0qZJh365LqkUxKJ054WefyDDpj90w omwWhZZVWsfKpdtJLTWDnAxfQH8TiUTxn3tAXfvS90RzvBDP383UUDFwGo5g/NqH5F hOhKRQE0Uwd4m3/syNAVCw8W4l+Br4HUiH9JEOPBAvBkF4C3qMisG8COq8rNuPgDTH 9vWaIBu/9k9M9fLkBT/lR/YeWGfe0g9h/t90Oh5GbW6nOfle7KpfQCv/jO+VudLXIQ Gmcx0qj3BqRMw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , Gregory CLEMENT , Sasha Levin Subject: [PATCH 5.10 076/238] arm64: dts: marvell: reorder crypto interrupts on Armada SoCs Date: Sun, 24 Mar 2024 19:37:44 -0400 Message-ID: <20240324234027.1354210-77-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Rafa=C5=82 Mi=C5=82ecki [ Upstream commit ec55a22149d64f9ac41845d923b884d4a666bf4d ] Match order specified in binding documentation. It says "mem" should be the last interrupt. This fixes: arch/arm64/boot/dts/marvell/armada-3720-db.dtb: crypto@90000: interrupt-nam= es:0: 'ring0' was expected from schema $id: http://devicetree.org/schemas/crypto/inside-secure= ,safexcel.yaml# arch/arm64/boot/dts/marvell/armada-3720-db.dtb: crypto@90000: interrupt-nam= es:1: 'ring1' was expected from schema $id: http://devicetree.org/schemas/crypto/inside-secure= ,safexcel.yaml# arch/arm64/boot/dts/marvell/armada-3720-db.dtb: crypto@90000: interrupt-nam= es:2: 'ring2' was expected from schema $id: http://devicetree.org/schemas/crypto/inside-secure= ,safexcel.yaml# arch/arm64/boot/dts/marvell/armada-3720-db.dtb: crypto@90000: interrupt-nam= es:3: 'ring3' was expected from schema $id: http://devicetree.org/schemas/crypto/inside-secure= ,safexcel.yaml# arch/arm64/boot/dts/marvell/armada-3720-db.dtb: crypto@90000: interrupt-nam= es:4: 'eip' was expected from schema $id: http://devicetree.org/schemas/crypto/inside-secure= ,safexcel.yaml# arch/arm64/boot/dts/marvell/armada-3720-db.dtb: crypto@90000: interrupt-nam= es:5: 'mem' was expected from schema $id: http://devicetree.org/schemas/crypto/inside-secure= ,safexcel.yaml# Signed-off-by: Rafa=C5=82 Mi=C5=82ecki Signed-off-by: Gregory CLEMENT Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/arm64/boot/dts/marvell/armada-37xx.dtsi | 10 +++++----- arch/arm64/boot/dts/marvell/armada-cp11x.dtsi | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi b/arch/arm64/boot= /dts/marvell/armada-37xx.dtsi index 0f4bcd15d8580..086c3cc7d055c 100644 --- a/arch/arm64/boot/dts/marvell/armada-37xx.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-37xx.dtsi @@ -414,14 +414,14 @@ xor11 { crypto: crypto@90000 { compatible =3D "inside-secure,safexcel-eip97ies"; reg =3D <0x90000 0x20000>; - interrupts =3D , - , + interrupts =3D , , , , - ; - interrupt-names =3D "mem", "ring0", "ring1", - "ring2", "ring3", "eip"; + , + ; + interrupt-names =3D "ring0", "ring1", "ring2", + "ring3", "eip", "mem"; clocks =3D <&nb_periph_clk 15>; }; =20 diff --git a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi b/arch/arm64/boo= t/dts/marvell/armada-cp11x.dtsi index 9dcf16beabf5d..da83bfdbe8432 100644 --- a/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi +++ b/arch/arm64/boot/dts/marvell/armada-cp11x.dtsi @@ -477,14 +477,14 @@ CP11X_LABEL(sdhci0): sdhci@780000 { CP11X_LABEL(crypto): crypto@800000 { compatible =3D "inside-secure,safexcel-eip197b"; reg =3D <0x800000 0x200000>; - interrupts =3D <87 IRQ_TYPE_LEVEL_HIGH>, - <88 IRQ_TYPE_LEVEL_HIGH>, + interrupts =3D <88 IRQ_TYPE_LEVEL_HIGH>, <89 IRQ_TYPE_LEVEL_HIGH>, <90 IRQ_TYPE_LEVEL_HIGH>, <91 IRQ_TYPE_LEVEL_HIGH>, - <92 IRQ_TYPE_LEVEL_HIGH>; - interrupt-names =3D "mem", "ring0", "ring1", - "ring2", "ring3", "eip"; + <92 IRQ_TYPE_LEVEL_HIGH>, + <87 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names =3D "ring0", "ring1", "ring2", "ring3", + "eip", "mem"; clock-names =3D "core", "reg"; clocks =3D <&CP11X_LABEL(clk) 1 26>, <&CP11X_LABEL(clk) 1 17>; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2D2431311B2; Sun, 24 Mar 2024 23:41:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323705; cv=none; b=Jcyv4RhA7XSOrkjC+jSTFV2TuYCR0lX2KOdq54N3jhcdsEcZbzj321pxZjjgWAwSqH7uVdN9Y6CHoOKWq7ph/emysxerbSE0OxKzih9X7zxUAmGyAU/NZLMUxfpC6Mh7j+QLHIFIQtanpHNziFQdKnZhnDbOHVue7lpWdlPlFlM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323705; c=relaxed/simple; bh=aM8xageqbvxvKZ6EsJxxHf29jpzZD3ilwWZwqVMSnUc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=POCVKFAjbdLmQ//jwlwb6sm4dUs6wPJ1hozTQeZ8nhRMsSOVCQyZucWVdtQtguBX7b4yO3Omp1v2k44N6gSuFw9vcOfNZ0LGv+o40w3HqZFOlNnPpFDeMO2TeNwzJeJDBhZGNzT7Inb+P4hbAdLldrCZWfUEs0zlVw7/l2edo9E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oGgnTX04; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oGgnTX04" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6B1C3C433C7; Sun, 24 Mar 2024 23:41:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323704; bh=aM8xageqbvxvKZ6EsJxxHf29jpzZD3ilwWZwqVMSnUc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oGgnTX04J0nFN8Fnn4sG+xkTnpqaVdLey6A5CvZP8ne9BUWeFaN9X1TPFv4M8DQ6w VWX/f3Dx20W5NBztwLrjLEU24AA2uMaBLDrQ4TUmY5fL/KuL4bEDdrQaKkC+gMvL6J p30iSB49PLMyd97Q265gyp2RbZ3DK/wtoHsqhgj09jjOEdMcMcr/UgaPR2ikVrW5ZA Ru52KBh8r1oyf/SpU6Wt5ctwggDpWxuAyNahI9GyPdZgqRzXQuGxHnfIq0RNzW81mm 8EQDX89iQyLkSPQLpsfOG+0rw9FZCJSANZM7/spW3ktp0qW/VBBJ9EXyu/uobX0MLe QQ0NgdwnPMD0w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Rafael J. Wysocki" , Jonathan Cameron , Sasha Levin Subject: [PATCH 5.10 077/238] ACPI: scan: Fix device check notification handling Date: Sun, 24 Mar 2024 19:37:45 -0400 Message-ID: <20240324234027.1354210-78-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: "Rafael J. Wysocki" [ Upstream commit 793551c965116d9dfaf0550dacae1396a20efa69 ] It is generally invalid to fail a Device Check notification if the scan handler has not been attached to the given device after a bus rescan, because there may be valid reasons for the scan handler to refuse attaching to the device (for example, the device is not ready). For this reason, modify acpi_scan_device_check() to return 0 in that case without printing a warning. While at it, reduce the log level of the "already enumerated" message in the same function, because it is only interesting when debugging notification handling Fixes: 443fc8202272 ("ACPI / hotplug: Rework generic code to handle suprise= removals") Signed-off-by: Rafael J. Wysocki Reviewed-by: Jonathan Cameron Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/acpi/scan.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index 67a5ee2fedfd3..f17f48bc13bc0 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -321,18 +321,14 @@ static int acpi_scan_device_check(struct acpi_device = *adev) * again). */ if (adev->handler) { - dev_warn(&adev->dev, "Already enumerated\n"); - return -EALREADY; + dev_dbg(&adev->dev, "Already enumerated\n"); + return 0; } error =3D acpi_bus_scan(adev->handle); if (error) { dev_warn(&adev->dev, "Namespace scan failure\n"); return error; } - if (!adev->handler) { - dev_warn(&adev->dev, "Enumeration failure\n"); - error =3D -ENODEV; - } } else { error =3D acpi_scan_device_not_present(adev); } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28BE21311B1; Sun, 24 Mar 2024 23:41:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323705; cv=none; b=qb63XLbyeN6RQ2x9PiQIJpHJSUFOqzd+lerjSJ/BParhZFkm5+cXOYhXYyGIh8S/shuq7hilv5EoyJqV9YpHXF4Tz4TZX+clk+xm3XPaAoxuZeR7VKIUhwGrxpHsbD0l7rOlt2S0DYNUIlcXZruSbrt3vqDn2luRLrZ74LJCMz8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323705; c=relaxed/simple; bh=8lg0zeAncBldALqSh3pqQu0z65I0wQjs983ZY90vK1Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ngR/8860hoRsLZuALjxJKdp/6pJaaE+ymxouA2+mt/4qEZ++fZSq9HQTCgQTxTUyI6YaV3StnBS7JOQ8eu2W0LB1JDWcfHTdOr09VsWdzrw7m/QouNmHm8uLqYPvhRBcafXQUInKLY5ynpNgRHlxqdODfQn0QJiDP/HXGvUMo2c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HodcedeH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HodcedeH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4F3F8C43394; Sun, 24 Mar 2024 23:41:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323705; bh=8lg0zeAncBldALqSh3pqQu0z65I0wQjs983ZY90vK1Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HodcedeHwNQyH/wa2c9kNUuMl6hE6XIRDbDnuS5FJBTuMT68egRFmyoh+a/UjX5IR iqU4B1E8J3F5a3oJQpvCIpkD3gcf3D7VdTgjVKP2y7kXn6hXMkHCnwgTxp4vqLVXFC 1r1NerGfHgB7QDqQhJ28UKzUPytoOBH2fTcLztydganR/wetxnrucg1p4ul/9XzBYN n9QNdlEKQZCbCspYLJVq1WfDbKE0FCaVHOB9hyUDDddfOLjVNhvx8AHsmyl1IFJymJ s+fYZ3VTwcMzsn2FH7XyxTtKaEQ/ruJMvLZqziEKwqtts0d7GS9Irk9ymnjMvO2PIx TKBTApW6h9V+Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Kees Cook , Guixiong Wei , Juergen Gross , Sasha Levin Subject: [PATCH 5.10 078/238] x86, relocs: Ignore relocations in .notes section Date: Sun, 24 Mar 2024 19:37:46 -0400 Message-ID: <20240324234027.1354210-79-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Kees Cook [ Upstream commit aaa8736370db1a78f0e8434344a484f9fd20be3b ] When building with CONFIG_XEN_PV=3Dy, .text symbols are emitted into the .notes section so that Xen can find the "startup_xen" entry point. This information is used prior to booting the kernel, so relocations are not useful. In fact, performing relocations against the .notes section means that the KASLR base is exposed since /sys/kernel/notes is world-readable. To avoid leaking the KASLR base without breaking unprivileged tools that are expecting to read /sys/kernel/notes, skip performing relocations in the .notes section. The values readable in .notes are then identical to those found in System.map. Reported-by: Guixiong Wei Closes: https://lore.kernel.org/all/20240218073501.54555-1-guixiongwei@gmai= l.com/ Fixes: 5ead97c84fa7 ("xen: Core Xen implementation") Fixes: da1a679cde9b ("Add /sys/kernel/notes") Reviewed-by: Juergen Gross Signed-off-by: Kees Cook Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/x86/tools/relocs.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c index 1c3a1962cade6..0043fd374a62f 100644 --- a/arch/x86/tools/relocs.c +++ b/arch/x86/tools/relocs.c @@ -596,6 +596,14 @@ static void print_absolute_relocs(void) if (!(sec_applies->shdr.sh_flags & SHF_ALLOC)) { continue; } + /* + * Do not perform relocations in .notes section; any + * values there are meant for pre-boot consumption (e.g. + * startup_xen). + */ + if (sec_applies->shdr.sh_type =3D=3D SHT_NOTE) { + continue; + } sh_symtab =3D sec_symtab->symtab; sym_strtab =3D sec_symtab->link->strtab; for (j =3D 0; j < sec->shdr.sh_size/sizeof(Elf_Rel); j++) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0E2341311B9; Sun, 24 Mar 2024 23:41:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323707; cv=none; b=NpmpFqxn3lqwOaGs4eob1A4n9yp9mp6inATDJ1F3DKPELgFfese5Nj3TJr60bw6ooHtbpGw8bX+bf642+u1oUpgPp6scuGOYKOr/OMSxYtLkNLSLWlbruHpgIHPm4XgRdoFejGB4HJ5mKIUOWW/WE2zY3aC8JIQdXz4J72P4RIQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323707; c=relaxed/simple; bh=+bjCDMRwadsGgRz/Ka4YYjHtGlwmEY4ooDUpXQ3MzME=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kybDXeYzFTgByPy5L4MMuYI+DVSoZP+wKoMHcap1+JgEBGy3xS+mGg1ukwnzLJ9GhgYKvcd4jp8E7csWinETQUt6rF//IgDbXiimOpS1no700EH/4gjWIJk7x0JhIDNRtaBLmtmy6y4jLACaJ0ESg0GOoocYxsi9tBlQEyFnRSw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iQ7WVZf0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="iQ7WVZf0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 49188C43399; Sun, 24 Mar 2024 23:41:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323705; bh=+bjCDMRwadsGgRz/Ka4YYjHtGlwmEY4ooDUpXQ3MzME=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iQ7WVZf0VQDU8cAUzQLyHKAYbDY1QVs9IjoEr7aQpIgs+KHsMq060CgyiGSCVeV1o PUdHeenBdRv5kIzsA7Id9zYcbqExUS/Fh8S+knVaBwVxUZQgtvGmrRARkMsBpcN+DJ 8zvUSz+IZ8uY4z8cLAh05cP5YuQVG7p48HGzOb6f3XJiGh5xio9aIOOX5s24390qQg cW8GFDDZclHobJ9Mu8gjmlMXv8sPU+BJ5FDx/7ksfz+08/9J5D4iUonCSQPD6OyMZk XfOdd4sUSIm4QniXN7/hlnqXHkAsHa44k6MuPvK4K2jBaIbXsGcTR9IdhTbshracMK GBwvRrkyvWP5Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Zhipeng Lu , Chuck Lever , Sasha Levin Subject: [PATCH 5.10 079/238] SUNRPC: fix some memleaks in gssx_dec_option_array Date: Sun, 24 Mar 2024 19:37:47 -0400 Message-ID: <20240324234027.1354210-80-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhipeng Lu [ Upstream commit 3cfcfc102a5e57b021b786a755a38935e357797d ] The creds and oa->data need to be freed in the error-handling paths after their allocation. So this patch add these deallocations in the corresponding paths. Fixes: 1d658336b05f ("SUNRPC: Add RPC based upcall mechanism for RPCGSS aut= h") Signed-off-by: Zhipeng Lu Signed-off-by: Chuck Lever Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/sunrpc/auth_gss/gss_rpc_xdr.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/net/sunrpc/auth_gss/gss_rpc_xdr.c b/net/sunrpc/auth_gss/gss_rp= c_xdr.c index 2ff7b7083ebab..e265b8d38aa14 100644 --- a/net/sunrpc/auth_gss/gss_rpc_xdr.c +++ b/net/sunrpc/auth_gss/gss_rpc_xdr.c @@ -250,8 +250,8 @@ static int gssx_dec_option_array(struct xdr_stream *xdr, =20 creds =3D kzalloc(sizeof(struct svc_cred), GFP_KERNEL); if (!creds) { - kfree(oa->data); - return -ENOMEM; + err =3D -ENOMEM; + goto free_oa; } =20 oa->data[0].option.data =3D CREDS_VALUE; @@ -265,29 +265,40 @@ static int gssx_dec_option_array(struct xdr_stream *x= dr, =20 /* option buffer */ p =3D xdr_inline_decode(xdr, 4); - if (unlikely(p =3D=3D NULL)) - return -ENOSPC; + if (unlikely(p =3D=3D NULL)) { + err =3D -ENOSPC; + goto free_creds; + } =20 length =3D be32_to_cpup(p); p =3D xdr_inline_decode(xdr, length); - if (unlikely(p =3D=3D NULL)) - return -ENOSPC; + if (unlikely(p =3D=3D NULL)) { + err =3D -ENOSPC; + goto free_creds; + } =20 if (length =3D=3D sizeof(CREDS_VALUE) && memcmp(p, CREDS_VALUE, sizeof(CREDS_VALUE)) =3D=3D 0) { /* We have creds here. parse them */ err =3D gssx_dec_linux_creds(xdr, creds); if (err) - return err; + goto free_creds; oa->data[0].value.len =3D 1; /* presence */ } else { /* consume uninteresting buffer */ err =3D gssx_dec_buffer(xdr, &dummy); if (err) - return err; + goto free_creds; } } return 0; + +free_creds: + kfree(creds); +free_oa: + kfree(oa->data); + oa->data =3D NULL; + return err; } =20 static int gssx_dec_status(struct xdr_stream *xdr, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E84401311AC; Sun, 24 Mar 2024 23:41:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323707; cv=none; b=Js4uBBwhOoI9JzwVSiWAGy6ZdR4pO70alZ8MOd3wSR7pH8pYmtZulaH53mR7CvHjIvxKS4CZY8JkRSTZh27RiykuldXA6F7ETiJVJCFgvUxjku6NMixVo9+EDeyYUbQjt6odVGd9cFMdm5Qox5nqepxbXISTMSDNRFNASPsJ1b0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323707; c=relaxed/simple; bh=KUcareWsI1VAdK+DJxxdVOXWGUo+3jqHf8bnKxBeUQA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VU+gZUMlvdZ9rQKXeMXx6qzQ6VtJGg+aarG+lIJxBng2YyTeZZLmJUcFgQ9nvjSpYfP+wuOsHlVN45oVKR3n/F5u8QkOtCw/UCna5w4j9rxrQf2cVwjRup5DDGo21jMa9DBeXB3lO9hF0DMeCmqMaOYIidm3EiV1avjJhU2lyqU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jGk4JSE6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jGk4JSE6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 331F7C43390; Sun, 24 Mar 2024 23:41:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323706; bh=KUcareWsI1VAdK+DJxxdVOXWGUo+3jqHf8bnKxBeUQA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jGk4JSE6t7kdHOsqtrN/mMucydP3Lip1ZycXFd/v3kS+TlyC7z20GPN8VBkP8g+xM 17ySZ3rz9l16TJhlWa0SZ3AgF8GdKcs6DlgYRTxoH+fToL4kjzCFCcX/DSW2WUzxil atd+U0OJQIGjsLLs6QJCNwga5YDOhdXSgPPWcBQ3Gz7IfOF+9iEDt4ikFDa4Ac/9px DhOi3pWTCpAN03tRlwk05LQaW5Ty69q5I8McXHy7y7d/92oI4AWwSNQuOcxfP6arBt E+3ifZg3FyotihDSSxFfAhKhtooomGF8KwkHRD57/qrseTXAC+iFwdCdAlnFK+mrVF jDTN8XvK/H6dw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe JAILLET , Ulf Hansson , Sasha Levin Subject: [PATCH 5.10 080/238] mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function Date: Sun, 24 Mar 2024 19:37:48 -0400 Message-ID: <20240324234027.1354210-81-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET [ Upstream commit ae5004a40a262d329039b99b62bd3fe7645b66ad ] This looks strange to call release_mem_region() in a remove function without any request_mem_region() in the probe or "struct resource" somewhere. So remove the corresponding code. Fixes: 3a96dff0f828 ("mmc: SD/MMC Host Controller for Wondermedia WM8505/WM= 8650") Signed-off-by: Christophe JAILLET Link: https://lore.kernel.org/r/bb0bb1ed1e18de55e8c0547625bde271e64b8c31.17= 08983064.git.christophe.jaillet@wanadoo.fr Signed-off-by: Ulf Hansson Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/mmc/host/wmt-sdmmc.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/drivers/mmc/host/wmt-sdmmc.c b/drivers/mmc/host/wmt-sdmmc.c index 3933195488575..3fcc81e48ad66 100644 --- a/drivers/mmc/host/wmt-sdmmc.c +++ b/drivers/mmc/host/wmt-sdmmc.c @@ -889,7 +889,6 @@ static int wmt_mci_remove(struct platform_device *pdev) { struct mmc_host *mmc; struct wmt_mci_priv *priv; - struct resource *res; u32 reg_tmp; =20 mmc =3D platform_get_drvdata(pdev); @@ -917,9 +916,6 @@ static int wmt_mci_remove(struct platform_device *pdev) clk_disable_unprepare(priv->clk_sdmmc); clk_put(priv->clk_sdmmc); =20 - res =3D platform_get_resource(pdev, IORESOURCE_MEM, 0); - release_mem_region(res->start, resource_size(res)); - mmc_free_host(mmc); =20 dev_info(&pdev->dev, "WMT MCI device removed\n"); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0141F1311B3; Sun, 24 Mar 2024 23:41:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323708; cv=none; b=KNROiAcNc6z2AlUd++bjgQRdtV0w3Hr/uFOnNb2SYtxlVSVyoozYQwLsy2TLOlh/gZ/0nu7Qmie15SNSmKBm9kQ/TzcRgGMTu6ONHxtVRhsr0Xi5Lbp1kmSOm5dCjjlN0FdGaYnseJwX04aGe1QkJeSLibrcb/VMoPCvifZY4BM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323708; c=relaxed/simple; bh=xfzY6sqSCTfLmXyPr1h7wJ82kutCf6cup+CAcJxnjPQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nH+y4hCavTeo6821twcIuMSUXDW5iBU21Wq6D+US5hINkGBLkoRoNWHmsTvb/IQMstkKrDukseAdNE6Qr/EMy04YHtQf9eJwzkgxcqGGp0QAHDQUN+Z6tGdww9WzAjx+EPQJPxyL/rOCuiF7rfKRHdMqhJNtObZ1tJdZWQsAUs0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Aq/j67c7; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Aq/j67c7" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 18A8FC433C7; Sun, 24 Mar 2024 23:41:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323707; bh=xfzY6sqSCTfLmXyPr1h7wJ82kutCf6cup+CAcJxnjPQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Aq/j67c7LEKyl844fWuC9Ey4vw2mmYCB++Lepkm3o/9lWeqWebQIGT8bLvI0EF4jo lTHAWzxynPUuUIBSLr1TeJfNxxUOBM6N9sPus/WDX7ibBhF5iLx4fOnsFWubWArjmt ElGacaHgqYI6sk4kcwv2UH91tGotfaiwMtTElyUxc0naHhtDHiLfaVIgK+MTMAE70s E/LiN0OIsxyvd3SCK9k7NUAP2En6eSgdhSM9EB6yUzUZUULX4CUiwd2XTOdirZtjfR OUtgxo0nPs3hiu8CKBFL8NlDdp/P8Q06B0V7M6KXgq/uuA7ZAfomysxA6PcQvuS2mZ pTFPVOlSNmKag== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Bitterblue Smith , Ping-Ke Shih , Kalle Valo , Sasha Levin Subject: [PATCH 5.10 081/238] wifi: rtw88: 8821c: Fix false alarm count Date: Sun, 24 Mar 2024 19:37:49 -0400 Message-ID: <20240324234027.1354210-82-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bitterblue Smith [ Upstream commit c238adbc578eeb70cbc8fdd1bef3666b0f585b13 ] total_fa_cnt is supposed to include cck_fa_cnt and ofdm_fa_cnt, not just ofdm_fa_cnt. Fixes: 960361238b86 ("rtw88: 8821c: add false alarm statistics") Signed-off-by: Bitterblue Smith Acked-by: Ping-Ke Shih Signed-off-by: Kalle Valo Link: https://msgid.link/f3cb6d17-e4e4-44a7-9c9b-72aed994b5c9@gmail.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireless/realtek/rtw88/rtw8821c.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821c.c b/drivers/net/wi= reless/realtek/rtw88/rtw8821c.c index f9615f76f1734..d517f92b6180b 100644 --- a/drivers/net/wireless/realtek/rtw88/rtw8821c.c +++ b/drivers/net/wireless/realtek/rtw88/rtw8821c.c @@ -579,9 +579,9 @@ static void rtw8821c_false_alarm_statistics(struct rtw_= dev *rtwdev) =20 dm_info->cck_fa_cnt =3D cck_fa_cnt; dm_info->ofdm_fa_cnt =3D ofdm_fa_cnt; + dm_info->total_fa_cnt =3D ofdm_fa_cnt; if (cck_enable) dm_info->total_fa_cnt +=3D cck_fa_cnt; - dm_info->total_fa_cnt =3D ofdm_fa_cnt; =20 crc32_cnt =3D rtw_read32(rtwdev, REG_CRC_CCK); dm_info->cck_ok_cnt =3D FIELD_GET(GENMASK(15, 0), crc32_cnt); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 409C617AF82; Sun, 24 Mar 2024 23:41:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323710; cv=none; b=g5hTGG3XC4zX5TbhMxsssqICQIDKt8L74Nrj8UBXGF8c/EkLMbRmSVkDlib/VK4aDJ/2WstaflQmK8FCc7zNn3n/61GfBQW56LqaC9ALPlAV4cMaZuiTMZ4Vjvh4wcyykiGY1Zp+MvYrx3RGmchRV5urlw0pNzLfl1N8GodVdd4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323710; c=relaxed/simple; bh=T+nOVCSzRnGTdI5P8M9Z7cq6C1PiVUrKiwdyHWmFwZo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Q68vbM8MQbObw3VsdgdVUh1oOJIu7Fg/cDVKWEZGkwUcqakx+TUHaBJ3rP5YWcGPNDU0RXDEdq/pgZQD2/um9j+gtE8541yyfaK8Q8R/jEdGlyFLnAeNzJcq6rgbzasmByLHzTt1FblbEeWNvtPuCVmlOH+BHpSlSfdR+yEYX/o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rLmyZBLP; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rLmyZBLP" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 17DD2C43390; Sun, 24 Mar 2024 23:41:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323709; bh=T+nOVCSzRnGTdI5P8M9Z7cq6C1PiVUrKiwdyHWmFwZo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rLmyZBLPc/wikNz+h7Vic52CcsI2I/WNTGqOJjEMOlfxjIkucdCdJGu01hYiTbLRI c8qOyFxewo0LGfnj7o5r1wAVDENCc7cFCEf5rKBe5lX6DH0Jl5mBdsHjTofaF1tNNm mDO+ljTGMNA4u7pZg8irSD9J1Ifzf0KrQpxFkrE65/xB1rQrXcN77Q9l5CQKqFwWTI +wAzv4LXPoB6EZRs5fHOHqzlGsC803/zqZzvMZuzfq3wfGLsviyt6Eb+w5qckYnznj L8GEJa24qwnTBkR/h7y3p8x3Z/79DRxoE1H2v/Xb/bPNektJ57C0bqywbhZHsxn+Qx aRX8wSFYItCdQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ethan Zhao , Bjorn Helgaas , Dan Carpenter , Haorong Ye , Lu Baolu , Joerg Roedel , Sasha Levin Subject: [PATCH 5.10 082/238] PCI: Make pci_dev_is_disconnected() helper public for other drivers Date: Sun, 24 Mar 2024 19:37:50 -0400 Message-ID: <20240324234027.1354210-83-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ethan Zhao [ Upstream commit 39714fd73c6b60a8d27bcc5b431afb0828bf4434 ] Make pci_dev_is_disconnected() public so that it can be called from Intel VT-d driver to quickly fix/workaround the surprise removal unplug hang issue for those ATS capable devices on PCIe switch downstream hotplug capable ports. Beside pci_device_is_present() function, this one has no config space space access, so is light enough to optimize the normal pure surprise removal and safe removal flow. Acked-by: Bjorn Helgaas Reviewed-by: Dan Carpenter Tested-by: Haorong Ye Signed-off-by: Ethan Zhao Link: https://lore.kernel.org/r/20240301080727.3529832-2-haifeng.zhao@linux= .intel.com Signed-off-by: Lu Baolu Signed-off-by: Joerg Roedel Stable-dep-of: 4fc82cd907ac ("iommu/vt-d: Don't issue ATS Invalidation requ= est when device is disconnected") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/pci/pci.h | 5 ----- include/linux/pci.h | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index 72436000ff252..32fa07bfc448e 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h @@ -399,11 +399,6 @@ static inline int pci_dev_set_disconnected(struct pci_= dev *dev, void *unused) return 0; } =20 -static inline bool pci_dev_is_disconnected(const struct pci_dev *dev) -{ - return dev->error_state =3D=3D pci_channel_io_perm_failure; -} - /* pci_dev priv_flags */ #define PCI_DEV_ADDED 0 #define PCI_DPC_RECOVERED 1 diff --git a/include/linux/pci.h b/include/linux/pci.h index 550e1cdb473fa..bf46453475e31 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -2191,6 +2191,11 @@ static inline struct pci_dev *pcie_find_root_port(st= ruct pci_dev *dev) return NULL; } =20 +static inline bool pci_dev_is_disconnected(const struct pci_dev *dev) +{ + return dev->error_state =3D=3D pci_channel_io_perm_failure; +} + void pci_request_acs(void); bool pci_acs_enabled(struct pci_dev *pdev, u16 acs_flags); bool pci_acs_path_enabled(struct pci_dev *start, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DFAD17AF8A; Sun, 24 Mar 2024 23:41:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323711; cv=none; b=XlwjGDZiP/fv5XqPeDJj6Vqh3eQlk0v7OUJ7HFGjJTRS3VIt4Ri8Rz3EBZfSy0O9nwSErlPC/o7Lup3i567Kq1GodCS7F0p5btfcpjrP/tngtQ9aOtlK8TcNu3r2NXKzskQR3nEYTkXB9N/kvjZKtshxCH/Ju8OpoBvm5L4seWI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323711; c=relaxed/simple; bh=0MuMuSHon8fJw+7LkyYcc/gDfCcnPrNsSe3wlmFfQGY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CRHcetGeu9VnhBxYADkx+dFeyqDdNCDWffHoJcYWMNzw+romI0aK9lfAlT0dfmq3cQ14J/xqmr+yQPfZJh7wAXfPzzXGMd6afvViwHh+e9qE7r0g41XXw1AOCWznSExeXDwBjjgHcOWa1cAmtEP0XEXR+4qj6ma42Ra9v2+ZXRc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lA0eUo6U; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lA0eUo6U" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58D6EC433C7; Sun, 24 Mar 2024 23:41:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323710; bh=0MuMuSHon8fJw+7LkyYcc/gDfCcnPrNsSe3wlmFfQGY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lA0eUo6UDgPNFmX2FAhz0fRRjqoSEbhWus3MAFJIp3YO4cl+mkOktDDGjYVeyTTFE Gh2C89wCCW06tEu77gvZe++q7/c/F6cfIHhSTdn0g6NSXDNr5L6LTL5EXnE92tS6TB dLeC7wzyHt4sdjACprvMPuB2potCHctiGEcRhmfhyq4FYzsRXlXG4GJbhj0m4y7c4H kI80isQlDCVqiVLatjMMax+ULnmRsHc2Y1sEfvBJb6OUEehlN2QbvZKGjRTzNKsQJq L4mA7TqsgCd0gcXaRqVyd3ZLDwbWovycR+L/hAM8tStRHNAA7bnrXjNRnrN0xWMcb+ JNjEm5DJ72FSw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ethan Zhao , Dan Carpenter , Haorong Ye , Lu Baolu , Joerg Roedel , Sasha Levin Subject: [PATCH 5.10 083/238] iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected Date: Sun, 24 Mar 2024 19:37:51 -0400 Message-ID: <20240324234027.1354210-84-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ethan Zhao [ Upstream commit 4fc82cd907ac075648789cc3a00877778aa1838b ] For those endpoint devices connect to system via hotplug capable ports, users could request a hot reset to the device by flapping device's link through setting the slot's link control register, as pciehp_ist() DLLSC interrupt sequence response, pciehp will unload the device driver and then power it off. thus cause an IOMMU device-TLB invalidation (Intel VT-d spec, or ATS Invalidation in PCIe spec r6.1) request for non-existence target device to be sent and deadly loop to retry that request after ITE fault triggered in interrupt context. That would cause following continuous hard lockup warning and system hang [ 4211.433662] pcieport 0000:17:01.0: pciehp: Slot(108): Link Down [ 4211.433664] pcieport 0000:17:01.0: pciehp: Slot(108): Card not present [ 4223.822591] NMI watchdog: Watchdog detected hard LOCKUP on cpu 144 [ 4223.822622] CPU: 144 PID: 1422 Comm: irq/57-pciehp Kdump: loaded Tainted= : G S OE kernel version xxxx [ 4223.822623] Hardware name: vendorname xxxx 666-106, BIOS 01.01.02.03.01 05/15/2023 [ 4223.822623] RIP: 0010:qi_submit_sync+0x2c0/0x490 [ 4223.822624] Code: 48 be 00 00 00 00 00 08 00 00 49 85 74 24 20 0f 95 c1 = 48 8b 57 10 83 c1 04 83 3c 1a 03 0f 84 a2 01 00 00 49 8b 04 24 8b 70 34 <40> f6 = c6 1 0 74 17 49 8b 04 24 8b 80 80 00 00 00 89 c2 d3 fa 41 39 [ 4223.822624] RSP: 0018:ffffc4f074f0bbb8 EFLAGS: 00000093 [ 4223.822625] RAX: ffffc4f040059000 RBX: 0000000000000014 RCX: 00000000000= 00005 [ 4223.822625] RDX: ffff9f3841315800 RSI: 0000000000000000 RDI: ffff9f38401= a8340 [ 4223.822625] RBP: ffff9f38401a8340 R08: ffffc4f074f0bc00 R09: 00000000000= 00000 [ 4223.822626] R10: 0000000000000010 R11: 0000000000000018 R12: ffff9f38400= 5e200 [ 4223.822626] R13: 0000000000000004 R14: 0000000000000046 R15: 00000000000= 00004 [ 4223.822626] FS: 0000000000000000(0000) GS:ffffa237ae400000(0000) knlGS:0000000000000000 [ 4223.822627] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 4223.822627] CR2: 00007ffe86515d80 CR3: 000002fd3000a001 CR4: 00000000007= 70ee0 [ 4223.822627] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 00000000000= 00000 [ 4223.822628] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 00000000000= 00400 [ 4223.822628] PKRU: 55555554 [ 4223.822628] Call Trace: [ 4223.822628] qi_flush_dev_iotlb+0xb1/0xd0 [ 4223.822628] __dmar_remove_one_dev_info+0x224/0x250 [ 4223.822629] dmar_remove_one_dev_info+0x3e/0x50 [ 4223.822629] intel_iommu_release_device+0x1f/0x30 [ 4223.822629] iommu_release_device+0x33/0x60 [ 4223.822629] iommu_bus_notifier+0x7f/0x90 [ 4223.822630] blocking_notifier_call_chain+0x60/0x90 [ 4223.822630] device_del+0x2e5/0x420 [ 4223.822630] pci_remove_bus_device+0x70/0x110 [ 4223.822630] pciehp_unconfigure_device+0x7c/0x130 [ 4223.822631] pciehp_disable_slot+0x6b/0x100 [ 4223.822631] pciehp_handle_presence_or_link_change+0xd8/0x320 [ 4223.822631] pciehp_ist+0x176/0x180 [ 4223.822631] ? irq_finalize_oneshot.part.50+0x110/0x110 [ 4223.822632] irq_thread_fn+0x19/0x50 [ 4223.822632] irq_thread+0x104/0x190 [ 4223.822632] ? irq_forced_thread_fn+0x90/0x90 [ 4223.822632] ? irq_thread_check_affinity+0xe0/0xe0 [ 4223.822633] kthread+0x114/0x130 [ 4223.822633] ? __kthread_cancel_work+0x40/0x40 [ 4223.822633] ret_from_fork+0x1f/0x30 [ 4223.822633] Kernel panic - not syncing: Hard LOCKUP [ 4223.822634] CPU: 144 PID: 1422 Comm: irq/57-pciehp Kdump: loaded Tainted= : G S OE kernel version xxxx [ 4223.822634] Hardware name: vendorname xxxx 666-106, BIOS 01.01.02.03.01 05/15/2023 [ 4223.822634] Call Trace: [ 4223.822634] [ 4223.822635] dump_stack+0x6d/0x88 [ 4223.822635] panic+0x101/0x2d0 [ 4223.822635] ? ret_from_fork+0x11/0x30 [ 4223.822635] nmi_panic.cold.14+0xc/0xc [ 4223.822636] watchdog_overflow_callback.cold.8+0x6d/0x81 [ 4223.822636] __perf_event_overflow+0x4f/0xf0 [ 4223.822636] handle_pmi_common+0x1ef/0x290 [ 4223.822636] ? __set_pte_vaddr+0x28/0x40 [ 4223.822637] ? flush_tlb_one_kernel+0xa/0x20 [ 4223.822637] ? __native_set_fixmap+0x24/0x30 [ 4223.822637] ? ghes_copy_tofrom_phys+0x70/0x100 [ 4223.822637] ? __ghes_peek_estatus.isra.16+0x49/0xa0 [ 4223.822637] intel_pmu_handle_irq+0xba/0x2b0 [ 4223.822638] perf_event_nmi_handler+0x24/0x40 [ 4223.822638] nmi_handle+0x4d/0xf0 [ 4223.822638] default_do_nmi+0x49/0x100 [ 4223.822638] exc_nmi+0x134/0x180 [ 4223.822639] end_repeat_nmi+0x16/0x67 [ 4223.822639] RIP: 0010:qi_submit_sync+0x2c0/0x490 [ 4223.822639] Code: 48 be 00 00 00 00 00 08 00 00 49 85 74 24 20 0f 95 c1 = 48 8b 57 10 83 c1 04 83 3c 1a 03 0f 84 a2 01 00 00 49 8b 04 24 8b 70 34 <40> f6 = c6 10 74 17 49 8b 04 24 8b 80 80 00 00 00 89 c2 d3 fa 41 39 [ 4223.822640] RSP: 0018:ffffc4f074f0bbb8 EFLAGS: 00000093 [ 4223.822640] RAX: ffffc4f040059000 RBX: 0000000000000014 RCX: 00000000000= 00005 [ 4223.822640] RDX: ffff9f3841315800 RSI: 0000000000000000 RDI: ffff9f38401= a8340 [ 4223.822641] RBP: ffff9f38401a8340 R08: ffffc4f074f0bc00 R09: 00000000000= 00000 [ 4223.822641] R10: 0000000000000010 R11: 0000000000000018 R12: ffff9f38400= 5e200 [ 4223.822641] R13: 0000000000000004 R14: 0000000000000046 R15: 00000000000= 00004 [ 4223.822641] ? qi_submit_sync+0x2c0/0x490 [ 4223.822642] ? qi_submit_sync+0x2c0/0x490 [ 4223.822642] [ 4223.822642] qi_flush_dev_iotlb+0xb1/0xd0 [ 4223.822642] __dmar_remove_one_dev_info+0x224/0x250 [ 4223.822643] dmar_remove_one_dev_info+0x3e/0x50 [ 4223.822643] intel_iommu_release_device+0x1f/0x30 [ 4223.822643] iommu_release_device+0x33/0x60 [ 4223.822643] iommu_bus_notifier+0x7f/0x90 [ 4223.822644] blocking_notifier_call_chain+0x60/0x90 [ 4223.822644] device_del+0x2e5/0x420 [ 4223.822644] pci_remove_bus_device+0x70/0x110 [ 4223.822644] pciehp_unconfigure_device+0x7c/0x130 [ 4223.822644] pciehp_disable_slot+0x6b/0x100 [ 4223.822645] pciehp_handle_presence_or_link_change+0xd8/0x320 [ 4223.822645] pciehp_ist+0x176/0x180 [ 4223.822645] ? irq_finalize_oneshot.part.50+0x110/0x110 [ 4223.822645] irq_thread_fn+0x19/0x50 [ 4223.822646] irq_thread+0x104/0x190 [ 4223.822646] ? irq_forced_thread_fn+0x90/0x90 [ 4223.822646] ? irq_thread_check_affinity+0xe0/0xe0 [ 4223.822646] kthread+0x114/0x130 [ 4223.822647] ? __kthread_cancel_work+0x40/0x40 [ 4223.822647] ret_from_fork+0x1f/0x30 [ 4223.822647] Kernel Offset: 0x6400000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff) Such issue could be triggered by all kinds of regular surprise removal hotplug operation. like: 1. pull EP(endpoint device) out directly. 2. turn off EP's power. 3. bring the link down. etc. this patch aims to work for regular safe removal and surprise removal unplug. these hot unplug handling process could be optimized for fix the ATS Invalidation hang issue by calling pci_dev_is_disconnected() in function devtlb_invalidation_with_pasid() to check target device state to avoid sending meaningless ATS Invalidation request to iommu when device is gone. (see IMPLEMENTATION NOTE in PCIe spec r6.1 section 10.3.1) For safe removal, device wouldn't be removed until the whole software handling process is done, it wouldn't trigger the hard lock up issue caused by too long ATS Invalidation timeout wait. In safe removal path, device state isn't set to pci_channel_io_perm_failure in pciehp_unconfigure_device() by checking 'presence' parameter, calling pci_dev_is_disconnected() in devtlb_invalidation_with_pasid() will return false there, wouldn't break the function. For surprise removal, device state is set to pci_channel_io_perm_failure in pciehp_unconfigure_device(), means device is already gone (disconnected) call pci_dev_is_disconnected() in devtlb_invalidation_with_pasid() will return true to break the function not to send ATS Invalidation request to the disconnected device blindly, thus avoid to trigger further ITE fault, and ITE fault will block all invalidation request to be handled. furthermore retry the timeout request could trigger hard lockup. safe removal (present) & surprise removal (not present) pciehp_ist() pciehp_handle_presence_or_link_change() pciehp_disable_slot() remove_board() pciehp_unconfigure_device(presence) { if (!presence) pci_walk_bus(parent, pci_dev_set_disconnected, NULL); } this patch works for regular safe removal and surprise removal of ATS capable endpoint on PCIe switch downstream ports. Fixes: 6f7db75e1c46 ("iommu/vt-d: Add second level page table interface") Reviewed-by: Dan Carpenter Tested-by: Haorong Ye Signed-off-by: Ethan Zhao Link: https://lore.kernel.org/r/20240301080727.3529832-3-haifeng.zhao@linux= .intel.com Signed-off-by: Lu Baolu Signed-off-by: Joerg Roedel Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/iommu/intel/pasid.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/iommu/intel/pasid.c b/drivers/iommu/intel/pasid.c index 9b24e8224379e..586b289cf468d 100644 --- a/drivers/iommu/intel/pasid.c +++ b/drivers/iommu/intel/pasid.c @@ -489,6 +489,9 @@ devtlb_invalidation_with_pasid(struct intel_iommu *iomm= u, if (!info || !info->ats_enabled) return; =20 + if (pci_dev_is_disconnected(to_pci_dev(dev))) + return; + sid =3D info->bus << 8 | info->devfn; qdep =3D info->ats_qdep; pfsid =3D info->pfsid; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AF84617AF90; Sun, 24 Mar 2024 23:41:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323712; cv=none; b=VD0Dapy2JVGzcUoxYQm7cnyKZ/lWiQ7Nji+QLhmWEsw8k2lZ3ysEO28BtXmPhVBK7uo5TmUh03cFqbYlKhvRVXQXhqWV1Xrw6XyL8lGxvRm3YQ8dNTpv7u2poGtyJUzUIOS2sQuHqX/3wSUz6w12J/ssuPIc+nC8K18/O7nIkQg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323712; c=relaxed/simple; bh=ract1cdDgR5IG6/X6Zoa8+kpV1nTRt1KjDzuWGwiT4Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hsgO3G+/1889E/LBCysvsfzRXJ6cMl+k7lZJybfDl5z1FXYX7JD9FALRtjADBFbixxzvVTZ6Y8NuxAt9TKCKyLUkNRvb42X1q03uksgwFrXHWzlPGg9WuX2ZZnIVzLXWgE8MyNe3e/+cVUXuBH1KRnudUW+BvBof9DNcTOeYGiE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=e0X9ZgLN; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="e0X9ZgLN" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8356EC43390; Sun, 24 Mar 2024 23:41:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323711; bh=ract1cdDgR5IG6/X6Zoa8+kpV1nTRt1KjDzuWGwiT4Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=e0X9ZgLNjTUvI3cbT8p0Fk7Y618cbORHCHEOfMyQ5+L0rLLcSbhNbvDvAdzxasIE6 Ibgbk/Pqoo7TX8qd1MD07ipz46tFOYeXlscWsAnJvp9O5TGmqMnfuHmczbWSKWn3CV Du64FjYwmg4QumBmRQN5eF1E80ddLuIrnLCs6ihEOIOq93wGFZ5qKIE6tDriJrIB/D neO5sjnTh/DhDPBBk8nHoMXAhAQBhFoEtG9gd3KKVw++2OM5Ez5BN4LaYpwRJm+XWF Gy7CKhJ1qJ/nMUuVBRkpqR9Z1Na1Vhi/XOhg/XEzk25mWAYOk4zK54fLHqj10fIukJ 2vbfFf9ZwsfUQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ruud Bos , Gurucharan G , Tony Nguyen , Sasha Levin Subject: [PATCH 5.10 084/238] igb: move PEROUT and EXTTS isr logic to separate functions Date: Sun, 24 Mar 2024 19:37:52 -0400 Message-ID: <20240324234027.1354210-85-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ruud Bos [ Upstream commit cf99c1dd7b7729091043374b90807c7a5f9fd9b1 ] Remove code duplication in the tsync interrupt handler function by moving this logic to separate functions. This keeps the interrupt handler readable and allows the new functions to be extended for adapter types other than i210. Signed-off-by: Ruud Bos Tested-by: Gurucharan G Signed-off-by: Tony Nguyen Stable-dep-of: ee14cc9ea19b ("igb: Fix missing time sync events") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/ethernet/intel/igb/igb_main.c | 81 +++++++++++++---------- 1 file changed, 46 insertions(+), 35 deletions(-) diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethern= et/intel/igb/igb_main.c index 01176c86be125..05dde67a69dd0 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -6762,12 +6762,52 @@ void igb_update_stats(struct igb_adapter *adapter) } } =20 +static void igb_perout(struct igb_adapter *adapter, int tsintr_tt) +{ + int pin =3D ptp_find_pin(adapter->ptp_clock, PTP_PF_PEROUT, tsintr_tt); + struct e1000_hw *hw =3D &adapter->hw; + struct timespec64 ts; + u32 tsauxc; + + if (pin < 0 || pin >=3D IGB_N_PEROUT) + return; + + spin_lock(&adapter->tmreg_lock); + ts =3D timespec64_add(adapter->perout[pin].start, + adapter->perout[pin].period); + /* u32 conversion of tv_sec is safe until y2106 */ + wr32((tsintr_tt =3D=3D 1) ? E1000_TRGTTIML1 : E1000_TRGTTIML0, ts.tv_nsec= ); + wr32((tsintr_tt =3D=3D 1) ? E1000_TRGTTIMH1 : E1000_TRGTTIMH0, (u32)ts.tv= _sec); + tsauxc =3D rd32(E1000_TSAUXC); + tsauxc |=3D TSAUXC_EN_TT0; + wr32(E1000_TSAUXC, tsauxc); + adapter->perout[pin].start =3D ts; + spin_unlock(&adapter->tmreg_lock); +} + +static void igb_extts(struct igb_adapter *adapter, int tsintr_tt) +{ + int pin =3D ptp_find_pin(adapter->ptp_clock, PTP_PF_EXTTS, tsintr_tt); + struct e1000_hw *hw =3D &adapter->hw; + struct ptp_clock_event event; + u32 sec, nsec; + + if (pin < 0 || pin >=3D IGB_N_EXTTS) + return; + + nsec =3D rd32((tsintr_tt =3D=3D 1) ? E1000_AUXSTMPL1 : E1000_AUXSTMPL0); + sec =3D rd32((tsintr_tt =3D=3D 1) ? E1000_AUXSTMPH1 : E1000_AUXSTMPH0); + event.type =3D PTP_CLOCK_EXTTS; + event.index =3D tsintr_tt; + event.timestamp =3D sec * 1000000000ULL + nsec; + ptp_clock_event(adapter->ptp_clock, &event); +} + static void igb_tsync_interrupt(struct igb_adapter *adapter) { struct e1000_hw *hw =3D &adapter->hw; + u32 ack =3D 0, tsicr =3D rd32(E1000_TSICR); struct ptp_clock_event event; - struct timespec64 ts; - u32 ack =3D 0, tsauxc, sec, nsec, tsicr =3D rd32(E1000_TSICR); =20 if (tsicr & TSINTR_SYS_WRAP) { event.type =3D PTP_CLOCK_PPS; @@ -6783,51 +6823,22 @@ static void igb_tsync_interrupt(struct igb_adapter = *adapter) } =20 if (tsicr & TSINTR_TT0) { - spin_lock(&adapter->tmreg_lock); - ts =3D timespec64_add(adapter->perout[0].start, - adapter->perout[0].period); - /* u32 conversion of tv_sec is safe until y2106 */ - wr32(E1000_TRGTTIML0, ts.tv_nsec); - wr32(E1000_TRGTTIMH0, (u32)ts.tv_sec); - tsauxc =3D rd32(E1000_TSAUXC); - tsauxc |=3D TSAUXC_EN_TT0; - wr32(E1000_TSAUXC, tsauxc); - adapter->perout[0].start =3D ts; - spin_unlock(&adapter->tmreg_lock); + igb_perout(adapter, 0); ack |=3D TSINTR_TT0; } =20 if (tsicr & TSINTR_TT1) { - spin_lock(&adapter->tmreg_lock); - ts =3D timespec64_add(adapter->perout[1].start, - adapter->perout[1].period); - wr32(E1000_TRGTTIML1, ts.tv_nsec); - wr32(E1000_TRGTTIMH1, (u32)ts.tv_sec); - tsauxc =3D rd32(E1000_TSAUXC); - tsauxc |=3D TSAUXC_EN_TT1; - wr32(E1000_TSAUXC, tsauxc); - adapter->perout[1].start =3D ts; - spin_unlock(&adapter->tmreg_lock); + igb_perout(adapter, 1); ack |=3D TSINTR_TT1; } =20 if (tsicr & TSINTR_AUTT0) { - nsec =3D rd32(E1000_AUXSTMPL0); - sec =3D rd32(E1000_AUXSTMPH0); - event.type =3D PTP_CLOCK_EXTTS; - event.index =3D 0; - event.timestamp =3D sec * 1000000000ULL + nsec; - ptp_clock_event(adapter->ptp_clock, &event); + igb_extts(adapter, 0); ack |=3D TSINTR_AUTT0; } =20 if (tsicr & TSINTR_AUTT1) { - nsec =3D rd32(E1000_AUXSTMPL1); - sec =3D rd32(E1000_AUXSTMPH1); - event.type =3D PTP_CLOCK_EXTTS; - event.index =3D 1; - event.timestamp =3D sec * 1000000000ULL + nsec; - ptp_clock_event(adapter->ptp_clock, &event); + igb_extts(adapter, 1); ack |=3D TSINTR_AUTT1; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7266D17AF8B; Sun, 24 Mar 2024 23:41:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323713; cv=none; b=rgpR6QMKI4HIIFFxTKtx+tz6GNvQU33a6IXv4qanqRb5LBBQHVbrTm1xbu5iTyDh6oNdyKxC9VXHAqV9QModHBLWuLxwRJrP18xxOcf/6EzUISpuVPtBWaBLX9DTRIim/JVvlexC0K2FuyaqOHepT3mwmsobTtG6i9i05kl8HYI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323713; c=relaxed/simple; bh=1g595aRhRPlwpZVapklu4DfVF1mV/Q2XXhC9T/KfX20=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jvCqSOqFCFnf0c/8SNY7ePuAM754yuv2f3/J3SE0yLPjec7SI/p+KFvCKFpyFJ4olZS3HUaFOON2vesDrCdAyAdDJaFSQ6qXHE8qMSZ7z7+kK4s90RCRjEBWFv2iCqj4amnd/Co9ehh7gSQrLfD1IBxf/6AGc4wDpuLixnxWvik= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gPVPpVeB; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gPVPpVeB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8251EC433C7; Sun, 24 Mar 2024 23:41:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323712; bh=1g595aRhRPlwpZVapklu4DfVF1mV/Q2XXhC9T/KfX20=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gPVPpVeBU3pz7gqM0GQv8D7H6Sp2cS3/WLTFbkt+SpiCCE5ZTGB0Ftv4GyTsq5JLa BnYHdl7BsldqwYluqYKBweRT3+JzDftpdD8FcA1bAS0Yp5UOdjORgbz6mSXKFTuG1s 1f9UJvKcgVGtkkffH7pbrCHdrQhiEDugaYTJVkCgyMyWxJKB31Hv0/8hTR3TvUruAe bauo3WIyiJ1kMkjtNNUMIN7Kd5caWsWn+x2I/bsZ/yEgGiSV4Axig90L29nAVcjQLA 5s4wC4Tma8ZxUrLhOChWrHY5Yf1VEnK4GXVSOFoZmeB1jjoa5ZuRulLVhv5eY106AL zFyg6yvqm/2sQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Vinicius Costa Gomes , Richard Cochran , Pucha Himasekhar Reddy , Tony Nguyen , Sasha Levin Subject: [PATCH 5.10 085/238] igb: Fix missing time sync events Date: Sun, 24 Mar 2024 19:37:53 -0400 Message-ID: <20240324234027.1354210-86-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Vinicius Costa Gomes [ Upstream commit ee14cc9ea19ba9678177e2224a9c58cce5937c73 ] Fix "double" clearing of interrupts, which can cause external events or timestamps to be missed. The E1000_TSIRC Time Sync Interrupt Cause register can be cleared in two ways, by either reading it or by writing '1' into the specific cause bit. This is documented in section 8.16.1. The following flow was used: 1. read E1000_TSIRC into 'tsicr'; 2. handle the interrupts present into 'tsirc' and mark them in 'ack'; 3. write 'ack' into E1000_TSICR; As both (1) and (3) will clear the interrupt cause, if the same interrupt happens again between (1) and (3) it will be ignored, causing events to be missed. Remove the extra clear in (3). Fixes: 00c65578b47b ("igb: enable internal PPS for the i210") Acked-by: Richard Cochran Signed-off-by: Vinicius Costa Gomes Tested-by: Pucha Himasekhar Reddy (A Co= ntingent worker at Intel) Signed-off-by: Tony Nguyen Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/ethernet/intel/igb/igb_main.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethern= et/intel/igb/igb_main.c index 05dde67a69dd0..0848613c3f45a 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -6806,44 +6806,31 @@ static void igb_extts(struct igb_adapter *adapter, = int tsintr_tt) static void igb_tsync_interrupt(struct igb_adapter *adapter) { struct e1000_hw *hw =3D &adapter->hw; - u32 ack =3D 0, tsicr =3D rd32(E1000_TSICR); + u32 tsicr =3D rd32(E1000_TSICR); struct ptp_clock_event event; =20 if (tsicr & TSINTR_SYS_WRAP) { event.type =3D PTP_CLOCK_PPS; if (adapter->ptp_caps.pps) ptp_clock_event(adapter->ptp_clock, &event); - ack |=3D TSINTR_SYS_WRAP; } =20 if (tsicr & E1000_TSICR_TXTS) { /* retrieve hardware timestamp */ schedule_work(&adapter->ptp_tx_work); - ack |=3D E1000_TSICR_TXTS; } =20 - if (tsicr & TSINTR_TT0) { + if (tsicr & TSINTR_TT0) igb_perout(adapter, 0); - ack |=3D TSINTR_TT0; - } =20 - if (tsicr & TSINTR_TT1) { + if (tsicr & TSINTR_TT1) igb_perout(adapter, 1); - ack |=3D TSINTR_TT1; - } =20 - if (tsicr & TSINTR_AUTT0) { + if (tsicr & TSINTR_AUTT0) igb_extts(adapter, 0); - ack |=3D TSINTR_AUTT0; - } =20 - if (tsicr & TSINTR_AUTT1) { + if (tsicr & TSINTR_AUTT1) igb_extts(adapter, 1); - ack |=3D TSINTR_AUTT1; - } - - /* acknowledge the interrupts */ - wr32(E1000_TSICR, ack); } =20 static irqreturn_t igb_msix_other(int irq, void *data) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 515CA17AF99; Sun, 24 Mar 2024 23:41:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323714; cv=none; b=rol78EEOH+KURFjOlMsKSM4uVy6UpZrORTfvnGCda8ctK9CIMDTAcELk4MAIZyfX/VQ6XIXYvt4X9Lpp1KC540uArpEWBvZsnnxgbUHf3RAjtliTYlpXSpE3cdjUVTd9ZucR4by314LDvxl/2ben9saZ0OxlpxmK4FEzlIKTuk0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323714; c=relaxed/simple; bh=CSsMMAzPnslDQ8GvwXxlXfce+dOErRVaZ+P4AxHsZE8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BcheSd+U/n9dDLfxTOdtho50ARRxgD+DL7/8m0f5h5zL9mQJBTcT0bZBzDY6fitQphxO4+WZNZZ+dWPJzeArNBUtIy/vsFiPYqbO4GUR+EdDfGCmk57FKWCFJTA+L8zZRvGz/xFEGIAYRIVk5SHVHuGdFSQsWz6DHDZ2QkyLnDg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=spqAvSSx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="spqAvSSx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 96096C43394; Sun, 24 Mar 2024 23:41:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323713; bh=CSsMMAzPnslDQ8GvwXxlXfce+dOErRVaZ+P4AxHsZE8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=spqAvSSxhBP5M47SQ+m6w9GBiWmdja5LlJ8MR3K2WhEeR9L2bNP4jTC2cy9oA7PgE KhWLtXWx9ARBQnfxJwif5qVu/th0SLXz++noQ9W/culskGNj8A9w6QgmAgOvPeo3NM 2O3ZiTduIZ2t9/27uE0l9rxot2hwcsRGkB1Kq2eE0JvSyCd7oGus+FlepzdWazqQTn k0ezG8lmOtJZ3cDc6pfwHv9YqPglpRZZn4OXhjPyfxkzuHEHqEEF+Y/1yOoCaKPk82 T3Sc5Znk9rwXvEshScYFRQAfW/31IgI66YLoED/qQQ+HX3/7Hs8TzLpqhoRCZpbsPn lySVn/KkMw9WQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Jonas=20Dre=C3=9Fler?= , Luiz Augusto von Dentz , Sasha Levin Subject: [PATCH 5.10 086/238] Bluetooth: Remove superfluous call to hci_conn_check_pending() Date: Sun, 24 Mar 2024 19:37:54 -0400 Message-ID: <20240324234027.1354210-87-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Jonas Dre=C3=9Fler [ Upstream commit 78e3639fc8031275010c3287ac548c0bc8de83b1 ] The "pending connections" feature was originally introduced with commit 4c67bc74f016 ("[Bluetooth] Support concurrent connect requests") and 6bd57416127e ("[Bluetooth] Handling pending connect attempts after inquiry") to handle controllers supporting only a single connection request at a time. Later things were extended to also cancel ongoing inquiries on connect() with commit 89e65975fea5 ("Bluetooth: Cancel Inquiry before Create Connection"). With commit a9de9248064b ("[Bluetooth] Switch from OGF+OCF to using only opcodes"), hci_conn_check_pending() was introduced as a helper to consolidate a few places where we check for pending connections (indicated by the BT_CONNECT2 flag) and then try to connect. This refactoring commit also snuck in two more calls to hci_conn_check_pending(): - One is in the failure callback of hci_cs_inquiry(), this one probably makes sense: If we send an "HCI Inquiry" command and then immediately after a "Create Connection" command, the "Create Connection" command might fail before the "HCI Inquiry" command, and then we want to retry the "Create Connection" on failure of the "HCI Inquiry". - The other added call to hci_conn_check_pending() is in the event handler for the "Remote Name" event, this seems unrelated and is possibly a copy-paste error, so remove that one. Fixes: a9de9248064b ("[Bluetooth] Switch from OGF+OCF to using only opcodes= ") Signed-off-by: Jonas Dre=C3=9Fler Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/bluetooth/hci_event.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 47f37080c0c55..a0d9bc99f4e14 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c @@ -2979,8 +2979,6 @@ static void hci_remote_name_evt(struct hci_dev *hdev,= struct sk_buff *skb) =20 BT_DBG("%s", hdev->name); =20 - hci_conn_check_pending(hdev); - hci_dev_lock(hdev); =20 conn =3D hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 20E0417AF96; Sun, 24 Mar 2024 23:41:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323714; cv=none; b=fvVYG5IKWO1laSnpbikj6DRzX7/9/DVQbfW2NNyqntQc1O3p+jgu6NkbBPKrlNm7kHeLD2cdUPvyhdS3uT4x1LNsNOF5YgyDr1ONYgyjBOu+71xx1tCiGZunKIOvVbsJRiVHBC6+VPRbw3/Z6E/u1yMpOqWCNr4RvDz4PG6RGQs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323714; c=relaxed/simple; bh=zIHIDGYrNQow1bY9+uueUFMQRpndkPOjwaPDjx2YMEo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ky+Oqx44g80sHWZygT7QHLHdFXnwFwvy+5QkjBGWqZFbph/VoqgdH/2mkXuSyTWUf9DSsGrmXeLG4Qbl1zybTb4L8KD5mTT6lFGA0v6rqIYlhHiRF94KRaUGi2IM1x11H4Zwg0HrP/JTRd2lfN2o7fIj2X8MTySSihzOjOiJ0EU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=a+7kqFEB; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="a+7kqFEB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7967EC433F1; Sun, 24 Mar 2024 23:41:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323714; bh=zIHIDGYrNQow1bY9+uueUFMQRpndkPOjwaPDjx2YMEo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=a+7kqFEBdAp67vwgqEq1Akidu/W0XrmgOvrVL6R6vfjEDS88rGjqu4zxti15fNYRB 8a7K+D0ak3h3+vH4SUX/ZR4OUhyX6Jwd6QtiA6RSN+FwKFB+g1EGa7UMgdAWKA5Mzd NBS6+UyMCxrQKKWE/HO6AHpEoWJQ+4T0P6tzAId49MBDgF5RLrIGJy9FhzrQoJxIcB RYf+0FmTpsWrdzjLmdjtMHquP3kgAjLT8h1hfFHDgkTaDtpl+Wn4Wl81mHgqFbXr9P OBl9iOAobosBw6qDUjFQ0D9nkgNT2y31WqeazzSa5R+6He98TdzYvYa9ErJ1Rn9FRv J2wYh3QKuCB8g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Luiz Augusto von Dentz , Sasha Levin Subject: [PATCH 5.10 087/238] Bluetooth: hci_core: Fix possible buffer overflow Date: Sun, 24 Mar 2024 19:37:55 -0400 Message-ID: <20240324234027.1354210-88-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Luiz Augusto von Dentz [ Upstream commit 81137162bfaa7278785b24c1fd2e9e74f082e8e4 ] struct hci_dev_info has a fixed size name[8] field so in the event that hdev->name is bigger than that strcpy would attempt to write past its size, so this fixes this problem by switching to use strscpy. Fixes: dcda165706b9 ("Bluetooth: hci_core: Fix build warnings") Signed-off-by: Luiz Augusto von Dentz Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/bluetooth/hci_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index 5f1fbf86e0ceb..b9cf5bc9364c1 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c @@ -2175,7 +2175,7 @@ int hci_get_dev_info(void __user *arg) else flags =3D hdev->flags; =20 - strcpy(di.name, hdev->name); + strscpy(di.name, hdev->name, sizeof(di.name)); di.bdaddr =3D hdev->bdaddr; di.type =3D (hdev->bus & 0x0f) | ((hdev->dev_type & 0x03) << 4); di.flags =3D flags; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A80917AF91; Sun, 24 Mar 2024 23:41:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323715; cv=none; b=JBLqJZW3Bt/UUJ54oYIv0gS3BnBBVXBBUlvOokNJaChgLqOvJbAH0oV/tyq5zyGb4Kl8CKKmRHwOOH60EmpYxnRL/ZKbPERVB5IvAE/YIpTjUDZFdTtdlTkl3Hp78fre/1xo65vJZ5K81wIsWd1dvoeZt4+6Xud4WT5F+Ki/l+U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323715; c=relaxed/simple; bh=ExZL3/MFyzI92yOqyU4pBDdIcGauhn5Ds3d+UzfIZ/A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ckTXINsKbfYb51B5AgEhQhq7X2j2S7Cfq5TDCGYhgq5flPav4Fz1So5i5Z1KkofoxrctmFFUTFaKnbG7PuFqxV+FYX+jpgmAIyZRu7tr7BQig7MmYgn4aqtoaNCIfA8dgDPfbjFa8kYdqxZJwgx4nFvxEcqzFLdzSMci9Nvl0NY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HJB+J5lc; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HJB+J5lc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 46C71C43390; Sun, 24 Mar 2024 23:41:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323715; bh=ExZL3/MFyzI92yOqyU4pBDdIcGauhn5Ds3d+UzfIZ/A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HJB+J5lcu0PX/5vhbWjMP9E11fiXPAdWGxDLTGBmSsTl+f65Va8J6/D8NTQxEOuny GORZFeCxz8S3WwVoD+ZZTAt/1XC1ygda5rXEvwDRJ3fmAsVHxGrsPL9BMx3I5xCPKQ aarQxGX2hIfRg4RQd61woEbuh4CGwQM32LwuG/fPd1txaJvuvcLTSRcGGgUCGlgzqP 72KzeTiXpHeIexSJdmEe7xoR8kqgtxi7jDTAdM2J112QTE9xvuDlC7ZkPEIOMIpzmW Fat3HHtimXV6WlkHkmyG5svVswiyIQBGu9m9DPb5zX43Tm+GOlTzq7UgPXhOFtbUwl mmDTrjjDTNAUw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Chen Ni , Simon Horman , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.10 088/238] sr9800: Add check for usbnet_get_endpoints Date: Sun, 24 Mar 2024 19:37:56 -0400 Message-ID: <20240324234027.1354210-89-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Chen Ni [ Upstream commit 07161b2416f740a2cb87faa5566873f401440a61 ] Add check for usbnet_get_endpoints() and return the error if it fails in order to transfer the error. Signed-off-by: Chen Ni Reviewed-by: Simon Horman Fixes: 19a38d8e0aa3 ("USB2NET : SR9800 : One chip USB2.0 USB2NET SR9800 Dev= ice Driver Support") Link: https://lore.kernel.org/r/20240305075927.261284-1-nichen@iscas.ac.cn Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/usb/sr9800.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/usb/sr9800.c b/drivers/net/usb/sr9800.c index 681e0def6356b..a5332e99102a5 100644 --- a/drivers/net/usb/sr9800.c +++ b/drivers/net/usb/sr9800.c @@ -736,7 +736,9 @@ static int sr9800_bind(struct usbnet *dev, struct usb_i= nterface *intf) =20 data->eeprom_len =3D SR9800_EEPROM_LEN; =20 - usbnet_get_endpoints(dev, intf); + ret =3D usbnet_get_endpoints(dev, intf); + if (ret) + goto out; =20 /* LED Setting Rule : * AABB:CCDD --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2361F17B4E5; Sun, 24 Mar 2024 23:41:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323717; cv=none; b=PACK4sBvJ2zFzF0Va37Vhqa9HvNSYVQTEXX81sLDWO0bCqVY2RCwf1QoXPbIYTmAyuB3r28TTSNIEJ0WuTzbf9CE6X0CxTW0W84GpIb2gB2piO9L0UwUDx+Dams0n47OV4JPXZARbPtGRptWG/UEln3BlZz2KIeeLm6dkJwZIgI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323717; c=relaxed/simple; bh=K+Xpuwf56IPWk0Z3Cq3W5AKOV0k9jOIqiiMEoMpAU3I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RSymJLZGgg4qhnRZ3C0r6QaBXANlGnLByR1Sdn5HnFt8ownwb9Q0Zha0wlSV8kgIUEMKT8K9xwVWVeJa1eiMsF627/0L9OUNJyY5O5Vp3qFCdarDof1tO+HY3EvMOwN8PdaGbgbODW2UIh2zFEdhRSxlHRZc4nmlyYPbkLOyLxM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WYZ7k6Jp; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WYZ7k6Jp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 410F2C433C7; Sun, 24 Mar 2024 23:41:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323716; bh=K+Xpuwf56IPWk0Z3Cq3W5AKOV0k9jOIqiiMEoMpAU3I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=WYZ7k6JpzAM9bpwyEJZmwVkxtdtwBw+pBjLiZYTP5MmXiqwBdIuoznzX5dZR6y7Xi Q/44Hlpn+fLii6kp7WnFJ0qRn2J4rtjcwSXiAEj+jDK+IJVlX08ozHvG6dgvgHt35T QPCfGJc3h9700so6hiUqoQ9hUIoAT/bwccWTsb1dlvEK6Ks3a1bEnEgEvzYV4JT42r K/AYlABMMdmiMnvOTqUx2gVxCcX/06+CcGOT4B2WZMPhRTkDyXlpVyy/p37KZ5umNp fWet+QXJx0pN3PmH85TldqNe4dWjyIkjJp898699YoPNRD60nXSu2bK+EdWrzlZZmk PxbkxuQE3HoBA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Roman Gushchin , Alexei Starovoitov , Song Liu , Sasha Levin Subject: [PATCH 5.10 089/238] bpf: Eliminate rlimit-based memory accounting for devmap maps Date: Sun, 24 Mar 2024 19:37:57 -0400 Message-ID: <20240324234027.1354210-90-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Roman Gushchin [ Upstream commit 844f157f6c0a905d039d2e20212ab3231f2e5eaf ] Do not use rlimit-based memory accounting for devmap maps. It has been replaced with the memcg-based memory accounting. Signed-off-by: Roman Gushchin Signed-off-by: Alexei Starovoitov Acked-by: Song Liu Link: https://lore.kernel.org/bpf/20201201215900.3569844-23-guro@fb.com Stable-dep-of: 281d464a34f5 ("bpf: Fix DEVMAP_HASH overflow check on 32-bit= arches") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/bpf/devmap.c | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/kernel/bpf/devmap.c b/kernel/bpf/devmap.c index 01149821ded91..ca2cade2871b8 100644 --- a/kernel/bpf/devmap.c +++ b/kernel/bpf/devmap.c @@ -109,8 +109,6 @@ static inline struct hlist_head *dev_map_index_hash(str= uct bpf_dtab *dtab, static int dev_map_init_map(struct bpf_dtab *dtab, union bpf_attr *attr) { u32 valsize =3D attr->value_size; - u64 cost =3D 0; - int err; =20 /* check sanity of attributes. 2 value sizes supported: * 4 bytes: ifindex @@ -135,21 +133,13 @@ static int dev_map_init_map(struct bpf_dtab *dtab, un= ion bpf_attr *attr) =20 if (!dtab->n_buckets) /* Overflow check */ return -EINVAL; - cost +=3D (u64) sizeof(struct hlist_head) * dtab->n_buckets; - } else { - cost +=3D (u64) dtab->map.max_entries * sizeof(struct bpf_dtab_netdev *); } =20 - /* if map size is larger than memlock limit, reject it */ - err =3D bpf_map_charge_init(&dtab->map.memory, cost); - if (err) - return -EINVAL; - if (attr->map_type =3D=3D BPF_MAP_TYPE_DEVMAP_HASH) { dtab->dev_index_head =3D dev_map_create_hash(dtab->n_buckets, dtab->map.numa_node); if (!dtab->dev_index_head) - goto free_charge; + return -ENOMEM; =20 spin_lock_init(&dtab->index_lock); } else { @@ -157,14 +147,10 @@ static int dev_map_init_map(struct bpf_dtab *dtab, un= ion bpf_attr *attr) sizeof(struct bpf_dtab_netdev *), dtab->map.numa_node); if (!dtab->netdev_map) - goto free_charge; + return -ENOMEM; } =20 return 0; - -free_charge: - bpf_map_charge_finish(&dtab->map.memory); - return -ENOMEM; } =20 static struct bpf_map *dev_map_alloc(union bpf_attr *attr) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1952417B4E4; Sun, 24 Mar 2024 23:41:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323717; cv=none; b=VUOOiH8cPBKGDlIfQtw31bRHDtJ5ScAr8AN4QjMnTldZZbE4DDd7QbGo9nUszt9DgStN1QL4dPsth39P/qsVjyIWqFih8N1bBhoWzOoXG4DiWTBoD952mSX5R3BlH0op/LLaPwrY3b5YWOk0oPmwLnH7/RJ0R/yQJKAb4UudDiY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323717; c=relaxed/simple; bh=UMvKY0wk5C7zCqIQwVCdsZgWyc39Rvq8mbRFlU1ZrN8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BdbILkoS6Mkx0yaNGuhrQK4yS9qH2UXZ4zCyO1jatHYTlF1XJ1nGrX5M0Y9cJwu7TDaYEuUsd8Y9dF/Vl1//5wl/rDR9RW3gPIvuOj0jO8KFZLTY6Cd8qzykmivH487jdTZMBEstbnpw5guongTFjltAEVnGF6XGD7jGvpifyrU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ECprwjQg; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ECprwjQg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 408F6C43399; Sun, 24 Mar 2024 23:41:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323717; bh=UMvKY0wk5C7zCqIQwVCdsZgWyc39Rvq8mbRFlU1ZrN8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ECprwjQgfmnO/dv51l6VoFOEQyGgE7OA9lA5ybAfaKwOJCathq3HW6odfxcBll/9O +RCO4EKpxSWbRDPA04K2XzVvHPb9W/C1HpjGWOMZRitGYgJGscFXV3UvPPAxMQjCy2 S1sCo57vviTGE2zxCqltA3O4zFVYesTZLMoEAU8gDp6otLWokV45u1vI48jLQ0Mcv7 bSZDfxLlkztEFBwTRDed9zEbeY39oNwXcKY2XBtEZvrvtXwL6DB8B7uW9v90rKUR8F C3wpNuYUiyv6UrVaow2LtfsCmlqGQhP0nPiXBk/fB12NUI6yj+jMC3wvAQaevc98/E G8cf102Dt4EpQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , syzbot+8cd36f6b65f3cafd400a@syzkaller.appspotmail.com, Alexei Starovoitov , Sasha Levin Subject: [PATCH 5.10 090/238] bpf: Fix DEVMAP_HASH overflow check on 32-bit arches Date: Sun, 24 Mar 2024 19:37:58 -0400 Message-ID: <20240324234027.1354210-91-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Toke H=C3=B8iland-J=C3=B8rgensen [ Upstream commit 281d464a34f540de166cee74b723e97ac2515ec3 ] The devmap code allocates a number hash buckets equal to the next power of two of the max_entries value provided when creating the map. When rounding up to the next power of two, the 32-bit variable storing the number of buckets can overflow, and the code checks for overflow by checking if the truncated 32-bit value is equal to 0. However, on 32-bit arches the rounding up itself can overflow mid-way through, because it ends up doing a left-shift of 32 bits on an unsigned long value. If the size of an unsigned long is four bytes, this is undefined behaviour, so there is no guarantee that we'll end up with a nice and tidy 0-value at the end. Syzbot managed to turn this into a crash on arm32 by creating a DEVMAP_HASH with max_entries > 0x80000000 and then trying to update it. Fix this by moving the overflow check to before the rounding up operation. Fixes: 6f9d451ab1a3 ("xdp: Add devmap_hash map type for looking up devices = by hashed index") Link: https://lore.kernel.org/r/000000000000ed666a0611af6818@google.com Reported-and-tested-by: syzbot+8cd36f6b65f3cafd400a@syzkaller.appspotmail.c= om Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen Message-ID: <20240307120340.99577-2-toke@redhat.com> Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/bpf/devmap.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/kernel/bpf/devmap.c b/kernel/bpf/devmap.c index ca2cade2871b8..07b5edb2c70f5 100644 --- a/kernel/bpf/devmap.c +++ b/kernel/bpf/devmap.c @@ -129,13 +129,14 @@ static int dev_map_init_map(struct bpf_dtab *dtab, un= ion bpf_attr *attr) bpf_map_init_from_attr(&dtab->map, attr); =20 if (attr->map_type =3D=3D BPF_MAP_TYPE_DEVMAP_HASH) { - dtab->n_buckets =3D roundup_pow_of_two(dtab->map.max_entries); - - if (!dtab->n_buckets) /* Overflow check */ + /* hash table size must be power of 2; roundup_pow_of_two() can + * overflow into UB on 32-bit arches, so check that first + */ + if (dtab->map.max_entries > 1UL << 31) return -EINVAL; - } =20 - if (attr->map_type =3D=3D BPF_MAP_TYPE_DEVMAP_HASH) { + dtab->n_buckets =3D roundup_pow_of_two(dtab->map.max_entries); + dtab->dev_index_head =3D dev_map_create_hash(dtab->n_buckets, dtab->map.numa_node); if (!dtab->dev_index_head) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3DFC917B4ED; Sun, 24 Mar 2024 23:41:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323719; cv=none; b=XAgadunBiFsjPfeRIHcXkuvAOZ3xrqSVs9IXI7yWDuNvZjqpY/ZwW+nrZo8WHD3WpHoT75J0oB0HIo13CCa4mFpWZrYr5cVSNHe2/QHG6hVI4ovmgDMmi9xv9+BB9U7D3Ycf/T1LT9lSkjtb9sx76hmgd7R63nidxo5vsT8pS4c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323719; c=relaxed/simple; bh=Oi1Bgb62KQWDj6D/oPXCu6ZhtmpUecLv39W8cqWEMBc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ecRrV5amexSc3hW1H/rhb/o+ZHMh4331hqpR9X/Q0BhJ8vWv+GixcQEsUSorSbguvtCIbWpGVYYqzPNa/hCn+r+aQYxROTE53pxgu75dSYLpzOFV5MHlkU1eXa3GSCO6sEv4YzskS20rh3lvboXUwAFGbIa8WVHAF981mjPHX9Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JP3n70xu; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JP3n70xu" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D5CAC43390; Sun, 24 Mar 2024 23:41:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323717; bh=Oi1Bgb62KQWDj6D/oPXCu6ZhtmpUecLv39W8cqWEMBc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JP3n70xua6HOXEpWdCcKqDOhoi+DD0D4eR177VMbjo7VFIeuThgYlRk6EfOe1TLpn PCTcz+lzkRqv6BpjJfYS/+MkQ3EuvPERtgrzzrWAQMCQokKfOr9lNAyTTLdraraZda 2aejzRh43Y5EkpO11oRjjOF19VjBlYUKxLQix9iLqkSPk6QogqLTMzM9Od9fTmTSdh aZ02ArNuy4l6INij8FvR6dv6E0u2No9LWncLiBuwfVbBH3RNWppIQSkaCQSHJq19RG GYJVrLoC3EJv2w/5cGngAvQb4GqgezmkT2ee0FcOWaaXeOSUQ+BX6OUJtEAMnyvole L66O2l6Rut4PA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Alexei Starovoitov , Sasha Levin Subject: [PATCH 5.10 091/238] bpf: Fix hashtab overflow check on 32-bit arches Date: Sun, 24 Mar 2024 19:37:59 -0400 Message-ID: <20240324234027.1354210-92-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Toke H=C3=B8iland-J=C3=B8rgensen [ Upstream commit 6787d916c2cf9850c97a0a3f73e08c43e7d973b1 ] The hashtab code relies on roundup_pow_of_two() to compute the number of hash buckets, and contains an overflow check by checking if the resulting value is 0. However, on 32-bit arches, the roundup code itself can overflow by doing a 32-bit left-shift of an unsigned long value, which is undefined behaviour, so it is not guaranteed to truncate neatly. This was triggered by syzbot on the DEVMAP_HASH type, which contains the same check, copied from the hashtab code. So apply the same fix to hashtab, by moving the overflow check to before the roundup. Fixes: daaf427c6ab3 ("bpf: fix arraymap NULL deref and missing overflow and= zero size checks") Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen Message-ID: <20240307120340.99577-3-toke@redhat.com> Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/bpf/hashtab.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/kernel/bpf/hashtab.c b/kernel/bpf/hashtab.c index ec84973142725..72bc5f5752543 100644 --- a/kernel/bpf/hashtab.c +++ b/kernel/bpf/hashtab.c @@ -443,7 +443,13 @@ static struct bpf_map *htab_map_alloc(union bpf_attr *= attr) num_possible_cpus()); } =20 - /* hash table size must be power of 2 */ + /* hash table size must be power of 2; roundup_pow_of_two() can overflow + * into UB on 32-bit arches, so check that first + */ + err =3D -E2BIG; + if (htab->map.max_entries > 1UL << 31) + goto free_htab; + htab->n_buckets =3D roundup_pow_of_two(htab->map.max_entries); =20 htab->elem_size =3D sizeof(struct htab_elem) + @@ -453,10 +459,8 @@ static struct bpf_map *htab_map_alloc(union bpf_attr *= attr) else htab->elem_size +=3D round_up(htab->map.value_size, 8); =20 - err =3D -E2BIG; - /* prevent zero size kmalloc and check for u32 overflow */ - if (htab->n_buckets =3D=3D 0 || - htab->n_buckets > U32_MAX / sizeof(struct bucket)) + /* check for u32 overflow */ + if (htab->n_buckets > U32_MAX / sizeof(struct bucket)) goto free_htab; =20 cost =3D (u64) htab->n_buckets * sizeof(struct bucket) + --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 02E9E17B4EC; Sun, 24 Mar 2024 23:41:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323719; cv=none; b=nydaFNAewMx0jOfQujNoPsRBo3ULgTz55JiKMSIGelgAjsSO8FGdWP+zBJZza5RDe0dH+lgAFB5b8WcRE2C9NiVHzIQtk5rGAxdSayNQO8xQ/NsTZCPcyyx/HKVsASruCoTZiAy5hqaIVR4IbO04zym2EDtX6Y6s1NrtFLRHpCc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323719; c=relaxed/simple; bh=6iUDn5w6RDH9Plp/mSGm62Klq1xCk1zCrBh/vNrD6aw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=J5rN0f4mR0WyLVx+TRbzBe0Ukx49nD/3ljk5pSY4JuKppiNBz6lIKUueY39S2fLIYycPxW498FJRzxsdCljfoUlj4l1E6bOEgHSQnBBmQI4iiHtfM0oMZgT2v+g9HmaMRaOus1PW0mVL6I1YdvdzmbvcbsF2EgLR014Rw6Kzgpw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PdeQKA3S; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PdeQKA3S" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 24FC5C433F1; Sun, 24 Mar 2024 23:41:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323718; bh=6iUDn5w6RDH9Plp/mSGm62Klq1xCk1zCrBh/vNrD6aw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PdeQKA3SnS/v95QyFaScyv4lehmBss8v6JivBCaVj3ytMDsmF4Tm5wI3IyIcl6tPF cpIsECQ6MGE83XEIcYG0qCq8DCV6dSintxXIqkpos8IzmkCyxaULNVJ8tEJfXtk1fC k11hbNw8w5j6mC1TkwBmbz1Fgz9Ez0cCXvbyVls+6bkKHyQ8xFmdWfnXDWIQtVKE0L IGtdHrmYOvKujgGuUbU6KPkRt7AjgTAAgLUvEDbF6n7yNSpoYpI6DF00k1w2MadSuo U5nHLluzUy1xfjCeulyWK9eOq1cwevjXE7jat6FbvjCBunxqIcE544h5hklEaPBnv5 eYXATf3mxvvfg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= , Bui Quang Minh , Alexei Starovoitov , Sasha Levin Subject: [PATCH 5.10 092/238] bpf: Fix stackmap overflow check on 32-bit arches Date: Sun, 24 Mar 2024 19:38:00 -0400 Message-ID: <20240324234027.1354210-93-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Toke H=C3=B8iland-J=C3=B8rgensen [ Upstream commit 7a4b21250bf79eef26543d35bd390448646c536b ] The stackmap code relies on roundup_pow_of_two() to compute the number of hash buckets, and contains an overflow check by checking if the resulting value is 0. However, on 32-bit arches, the roundup code itself can overflow by doing a 32-bit left-shift of an unsigned long value, which is undefined behaviour, so it is not guaranteed to truncate neatly. This was triggered by syzbot on the DEVMAP_HASH type, which contains the same check, copied from the hashtab code. The commit in the fixes tag actually attempted to fix this, but the fix did not account for the UB, so the fix only works on CPUs where an overflow does result in a neat truncation to zero, which is not guaranteed. Checking the value before rounding does not have this problem. Fixes: 6183f4d3a0a2 ("bpf: Check for integer overflow when using roundup_po= w_of_two()") Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen Reviewed-by: Bui Quang Minh Message-ID: <20240307120340.99577-4-toke@redhat.com> Signed-off-by: Alexei Starovoitov Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/bpf/stackmap.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/kernel/bpf/stackmap.c b/kernel/bpf/stackmap.c index b8afea2ceeeb1..3ec76cb5f240d 100644 --- a/kernel/bpf/stackmap.c +++ b/kernel/bpf/stackmap.c @@ -115,11 +115,14 @@ static struct bpf_map *stack_map_alloc(union bpf_attr= *attr) } else if (value_size / 8 > sysctl_perf_event_max_stack) return ERR_PTR(-EINVAL); =20 - /* hash table size must be power of 2 */ - n_buckets =3D roundup_pow_of_two(attr->max_entries); - if (!n_buckets) + /* hash table size must be power of 2; roundup_pow_of_two() can overflow + * into UB on 32-bit arches, so check that first + */ + if (attr->max_entries > 1UL << 31) return ERR_PTR(-E2BIG); =20 + n_buckets =3D roundup_pow_of_two(attr->max_entries); + cost =3D n_buckets * sizeof(struct stack_map_bucket *) + sizeof(*smap); err =3D bpf_map_charge_init(&mem, cost + attr->max_entries * (sizeof(struct stack_map_bucket) + (u64)value_size)); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1990117B4F2; Sun, 24 Mar 2024 23:42:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323720; cv=none; b=a4YvQcqHZRelowLXjJvAeZnfOCFsRG5JobvU9L3ccCHuQ97C5CCoxzhMyEY57QE0p7SuZFvQKrRRryK+/m3hJT8bW1NXqMKwQ5Z8ZHpjPfNIEmWKeuE4iiPxEre2DpCgyfIQB3nOFJhO3CGcf5X3R2Qm9e/DyHGgq2JuCrfNz0E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323720; c=relaxed/simple; bh=M5igGWHTOyNDupa/8vuugdNBXY6bKFjuOK6U+k+WEVw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NGLMASRq0suxidL9WUg4AkJmTA4RYekAYurHI/z+7gB9P1ZNW/gl8MD69DF65Gpl0LNaJZEED3ShbR3zvlmpJYPC9AHxKE86VAzPcmNHBKRnlVgKD5oRLKOnaY0PInGyuLS7NCBztJwdSvMSb5gxnCFu/0HG/vEJD0KD641k1M8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JaD5+qBa; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JaD5+qBa" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 27E88C41674; Sun, 24 Mar 2024 23:41:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323720; bh=M5igGWHTOyNDupa/8vuugdNBXY6bKFjuOK6U+k+WEVw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JaD5+qBaVb3Fv1wvS7UXsEfr/qEHDjBRYXlHJkae7wb1KKIHo33+ueDn0uFvGhLWf AdtAqzjjKXOxL3xErrDW3bpzDQV7csDpifcj6zYrad5WFNZJy8NFLs3Yaqo7oCaWuu S0YwyPwO1/ybVxrfnrRuQINiLpFbKc6hsYf0gRP6EU3WJSLh5w25DYgH88SmzUl/X4 u2FYeWQNz+NQfuwBA8wSr2xoliF8/zk5fBWBeBdhg0SzO4odcOO/GXU7VbgKK3lFnG KL7tmsJOLoXsxeTzWG641M+pbyw1Yp8afbK0kbJwaPIn+99KBCFF9YOSHYrcVAktmz V4A1/GyhzUkSA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Shiming Cheng , Lena Wang , David Ahern , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 093/238] ipv6: fib6_rules: flush route cache when rule is changed Date: Sun, 24 Mar 2024 19:38:01 -0400 Message-ID: <20240324234027.1354210-94-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Shiming Cheng [ Upstream commit c4386ab4f6c600f75fdfd21143f89bac3e625d0d ] When rule policy is changed, ipv6 socket cache is not refreshed. The sock's skb still uses a outdated route cache and was sent to a wrong interface. To avoid this error we should update fib node's version when rule is changed. Then skb's route will be reroute checked as route cache version is already different with fib node version. The route cache is refreshed to match the latest rule. Fixes: 101367c2f8c4 ("[IPV6]: Policy Routing Rules") Signed-off-by: Shiming Cheng Signed-off-by: Lena Wang Reviewed-by: David Ahern Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/ipv6/fib6_rules.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/net/ipv6/fib6_rules.c b/net/ipv6/fib6_rules.c index 3e4c87b29b115..55cd23b7a9357 100644 --- a/net/ipv6/fib6_rules.c +++ b/net/ipv6/fib6_rules.c @@ -446,6 +446,11 @@ static size_t fib6_rule_nlmsg_payload(struct fib_rule = *rule) + nla_total_size(16); /* src */ } =20 +static void fib6_rule_flush_cache(struct fib_rules_ops *ops) +{ + rt_genid_bump_ipv6(ops->fro_net); +} + static const struct fib_rules_ops __net_initconst fib6_rules_ops_template = =3D { .family =3D AF_INET6, .rule_size =3D sizeof(struct fib6_rule), @@ -458,6 +463,7 @@ static const struct fib_rules_ops __net_initconst fib6_= rules_ops_template =3D { .compare =3D fib6_rule_compare, .fill =3D fib6_rule_fill, .nlmsg_payload =3D fib6_rule_nlmsg_payload, + .flush_cache =3D fib6_rule_flush_cache, .nlgroup =3D RTNLGRP_IPV6_RULE, .policy =3D fib6_rule_policy, .owner =3D THIS_MODULE, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 176AE17B4FC; Sun, 24 Mar 2024 23:42:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323722; cv=none; b=FPHNGLz8EG3yIcd2K3lzxtGdnfEMuOFxJtmggN6iTBytQ/9RZCVztAN0KVyZF/Hwz5ASdt8G0ypnPOExwgKjtfkYxwDsBXK167qniszwkAltah1f8Ahjxed1CBc+sfX48V45s8whhg/6fvICmKrReohvq9Qjt5Ql3YMPhsEsOLk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323722; c=relaxed/simple; bh=cz1y+q+Z5z7IyMiHJUHME9ZXUzKZvyn6wvUz2dLX3uU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gm/hCyywMs7AaGdAlR8FYLkaJD9D+39RbJga3Xr7sKuVlgaE5/GQaz3JzGQGRg0EFAKDY1ohEHv4gAVq+EVgJ2Nbgtv4rfuOacgIShN+TEG6rIXIqB7E0VorVMM+mTS8NAsue7+2L7TYkWdRs6qTaVNNM5oo5aaPp4+Rt8/BCNY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=P+8oMkmO; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="P+8oMkmO" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3B68FC433C7; Sun, 24 Mar 2024 23:42:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323721; bh=cz1y+q+Z5z7IyMiHJUHME9ZXUzKZvyn6wvUz2dLX3uU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P+8oMkmO3E0yphUf5yfNZgGn2CyzE9Vfe9xXcNZbP+2CUrdGRnpOOVEePxE/Uzmd/ dS+fZOsloRTTvDw7gEIAAOCcq7rq3ifBzV8Pr26xoSRvT/bZJvmExggMG9hunAUBW4 /ISmsz+4Wfje6tue1FzfVvOnSNI/mUNnbSSnyBrt42FTB+/Ci9HYsY1OZq0EeSRIKq 48TaP6N6WQmuqOS+xkLJ4SVPHQ1KUVqP3Vt+iGr8Acu34vFFWHG4fnvPuT3Nkzdr4J M0dhVPexbzdM2IKz8DcdHjS9QDl+80KuCyn5RtYTRko4nlrBlV7juxJqvRypYXnk+z zzO0lby/hOJRg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Eric Dumazet , syzbot , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 094/238] net: ip_tunnel: make sure to pull inner header in ip_tunnel_rcv() Date: Sun, 24 Mar 2024 19:38:02 -0400 Message-ID: <20240324234027.1354210-95-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Dumazet [ Upstream commit b0ec2abf98267f14d032102551581c833b0659d3 ] Apply the same fix than ones found in : 8d975c15c0cd ("ip6_tunnel: make sure to pull inner header in __ip6_tnl_rcv(= )") 1ca1ba465e55 ("geneve: make sure to pull inner header in geneve_rx()") We have to save skb->network_header in a temporary variable in order to be able to recompute the network_header pointer after a pskb_inet_may_pull() call. pskb_inet_may_pull() makes sure the needed headers are in skb->head. syzbot reported: BUG: KMSAN: uninit-value in __INET_ECN_decapsulate include/net/inet_ecn.h:2= 53 [inline] BUG: KMSAN: uninit-value in INET_ECN_decapsulate include/net/inet_ecn.h:27= 5 [inline] BUG: KMSAN: uninit-value in IP_ECN_decapsulate include/net/inet_ecn.h:302 = [inline] BUG: KMSAN: uninit-value in ip_tunnel_rcv+0xed9/0x2ed0 net/ipv4/ip_tunnel.= c:409 __INET_ECN_decapsulate include/net/inet_ecn.h:253 [inline] INET_ECN_decapsulate include/net/inet_ecn.h:275 [inline] IP_ECN_decapsulate include/net/inet_ecn.h:302 [inline] ip_tunnel_rcv+0xed9/0x2ed0 net/ipv4/ip_tunnel.c:409 __ipgre_rcv+0x9bc/0xbc0 net/ipv4/ip_gre.c:389 ipgre_rcv net/ipv4/ip_gre.c:411 [inline] gre_rcv+0x423/0x19f0 net/ipv4/ip_gre.c:447 gre_rcv+0x2a4/0x390 net/ipv4/gre_demux.c:163 ip_protocol_deliver_rcu+0x264/0x1300 net/ipv4/ip_input.c:205 ip_local_deliver_finish+0x2b8/0x440 net/ipv4/ip_input.c:233 NF_HOOK include/linux/netfilter.h:314 [inline] ip_local_deliver+0x21f/0x490 net/ipv4/ip_input.c:254 dst_input include/net/dst.h:461 [inline] ip_rcv_finish net/ipv4/ip_input.c:449 [inline] NF_HOOK include/linux/netfilter.h:314 [inline] ip_rcv+0x46f/0x760 net/ipv4/ip_input.c:569 __netif_receive_skb_one_core net/core/dev.c:5534 [inline] __netif_receive_skb+0x1a6/0x5a0 net/core/dev.c:5648 netif_receive_skb_internal net/core/dev.c:5734 [inline] netif_receive_skb+0x58/0x660 net/core/dev.c:5793 tun_rx_batched+0x3ee/0x980 drivers/net/tun.c:1556 tun_get_user+0x53b9/0x66e0 drivers/net/tun.c:2009 tun_chr_write_iter+0x3af/0x5d0 drivers/net/tun.c:2055 call_write_iter include/linux/fs.h:2087 [inline] new_sync_write fs/read_write.c:497 [inline] vfs_write+0xb6b/0x1520 fs/read_write.c:590 ksys_write+0x20f/0x4c0 fs/read_write.c:643 __do_sys_write fs/read_write.c:655 [inline] __se_sys_write fs/read_write.c:652 [inline] __x64_sys_write+0x93/0xd0 fs/read_write.c:652 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b Uninit was created at: __alloc_pages+0x9a6/0xe00 mm/page_alloc.c:4590 alloc_pages_mpol+0x62b/0x9d0 mm/mempolicy.c:2133 alloc_pages+0x1be/0x1e0 mm/mempolicy.c:2204 skb_page_frag_refill+0x2bf/0x7c0 net/core/sock.c:2909 tun_build_skb drivers/net/tun.c:1686 [inline] tun_get_user+0xe0a/0x66e0 drivers/net/tun.c:1826 tun_chr_write_iter+0x3af/0x5d0 drivers/net/tun.c:2055 call_write_iter include/linux/fs.h:2087 [inline] new_sync_write fs/read_write.c:497 [inline] vfs_write+0xb6b/0x1520 fs/read_write.c:590 ksys_write+0x20f/0x4c0 fs/read_write.c:643 __do_sys_write fs/read_write.c:655 [inline] __se_sys_write fs/read_write.c:652 [inline] __x64_sys_write+0x93/0xd0 fs/read_write.c:652 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcf/0x1e0 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b Fixes: c54419321455 ("GRE: Refactor GRE tunneling code.") Reported-by: syzbot Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/ipv4/ip_tunnel.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/net/ipv4/ip_tunnel.c b/net/ipv4/ip_tunnel.c index 50f8231e9daec..0953d805cbbee 100644 --- a/net/ipv4/ip_tunnel.c +++ b/net/ipv4/ip_tunnel.c @@ -364,7 +364,7 @@ int ip_tunnel_rcv(struct ip_tunnel *tunnel, struct sk_b= uff *skb, bool log_ecn_error) { const struct iphdr *iph =3D ip_hdr(skb); - int err; + int nh, err; =20 #ifdef CONFIG_NET_IPGRE_BROADCAST if (ipv4_is_multicast(iph->daddr)) { @@ -390,8 +390,21 @@ int ip_tunnel_rcv(struct ip_tunnel *tunnel, struct sk_= buff *skb, tunnel->i_seqno =3D ntohl(tpi->seq) + 1; } =20 + /* Save offset of outer header relative to skb->head, + * because we are going to reset the network header to the inner header + * and might change skb->head. + */ + nh =3D skb_network_header(skb) - skb->head; + skb_set_network_header(skb, (tunnel->dev->type =3D=3D ARPHRD_ETHER) ? ETH= _HLEN : 0); =20 + if (!pskb_inet_may_pull(skb)) { + DEV_STATS_INC(tunnel->dev, rx_length_errors); + DEV_STATS_INC(tunnel->dev, rx_errors); + goto drop; + } + iph =3D (struct iphdr *)(skb->head + nh); + err =3D IP_ECN_decapsulate(iph, skb); if (unlikely(err)) { if (log_ecn_error) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7335317B505; Sun, 24 Mar 2024 23:42:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323723; cv=none; b=pUm3HZhqS9Qg6eTijNO+iwonR3Yb7iaR2+g9Pd8G7qriRBRRMDnUiYNDqsBUR+0XWyhkCH5Xr/63avK1cM6SasIEnXSieXDzRazPO6Da/+cn03QkNZZHwUSwgukvHPmol0zuwvKFkorYnhMx0a1HVub3s+jIoWcEIyP5TPfijKE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323723; c=relaxed/simple; bh=XFtq3XqnESWaeOMaHoGj/4dYIEwo6DIjVgRSahMky7w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=S49W6Qo9Zt2VGfJOvbqBRky3kvypdFRjzqscoPKJ6JioCyIlyHz003483Gq04lL0ztk6tocgCqbBP3hDcIAioPiZiwAPRj1Ha/GQov17vQQHMshElkAmuZpyS5DqvA3GTnQj1RhAfQtA27fYoWBkd4/pPrABGqAWyKrnj9sCbZU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=B1v4P2Xq; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="B1v4P2Xq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3AA2FC43390; Sun, 24 Mar 2024 23:42:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323722; bh=XFtq3XqnESWaeOMaHoGj/4dYIEwo6DIjVgRSahMky7w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=B1v4P2XqngBT8/2ITTy4obx5kDrzopTk/y4ud3ZO+nwin0EenbqRrQ1UkMYV5jpcH 0yPG6EJUwEJQ8HoiAZKinzj7XaoMMQ5o2RQjHSyLNAaJUEKQfyK2tmcVzxLuTk59tr 29JMQDVeJyuTOcQyJAxknxnuq79/scBke3F7UqoVaaA9cZEnvX+2+AjqR+u6S3S0j+ ciHV+HDJSA0wCEpJEQaB5YzyK7ey+AqM/teowObCKT8Bc1sTop85RlOnH0wRX2DgHY bAiAtgCWT3B+AQ5VaGEzwOeRfLO/TYKwjnE3x4fAk9aJuu+izYalVTSTWjDohg3I01 y/CRPaKY4AMZA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?K=C3=A9vin=20L=27h=C3=B4pital?= , Enguerrand de Ribaucourt , Russell King , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 095/238] net: phy: fix phy_get_internal_delay accessing an empty array Date: Sun, 24 Mar 2024 19:38:03 -0400 Message-ID: <20240324234027.1354210-96-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: K=C3=A9vin L'h=C3=B4pital [ Upstream commit 4469c0c5b14a0919f5965c7ceac96b523eb57b79 ] The phy_get_internal_delay function could try to access to an empty array in the case that the driver is calling phy_get_internal_delay without defining delay_values and rx-internal-delay-ps or tx-internal-delay-ps is defined to 0 in the device-tree. This will lead to "unable to handle kernel NULL pointer dereference at virtual address 0". To avoid this kernel oops, the test should be delay >=3D 0. As there is already delay < 0 test just before, the test could only be size =3D=3D 0. Fixes: 92252eec913b ("net: phy: Add a helper to return the index for of the= internal delay") Co-developed-by: Enguerrand de Ribaucourt Signed-off-by: Enguerrand de Ribaucourt Signed-off-by: K=C3=A9vin L'h=C3=B4pital Reviewed-by: Russell King (Oracle) Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/phy/phy_device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 095d16ceafcf8..8654e05ddc415 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -2769,7 +2769,7 @@ s32 phy_get_internal_delay(struct phy_device *phydev,= struct device *dev, if (delay < 0) return delay; =20 - if (delay && size =3D=3D 0) + if (size =3D=3D 0) return delay; =20 if (delay < delay_values[0] || delay > delay_values[size - 1]) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 245B117B4FB; Sun, 24 Mar 2024 23:42:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323724; cv=none; b=ib6f2naLsQYcXCRY+sfVhrIWxXryqEEcSaYoZI4nYimv3fqVWea6K4ekA6YyvCO8Xd7KhrwgM7I17xsjbHAILtTG2Ti9MUGsE8xZXpUvwQmjqjSbCB2opOn6nAuL2gzsXqyI5fbjVorN+sLMQLwcfmwNkhHc86Nuuh/XOSTh5IE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323724; c=relaxed/simple; bh=EWdZk2t0N8dwccaXvhhlbSDrH2hjfcC9HGHEuRAS7cM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qeUQrehLQI+aH6/gHFc1mrxYEcBrBq08BjKM61xd5J8LPpLta38qcqiNiU1mVAY+b/e3i7Bwggeh/jSl62KuRQBCvkOy167QNGFHlPCS7r2nb8RJSrHT/f4B51yshBTt0bRlSF+OklU0QqDdjSStxWT6GHPYJFJSnNknF3gVlbg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dzFR8A29; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dzFR8A29" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4B253C433C7; Sun, 24 Mar 2024 23:42:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323723; bh=EWdZk2t0N8dwccaXvhhlbSDrH2hjfcC9HGHEuRAS7cM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dzFR8A29vSyrNFSMX3aONdAqnpNEgXWVBPOdzOZJjmL+xAaBqmJHl4hR4q1n2mP1+ DvA8WyiXZAgTOQOHcACGZWbcjch7WtOFi9ydM9LdXLOeP0eC87wOEEMXEpW3ncD3OH jg+gGeSE6TmbcNV3wN1R5EsH7gUKBuobKiSzm7slidiNKnWip0o/EFdh0XuL05Jvm9 Q8rsjETMfkYU2HQie7zfHvtDZxXrmyiBczjRr8p2V5DluvLCTnURQa29sFaMINHAGv gR6Or4sS/iq8EIw515OyAVmzaBS0oaKn+2KGMdqx5loiU1T0eJ52awWKI4aku+soLu LLqabG4Fs8yBQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jie Wang , Jijie Shao , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 096/238] net: hns3: fix port duplex configure error in IMP reset Date: Sun, 24 Mar 2024 19:38:04 -0400 Message-ID: <20240324234027.1354210-97-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jie Wang [ Upstream commit 11d80f79dd9f871a52feba4bf24b5ac39f448eb7 ] Currently, the mac port is fixed to configured as full dplex mode in hclge_mac_init() when driver initialization or reset restore. Users may change the mode to half duplex with ethtool, so it may cause the user configuration dropped after reset. To fix it, don't change the duplex mode when resetting. Fixes: 2d03eacc0b7e ("net: hns3: Only update mac configuation when necessar= y") Signed-off-by: Jie Wang Signed-off-by: Jijie Shao Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/driv= ers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index deba485ced1bd..c14c391a0cec6 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -2723,7 +2723,10 @@ static int hclge_mac_init(struct hclge_dev *hdev) int ret; =20 hdev->support_sfp_query =3D true; - hdev->hw.mac.duplex =3D HCLGE_MAC_FULL; + + if (!test_bit(HCLGE_STATE_RST_HANDLING, &hdev->state)) + hdev->hw.mac.duplex =3D HCLGE_MAC_FULL; + ret =3D hclge_cfg_mac_speed_dup_hw(hdev, hdev->hw.mac.speed, hdev->hw.mac.duplex); if (ret) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4BBDA17B509; Sun, 24 Mar 2024 23:42:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323724; cv=none; b=Lip1Aauxc1FttVTL0b5YPpgzRqoV6CiaCp24Opyc7pQDwvxzV12FannsprT+bh+YAbyPpKjRBcnzq5gyBpbNhArM3zYpkQ39oLHc5uXqydFvZCEBIszkOfboY7n6bnxXGp39q6aTR5eMwoVvz6nm0q9v6d9rQmSsfBLj+ZGd7Ik= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323724; c=relaxed/simple; bh=wTx2CP0rQOPjoKpSAi8r0GICFQMvOfBkNPFf9R3b24w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BwIbj8OHjYIwudEZSXS78H+qd6PIe24VBSO74HrtKZR9MT8wh/cSwzYIOQnd2Cr2s6hFmY7wRRQHMF43Drb+H9eL9QU5iOfu2QQ+c6N7UktWdnoBKq9716iRGs+vLjeJLwSJ7UNPxOiLCahKEI+fPhQ7kC25dU3taP6ARYVEOXI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oKVDcEXm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oKVDcEXm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 47AA8C433A6; Sun, 24 Mar 2024 23:42:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323724; bh=wTx2CP0rQOPjoKpSAi8r0GICFQMvOfBkNPFf9R3b24w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oKVDcEXmVTlUt+yV/kg46kkOkfErAaoyRqcHMQxZrk4MzeEcqM7GWFu2FeNBavRvw 5NdKjWHpl3/ggAwZDyi8LpKdgjna+/czSRh2fEgVnxV1yHqV/b9vElA4ripPUs2nYU 606KIEXeKW1FrZkq4M9K78Sfmyevv28CGclI5MPpYaDaSUD9NYE5gE4Db0X7kagGeO 7I8BB9od03YPgzkv5VW0QlckyHdiUKkj1Av2ZyLhCHdmuXRBlMF0QcuIYJqagXy6Yw 4ZW5BFfvBCRExTIh9aGrUqnR+pAtAi3oJALbkzMIOwwnhyjhZRK9UgJT4WePVlIrWc QX/IxG29/SH1g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Tommaso Merciai , Michael Trimarchi , Alberto Bianchi , Andrew Lunn , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 097/238] net: phy: DP83822: enable rgmii mode if phy_interface_is_rgmii Date: Sun, 24 Mar 2024 19:38:05 -0400 Message-ID: <20240324234027.1354210-98-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tommaso Merciai [ Upstream commit 621427fbdada788f18f77238e1c36f463c2cb9d1 ] RGMII mode can be enable from dp83822 straps, and also writing bit 9 of register 0x17 - RMII and Status Register (RCSR). When phy_interface_is_rgmii rgmii mode must be enabled, same for contrary, this prevents malconfigurations of hw straps References: - https://www.ti.com/lit/gpn/dp83822i p66 Signed-off-by: Tommaso Merciai Co-developed-by: Michael Trimarchi Suggested-by: Alberto Bianchi Tested-by: Tommaso Merciai Reviewed-by: Andrew Lunn Signed-off-by: David S. Miller Stable-dep-of: c8a5c731fd12 ("net: phy: dp83822: Fix RGMII TX delay configu= ration") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/phy/dp83822.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c index 81412999445d8..dce87589b1120 100644 --- a/drivers/net/phy/dp83822.c +++ b/drivers/net/phy/dp83822.c @@ -94,7 +94,8 @@ #define DP83822_WOL_INDICATION_SEL BIT(8) #define DP83822_WOL_CLR_INDICATION BIT(11) =20 -/* RSCR bits */ +/* RCSR bits */ +#define DP83822_RGMII_MODE_EN BIT(9) #define DP83822_RX_CLK_SHIFT BIT(12) #define DP83822_TX_CLK_SHIFT BIT(11) =20 @@ -386,6 +387,12 @@ static int dp83822_config_init(struct phy_device *phyd= ev) if (err) return err; } + + phy_set_bits_mmd(phydev, DP83822_DEVADDR, + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); + } else { + phy_clear_bits_mmd(phydev, DP83822_DEVADDR, + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); } =20 if (dp83822->fx_enabled) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8351D17B513; Sun, 24 Mar 2024 23:42:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323726; cv=none; b=S3V5YVnVJuig5LzfyFrjWk1VqkWSB57u3jI7YdSt3rwBYUOVDUAZbVzv9KtGF5JGZReLjs8vuwo753JbvB6S3+8tfFInBOju6UoSh7cckzYkx4t4lCHOavE/DmTaot+pBSwT5YD7eSforNhml7NAlITbYGgUxa9qh2k4niTAxMA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323726; c=relaxed/simple; bh=CkgFxL9FgjAMNaLTaZvuR6d3RbTc8CUeahwUgaq3dA4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UzHs0gkZ+9W5R1rEo9Z0L6hbAFoc9ADYUDArkstXTFqna4Udm/e08LbN+WLRvagWfh4SBJyCQNn+vPXKONmka6KZmKpIwLX48EgBMo600OPUGbzU+4G43mOTi932oMBIDP3ILiIPMpa6O03sr8XG4tJ2dwkG+BlQtcSnEHV6ZuM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gbz10e9J; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gbz10e9J" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 71AD4C433F1; Sun, 24 Mar 2024 23:42:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323725; bh=CkgFxL9FgjAMNaLTaZvuR6d3RbTc8CUeahwUgaq3dA4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gbz10e9JoAp2H3rTMtvaaCNublGsmFvDANLwrmj3XzkKkzEkQdEIWCY4ouLgvWKIs zKVkTuxLcn5qzxpZefWRwy8LzowStb8Aqo3ye5ORybinfiysL2WSNsnUzSEP5HFZbN NGzi53/kxrBwdIHjIqnrlYenlcMtJ8rrPsiWkeIL4ENi56n3SfKESJyHgNiD6g5+t6 xOAoB7TPcmEAo6Vw6yZ/R9Jzix4qRZjFp53la/U33tpWRwpdrGNmteUnKzE1iVKfii h5EZAXWxPqQnUGT/IihVzokRT5J75KL9dr7sAn1Gpk5E1xQWQ4fmdXJfHp/3CGKBGG NR/jDNZo47WhQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Tim Pambor , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.10 098/238] net: phy: dp83822: Fix RGMII TX delay configuration Date: Sun, 24 Mar 2024 19:38:06 -0400 Message-ID: <20240324234027.1354210-99-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tim Pambor [ Upstream commit c8a5c731fd1223090af57da33838c671a7fc6a78 ] The logic for enabling the TX clock shift is inverse of enabling the RX clock shift. The TX clock shift is disabled when DP83822_TX_CLK_SHIFT is set. Correct the current behavior and always write the delay configuration to ensure consistent delay settings regardless of bootloader configuration. Reference: https://www.ti.com/lit/ds/symlink/dp83822i.pdf p. 69 Fixes: 8095295292b5 ("net: phy: DP83822: Add setting the fixed internal del= ay") Signed-off-by: Tim Pambor Link: https://lore.kernel.org/r/20240305110608.104072-1-tp@osasysteme.de Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/phy/dp83822.c | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/drivers/net/phy/dp83822.c b/drivers/net/phy/dp83822.c index dce87589b1120..14c5e082ccc8f 100644 --- a/drivers/net/phy/dp83822.c +++ b/drivers/net/phy/dp83822.c @@ -359,7 +359,7 @@ static int dp83822_config_init(struct phy_device *phyde= v) { struct dp83822_private *dp83822 =3D phydev->priv; struct device *dev =3D &phydev->mdio.dev; - int rgmii_delay; + int rgmii_delay =3D 0; s32 rx_int_delay; s32 tx_int_delay; int err =3D 0; @@ -369,30 +369,33 @@ static int dp83822_config_init(struct phy_device *phy= dev) rx_int_delay =3D phy_get_internal_delay(phydev, dev, NULL, 0, true); =20 - if (rx_int_delay <=3D 0) - rgmii_delay =3D 0; - else - rgmii_delay =3D DP83822_RX_CLK_SHIFT; + /* Set DP83822_RX_CLK_SHIFT to enable rx clk internal delay */ + if (rx_int_delay > 0) + rgmii_delay |=3D DP83822_RX_CLK_SHIFT; =20 tx_int_delay =3D phy_get_internal_delay(phydev, dev, NULL, 0, false); + + /* Set DP83822_TX_CLK_SHIFT to disable tx clk internal delay */ if (tx_int_delay <=3D 0) - rgmii_delay &=3D ~DP83822_TX_CLK_SHIFT; - else rgmii_delay |=3D DP83822_TX_CLK_SHIFT; =20 - if (rgmii_delay) { - err =3D phy_set_bits_mmd(phydev, DP83822_DEVADDR, - MII_DP83822_RCSR, rgmii_delay); - if (err) - return err; - } + err =3D phy_modify_mmd(phydev, DP83822_DEVADDR, MII_DP83822_RCSR, + DP83822_RX_CLK_SHIFT | DP83822_TX_CLK_SHIFT, rgmii_delay); + if (err) + return err; + + err =3D phy_set_bits_mmd(phydev, DP83822_DEVADDR, + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); =20 - phy_set_bits_mmd(phydev, DP83822_DEVADDR, - MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); + if (err) + return err; } else { - phy_clear_bits_mmd(phydev, DP83822_DEVADDR, - MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); + err =3D phy_clear_bits_mmd(phydev, DP83822_DEVADDR, + MII_DP83822_RCSR, DP83822_RGMII_MODE_EN); + + if (err) + return err; } =20 if (dp83822->fx_enabled) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 78BE817B519; Sun, 24 Mar 2024 23:42:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323727; cv=none; b=dYFYCJPBXcns4gn8CslKmUBzpwivohUraMMxxxprfxQGLPti3XFyvICPnVnEPbyaaNvhjXa40uMgYdNFLDWZI5UMT0Gfb0RQlOtfrmE85C3jYUNsmj+tNEIXH+vo96XtNOIORQtf+qkrddXzzu7WRTOuilEoXcG78dV9g+mjhmE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323727; c=relaxed/simple; bh=FU8bOYJOpA7z5HZUBn8V79nlonCFP1MChAiD587xR18=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ArCZGgWRnS5h0CYhpyWoxt0joBX3I/GejCwzt+31KcneP4REJLFXjxL0UQQnGcXi8RYgPRDEYyZvOMv/yuTB0WT5UJ1Q1AisTzbi9fmX7J7gxiTe6IL70ZK5VCR1RZFKKZAylZIOtx/44Top8/OEeWZZAfNvs73zj32LyKiU0Pw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DzpW7mxr; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DzpW7mxr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 573A4C433C7; Sun, 24 Mar 2024 23:42:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323726; bh=FU8bOYJOpA7z5HZUBn8V79nlonCFP1MChAiD587xR18=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DzpW7mxrH+GLwsfSeFj+kW9LBbzI2zpw//kPq5gGrBAWVMHLstju8CdLd1zaRojPH jq+xBt8LCP3vaG5BytdyibwPOVJDIZLr3l5judsz/88QHmmGtPpElkgl3UE0zajW+9 zTb6C1eJZcK9oykD8W0tzUmc/70y+MmGbtzRaoFeg7dMSJ+9AIedee97b2UTua3XxS VnlTyfYBIRMBRmapWbPRVupi4lKPLbLY/MPRMs51brmqZzKT6R9cGSnulFbXGvF30t 5UyW2zzG4fVpg3ckQDTz6wX6CKwOLXhfgEPxgS5qgZob56kkwyxOPvxihPa94cW8oB P+gAGxHY29lfg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Viresh Kumar , kernel test robot , Dhruva Gole , Sasha Levin Subject: [PATCH 5.10 099/238] OPP: debugfs: Fix warning around icc_get_name() Date: Sun, 24 Mar 2024 19:38:07 -0400 Message-ID: <20240324234027.1354210-100-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Viresh Kumar [ Upstream commit 28330ceb953e39880ea77da4895bb902a1244860 ] If the kernel isn't built with interconnect support, icc_get_name() returns NULL and we get following warning: drivers/opp/debugfs.c: In function 'bw_name_read': drivers/opp/debugfs.c:43:42: error: '%.62s' directive argument is null [-We= rror=3Dformat-overflow=3D] i =3D scnprintf(buf, sizeof(buf), "%.62s\n", icc_get_name(path)); Fix it. Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202402141313.81ltVF5g-lkp@int= el.com/ Fixes: 0430b1d5704b0 ("opp: Expose bandwidth information via debugfs") Signed-off-by: Viresh Kumar Reviewed-by: Dhruva Gole Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/opp/debugfs.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/opp/debugfs.c b/drivers/opp/debugfs.c index 60f4ff8e044d1..016dea5a412be 100644 --- a/drivers/opp/debugfs.c +++ b/drivers/opp/debugfs.c @@ -36,10 +36,12 @@ static ssize_t bw_name_read(struct file *fp, char __use= r *userbuf, size_t count, loff_t *ppos) { struct icc_path *path =3D fp->private_data; + const char *name =3D icc_get_name(path); char buf[64]; - int i; + int i =3D 0; =20 - i =3D scnprintf(buf, sizeof(buf), "%.62s\n", icc_get_name(path)); + if (name) + i =3D scnprintf(buf, sizeof(buf), "%.62s\n", name); =20 return simple_read_from_buffer(userbuf, count, ppos, buf, i); } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 76A4E17B51C; Sun, 24 Mar 2024 23:42:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323728; cv=none; b=VUQCgjz9VdwMrUHPFe5ZxFxJrgcV5vq8bhY9BvIu0voCpveK54A7eXFWNOF0Qgud+oFRppkOhZon7B0+JmjqRGJaUpX38e5k9tkvUn4slkP1faOjnTNDnTHEZncgMxc25nlQ7Z00R6UaRElbRbZnRoIfuEhX8LVGA5ZDIIQA6/I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323728; c=relaxed/simple; bh=pBN8wGTb52OpC2M3BNQFLcBGO3yJdW0XR67v5gpuFRg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AymjoFzLt0VIfvwiiOMyLvyywARiMjcNCnrN68mvFP8IMXCabAvQBlt1aFT19ZI4+Yz2VlkscQQnxIqQuUtOncLLt8lEUjlqBImjGYqZARKSwIWAgZpAz0KcPdWmH8AfFwEX7Wk1fPSsim8J8lSefGQFTGH2ClEzvOP06yPxI24= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=f6mwb/Rn; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="f6mwb/Rn" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5361CC43394; Sun, 24 Mar 2024 23:42:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323727; bh=pBN8wGTb52OpC2M3BNQFLcBGO3yJdW0XR67v5gpuFRg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=f6mwb/Rnli0sj5sRkKhPqxIgMQWcRJSZ9PJl8DDcw2QLVpmhWBfW7cDshqllX8Tab 8fKGrs16Pj+m3ZiAjiS0lHHLnnEDFzMnbbcsrUTUgo/4R35MFofv2cjW1WbCyb6WGZ 1zkItveAdS96RH6jsULm0CX+j+avVmsvEIujO+TR1iUZHAEUxyYRRl6wfdk68ezQzD Job0NJEqGr8eGcSHwoNDdcUlNtekPiPWgetABJCRJtr67pdGd5i6e/KjwxZScUzJ9S IkR7T+U7RcN3NpoJfwljYTi4gYUGTI+RoLiVgbdg7lMENUckTOAF+ozeDEmlX7kfqN aSdNQ1FgmZi4w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Gavrilov Ilia , Jason Xing , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 100/238] tcp: fix incorrect parameter validation in the do_tcp_getsockopt() function Date: Sun, 24 Mar 2024 19:38:08 -0400 Message-ID: <20240324234027.1354210-101-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gavrilov Ilia [ Upstream commit 716edc9706deb3bb2ff56e2eeb83559cea8f22db ] The 'len' variable can't be negative when assigned the result of 'min_t' because all 'min_t' parameters are cast to unsigned int, and then the minimum one is chosen. To fix the logic, check 'len' as read from 'optlen', where the types of relevant variables are (signed) int. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Gavrilov Ilia Reviewed-by: Jason Xing Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/ipv4/tcp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index a5c15e2d193f6..2e874ec859715 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -3742,11 +3742,11 @@ static int do_tcp_getsockopt(struct sock *sk, int l= evel, if (get_user(len, optlen)) return -EFAULT; =20 - len =3D min_t(unsigned int, len, sizeof(int)); - if (len < 0) return -EINVAL; =20 + len =3D min_t(unsigned int, len, sizeof(int)); + switch (optname) { case TCP_MAXSEG: val =3D tp->mss_cache; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1278517B50D; Sun, 24 Mar 2024 23:42:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323728; cv=none; b=M0rrTVere2km7xoNkLiCYWfr6MZWwFRhD9/UKqEK8nzgRdWcGqyOxKt+kLdW0OW/dmqREqARgi9vucuHcP1+RtdjE992U4Xwk43utLw3mEc3RttM1zQvJMkBt1mbFENPnpsaPt/DY8reUW5wvJUXFekIS6WF6Emc2iX7XdepsbY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323728; c=relaxed/simple; bh=PdOvL4VS4V6WgvoHtkQ6c36uNe2suX72HRehuZnE9xc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=JbdiCplNd6euXu78qBSCC4cRCInYMEOINq7D3MIc2uXPARPH3sxfUHTRc8oahkkDrecWSiFFBEeEWw7BxBliirKIpKBm5yMbQBR50udn3G6nAzmA98hpGY7IbDWuTRMZIac9gvu8mYhFJrOx6OP+uGRlrCZwnMvy2CvVczI+m0Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=N5E64E31; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="N5E64E31" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 50258C433B1; Sun, 24 Mar 2024 23:42:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323727; bh=PdOvL4VS4V6WgvoHtkQ6c36uNe2suX72HRehuZnE9xc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N5E64E31SVKICn5rmCMk3qlVbOsRa4JppEOcuR7+Hj5VXqqMvrHTi3cl7mXh3Ij7r Z5U75Bh4QP3dITvYnloVnj7zuyccVxwQCBQDBx+ofbU6Pe7SxwwYPVumCvREIQGYBT 2I7hVjFzh8SZgIqW0mHwGTnhftW6vur610t4X3y7Mk0FyNWEi/gY5d8bEzMvChIZBY 1xCrkMfhc0QDxSNeZxTN0fHsywAF51JDolEePN6cnXSNcK9t9Af6jGgCe7DtJj6GuS uxleg9Qs3I+OlNY+S5B8cVNC6BjEoyDmmwWuONMXa3LLhksB8nMj6TQA/og+q8J+E1 zeMceUCBs/MeA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Gustavo A. R. Silva" , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 101/238] net/ipv4: Replace one-element array with flexible-array member Date: Sun, 24 Mar 2024 19:38:09 -0400 Message-ID: <20240324234027.1354210-102-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: "Gustavo A. R. Silva" [ Upstream commit 2d3e5caf96b9449af951e63476657acd759c1a30 ] There is a regular need in the kernel to provide a way to declare having a dynamically sized set of trailing elements in a structure. Kernel code should always use =E2=80=9Cflexible array members=E2=80=9D[1] for these cas= es. The older style of one-element or zero-length arrays should no longer be used[2]. Use an anonymous union with a couple of anonymous structs in order to keep userspace unchanged: $ pahole -C ip_msfilter net/ipv4/ip_sockglue.o struct ip_msfilter { union { struct { __be32 imsf_multiaddr_aux; /* 0 4 */ __be32 imsf_interface_aux; /* 4 4 */ __u32 imsf_fmode_aux; /* 8 4 */ __u32 imsf_numsrc_aux; /* 12 4 */ __be32 imsf_slist[1]; /* 16 4 */ }; /* 0 20 */ struct { __be32 imsf_multiaddr; /* 0 4 */ __be32 imsf_interface; /* 4 4 */ __u32 imsf_fmode; /* 8 4 */ __u32 imsf_numsrc; /* 12 4 */ __be32 imsf_slist_flex[0]; /* 16 0 */ }; /* 0 16 */ }; /* 0 20 */ /* size: 20, cachelines: 1, members: 1 */ /* last cacheline: 20 bytes */ }; Also, refactor the code accordingly and make use of the struct_size() and flex_array_size() helpers. This helps with the ongoing efforts to globally enable -Warray-bounds and get us closer to being able to tighten the FORTIFY_SOURCE routines on memcpy(). [1] https://en.wikipedia.org/wiki/Flexible_array_member [2] https://www.kernel.org/doc/html/v5.10/process/deprecated.html#zero-leng= th-and-one-element-arrays Link: https://github.com/KSPP/linux/issues/79 Link: https://github.com/KSPP/linux/issues/109 Signed-off-by: Gustavo A. R. Silva Signed-off-by: David S. Miller Stable-dep-of: 5c3be3e0eb44 ("ipmr: fix incorrect parameter validation in t= he ip_mroute_getsockopt() function") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/uapi/linux/in.h | 21 ++++++++++++++++----- net/ipv4/igmp.c | 12 ++++++------ net/ipv4/ip_sockglue.c | 15 ++++++++------- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/include/uapi/linux/in.h b/include/uapi/linux/in.h index 3960bc3da6b30..066098a5b9360 100644 --- a/include/uapi/linux/in.h +++ b/include/uapi/linux/in.h @@ -190,11 +190,22 @@ struct ip_mreq_source { }; =20 struct ip_msfilter { - __be32 imsf_multiaddr; - __be32 imsf_interface; - __u32 imsf_fmode; - __u32 imsf_numsrc; - __be32 imsf_slist[1]; + union { + struct { + __be32 imsf_multiaddr_aux; + __be32 imsf_interface_aux; + __u32 imsf_fmode_aux; + __u32 imsf_numsrc_aux; + __be32 imsf_slist[1]; + }; + struct { + __be32 imsf_multiaddr; + __be32 imsf_interface; + __u32 imsf_fmode; + __u32 imsf_numsrc; + __be32 imsf_slist_flex[]; + }; + }; }; =20 #define IP_MSFILTER_SIZE(numsrc) \ diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index cb55fede03c04..134f1682a7e9b 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -2493,8 +2493,8 @@ int ip_mc_msfilter(struct sock *sk, struct ip_msfilte= r *msf, int ifindex) goto done; } newpsl->sl_max =3D newpsl->sl_count =3D msf->imsf_numsrc; - memcpy(newpsl->sl_addr, msf->imsf_slist, - msf->imsf_numsrc * sizeof(msf->imsf_slist[0])); + memcpy(newpsl->sl_addr, msf->imsf_slist_flex, + flex_array_size(msf, imsf_slist_flex, msf->imsf_numsrc)); err =3D ip_mc_add_src(in_dev, &msf->imsf_multiaddr, msf->imsf_fmode, newpsl->sl_count, newpsl->sl_addr, 0); if (err) { @@ -2571,14 +2571,14 @@ int ip_mc_msfget(struct sock *sk, struct ip_msfilte= r *msf, count =3D psl->sl_count; } copycount =3D count < msf->imsf_numsrc ? count : msf->imsf_numsrc; - len =3D copycount * sizeof(psl->sl_addr[0]); + len =3D flex_array_size(psl, sl_addr, copycount); msf->imsf_numsrc =3D count; - if (put_user(IP_MSFILTER_SIZE(copycount), optlen) || - copy_to_user(optval, msf, IP_MSFILTER_SIZE(0))) { + if (put_user(struct_size(optval, imsf_slist_flex, copycount), optlen) || + copy_to_user(optval, msf, struct_size(optval, imsf_slist_flex, 0))) { return -EFAULT; } if (len && - copy_to_user(&optval->imsf_slist[0], psl->sl_addr, len)) + copy_to_user(&optval->imsf_slist_flex[0], psl->sl_addr, len)) return -EFAULT; return 0; done: diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index 1b35afd326b8d..2cfc507712300 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -670,12 +670,11 @@ static int set_mcast_msfilter(struct sock *sk, int if= index, struct sockaddr_storage *group, struct sockaddr_storage *list) { - int msize =3D IP_MSFILTER_SIZE(numsrc); struct ip_msfilter *msf; struct sockaddr_in *psin; int err, i; =20 - msf =3D kmalloc(msize, GFP_KERNEL); + msf =3D kmalloc(struct_size(msf, imsf_slist_flex, numsrc), GFP_KERNEL); if (!msf) return -ENOBUFS; =20 @@ -691,7 +690,7 @@ static int set_mcast_msfilter(struct sock *sk, int ifin= dex, =20 if (psin->sin_family !=3D AF_INET) goto Eaddrnotavail; - msf->imsf_slist[i] =3D psin->sin_addr.s_addr; + msf->imsf_slist_flex[i] =3D psin->sin_addr.s_addr; } err =3D ip_mc_msfilter(sk, msf, ifindex); kfree(msf); @@ -1236,7 +1235,7 @@ static int do_ip_setsockopt(struct sock *sk, int leve= l, int optname, { struct ip_msfilter *msf; =20 - if (optlen < IP_MSFILTER_SIZE(0)) + if (optlen < struct_size(msf, imsf_slist_flex, 0)) goto e_inval; if (optlen > READ_ONCE(sysctl_optmem_max)) { err =3D -ENOBUFS; @@ -1254,7 +1253,8 @@ static int do_ip_setsockopt(struct sock *sk, int leve= l, int optname, err =3D -ENOBUFS; break; } - if (IP_MSFILTER_SIZE(msf->imsf_numsrc) > optlen) { + if (struct_size(msf, imsf_slist_flex, msf->imsf_numsrc) > + optlen) { kfree(msf); err =3D -EINVAL; break; @@ -1667,11 +1667,12 @@ static int do_ip_getsockopt(struct sock *sk, int le= vel, int optname, { struct ip_msfilter msf; =20 - if (len < IP_MSFILTER_SIZE(0)) { + if (len < struct_size(&msf, imsf_slist_flex, 0)) { err =3D -EINVAL; goto out; } - if (copy_from_user(&msf, optval, IP_MSFILTER_SIZE(0))) { + if (copy_from_user(&msf, optval, + struct_size(&msf, imsf_slist_flex, 0))) { err =3D -EFAULT; goto out; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0710217AFA0; Sun, 24 Mar 2024 23:42:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323730; cv=none; b=U4StVO5Yvb6knniiwZP7ZLDaPNG8UBpdhW/XfFOhqX2MdCPLJkeIf3viAB+9LaQ3sptgn+uUT78cUIvJB/pLLdUw3knqbZJXM57gKWjMVWQntM+P6bJmmagC9P7v1A6Mye6msLU9jOamspoDxbpvXYOsNqDknZcUbywsOXtcHo8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323730; c=relaxed/simple; bh=04JXsG15q47bxJ2l1x5tF5lHZqAY//KUUy2ZJRWCw7w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JmhxVGN1X9w6x5yDKK6t3xtWF0a1lLU2su8JxbkXUvNRHVraMcd+f4zakPvc6HNETF4c5uXyevhCKGHY0PPigyoiR0xcrqEp/MHWVI9r4xHXKXcal2ee9wPvllWHBY4rls7NQ/sjMunSBhw/zf7Ls8D1KdFQO7dGUhcVNr0+R+o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sGjUcDrD; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="sGjUcDrD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3730AC433A6; Sun, 24 Mar 2024 23:42:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323728; bh=04JXsG15q47bxJ2l1x5tF5lHZqAY//KUUy2ZJRWCw7w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sGjUcDrDQ3f+UA+7wHqKnyCJR+wyZtn4MljbNsO6O/gzyBarlz4/0XLTLWd//kLRV M4TWR3BNnNoMNGYmAXFxPc+DlRw6u/7dY7e9RAu12p6xLqn1pctG3ARgZkjjsnkHJM Ef4y4jSIXlxq+/AhesBNp5vWaj6rtg+Ybv6cQFo9wtKgXhnbWEPzPqTSgIEfEvl/5q wW7YBSx+hlt/CxcdjozWormtC4B2P3VgYxhqC11Jcgya1BBBOceoux2QYE7zNE1/kc ZUDNFraeHnnExphJwCuCsTTf9TX6Fj5WRF/pFleb6gq4pwxanH1+YCmSNRAPJZg+tm oPUmSPqDoZZAw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Gustavo A. R. Silva" , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 102/238] net/ipv4: Revert use of struct_size() helper Date: Sun, 24 Mar 2024 19:38:10 -0400 Message-ID: <20240324234027.1354210-103-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: "Gustavo A. R. Silva" [ Upstream commit 4167a960574fcadc9067f4280951a35b8c021c68 ] Revert the use of structr_size() and stay with IP_MSFILTER_SIZE() for now, as in this case, the size of struct ip_msfilter didn't change with the addition of the flexible array imsf_slist_flex[]. So, if we use struct_size() we will be allocating and calculating the size of struct ip_msfilter with one too many items for imsf_slist_flex[]. We might use struct_size() in the future, but for now let's stay with IP_MSFILTER_SIZE(). Fixes: 2d3e5caf96b9 ("net/ipv4: Replace one-element array with flexible-arr= ay member") Signed-off-by: Gustavo A. R. Silva Signed-off-by: David S. Miller Stable-dep-of: 5c3be3e0eb44 ("ipmr: fix incorrect parameter validation in t= he ip_mroute_getsockopt() function") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/ipv4/igmp.c | 4 ++-- net/ipv4/ip_sockglue.c | 12 +++++------- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 134f1682a7e9b..4ba1c92fb3524 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -2573,8 +2573,8 @@ int ip_mc_msfget(struct sock *sk, struct ip_msfilter = *msf, copycount =3D count < msf->imsf_numsrc ? count : msf->imsf_numsrc; len =3D flex_array_size(psl, sl_addr, copycount); msf->imsf_numsrc =3D count; - if (put_user(struct_size(optval, imsf_slist_flex, copycount), optlen) || - copy_to_user(optval, msf, struct_size(optval, imsf_slist_flex, 0))) { + if (put_user(IP_MSFILTER_SIZE(copycount), optlen) || + copy_to_user(optval, msf, IP_MSFILTER_SIZE(0))) { return -EFAULT; } if (len && diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index 2cfc507712300..28b9b2e85f0be 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -674,7 +674,7 @@ static int set_mcast_msfilter(struct sock *sk, int ifin= dex, struct sockaddr_in *psin; int err, i; =20 - msf =3D kmalloc(struct_size(msf, imsf_slist_flex, numsrc), GFP_KERNEL); + msf =3D kmalloc(IP_MSFILTER_SIZE(numsrc), GFP_KERNEL); if (!msf) return -ENOBUFS; =20 @@ -1235,7 +1235,7 @@ static int do_ip_setsockopt(struct sock *sk, int leve= l, int optname, { struct ip_msfilter *msf; =20 - if (optlen < struct_size(msf, imsf_slist_flex, 0)) + if (optlen < IP_MSFILTER_SIZE(0)) goto e_inval; if (optlen > READ_ONCE(sysctl_optmem_max)) { err =3D -ENOBUFS; @@ -1253,8 +1253,7 @@ static int do_ip_setsockopt(struct sock *sk, int leve= l, int optname, err =3D -ENOBUFS; break; } - if (struct_size(msf, imsf_slist_flex, msf->imsf_numsrc) > - optlen) { + if (IP_MSFILTER_SIZE(msf->imsf_numsrc) > optlen) { kfree(msf); err =3D -EINVAL; break; @@ -1667,12 +1666,11 @@ static int do_ip_getsockopt(struct sock *sk, int le= vel, int optname, { struct ip_msfilter msf; =20 - if (len < struct_size(&msf, imsf_slist_flex, 0)) { + if (len < IP_MSFILTER_SIZE(0)) { err =3D -EINVAL; goto out; } - if (copy_from_user(&msf, optval, - struct_size(&msf, imsf_slist_flex, 0))) { + if (copy_from_user(&msf, optval, IP_MSFILTER_SIZE(0))) { err =3D -EFAULT; goto out; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D49F117B51D; Sun, 24 Mar 2024 23:42:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323730; cv=none; b=EhfU9bWRPiKcx591Elu31oUBtPju9Cbo0z+fhPGvka6Dxxfmw+1zTW4BpLSIm1lYbvo/pjWWu3mFTrQ5iWcFADO0XiDlN3ceOwms0TEZ3oN9Gdk/ZAK4ppQqYEkb0x/u4gsx2HitqPA+qmmT+v24OdihjG5GGniNRKgl3QXQKWA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323730; c=relaxed/simple; bh=6VinoPuNgON923fXroetocZufo3yJ31R1R0fzgXBo7c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=Fd4Q5q3xAyNcKKNFIMQILesjD54/NSWapR2nRq4KgCW54pis3M5to160kUkpHDxJoFue05VhYB9jAWyzS4C8XB04NistVrYrPYnSM3w6tGSWsxaaYB+XQ5eVLdMJNMQjdvGqxgpA7HPMcTfVNIyp8wgyb6dx6PFpkVjCAeMUipI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cjgWxqAF; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cjgWxqAF" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1E1FCC433F1; Sun, 24 Mar 2024 23:42:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323729; bh=6VinoPuNgON923fXroetocZufo3yJ31R1R0fzgXBo7c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cjgWxqAFEieeu/ouA95AcOpZo93L1mK5TwjCsEtMuXUUWvZrf1i8iTxbejE7E1UGG h+GBkY0v+hoDPNbAQGXBmkh9iGcoiaC/vVeCEgCy3uLfjRdbVXXQzfgVd1HNxhb9a6 iH305cvuAZVB3CkzXQyUUm6pEn1K93j84l34CHdP/j6h80hgTTn0GZHEpO/EQG9fXp 9ZSV4XlelJmxMT44dred8IXd5yo//Oie01vD6M/QMAV5DiqmoClZ3uqV+7VW90NoTf MIWCS28hxY8a1bwD0Iil2KzzxVOKglttiUqkBlEqRyDnWCaLVF8cDtaGhpTaHxEoyw OE5ShQVlVmrkQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Gustavo A. R. Silva" , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 103/238] net/ipv4/ipv6: Replace one-element arraya with flexible-array members Date: Sun, 24 Mar 2024 19:38:11 -0400 Message-ID: <20240324234027.1354210-104-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: "Gustavo A. R. Silva" [ Upstream commit db243b796439c0caba47865564d8acd18a301d18 ] There is a regular need in the kernel to provide a way to declare having a dynamically sized set of trailing elements in a structure. Kernel code should always use =E2=80=9Cflexible array members=E2=80=9D[1] for these cas= es. The older style of one-element or zero-length arrays should no longer be used[2]. Use an anonymous union with a couple of anonymous structs in order to keep userspace unchanged and refactor the related code accordingly: $ pahole -C group_filter net/ipv4/ip_sockglue.o struct group_filter { union { struct { __u32 gf_interface_aux; /* 0 4 */ /* XXX 4 bytes hole, try to pack */ struct __kernel_sockaddr_storage gf_group_aux; /* 8 128 */ /* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ __u32 gf_fmode_aux; /* 136 4 */ __u32 gf_numsrc_aux; /* 140 4 */ struct __kernel_sockaddr_storage gf_slist[1]; /* 144 128 */ }; /* 0 272 */ struct { __u32 gf_interface; /* 0 4 */ /* XXX 4 bytes hole, try to pack */ struct __kernel_sockaddr_storage gf_group; /* 8 128 */ /* --- cacheline 2 boundary (128 bytes) was 8 bytes ago --- */ __u32 gf_fmode; /* 136 4 */ __u32 gf_numsrc; /* 140 4 */ struct __kernel_sockaddr_storage gf_slist_flex[0]; /* 144 0 */ }; /* 0 144 */ }; /* 0 272 */ /* size: 272, cachelines: 5, members: 1 */ /* last cacheline: 16 bytes */ }; $ pahole -C compat_group_filter net/ipv4/ip_sockglue.o struct compat_group_filter { union { struct { __u32 gf_interface_aux; /* 0 4 */ struct __kernel_sockaddr_storage gf_group_aux __attribute__((__aligned__= (4))); /* 4 128 */ /* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ __u32 gf_fmode_aux; /* 132 4 */ __u32 gf_numsrc_aux; /* 136 4 */ struct __kernel_sockaddr_storage gf_slist[1] __attribute__((__aligned__(= 4))); /* 140 128 */ } __attribute__((__packed__)) __attribute__((__aligned__(4))); = /* 0 268 */ struct { __u32 gf_interface; /* 0 4 */ struct __kernel_sockaddr_storage gf_group __attribute__((__aligned__(4))= ); /* 4 128 */ /* --- cacheline 2 boundary (128 bytes) was 4 bytes ago --- */ __u32 gf_fmode; /* 132 4 */ __u32 gf_numsrc; /* 136 4 */ struct __kernel_sockaddr_storage gf_slist_flex[0] __attribute__((__align= ed__(4))); /* 140 0 */ } __attribute__((__packed__)) __attribute__((__aligned__(4))); = /* 0 140 */ } __attribute__((__aligned__(1))); /* 0 268 */ /* size: 268, cachelines: 5, members: 1 */ /* forced alignments: 1 */ /* last cacheline: 12 bytes */ } __attribute__((__packed__)); This helps with the ongoing efforts to globally enable -Warray-bounds and get us closer to being able to tighten the FORTIFY_SOURCE routines on memcpy(). [1] https://en.wikipedia.org/wiki/Flexible_array_member [2] https://www.kernel.org/doc/html/v5.10/process/deprecated.html#zero-leng= th-and-one-element-arrays Link: https://github.com/KSPP/linux/issues/79 Link: https://github.com/KSPP/linux/issues/109 Signed-off-by: Gustavo A. R. Silva Signed-off-by: David S. Miller Stable-dep-of: 5c3be3e0eb44 ("ipmr: fix incorrect parameter validation in t= he ip_mroute_getsockopt() function") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/net/compat.h | 27 ++++++++++++++++++++------- include/uapi/linux/in.h | 21 ++++++++++++++++----- net/ipv4/ip_sockglue.c | 19 ++++++++++--------- net/ipv6/ipv6_sockglue.c | 18 +++++++++--------- 4 files changed, 55 insertions(+), 30 deletions(-) diff --git a/include/net/compat.h b/include/net/compat.h index 745db0d605b62..52bf5f0ee236b 100644 --- a/include/net/compat.h +++ b/include/net/compat.h @@ -81,13 +81,26 @@ struct compat_group_source_req { } __packed; =20 struct compat_group_filter { - __u32 gf_interface; - struct __kernel_sockaddr_storage gf_group - __aligned(4); - __u32 gf_fmode; - __u32 gf_numsrc; - struct __kernel_sockaddr_storage gf_slist[1] - __aligned(4); + union { + struct { + __u32 gf_interface_aux; + struct __kernel_sockaddr_storage gf_group_aux + __aligned(4); + __u32 gf_fmode_aux; + __u32 gf_numsrc_aux; + struct __kernel_sockaddr_storage gf_slist[1] + __aligned(4); + } __packed; + struct { + __u32 gf_interface; + struct __kernel_sockaddr_storage gf_group + __aligned(4); + __u32 gf_fmode; + __u32 gf_numsrc; + struct __kernel_sockaddr_storage gf_slist_flex[] + __aligned(4); + } __packed; + }; } __packed; =20 #endif /* NET_COMPAT_H */ diff --git a/include/uapi/linux/in.h b/include/uapi/linux/in.h index 066098a5b9360..c4702fff64d3a 100644 --- a/include/uapi/linux/in.h +++ b/include/uapi/linux/in.h @@ -224,11 +224,22 @@ struct group_source_req { }; =20 struct group_filter { - __u32 gf_interface; /* interface index */ - struct __kernel_sockaddr_storage gf_group; /* multicast address */ - __u32 gf_fmode; /* filter mode */ - __u32 gf_numsrc; /* number of sources */ - struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */ + union { + struct { + __u32 gf_interface_aux; /* interface index */ + struct __kernel_sockaddr_storage gf_group_aux; /* multicast address = */ + __u32 gf_fmode_aux; /* filter mode */ + __u32 gf_numsrc_aux; /* number of sources */ + struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */ + }; + struct { + __u32 gf_interface; /* interface index */ + struct __kernel_sockaddr_storage gf_group; /* multicast address */ + __u32 gf_fmode; /* filter mode */ + __u32 gf_numsrc; /* number of sources */ + struct __kernel_sockaddr_storage gf_slist_flex[]; /* interface index */ + }; + }; }; =20 #define GROUP_FILTER_SIZE(numsrc) \ diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index 28b9b2e85f0be..9bea014309ded 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -797,7 +797,8 @@ static int ip_set_mcast_msfilter(struct sock *sk, sockp= tr_t optval, int optlen) goto out_free_gsf; =20 err =3D set_mcast_msfilter(sk, gsf->gf_interface, gsf->gf_numsrc, - gsf->gf_fmode, &gsf->gf_group, gsf->gf_slist); + gsf->gf_fmode, &gsf->gf_group, + gsf->gf_slist_flex); out_free_gsf: kfree(gsf); return err; @@ -806,7 +807,7 @@ static int ip_set_mcast_msfilter(struct sock *sk, sockp= tr_t optval, int optlen) static int compat_ip_set_mcast_msfilter(struct sock *sk, sockptr_t optval, int optlen) { - const int size0 =3D offsetof(struct compat_group_filter, gf_slist); + const int size0 =3D offsetof(struct compat_group_filter, gf_slist_flex); struct compat_group_filter *gf32; unsigned int n; void *p; @@ -820,7 +821,7 @@ static int compat_ip_set_mcast_msfilter(struct sock *sk= , sockptr_t optval, p =3D kmalloc(optlen + 4, GFP_KERNEL); if (!p) return -ENOMEM; - gf32 =3D p + 4; /* we want ->gf_group and ->gf_slist aligned */ + gf32 =3D p + 4; /* we want ->gf_group and ->gf_slist_flex aligned */ =20 err =3D -EFAULT; if (copy_from_sockptr(gf32, optval, optlen)) @@ -833,7 +834,7 @@ static int compat_ip_set_mcast_msfilter(struct sock *sk= , sockptr_t optval, goto out_free_gsf; =20 err =3D -EINVAL; - if (offsetof(struct compat_group_filter, gf_slist[n]) > optlen) + if (offsetof(struct compat_group_filter, gf_slist_flex[n]) > optlen) goto out_free_gsf; =20 /* numsrc >=3D (4G-140)/128 overflow in 32 bits */ @@ -841,7 +842,7 @@ static int compat_ip_set_mcast_msfilter(struct sock *sk= , sockptr_t optval, if (n > READ_ONCE(sock_net(sk)->ipv4.sysctl_igmp_max_msf)) goto out_free_gsf; err =3D set_mcast_msfilter(sk, gf32->gf_interface, n, gf32->gf_fmode, - &gf32->gf_group, gf32->gf_slist); + &gf32->gf_group, gf32->gf_slist_flex); out_free_gsf: kfree(p); return err; @@ -1462,7 +1463,7 @@ static bool getsockopt_needs_rtnl(int optname) static int ip_get_mcast_msfilter(struct sock *sk, void __user *optval, int __user *optlen, int len) { - const int size0 =3D offsetof(struct group_filter, gf_slist); + const int size0 =3D offsetof(struct group_filter, gf_slist_flex); struct group_filter __user *p =3D optval; struct group_filter gsf; int num; @@ -1474,7 +1475,7 @@ static int ip_get_mcast_msfilter(struct sock *sk, voi= d __user *optval, return -EFAULT; =20 num =3D gsf.gf_numsrc; - err =3D ip_mc_gsfget(sk, &gsf, p->gf_slist); + err =3D ip_mc_gsfget(sk, &gsf, p->gf_slist_flex); if (err) return err; if (gsf.gf_numsrc < num) @@ -1488,7 +1489,7 @@ static int ip_get_mcast_msfilter(struct sock *sk, voi= d __user *optval, static int compat_ip_get_mcast_msfilter(struct sock *sk, void __user *optv= al, int __user *optlen, int len) { - const int size0 =3D offsetof(struct compat_group_filter, gf_slist); + const int size0 =3D offsetof(struct compat_group_filter, gf_slist_flex); struct compat_group_filter __user *p =3D optval; struct compat_group_filter gf32; struct group_filter gf; @@ -1505,7 +1506,7 @@ static int compat_ip_get_mcast_msfilter(struct sock *= sk, void __user *optval, num =3D gf.gf_numsrc =3D gf32.gf_numsrc; gf.gf_group =3D gf32.gf_group; =20 - err =3D ip_mc_gsfget(sk, &gf, p->gf_slist); + err =3D ip_mc_gsfget(sk, &gf, p->gf_slist_flex); if (err) return err; if (gf.gf_numsrc < num) diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index 7b4b457a8b87a..0ac527cd5d56d 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c @@ -225,7 +225,7 @@ static int ipv6_set_mcast_msfilter(struct sock *sk, soc= kptr_t optval, if (GROUP_FILTER_SIZE(gsf->gf_numsrc) > optlen) goto out_free_gsf; =20 - ret =3D ip6_mc_msfilter(sk, gsf, gsf->gf_slist); + ret =3D ip6_mc_msfilter(sk, gsf, gsf->gf_slist_flex); out_free_gsf: kfree(gsf); return ret; @@ -234,7 +234,7 @@ static int ipv6_set_mcast_msfilter(struct sock *sk, soc= kptr_t optval, static int compat_ipv6_set_mcast_msfilter(struct sock *sk, sockptr_t optva= l, int optlen) { - const int size0 =3D offsetof(struct compat_group_filter, gf_slist); + const int size0 =3D offsetof(struct compat_group_filter, gf_slist_flex); struct compat_group_filter *gf32; void *p; int ret; @@ -249,7 +249,7 @@ static int compat_ipv6_set_mcast_msfilter(struct sock *= sk, sockptr_t optval, if (!p) return -ENOMEM; =20 - gf32 =3D p + 4; /* we want ->gf_group and ->gf_slist aligned */ + gf32 =3D p + 4; /* we want ->gf_group and ->gf_slist_flex aligned */ ret =3D -EFAULT; if (copy_from_sockptr(gf32, optval, optlen)) goto out_free_p; @@ -261,14 +261,14 @@ static int compat_ipv6_set_mcast_msfilter(struct sock= *sk, sockptr_t optval, goto out_free_p; =20 ret =3D -EINVAL; - if (offsetof(struct compat_group_filter, gf_slist[n]) > optlen) + if (offsetof(struct compat_group_filter, gf_slist_flex[n]) > optlen) goto out_free_p; =20 ret =3D ip6_mc_msfilter(sk, &(struct group_filter){ .gf_interface =3D gf32->gf_interface, .gf_group =3D gf32->gf_group, .gf_fmode =3D gf32->gf_fmode, - .gf_numsrc =3D gf32->gf_numsrc}, gf32->gf_slist); + .gf_numsrc =3D gf32->gf_numsrc}, gf32->gf_slist_flex); =20 out_free_p: kfree(p); @@ -1051,7 +1051,7 @@ static int ipv6_getsockopt_sticky(struct sock *sk, st= ruct ipv6_txoptions *opt, static int ipv6_get_msfilter(struct sock *sk, void __user *optval, int __user *optlen, int len) { - const int size0 =3D offsetof(struct group_filter, gf_slist); + const int size0 =3D offsetof(struct group_filter, gf_slist_flex); struct group_filter __user *p =3D optval; struct group_filter gsf; int num; @@ -1065,7 +1065,7 @@ static int ipv6_get_msfilter(struct sock *sk, void __= user *optval, return -EADDRNOTAVAIL; num =3D gsf.gf_numsrc; lock_sock(sk); - err =3D ip6_mc_msfget(sk, &gsf, p->gf_slist); + err =3D ip6_mc_msfget(sk, &gsf, p->gf_slist_flex); if (!err) { if (num > gsf.gf_numsrc) num =3D gsf.gf_numsrc; @@ -1080,7 +1080,7 @@ static int ipv6_get_msfilter(struct sock *sk, void __= user *optval, static int compat_ipv6_get_msfilter(struct sock *sk, void __user *optval, int __user *optlen) { - const int size0 =3D offsetof(struct compat_group_filter, gf_slist); + const int size0 =3D offsetof(struct compat_group_filter, gf_slist_flex); struct compat_group_filter __user *p =3D optval; struct compat_group_filter gf32; struct group_filter gf; @@ -1103,7 +1103,7 @@ static int compat_ipv6_get_msfilter(struct sock *sk, = void __user *optval, return -EADDRNOTAVAIL; =20 lock_sock(sk); - err =3D ip6_mc_msfget(sk, &gf, p->gf_slist); + err =3D ip6_mc_msfget(sk, &gf, p->gf_slist_flex); release_sock(sk); if (err) return err; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B948517AFA6; Sun, 24 Mar 2024 23:42:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323731; cv=none; b=VrX4UzeoaSwNT6ISgZyAR+jOrZx9vbQsNW4Vlo5fAv+HvE/FKszky7HnexjHWhtE+4GzM5pFRo38lenWmV7WCfh5SuOWIvlAdaCRdnvZvIg02PVFlJmuSkSWhow5ObdrtmXsvIkKjlFY3UKLbyvLEcjUPZ/Og0DAxyoH8MhS+6k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323731; c=relaxed/simple; bh=WyfJLEpIpP2mlcQNBAXR0QanEuWmlGueOQTNKeAQ044=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hKfSYcRO5cgZbifA4H0+YclEDKdPPb9ujES4nP0xsX2po/3ukCXsfZv/f2jTfcwstejFZFrlfvN1pUt4sb+LvRFFASR79ybVfQRq6XSVV8P/is76yozzgfn0GP/rRITUGt2S9J1Ir/sYMBR9DsgL/+SJGebh0K1CdRUnr2WYngc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=P8NGYwXl; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="P8NGYwXl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03253C43390; Sun, 24 Mar 2024 23:42:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323730; bh=WyfJLEpIpP2mlcQNBAXR0QanEuWmlGueOQTNKeAQ044=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P8NGYwXliurlzVj7VWSDL4XdmrFnQPpkAxgLuwKjF6HCmxmLuKiVQsVfIvDfBVGus pdKAm/CaAb9ONFpUD1g0WvJbGW/F+sBkZo2k8QGxjWakkMtLHdvwBEbetJtUpK+NzJ ZRhqzDhpoGXG0Z5AzCv9QWYY2xesFLDU2dZd+/dbsQ8QexsEOnkjZtUdBuQKtuV5R2 D+xEFdghWo75a1xq0sjt3jabHwTlworoq0KcUOkc7oEnWbJBpoix90RkFEl+Lc4zG7 BHnv+ijWao0IS2yDrLFdhcpq/Shwc8drSRejIgo/sUvsSLEUeVmnn5MKw+uMj+mp/B 3U1ALq0Fzd5eQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Martin KaFai Lau , Alexei Starovoitov , Sasha Levin Subject: [PATCH 5.10 104/238] bpf: net: Change do_ip_getsockopt() to take the sockptr_t argument Date: Sun, 24 Mar 2024 19:38:12 -0400 Message-ID: <20240324234027.1354210-105-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Martin KaFai Lau [ Upstream commit 728f064cd7ebea8c182e99e6f152c8b4a0a6b071 ] Similar to the earlier patch that changes sk_getsockopt() to take the sockptr_t argument. This patch also changes do_ip_getsockopt() to take the sockptr_t argument such that a latter patch can make bpf_getsockopt(SOL_IP) to reuse do_ip_getsockopt(). Note on the change in ip_mc_gsfget(). This function is to return an array of sockaddr_storage in optval. This function is shared between ip_get_mcast_msfilter() and compat_ip_get_mcast_msfilter(). However, the sockaddr_storage is stored at different offset of the optval because of the difference between group_filter and compat_group_filter. Thus, a new 'ss_offset' argument is added to ip_mc_gsfget(). Signed-off-by: Martin KaFai Lau Link: https://lore.kernel.org/r/20220902002828.2890585-1-kafai@fb.com Signed-off-by: Alexei Starovoitov Stable-dep-of: 5c3be3e0eb44 ("ipmr: fix incorrect parameter validation in t= he ip_mroute_getsockopt() function") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/linux/igmp.h | 4 +-- include/linux/mroute.h | 6 ++-- net/ipv4/igmp.c | 22 +++++++----- net/ipv4/ip_sockglue.c | 80 ++++++++++++++++++++++++------------------ net/ipv4/ipmr.c | 9 ++--- 5 files changed, 68 insertions(+), 53 deletions(-) diff --git a/include/linux/igmp.h b/include/linux/igmp.h index 64ce8cd1cfaf1..4adab8ada85af 100644 --- a/include/linux/igmp.h +++ b/include/linux/igmp.h @@ -121,9 +121,9 @@ extern int ip_mc_source(int add, int omode, struct sock= *sk, struct ip_mreq_source *mreqs, int ifindex); extern int ip_mc_msfilter(struct sock *sk, struct ip_msfilter *msf,int ifi= ndex); extern int ip_mc_msfget(struct sock *sk, struct ip_msfilter *msf, - struct ip_msfilter __user *optval, int __user *optlen); + sockptr_t optval, sockptr_t optlen); extern int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf, - struct sockaddr_storage __user *p); + sockptr_t optval, size_t offset); extern int ip_mc_sf_allow(struct sock *sk, __be32 local, __be32 rmt, int dif, int sdif); extern void ip_mc_init_dev(struct in_device *); diff --git a/include/linux/mroute.h b/include/linux/mroute.h index 6cbbfe94348ce..80b8400ab8b24 100644 --- a/include/linux/mroute.h +++ b/include/linux/mroute.h @@ -17,7 +17,7 @@ static inline int ip_mroute_opt(int opt) } =20 int ip_mroute_setsockopt(struct sock *, int, sockptr_t, unsigned int); -int ip_mroute_getsockopt(struct sock *, int, char __user *, int __user *); +int ip_mroute_getsockopt(struct sock *, int, sockptr_t, sockptr_t); int ipmr_ioctl(struct sock *sk, int cmd, void __user *arg); int ipmr_compat_ioctl(struct sock *sk, unsigned int cmd, void __user *arg); int ip_mr_init(void); @@ -29,8 +29,8 @@ static inline int ip_mroute_setsockopt(struct sock *sock,= int optname, return -ENOPROTOOPT; } =20 -static inline int ip_mroute_getsockopt(struct sock *sock, int optname, - char __user *optval, int __user *optlen) +static inline int ip_mroute_getsockopt(struct sock *sk, int optname, + sockptr_t optval, sockptr_t optlen) { return -ENOPROTOOPT; } diff --git a/net/ipv4/igmp.c b/net/ipv4/igmp.c index 4ba1c92fb3524..f0a313747b950 100644 --- a/net/ipv4/igmp.c +++ b/net/ipv4/igmp.c @@ -2526,11 +2526,10 @@ int ip_mc_msfilter(struct sock *sk, struct ip_msfil= ter *msf, int ifindex) err =3D ip_mc_leave_group(sk, &imr); return err; } - int ip_mc_msfget(struct sock *sk, struct ip_msfilter *msf, - struct ip_msfilter __user *optval, int __user *optlen) + sockptr_t optval, sockptr_t optlen) { - int err, len, count, copycount; + int err, len, count, copycount, msf_size; struct ip_mreqn imr; __be32 addr =3D msf->imsf_multiaddr; struct ip_mc_socklist *pmc; @@ -2573,12 +2572,15 @@ int ip_mc_msfget(struct sock *sk, struct ip_msfilte= r *msf, copycount =3D count < msf->imsf_numsrc ? count : msf->imsf_numsrc; len =3D flex_array_size(psl, sl_addr, copycount); msf->imsf_numsrc =3D count; - if (put_user(IP_MSFILTER_SIZE(copycount), optlen) || - copy_to_user(optval, msf, IP_MSFILTER_SIZE(0))) { + msf_size =3D IP_MSFILTER_SIZE(copycount); + if (copy_to_sockptr(optlen, &msf_size, sizeof(int)) || + copy_to_sockptr(optval, msf, IP_MSFILTER_SIZE(0))) { return -EFAULT; } if (len && - copy_to_user(&optval->imsf_slist_flex[0], psl->sl_addr, len)) + copy_to_sockptr_offset(optval, + offsetof(struct ip_msfilter, imsf_slist_flex), + psl->sl_addr, len)) return -EFAULT; return 0; done: @@ -2586,7 +2588,7 @@ int ip_mc_msfget(struct sock *sk, struct ip_msfilter = *msf, } =20 int ip_mc_gsfget(struct sock *sk, struct group_filter *gsf, - struct sockaddr_storage __user *p) + sockptr_t optval, size_t ss_offset) { int i, count, copycount; struct sockaddr_in *psin; @@ -2616,15 +2618,17 @@ int ip_mc_gsfget(struct sock *sk, struct group_filt= er *gsf, count =3D psl ? psl->sl_count : 0; copycount =3D count < gsf->gf_numsrc ? count : gsf->gf_numsrc; gsf->gf_numsrc =3D count; - for (i =3D 0; i < copycount; i++, p++) { + for (i =3D 0; i < copycount; i++) { struct sockaddr_storage ss; =20 psin =3D (struct sockaddr_in *)&ss; memset(&ss, 0, sizeof(ss)); psin->sin_family =3D AF_INET; psin->sin_addr.s_addr =3D psl->sl_addr[i]; - if (copy_to_user(p, &ss, sizeof(ss))) + if (copy_to_sockptr_offset(optval, ss_offset, + &ss, sizeof(ss))) return -EFAULT; + ss_offset +=3D sizeof(ss); } return 0; } diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index 9bea014309ded..b300d0988d525 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -1460,37 +1460,37 @@ static bool getsockopt_needs_rtnl(int optname) return false; } =20 -static int ip_get_mcast_msfilter(struct sock *sk, void __user *optval, - int __user *optlen, int len) +static int ip_get_mcast_msfilter(struct sock *sk, sockptr_t optval, + sockptr_t optlen, int len) { const int size0 =3D offsetof(struct group_filter, gf_slist_flex); - struct group_filter __user *p =3D optval; struct group_filter gsf; - int num; + int num, gsf_size; int err; =20 if (len < size0) return -EINVAL; - if (copy_from_user(&gsf, p, size0)) + if (copy_from_sockptr(&gsf, optval, size0)) return -EFAULT; =20 num =3D gsf.gf_numsrc; - err =3D ip_mc_gsfget(sk, &gsf, p->gf_slist_flex); + err =3D ip_mc_gsfget(sk, &gsf, optval, + offsetof(struct group_filter, gf_slist_flex)); if (err) return err; if (gsf.gf_numsrc < num) num =3D gsf.gf_numsrc; - if (put_user(GROUP_FILTER_SIZE(num), optlen) || - copy_to_user(p, &gsf, size0)) + gsf_size =3D GROUP_FILTER_SIZE(num); + if (copy_to_sockptr(optlen, &gsf_size, sizeof(int)) || + copy_to_sockptr(optval, &gsf, size0)) return -EFAULT; return 0; } =20 -static int compat_ip_get_mcast_msfilter(struct sock *sk, void __user *optv= al, - int __user *optlen, int len) +static int compat_ip_get_mcast_msfilter(struct sock *sk, sockptr_t optval, + sockptr_t optlen, int len) { const int size0 =3D offsetof(struct compat_group_filter, gf_slist_flex); - struct compat_group_filter __user *p =3D optval; struct compat_group_filter gf32; struct group_filter gf; int num; @@ -1498,7 +1498,7 @@ static int compat_ip_get_mcast_msfilter(struct sock *= sk, void __user *optval, =20 if (len < size0) return -EINVAL; - if (copy_from_user(&gf32, p, size0)) + if (copy_from_sockptr(&gf32, optval, size0)) return -EFAULT; =20 gf.gf_interface =3D gf32.gf_interface; @@ -1506,21 +1506,24 @@ static int compat_ip_get_mcast_msfilter(struct sock= *sk, void __user *optval, num =3D gf.gf_numsrc =3D gf32.gf_numsrc; gf.gf_group =3D gf32.gf_group; =20 - err =3D ip_mc_gsfget(sk, &gf, p->gf_slist_flex); + err =3D ip_mc_gsfget(sk, &gf, optval, + offsetof(struct compat_group_filter, gf_slist_flex)); if (err) return err; if (gf.gf_numsrc < num) num =3D gf.gf_numsrc; len =3D GROUP_FILTER_SIZE(num) - (sizeof(gf) - sizeof(gf32)); - if (put_user(len, optlen) || - put_user(gf.gf_fmode, &p->gf_fmode) || - put_user(gf.gf_numsrc, &p->gf_numsrc)) + if (copy_to_sockptr(optlen, &len, sizeof(int)) || + copy_to_sockptr_offset(optval, offsetof(struct compat_group_filter, g= f_fmode), + &gf.gf_fmode, sizeof(gf.gf_fmode)) || + copy_to_sockptr_offset(optval, offsetof(struct compat_group_filter, g= f_numsrc), + &gf.gf_numsrc, sizeof(gf.gf_numsrc))) return -EFAULT; return 0; } =20 static int do_ip_getsockopt(struct sock *sk, int level, int optname, - char __user *optval, int __user *optlen) + sockptr_t optval, sockptr_t optlen) { struct inet_sock *inet =3D inet_sk(sk); bool needs_rtnl =3D getsockopt_needs_rtnl(optname); @@ -1533,7 +1536,7 @@ static int do_ip_getsockopt(struct sock *sk, int leve= l, int optname, if (ip_mroute_opt(optname)) return ip_mroute_getsockopt(sk, optname, optval, optlen); =20 - if (get_user(len, optlen)) + if (copy_from_sockptr(&len, optlen, sizeof(int))) return -EFAULT; if (len < 0) return -EINVAL; @@ -1558,15 +1561,17 @@ static int do_ip_getsockopt(struct sock *sk, int le= vel, int optname, inet_opt->opt.optlen); release_sock(sk); =20 - if (opt->optlen =3D=3D 0) - return put_user(0, optlen); + if (opt->optlen =3D=3D 0) { + len =3D 0; + return copy_to_sockptr(optlen, &len, sizeof(int)); + } =20 ip_options_undo(opt); =20 len =3D min_t(unsigned int, len, opt->optlen); - if (put_user(len, optlen)) + if (copy_to_sockptr(optlen, &len, sizeof(int))) return -EFAULT; - if (copy_to_user(optval, opt->__data, len)) + if (copy_to_sockptr(optval, opt->__data, len)) return -EFAULT; return 0; } @@ -1657,9 +1662,9 @@ static int do_ip_getsockopt(struct sock *sk, int leve= l, int optname, addr.s_addr =3D inet->mc_addr; release_sock(sk); =20 - if (put_user(len, optlen)) + if (copy_to_sockptr(optlen, &len, sizeof(int))) return -EFAULT; - if (copy_to_user(optval, &addr, len)) + if (copy_to_sockptr(optval, &addr, len)) return -EFAULT; return 0; } @@ -1671,12 +1676,11 @@ static int do_ip_getsockopt(struct sock *sk, int le= vel, int optname, err =3D -EINVAL; goto out; } - if (copy_from_user(&msf, optval, IP_MSFILTER_SIZE(0))) { + if (copy_from_sockptr(&msf, optval, IP_MSFILTER_SIZE(0))) { err =3D -EFAULT; goto out; } - err =3D ip_mc_msfget(sk, &msf, - (struct ip_msfilter __user *)optval, optlen); + err =3D ip_mc_msfget(sk, &msf, optval, optlen); goto out; } case MCAST_MSFILTER: @@ -1698,8 +1702,13 @@ static int do_ip_getsockopt(struct sock *sk, int lev= el, int optname, if (sk->sk_type !=3D SOCK_STREAM) return -ENOPROTOOPT; =20 - msg.msg_control_is_user =3D true; - msg.msg_control_user =3D optval; + if (optval.is_kernel) { + msg.msg_control_is_user =3D false; + msg.msg_control =3D optval.kernel; + } else { + msg.msg_control_is_user =3D true; + msg.msg_control_user =3D optval.user; + } msg.msg_controllen =3D len; msg.msg_flags =3D in_compat_syscall() ? MSG_CMSG_COMPAT : 0; =20 @@ -1720,7 +1729,7 @@ static int do_ip_getsockopt(struct sock *sk, int leve= l, int optname, put_cmsg(&msg, SOL_IP, IP_TOS, sizeof(tos), &tos); } len -=3D msg.msg_controllen; - return put_user(len, optlen); + return copy_to_sockptr(optlen, &len, sizeof(int)); } case IP_FREEBIND: val =3D inet->freebind; @@ -1743,15 +1752,15 @@ static int do_ip_getsockopt(struct sock *sk, int le= vel, int optname, if (len < sizeof(int) && len > 0 && val >=3D 0 && val <=3D 255) { unsigned char ucval =3D (unsigned char)val; len =3D 1; - if (put_user(len, optlen)) + if (copy_to_sockptr(optlen, &len, sizeof(int))) return -EFAULT; - if (copy_to_user(optval, &ucval, 1)) + if (copy_to_sockptr(optval, &ucval, 1)) return -EFAULT; } else { len =3D min_t(unsigned int, sizeof(int), len); - if (put_user(len, optlen)) + if (copy_to_sockptr(optlen, &len, sizeof(int))) return -EFAULT; - if (copy_to_user(optval, &val, len)) + if (copy_to_sockptr(optval, &val, len)) return -EFAULT; } return 0; @@ -1768,7 +1777,8 @@ int ip_getsockopt(struct sock *sk, int level, { int err; =20 - err =3D do_ip_getsockopt(sk, level, optname, optval, optlen); + err =3D do_ip_getsockopt(sk, level, optname, + USER_SOCKPTR(optval), USER_SOCKPTR(optlen)); =20 #if IS_ENABLED(CONFIG_BPFILTER_UMH) if (optname >=3D BPFILTER_IPT_SO_GET_INFO && diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index be1976536f1c0..cdc0a1781fd28 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c @@ -1540,7 +1540,8 @@ int ip_mroute_setsockopt(struct sock *sk, int optname= , sockptr_t optval, } =20 /* Getsock opt support for the multicast routing system. */ -int ip_mroute_getsockopt(struct sock *sk, int optname, char __user *optval= , int __user *optlen) +int ip_mroute_getsockopt(struct sock *sk, int optname, sockptr_t optval, + sockptr_t optlen) { int olr; int val; @@ -1571,14 +1572,14 @@ int ip_mroute_getsockopt(struct sock *sk, int optna= me, char __user *optval, int return -ENOPROTOOPT; } =20 - if (get_user(olr, optlen)) + if (copy_from_sockptr(&olr, optlen, sizeof(int))) return -EFAULT; olr =3D min_t(unsigned int, olr, sizeof(int)); if (olr < 0) return -EINVAL; - if (put_user(olr, optlen)) + if (copy_to_sockptr(optlen, &olr, sizeof(int))) return -EFAULT; - if (copy_to_user(optval, &val, olr)) + if (copy_to_sockptr(optval, &val, olr)) return -EFAULT; return 0; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5A5D4502F; Sun, 24 Mar 2024 23:42:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323732; cv=none; b=OiT8ee4EoHgkP8D1NXYRjsxCYprnmYupVeRdxaXnPzfApykRXcy34kLwlDqsyyuqAjJHFJ3Ax3YhrSLOixu/RxMPkTmNg728X2m66bZSF3NKLpyVV1b8wS40LscLxT+yFd9dcc+PfrDPkstUrjWNyKt4cDE97hMkM4HE8BHDzPI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323732; c=relaxed/simple; bh=v2Qyu6q2veWbVwn5KD8cFkjNZD8lTAkqpln0vQw4LS0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JRM+Qdj6WnmrAeXikyfB2b3WxIXcXmyl3mStjW9cQEbfbADvTMwBqgnKgJmB/KXwoE7u5xB6cQ2dcBy+qFmr49u8zTPluMMHX62C4t0rsLHwgSKqltKvqkvE0MT4yrAjvpNDM0ycqy2eFRuOAn1T50VNU5no7qcI+CkXKXxW5p0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RqygQOFO; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="RqygQOFO" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DD915C43330; Sun, 24 Mar 2024 23:42:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323731; bh=v2Qyu6q2veWbVwn5KD8cFkjNZD8lTAkqpln0vQw4LS0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RqygQOFOSIwsmWUGU9F95A9LXBTTGXe0XQ3NUXSOwCqMi+Y0LK3SxDmLxQuOsbK7n 6oJTQf0vl+WjtpQryOVVcOOsq45xljRtolBLOSzEATHzQctc2EsyXcy3eQ9wsam2oS 4/ygA+RJtOdJh6q3q0VwkDvjtqBYzpmrtTB/xr5C/0cjdJ8JKMqwUswplx8qX0ZrSJ gAlPlIUoJo0SYPr8STl4Rj5Ms/EXt3OYjDhKHXN/Aejp0nutGiXev1b3kgYcfhK0fV 8Ty8HPaRHjax/vtVXEzXf2HI+EDdb0D8yC7F8/ciKae3zdliXm1ZLsHmb9NsyYNcAi MMp+OG++b89GA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Gavrilov Ilia , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 105/238] ipmr: fix incorrect parameter validation in the ip_mroute_getsockopt() function Date: Sun, 24 Mar 2024 19:38:13 -0400 Message-ID: <20240324234027.1354210-106-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gavrilov Ilia [ Upstream commit 5c3be3e0eb44b7f978bb6cbb20ad956adb93f736 ] The 'olr' variable can't be negative when assigned the result of 'min_t' because all 'min_t' parameters are cast to unsigned int, and then the minimum one is chosen. To fix the logic, check 'olr' as read from 'optlen', where the types of relevant variables are (signed) int. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Gavrilov Ilia Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/ipv4/ipmr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/net/ipv4/ipmr.c b/net/ipv4/ipmr.c index cdc0a1781fd28..db184cb826b95 100644 --- a/net/ipv4/ipmr.c +++ b/net/ipv4/ipmr.c @@ -1574,9 +1574,11 @@ int ip_mroute_getsockopt(struct sock *sk, int optnam= e, sockptr_t optval, =20 if (copy_from_sockptr(&olr, optlen, sizeof(int))) return -EFAULT; - olr =3D min_t(unsigned int, olr, sizeof(int)); if (olr < 0) return -EINVAL; + + olr =3D min_t(unsigned int, olr, sizeof(int)); + if (copy_to_sockptr(optlen, &olr, sizeof(int))) return -EFAULT; if (copy_to_sockptr(optval, &val, olr)) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9B02B17AFB7; Sun, 24 Mar 2024 23:42:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323733; cv=none; b=n34XFQIk0MLozDF7YTDtRGuvuQNWYRiPT5WN2J6bwmlRlQ/tH74WVGHtY9htBbJRJQecsZJCXMdsgoRzgWsLIHwv1h5iNhWDYEh+r6X6u+BYBgrhLfyA0HqCbsc/FrZ9hEf04Y3Hxckc7ztcYvBwrYd+ilIvpPGtq3JeVpTlcYg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323733; c=relaxed/simple; bh=gqPHBBF2ax2icTiLyCdAlg2u8IRmIS8YXsj+rVQeX6M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CkRdOpng9xVuOqe1dz8NhzVLPsazokmJmuXoyGR/nIZQSAYqYy4oulnmAXEjS5NlXZQKn89bENtq2VUeW6eTOdCihkJjlznz/zqOWrTwKRyAvzr/7PewhzkDvRGHYHzX4/NL2vHLVs+JJtjFi5qS3xG1vs+SeGObJg4AmuXmkL4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Jn7Z5jjI; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Jn7Z5jjI" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0ECFC433F1; Sun, 24 Mar 2024 23:42:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323732; bh=gqPHBBF2ax2icTiLyCdAlg2u8IRmIS8YXsj+rVQeX6M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Jn7Z5jjIbfWwPpbQ2GNQvyjMECMcTs9JMm2egVSdTpI2WWHpmtdZ4H3Vv5uBt1eJD 8onSc/S1a1F/32p8EICRTjFUIJpnQYtP5zq02jlCTOgb7Z7bHZfEgzMkn1RqBDUPKF HnvTpBjwKCokvjynY1jQMD1gOIrcuJe/iFI3mwYnf9CdXWVpka/Hkjf76vruJ5xI6h U0wV9Btg6MFqU8ZF7OWvaaF0M23oURfoNa5ITTjFrpKVgXlacF5O7Q1AWz3eRsjtJD RoBLOcg7t2i6Z3+sD+MdbjLkozplaFEkqS/A9iX5Lpav/mr+ENhaGc1vseRncodEiA ingXpsLSjGy6Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Gavrilov Ilia , Tom Parkin , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 106/238] l2tp: fix incorrect parameter validation in the pppol2tp_getsockopt() function Date: Sun, 24 Mar 2024 19:38:14 -0400 Message-ID: <20240324234027.1354210-107-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gavrilov Ilia [ Upstream commit 955e9876ba4ee26eeaab1b13517f5b2c88e73d55 ] The 'len' variable can't be negative when assigned the result of 'min_t' because all 'min_t' parameters are cast to unsigned int, and then the minimum one is chosen. To fix the logic, check 'len' as read from 'optlen', where the types of relevant variables are (signed) int. Fixes: 3557baabf280 ("[L2TP]: PPP over L2TP driver core") Reviewed-by: Tom Parkin Signed-off-by: Gavrilov Ilia Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/l2tp/l2tp_ppp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c index 5ecc0f2009444..b1d89c850f686 100644 --- a/net/l2tp/l2tp_ppp.c +++ b/net/l2tp/l2tp_ppp.c @@ -1357,11 +1357,11 @@ static int pppol2tp_getsockopt(struct socket *sock,= int level, int optname, if (get_user(len, optlen)) return -EFAULT; =20 - len =3D min_t(unsigned int, len, sizeof(int)); - if (len < 0) return -EINVAL; =20 + len =3D min_t(unsigned int, len, sizeof(int)); + err =3D -ENOTCONN; if (!sk->sk_user_data) goto end; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 92D6C5C60D; Sun, 24 Mar 2024 23:42:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323733; cv=none; b=eoFK6VvNHuV0bx/FH50xWqR59zGTQMlzvX14FoRNtSWszgmJE15beEQUmsHplhcXyW5n/hMRcqWRrTBrD3I4qyqiNV6MSbgkvNtKulMTk82fe1kXysKWY4SVoRPuQuPRsOMqShBznfUybf8g9YWe11yA/c6QQt3zTnRWMiCXMQs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323733; c=relaxed/simple; bh=D5Tipd9xo1HJm1VvdgmJe7YzPbbv3V3wVv5yCSQb65w=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S51/1H+9G5yB3N8GrQ8/2JxpuEHrO45h9iBkh9MvijlW02HxH8VqlrHfW3rYH1bDQFptgZ68DerqoNv/w0EmAUW9p9pnLnKTerkMGhjCNwlIbgpYsLJzJsvwcnX7b7T0S5yh2IHZP/N4bq095JGpBxB+wnZZGenDsviiBq3LgU8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rb6ORpPB; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rb6ORpPB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BD306C43394; Sun, 24 Mar 2024 23:42:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323733; bh=D5Tipd9xo1HJm1VvdgmJe7YzPbbv3V3wVv5yCSQb65w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rb6ORpPBrYBfVyHCAcEtCooZxITYGErnNCJUewKWpEezSHlOZbcIXcETSyGFxqnSe //XL+v1X81ItP/SwNRtZIg/AE5ILzLGuhUAq9reL9t4wUqPFwt0WYIhlJEe2dX0z43 odf5B9FcV0nSu63s45/0FH+SZrLGA1PyX1my8HdqP86/84GX0TsjO703DpnPwu9TZn +pCZXM8ed63lRslwshqU3za9uBa1WRFI3HCHB6kRq8U0hRgKQEz+Iu0ufqx1B2pBMi irYF3ZJds/uVZpaHD+9zEBdlyNRY/q+BaFiMPta4eUUHfwUc+Jk7Fuy97El/vW1Oqn Ox7kDaVkmS7pw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Gavrilov Ilia , Willem de Bruijn , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 107/238] udp: fix incorrect parameter validation in the udp_lib_getsockopt() function Date: Sun, 24 Mar 2024 19:38:15 -0400 Message-ID: <20240324234027.1354210-108-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gavrilov Ilia [ Upstream commit 4bb3ba7b74fceec6f558745b25a43c6521cf5506 ] The 'len' variable can't be negative when assigned the result of 'min_t' because all 'min_t' parameters are cast to unsigned int, and then the minimum one is chosen. To fix the logic, check 'len' as read from 'optlen', where the types of relevant variables are (signed) int. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Reviewed-by: Willem de Bruijn Signed-off-by: Gavrilov Ilia Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/ipv4/udp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index 476f79f1563a8..b2541c7d7c87f 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -2748,11 +2748,11 @@ int udp_lib_getsockopt(struct sock *sk, int level, = int optname, if (get_user(len, optlen)) return -EFAULT; =20 - len =3D min_t(unsigned int, len, sizeof(int)); - if (len < 0) return -EINVAL; =20 + len =3D min_t(unsigned int, len, sizeof(int)); + switch (optname) { case UDP_CORK: val =3D READ_ONCE(up->corkflag); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 779C617AFBD; Sun, 24 Mar 2024 23:42:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323735; cv=none; b=ZKJtXN0+FPzqHb6mF+HvGmxd2Yn05+/8rjF6iUS0jGeui3DKBD+fT3vV35er5ueF43NN+7ykYFtHyNv2zydc3tLND6+Zwr1mNJv5K438zWRlKxUMUFINOP+dTMe/6AhrNIUYschlrJI4X93hqUf/BxLvvY49Dm/T0JCqgvVX2zI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323735; c=relaxed/simple; bh=y0C9wDt/PoG/I56N8RTFN9zd2/fgM9X7VUPWELxLLUY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mqO1jP8yftwXcHDSfi9KF1yVGw7f1RNRuR88r8V2u+kWaHMpoycnBqCwX2uIDW5gwnz5Dh3VVjiiVxO6sy8pjEKaGrFHgXuJ48CyhrCV2AXzalzA53ugk8xvtvsYckoFCLReOc4yF+v8S0XFuor1Ufv5mVmgLm+8ZvQDftRXURI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gfwApZ/V; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gfwApZ/V" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B7BD5C433B2; Sun, 24 Mar 2024 23:42:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323734; bh=y0C9wDt/PoG/I56N8RTFN9zd2/fgM9X7VUPWELxLLUY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gfwApZ/VL56svfYv2gbYbeMWdI7b3x+6uey2rvjok4bXSOssuSU/ddVhCmCpTv8YQ sn/7vl2YJbI6nGK+4xRiBVz95SpcPeEo7v2K1VF+lyKOqEKEU9S+NFdkRAnDd75+jD kTBq0w6cOVHSjSQkFKfueopFLoF7Yf90SP7lLkxFFCAPZBYORBcbi4rUGkAVo2Pfvn 5HegUzmk83BP8L4DyXZBJ9tA/naNvCM8BIaHPOhd2B9d6R9iZWhlccNS86vuxHoChO E7+6/XHny36LQOaGaNi7VZsKuYKbrfRmlpc6345t4mCdYVjBs6vlDwBZH9TnO9DWKo +/kFsiefo56qg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Gavrilov Ilia , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 108/238] net: kcm: fix incorrect parameter validation in the kcm_getsockopt) function Date: Sun, 24 Mar 2024 19:38:16 -0400 Message-ID: <20240324234027.1354210-109-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gavrilov Ilia [ Upstream commit 3ed5f415133f9b7518fbe55ba9ae9a3f5e700929 ] The 'len' variable can't be negative when assigned the result of 'min_t' because all 'min_t' parameters are cast to unsigned int, and then the minimum one is chosen. To fix the logic, check 'len' as read from 'optlen', where the types of relevant variables are (signed) int. Fixes: ab7ac4eb9832 ("kcm: Kernel Connection Multiplexor module") Signed-off-by: Gavrilov Ilia Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/kcm/kcmsock.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c index 39b3c7fbf9f66..7420b4f19b45e 100644 --- a/net/kcm/kcmsock.c +++ b/net/kcm/kcmsock.c @@ -1275,10 +1275,11 @@ static int kcm_getsockopt(struct socket *sock, int = level, int optname, if (get_user(len, optlen)) return -EFAULT; =20 - len =3D min_t(unsigned int, len, sizeof(int)); if (len < 0) return -EINVAL; =20 + len =3D min_t(unsigned int, len, sizeof(int)); + switch (optname) { case KCM_RECV_DISABLE: val =3D kcm->rx_disabled; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5DFC75C612; Sun, 24 Mar 2024 23:42:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323735; cv=none; b=DYSt9AjuyiUM5WcRj7mJ52M2c29r5ytwppC6vkHSWaqyugFEtVDK/kt/P7CMG6jMdobu4OFG2FBjIzbZ0f6IH/3WCKJ4zQH71II3yaYQGh3GleDxwKfbsNomh/b5r27vpNYLkbsA1KryXmpXhN2bX5jCj+TpK6uClRt5K+Vq8Xo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323735; c=relaxed/simple; bh=b/wMywr+EGLN30fL09KtdBNQj6X+lx9C77tGafzwHN4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hvEBCjgF6FdAMy/GoXSa8+nANadheNsC4+iscOJ6jH96hHUIgbmSx3vnb8LL4rtGE/m0A8wx645rTrXOac2z31UkYIt8hApH5DfIClJblY5gnxXCpPUpg1uPwz/DeVZJC48LEuZDsaY6g7InxgFgeAGhiVuGOkRk4hMKZFHxJBg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JdnD/51P; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JdnD/51P" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99C3CC43394; Sun, 24 Mar 2024 23:42:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323735; bh=b/wMywr+EGLN30fL09KtdBNQj6X+lx9C77tGafzwHN4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JdnD/51P+w4MtdeO1ws9YnDqYwClXEDlI/a5ggIqLhig8feQwPA6KGZ/lbC0+vd12 x+axgdKVVerc+/t+qqBVuooBEx1Sc4UBEj0n6Fw+49THq9/KBJQCFHALgIHCbgxLE3 pku61c39wRD4xDJVnVvh1jKqaMs9AoFfNWDj+KpLigGKmGnRRvXQVrPXtEu4gz7SXv dBeemMiSOeRG9cRQILef78WawyrBJLgNdAtigb3psPIlLi8w8N0B76hl89MnbyF+4A srbqf4Op7qhPYg4QLBmehCdztR4JPXJezlHL0UDtFmUm6mg8mpGxiIF2ayqeK5+ZQk xEDgxheJN0kmg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Gavrilov Ilia , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 109/238] net/x25: fix incorrect parameter validation in the x25_getsockopt() function Date: Sun, 24 Mar 2024 19:38:17 -0400 Message-ID: <20240324234027.1354210-110-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gavrilov Ilia [ Upstream commit d6eb8de2015f0c24822e47356f839167ebde2945 ] The 'len' variable can't be negative when assigned the result of 'min_t' because all 'min_t' parameters are cast to unsigned int, and then the minimum one is chosen. To fix the logic, check 'len' as read from 'optlen', where the types of relevant variables are (signed) int. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Gavrilov Ilia Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/x25/af_x25.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c index 161dc194e6342..a7ecf2956cdd6 100644 --- a/net/x25/af_x25.c +++ b/net/x25/af_x25.c @@ -470,12 +470,12 @@ static int x25_getsockopt(struct socket *sock, int le= vel, int optname, if (get_user(len, optlen)) goto out; =20 - len =3D min_t(unsigned int, len, sizeof(int)); - rc =3D -EINVAL; if (len < 0) goto out; =20 + len =3D min_t(unsigned int, len, sizeof(int)); + rc =3D -EFAULT; if (put_user(len, optlen)) goto out; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5992D282A65; Sun, 24 Mar 2024 23:42:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323737; cv=none; b=E86YUOO096uMYT0wLpZJ0ijcKXDuArCbZtUoyMShvf6c7Ecdp/43Osvxu8XDkEXFLXs46AkOY2PSnW94ehhh2fai0dubEgj5VjX5G2DJCAhYwbLNKCYwzzKLb6ElQocQcTECNywlB8FNg/680zhaqEit1Ykv/OD8wUe0ZYKYDhg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323737; c=relaxed/simple; bh=ir/H48WBd9iJTs/xTH8Oz5/Qn+uxWcc9t3DZeEZ5L6g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ilZAMUKu9FOiXnncUyIqmMLi88cPj9ObkWNGPdwe0BwTMovACP8xfCdUSwgP9rx2EhdiRvOdZxP0a1hPQQ3vyt+pBxcuqmcEKlZZ3DcPpDFQk565TDTQ6TCrNWGYzI9zMCz2q9cVPeC/BrBnfqQ57h3nVu5KSkq6gBaU5we/Lqg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Eb0giwWT; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Eb0giwWT" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 80781C433F1; Sun, 24 Mar 2024 23:42:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323736; bh=ir/H48WBd9iJTs/xTH8Oz5/Qn+uxWcc9t3DZeEZ5L6g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Eb0giwWTWOwi77p0b6ZD+ZZu+vlxq/ZEEYvX0V6Ngt+6fWvvNihq9BrPoi/O0Nlf4 /S0K0yR/SJvyKDFx0YUwX8tXl1kXf9Gzw05aNW2lpKj31r+Znz1Z1DSJBH3KhCXcoi MPOFxtPA8e5+lzj3bvstvpnfDEsuPAwOwLybxNGEyCwNcWEmtobSidlSiw0BtscHzI g57m5LtJa/XL7UXL3iZb3fjf0YMf/UGYwNkeMdL1N3/Oq/NpeQI4reBAA2VgbsAjlB IRsyWVCEUG4DvozD3Bv/XX3vg7u96+390fJV2amXLlsrUbMA3c7g9gW+yVAFusqO9M DLXmQ3Od7i5tg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Duoming Zhou , Louis Peens , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.10 110/238] nfp: flower: handle acti_netdevs allocation failure Date: Sun, 24 Mar 2024 19:38:18 -0400 Message-ID: <20240324234027.1354210-111-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Duoming Zhou [ Upstream commit 84e95149bd341705f0eca6a7fcb955c548805002 ] The kmalloc_array() in nfp_fl_lag_do_work() will return null, if the physical memory has run out. As a result, if we dereference the acti_netdevs, the null pointer dereference bugs will happen. This patch adds a check to judge whether allocation failure occurs. If it happens, the delayed work will be rescheduled and try again. Fixes: bb9a8d031140 ("nfp: flower: monitor and offload LAG groups") Signed-off-by: Duoming Zhou Reviewed-by: Louis Peens Link: https://lore.kernel.org/r/20240308142540.9674-1-duoming@zju.edu.cn Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/ethernet/netronome/nfp/flower/lag_conf.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/ethernet/netronome/nfp/flower/lag_conf.c b/drivers= /net/ethernet/netronome/nfp/flower/lag_conf.c index 63907aeb3884e..3167f9675ae0f 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/lag_conf.c +++ b/drivers/net/ethernet/netronome/nfp/flower/lag_conf.c @@ -308,6 +308,11 @@ static void nfp_fl_lag_do_work(struct work_struct *wor= k) =20 acti_netdevs =3D kmalloc_array(entry->slave_cnt, sizeof(*acti_netdevs), GFP_KERNEL); + if (!acti_netdevs) { + schedule_delayed_work(&lag->work, + NFP_FL_LAG_DELAY); + continue; + } =20 /* Include sanity check in the loop. It may be that a bond has * changed between processing the last notification and the --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 552E7282A60; Sun, 24 Mar 2024 23:42:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323738; cv=none; b=ITMem/HVdnKFyTabE9hM3kA6CymLSzOrzlhgfHZFfEqT+XEhWK/KN5Iasi4FJigIZLxTNFAHGfl5p6JPDPBW/0xLFQd7C4dVIKqh1fRfO8zmRPTuiLMMf0SKpcsie7IHwSFj2Xhk30pPnPd7u9wFMz6fzO7e8bFguHrZrEgaIHo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323738; c=relaxed/simple; bh=KM87Xwe8+UKkpGiWc+ZVcMH17sbsmgKLsPwheUARK3g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AtH+bUyw5nlDlNcVsOqYXHhqyjCcOjcaacR8e7gQoQ1huaIgUecA0MUryIIAD06XPwXjDlGTkDmJkB+U6tm+3ROc1IoTF10dmowtWcRlJb57pU99wFboL17OzB0V8h/YPq6aZJkib1LvfErZiKBqSQxPutn6WpRCIMCh95U11ag= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sFCzHHe2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="sFCzHHe2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7BE87C43399; Sun, 24 Mar 2024 23:42:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323737; bh=KM87Xwe8+UKkpGiWc+ZVcMH17sbsmgKLsPwheUARK3g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=sFCzHHe2fIairCOZEMwh8LSFWRuTtz84hJxz7HSSYVdT4unrj1/KDGIk8OERFB7dq PHz358rPm2Oj7WJQ0EPGWWtOrn8NCuoLHukSU6oB3H3WTRTWV1Zlz+VKQm4rV+j+N1 ZZdYETq1Mh4VYeApslFjYdwgBTzvyjWeoxO+vjzvGV3xZtqabwb4nVcAngOVZinuZH 6Duiugh65D4gQcOjfjmjU5rb/QiJwmc6LMTkgObk4VrKZy9zzosonTn0VC8UZbK68+ MzimEjfQe7uXREX7i6WNk/EL9DuQgeIkOY+coKqJncBsz7vWodtKTzHYSJRXOYvUrY 878Mel1jAr6vA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ming Lei , Patrick Plenefisch , Mike Snitzer , Sasha Levin Subject: [PATCH 5.10 111/238] dm raid: fix false positive for requeue needed during reshape Date: Sun, 24 Mar 2024 19:38:19 -0400 Message-ID: <20240324234027.1354210-112-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ming Lei [ Upstream commit b25b8f4b8ecef0f48c05f0c3572daeabefe16526 ] An empty flush doesn't have a payload, so it should never be looked at when considering to possibly requeue a bio for the case when a reshape is in progress. Fixes: 9dbd1aa3a81c ("dm raid: add reshaping support to the target") Reported-by: Patrick Plenefisch Signed-off-by: Ming Lei Signed-off-by: Mike Snitzer Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/md/dm-raid.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c index 140bdf2a6ee11..e523ecdf947f4 100644 --- a/drivers/md/dm-raid.c +++ b/drivers/md/dm-raid.c @@ -3329,14 +3329,14 @@ static int raid_map(struct dm_target *ti, struct bi= o *bio) struct mddev *mddev =3D &rs->md; =20 /* - * If we're reshaping to add disk(s)), ti->len and + * If we're reshaping to add disk(s), ti->len and * mddev->array_sectors will differ during the process * (ti->len > mddev->array_sectors), so we have to requeue * bios with addresses > mddev->array_sectors here or * there will occur accesses past EOD of the component * data images thus erroring the raid set. */ - if (unlikely(bio_end_sector(bio) > mddev->array_sectors)) + if (unlikely(bio_has_data(bio) && bio_end_sector(bio) > mddev->array_sect= ors)) return DM_MAPIO_REQUEUE; =20 md_handle_request(mddev, bio); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3919D282A74; Sun, 24 Mar 2024 23:42:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323739; cv=none; b=uE8cuBKHHo9Tr/rcgTNVu4gIRXtHZbVp3MxcIVSTXpn9xzDL09FY+uTpFLrG3ehXTekXMbGfVuBNeEE7wsVxyoOcHN8CcELaIdEAHAvkqAUhpb+GR4Jr4IcTAwyOZgb7xy/VqVJLKDFHeM8BCo6ZsInoy0jYDLO1iE+kXODb8O0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323739; c=relaxed/simple; bh=+RqRYV2NYG1NoiMrMCsLjRQDW69XNgVdsN7s/z6YTYc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nrOSCBCVJduFFSGhJ0hHjC11nLiOoaU84eQf8H4Vv4vP2dft8pevzwO/j6IJCazLaIrk7dZ8nxV5rLIKoip8ZaeNymqHuuYzJmEkrOlrz6fQYdYq4lyJ7gmShRaLu+j+DVNFYoW5vqrk+LJ4Y2fNuDntyS8nTThDWKE9Q6KHa30= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JJKm/Fw8; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JJKm/Fw8" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 78F65C433C7; Sun, 24 Mar 2024 23:42:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323738; bh=+RqRYV2NYG1NoiMrMCsLjRQDW69XNgVdsN7s/z6YTYc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JJKm/Fw8IFzZgT8bhhc/oCxpIZugvNRDSe4OWi2+ResuUJfxRd6r/+O1vUtJkmZYQ KWw1J56XKEIC/zfxknqoXCxX4KAQnnSJWrJvWHMDzyU0yWCmzRn8/oc0t54qgAxDvU dvqTZUwK6kJLorGbZ7X3fhwdlv5d9AljCSajAZx6Tu1lOgf0KMy72I3MOqrBPUz498 VQzh6mDTrM1hhe8MwbVEMzJoCG96eGC7S1LrJXZK7efRJeVK3CtzqsJj1Vjky986SO 3pcf5H09Jj7XIBIBTWT/cuyvuvQl57Wi9M8O6yw98MoT2b+aj6KDUHgYlcG3tCDRhx tmAiUrmxRme6Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mikulas Patocka , Mike Snitzer , Sasha Levin Subject: [PATCH 5.10 112/238] dm: call the resume method on internal suspend Date: Sun, 24 Mar 2024 19:38:20 -0400 Message-ID: <20240324234027.1354210-113-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikulas Patocka [ Upstream commit 65e8fbde64520001abf1c8d0e573561b4746ef38 ] There is this reported crash when experimenting with the lvm2 testsuite. The list corruption is caused by the fact that the postsuspend and resume methods were not paired correctly; there were two consecutive calls to the origin_postsuspend function. The second call attempts to remove the "hash_list" entry from a list, while it was already removed by the first call. Fix __dm_internal_resume so that it calls the preresume and resume methods of the table's targets. If a preresume method of some target fails, we are in a tricky situation. We can't return an error because dm_internal_resume isn't supposed to return errors. We can't return success, because then the "resume" and "postsuspend" methods would not be paired correctly. So, we set the DMF_SUSPENDED flag and we fake normal suspend - it may confuse userspace tools, but it won't cause a kernel crash. Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot ------------[ cut here ]------------ kernel BUG at lib/list_debug.c:56! invalid opcode: 0000 [#1] PREEMPT SMP CPU: 1 PID: 8343 Comm: dmsetup Not tainted 6.8.0-rc6 #4 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/= 2014 RIP: 0010:__list_del_entry_valid_or_report+0x77/0xc0 RSP: 0018:ffff8881b831bcc0 EFLAGS: 00010282 RAX: 000000000000004e RBX: ffff888143b6eb80 RCX: 0000000000000000 RDX: 0000000000000001 RSI: ffffffff819053d0 RDI: 00000000ffffffff RBP: ffff8881b83a3400 R08: 00000000fffeffff R09: 0000000000000058 R10: 0000000000000000 R11: ffffffff81a24080 R12: 0000000000000001 R13: ffff88814538e000 R14: ffff888143bc6dc0 R15: ffffffffa02e4bb0 FS: 00000000f7c0f780(0000) GS:ffff8893f0a40000(0000) knlGS:0000000000000000 CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033 CR2: 0000000057fb5000 CR3: 0000000143474000 CR4: 00000000000006b0 Call Trace: ? die+0x2d/0x80 ? do_trap+0xeb/0xf0 ? __list_del_entry_valid_or_report+0x77/0xc0 ? do_error_trap+0x60/0x80 ? __list_del_entry_valid_or_report+0x77/0xc0 ? exc_invalid_op+0x49/0x60 ? __list_del_entry_valid_or_report+0x77/0xc0 ? asm_exc_invalid_op+0x16/0x20 ? table_deps+0x1b0/0x1b0 [dm_mod] ? __list_del_entry_valid_or_report+0x77/0xc0 origin_postsuspend+0x1a/0x50 [dm_snapshot] dm_table_postsuspend_targets+0x34/0x50 [dm_mod] dm_suspend+0xd8/0xf0 [dm_mod] dev_suspend+0x1f2/0x2f0 [dm_mod] ? table_deps+0x1b0/0x1b0 [dm_mod] ctl_ioctl+0x300/0x5f0 [dm_mod] dm_compat_ctl_ioctl+0x7/0x10 [dm_mod] __x64_compat_sys_ioctl+0x104/0x170 do_syscall_64+0x184/0x1b0 entry_SYSCALL_64_after_hwframe+0x46/0x4e RIP: 0033:0xf7e6aead ---[ end trace 0000000000000000 ]--- Fixes: ffcc39364160 ("dm: enhance internal suspend and resume interface") Signed-off-by: Mikulas Patocka Signed-off-by: Mike Snitzer Signed-off-by: Sasha Levin --- drivers/md/dm.c | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 9029c1004b933..dc8498b4b5c13 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -2733,6 +2733,9 @@ static void __dm_internal_suspend(struct mapped_devic= e *md, unsigned suspend_fla =20 static void __dm_internal_resume(struct mapped_device *md) { + int r; + struct dm_table *map; + BUG_ON(!md->internal_suspend_count); =20 if (--md->internal_suspend_count) @@ -2741,12 +2744,23 @@ static void __dm_internal_resume(struct mapped_devi= ce *md) if (dm_suspended_md(md)) goto done; /* resume from nested suspend */ =20 - /* - * NOTE: existing callers don't need to call dm_table_resume_targets - * (which may fail -- so best to avoid it for now by passing NULL map) - */ - (void) __dm_resume(md, NULL); - + map =3D rcu_dereference_protected(md->map, lockdep_is_held(&md->suspend_l= ock)); + r =3D __dm_resume(md, map); + if (r) { + /* + * If a preresume method of some target failed, we are in a + * tricky situation. We can't return an error to the caller. We + * can't fake success because then the "resume" and + * "postsuspend" methods would not be paired correctly, and it + * would break various targets, for example it would cause list + * corruption in the "origin" target. + * + * So, we fake normal suspend here, to make sure that the + * "resume" and "postsuspend" methods will be paired correctly. + */ + DMERR("Preresume method failed: %d", r); + set_bit(DMF_SUSPENDED, &md->flags); + } done: clear_bit(DMF_SUSPENDED_INTERNALLY, &md->flags); smp_mb__after_atomic(); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1CBC8282A72; Sun, 24 Mar 2024 23:42:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323739; cv=none; b=GYPorMD5LQeVWeueTgfUE1CzLj67gzqo659UzV27i0gXz1eu/okbpAT5h0Zyp3jP0uWnnhx8LEeNzlIY5EicP+CR5mBlZLwlj2frE1wfK7valmyl0DWXKk9cYYaE4oOoG59uVtjUGSVyaaEvGjYLGUx+jdq2mcXNR/7D0WyGMvU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323739; c=relaxed/simple; bh=V+QTxs8ZNX2e9Unfo7ANnUqWpeXj6vfwQlIB3jSMCBw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oCmtJ2TcdYwdcMRoGYDuH4RAeF+sR4kxhvTnlw8bjcSkw+trohxs7YNnu2Frud80pdoRIVfD7OYlPgnx20mKGBsbrVdlw19qMAMUIfACIcu/LG2ACQAVaV3S7oVCJ/PbfNaZ3gqvGk0dELirk2IB8LPgEvDES3CS2TAkrywfxrw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dNCjVQkZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dNCjVQkZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5BDA2C43390; Sun, 24 Mar 2024 23:42:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323739; bh=V+QTxs8ZNX2e9Unfo7ANnUqWpeXj6vfwQlIB3jSMCBw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dNCjVQkZCSwggc6cmb6mc8vIZRdglo3DV7XTjv6fOMt+6ccjZHxUJ2UYFS1NFiUgs Mj0gM93dLgCaDcOXSV3jn+0iG9YI9gDQI1P7TrgicOgeajhZx6MEAdFYta3pHGGplW VgCUFbBIRlvF+KzYR1qRzVaVjG52Behm35iR9HctYIgFSp01i3h6td0VajhsjvYu/B oNZt/3qGxmeCzk5fcoIwbWYYAPhqzu6st1f55phHsOgixdi2GifRPUsxQKxYERvZ4q fRcPdiDbrVMHUEVe0eYqr8aNN6K3c3HZAkliLkLh2L/SqARFLg07UTBJDs3vrLDoLE Wbei3ZjFfz29w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Chen Ni , Thierry Reding , Sasha Levin Subject: [PATCH 5.10 113/238] drm/tegra: dsi: Add missing check for of_find_device_by_node Date: Sun, 24 Mar 2024 19:38:21 -0400 Message-ID: <20240324234027.1354210-114-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Chen Ni [ Upstream commit afe6fcb9775882230cd29b529203eabd5d2a638d ] Add check for the return value of of_find_device_by_node() and return the error if it fails in order to avoid NULL pointer dereference. Fixes: e94236cde4d5 ("drm/tegra: dsi: Add ganged mode support") Signed-off-by: Chen Ni Signed-off-by: Thierry Reding Link: https://patchwork.freedesktop.org/patch/msgid/20231024080738.825553-1= -nichen@iscas.ac.cn Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/tegra/dsi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c index de1333dc0d867..0adce882f157b 100644 --- a/drivers/gpu/drm/tegra/dsi.c +++ b/drivers/gpu/drm/tegra/dsi.c @@ -1534,9 +1534,11 @@ static int tegra_dsi_ganged_probe(struct tegra_dsi *= dsi) np =3D of_parse_phandle(dsi->dev->of_node, "nvidia,ganged-mode", 0); if (np) { struct platform_device *gangster =3D of_find_device_by_node(np); + of_node_put(np); + if (!gangster) + return -EPROBE_DEFER; =20 dsi->slave =3D platform_get_drvdata(gangster); - of_node_put(np); =20 if (!dsi->slave) { put_device(&gangster->dev); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08472282A7E; Sun, 24 Mar 2024 23:42:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323741; cv=none; b=A9OxDF9sDTFvFUkY7Fpl32xkI0h9DNI771Jf115WHz8RMIll/tkHLlq0HiaYIBGsIwy0Jgj8Cj4thlrZ9lxUNrYMorAV2UsGnY7y2ymOZRT+G2vOqPRLHtQga/9bFrflGHSSJ7+gFnCF6BTwbRDYGceaLlSkv9/oIN005ZdN1vA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323741; c=relaxed/simple; bh=I5IZLXRovJJX137SJGnoEbJCPVfKKUehgGid1mWVd0k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PR0ERkfl6R3mdNc9wJwIGKDu/9DUbpWWyY9dXf7jplY83/fBNb8/kK5C8pngU9goRXOFnQ0aPU8+Mt5P+X01NflR+UO9iTlXg5u+mEAvA9kAZejE6X+QvvW9mYcDWR/bh3y7F2JYrVg/0Ze7svBDa57ZIK2ePYMxE8EAJPYHKgQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fpjWn1He; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fpjWn1He" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4021DC433F1; Sun, 24 Mar 2024 23:42:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323739; bh=I5IZLXRovJJX137SJGnoEbJCPVfKKUehgGid1mWVd0k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fpjWn1HeBpRT2Xa3SrDwriHklg+50ND2hjK3SCvw7tNPjaDszT87zMm4oA0DIWDhQ 9/d2tucCOdMVfjTnpIwZk7g9YTExrG1kJX8l+wyTyS2B23McfViRYzBIVwsljOIYnP KZImFvD3ZIea4IqOX95rpmzH5CgEEFpHCrNvzyMxGUPgwgaKx3HHL58Gu75H48bFdt G7T7096P2VOViH31A9Ghr6ZdQdKJ0jTUxkiJqMfNvHWPUcn9QY0gPOb0siR36OnsKt Tm1m47Xr+zXmliFLBU6uahHu84YZJbKN7BWoZ25AQNsgd7AB7Lg1zRE7vUXdbv6T3c hLiezGhbxWL6A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Cai Huoqing , Thierry Reding , Sasha Levin Subject: [PATCH 5.10 114/238] drm/tegra: dsi: Make use of the helper function dev_err_probe() Date: Sun, 24 Mar 2024 19:38:22 -0400 Message-ID: <20240324234027.1354210-115-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Cai Huoqing [ Upstream commit fc75e4fcbd1e4252a0481ebb23cd4516c127a8e2 ] When possible use dev_err_probe help to properly deal with the PROBE_DEFER error, the benefit is that DEFER issue will be logged in the devices_deferred debugfs file. And using dev_err_probe() can reduce code size, the error value gets printed. Signed-off-by: Cai Huoqing Signed-off-by: Thierry Reding Stable-dep-of: 830c1ded3563 ("drm/tegra: dsi: Fix some error handling paths= in tegra_dsi_probe()") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/tegra/dsi.c | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c index 0adce882f157b..6cbba2adb6e5a 100644 --- a/drivers/gpu/drm/tegra/dsi.c +++ b/drivers/gpu/drm/tegra/dsi.c @@ -1591,28 +1591,24 @@ static int tegra_dsi_probe(struct platform_device *= pdev) } =20 dsi->clk =3D devm_clk_get(&pdev->dev, NULL); - if (IS_ERR(dsi->clk)) { - dev_err(&pdev->dev, "cannot get DSI clock\n"); - return PTR_ERR(dsi->clk); - } + if (IS_ERR(dsi->clk)) + return dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk), + "cannot get DSI clock\n"); =20 dsi->clk_lp =3D devm_clk_get(&pdev->dev, "lp"); - if (IS_ERR(dsi->clk_lp)) { - dev_err(&pdev->dev, "cannot get low-power clock\n"); - return PTR_ERR(dsi->clk_lp); - } + if (IS_ERR(dsi->clk_lp)) + return dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk_lp), + "cannot get low-power clock\n"); =20 dsi->clk_parent =3D devm_clk_get(&pdev->dev, "parent"); - if (IS_ERR(dsi->clk_parent)) { - dev_err(&pdev->dev, "cannot get parent clock\n"); - return PTR_ERR(dsi->clk_parent); - } + if (IS_ERR(dsi->clk_parent)) + return dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk_parent), + "cannot get parent clock\n"); =20 dsi->vdd =3D devm_regulator_get(&pdev->dev, "avdd-dsi-csi"); - if (IS_ERR(dsi->vdd)) { - dev_err(&pdev->dev, "cannot get VDD supply\n"); - return PTR_ERR(dsi->vdd); - } + if (IS_ERR(dsi->vdd)) + return dev_err_probe(&pdev->dev, PTR_ERR(dsi->vdd), + "cannot get VDD supply\n"); =20 err =3D tegra_dsi_setup_clocks(dsi); if (err < 0) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3E835282A85; Sun, 24 Mar 2024 23:42:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323742; cv=none; b=ASY4ayErmUQcnTel5yeTzLmc6Srxrkz2XLVhEr0wzj+Gqz2DGOg8VL861eWuhtK9zhbZ380Tjc0WKKC0t9qVlGPQYyeSQ+F4wdoGFu3ZZJ2tGZ5w0oY4VBm9LUM/tO/hLCbqbhQvMCL3V9cAW5jYLU3tuTBZSicHefPs5DWYmNw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323742; c=relaxed/simple; bh=IwqCgXVVD8OsANwC37VO12HTPFTbTHFU2IzrVP1h6pE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RM/fXfu07QSb+73MewFTfCAWGIsm8lRIUgUjmMSXBjJHewz/RwkKcugljr1aM7WdroxHYjmV5oR3wQCO13xhwhm4rmfRM/m19q9RnnbZANkKuOfSTDjcJQCDqVmOkySVCUzkzd616jARfl7+NbWtgM6aH55vmb6sD78QdcNvcrM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bmzH8sGj; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bmzH8sGj" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 25526C43394; Sun, 24 Mar 2024 23:42:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323740; bh=IwqCgXVVD8OsANwC37VO12HTPFTbTHFU2IzrVP1h6pE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=bmzH8sGjIVcGpk2zSFYGnNKMxSHFNBKhPvaQLap/7Nt86MrqCLoHsLouzoWJ48btJ ZRzs1R3tXFcIm/0yQZM4ehWd9/RMpFWJ59wFl/e5hqQ2aUdtPcZoZM3jtIqMRG5xJO YSPZ9nUGn1MnFYj6D+LOaSexw1epWu7jN70g9ATJk2ExAMAfHVvFvky8IF6UBDrtLN la4YQ2dOQVL+XercyZXcx42NW8PTcLXkHNXKv3LbP5TK2UrP6gCV3nk5yrrIzHUpzT w2s1bC7qqRUX7zR7HG9ndPT9dgxP6nAH+cQaSGDEp1N7c9e52IclIArmpxYfrhgTQ6 ALzOtdObIV8lg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe JAILLET , Thierry Reding , Sasha Levin Subject: [PATCH 5.10 115/238] drm/tegra: dsi: Fix some error handling paths in tegra_dsi_probe() Date: Sun, 24 Mar 2024 19:38:23 -0400 Message-ID: <20240324234027.1354210-116-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET [ Upstream commit 830c1ded356369cd1303e8bb87ce3fea6e744de8 ] If an error occurs after calling tegra_output_probe(), tegra_output_remove() should be called as already done in the remove function. Fixes: dec727399a4b ("drm/tegra: Add DSI support") Signed-off-by: Christophe JAILLET Signed-off-by: Thierry Reding Link: https://patchwork.freedesktop.org/patch/msgid/16820073278d031f6c474a0= 8d5f22a255158585e.1693667005.git.christophe.jaillet@wanadoo.fr Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/tegra/dsi.c | 54 ++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 19 deletions(-) diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c index 6cbba2adb6e5a..815e32e05f600 100644 --- a/drivers/gpu/drm/tegra/dsi.c +++ b/drivers/gpu/drm/tegra/dsi.c @@ -1586,44 +1586,58 @@ static int tegra_dsi_probe(struct platform_device *= pdev) =20 if (!pdev->dev.pm_domain) { dsi->rst =3D devm_reset_control_get(&pdev->dev, "dsi"); - if (IS_ERR(dsi->rst)) - return PTR_ERR(dsi->rst); + if (IS_ERR(dsi->rst)) { + err =3D PTR_ERR(dsi->rst); + goto remove; + } } =20 dsi->clk =3D devm_clk_get(&pdev->dev, NULL); - if (IS_ERR(dsi->clk)) - return dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk), - "cannot get DSI clock\n"); + if (IS_ERR(dsi->clk)) { + err =3D dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk), + "cannot get DSI clock\n"); + goto remove; + } =20 dsi->clk_lp =3D devm_clk_get(&pdev->dev, "lp"); - if (IS_ERR(dsi->clk_lp)) - return dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk_lp), - "cannot get low-power clock\n"); + if (IS_ERR(dsi->clk_lp)) { + err =3D dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk_lp), + "cannot get low-power clock\n"); + goto remove; + } =20 dsi->clk_parent =3D devm_clk_get(&pdev->dev, "parent"); - if (IS_ERR(dsi->clk_parent)) - return dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk_parent), - "cannot get parent clock\n"); + if (IS_ERR(dsi->clk_parent)) { + err =3D dev_err_probe(&pdev->dev, PTR_ERR(dsi->clk_parent), + "cannot get parent clock\n"); + goto remove; + } =20 dsi->vdd =3D devm_regulator_get(&pdev->dev, "avdd-dsi-csi"); - if (IS_ERR(dsi->vdd)) - return dev_err_probe(&pdev->dev, PTR_ERR(dsi->vdd), - "cannot get VDD supply\n"); + if (IS_ERR(dsi->vdd)) { + err =3D dev_err_probe(&pdev->dev, PTR_ERR(dsi->vdd), + "cannot get VDD supply\n"); + goto remove; + } =20 err =3D tegra_dsi_setup_clocks(dsi); if (err < 0) { dev_err(&pdev->dev, "cannot setup clocks\n"); - return err; + goto remove; } =20 regs =3D platform_get_resource(pdev, IORESOURCE_MEM, 0); dsi->regs =3D devm_ioremap_resource(&pdev->dev, regs); - if (IS_ERR(dsi->regs)) - return PTR_ERR(dsi->regs); + if (IS_ERR(dsi->regs)) { + err =3D PTR_ERR(dsi->regs); + goto remove; + } =20 dsi->mipi =3D tegra_mipi_request(&pdev->dev, pdev->dev.of_node); - if (IS_ERR(dsi->mipi)) - return PTR_ERR(dsi->mipi); + if (IS_ERR(dsi->mipi)) { + err =3D PTR_ERR(dsi->mipi); + goto remove; + } =20 dsi->host.ops =3D &tegra_dsi_host_ops; dsi->host.dev =3D &pdev->dev; @@ -1654,6 +1668,8 @@ static int tegra_dsi_probe(struct platform_device *pd= ev) mipi_dsi_host_unregister(&dsi->host); mipi_free: tegra_mipi_free(dsi->mipi); +remove: + tegra_output_remove(&dsi->output); return err; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C04DD282A73; Sun, 24 Mar 2024 23:42:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323741; cv=none; b=PfWgr/bE2/ul3hkWtjj467muVSkPsPnoANve8YpWVtESbuacqPZWOCU5RgNFlBdhcDkADLoly6M+i+itNbFAOJZY6NDAW/Ko8l7R6mHbjRcAJkd85cdbuShN3Lm7he15SaBSR9PghJBNVIELhK7yD3GPgM3+ecejLav0VOUrExg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323741; c=relaxed/simple; bh=+ZUl4XWyX2TC41ftSNhfrfsALGaw+PtYVx7wA53zQtM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lWP/cVuh1QHOKorZbeSvqlF847n1C6NWFvD1VBOMXziixCkMO7OBcQrFiRt7lLWKsTa0za1iG0dDwSPXqEJtfZQ/ApeBO4p8oMA5yJUItsgv2FaR2jxUSHkbM3qpbrXWyjK5CrbYJRMQIKgEQTVt3/hFji9Jq9I4VwFIZFK3tlw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ULl0YH6c; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ULl0YH6c" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0AD48C43390; Sun, 24 Mar 2024 23:42:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323741; bh=+ZUl4XWyX2TC41ftSNhfrfsALGaw+PtYVx7wA53zQtM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ULl0YH6crH9JuJ+mzicjUUkhtWX1ZbZa3NQjRI2ustjjWNucs6n8f89xIQTn8kaiV /LU1HAS4kT/D1yc7iPLTjh7uiJG/34UOy80CFV/YSIblxEOgcd5H5hbfLkvhqvzyix pbGVDR2jWtpXvyYoWJYBntYBqbfUMbwSijqDq2mIVWMzkKb7FtnnyVaz1cxia/e7j/ wmPg6ybrXAjf+hex8e9YK2m1+BnrVykK2ECzHMnVC9mFK9+VTMz4t76qdb/TvH4KZm EQ/6+PnHD7lykQFKEB7/NAYGo29EAV51J7G7mGpvFgKvp8zItEuR1ARw731Fs6gjm8 df814pepgPYDA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe JAILLET , Thierry Reding , Sasha Levin Subject: [PATCH 5.10 116/238] drm/tegra: dsi: Fix missing pm_runtime_disable() in the error handling path of tegra_dsi_probe() Date: Sun, 24 Mar 2024 19:38:24 -0400 Message-ID: <20240324234027.1354210-117-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET [ Upstream commit 5286a9fc280c45b6b307ee1b07f7a997e042252c ] If an error occurs after calling pm_runtime_enable(), pm_runtime_disable() should be called as already done in the remove function. Fixes: ef8187d75265 ("drm/tegra: dsi: Implement runtime PM") Signed-off-by: Christophe JAILLET Signed-off-by: Thierry Reding Link: https://patchwork.freedesktop.org/patch/msgid/ee4a15c9cd4b574a55cd67c= 30d2411239ba2cee9.1693667005.git.christophe.jaillet@wanadoo.fr Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/tegra/dsi.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c index 815e32e05f600..7bb26655cb3cc 100644 --- a/drivers/gpu/drm/tegra/dsi.c +++ b/drivers/gpu/drm/tegra/dsi.c @@ -1665,6 +1665,7 @@ static int tegra_dsi_probe(struct platform_device *pd= ev) return 0; =20 unregister: + pm_runtime_disable(&pdev->dev); mipi_dsi_host_unregister(&dsi->host); mipi_free: tegra_mipi_free(dsi->mipi); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A67A4282A8D; Sun, 24 Mar 2024 23:42:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323743; cv=none; b=agbh8cKh20y194x9CTRP3ikOGkdxCcuBadZ8nXN6POR3uo8bLHvrTUoOvHulFuRIVRB8rasy7adEi/tPZE6GCC41HJn8NW4MKAgoUazjIThK2Ar4dv9ivlHVhw1PI4lLdas76npR4ff1Dw31HeBWisoaTjLPu6k0sbcuHkHcYiw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323743; c=relaxed/simple; bh=RZNVU4IURpxBQT1ORogNbGIWkBlDKgL0aWdcsIXGZEw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=H8ke+JGLuXGShm+a7y/bf4uvg1wlHjQbIOm6T9GpPCujzUhLqrel8fdaYsLjNitJKpaFcI8jMUp7YBOtZAY+o10MWsKlmVd6A/DQdMOdrwUxCYymve2dceS9/rQ8VD5BmBqwwJLsyEmbRKzt5s490Rcci/EI2kbiMx7HfZCIBBE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=p5trB/hG; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="p5trB/hG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E3EC5C433C7; Sun, 24 Mar 2024 23:42:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323742; bh=RZNVU4IURpxBQT1ORogNbGIWkBlDKgL0aWdcsIXGZEw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p5trB/hGPGT5+ScNI68RJvPjIK2+dZxEBuB4rxWyxLI9kzU8S6zoAi49jEo5I+2ma 4nx/poDQHXcmut6y2ag9H+4mvjeEBrFVd+bIwBCyyMXKkOWQP4GoWHvP5Gd/dg19bp Y+l3klQvezACgq89v/dadX4ZBKhRzSdzXf9mE/Cxv0jqG09wQ3iLKV/7+kUfBZwT9p dAp2hW4BwdiSe/52ZmD5Bb319nne74Q3bmXETySn5WOW1rL58z4LPTzkaLV44wMzcV xLv1erTAvqXjoN0NGmUAdz4VXGC+sBuQt5cIgyXIRRzsQqT0HjqwFGUZznffqhNKg2 /SOlst89ZLTMA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe JAILLET , Thierry Reding , Sasha Levin Subject: [PATCH 5.10 117/238] drm/tegra: output: Fix missing i2c_put_adapter() in the error handling paths of tegra_output_probe() Date: Sun, 24 Mar 2024 19:38:25 -0400 Message-ID: <20240324234027.1354210-118-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET [ Upstream commit 2db4578ef6ffb2b52115ca0ebf897b60ec559556 ] If an error occurs after a successful of_get_i2c_adapter_by_node() call, it should be undone by a corresponding i2c_put_adapter(). Add the missing i2c_put_adapter() call. Fixes: 9be7d864cf07 ("drm/tegra: Implement panel support") Signed-off-by: Christophe JAILLET Signed-off-by: Thierry Reding Link: https://patchwork.freedesktop.org/patch/msgid/b38604178991e1f08b2cda2= 19103be266be2d680.1693667005.git.christophe.jaillet@wanadoo.fr Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/tegra/output.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/tegra/output.c b/drivers/gpu/drm/tegra/output.c index 47d26b5d99456..7ccd010a821b7 100644 --- a/drivers/gpu/drm/tegra/output.c +++ b/drivers/gpu/drm/tegra/output.c @@ -139,8 +139,10 @@ int tegra_output_probe(struct tegra_output *output) GPIOD_IN, "HDMI hotplug detect"); if (IS_ERR(output->hpd_gpio)) { - if (PTR_ERR(output->hpd_gpio) !=3D -ENOENT) - return PTR_ERR(output->hpd_gpio); + if (PTR_ERR(output->hpd_gpio) !=3D -ENOENT) { + err =3D PTR_ERR(output->hpd_gpio); + goto put_i2c; + } =20 output->hpd_gpio =3D NULL; } @@ -149,7 +151,7 @@ int tegra_output_probe(struct tegra_output *output) err =3D gpiod_to_irq(output->hpd_gpio); if (err < 0) { dev_err(output->dev, "gpiod_to_irq(): %d\n", err); - return err; + goto put_i2c; } =20 output->hpd_irq =3D err; @@ -162,7 +164,7 @@ int tegra_output_probe(struct tegra_output *output) if (err < 0) { dev_err(output->dev, "failed to request IRQ#%u: %d\n", output->hpd_irq, err); - return err; + goto put_i2c; } =20 output->connector.polled =3D DRM_CONNECTOR_POLL_HPD; @@ -176,6 +178,12 @@ int tegra_output_probe(struct tegra_output *output) } =20 return 0; + +put_i2c: + if (output->ddc) + i2c_put_adapter(output->ddc); + + return err; } =20 void tegra_output_remove(struct tegra_output *output) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A2D15282A84; Sun, 24 Mar 2024 23:42:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323744; cv=none; b=c944qTBnavsqgnHZjrs03THp0g1xFkTR6aWPaqc/5BOKyPRD2KFD9OeueM2unEDwBxoP06M+JijJ5RXrrAUwfLCeCQCwo1FgIisB9SlylBTD9h+JpBKzzl9zTKv5yvkms4/HHFUHCOvKy5pvI6SGoXMJvnyf3MYawWHhRGp/GdY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323744; c=relaxed/simple; bh=hHsHjQUDMUNwTrq8KfLKMh80GfvG17A8FJ8f8Y0O8Us=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cWb8+IWhJ3sT2wgbWPLUw81+9g5/pH9wp8DQn0+jqrUD/7b7Fm62gDOuNFuGQaiX42ohz/4kDQwMtPDywsGf6tm1Jsz5KP6XSQsOGtWUc5hkK7cRH0U5Z7cS/hMV9mc6zADaeBnEw2089agK1CelY0Sqn7JXuf2OStOL6/K4iWA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=r9J2Qm4y; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="r9J2Qm4y" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CB2A1C43330; Sun, 24 Mar 2024 23:42:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323743; bh=hHsHjQUDMUNwTrq8KfLKMh80GfvG17A8FJ8f8Y0O8Us=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=r9J2Qm4y+mSojYLrQ68OvSe4dHma3U6AlgmfV14ktQHugjwDlWnLfFFjT8eebl/w1 XFeGj10/YlBMZU+BjvxY2AIay0E5PrPbQ000nCubZkyjTRmbX5fmpGBsbixuV9CSML b/M0au2lsk3BWWrRj3hmxusHtcUyGzblqtIMSZvQ6zc+4aWDQjYBeMWJoKxfzi28w0 5Lb40Eq2f+FgpenmTDmZqSLaHtPxbzMB/wUsuNIBMnJjWtUSWgXY3yL0EwbhEPhmxe 3wukfn9Hu5jTNMXSpcU3/VATvwRip9dPQzdg5wQZNMYd+Ty/YqqUo+M3kcLbPLT3Z/ PsyS07pg6NQLg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Alex Bee , Zheng Yang , Heiko Stuebner , Sasha Levin Subject: [PATCH 5.10 118/238] drm/rockchip: inno_hdmi: Fix video timing Date: Sun, 24 Mar 2024 19:38:26 -0400 Message-ID: <20240324234027.1354210-119-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alex Bee [ Upstream commit 47a145c03484d33e65d773169d5ca1b9fe2a492e ] The controller wants the difference between *total and *sync_start in the HDMI_VIDEO_EXT_*DELAY registers. Otherwise the signal is very unstable for certain non-VIC modes. See downstream commit [0]. [0] https://github.com/rockchip-linux/kernel/commit/8eb559f2502c Fixes: 412d4ae6b7a5 ("drm/rockchip: hdmi: add Innosilicon HDMI support") Co-developed-by: Zheng Yang Signed-off-by: Zheng Yang Signed-off-by: Alex Bee Signed-off-by: Heiko Stuebner Link: https://patchwork.freedesktop.org/patch/msgid/20231222174220.55249-4-= knaerzche@gmail.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/rockchip/inno_hdmi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchi= p/inno_hdmi.c index 78120da5e63aa..27540d308ccb9 100644 --- a/drivers/gpu/drm/rockchip/inno_hdmi.c +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c @@ -402,7 +402,7 @@ static int inno_hdmi_config_video_timing(struct inno_hd= mi *hdmi, hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HBLANK_L, value & 0xFF); hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HBLANK_H, (value >> 8) & 0xFF); =20 - value =3D mode->hsync_start - mode->hdisplay; + value =3D mode->htotal - mode->hsync_start; hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HDELAY_L, value & 0xFF); hdmi_writeb(hdmi, HDMI_VIDEO_EXT_HDELAY_H, (value >> 8) & 0xFF); =20 @@ -417,7 +417,7 @@ static int inno_hdmi_config_video_timing(struct inno_hd= mi *hdmi, value =3D mode->vtotal - mode->vdisplay; hdmi_writeb(hdmi, HDMI_VIDEO_EXT_VBLANK, value & 0xFF); =20 - value =3D mode->vsync_start - mode->vdisplay; + value =3D mode->vtotal - mode->vsync_start; hdmi_writeb(hdmi, HDMI_VIDEO_EXT_VDELAY, value & 0xFF); =20 value =3D mode->vsync_end - mode->vsync_start; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B425B15689D; Sun, 24 Mar 2024 23:42:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323745; cv=none; b=YGXBZ8cOwtuJgnvjaFfVHZzYmhnW/i+p8rV+R2BXs3JaPF+FSCT30qjcmIfeNk2q9Ren3QWJcrf6rhRsDpip6df/NEXqc2+jaq3F3z5nHI9zFtquYIm2hNUv/+YX1ftSL1jtAlNE6wdqAdJ8AYEBmyMdicVEERG92lA2ZRGpAKg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323745; c=relaxed/simple; bh=gbU2EowSPlHE2x6WXeXSsOfbfUQE1IU/R3YYLu6N2co=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SPpdbLQou+WsfpCq1juX4ZPmteGPEGmBuz25emy7QWBm1J02YuZxn7ivMOUgvqKPxA1m/97f+nhIiqlBDa5ZHfdhkzEdvh8W+EkeNTcAPX3HlnPCFCAEZQ454yYVX+ChEuCVYmN/nWeWGUdCQ1L28YSjoLxzsohyB5VxqW/lfM8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iCT9kuaH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="iCT9kuaH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C40E6C43390; Sun, 24 Mar 2024 23:42:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323744; bh=gbU2EowSPlHE2x6WXeXSsOfbfUQE1IU/R3YYLu6N2co=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iCT9kuaH0zaxfnhYMDw4HEBk1ilFHGUEL4UzQD2NglkcttBRnOz+JThqYNNY6jhX8 OgpKa/z1gb2fmZokyJeVCEwbB1sCNfMOOw+vx5cNMZ2wwYVd+4b5HaOs7Jn//l6c2R ysL+nBo7bTBb7ZzkNeEGtoGCVZAvwQOViQixxKqOK6hdp6WUtSy5hD1lQBf8gL4rSD 7ekyHa3O1LL9s2UKIY6pjb0vOBouIRQZTH3CzVJ7VmtSJl02B5hNrwt9Zf4dqZYut6 8dbE6lXPO2aIgco2tgbTHIoM6sS5ZsPoxZ9UyPOUJkKzxobhRCeg6drErPrhijwcfg G2B39iBFFI9Gg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Harry Wentland , Simon Ser , Melissa Wen , Melissa Wen , Sasha Levin Subject: [PATCH 5.10 119/238] drm: Don't treat 0 as -1 in drm_fixp2int_ceil Date: Sun, 24 Mar 2024 19:38:27 -0400 Message-ID: <20240324234027.1354210-120-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Harry Wentland [ Upstream commit cf8837d7204481026335461629b84ac7f4538fa5 ] Unit testing this in VKMS shows that passing 0 into this function returns -1, which is highly counter- intuitive. Fix it by checking whether the input is >=3D 0 instead of > 0. Fixes: 64566b5e767f ("drm: Add drm_fixp_from_fraction and drm_fixp2int_ceil= ") Signed-off-by: Harry Wentland Reviewed-by: Simon Ser Reviewed-by: Melissa Wen Signed-off-by: Melissa Wen Link: https://patchwork.freedesktop.org/patch/msgid/20231108163647.106853-2= -harry.wentland@amd.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/drm/drm_fixed.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/drm/drm_fixed.h b/include/drm/drm_fixed.h index 553210c02ee0f..627efa56e59fb 100644 --- a/include/drm/drm_fixed.h +++ b/include/drm/drm_fixed.h @@ -88,7 +88,7 @@ static inline int drm_fixp2int(s64 a) =20 static inline int drm_fixp2int_ceil(s64 a) { - if (a > 0) + if (a >=3D 0) return drm_fixp2int(a + DRM_FIXED_ALMOST_ONE); else return drm_fixp2int(a - DRM_FIXED_ALMOST_ONE); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AE0C6282A9A; Sun, 24 Mar 2024 23:42:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323746; cv=none; b=FXqpJ9zC91SfVsbRSHlaEZDm2RPwIrND9F0chsVCHCuKTNQ/p1OI0Lh1VoAw9U5pS/P1Qw6NiYqwKBh1VYzpIJ2phsTewsI3j6tIIcx53d0PvBfNvP4b8VdFEGqIkmV04Wq3NGLiUkGIvz+VovWEvY0Het6RLdvOPfgA+xEq2Lg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323746; c=relaxed/simple; bh=8QbLpn2pUoI0w15mR1Grxi/KK/33Mzhdmp7/SyYx+pE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ske7h9NZzgoTTLh0fGFJa/q9tVBhQhikYFkPul0x/UuTTXb17WpFNkoEgsksZBOQ54+47Ey6L7W91LdBoPH8uQMCqjSb3UjoMDS+YzxMu1bDzWWuTRCCR0P7GZJgr/09thX62ZlDPU+pmW7gohP9zOfi7Fscp71bzkuEQ8yXfP4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EIHamxpy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="EIHamxpy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D7768C433F1; Sun, 24 Mar 2024 23:42:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323745; bh=8QbLpn2pUoI0w15mR1Grxi/KK/33Mzhdmp7/SyYx+pE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EIHamxpyIKjf304CzYUt3LhhV3COyR6D/WWzeq/4D5suRtjlgE4dqm0xVU7Rjz8E4 z+64F1LgEtO3hLdRuBmzm4dpjR+yi9yXgBOPDijvEzUGQg1PJUL+r2dJEokCUVGA/U 3I3NLc437DSv0G5blnBu1covhdwwohIxWBCth0F6g2K8AJ8PRgzCTBV1fnFRjfH2hM o4uby5JEm1lPZumtjm7Z04SdQE9HREBTdj8pxapCexKxU9A7H5iMvdOqkfPD7Rd/rq 3OlU2qZIcbOY3eaBkIfOvoUDmhXswkNEKeNaMpOZZTHAQ5ZH1Za8ojCbCl/y5SxRfj nkGllpHSEDOaw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Quentin Schulz , Quentin Schulz , Heiko Stuebner , Sasha Levin Subject: [PATCH 5.10 120/238] drm/rockchip: lvds: do not overwrite error code Date: Sun, 24 Mar 2024 19:38:28 -0400 Message-ID: <20240324234027.1354210-121-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Quentin Schulz [ Upstream commit 79b09453c4e369ca81cfb670d0136d089e3b92f0 ] ret variable stores the return value of drm_of_find_panel_or_bridge which can return error codes different from EPROBE_DEFER. Therefore, let's just return that error code instead of forcing it to EPROBE_DEFER. Fixes: 34cc0aa25456 ("drm/rockchip: Add support for Rockchip Soc LVDS") Cc: Quentin Schulz Signed-off-by: Quentin Schulz Signed-off-by: Heiko Stuebner Link: https://patchwork.freedesktop.org/patch/msgid/20231120-rk-lvds-defer-= msg-v2-1-9c59a5779cf9@theobroma-systems.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/rockchip/rockchip_lvds.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_lvds.c b/drivers/gpu/drm/roc= kchip/rockchip_lvds.c index e2487937c4e3d..1ffb2f710e4bd 100644 --- a/drivers/gpu/drm/rockchip/rockchip_lvds.c +++ b/drivers/gpu/drm/rockchip/rockchip_lvds.c @@ -573,7 +573,6 @@ static int rockchip_lvds_bind(struct device *dev, struc= t device *master, goto err_put_port; } else if (ret) { DRM_DEV_ERROR(dev, "failed to find panel and bridge node\n"); - ret =3D -EPROBE_DEFER; goto err_put_port; } if (lvds->panel) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A67BD179FC5; Sun, 24 Mar 2024 23:42:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323747; cv=none; b=OJD/uNAnJLWlzgF8w+KgfD1hrvwTr+DyiuA34hTLToInxrh6Mw5WupcFTsmeDH3Ga89DSpP8nvLkABYEyd0i+2iUJT3xtNOHhLTDu2DP8reFQBvGsTExyaUXUZrhZys0GZCCXFQvP5e7yiakiu+SoAw8jSiL2qJQn1Bmn7BnFsY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323747; c=relaxed/simple; bh=AoArj+1hGuzNCr+nrz58oSeri64XTy1+7yEFmRMZjmc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HTnOGijOlME7cKwNQtNN4FoP9lQAJ4/2nTFM8pVEOEPZpN4n3D/f78Qrv30gl2EYqS7aq6KobhoXrYzed9IfkNVmxJ608y/C4XZGmAMEUwtLTPQX/kKouNV1iYhL6+0mVSER9Z7EQme4sGwv+bBnKLqmeJLk7o1ewpl88UwW5D0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rNJjU9A/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rNJjU9A/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D212EC43399; Sun, 24 Mar 2024 23:42:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323746; bh=AoArj+1hGuzNCr+nrz58oSeri64XTy1+7yEFmRMZjmc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rNJjU9A/luGNUq6C5mOZPwiyvdNZ9Bte47HTu0zjIWPScX6QLKCsVTYdIHkMi/T6A R6+ExjoWMPOuNeUepBOP1Amop5joW7KjFK989VRP48RVL7rxwnVRkjDlJ9FlFeitk/ H4Ic4LZV2+GnLTIt65Hp26upwkf9CdxVzQAZ9jAFCj3/9Fi9jXLSQmH3c98JBTgQ/f njJB7iN99oWsQZiwri+bMbXCOZdhRSIfwCMfObCADpQCibEwtk3M5VotVA1SUi05CK ka0X3XP3JcPnq1NYTMhSXcLCu92MWYk7ItymQbwiUp/2sVkMwPinAqODJ2237PXEf6 l0S5aHAv4OFCQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Quentin Schulz , Quentin Schulz , Heiko Stuebner , Sasha Levin Subject: [PATCH 5.10 121/238] drm/rockchip: lvds: do not print scary message when probing defer Date: Sun, 24 Mar 2024 19:38:29 -0400 Message-ID: <20240324234027.1354210-122-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Quentin Schulz [ Upstream commit 52d11c863ac92e36a0365249f7f6d27ac48c78bc ] This scary message can misled the user into thinking something bad has happened and needs to be fixed, however it could simply be part of a normal boot process where EPROBE_DEFER is taken into account. Therefore, let's use dev_err_probe so that this message doesn't get shown (by default) when the return code is EPROBE_DEFER. Fixes: 34cc0aa25456 ("drm/rockchip: Add support for Rockchip Soc LVDS") Cc: Quentin Schulz Signed-off-by: Quentin Schulz Signed-off-by: Heiko Stuebner Link: https://patchwork.freedesktop.org/patch/msgid/20231120-rk-lvds-defer-= msg-v2-2-9c59a5779cf9@theobroma-systems.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/rockchip/rockchip_lvds.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_lvds.c b/drivers/gpu/drm/roc= kchip/rockchip_lvds.c index 1ffb2f710e4bd..96c13c182809e 100644 --- a/drivers/gpu/drm/rockchip/rockchip_lvds.c +++ b/drivers/gpu/drm/rockchip/rockchip_lvds.c @@ -572,7 +572,7 @@ static int rockchip_lvds_bind(struct device *dev, struc= t device *master, ret =3D -EINVAL; goto err_put_port; } else if (ret) { - DRM_DEV_ERROR(dev, "failed to find panel and bridge node\n"); + dev_err_probe(dev, ret, "failed to find panel and bridge node\n"); goto err_put_port; } if (lvds->panel) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89AE317BB05; Sun, 24 Mar 2024 23:42:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323748; cv=none; b=tmFXnzEbL6/byinKKBJFOc0pPAnPwULSmrwwzMxpJ811hiliWCu7lRwg9I5gx2VqHsz+9tOdSYrz0JcZWvxwIC3K58R+4QOiTKVXdRVjkHQSldYQ1h5NgDuS6OS6tmgtziXnMLihR8IpdO/q8HslgE+Pd4hMPFOTDxJrE//XFJc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323748; c=relaxed/simple; bh=yR9eDH5FyneCFiaeoSi342C8aJUPm3XBozGPnp/Dtx8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S9WjffmMXeKLbnX6Oz+eaqXCh7KfDENv9SLLPxyEekjn4Y6bceAj8V4o7PBxQu1q7Aa6BC8NO3CAuO4dsVnuc073zfqHmxLYka6q8xi8JYqaoT+7gy9gUCqQragSkBKqQJttmWnsd+U4IfqxoK3+dN7egYeDWNhkQmTd/r76sXc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PHKc8EZX; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PHKc8EZX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD3E7C433C7; Sun, 24 Mar 2024 23:42:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323747; bh=yR9eDH5FyneCFiaeoSi342C8aJUPm3XBozGPnp/Dtx8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=PHKc8EZXSlyw2rSRHu1sE2I9wYtAD0fovPuOvGfANgAcLraHq7TxtYrQzjLLtQhz5 SXjBXeH2AMwNXtuCuCW8i/5JH2KyYnBq5Q3pSSSSNxryCgDD/+V8htwJjHJItSC60l isQbnZuzo8che1bVTuW2CwWxGWzDsEuGVS65g7xMORQiMr2rudumL4AMtBnvC1mFYl AvIKJX1I5rD6ay5j1iMhmU4nOhwJVJymScbwcA4GFfvoKjnBBIm6dxPmIchJ6mwrBr sNqBEqTpuRAMN8BQX9jPKuTEjaQsk+h6lslNaMD14QHioxwLmGiGa3o/6xrjY91IMW hJtopKQdLw/Bg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Zhipeng Lu , Qiang Yu , Sasha Levin Subject: [PATCH 5.10 122/238] drm/lima: fix a memleak in lima_heap_alloc Date: Sun, 24 Mar 2024 19:38:30 -0400 Message-ID: <20240324234027.1354210-123-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhipeng Lu [ Upstream commit 04ae3eb470e52a3c41babe85ff8cee195e4dcbea ] When lima_vm_map_bo fails, the resources need to be deallocated, or there will be memleaks. Fixes: 6aebc51d7aef ("drm/lima: support heap buffer creation") Signed-off-by: Zhipeng Lu Signed-off-by: Qiang Yu Link: https://patchwork.freedesktop.org/patch/msgid/20240117071328.3811480-= 1-alexious@zju.edu.cn Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/lima/lima_gem.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/lima/lima_gem.c b/drivers/gpu/drm/lima/lima_ge= m.c index 11223fe348dfe..894175f2ed492 100644 --- a/drivers/gpu/drm/lima/lima_gem.c +++ b/drivers/gpu/drm/lima/lima_gem.c @@ -74,29 +74,34 @@ int lima_heap_alloc(struct lima_bo *bo, struct lima_vm = *vm) } else { bo->base.sgt =3D kmalloc(sizeof(*bo->base.sgt), GFP_KERNEL); if (!bo->base.sgt) { - sg_free_table(&sgt); - return -ENOMEM; + ret =3D -ENOMEM; + goto err_out0; } } =20 ret =3D dma_map_sgtable(dev, &sgt, DMA_BIDIRECTIONAL, 0); - if (ret) { - sg_free_table(&sgt); - kfree(bo->base.sgt); - bo->base.sgt =3D NULL; - return ret; - } + if (ret) + goto err_out1; =20 *bo->base.sgt =3D sgt; =20 if (vm) { ret =3D lima_vm_map_bo(vm, bo, old_size >> PAGE_SHIFT); if (ret) - return ret; + goto err_out2; } =20 bo->heap_size =3D new_size; return 0; + +err_out2: + dma_unmap_sgtable(dev, &sgt, DMA_BIDIRECTIONAL, 0); +err_out1: + kfree(bo->base.sgt); + bo->base.sgt =3D NULL; +err_out0: + sg_free_table(&sgt); + return ret; } =20 int lima_gem_create_handle(struct drm_device *dev, struct drm_file *file, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D05C717BB07; Sun, 24 Mar 2024 23:42:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323748; cv=none; b=toKbaOlGA3C63CCwY7qnx+7HQ/ImDdKI4S/VK/SsO2LtquRvq8JHkXP8zphWxthpUKZ/adGUdexuNjMxAjycvMKR8IbKjOYJwmuqGSWe9ExIx0CIsxJygktdWPBwhHh3l6F6xxyC581oo6SsxPB08bnxL1RM5243CwpjbYvIVCI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323748; c=relaxed/simple; bh=Vg4vQmwbAvuhv6YI8WBV1X4v7KltOUdKsp8PbCBCV1g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z9qnH+jz3bvrU4b7ilH4u/DidgXv/8UdJ97H8xbpUV3O6NXNGIVG6BL7gCcwBbE3eblODVQ1kh+JMPs8vg6d3siicY9eHiDpgPcP0sRZp2pvV1+gn0uo87zgwCus0LtmZS95v0H+PWlmCXo7IC2GVAl4FspGl2fdNQkJRvDw6lI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tFJkM7Dp; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="tFJkM7Dp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B0269C433F1; Sun, 24 Mar 2024 23:42:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323748; bh=Vg4vQmwbAvuhv6YI8WBV1X4v7KltOUdKsp8PbCBCV1g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tFJkM7Dpt6pYSVRP9Z+sfmfu50EO03Kx/Bj7Sl+OhQil26uLNWV83D+eurBWOUAqZ OYuR44LV50tp8LT/85nKQggL2fj/kiK5Sr41onJOHhjKqfD5Jla1SD5QBwK2X3dqmS nr5aD6fmoB7UlQrUz5yJAyVinBwDhG7isH/oFMP8mBSzzfaBSNchh7tvB/WBWYtAoo ch8Yq8uz4NBo+/7yZpd/6hBCqLSB3VW1FpPN43mO0WHGD1Y66dWitZMZ8zoeYkAJoy Ljmf8uu1ChygiX7j9xrw4A8NXpnnCPkWFMPSOeOQl4JIRbgCv6UfNEio9Z0J9NSctY CcMOt5AL6N3gQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Peter Robinson , Jon Hunter , Thierry Reding , Sameer Pujar , Laxman Dewangan , Vinod Koul , Sasha Levin Subject: [PATCH 5.10 123/238] dmaengine: tegra210-adma: Update dependency to ARCH_TEGRA Date: Sun, 24 Mar 2024 19:38:31 -0400 Message-ID: <20240324234027.1354210-124-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Peter Robinson [ Upstream commit 33b7db45533af240fe44e809f9dc4d604cf82d07 ] Update the architecture dependency to be the generic Tegra because the driver works on the four latest Tegra generations not just T210, if you build a kernel with a specific ARCH_TEGRA_xxx_SOC option that excludes 210 you don't get this driver. Fixes: 433de642a76c9 ("dmaengine: tegra210-adma: add support for Tegra186/T= egra194") Signed-off-by: Peter Robinson Cc: Jon Hunter Cc: Thierry Reding Cc: Sameer Pujar Cc: Laxman Dewangan Reviewed-by: Jon Hunter Link: https://lore.kernel.org/r/20240112093310.329642-2-pbrobinson@gmail.com Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/dma/Kconfig | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig index 7e1bd79fbee8f..02b98f979479a 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -614,16 +614,16 @@ config TEGRA20_APB_DMA =20 config TEGRA210_ADMA tristate "NVIDIA Tegra210 ADMA support" - depends on (ARCH_TEGRA_210_SOC || COMPILE_TEST) + depends on (ARCH_TEGRA || COMPILE_TEST) select DMA_ENGINE select DMA_VIRTUAL_CHANNELS help - Support for the NVIDIA Tegra210 ADMA controller driver. The - DMA controller has multiple DMA channels and is used to service - various audio clients in the Tegra210 audio processing engine - (APE). This DMA controller transfers data from memory to - peripheral and vice versa. It does not support memory to - memory data transfer. + Support for the NVIDIA Tegra210/Tegra186/Tegra194/Tegra234 ADMA + controller driver. The DMA controller has multiple DMA channels + and is used to service various audio clients in the Tegra210 + audio processing engine (APE). This DMA controller transfers + data from memory to peripheral and vice versa. It does not + support memory to memory data transfer. =20 config TIMB_DMA tristate "Timberdale FPGA DMA support" --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B89B517BB0D; Sun, 24 Mar 2024 23:42:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323749; cv=none; b=rRjXX/GJED5AMTjscmVgugpQkXtd+Cl44/x0ykHYZ3ADnKwiWkxPoO9EuhwFbF0OwgHmKyjQE3Hm50XpavaaUXyoyxlltcjTRCFrRbF6K0OeQUp9yqFAW3FD19P6LDOBwvJjqxcauX9nfoeKtBK2UwF0PScM6RpqDBQ5Y1Z7atw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323749; c=relaxed/simple; bh=UDJCJA68KZXVJvBT+zW2Mxy5ai0v5gJxejglB49KUjQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f3wI62vd9meQ7XKDhgdfm5J8PYcHOw0AYF30m32wIrADOuKsxC50KcTs5w8ZXD4F69g/h3Dso1AxlDtklM91uIx3voHfxe2Dwug02PMSg00pLnX4H+zS/SqQ0+IxwEMZ0XjWbhnWRU6wN3I5/HrYxr5loZZaW/nrFi/RvXHGdFM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=REae+OKe; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="REae+OKe" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2165C433C7; Sun, 24 Mar 2024 23:42:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323749; bh=UDJCJA68KZXVJvBT+zW2Mxy5ai0v5gJxejglB49KUjQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=REae+OKeWNCqD4cyjqR12EtSnVig8PP+0yGMQasvhlJHwKmEGDnAof3Xo3X+0SshU 1rYNBXgFoxFg8uD0IUx9cwdOk1ej5Qm3vazshYdAgrmaGcTNMxDVm+QpmxTazXj8TV V6VE64f3yRv28GUWPY4l7gO54ypmWyELWYZ015TR1lmFBqc5GuVX6p2nfusSpz0Vt7 +rHl4tRUZymUIq+vLKsRHGZYGzOqXT9K/1qDgp3JFU6XQUsKARBm/J+z4u42Yz3rXH dnPf097u8Em/eNhhRQh2giwzv60+s3NYBtr8Z1/meWqOXTGBq4mHQv5qC4FZoN8a+D nJtJ/dlBe+6iA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Alexander Stein , Robert Foss , Sasha Levin Subject: [PATCH 5.10 124/238] media: tc358743: register v4l2 async device only after successful setup Date: Sun, 24 Mar 2024 19:38:32 -0400 Message-ID: <20240324234027.1354210-125-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alexander Stein [ Upstream commit 87399f1ff92203d65f1febf5919429f4bb613a02 ] Ensure the device has been setup correctly before registering the v4l2 async device, thus allowing userspace to access. Signed-off-by: Alexander Stein Reviewed-by: Robert Foss Fixes: 4c5211a10039 ("[media] tc358743: register v4l2 asynchronous subdevic= e") Signed-off-by: Robert Foss Link: https://patchwork.freedesktop.org/patch/msgid/20240110090111.458115-1= -alexander.stein@ew.tq-group.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/i2c/tc358743.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c index f21da11caf224..8bcb4b354c895 100644 --- a/drivers/media/i2c/tc358743.c +++ b/drivers/media/i2c/tc358743.c @@ -2108,9 +2108,6 @@ static int tc358743_probe(struct i2c_client *client) state->mbus_fmt_code =3D MEDIA_BUS_FMT_RGB888_1X24; =20 sd->dev =3D &client->dev; - err =3D v4l2_async_register_subdev(sd); - if (err < 0) - goto err_hdl; =20 mutex_init(&state->confctl_mutex); =20 @@ -2168,6 +2165,10 @@ static int tc358743_probe(struct i2c_client *client) if (err) goto err_work_queues; =20 + err =3D v4l2_async_register_subdev(sd); + if (err < 0) + goto err_work_queues; + v4l2_info(sd, "%s found @ 0x%x (%s)\n", client->name, client->addr << 1, client->adapter->name); =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A119517BB13; Sun, 24 Mar 2024 23:42:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323750; cv=none; b=m+XHDkN3E2VSvVCQga9OAYzaSuHRihqJzN3SvOng+PuVqZz+K1flB+M3FEnpjHEdNJtUQE5onnxvLn9GaHMhs/G2QlpGiFkhyKnTeB0VTyQrqfj4mEReK6mDX6mLf7qUiJchyPVgE7XKefHkLMZc/SpZK/Ao121ybudaboPWKhY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323750; c=relaxed/simple; bh=BEDj/bZZ8ydWaXAwhh7YWirDihFEP8hae+QSA1Zd6Mk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=FfvLc82HAB7eVKJSnXNAUNE9iZNH6jUlg8bwxyUj5gewwBGc/mHLVYaWtKmqBrvuMl1fJwqITCjJzAc7wYw1V/TCOj1K2vbcpfAeUPJY7rVsvEBCEAtAA/euzp7BR8gsbGW9oVXedFguVYeNelxIaFVfz4sboZ1BZD8THag5E1w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TOBgcZ09; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TOBgcZ09" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D858BC43390; Sun, 24 Mar 2024 23:42:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323750; bh=BEDj/bZZ8ydWaXAwhh7YWirDihFEP8hae+QSA1Zd6Mk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TOBgcZ09KuQgk9rAZVZPN4mCdpIkdYkjNfSAinZn/S2KGsc/EJU222CBajyTlQX37 FVpJo2kpSEyz2tMJFQ4+/Iv6Xz7lLjGGE1S7BKB2toiRybCoPChgXlbw3oX9iu6mMS ap8Ihgm6RvU9lzmq1N2oqHBAWoEDrewXNtQVMn1YF2m08p3PZ4lvU/R6T2CqYRR7h3 0i1Hy1yhDFEwTKiAPB0hK7SbkD9nG+WfWbNPqk2BBTa/guR84ODN5gmr4piifYfqNQ rR+w2otggq2drIvE4hHeJothtvQlMJJqVswVxJ67ukeGBbuItBi2z9kjelUbe5xk49 2io9FcRTSIpjA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Ilpo=20J=C3=A4rvinen?= , Bjorn Helgaas , Sasha Levin Subject: [PATCH 5.10 125/238] PCI/DPC: Print all TLP Prefixes, not just the first Date: Sun, 24 Mar 2024 19:38:33 -0400 Message-ID: <20240324234027.1354210-126-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Ilpo J=C3=A4rvinen [ Upstream commit 6568d82512b0a64809acff3d7a747362fa4288c8 ] The TLP Prefix Log Register consists of multiple DWORDs (PCIe r6.1 sec 7.9.14.13) but the loop in dpc_process_rp_pio_error() keeps reading from the first DWORD, so we print only the first PIO TLP Prefix (duplicated several times), and we never print the second, third, etc., Prefixes. Add the iteration count based offset calculation into the config read. Fixes: f20c4ea49ec4 ("PCI/DPC: Add eDPC support") Link: https://lore.kernel.org/r/20240118110815.3867-1-ilpo.jarvinen@linux.i= ntel.com Signed-off-by: Ilpo J=C3=A4rvinen [bhelgaas: add user-visible details to commit log] Signed-off-by: Bjorn Helgaas Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/pci/pcie/dpc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/pcie/dpc.c b/drivers/pci/pcie/dpc.c index f21d64ae4ffcc..cf0d4ba2e157a 100644 --- a/drivers/pci/pcie/dpc.c +++ b/drivers/pci/pcie/dpc.c @@ -231,7 +231,7 @@ static void dpc_process_rp_pio_error(struct pci_dev *pd= ev) =20 for (i =3D 0; i < pdev->dpc_rp_log_size - 5; i++) { pci_read_config_dword(pdev, - cap + PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG, &prefix); + cap + PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG + i * 4, &prefix); pci_err(pdev, "TLP Prefix Header: dw%d, %#010x\n", i, prefix); } clear_status: --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 80257282A91; Sun, 24 Mar 2024 23:42:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323752; cv=none; b=OxCqYRYv2zP9SZsiGUjY5iV6UiTBzyUJT3uyelxM8BrQ+RERDvI3aHLcO4v7KDpjg4848K1z58tjP8ZcA7HAcxVUrsvFcdMkfCO8GEqXM3wwzlxImRZ3TapoLLOA5mP2efWBR6e/LvJSxysByRJk/LVoTR2/p0MsQgmraRI+m8E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323752; c=relaxed/simple; bh=BBsdOgI7mqDDEImW93zb/FJvtoIILKLC7lgZTgI7w/c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JZMaqUAKt5vCk8cYw9X39k/kXSMhK9wiYicUUGf88h5ZQ5MKmPWTeP0w0dU3sH7Zz11qJxcwWZ9wxbjETvN8uDOAoVwgBw+EZWFNgtxgCxhrg2wKlRRJUT/sdmxNw2Ae7VNV0nJ6TJBVFNElMG39CFyd25cX9LJkrjQzvWRaqOw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=s8o+nE6M; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="s8o+nE6M" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C02B3C433C7; Sun, 24 Mar 2024 23:42:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323751; bh=BBsdOgI7mqDDEImW93zb/FJvtoIILKLC7lgZTgI7w/c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=s8o+nE6MjFc+WzogSrI0iCWmFBX6ZAocNYcAy4kx3rKogz+5e2Ut8yu3KW06rS8ls nTY+W9drb5f5UIJvPZRM1BGvfY8H2AfjSD0sFGaAe9Mjv4XTTy9vLAsodjF0/6cGG8 HNN7htlgVKJ59Gc+RHrLwT39T2dT2eZl6ibWK9DPZM5e/im6/pAeatG3Ktpai+FZrB UVA/z4Ia1lMX4cJhugOu8k+ZvqiDMt0PxGWJjcRcpaES1AOYmv8wjHGz/hPNcvyoBk NitujFheoOhAIcM9tZ93Y1vHv6O0lrI6GMF5mGkVfi6t3ilDAOfXMkRr1MzOwnpThf UBoWnLPPaj30A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Yang Jihong , Namhyung Kim , Sasha Levin Subject: [PATCH 5.10 126/238] perf record: Fix possible incorrect free in record__switch_output() Date: Sun, 24 Mar 2024 19:38:34 -0400 Message-ID: <20240324234027.1354210-127-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yang Jihong [ Upstream commit aff10a165201f6f60cff225083ce301ad3f5d8f1 ] perf_data__switch() may not assign a legal value to 'new_filename'. In this case, 'new_filename' uses the on-stack value, which may cause a incorrect free and unexpected result. Fixes: 03724b2e9c45 ("perf record: Allow to limit number of reported perf.d= ata files") Signed-off-by: Yang Jihong Acked-by: Namhyung Kim Link: https://lore.kernel.org/r/20240119040304.3708522-2-yangjihong1@huawei= .com Signed-off-by: Namhyung Kim Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- tools/perf/builtin-record.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index e5c938d538ee5..167cd8d3b7a21 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c @@ -1264,8 +1264,8 @@ static int record__switch_output(struct record *rec, bool at_exit) { struct perf_data *data =3D &rec->data; + char *new_filename =3D NULL; int fd, err; - char *new_filename; =20 /* Same Size: "2015122520103046"*/ char timestamp[] =3D "InvalidTimestamp"; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6580517BB0E; Sun, 24 Mar 2024 23:42:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323752; cv=none; b=TTcyDlE5AWKBF+ic+QV9WiFkuHdTclESVEr8Du3HyBi7L3Nccsaewzy9oDMyFw5ldbW5FxukqAcLvqhcVi4+iLZqMuR6+l2k4yu934VGwFfdBp+0H0sMezhTSaAd5BB2qjPcfMA40XqqSAajspb53RG1BeP2MPCfc6eXZosex2A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323752; c=relaxed/simple; bh=EhfoDP/XImJDzEgHFjKQbGQJRU+kHbEc34Ec+kJzGOQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CR96TazX3IWDuRPi90WLm0ksuVC17U5EI12tBZDqk2IY2/VLR8DCuLGYIzHGDDae2XLu1i0QpuZuyTKgWl2EW4hQyNG9pGL4xl5UduPjL0YWTFUqSGNS/+3SzZeCSiGFy1KFN43F+PE4QpRrhcI6gBkRDo9bHt6COYb+PXn/Zg0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ic4yJkPb; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ic4yJkPb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A3A17C433F1; Sun, 24 Mar 2024 23:42:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323752; bh=EhfoDP/XImJDzEgHFjKQbGQJRU+kHbEc34Ec+kJzGOQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ic4yJkPbI1P9IH5IbEOzli0jmdy0GmmPIxVGdhBglckzcSQEMk71QP7TKbz3yNk6x Z0uvwUYPd03+CnKxoViz5DbPyD+CgFSXwHAtDh3KqNkg9rwv8jgz1ALYvhLdi/R7pj dWxXvmPhFTzb6jGxbbToi6SslVrQcei2LS5GpwvVlPPrHyQtKg+1PggfQCvxF4lFS7 M29nYtXpI5tBrNFVsMR5xHV+7cPXKthf6Wb8FT2YhXcoZhEi78kS7Ti1tOc4ulXnNI uJT8F/36sIlVqJaHP4AlDG6th/p29mxYJ5yJCXhdyRb20WOngJXjEtLq6M0cQbKe9T nqgJZPPNAHjnw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mikhail Khvainitski , Jiri Kosina , Sasha Levin Subject: [PATCH 5.10 127/238] HID: lenovo: Add middleclick_workaround sysfs knob for cptkbd Date: Sun, 24 Mar 2024 19:38:35 -0400 Message-ID: <20240324234027.1354210-128-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mikhail Khvainitski [ Upstream commit 2814646f76f8518326964f12ff20aaee70ba154d ] Previous attempt to autodetect well-behaving patched firmware introduced in commit 46a0a2c96f0f ("HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround") has shown that there are false-positives on original firmware (on both 1st gen and 2nd gen keyboards) which causes the middle button click workaround to be mistakenly disabled. This commit adds explicit parameter to sysfs to control this workaround. Fixes: 46a0a2c96f0f ("HID: lenovo: Detect quirk-free fw on cptkbd and stop = applying workaround") Fixes: 43527a0094c1 ("HID: lenovo: Restrict detection of patched firmware o= nly to USB cptkbd") Signed-off-by: Mikhail Khvainitski Signed-off-by: Jiri Kosina Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/hid/hid-lenovo.c | 57 +++++++++++++++++++++++++++------------- 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/drivers/hid/hid-lenovo.c b/drivers/hid/hid-lenovo.c index 249af8d26fe78..c9fdeffbe1a9e 100644 --- a/drivers/hid/hid-lenovo.c +++ b/drivers/hid/hid-lenovo.c @@ -53,10 +53,10 @@ struct lenovo_drvdata { /* 0: Up * 1: Down (undecided) * 2: Scrolling - * 3: Patched firmware, disable workaround */ u8 middlebutton_state; bool fn_lock; + bool middleclick_workaround_cptkbd; }; =20 #define map_key_clear(c) hid_map_usage_clear(hi, usage, bit, max, EV_KEY, = (c)) @@ -418,6 +418,36 @@ static ssize_t attr_sensitivity_store_cptkbd(struct de= vice *dev, return count; } =20 +static ssize_t attr_middleclick_workaround_show_cptkbd(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + struct hid_device *hdev =3D to_hid_device(dev); + struct lenovo_drvdata *cptkbd_data =3D hid_get_drvdata(hdev); + + return snprintf(buf, PAGE_SIZE, "%u\n", + cptkbd_data->middleclick_workaround_cptkbd); +} + +static ssize_t attr_middleclick_workaround_store_cptkbd(struct device *dev, + struct device_attribute *attr, + const char *buf, + size_t count) +{ + struct hid_device *hdev =3D to_hid_device(dev); + struct lenovo_drvdata *cptkbd_data =3D hid_get_drvdata(hdev); + int value; + + if (kstrtoint(buf, 10, &value)) + return -EINVAL; + if (value < 0 || value > 1) + return -EINVAL; + + cptkbd_data->middleclick_workaround_cptkbd =3D !!value; + + return count; +} + =20 static struct device_attribute dev_attr_fn_lock =3D __ATTR(fn_lock, S_IWUSR | S_IRUGO, @@ -429,10 +459,16 @@ static struct device_attribute dev_attr_sensitivity_c= ptkbd =3D attr_sensitivity_show_cptkbd, attr_sensitivity_store_cptkbd); =20 +static struct device_attribute dev_attr_middleclick_workaround_cptkbd =3D + __ATTR(middleclick_workaround, S_IWUSR | S_IRUGO, + attr_middleclick_workaround_show_cptkbd, + attr_middleclick_workaround_store_cptkbd); + =20 static struct attribute *lenovo_attributes_cptkbd[] =3D { &dev_attr_fn_lock.attr, &dev_attr_sensitivity_cptkbd.attr, + &dev_attr_middleclick_workaround_cptkbd.attr, NULL }; =20 @@ -483,23 +519,7 @@ static int lenovo_event_cptkbd(struct hid_device *hdev, { struct lenovo_drvdata *cptkbd_data =3D hid_get_drvdata(hdev); =20 - if (cptkbd_data->middlebutton_state !=3D 3) { - /* REL_X and REL_Y events during middle button pressed - * are only possible on patched, bug-free firmware - * so set middlebutton_state to 3 - * to never apply workaround anymore - */ - if (hdev->product =3D=3D USB_DEVICE_ID_LENOVO_CUSBKBD && - cptkbd_data->middlebutton_state =3D=3D 1 && - usage->type =3D=3D EV_REL && - (usage->code =3D=3D REL_X || usage->code =3D=3D REL_Y)) { - cptkbd_data->middlebutton_state =3D 3; - /* send middle button press which was hold before */ - input_event(field->hidinput->input, - EV_KEY, BTN_MIDDLE, 1); - input_sync(field->hidinput->input); - } - + if (cptkbd_data->middleclick_workaround_cptkbd) { /* "wheel" scroll events */ if (usage->type =3D=3D EV_REL && (usage->code =3D=3D REL_WHEEL || usage->code =3D=3D REL_HWHEEL)) { @@ -976,6 +996,7 @@ static int lenovo_probe_cptkbd(struct hid_device *hdev) cptkbd_data->middlebutton_state =3D 0; cptkbd_data->fn_lock =3D true; cptkbd_data->sensitivity =3D 0x05; + cptkbd_data->middleclick_workaround_cptkbd =3D true; lenovo_features_set_cptkbd(hdev); =20 ret =3D sysfs_create_group(&hdev->dev.kobj, &lenovo_attr_group_cptkbd); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 17A5C17BB18; Sun, 24 Mar 2024 23:42:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323754; cv=none; b=gC0mbQVPWEJ6XImW2+hVBftxkVDSlkOj62uY+nZOL2MEQGGtGoteEDVUUD5COd9CvSFkcu36/HLMsM2fadEzKle7o0hNbhsK/N+gvXWUTmvX8yxlZ1Am5fHbwrn4jXYIn5/LvM42q7KQz3GiHYHpfbG2rYjSxYPe5B1OWVX/LUY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323754; c=relaxed/simple; bh=dfcRdPeTUVayWJRGEkGDb9i9+Ny8gRfj+JhkWtSCsHk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LUiCfcACHV9Fsxrj2FTaAZcW5a/Bf0IQXIOBCzLFsqEufhJB/xxVbmGzHrSZlhv/4vxQlQp3k3GYcTC3SX9Z/4i4vPscsDWAaIZrUPkmAXGzShrkpI6ZpQFJ/6kcztjwUmCkZ37RnDGtBSSBjoJxmjNcPwjy3XJbbdwF4UsJp+0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CurqQ5Pd; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="CurqQ5Pd" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89C32C43394; Sun, 24 Mar 2024 23:42:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323753; bh=dfcRdPeTUVayWJRGEkGDb9i9+Ny8gRfj+JhkWtSCsHk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CurqQ5PdV6Y8vVDCoXVTmsBQCOztTtJ29Nqw4ptDo+CGda6wzBpePDBy5P9sHAy8q GiuvuysI3aIbQ9/oFCXF78eFaqtd9iDScnnhKwhbphPFFfV+a0peMs8K0Mot2w60Na c+H1dh63361JEr9Qgw46BSJnUtTIJS2c6wtcfzDDXFEb4esSDxL8vBPyNihRuqfNp2 yO7gmxXsRktmrYIz/sJ3TgQsawhfa+u/kimyxvQedujChDzyAEfxHF4CcgNgoS72z0 xMaRxf+8R5JIodVoWvhXp8DCRvi+/fcfHKWBuGHj2+irMhbrm+K6kCwnwN5hW0p7Dl IDhQMDFjfPbXQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Srinivasan Shanmugam , Alex Hung , Qingqing Zhuo , Rodrigo Siqueira , Aurabindo Pillai , Alex Deucher , Harry Wentland , Sasha Levin Subject: [PATCH 5.10 128/238] drm/amd/display: Fix a potential buffer overflow in 'dp_dsc_clock_en_read()' Date: Sun, 24 Mar 2024 19:38:36 -0400 Message-ID: <20240324234027.1354210-129-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Srinivasan Shanmugam [ Upstream commit 4b09715f1504f1b6e8dff0e9643630610bc05141 ] Tell snprintf() to store at most 10 bytes in the output buffer instead of 30. Fixes the below: drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1508 dp= _dsc_clock_en_read() error: snprintf() is printing too much 30 vs 10 Fixes: c06e09b76639 ("drm/amd/display: Add DSC parameters logging to debugf= s") Cc: Alex Hung Cc: Qingqing Zhuo Cc: Rodrigo Siqueira Cc: Aurabindo Pillai Cc: Alex Deucher Signed-off-by: Srinivasan Shanmugam Reviewed-by: Harry Wentland Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c b/dr= ivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c index e43f82bcb231a..32dbd2a270887 100644 --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c @@ -1179,7 +1179,7 @@ static ssize_t dp_dsc_clock_en_read(struct file *f, c= har __user *buf, const uint32_t rd_buf_size =3D 10; struct pipe_ctx *pipe_ctx; ssize_t result =3D 0; - int i, r, str_len =3D 30; + int i, r, str_len =3D 10; =20 rd_buf =3D kcalloc(rd_buf_size, sizeof(char), GFP_KERNEL); =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1152C17C180; Sun, 24 Mar 2024 23:42:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323756; cv=none; b=LKwELuS530vjDxTYPVxJE/tdh9e2JPSU8Ja7uLnCr+iVT+2FRZp2dQoLac5QIazaAxYsof6WyZkf/pQkjLkVnThPb8c4Fsb+gOpVQ3PaOfFvVSejvTtYKVaKBMUFtUsoT37rs8VsQuAp+yHt+4Vl6rmfKM/WQTTKiv8ETET19ik= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323756; c=relaxed/simple; bh=2rcsvd97JtGVplEBrVhPiZV3D81CDlfHGkt6mfZmiLY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IJ6WATWvJDUcw4LITAqtCmHd5OU6sZPt3TndB1OvdYmnRHimh8aIY+n4viKmzkPh1vKF3QqqW6rvugMzzL1Aq80OSgfrJDKxigU89oz1rnGrJyAxFbbvQCxSRm1uKhu6k10FSJs65NfcB1rf8faaRQgHNLWohEbg8DyUOioe638= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oUKQh40o; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oUKQh40o" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DF057C433C7; Sun, 24 Mar 2024 23:42:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323754; bh=2rcsvd97JtGVplEBrVhPiZV3D81CDlfHGkt6mfZmiLY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oUKQh40oaAJj75CyMDmD3YbyMEY2uBTTX1pa2b3LP1jpjRxS9KPPL6VVIfQyYLeVs RweeysyaTkub11SQhq3YjOvUvqbI9151dbbHzX5GgNUc38kddfSYTzrtdDUvkvEyyI AtS3oxxpLM4tGn7dtADRjkHo9NWlTEwzgAW6cZGr1FXWXRYMujZmiLeSPt3Dr4Rb2k PwRWWg89jX3js3RycTVJI+JthYsnqF6x9XCLIp4qtp9ODUTt1HC/IHARWXTBxBbIhg N20q7bvLljT4R0sltP07sXhckCrxM+yjSsbtHSYWrESCDIUCj6+eykRmyvst6JbSge 6MYzUeS2+d45w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Srinivasan Shanmugam , Wyatt Wood , Anthony Koo , Rodrigo Siqueira , Aurabindo Pillai , Alex Deucher , Sasha Levin Subject: [PATCH 5.10 129/238] drm/amd/display: Fix potential NULL pointer dereferences in 'dcn10_set_output_transfer_func()' Date: Sun, 24 Mar 2024 19:38:37 -0400 Message-ID: <20240324234027.1354210-130-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Srinivasan Shanmugam [ Upstream commit 9ccfe80d022df7c595f1925afb31de2232900656 ] The 'stream' pointer is used in dcn10_set_output_transfer_func() before the check if 'stream' is NULL. Fixes the below: drivers/gpu/drm/amd/amdgpu/../display/dc/hwss/dcn10/dcn10_hwseq.c:1892 dcn1= 0_set_output_transfer_func() warn: variable dereferenced before check 'stre= am' (see line 1875) Fixes: ddef02de0d71 ("drm/amd/display: add null checks before logging") Cc: Wyatt Wood Cc: Anthony Koo Cc: Rodrigo Siqueira Cc: Aurabindo Pillai Signed-off-by: Srinivasan Shanmugam Reviewed-by: Anthony Koo Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c b/dr= ivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c index 1c669f115dd80..8cf6e307ae36e 100644 --- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c @@ -1669,6 +1669,9 @@ bool dcn10_set_output_transfer_func(struct dc *dc, st= ruct pipe_ctx *pipe_ctx, { struct dpp *dpp =3D pipe_ctx->plane_res.dpp; =20 + if (!stream) + return false; + if (dpp =3D=3D NULL) return false; =20 @@ -1691,8 +1694,8 @@ bool dcn10_set_output_transfer_func(struct dc *dc, st= ruct pipe_ctx *pipe_ctx, } else dpp->funcs->dpp_program_regamma_pwl(dpp, NULL, OPP_REGAMMA_BYPASS); =20 - if (stream !=3D NULL && stream->ctx !=3D NULL && - stream->out_transfer_func !=3D NULL) { + if (stream->ctx && + stream->out_transfer_func) { log_tf(stream->ctx, stream->out_transfer_func, dpp->regamma_params.hw_points_num); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1C4E217C18C; Sun, 24 Mar 2024 23:42:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323757; cv=none; b=m+OiBS/Yg00jF2opejbcoKL7v2YaN2MmVmScVHMGFfFkZyNYl9O82ZxA6GgPcq/TiZsFOW72O3QFqUBpZ4auuRhgWlwSpleHdyY9Cqh5b78LDbg5PwgQo5rG6eyzJPjPZQoXKlqUdl6hQ91F9vmu261y1QuZHxBLFwY5K7a9JVM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323757; c=relaxed/simple; bh=3vXI18eSmx91c3I9eECkPkzDJfQ1uc8BQ8OqRe3Mojw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=G0ZsX+CT8OD+KGQ4aSpmyP+9M+Wv/tXi5kxI2G//bTtmtI7rgf7Bn+P850z5vni8Z1jfv2t1+hcSJW7B0asqhErKzu7lYOUlPSr5TD8MLCXOWwHNiLCTUmu1h3wEkyx+vWGfpagBFA51rFgapO/SZSABjhjy18HblggAR8CXxWU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fTdsDpZ0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fTdsDpZ0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2D58EC43394; Sun, 24 Mar 2024 23:42:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323756; bh=3vXI18eSmx91c3I9eECkPkzDJfQ1uc8BQ8OqRe3Mojw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fTdsDpZ00zDNGuWC+MNSgKpL/5z6OvOVJy2Pos4F3dYVLnQ8KTBcPVkQdPrgkp2Dk 3LbEqKdlTR04rqcKdvpRZAXglWms4JpqwvozS4OdedMd/05xJ1Q25UIDDYqu41n+KZ YtSBiP80IdihOf1ngnmanZ9bwpBpdjFypLY3kOUQf5VxYYItTHQ8/GKbrhWBfyRYBf emb+jRILDVS3eSpYRag1dw41acIdpLE50jW7A90gppJka4xmJxtTFicmm5nJcxx8uw NoOs5U5/d+kSl4RXy16GT+jArcOpQzHpUClt099GZksJ1/ZpvT46lww9MFDLHc9XFw bUn8ohK7ZkpUQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Yang Jihong , Arnaldo Carvalho de Melo , Ian Rogers , Namhyung Kim , Sasha Levin Subject: [PATCH 5.10 130/238] perf evsel: Fix duplicate initialization of data->id in evsel__parse_sample() Date: Sun, 24 Mar 2024 19:38:38 -0400 Message-ID: <20240324234027.1354210-131-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yang Jihong [ Upstream commit 4962aec0d684c8edb14574ccd0da53e4926ff834 ] data->id has been initialized at line 2362, remove duplicate initialization. Fixes: 3ad31d8a0df2 ("perf evsel: Centralize perf_sample initialization") Signed-off-by: Yang Jihong Reviewed-by: Arnaldo Carvalho de Melo Reviewed-by: Ian Rogers Signed-off-by: Namhyung Kim Link: https://lore.kernel.org/r/20240127025756.4041808-1-yangjihong1@huawei= .com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- tools/perf/util/evsel.c | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c index 1a1cbd16d76d4..d9a4c0202a8c3 100644 --- a/tools/perf/util/evsel.c +++ b/tools/perf/util/evsel.c @@ -2109,7 +2109,6 @@ int evsel__parse_sample(struct evsel *evsel, union pe= rf_event *event, data->period =3D evsel->core.attr.sample_period; data->cpumode =3D event->header.misc & PERF_RECORD_MISC_CPUMODE_MASK; data->misc =3D event->header.misc; - data->id =3D -1ULL; data->data_src =3D PERF_MEM_DATA_SRC_NONE; =20 if (event->header.type !=3D PERF_RECORD_SAMPLE) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F170617C181; Sun, 24 Mar 2024 23:42:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323758; cv=none; b=ppczYrQcTA5adlBJHITQwLyIoquXLb/SMS091dJGdEnEbSq6Q++7RnlCs5CTB6a4A6E7XJuXdXjiniX2N/QU/QETVq3535MsjRN8X6bt7jCRp6xlFR+Ew0MXAczCp+q+zHerCkKYrF26nEkYyZP9ORxsnkY8PR9gMyXv1mg3wUc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323758; c=relaxed/simple; bh=AblLMCLKhGeVcNTlP4GxhDoq/j9RcxhSil5RYWBtqm4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aKY2yqez/1PXldSghVx8AmZ+pYw3V2tO4PcXK1nfE//b3lcP6FtLoKiWD1e/kF1vWPNmpoMBZ1hHsSPU+onDmTWnUK+vi3khRDJU8ZQboyktoTW1vAS/RX7hSDWta3e/y9bT0PJUq3YXrBEX9TJB/m0Z74Z65xVXh2qtgyKiUw0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XH2ftKwn; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XH2ftKwn" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D185C43390; Sun, 24 Mar 2024 23:42:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323756; bh=AblLMCLKhGeVcNTlP4GxhDoq/j9RcxhSil5RYWBtqm4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XH2ftKwnSue6kyLfNkpXFhL+aPBtwRizWuOrkmtvkTXMHQRPqCz3IAG1+GtX//6w/ 9I/8lKxW2YGK/gqz3qQJf25CQPTOmylrYp3ZbviN/yDO9g+/6Kn+6cjCOPWOu7rFrt zLhtlAESgy5G65L5IzWOC+WE8rMj1fFd5vwDtdGtfKKid40l/eo1ewuq5psu/eYB3s QFkTlKG/1JbQf7txAdsfKTK9+ZBwXBOONTbvihWffVqMNzl0nnkoBf+PRGcsC1gTDk MUb3jsiX8229iuwWNWHDoZQwtZtOQtuN/yR6rcaIptCcQBIW7VuNKbQapRRViYszde SdqLa4AGkFLNQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Johan Hovold , Bjorn Helgaas , Sasha Levin Subject: [PATCH 5.10 131/238] PCI/AER: Fix rootport attribute paths in ABI docs Date: Sun, 24 Mar 2024 19:38:39 -0400 Message-ID: <20240324234027.1354210-132-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Johan Hovold [ Upstream commit 0e7d29a39a546161ea3a49e8e282a43212d7ff68 ] The 'aer_stats' directory never made it into the sixth and final revision of the series adding the sysfs AER attributes. Link: https://lore.kernel.org/r/20240202131635.11405-2-johan+linaro@kernel.= org Link: https://lore.kernel.org/lkml/20180621184822.GB14136@bhelgaas-glaptop.= roam.corp.google.com/ Fixes: 12833017e581 ("PCI/AER: Add sysfs attributes for rootport cumulative= stats") Signed-off-by: Johan Hovold Signed-off-by: Bjorn Helgaas Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats b/Do= cumentation/ABI/testing/sysfs-bus-pci-devices-aer_stats index 860db53037a58..24087d5fd417a 100644 --- a/Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats +++ b/Documentation/ABI/testing/sysfs-bus-pci-devices-aer_stats @@ -100,19 +100,19 @@ collectors) that are AER capable. These indicate the = number of error messages as device, so these counters include them and are thus cumulative of all the = error messages on the PCI hierarchy originating at that root port. =20 -What: /sys/bus/pci/devices//aer_stats/aer_rootport_total_err_cor +What: /sys/bus/pci/devices//aer_rootport_total_err_cor Date: July 2018 KernelVersion: 4.19.0 Contact: linux-pci@vger.kernel.org, rajatja@google.com Description: Total number of ERR_COR messages reported to rootport. =20 -What: /sys/bus/pci/devices//aer_stats/aer_rootport_total_err_fatal +What: /sys/bus/pci/devices//aer_rootport_total_err_fatal Date: July 2018 KernelVersion: 4.19.0 Contact: linux-pci@vger.kernel.org, rajatja@google.com Description: Total number of ERR_FATAL messages reported to rootport. =20 -What: /sys/bus/pci/devices//aer_stats/aer_rootport_total_err_nonf= atal +What: /sys/bus/pci/devices//aer_rootport_total_err_nonfatal Date: July 2018 KernelVersion: 4.19.0 Contact: linux-pci@vger.kernel.org, rajatja@google.com --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED09317C18E; Sun, 24 Mar 2024 23:42:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323759; cv=none; b=e91Hq+FYrbAgUtH0Ktzwd68ACcdNgz4wSvPlWJb/B2hj/AbhmT4u5Qfa4XmZ9XXOv1jxtPj62xW/1TOR9hfjfEziqt0Na0wv5h9IuY3Sg+AAj5eJFD7Ragyq2R2BiAEB+f5bEQjCH8LK/Au7e0ZqQdqzimmFNPwa+HEq4CObcIQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323759; c=relaxed/simple; bh=MVy30skJmr/gnrE3NXzsrkaw9rfY27uWDHKUBovWHjA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=FsfOsWfeFW8dYPn3HI7eSiRfLDZNe5wHpIOSZ1UFQoO1SciNtIt258/rsY/I+UN8FqQWBq2QTaFu/xm/h2522imKsYQj+FwlBlRhi8hm8Wg2ED0DNPZWoLd9PFX4XyNNDzOkA1otRfwyZx3+RKP2oCMb99P4s7KKVzTbRk5Fy/E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZPBfR0bx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZPBfR0bx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 20B8BC433A6; Sun, 24 Mar 2024 23:42:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323757; bh=MVy30skJmr/gnrE3NXzsrkaw9rfY27uWDHKUBovWHjA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZPBfR0bxtw9yjR0nJeqRIatwE4je79zUOEufcped2TQorl0ugAZoSyt221j7grr0/ umGLwdBT9wdT64jfLlvd2Ns3D4keZc1uB+qHR46tHCvClYb7Xh7njO0a8vs5dTKlCa nC65ZVAPI8J8iCrx99gBjNx1w88CeCT/e3l7UnraFThHv6MG8R477OpQd+4eoG5Xni TQRRACkD+5AuyVhrQk1GuGMZQUdHtWgU5AWEqMeuv9LBn9FuGrYVxwLD8iSOrpp2js ey8IQvgBBM8ObE/xuj/n4zr2N9YiJihlLOgczAVshAWmuFDbJdV9LarM/rh9L49bX2 PkcZGqXwFHctw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Nikita Zhandarovich , Mauro Carvalho Chehab , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 132/238] media: em28xx: annotate unchecked call to media_device_register() Date: Sun, 24 Mar 2024 19:38:40 -0400 Message-ID: <20240324234027.1354210-133-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Nikita Zhandarovich [ Upstream commit fd61d77a3d28444b2635f0c8b5a2ecd6a4d94026 ] Static analyzers generate alerts for an unchecked call to `media_device_register()`. However, in this case, the device will work reliably without the media controller API. Add a comment above the call to prevent future unnecessary changes. Suggested-by: Mauro Carvalho Chehab Fixes: 37ecc7b1278f ("[media] em28xx: add media controller support") Signed-off-by: Nikita Zhandarovich Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/usb/em28xx/em28xx-cards.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/media/usb/em28xx/em28xx-cards.c b/drivers/media/usb/em= 28xx/em28xx-cards.c index 26408a972b443..5deee83132c62 100644 --- a/drivers/media/usb/em28xx/em28xx-cards.c +++ b/drivers/media/usb/em28xx/em28xx-cards.c @@ -4049,6 +4049,10 @@ static int em28xx_usb_probe(struct usb_interface *in= tf, * topology will likely change after the load of the em28xx subdrivers. */ #ifdef CONFIG_MEDIA_CONTROLLER + /* + * No need to check the return value, the device will still be + * usable without media controller API. + */ retval =3D media_device_register(dev->media_dev); #endif =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C9C5217C194; Sun, 24 Mar 2024 23:42:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323758; cv=none; b=p3Ki9IhI8DxRF0HErnRsk4zqpedFA6Rw6MJeARas7HNyfddPSIbLiSc+to/oDKXFBr0IozkLXIiyjxy/oLSllzDAuT5elyayi2XN+MG/J9i6ynbIZKUm8TLj7eMj/EB0QG9rTdqCvMcUY4z3/k0S60Obqm1Giprfg+IerFk7oes= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323758; c=relaxed/simple; bh=VybEtaiHM3RUVHWaxHA3J6K57xG86oXNEcOzIuXJSE4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qf53vZG64WYPwejOdaMsASZSI5uXUakgn5MSb6n3LX7nocd56Cf7C5L3H+SiYaAynQ2JgIrZQPR0UhDTYj+hOfY4UjK6FQCT8wqpqKQU+keCxhY4EZeT+dUAvaMXQzUst4cOw8KUkB5U8ch1uv1of6Sw/1x17BxxsVk6l3fgL3w= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=R5r8xYQX; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="R5r8xYQX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 197C1C43399; Sun, 24 Mar 2024 23:42:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323758; bh=VybEtaiHM3RUVHWaxHA3J6K57xG86oXNEcOzIuXJSE4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=R5r8xYQXEC298YDT/EbAroiynk62lajnPi06ok2aXaW3g3SL4FRmikMEp5nvcT5O2 6s8LRBmhVhbpOXHl5OU+7EIqgaIusSJcqcO09VvDQI5faAWkaTYzKZOibycHaVnfK8 RNuvByVFDOq56pHrneAGKxFCjHyF9+f+pinb/BcXtl1f9wj64FAfJzOhba3zbBdTF2 4qZHykXocCrG+mTIATtCkymzs5VHs1AbJ6Ulc8m/F8US3LUTfpdmxsCY36Rm/OS0rU Nfi94335wCdeqjDhkTjNi698+3XoOHNr1KBNFJnh10q5D8l7njDh1k+pfVKS0Fox5G CLRGs+3KsPbgw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Zhipeng Lu , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 133/238] media: v4l2-tpg: fix some memleaks in tpg_alloc Date: Sun, 24 Mar 2024 19:38:41 -0400 Message-ID: <20240324234027.1354210-134-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhipeng Lu [ Upstream commit 8cf9c5051076e0eb958f4361d50d8b0c3ee6691c ] In tpg_alloc, resources should be deallocated in each and every error-handling paths, since they are allocated in for statements. Otherwise there would be memleaks because tpg_free is called only when tpg_alloc return 0. Fixes: 63881df94d3e ("[media] vivid: add the Test Pattern Generator") Signed-off-by: Zhipeng Lu Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/common/v4l2-tpg/v4l2-tpg-core.c | 52 +++++++++++++++---- 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c b/drivers/media/= common/v4l2-tpg/v4l2-tpg-core.c index 7607b516a7c43..68968bfa2edc1 100644 --- a/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c +++ b/drivers/media/common/v4l2-tpg/v4l2-tpg-core.c @@ -113,6 +113,7 @@ int tpg_alloc(struct tpg_data *tpg, unsigned max_w) { unsigned pat; unsigned plane; + int ret =3D 0; =20 tpg->max_line_width =3D max_w; for (pat =3D 0; pat < TPG_MAX_PAT_LINES; pat++) { @@ -121,14 +122,18 @@ int tpg_alloc(struct tpg_data *tpg, unsigned max_w) =20 tpg->lines[pat][plane] =3D vzalloc(array3_size(max_w, 2, pixelsz)); - if (!tpg->lines[pat][plane]) - return -ENOMEM; + if (!tpg->lines[pat][plane]) { + ret =3D -ENOMEM; + goto free_lines; + } if (plane =3D=3D 0) continue; tpg->downsampled_lines[pat][plane] =3D vzalloc(array3_size(max_w, 2, pixelsz)); - if (!tpg->downsampled_lines[pat][plane]) - return -ENOMEM; + if (!tpg->downsampled_lines[pat][plane]) { + ret =3D -ENOMEM; + goto free_lines; + } } } for (plane =3D 0; plane < TPG_MAX_PLANES; plane++) { @@ -136,18 +141,45 @@ int tpg_alloc(struct tpg_data *tpg, unsigned max_w) =20 tpg->contrast_line[plane] =3D vzalloc(array_size(pixelsz, max_w)); - if (!tpg->contrast_line[plane]) - return -ENOMEM; + if (!tpg->contrast_line[plane]) { + ret =3D -ENOMEM; + goto free_contrast_line; + } tpg->black_line[plane] =3D vzalloc(array_size(pixelsz, max_w)); - if (!tpg->black_line[plane]) - return -ENOMEM; + if (!tpg->black_line[plane]) { + ret =3D -ENOMEM; + goto free_contrast_line; + } tpg->random_line[plane] =3D vzalloc(array3_size(max_w, 2, pixelsz)); - if (!tpg->random_line[plane]) - return -ENOMEM; + if (!tpg->random_line[plane]) { + ret =3D -ENOMEM; + goto free_contrast_line; + } } return 0; + +free_contrast_line: + for (plane =3D 0; plane < TPG_MAX_PLANES; plane++) { + vfree(tpg->contrast_line[plane]); + vfree(tpg->black_line[plane]); + vfree(tpg->random_line[plane]); + tpg->contrast_line[plane] =3D NULL; + tpg->black_line[plane] =3D NULL; + tpg->random_line[plane] =3D NULL; + } +free_lines: + for (pat =3D 0; pat < TPG_MAX_PAT_LINES; pat++) + for (plane =3D 0; plane < TPG_MAX_PLANES; plane++) { + vfree(tpg->lines[pat][plane]); + tpg->lines[pat][plane] =3D NULL; + if (plane =3D=3D 0) + continue; + vfree(tpg->downsampled_lines[pat][plane]); + tpg->downsampled_lines[pat][plane] =3D NULL; + } + return ret; } EXPORT_SYMBOL_GPL(tpg_alloc); =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD17917C19E; Sun, 24 Mar 2024 23:42:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323759; cv=none; b=lUZblm7ApVArkYTiJnFdhUDSBv0afq7/gpZPpF09I10SQysEGNOTrVh8WM8YEmQrD8L3XflP2Nh1mXCW9aydptBRWhw7CJpL7eAJe/72kjNQLTn+s4begbjpDR6oVq4u23I8eoG37IE132NrEi2LidVC+xOoHZpJh4JsFmRdZUw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323759; c=relaxed/simple; bh=lZi2nF932yfaJDHA0T9yEuil3WiBHFu4xjhRzOjRwU8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AmOeGBALKhMdlVxFxRaK/1ZVFGUf99vIe5e/08kaiDYedlgKIbc5SramDyLI9f8eMHrg9+7tk2j6ihFC7TKUz/CTqtf1usOcOzfmJ7GhkYaU7sgYUiacHJDIObWTw0hYYXX7R2DzX9Vmhi7TFaHuT6uxLN8nVc16jrpJ48DrYBU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AkFhEpyQ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AkFhEpyQ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EE6EEC433F1; Sun, 24 Mar 2024 23:42:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323759; bh=lZi2nF932yfaJDHA0T9yEuil3WiBHFu4xjhRzOjRwU8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AkFhEpyQjyvXmptwbBiY3LolvGtAUB+H+GaQBeCpNc7IM2UR6czMK8fU1DwOQhCxq jkMdj9w5+vPdhfiFZOKBhE5X1CUPphbjK0KA38IluD/eLPQAcnL4ZWlKRu0B+haLgU sz1PYf8VgQPmm/FoEi6rLE14xofwueEV6Wh3rLXUhlah0V+Ho485i3YbWwPBdMKVG+ 7Pd5+CZSBUuDev3GmjeV0EhXau52aLs3AYt+y3Z+cfbARYj5AjnGQkOJ4JPZKjgVDS MJwetYFLFtury08UXaBITIKE76IaLNIihMQmju/SOosg8icvSKYI9mTXQLH2Rl+ykO 5cmj75ePg/kGw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Zhipeng Lu , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 134/238] media: v4l2-mem2mem: fix a memleak in v4l2_m2m_register_entity Date: Sun, 24 Mar 2024 19:38:42 -0400 Message-ID: <20240324234027.1354210-135-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhipeng Lu [ Upstream commit 8f94b49a5b5d386c038e355bef6347298aabd211 ] The entity->name (i.e. name) is allocated in v4l2_m2m_register_entity but isn't freed in its following error-handling paths. This patch adds such deallocation to prevent memleak of entity->name. Fixes: be2fff656322 ("media: add helpers for memory-to-memory media control= ler") Signed-off-by: Zhipeng Lu Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/v4l2-core/v4l2-mem2mem.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-mem2mem.c b/drivers/media/v4l2-co= re/v4l2-mem2mem.c index ad14d52141067..56d320b1a1ca7 100644 --- a/drivers/media/v4l2-core/v4l2-mem2mem.c +++ b/drivers/media/v4l2-core/v4l2-mem2mem.c @@ -1053,11 +1053,17 @@ static int v4l2_m2m_register_entity(struct media_de= vice *mdev, entity->function =3D function; =20 ret =3D media_entity_pads_init(entity, num_pads, pads); - if (ret) + if (ret) { + kfree(entity->name); + entity->name =3D NULL; return ret; + } ret =3D media_device_register_entity(mdev, entity); - if (ret) + if (ret) { + kfree(entity->name); + entity->name =3D NULL; return ret; + } =20 return 0; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F49317C1A4; Sun, 24 Mar 2024 23:42:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323761; cv=none; b=SHuoF4RkmXlYWs0SayILJVOPokgT5aDcBilWymwE8/XaUw4j06HV9GsNemQz4rqRJOr49DicexG8H7ZqkGOhN28YZV12dDU03pfa7IERA2G6nbhn0nGOOikZKC17uL88RgVmnSS/cQZNjA3t5npnPP9qdU5QNxddu6Genk9y0po= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323761; c=relaxed/simple; bh=AMhjcr4iHcg/uPkM3R5hsZYfMAcH9jNbS1n+IIKneoc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tbeYsJqRbYYR6B4jxYkvXKhyhvSoxAyyPSP2cKtvxuqnu7QLPSuUTbYpaIFlcYRNq2R1JpG5wVqRv5/Q+/qCxmQrO0RpETqJm0xOJ9EvxeuWluTXOoFRGJu/ZsifqbPtZ+BvTqWr5H2jGt+HBcB10w5G3B92Cd6ozFdIaTPrNiA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QE/XbbGc; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QE/XbbGc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D0F89C433A6; Sun, 24 Mar 2024 23:42:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323760; bh=AMhjcr4iHcg/uPkM3R5hsZYfMAcH9jNbS1n+IIKneoc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QE/XbbGcMhSFnlR6mkqOX9OYVH0Tv85WCTB9rmgg1TenjvVPV+sJ/rdcE3SS77TMK HAjLtTRegKFLWokP8J/emyi0QyUN/CguI0SZaUJtQWBpmjEk9lBhi0HvxPFct7aDOo 13Q8cov9vAVdYKZzHHOVoEm1Wrs48rKtEJuU3ZWSvQtqxR+ByMDDvQyQddJpLSAQIe BuIVLLh5w7GXGzncSjul2Je4+HQxMUaasl1cTMeXPXd3oBV/TN+Y+6pa7lawx+3ZiV 9c6VTPPP3SdUqiWW6D4tnaak7YT3GRCBAzkzMb23ObsHRZF8Fc3Yx5whzhi5pUNkQj z/CTIh0Kj8ihQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Zhipeng Lu , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 5.10 135/238] media: edia: dvbdev: fix a use-after-free Date: Sun, 24 Mar 2024 19:38:43 -0400 Message-ID: <20240324234027.1354210-136-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhipeng Lu [ Upstream commit 8c64f4cdf4e6cc5682c52523713af8c39c94e6d5 ] In dvb_register_device, *pdvbdev is set equal to dvbdev, which is freed in several error-handling paths. However, *pdvbdev is not set to NULL after dvbdev's deallocation, causing use-after-frees in many places, for example, in the following call chain: budget_register |-> dvb_dmxdev_init |-> dvb_register_device |-> dvb_dmxdev_release |-> dvb_unregister_device |-> dvb_remove_device |-> dvb_device_put |-> kref_put When calling dvb_unregister_device, dmxdev->dvbdev (i.e. *pdvbdev in dvb_register_device) could point to memory that had been freed in dvb_register_device. Thereafter, this pointer is transferred to kref_put and triggering a use-after-free. Link: https://lore.kernel.org/linux-media/20240203134046.3120099-1-alexious= @zju.edu.cn Fixes: b61901024776 ("V4L/DVB (5244): Dvbdev: fix illegal re-usage of fileo= perations struct") Signed-off-by: Zhipeng Lu Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/dvb-core/dvbdev.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbde= v.c index 3a83e8e092568..23a0c209744dc 100644 --- a/drivers/media/dvb-core/dvbdev.c +++ b/drivers/media/dvb-core/dvbdev.c @@ -504,6 +504,7 @@ int dvb_register_device(struct dvb_adapter *adap, struc= t dvb_device **pdvbdev, dvbdevfops =3D kmemdup(template->fops, sizeof(*dvbdevfops), GFP_KERNEL); if (!dvbdevfops) { kfree(dvbdev); + *pdvbdev =3D NULL; mutex_unlock(&dvbdev_register_lock); return -ENOMEM; } @@ -512,6 +513,7 @@ int dvb_register_device(struct dvb_adapter *adap, struc= t dvb_device **pdvbdev, if (!new_node) { kfree(dvbdevfops); kfree(dvbdev); + *pdvbdev =3D NULL; mutex_unlock(&dvbdev_register_lock); return -ENOMEM; } @@ -545,6 +547,7 @@ int dvb_register_device(struct dvb_adapter *adap, struc= t dvb_device **pdvbdev, } list_del (&dvbdev->list_head); kfree(dvbdev); + *pdvbdev =3D NULL; up_write(&minor_rwsem); mutex_unlock(&dvbdev_register_lock); return -EINVAL; @@ -567,6 +570,7 @@ int dvb_register_device(struct dvb_adapter *adap, struc= t dvb_device **pdvbdev, dvb_media_device_free(dvbdev); list_del (&dvbdev->list_head); kfree(dvbdev); + *pdvbdev =3D NULL; mutex_unlock(&dvbdev_register_lock); return ret; } @@ -585,6 +589,7 @@ int dvb_register_device(struct dvb_adapter *adap, struc= t dvb_device **pdvbdev, dvb_media_device_free(dvbdev); list_del (&dvbdev->list_head); kfree(dvbdev); + *pdvbdev =3D NULL; mutex_unlock(&dvbdev_register_lock); return PTR_ERR(clsdev); } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86BCF17C1AD; Sun, 24 Mar 2024 23:42:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323762; cv=none; b=cAP2Gt37set3+897amFK2TXKRwgpVyFDrIc/HBsTsjQapTcPaf6xUnYMalgsNz8/zZbsGOq+DIsTyGF8acRBT5tTn+AtLdm2cyyhha+AVe/+6T5EW16e0QWpn7fWUIacSRkflweqXnx80snwMPcj/VXQgNVxRbn30h9yQsdPdcA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323762; c=relaxed/simple; bh=J5+ydmUTB6GHW5Flj4avryRijwC5zl0W+aYGABAuqX8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Xin9ItnW6cFwM3uMHGie9A5p3Q0iL0zdvoaTUiBHVPmtkH0ySbGdO0If7lg8zwYUptEJ0i5krdYneWYp0HWAV/Z3yBA9/5OFDqz+tPZ1A8YUfbSiHq7jVTTijFXEZaBIVqv8TlX5W071W2kayzZRstwH9f+gWc3mXjsFUjBYlW0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LXiIbMVr; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LXiIbMVr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B50C6C43399; Sun, 24 Mar 2024 23:42:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323761; bh=J5+ydmUTB6GHW5Flj4avryRijwC5zl0W+aYGABAuqX8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LXiIbMVrn9aFZI9gyfoB+RoKKRWvmbhZFXtLq8hfoRsO8ait6bjEvkDtVpbXHaQaF ivIv8f9R+dx+Z6IcolwwhYm/x5s7+rG4jTmxQz+JaZnfy9NCUdzMzz1Vi0BEXD14ND bCHSqGC8nKbEidpT4iVC5SMpdKbGGyviNyDTVsgX2fZLplw0D47MsXuh4ERSlKY/nm jAyu6JdheRknh05Cso+xNs2w55pSlBm3jaREE3GwYkhc89KLeNkxgiWqXv+MISG/Hu SCI3fW0/A/dKMTyKA+m+ATZIlI8KUJyG9apiqwiMqcEoZpCWN7iykAeBgPfgwj1Vcd 8nN9P3OBdBkAw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Chen-Yu Tsai , AngeloGioacchino Del Regno , Linus Walleij , Sasha Levin Subject: [PATCH 5.10 136/238] pinctrl: mediatek: Drop bogus slew rate register range for MT8192 Date: Sun, 24 Mar 2024 19:38:44 -0400 Message-ID: <20240324234027.1354210-137-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Chen-Yu Tsai [ Upstream commit e15ab05a6b3ed42f2f43f8bd1a1abdbde64afecd ] The MT8192 does not support configuring pin slew rate. This is evident from both the datasheet, and the fact that the driver points the slew rate register range at the GPIO direction register range. Drop the bogus setting. Fixes: d32f38f2a8fc ("pinctrl: mediatek: Add pinctrl driver for mt8192") Signed-off-by: Chen-Yu Tsai Reviewed-by: AngeloGioacchino Del Regno Link: https://lore.kernel.org/r/20240131071910.3950450-2-wenst@chromium.org Signed-off-by: Linus Walleij Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/pinctrl/mediatek/pinctrl-mt8192.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/pinctrl/mediatek/pinctrl-mt8192.c b/drivers/pinctrl/me= diatek/pinctrl-mt8192.c index 0c16b2c756bf3..f3020e3c8533b 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mt8192.c +++ b/drivers/pinctrl/mediatek/pinctrl-mt8192.c @@ -1346,7 +1346,6 @@ static const struct mtk_pin_reg_calc mt8192_reg_cals[= PINCTRL_PIN_REG_MAX] =3D { [PINCTRL_PIN_REG_DIR] =3D MTK_RANGE(mt8192_pin_dir_range), [PINCTRL_PIN_REG_DI] =3D MTK_RANGE(mt8192_pin_di_range), [PINCTRL_PIN_REG_DO] =3D MTK_RANGE(mt8192_pin_do_range), - [PINCTRL_PIN_REG_SR] =3D MTK_RANGE(mt8192_pin_dir_range), [PINCTRL_PIN_REG_SMT] =3D MTK_RANGE(mt8192_pin_smt_range), [PINCTRL_PIN_REG_IES] =3D MTK_RANGE(mt8192_pin_ies_range), [PINCTRL_PIN_REG_PU] =3D MTK_RANGE(mt8192_pin_pu_range), --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7EFA217C1AC; Sun, 24 Mar 2024 23:42:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323762; cv=none; b=P5K/vTXI3qNNxcLYH4bOB5W9sh2SvCOKL0Zb5lqqflMiEwiOQXEOdq1Yxc9lxY/hflL+5e9lpJf4P1+8paNzLKt9NaFJlhb2/ot0nCQ0uoRVIyWSDzrgIua8WM2FzW+ErRHrRcJ8OLLcXRMwOSVxIq2M3q6ng521OIMHl3LXt8I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323762; c=relaxed/simple; bh=uIDSKaGEKevri4m+701P4fwqcj5BZkuhrTLKSp6QbB8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fY9d7MuLAmVuH4l9EWzt//wFWl8yQtLmc7/KaR3m7aW7DSTwUWZKQ6P3QS6TginTgoTQbw4TIzS9/X46hdfLsHEmxSQvwNzalcH3Qcmeq2xdyyOg3nozLjoTkKS4on1DPFfA6v4SqW9BPt+DPnk9EvMXKC7BJ4Giu24Wxqtxqxo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=l1ljm1ou; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="l1ljm1ou" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AA850C433C7; Sun, 24 Mar 2024 23:42:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323762; bh=uIDSKaGEKevri4m+701P4fwqcj5BZkuhrTLKSp6QbB8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=l1ljm1ouMtN0l3hyUpyA635vgThspR333XAgRIBT7mBl1GEeR2CUnFv/hGHlZGIjS LgNfEn7dA3u+rifoG7PAwYFlI4HEXCA0q6bpusRccqxOM7O02Fa1y0V4PprIiEelyT 70+IYgg+ES8FUrGyvTjKXHBaBkVeLJH6oWPhqAQtboujAFd1EpRcl9Z/BuoRUu5/7s lr5wf62/HEQYmxumKlhOgSaKV+Q+hDIy2UiQHDqS8zzIxxfc6ef6MH0TGr4gQq8jls X6nI3FPYbyRXD2DW2IgZKs7wGcNziTEcZoZxuvXDLoNZiJXnHdrpfFM4mzHxu4J1rf p/IVvoAcuGD3Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Konrad Dybcio , Bryan O'Donoghue , Bjorn Andersson , Sasha Levin Subject: [PATCH 5.10 137/238] clk: qcom: reset: Commonize the de/assert functions Date: Sun, 24 Mar 2024 19:38:45 -0400 Message-ID: <20240324234027.1354210-138-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Konrad Dybcio [ Upstream commit eda40d9c583e95e0b6ac69d2950eec10f802e0e8 ] They do the same thing, except the last argument of the last function call differs. Commonize them. Reviewed-by: Bryan O'Donoghue Signed-off-by: Konrad Dybcio Link: https://lore.kernel.org/r/20240105-topic-venus_reset-v2-2-c37eba13b5c= e@linaro.org Signed-off-by: Bjorn Andersson Stable-dep-of: 2f8cf2c3f3e3 ("clk: qcom: reset: Ensure write completion on = reset de/assertion") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/clk/qcom/reset.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/drivers/clk/qcom/reset.c b/drivers/clk/qcom/reset.c index e45e32804d2c7..20d1d35aaf229 100644 --- a/drivers/clk/qcom/reset.c +++ b/drivers/clk/qcom/reset.c @@ -22,8 +22,8 @@ static int qcom_reset(struct reset_controller_dev *rcdev,= unsigned long id) return 0; } =20 -static int -qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned long id) +static int qcom_reset_set_assert(struct reset_controller_dev *rcdev, + unsigned long id, bool assert) { struct qcom_reset_controller *rst; const struct qcom_reset_map *map; @@ -33,21 +33,17 @@ qcom_reset_assert(struct reset_controller_dev *rcdev, u= nsigned long id) map =3D &rst->reset_map[id]; mask =3D map->bitmask ? map->bitmask : BIT(map->bit); =20 - return regmap_update_bits(rst->regmap, map->reg, mask, mask); + return regmap_update_bits(rst->regmap, map->reg, mask, assert ? mask : 0); } =20 -static int -qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigned long id) +static int qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned = long id) { - struct qcom_reset_controller *rst; - const struct qcom_reset_map *map; - u32 mask; - - rst =3D to_qcom_reset_controller(rcdev); - map =3D &rst->reset_map[id]; - mask =3D map->bitmask ? map->bitmask : BIT(map->bit); + return qcom_reset_set_assert(rcdev, id, true); +} =20 - return regmap_update_bits(rst->regmap, map->reg, mask, 0); +static int qcom_reset_deassert(struct reset_controller_dev *rcdev, unsigne= d long id) +{ + return qcom_reset_set_assert(rcdev, id, false); } =20 const struct reset_control_ops qcom_reset_ops =3D { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 673EF17C1AB; Sun, 24 Mar 2024 23:42:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323764; cv=none; b=naWNleIEOmp+4gke59IKHThJ45NXJH/wYiyXax8gQcIeFJ0iONy1kKkxwLlx5mCBOfqPh59DmXS6ZjPe0JAs2stgerxBdCpiPw95XP8nLnVKprHh2u9uGkdIgQHP+hHHZR9EXaPf3pJNxJElSqTwG54KnzusypGU9XouCI12pD8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323764; c=relaxed/simple; bh=pCc5yRqiW7zrM8WJbTTAP0OTtZg+beqdp63g2hcZTaQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=a8RWV6hMl/KQmOmkz/ZhnKu0PIJ7g6l3hzAbTZRZMoEDmPvfFvwuvhxfv+swC3FRJkOUqj0vL6WXk7kEQYe30T9l/0eKZqSh36IdS9NmeXhzsmj12vcxY1Sd3cn7HnINuSPgJxPWb2a/kt3ZvZd7COvzHr680X/iwHJN9AUY6NE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=T7QOd7Ye; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="T7QOd7Ye" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A23C3C433F1; Sun, 24 Mar 2024 23:42:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323763; bh=pCc5yRqiW7zrM8WJbTTAP0OTtZg+beqdp63g2hcZTaQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=T7QOd7Yen92fPiIdUlknPOd3QHtUW5L1+UKJ5/+gtJM/9nN0mNG2wxBnKy7prLs5d DHy8oIHGIPVmBh2csMNjQGPbOjBQyjAInToMBKRQiKwAw6yGe2sFYrtBzPgOlwZD2p UOA8iy9h4gPH7741l58ZscxsdqmqSWqOx9pXNDrP+f9I2zl3PCdj02c2bYYwhT00FU woiMbYBJLdfTID/oEmSI7jG+s1UjJm/z08FmuMXWM8VmLIGf0cg4iHXMNV0M/v65IS 54PnshexYF31xm8vpn0rWYbAhHgCjVfnx6KF4QYC5LIp7zCTuU/HoPr7Mdg89GbYFH vjXmnzzuuwyvQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Konrad Dybcio , Bjorn Andersson , Sasha Levin Subject: [PATCH 5.10 138/238] clk: qcom: reset: Ensure write completion on reset de/assertion Date: Sun, 24 Mar 2024 19:38:46 -0400 Message-ID: <20240324234027.1354210-139-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Konrad Dybcio [ Upstream commit 2f8cf2c3f3e3f7ef61bd19abb4b0bb797ad50aaf ] Trying to toggle the resets in a rapid fashion can lead to the changes not actually arriving at the clock controller block when we expect them to. This was observed at least on SM8250. Read back the value after regmap_update_bits to ensure write completion. Fixes: b36ba30c8ac6 ("clk: qcom: Add reset controller support") Signed-off-by: Konrad Dybcio Link: https://lore.kernel.org/r/20240105-topic-venus_reset-v2-3-c37eba13b5c= e@linaro.org Signed-off-by: Bjorn Andersson Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/clk/qcom/reset.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/clk/qcom/reset.c b/drivers/clk/qcom/reset.c index 20d1d35aaf229..d96c96a9089f4 100644 --- a/drivers/clk/qcom/reset.c +++ b/drivers/clk/qcom/reset.c @@ -33,7 +33,12 @@ static int qcom_reset_set_assert(struct reset_controller= _dev *rcdev, map =3D &rst->reset_map[id]; mask =3D map->bitmask ? map->bitmask : BIT(map->bit); =20 - return regmap_update_bits(rst->regmap, map->reg, mask, assert ? mask : 0); + regmap_update_bits(rst->regmap, map->reg, mask, assert ? mask : 0); + + /* Read back the register to ensure write completion, ignore the value */ + regmap_read(rst->regmap, map->reg, &mask); + + return 0; } =20 static int qcom_reset_assert(struct reset_controller_dev *rcdev, unsigned = long id) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 41A3517C1B9; Sun, 24 Mar 2024 23:42:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323764; cv=none; b=HY3XEBDuUXadD84pTnmmMLoHmNZoYpDZ+HJirYyvqQxJM4I6u9LzyuLDnBJQfbAOunilIMlb7aVFWc72C8wI93VuzYJ3DxX6+8AWRYYxCMNUuRVqXvlyRxyydtpDv8ARpYjREE9M482AMBS0y6RrvZdwecUx/zJ9k4QjMDeLgjA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323764; c=relaxed/simple; bh=LUwAgY9AFS5H24DW5CL0FsfF5bTpkJWEwv2x3HfD1fM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=d440quKme5drU7+gp2I8pWydrMs0YUCXvd3jYkgeQVsqKVKiVLJf0w97J1KSpgQsLpp/Bccwt+SxtafhIgJoYfY7S0zbQLcL4PxIa8kgRzu4GOIJ+fleXwYCZxlo2SRj9cmhrLuBgCFNoVe19c+87HdrUMrx++USSsaumf2fw3c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Y49Nlfg/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Y49Nlfg/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8233BC433C7; Sun, 24 Mar 2024 23:42:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323764; bh=LUwAgY9AFS5H24DW5CL0FsfF5bTpkJWEwv2x3HfD1fM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Y49Nlfg/OTo+0hy4RdH9awwduFDrnq4MsRxb4mxd/0QUnN4UuYqUIn1HvAp9WljwR /BMknwyFlCBTqOcEczP2BM49e0kuXf7BKYnSQRUdg7vIMHQR11CcrCnXD9TTYN6GXY Ucs4nCMofzWECBj04eLaEUdZ6KFeS3/Bdqi/YcYakaxa8jpmgXNzqUMlEttsZg93BZ pew5rp9rfExm1++LchhH+PqZPqQGRXvlvOvOBxbf718tuvLTAqyGyEmXXiowEbKEka IWLnMS56J/c9DauJ/wjKzbKpMRV7TSCMbXN85Bmc+AH8ugpEBVIVPy6U3V26yhXJqF cfLFTpMTpffeA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Baokun Li , Jan Kara , Sasha Levin Subject: [PATCH 5.10 139/238] quota: simplify drop_dquot_ref() Date: Sun, 24 Mar 2024 19:38:47 -0400 Message-ID: <20240324234027.1354210-140-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Baokun Li [ Upstream commit 7bce48f0fec602b3b6c335963b26d9eefa417788 ] As Honza said, remove_inode_dquot_ref() currently does not release the last dquot reference but instead adds the dquot to tofree_head list. This is because dqput() can sleep while dropping of the last dquot reference (writing back the dquot and calling ->release_dquot()) and that must not happen under dq_list_lock. Now that dqput() queues the final dquot cleanup into a workqueue, remove_inode_dquot_ref() can call dqput() unconditionally and we can significantly simplify it. Here we open code the simplified code of remove_inode_dquot_ref() into remove_dquot_ref() and remove the function put_dquot_list() which is no longer used. Signed-off-by: Baokun Li Signed-off-by: Jan Kara Message-Id: <20230630110822.3881712-6-libaokun1@huawei.com> Stable-dep-of: 179b8c97ebf6 ("quota: Fix rcu annotations of inode dquot poi= nters") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/quota/dquot.c | 70 +++++++----------------------------------------- 1 file changed, 9 insertions(+), 61 deletions(-) diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 4bb4b4b79827a..77578332e35ae 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -1086,59 +1086,7 @@ static int add_dquot_ref(struct super_block *sb, int= type) return err; } =20 -/* - * Remove references to dquots from inode and add dquot to list for freeing - * if we have the last reference to dquot - */ -static void remove_inode_dquot_ref(struct inode *inode, int type, - struct list_head *tofree_head) -{ - struct dquot **dquots =3D i_dquot(inode); - struct dquot *dquot =3D dquots[type]; - - if (!dquot) - return; - - dquots[type] =3D NULL; - if (list_empty(&dquot->dq_free)) { - /* - * The inode still has reference to dquot so it can't be in the - * free list - */ - spin_lock(&dq_list_lock); - list_add(&dquot->dq_free, tofree_head); - spin_unlock(&dq_list_lock); - } else { - /* - * Dquot is already in a list to put so we won't drop the last - * reference here. - */ - dqput(dquot); - } -} - -/* - * Free list of dquots - * Dquots are removed from inodes and no new references can be got so we a= re - * the only ones holding reference - */ -static void put_dquot_list(struct list_head *tofree_head) -{ - struct list_head *act_head; - struct dquot *dquot; - - act_head =3D tofree_head->next; - while (act_head !=3D tofree_head) { - dquot =3D list_entry(act_head, struct dquot, dq_free); - act_head =3D act_head->next; - /* Remove dquot from the list so we won't have problems... */ - list_del_init(&dquot->dq_free); - dqput(dquot); - } -} - -static void remove_dquot_ref(struct super_block *sb, int type, - struct list_head *tofree_head) +static void remove_dquot_ref(struct super_block *sb, int type) { struct inode *inode; #ifdef CONFIG_QUOTA_DEBUG @@ -1155,11 +1103,16 @@ static void remove_dquot_ref(struct super_block *sb= , int type, */ spin_lock(&dq_data_lock); if (!IS_NOQUOTA(inode)) { + struct dquot **dquots =3D i_dquot(inode); + struct dquot *dquot =3D dquots[type]; + #ifdef CONFIG_QUOTA_DEBUG if (unlikely(inode_get_rsv_space(inode) > 0)) reserved =3D 1; #endif - remove_inode_dquot_ref(inode, type, tofree_head); + dquots[type] =3D NULL; + if (dquot) + dqput(dquot); } spin_unlock(&dq_data_lock); } @@ -1176,13 +1129,8 @@ static void remove_dquot_ref(struct super_block *sb,= int type, /* Gather all references from inodes and drop them */ static void drop_dquot_ref(struct super_block *sb, int type) { - LIST_HEAD(tofree_head); - - if (sb->dq_op) { - remove_dquot_ref(sb, type, &tofree_head); - synchronize_srcu(&dquot_srcu); - put_dquot_list(&tofree_head); - } + if (sb->dq_op) + remove_dquot_ref(sb, type); } =20 static inline --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21DA117BB25; Sun, 24 Mar 2024 23:42:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323766; cv=none; b=UJp6GzY6WJrqdkNnBHwD8fMq7Jnvmlh0gFVF990JeDCRdCHVfsJ4RyBQI1te8SD5Xf6XXA5bk0O6/QKqfyyqLr0Wn4tSkBQcPBI4REciS87myTcLsQpMpCpOuHSfy+mENi0Xcl0KjYr5ZlqdpfcEQxD1rkco1PRo2KGFgr0xV+o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323766; c=relaxed/simple; bh=pWTdEafqnwz0t2R//u3qHlLZPkTkESyZ/4bwNpLUyX4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GpfOS8ut4RT1G68xQR6d7w3oXCJS2FMe3YU4+BShzryI3+RgKKjGP5nk2OS04RAQk8QpwYl0B+I23c0PLdubhTYSn1AC8vXjd3tLubdk8lhvzSzeBymyxjIAd5XIY7+RqmHgUly0FrvJqrH53x7CZuAY674LjVXdkAetdb1MlLI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=HpJE57HJ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="HpJE57HJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63EF8C43394; Sun, 24 Mar 2024 23:42:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323765; bh=pWTdEafqnwz0t2R//u3qHlLZPkTkESyZ/4bwNpLUyX4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=HpJE57HJRk7d2Bz78b86SmdGVXGearzsRZekfYKI6xEd7x+E0gjRwlz+z3NUTbC2c ehf1smbObfp8NWD+Cdpa8oZt13WYff9XMOiH9sC2hyCpGuVnjhA29sgS/t6mDpYaxH Lw6liLEANCTA0kdbdkG9GVjm6FessSAczPiddgLLwFdcBSD7F55MEQSZaSwEFWdLBn szVOT0J9vKeJzRn0ZW8REauwDEHPros/bQw3EX0jlFIPH/SfrnozK1U5w8sej8KQLj ril+Ankx17VnC8hooFUgu4gnRkXsu7DrUVwUatLZJwXVBbaP4Tw7dtfnHZkaQNINfr jzZw/kcldNQrg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Wang Jianjian , Jan Kara , Sasha Levin Subject: [PATCH 5.10 140/238] quota: Fix potential NULL pointer dereference Date: Sun, 24 Mar 2024 19:38:48 -0400 Message-ID: <20240324234027.1354210-141-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Wang Jianjian [ Upstream commit d0aa72604fbd80c8aabb46eda00535ed35570f1f ] Below race may cause NULL pointer dereference P1 P2 dquot_free_inode quota_off drop_dquot_ref remove_dquot_ref dquots =3D i_dquot(inode) dquots =3D i_dquot(inode) srcu_read_lock dquots[cnt]) !=3D NULL (1) dquots[type] =3D NULL (2) spin_lock(&dquots[cnt]->dq_dqb_lock) (3) .... If dquot_free_inode(or other routines) checks inode's quota pointers (1) before quota_off sets it to NULL(2) and use it (3) after that, NULL pointer dereference will be triggered. So let's fix it by using a temporary pointer to avoid this issue. Signed-off-by: Wang Jianjian Signed-off-by: Jan Kara Message-Id: <20240202081852.2514092-1-wangjianjian3@huawei.com> Stable-dep-of: 179b8c97ebf6 ("quota: Fix rcu annotations of inode dquot poi= nters") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/quota/dquot.c | 98 ++++++++++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 41 deletions(-) diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 77578332e35ae..3f19ef2cc186d 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -401,15 +401,17 @@ int dquot_mark_dquot_dirty(struct dquot *dquot) EXPORT_SYMBOL(dquot_mark_dquot_dirty); =20 /* Dirtify all the dquots - this can block when journalling */ -static inline int mark_all_dquot_dirty(struct dquot * const *dquot) +static inline int mark_all_dquot_dirty(struct dquot * const *dquots) { int ret, err, cnt; + struct dquot *dquot; =20 ret =3D err =3D 0; for (cnt =3D 0; cnt < MAXQUOTAS; cnt++) { - if (dquot[cnt]) + dquot =3D srcu_dereference(dquots[cnt], &dquot_srcu); + if (dquot) /* Even in case of error we have to continue */ - ret =3D mark_dquot_dirty(dquot[cnt]); + ret =3D mark_dquot_dirty(dquot); if (!err) err =3D ret; } @@ -1686,6 +1688,7 @@ int __dquot_alloc_space(struct inode *inode, qsize_t = number, int flags) struct dquot_warn warn[MAXQUOTAS]; int reserve =3D flags & DQUOT_SPACE_RESERVE; struct dquot **dquots; + struct dquot *dquot; =20 if (!inode_quota_active(inode)) { if (reserve) { @@ -1705,27 +1708,26 @@ int __dquot_alloc_space(struct inode *inode, qsize_= t number, int flags) index =3D srcu_read_lock(&dquot_srcu); spin_lock(&inode->i_lock); for (cnt =3D 0; cnt < MAXQUOTAS; cnt++) { - if (!dquots[cnt]) + dquot =3D srcu_dereference(dquots[cnt], &dquot_srcu); + if (!dquot) continue; if (reserve) { - ret =3D dquot_add_space(dquots[cnt], 0, number, flags, - &warn[cnt]); + ret =3D dquot_add_space(dquot, 0, number, flags, &warn[cnt]); } else { - ret =3D dquot_add_space(dquots[cnt], number, 0, flags, - &warn[cnt]); + ret =3D dquot_add_space(dquot, number, 0, flags, &warn[cnt]); } if (ret) { /* Back out changes we already did */ for (cnt--; cnt >=3D 0; cnt--) { - if (!dquots[cnt]) + dquot =3D srcu_dereference(dquots[cnt], &dquot_srcu); + if (!dquot) continue; - spin_lock(&dquots[cnt]->dq_dqb_lock); + spin_lock(&dquot->dq_dqb_lock); if (reserve) - dquot_free_reserved_space(dquots[cnt], - number); + dquot_free_reserved_space(dquot, number); else - dquot_decr_space(dquots[cnt], number); - spin_unlock(&dquots[cnt]->dq_dqb_lock); + dquot_decr_space(dquot, number); + spin_unlock(&dquot->dq_dqb_lock); } spin_unlock(&inode->i_lock); goto out_flush_warn; @@ -1756,6 +1758,7 @@ int dquot_alloc_inode(struct inode *inode) int cnt, ret =3D 0, index; struct dquot_warn warn[MAXQUOTAS]; struct dquot * const *dquots; + struct dquot *dquot; =20 if (!inode_quota_active(inode)) return 0; @@ -1766,17 +1769,19 @@ int dquot_alloc_inode(struct inode *inode) index =3D srcu_read_lock(&dquot_srcu); spin_lock(&inode->i_lock); for (cnt =3D 0; cnt < MAXQUOTAS; cnt++) { - if (!dquots[cnt]) + dquot =3D srcu_dereference(dquots[cnt], &dquot_srcu); + if (!dquot) continue; - ret =3D dquot_add_inodes(dquots[cnt], 1, &warn[cnt]); + ret =3D dquot_add_inodes(dquot, 1, &warn[cnt]); if (ret) { for (cnt--; cnt >=3D 0; cnt--) { - if (!dquots[cnt]) + dquot =3D srcu_dereference(dquots[cnt], &dquot_srcu); + if (!dquot) continue; /* Back out changes we already did */ - spin_lock(&dquots[cnt]->dq_dqb_lock); - dquot_decr_inodes(dquots[cnt], 1); - spin_unlock(&dquots[cnt]->dq_dqb_lock); + spin_lock(&dquot->dq_dqb_lock); + dquot_decr_inodes(dquot, 1); + spin_unlock(&dquot->dq_dqb_lock); } goto warn_put_all; } @@ -1798,6 +1803,7 @@ EXPORT_SYMBOL(dquot_alloc_inode); int dquot_claim_space_nodirty(struct inode *inode, qsize_t number) { struct dquot **dquots; + struct dquot *dquot; int cnt, index; =20 if (!inode_quota_active(inode)) { @@ -1813,9 +1819,8 @@ int dquot_claim_space_nodirty(struct inode *inode, qs= ize_t number) spin_lock(&inode->i_lock); /* Claim reserved quotas to allocated quotas */ for (cnt =3D 0; cnt < MAXQUOTAS; cnt++) { - if (dquots[cnt]) { - struct dquot *dquot =3D dquots[cnt]; - + dquot =3D srcu_dereference(dquots[cnt], &dquot_srcu); + if (dquot) { spin_lock(&dquot->dq_dqb_lock); if (WARN_ON_ONCE(dquot->dq_dqb.dqb_rsvspace < number)) number =3D dquot->dq_dqb.dqb_rsvspace; @@ -1840,6 +1845,7 @@ EXPORT_SYMBOL(dquot_claim_space_nodirty); void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number) { struct dquot **dquots; + struct dquot *dquot; int cnt, index; =20 if (!inode_quota_active(inode)) { @@ -1855,9 +1861,8 @@ void dquot_reclaim_space_nodirty(struct inode *inode,= qsize_t number) spin_lock(&inode->i_lock); /* Claim reserved quotas to allocated quotas */ for (cnt =3D 0; cnt < MAXQUOTAS; cnt++) { - if (dquots[cnt]) { - struct dquot *dquot =3D dquots[cnt]; - + dquot =3D srcu_dereference(dquots[cnt], &dquot_srcu); + if (dquot) { spin_lock(&dquot->dq_dqb_lock); if (WARN_ON_ONCE(dquot->dq_dqb.dqb_curspace < number)) number =3D dquot->dq_dqb.dqb_curspace; @@ -1884,6 +1889,7 @@ void __dquot_free_space(struct inode *inode, qsize_t = number, int flags) unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; struct dquot **dquots; + struct dquot *dquot; int reserve =3D flags & DQUOT_SPACE_RESERVE, index; =20 if (!inode_quota_active(inode)) { @@ -1904,17 +1910,18 @@ void __dquot_free_space(struct inode *inode, qsize_= t number, int flags) int wtype; =20 warn[cnt].w_type =3D QUOTA_NL_NOWARN; - if (!dquots[cnt]) + dquot =3D srcu_dereference(dquots[cnt], &dquot_srcu); + if (!dquot) continue; - spin_lock(&dquots[cnt]->dq_dqb_lock); - wtype =3D info_bdq_free(dquots[cnt], number); + spin_lock(&dquot->dq_dqb_lock); + wtype =3D info_bdq_free(dquot, number); if (wtype !=3D QUOTA_NL_NOWARN) - prepare_warning(&warn[cnt], dquots[cnt], wtype); + prepare_warning(&warn[cnt], dquot, wtype); if (reserve) - dquot_free_reserved_space(dquots[cnt], number); + dquot_free_reserved_space(dquot, number); else - dquot_decr_space(dquots[cnt], number); - spin_unlock(&dquots[cnt]->dq_dqb_lock); + dquot_decr_space(dquot, number); + spin_unlock(&dquot->dq_dqb_lock); } if (reserve) *inode_reserved_space(inode) -=3D number; @@ -1939,6 +1946,7 @@ void dquot_free_inode(struct inode *inode) unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; struct dquot * const *dquots; + struct dquot *dquot; int index; =20 if (!inode_quota_active(inode)) @@ -1949,16 +1957,16 @@ void dquot_free_inode(struct inode *inode) spin_lock(&inode->i_lock); for (cnt =3D 0; cnt < MAXQUOTAS; cnt++) { int wtype; - warn[cnt].w_type =3D QUOTA_NL_NOWARN; - if (!dquots[cnt]) + dquot =3D srcu_dereference(dquots[cnt], &dquot_srcu); + if (!dquot) continue; - spin_lock(&dquots[cnt]->dq_dqb_lock); - wtype =3D info_idq_free(dquots[cnt], 1); + spin_lock(&dquot->dq_dqb_lock); + wtype =3D info_idq_free(dquot, 1); if (wtype !=3D QUOTA_NL_NOWARN) - prepare_warning(&warn[cnt], dquots[cnt], wtype); - dquot_decr_inodes(dquots[cnt], 1); - spin_unlock(&dquots[cnt]->dq_dqb_lock); + prepare_warning(&warn[cnt], dquot, wtype); + dquot_decr_inodes(dquot, 1); + spin_unlock(&dquot->dq_dqb_lock); } spin_unlock(&inode->i_lock); mark_all_dquot_dirty(dquots); @@ -1985,7 +1993,7 @@ int __dquot_transfer(struct inode *inode, struct dquo= t **transfer_to) qsize_t rsv_space =3D 0; qsize_t inode_usage =3D 1; struct dquot *transfer_from[MAXQUOTAS] =3D {}; - int cnt, ret =3D 0; + int cnt, index, ret =3D 0; char is_valid[MAXQUOTAS] =3D {}; struct dquot_warn warn_to[MAXQUOTAS]; struct dquot_warn warn_from_inodes[MAXQUOTAS]; @@ -2074,8 +2082,16 @@ int __dquot_transfer(struct inode *inode, struct dqu= ot **transfer_to) spin_unlock(&inode->i_lock); spin_unlock(&dq_data_lock); =20 + /* + * These arrays are local and we hold dquot references so we don't need + * the srcu protection but still take dquot_srcu to avoid warning in + * mark_all_dquot_dirty(). + */ + index =3D srcu_read_lock(&dquot_srcu); mark_all_dquot_dirty(transfer_from); mark_all_dquot_dirty(transfer_to); + srcu_read_unlock(&dquot_srcu, index); + flush_warnings(warn_to); flush_warnings(warn_from_inodes); flush_warnings(warn_from_space); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 026B617B4F7; Sun, 24 Mar 2024 23:42:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323766; cv=none; b=tBY9i31QPK/MlX163yrTsWx1grMGsDuSB6Rm3DTkYuceUbVxwcZn2RV5+J5iE2hkrRSKXgfXhfM9rcdYu55tYNkfdSHFaRfIpZGB1LEKXeeleKDkqahmFFz8Plt5bahhUzTDASBbYadw9BKU7LDdUoZ4cx/402uFifDjKxuofWM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323766; c=relaxed/simple; bh=JUElxZBhnrrIS5E8ftcdA64jhC0bq/sY6mwjD6vtLUs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lNFvEfFv7G39f+nS4hc+yAF+M0AhKX5sZ0D1M9ryKC3N9Q/iQIO06JBIcF9tP/MGFNkGwPR4wTPQ5DLJDBvcoMMXlTI2tvQi0vqcPfohwfZOAeiJPulLEsi92G3WaaGn3Qs0t7yNySUws6LCK/7Iy66+s+5BHUTXw4qpU1zKozQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VpVwnZ2m; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VpVwnZ2m" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 45AB3C433C7; Sun, 24 Mar 2024 23:42:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323765; bh=JUElxZBhnrrIS5E8ftcdA64jhC0bq/sY6mwjD6vtLUs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VpVwnZ2mXVjdtF0HMkUk6jaWkSnF9j+yytVif1vwktZ4PFBH9D2Pk1DUz7xn+BFTL COzhPTrKzVeaJpnn/sy2GXXh6/k5PzEgr2CIEm33b1mI8e7DNrl3g9GbMmAKKkH8Mb it8HtscI7RlVAVyqK6cs/Mjc/6hMA0hB+IvrvKiZ6SncmRFws9HwXTLgRO8GMrWls/ y1zVN7e2iYhg+OKi2DcveRYNC16eZs1kCpnoX9hIfs/FxoJs8oKvfIGp2uIB2IPgSW JWqkPR/O1b/Jq7eI/2D1TBy8Kc9yelPBBXDtUoaFO2MhKUJh/sJnJpjn2w2Z4r0Fln yCwfGFshyqnEw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jan Kara , kernel test robot , Sasha Levin Subject: [PATCH 5.10 141/238] quota: Fix rcu annotations of inode dquot pointers Date: Sun, 24 Mar 2024 19:38:49 -0400 Message-ID: <20240324234027.1354210-142-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jan Kara [ Upstream commit 179b8c97ebf63429589f5afeba59a181fe70603e ] Dquot pointers in i_dquot array in the inode are protected by dquot_srcu. Annotate the array pointers with __rcu, perform the locked dereferences with srcu_dereference_check() instead of plain reads, and set the array elements with rcu_assign_pointer(). Fixes: b9ba6f94b238 ("quota: remove dqptr_sem") Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202402061900.rTuYDlo6-lkp@int= el.com/ Signed-off-by: Jan Kara Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/quota/dquot.c | 66 ++++++++++++++++++++++++++++-------------------- 1 file changed, 39 insertions(+), 27 deletions(-) diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 3f19ef2cc186d..6a7b7d44753a3 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -401,7 +401,7 @@ int dquot_mark_dquot_dirty(struct dquot *dquot) EXPORT_SYMBOL(dquot_mark_dquot_dirty); =20 /* Dirtify all the dquots - this can block when journalling */ -static inline int mark_all_dquot_dirty(struct dquot * const *dquots) +static inline int mark_all_dquot_dirty(struct dquot __rcu * const *dquots) { int ret, err, cnt; struct dquot *dquot; @@ -1008,14 +1008,15 @@ struct dquot *dqget(struct super_block *sb, struct = kqid qid) } EXPORT_SYMBOL(dqget); =20 -static inline struct dquot **i_dquot(struct inode *inode) +static inline struct dquot __rcu **i_dquot(struct inode *inode) { - return inode->i_sb->s_op->get_dquots(inode); + /* Force __rcu for now until filesystems are fixed */ + return (struct dquot __rcu **)inode->i_sb->s_op->get_dquots(inode); } =20 static int dqinit_needed(struct inode *inode, int type) { - struct dquot * const *dquots; + struct dquot __rcu * const *dquots; int cnt; =20 if (IS_NOQUOTA(inode)) @@ -1105,14 +1106,16 @@ static void remove_dquot_ref(struct super_block *sb= , int type) */ spin_lock(&dq_data_lock); if (!IS_NOQUOTA(inode)) { - struct dquot **dquots =3D i_dquot(inode); - struct dquot *dquot =3D dquots[type]; + struct dquot __rcu **dquots =3D i_dquot(inode); + struct dquot *dquot =3D srcu_dereference_check( + dquots[type], &dquot_srcu, + lockdep_is_held(&dq_data_lock)); =20 #ifdef CONFIG_QUOTA_DEBUG if (unlikely(inode_get_rsv_space(inode) > 0)) reserved =3D 1; #endif - dquots[type] =3D NULL; + rcu_assign_pointer(dquots[type], NULL); if (dquot) dqput(dquot); } @@ -1465,7 +1468,8 @@ static int inode_quota_active(const struct inode *ino= de) static int __dquot_initialize(struct inode *inode, int type) { int cnt, init_needed =3D 0; - struct dquot **dquots, *got[MAXQUOTAS] =3D {}; + struct dquot __rcu **dquots; + struct dquot *got[MAXQUOTAS] =3D {}; struct super_block *sb =3D inode->i_sb; qsize_t rsv; int ret =3D 0; @@ -1540,7 +1544,7 @@ static int __dquot_initialize(struct inode *inode, in= t type) if (!got[cnt]) continue; if (!dquots[cnt]) { - dquots[cnt] =3D got[cnt]; + rcu_assign_pointer(dquots[cnt], got[cnt]); got[cnt] =3D NULL; /* * Make quota reservation system happy if someone @@ -1548,12 +1552,16 @@ static int __dquot_initialize(struct inode *inode, = int type) */ rsv =3D inode_get_rsv_space(inode); if (unlikely(rsv)) { + struct dquot *dquot =3D srcu_dereference_check( + dquots[cnt], &dquot_srcu, + lockdep_is_held(&dq_data_lock)); + spin_lock(&inode->i_lock); /* Get reservation again under proper lock */ rsv =3D __inode_get_rsv_space(inode); - spin_lock(&dquots[cnt]->dq_dqb_lock); - dquots[cnt]->dq_dqb.dqb_rsvspace +=3D rsv; - spin_unlock(&dquots[cnt]->dq_dqb_lock); + spin_lock(&dquot->dq_dqb_lock); + dquot->dq_dqb.dqb_rsvspace +=3D rsv; + spin_unlock(&dquot->dq_dqb_lock); spin_unlock(&inode->i_lock); } } @@ -1575,7 +1583,7 @@ EXPORT_SYMBOL(dquot_initialize); =20 bool dquot_initialize_needed(struct inode *inode) { - struct dquot **dquots; + struct dquot __rcu **dquots; int i; =20 if (!inode_quota_active(inode)) @@ -1600,13 +1608,14 @@ EXPORT_SYMBOL(dquot_initialize_needed); static void __dquot_drop(struct inode *inode) { int cnt; - struct dquot **dquots =3D i_dquot(inode); + struct dquot __rcu **dquots =3D i_dquot(inode); struct dquot *put[MAXQUOTAS]; =20 spin_lock(&dq_data_lock); for (cnt =3D 0; cnt < MAXQUOTAS; cnt++) { - put[cnt] =3D dquots[cnt]; - dquots[cnt] =3D NULL; + put[cnt] =3D srcu_dereference_check(dquots[cnt], &dquot_srcu, + lockdep_is_held(&dq_data_lock)); + rcu_assign_pointer(dquots[cnt], NULL); } spin_unlock(&dq_data_lock); dqput_all(put); @@ -1614,7 +1623,7 @@ static void __dquot_drop(struct inode *inode) =20 void dquot_drop(struct inode *inode) { - struct dquot * const *dquots; + struct dquot __rcu * const *dquots; int cnt; =20 if (IS_NOQUOTA(inode)) @@ -1687,7 +1696,7 @@ int __dquot_alloc_space(struct inode *inode, qsize_t = number, int flags) int cnt, ret =3D 0, index; struct dquot_warn warn[MAXQUOTAS]; int reserve =3D flags & DQUOT_SPACE_RESERVE; - struct dquot **dquots; + struct dquot __rcu **dquots; struct dquot *dquot; =20 if (!inode_quota_active(inode)) { @@ -1757,7 +1766,7 @@ int dquot_alloc_inode(struct inode *inode) { int cnt, ret =3D 0, index; struct dquot_warn warn[MAXQUOTAS]; - struct dquot * const *dquots; + struct dquot __rcu * const *dquots; struct dquot *dquot; =20 if (!inode_quota_active(inode)) @@ -1802,7 +1811,7 @@ EXPORT_SYMBOL(dquot_alloc_inode); */ int dquot_claim_space_nodirty(struct inode *inode, qsize_t number) { - struct dquot **dquots; + struct dquot __rcu **dquots; struct dquot *dquot; int cnt, index; =20 @@ -1844,7 +1853,7 @@ EXPORT_SYMBOL(dquot_claim_space_nodirty); */ void dquot_reclaim_space_nodirty(struct inode *inode, qsize_t number) { - struct dquot **dquots; + struct dquot __rcu **dquots; struct dquot *dquot; int cnt, index; =20 @@ -1888,7 +1897,7 @@ void __dquot_free_space(struct inode *inode, qsize_t = number, int flags) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; - struct dquot **dquots; + struct dquot __rcu **dquots; struct dquot *dquot; int reserve =3D flags & DQUOT_SPACE_RESERVE, index; =20 @@ -1945,7 +1954,7 @@ void dquot_free_inode(struct inode *inode) { unsigned int cnt; struct dquot_warn warn[MAXQUOTAS]; - struct dquot * const *dquots; + struct dquot __rcu * const *dquots; struct dquot *dquot; int index; =20 @@ -1992,6 +2001,7 @@ int __dquot_transfer(struct inode *inode, struct dquo= t **transfer_to) qsize_t cur_space; qsize_t rsv_space =3D 0; qsize_t inode_usage =3D 1; + struct dquot __rcu **dquots; struct dquot *transfer_from[MAXQUOTAS] =3D {}; int cnt, index, ret =3D 0; char is_valid[MAXQUOTAS] =3D {}; @@ -2024,6 +2034,7 @@ int __dquot_transfer(struct inode *inode, struct dquo= t **transfer_to) } cur_space =3D __inode_get_bytes(inode); rsv_space =3D __inode_get_rsv_space(inode); + dquots =3D i_dquot(inode); /* * Build the transfer_from list, check limits, and update usage in * the target structures. @@ -2038,7 +2049,8 @@ int __dquot_transfer(struct inode *inode, struct dquo= t **transfer_to) if (!sb_has_quota_active(inode->i_sb, cnt)) continue; is_valid[cnt] =3D 1; - transfer_from[cnt] =3D i_dquot(inode)[cnt]; + transfer_from[cnt] =3D srcu_dereference_check(dquots[cnt], + &dquot_srcu, lockdep_is_held(&dq_data_lock)); ret =3D dquot_add_inodes(transfer_to[cnt], inode_usage, &warn_to[cnt]); if (ret) @@ -2077,7 +2089,7 @@ int __dquot_transfer(struct inode *inode, struct dquo= t **transfer_to) rsv_space); spin_unlock(&transfer_from[cnt]->dq_dqb_lock); } - i_dquot(inode)[cnt] =3D transfer_to[cnt]; + rcu_assign_pointer(dquots[cnt], transfer_to[cnt]); } spin_unlock(&inode->i_lock); spin_unlock(&dq_data_lock); @@ -2088,8 +2100,8 @@ int __dquot_transfer(struct inode *inode, struct dquo= t **transfer_to) * mark_all_dquot_dirty(). */ index =3D srcu_read_lock(&dquot_srcu); - mark_all_dquot_dirty(transfer_from); - mark_all_dquot_dirty(transfer_to); + mark_all_dquot_dirty((struct dquot __rcu **)transfer_from); + mark_all_dquot_dirty((struct dquot __rcu **)transfer_to); srcu_read_unlock(&dquot_srcu, index); =20 flush_warnings(warn_to); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 389EC17BB36; Sun, 24 Mar 2024 23:42:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323768; cv=none; b=IjbZPBZTL6MFprLtFqu7Sf01AiEs29WzYThyGbvRmo+s2FU4KPOs2PhNysgzgg1RJyBrVkMMOa4yjfnStmFXfDPcC/xq+KwoKmSTLaJxK5sg8clFgMXsq4yxFHavlcBPChhP8qp60T/gx0Licin4SsDSWv9gfOnFFBJ7PSRmu2s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323768; c=relaxed/simple; bh=hwQzLx+b0pzbl2REzzGMcPpe4qgg4cQhQTmzuqjgsrI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fqT60pIPgH1IhXyi4deUnWKmVPGrS8g2dpqTKE6n5bzXo+EcMZLcahXJ8Opd0pjWIZTa/YUKHymbcnGRZ9o8PwXlvMmoAL8OLCJ46mRDv4xv4snsLgfxusQqLAvARG/mrolB4vlUsP3ga/N2PkdqlGabyZromAwF9oILtxn5oFs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nW1YkfrB; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nW1YkfrB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 264CFC43390; Sun, 24 Mar 2024 23:42:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323766; bh=hwQzLx+b0pzbl2REzzGMcPpe4qgg4cQhQTmzuqjgsrI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nW1YkfrB1Jw0rWBg1UlGKQHC32UQrbBTtC3ggg/FyFWcQd7V1EtOC57FrqsUIR8BK 6/1aLOvaxc+bFzcgEeKr3TKEI3+6HCaW2DobYvgl+qWs/HFq4NJP1pBqxZ1c6vI7wt LVLf9Rz9qi9cOGc/byF0kILCrvyb67OYFFavVmfYAPMRLKts3Al39hrdcWiKXsEOMJ KPeFSawgGHoxMNzKz2KLy12CCAZbD5Hl2ulo5E7/OI09kytQDJpqbK1tZ6HxLNKvIl /uoii+kqWq3Ewz8nBRyUe4gCo/MY+r5bqYdzVlT/cw8Uo+QerFjFH47A+fsAgu5n5r qFLJnVFKNOwkw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe JAILLET , Bjorn Helgaas , Sasha Levin Subject: [PATCH 5.10 142/238] PCI: switchtec: Fix an error handling path in switchtec_pci_probe() Date: Sun, 24 Mar 2024 19:38:50 -0400 Message-ID: <20240324234027.1354210-143-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET [ Upstream commit dec529b0b0572b32f9eb91c882dd1f08ca657efb ] The commit in Fixes changed the logic on how resources are released and introduced a new switchtec_exit_pci() that need to be called explicitly in order to undo a corresponding switchtec_init_pci(). This was done in the remove function, but not in the probe. Fix the probe now. Fixes: df25461119d9 ("PCI: switchtec: Fix stdev_release() crash after surpr= ise hot remove") Link: https://lore.kernel.org/r/01446d2ccb91a578239915812f2b7dfbeb2882af.17= 03428183.git.christophe.jaillet@wanadoo.fr Signed-off-by: Christophe JAILLET Signed-off-by: Bjorn Helgaas Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/pci/switch/switchtec.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/pci/switch/switchtec.c b/drivers/pci/switch/switchtec.c index 5cea3ad290c54..9aa230c3208ab 100644 --- a/drivers/pci/switch/switchtec.c +++ b/drivers/pci/switch/switchtec.c @@ -1615,7 +1615,7 @@ static int switchtec_pci_probe(struct pci_dev *pdev, rc =3D switchtec_init_isr(stdev); if (rc) { dev_err(&stdev->dev, "failed to init isr.\n"); - goto err_put; + goto err_exit_pci; } =20 iowrite32(SWITCHTEC_EVENT_CLEAR | @@ -1636,6 +1636,8 @@ static int switchtec_pci_probe(struct pci_dev *pdev, =20 err_devadd: stdev_kill(stdev); +err_exit_pci: + switchtec_exit_pci(stdev); err_put: ida_simple_remove(&switchtec_minor_ida, MINOR(stdev->dev.devt)); put_device(&stdev->dev); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF24817BB39; Sun, 24 Mar 2024 23:42:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323768; cv=none; b=DhkpfhoXWKvyye44cTg/iVDzrMnHSjCz0t72baS1FkQXdCIi1oBxbuRUGUovpy5zJFLJ9QL/C1noSHx1FcL23NlzU0ix215+QHxvd4bnszse5Fy+AoUYR/Zv5g8QfiJc967EpWO5rqWnEv+BkRdL3lab3tAI+0LWOPlXG6hQGBc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323768; c=relaxed/simple; bh=T9fqgdc0Zuf66eYIIK+NU8AboiJdLsdVvvdMTpz4FUY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Cqzlszn1jREfRjVU6sSJ9g8mRFDkObzOlZzVvjRazXu38cqsMTVYeQahfjLeXmD5fPsDBc+SD95pt1oVSusu5tNZWWGyaTFFHDPAjy98Q/ZEkN0Ak+PfLWCiW9o5jX3ccd/Pmau81wh6Tdt+I9yYHIWm3sduUh3tw0OKsKmliQE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lOjopmOE; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lOjopmOE" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0BF4FC433C7; Sun, 24 Mar 2024 23:42:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323767; bh=T9fqgdc0Zuf66eYIIK+NU8AboiJdLsdVvvdMTpz4FUY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lOjopmOES6C3+PtCh5lnlwOncJf90Li9agyeYWx3G8FbY3owW/bcedAE47uYjRqhc wJSfXEiHps8Kzj5O6iVjp75DlZk5RWOtzM3zk8aU7mYT4HXD41La5kkuB+Skx4HJWF bDFmJwW3kSbvx+PWtEsMR1s1fBuItpYrCyEd7K7cWTYbSt+iiZw34z/2d/Biv4s7wm 6X+MkcZwbvSYyZm7YQTOrqFt4a3DbWV4dw88CKQKXsmK+ggby3pRgNcx3e9e2pQ7uX gYfh83m2i9EWDK6FyxZep45vmLSpXfaUe5peyJqExzwTU/knqhIU6i9kSqrUdwRNIF tgjDjDn1Nv87w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Quanyang Wang , Herbert Xu , Sasha Levin Subject: [PATCH 5.10 143/238] crypto: xilinx - call finalize with bh disabled Date: Sun, 24 Mar 2024 19:38:51 -0400 Message-ID: <20240324234027.1354210-144-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Quanyang Wang [ Upstream commit a853450bf4c752e664abab0b2fad395b7ad7701c ] When calling crypto_finalize_request, BH should be disabled to avoid triggering the following calltrace: ------------[ cut here ]------------ WARNING: CPU: 2 PID: 74 at crypto/crypto_engine.c:58 crypto_finalize_re= quest+0xa0/0x118 Modules linked in: cryptodev(O) CPU: 2 PID: 74 Comm: firmware:zynqmp Tainted: G O 6.8.0= -rc1-yocto-standard #323 Hardware name: ZynqMP ZCU102 Rev1.0 (DT) pstate: 40000005 (nZcv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=3D--) pc : crypto_finalize_request+0xa0/0x118 lr : crypto_finalize_request+0x104/0x118 sp : ffffffc085353ce0 x29: ffffffc085353ce0 x28: 0000000000000000 x27: ffffff8808ea8688 x26: ffffffc081715038 x25: 0000000000000000 x24: ffffff880100db00 x23: ffffff880100da80 x22: 0000000000000000 x21: 0000000000000000 x20: ffffff8805b14000 x19: ffffff880100da80 x18: 0000000000010450 x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 x14: 0000000000000003 x13: 0000000000000000 x12: ffffff880100dad0 x11: 0000000000000000 x10: ffffffc0832dcd08 x9 : ffffffc0812416d8 x8 : 00000000000001f4 x7 : ffffffc0830d2830 x6 : 0000000000000001 x5 : ffffffc082091000 x4 : ffffffc082091658 x3 : 0000000000000000 x2 : ffffffc7f9653000 x1 : 0000000000000000 x0 : ffffff8802d20000 Call trace: crypto_finalize_request+0xa0/0x118 crypto_finalize_aead_request+0x18/0x30 zynqmp_handle_aes_req+0xcc/0x388 crypto_pump_work+0x168/0x2d8 kthread_worker_fn+0xfc/0x3a0 kthread+0x118/0x138 ret_from_fork+0x10/0x20 irq event stamp: 40 hardirqs last enabled at (39): [] _raw_spin_unlock_i= rqrestore+0x70/0xb0 hardirqs last disabled at (40): [] el1_dbg+0x28/0x90 softirqs last enabled at (36): [] kernel_neon_begin+= 0x8c/0xf0 softirqs last disabled at (34): [] kernel_neon_begin+= 0x60/0xf0 ---[ end trace 0000000000000000 ]--- Fixes: 4d96f7d48131 ("crypto: xilinx - Add Xilinx AES driver") Signed-off-by: Quanyang Wang Signed-off-by: Herbert Xu Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/crypto/xilinx/zynqmp-aes-gcm.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/crypto/xilinx/zynqmp-aes-gcm.c b/drivers/crypto/xilinx= /zynqmp-aes-gcm.c index bf1f421e05f25..74bd3eb63734d 100644 --- a/drivers/crypto/xilinx/zynqmp-aes-gcm.c +++ b/drivers/crypto/xilinx/zynqmp-aes-gcm.c @@ -231,7 +231,10 @@ static int zynqmp_handle_aes_req(struct crypto_engine = *engine, err =3D zynqmp_aes_aead_cipher(areq); } =20 + local_bh_disable(); crypto_finalize_aead_request(engine, areq, err); + local_bh_enable(); + return 0; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C6B7817BB3F; Sun, 24 Mar 2024 23:42:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323769; cv=none; b=YoqmUTzEu1XwQCDT0+/mumuv69FIVnfW9KQDpvI9AhepYiDrW1J2h95XK8YlFOouzJzOfIAjSOfWLCb9skBgFP+KF+f5Jiw00NRGJFFN/UOPct8CFdEZIM6e3sOCoUmQ2yRRruOQ2sqNX6KPmlhLHRqhSJp4VXcD6YnKdHz1Fw4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323769; c=relaxed/simple; bh=ch4msB6QbAfyxOHVuIwLakn8UTa3SdoazWxzYOmU5xY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=N6pUJBPHH/HkKVEsKGmf9n3/VtIv+9XHxXXC1AStMPkR9ZJwhbP4LzgOehSvxZc7KSFu87PLJfOrxXezK/xNGPrTpC4tVFE9ZDrgECBAYUMSXwzVyFTe0XqBJnzYfkf2rmc/+vF5CDMzKRSpyIw7E68gNFHqpqdvBFJV9qPDybM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cnwZR92C; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cnwZR92C" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E10F0C43394; Sun, 24 Mar 2024 23:42:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323768; bh=ch4msB6QbAfyxOHVuIwLakn8UTa3SdoazWxzYOmU5xY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cnwZR92C2GP5EfL8mdj3TBE1MtIYrBcGljlZjRyso7bzMswZ7Tmw8cVN4GtAUs4F+ XDXMS7y8ShCKjLdR/aWebmGAQaRJ+jn2bwe1xOcBwwAor2tZHCzaUtd24ex33p7cP4 VlIuiIiggznSS9DIjpdE6nYQrrSn8cDpBbO/YzCmViCCu9NpJy49LgbQwnLnGEq7xM gzGNgkH0bMHOqaBwxr49ra6lMc4IuGaaWtbht1cHmbw1eN/ngReFUliw5xVBbC2wbo A3vppgc2qToC1RnmzmWlk/t5oiraq1mPUeprm4xtgfX0YbsgzTgegNJh6PSxR8gsbP lmCTg3rV4iqlw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Yang Jihong , Arnaldo Carvalho de Melo , Namhyung Kim , Sasha Levin Subject: [PATCH 5.10 144/238] perf thread_map: Free strlist on normal path in thread_map__new_by_tid_str() Date: Sun, 24 Mar 2024 19:38:52 -0400 Message-ID: <20240324234027.1354210-145-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yang Jihong [ Upstream commit 1eb3d924e3c0b8c27388b0583a989d757866efb6 ] slist needs to be freed in both error path and normal path in thread_map__new_by_tid_str(). Fixes: b52956c961be3a04 ("perf tools: Allow multiple threads or processes i= n record, stat, top") Reviewed-by: Arnaldo Carvalho de Melo Signed-off-by: Yang Jihong Signed-off-by: Namhyung Kim Link: https://lore.kernel.org/r/20240206083228.172607-6-yangjihong1@huawei.= com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- tools/perf/util/thread_map.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/thread_map.c b/tools/perf/util/thread_map.c index c9bfe4696943b..cee7fc3b5bb0c 100644 --- a/tools/perf/util/thread_map.c +++ b/tools/perf/util/thread_map.c @@ -279,13 +279,13 @@ struct perf_thread_map *thread_map__new_by_tid_str(co= nst char *tid_str) threads->nr =3D ntasks; } out: + strlist__delete(slist); if (threads) refcount_set(&threads->refcnt, 1); return threads; =20 out_free_threads: zfree(&threads); - strlist__delete(slist); goto out; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9ECC917BB3E; Sun, 24 Mar 2024 23:42:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323769; cv=none; b=urAnbmAGkmI6Yp/+OmHJJdyF/mNNWxT7dB+IgMuZ+ZKJPP1WQAfuNDoavZLzNRtK62jUyfhyFMR2M9Q8di37vLN2IeX+y+9ft9Kz8C9gmTqZTNLno4KiWTRpoHoNjSD8ENNZxXFtIEUWqVvkRGguiiokXflyOXBxfDin0iVEsNo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323769; c=relaxed/simple; bh=1oNMrC29GJrki16Dt7/08qwNYkt2iDuH7FPUMAoc8NQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TwE0JCClOZLUqJUn4g4o1WN3UHmKp9nyHkT3L9jZd4dvc2Z0EigLxCC9IRys7KNgv3G/8wQxMCz8V5G9+24FSqIgNF3OfUm3yh/BtrEvJ80DxdUi6yJJdoFfpNyNWfThdynicLTRgDg7TvaYcslG7Gk/KJaEnrn3iisDBBHnnZc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ds4e/Ix4; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ds4e/Ix4" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DE301C43390; Sun, 24 Mar 2024 23:42:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323769; bh=1oNMrC29GJrki16Dt7/08qwNYkt2iDuH7FPUMAoc8NQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ds4e/Ix4jgLJN6AhCxP6xSnakEGH2YoYJnWq4iDndoUE9YZ2DY/56D8fQPrE0Nu70 VCkCVYvPHJzDc1Tfh/TuH/ZULUeYhvzH8x6p1/2EVdbMZbACy+hPGSSk2/R9Hf2do4 Bvo09gmW/I/sXMYGDLZ9BVvqlNB6D/xazjI1YTn5Fi4romIdbBtTEWpFaZdmkapZnB 30gr2y+pjmXIcrxkBxPibB20UBls5F5LygwCmp2yEIZ3+jaB4DJoR3AXKJ0PSkNoaO J6wpPYnyCcmiFo8Jg15QOcMlZjMbrPjlzHvJnLura7wTQENjGSn0EBUxVWsYg5C9x9 fp2YsrODOcuqQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Nikita Zhandarovich , Alex Deucher , Sasha Levin Subject: [PATCH 5.10 145/238] drm/radeon/ni: Fix wrong firmware size logging in ni_init_microcode() Date: Sun, 24 Mar 2024 19:38:53 -0400 Message-ID: <20240324234027.1354210-146-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Nikita Zhandarovich [ Upstream commit c4891d979c7668b195a0a75787967ec95a24ecef ] Clean up a typo in pr_err() erroneously printing NI MC 'rdev->mc_fw->size' during SMC firmware load. Log 'rdev->smc_fw->size' instead. Found by Linux Verification Center (linuxtesting.org) with static analysis tool SVACE. Fixes: 6596afd48af4 ("drm/radeon/kms: add dpm support for btc (v3)") Signed-off-by: Nikita Zhandarovich Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/radeon/ni.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c index 02feb0801fd30..50c7430f8cd33 100644 --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c @@ -826,7 +826,7 @@ int ni_init_microcode(struct radeon_device *rdev) err =3D 0; } else if (rdev->smc_fw->size !=3D smc_req_size) { pr_err("ni_mc: Bogus length %zu in firmware \"%s\"\n", - rdev->mc_fw->size, fw_name); + rdev->smc_fw->size, fw_name); err =3D -EINVAL; } } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 848A117C626; Sun, 24 Mar 2024 23:42:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323771; cv=none; b=TC/TGv2xo9pxhJ15utGgHG90CnFMBLumyKlX8WwgwA1gxD8trIF7eLV+PLBaNDlVHenQDQPqhbaVfIackR5e+8z3zvB0YpdZGvENBGrssILQvPwQeO6ihkfCtxcPgpjpXO2tEOgy/y2aWJ/r1bIQ+qVUk0rc+y4/1woBbvhTogA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323771; c=relaxed/simple; bh=lqEdFFPxC0/3d/WRyr5uSH3G+pJQvMxlAk1JO+CwFYs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GjjAIWU/4K1Kyo2QakgE7Qy44fx5aW/mtBgpjc2dPqlAV/wk0H09t2SFuNO+czsB5/roP7Ns7IWa71cxMEnvnaWhCRMEbe4nVL9Ao1e3OmgB7m0TCc0GkPj9XrLj69sHqFiYhqLWlkGFy5/58Ei9UUXebyOXIkDsk9ljTEs0aMM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Jy0M3AJ2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Jy0M3AJ2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C3DAFC433C7; Sun, 24 Mar 2024 23:42:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323770; bh=lqEdFFPxC0/3d/WRyr5uSH3G+pJQvMxlAk1JO+CwFYs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Jy0M3AJ2Kkzjzgi2yDmhjYSTeX4MhtVP500pt+JLjNqvJJ2LzrZ4IWLahi9lwJbCr 9vS2URENuu+hzVu017dHgmHT5MIQ2aDogkKhR+C4kys4TeTXSPu133QjKfXF3N0YIv nkeznby6DoI8eoBBJKUMUQ4Ady4hAiW1a76rxe4U6wlp2zTa8IqLfU+J7bCj5yAaPq 7zzfeEsst+cDxnZzuoGriDkNKIRu/3xi1eykc8Gt9LE6MjGEC4x7KPm3QGm30j5FnM rwyduQNCiJVuj5Xh9rK4mCl5G66Qul5zhzt2bJzaJ/znYeoaWLSBvDKbI/gMrkxjQ1 ZY2Dox9LjaONg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Takashi Iwai , Arnd Bergmann , Sasha Levin Subject: [PATCH 5.10 146/238] ALSA: seq: fix function cast warnings Date: Sun, 24 Mar 2024 19:38:54 -0400 Message-ID: <20240324234027.1354210-147-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Takashi Iwai [ Upstream commit d7bf73809849463f76de42aad62c850305dd6c5d ] clang-16 points out a control flow integrity (kcfi) issue when event callbacks get converted to incompatible types: sound/core/seq/seq_midi.c:135:30: error: cast from 'int (*)(struct snd_rawm= idi_substream *, const char *, int)' to 'snd_seq_dump_func_t' (aka 'int (*)= (void *, void *, int)') converts to incompatible function type [-Werror,-Wc= ast-function-type-strict] 135 | snd_seq_dump_var_event(ev, (snd_seq_dump_func_t)dum= p_midi, substream); | ^~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~ sound/core/seq/seq_virmidi.c:83:31: error: cast from 'int (*)(struct snd_ra= wmidi_substream *, const unsigned char *, int)' to 'snd_seq_dump_func_t' (a= ka 'int (*)(void *, void *, int)') converts to incompatible function type [= -Werror,-Wcast-function-type-strict] 83 | snd_seq_dump_var_event(ev, (snd_seq_dump_fu= nc_t)snd_rawmidi_receive, vmidi->substream); | ^~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~ For addressing those errors, introduce wrapper functions that are used for callbacks and bridge to the actual function call with pointer cast. The code was originally added with the initial ALSA merge in linux-2.5.4. [ the patch description shamelessly copied from Arnd's original patch -- tiwai ] Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Reported-by: Arnd Bergmann Link: https://lore.kernel.org/r/20240213101020.459183-1-arnd@kernel.org Link: https://lore.kernel.org/r/20240213135343.16411-1-tiwai@suse.de Signed-off-by: Takashi Iwai Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/core/seq/seq_midi.c | 8 +++++++- sound/core/seq/seq_virmidi.c | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/sound/core/seq/seq_midi.c b/sound/core/seq/seq_midi.c index 6825940ea2cf8..a741d1ae6639a 100644 --- a/sound/core/seq/seq_midi.c +++ b/sound/core/seq/seq_midi.c @@ -111,6 +111,12 @@ static int dump_midi(struct snd_rawmidi_substream *sub= stream, const char *buf, i return 0; } =20 +/* callback for snd_seq_dump_var_event(), bridging to dump_midi() */ +static int __dump_midi(void *ptr, void *buf, int count) +{ + return dump_midi(ptr, buf, count); +} + static int event_process_midi(struct snd_seq_event *ev, int direct, void *private_data, int atomic, int hop) { @@ -130,7 +136,7 @@ static int event_process_midi(struct snd_seq_event *ev,= int direct, pr_debug("ALSA: seq_midi: invalid sysex event flags =3D 0x%x\n", ev->fl= ags); return 0; } - snd_seq_dump_var_event(ev, (snd_seq_dump_func_t)dump_midi, substream); + snd_seq_dump_var_event(ev, __dump_midi, substream); snd_midi_event_reset_decode(msynth->parser); } else { if (msynth->parser =3D=3D NULL) diff --git a/sound/core/seq/seq_virmidi.c b/sound/core/seq/seq_virmidi.c index 77d7037d1476f..82396b8c885a5 100644 --- a/sound/core/seq/seq_virmidi.c +++ b/sound/core/seq/seq_virmidi.c @@ -62,6 +62,13 @@ static void snd_virmidi_init_event(struct snd_virmidi *v= midi, /* * decode input event and put to read buffer of each opened file */ + +/* callback for snd_seq_dump_var_event(), bridging to snd_rawmidi_receive(= ) */ +static int dump_to_rawmidi(void *ptr, void *buf, int count) +{ + return snd_rawmidi_receive(ptr, buf, count); +} + static int snd_virmidi_dev_receive_event(struct snd_virmidi_dev *rdev, struct snd_seq_event *ev, bool atomic) @@ -80,7 +87,7 @@ static int snd_virmidi_dev_receive_event(struct snd_virmi= di_dev *rdev, if (ev->type =3D=3D SNDRV_SEQ_EVENT_SYSEX) { if ((ev->flags & SNDRV_SEQ_EVENT_LENGTH_MASK) !=3D SNDRV_SEQ_EVENT_LENG= TH_VARIABLE) continue; - snd_seq_dump_var_event(ev, (snd_seq_dump_func_t)snd_rawmidi_receive, vm= idi->substream); + snd_seq_dump_var_event(ev, dump_to_rawmidi, vmidi->substream); snd_midi_event_reset_decode(vmidi->parser); } else { len =3D snd_midi_event_decode(vmidi->parser, msg, sizeof(msg), ev); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E43F017C633; Sun, 24 Mar 2024 23:42:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323773; cv=none; b=n8FDOY9K9FxwcWsI0G+HmxhNfOrJIuPUJIMEjRMqNktjzheHrjUQ2oNNDiVqJzbaOHHqeYccy2CSzER/HHe0IQS3p9SvCtzLc/Lvm86sU89LGkAhtTZcFhEioOVN3Pm9wSQt1xuosGmn0JG+2ABSSddpoPsgNkq55etlB1zvVXM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323773; c=relaxed/simple; bh=ca0imnJ0XN7n6zN6CwXaDXAmr8FI9wwTvgmmP41B5Rk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cknwwCIbShzMhvlKVhIbJ05tMeEeIXgTwaGI5BFlfIKC7+/s6eUxESOpg1YQDOlSPXpjOhfM8AoFYxKX0BrMTrK43RJzIKWA8AfKZ/99VuwaFd7horhqjrYSYueqJZMRa9fLhqhrhlDdAgt4y8uzIYU96VLxHmzDliTPttLrqcs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=EUtxAvbg; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="EUtxAvbg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7AB4C43399; Sun, 24 Mar 2024 23:42:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323771; bh=ca0imnJ0XN7n6zN6CwXaDXAmr8FI9wwTvgmmP41B5Rk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EUtxAvbgxDTlZQKqge8hGtvJoE0exRDyJ8Ioro3+UNYgCehY91VRvdAzaAorWDdqI jYSlRzcoebEpdZAIx92fTtPvpoxytYG91lWpUsjrqXr3MTIdYrpaIq8d7ukIXyB89m t6bJX0EC7rQ2FfRky24HDq/DXm2HXPhSMxeBLZtfSr2e0GXZa7CdmEXdsxrAkDqbEC Rluq6Lw0Ln5n6So6kVkMTAg5usPQ6gVXy+y1JgFwzYXhJaGAgQhrt2gxycpsein8B1 pENLqFk4k/U6VFXY7rhA926RFW3tVst7yhI4GXeZD6iuKKAWGuykxxtAh8okEOt2AF 8Wzc1TX8zv4aw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ian Rogers , Kan Liang , K Prateek Nayak , James Clark , Kaige Ye , John Garry , Namhyung Kim , Sasha Levin Subject: [PATCH 5.10 147/238] perf stat: Avoid metric-only segv Date: Sun, 24 Mar 2024 19:38:55 -0400 Message-ID: <20240324234027.1354210-148-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ian Rogers [ Upstream commit 2543947c77e0e224bda86b4e7220c2f6714da463 ] Cycles is recognized as part of a hard coded metric in stat-shadow.c, it may call print_metric_only with a NULL fmt string leading to a segfault. Handle the NULL fmt explicitly. Fixes: 088519f318be ("perf stat: Move the display functions to stat-display= .c") Signed-off-by: Ian Rogers Reviewed-by: Kan Liang Cc: K Prateek Nayak Cc: James Clark Cc: Kaige Ye Cc: John Garry Signed-off-by: Namhyung Kim Link: https://lore.kernel.org/r/20240209204947.3873294-4-irogers@google.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- tools/perf/util/stat-display.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c index 4688e39de52af..971fd77bd3e61 100644 --- a/tools/perf/util/stat-display.c +++ b/tools/perf/util/stat-display.c @@ -271,7 +271,7 @@ static void print_metric_only(struct perf_stat_config *= config, if (color) mlen +=3D strlen(color) + sizeof(PERF_COLOR_RESET) - 1; =20 - color_snprintf(str, sizeof(str), color ?: "", fmt, val); + color_snprintf(str, sizeof(str), color ?: "", fmt ?: "", val); fprintf(out, "%*s ", mlen, str); } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF63817C62A; Sun, 24 Mar 2024 23:42:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323773; cv=none; b=Ft4FqgzwOW5brY++K4UKs1OPa8l5qvbjDMAZBtscJQjZ8pvsu9e26D6t+s1MtRukjGSKQ3PkQoseXeX7ADNVAZubrnNqzsbGyhUE0pTpY1i2Zk/jHuUhiVDY1c/ctWGGFnD4DWSPVPabjkuWckcX2kbnCfwC5lUX8+gL81dxxi0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323773; c=relaxed/simple; bh=YursBE3me5FjFg7Ottu7FxhGl98rPwWeMhXNNqt8iWw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OCHMA0V+btp9b4nU1ZW5MQP/Oyqeop1LWNXTpH8b/3SnLBZPqbhHuxKOEgS2TwbdSwcT9m3zBl9OtuT72yD+DOeFxHRELY4C6Yc0y9xucDtxxa2YrMY9XIWA8YMNRLQDxVdQdjUoVS5SkRCelcgl+kwOETxDhuUK+Pb7b2j81c8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=T/P1p8Ml; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="T/P1p8Ml" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A357C433C7; Sun, 24 Mar 2024 23:42:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323772; bh=YursBE3me5FjFg7Ottu7FxhGl98rPwWeMhXNNqt8iWw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=T/P1p8MlJeY5/ZtELMKIy/KhrkG6Y0R0Nh+eTF8lXRhX+MmO4WdVD/jO5o4KR1MB7 6znobDS1Y0uo9QtDER09bmEdNRzvfqXUpPBqgxAe9BLy0ozFEe06vFm7y3v15J+Z+D f7sTZgGjEK/3f9z3QMz07LyNVZRQh4ydOB7krDCXLJdKn3gAxrhy+9GDgbwFDVPEAg eDfndUgjub1tUAGQNBkLjE3tdNVghFBMqxfEi9q1jMQC8MJpCbe+ur/4t9JRm0sriG 2xL1PtItdi9WQCbf1i10TCLX2UxlH5ktA6iO9DCvMngc3cSOK3tINeDDj3DFl8F3Pj ZL5hXMS/cBcPQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Kuninori Morimoto , Mark Brown , Sasha Levin Subject: [PATCH 5.10 148/238] ASoC: meson: Use dev_err_probe() helper Date: Sun, 24 Mar 2024 19:38:56 -0400 Message-ID: <20240324234027.1354210-149-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Kuninori Morimoto [ Upstream commit 2ff4e003e8e105fb65c682c876a5cb0e00f854bf ] Use the dev_err_probe() helper, instead of open-coding the same operation. Signed-off-by: Kuninori Morimoto Link: https://lore.kernel.org/r/20211214020843.2225831-17-kuninori.morimoto= .gx@renesas.com Signed-off-by: Mark Brown Stable-dep-of: 98ac85a00f31 ("ASoC: meson: aiu: fix function pointer type m= ismatch") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/meson/aiu.c | 36 +++++++-------------- sound/soc/meson/axg-fifo.c | 16 +++------ sound/soc/meson/axg-pdm.c | 25 ++++----------- sound/soc/meson/axg-spdifin.c | 17 +++------- sound/soc/meson/axg-spdifout.c | 17 +++------- sound/soc/meson/axg-tdm-formatter.c | 50 ++++++++--------------------- sound/soc/meson/axg-tdm-interface.c | 25 ++++----------- sound/soc/meson/meson-card-utils.c | 8 ++--- sound/soc/meson/t9015.c | 14 +++----- 9 files changed, 56 insertions(+), 152 deletions(-) diff --git a/sound/soc/meson/aiu.c b/sound/soc/meson/aiu.c index dc35ca79021c5..386a31a044700 100644 --- a/sound/soc/meson/aiu.c +++ b/sound/soc/meson/aiu.c @@ -218,34 +218,23 @@ static int aiu_clk_get(struct device *dev) int ret; =20 aiu->pclk =3D devm_clk_get(dev, "pclk"); - if (IS_ERR(aiu->pclk)) { - if (PTR_ERR(aiu->pclk) !=3D -EPROBE_DEFER) - dev_err(dev, "Can't get the aiu pclk\n"); - return PTR_ERR(aiu->pclk); - } + if (IS_ERR(aiu->pclk)) + return dev_err_probe(dev, PTR_ERR(aiu->pclk), "Can't get the aiu pclk\n"= ); =20 aiu->spdif_mclk =3D devm_clk_get(dev, "spdif_mclk"); - if (IS_ERR(aiu->spdif_mclk)) { - if (PTR_ERR(aiu->spdif_mclk) !=3D -EPROBE_DEFER) - dev_err(dev, "Can't get the aiu spdif master clock\n"); - return PTR_ERR(aiu->spdif_mclk); - } + if (IS_ERR(aiu->spdif_mclk)) + return dev_err_probe(dev, PTR_ERR(aiu->spdif_mclk), + "Can't get the aiu spdif master clock\n"); =20 ret =3D aiu_clk_bulk_get(dev, aiu_i2s_ids, ARRAY_SIZE(aiu_i2s_ids), &aiu->i2s); - if (ret) { - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "Can't get the i2s clocks\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Can't get the i2s clocks\n"); =20 ret =3D aiu_clk_bulk_get(dev, aiu_spdif_ids, ARRAY_SIZE(aiu_spdif_ids), &aiu->spdif); - if (ret) { - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "Can't get the spdif clocks\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Can't get the spdif clocks\n"); =20 ret =3D clk_prepare_enable(aiu->pclk); if (ret) { @@ -281,11 +270,8 @@ static int aiu_probe(struct platform_device *pdev) platform_set_drvdata(pdev, aiu); =20 ret =3D device_reset(dev); - if (ret) { - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "Failed to reset device\n"); - return ret; - } + if (ret) + return dev_err_probe(dev, ret, "Failed to reset device\n"); =20 regs =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(regs)) diff --git a/sound/soc/meson/axg-fifo.c b/sound/soc/meson/axg-fifo.c index b2e867113226b..295c0fc30745e 100644 --- a/sound/soc/meson/axg-fifo.c +++ b/sound/soc/meson/axg-fifo.c @@ -350,20 +350,12 @@ int axg_fifo_probe(struct platform_device *pdev) } =20 fifo->pclk =3D devm_clk_get(dev, NULL); - if (IS_ERR(fifo->pclk)) { - if (PTR_ERR(fifo->pclk) !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get pclk: %ld\n", - PTR_ERR(fifo->pclk)); - return PTR_ERR(fifo->pclk); - } + if (IS_ERR(fifo->pclk)) + return dev_err_probe(dev, PTR_ERR(fifo->pclk), "failed to get pclk\n"); =20 fifo->arb =3D devm_reset_control_get_exclusive(dev, NULL); - if (IS_ERR(fifo->arb)) { - if (PTR_ERR(fifo->arb) !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get arb reset: %ld\n", - PTR_ERR(fifo->arb)); - return PTR_ERR(fifo->arb); - } + if (IS_ERR(fifo->arb)) + return dev_err_probe(dev, PTR_ERR(fifo->arb), "failed to get arb reset\n= "); =20 fifo->irq =3D of_irq_get(dev->of_node, 0); if (fifo->irq <=3D 0) { diff --git a/sound/soc/meson/axg-pdm.c b/sound/soc/meson/axg-pdm.c index bfd37d49a73ef..672e43a9729dc 100644 --- a/sound/soc/meson/axg-pdm.c +++ b/sound/soc/meson/axg-pdm.c @@ -586,7 +586,6 @@ static int axg_pdm_probe(struct platform_device *pdev) struct device *dev =3D &pdev->dev; struct axg_pdm *priv; void __iomem *regs; - int ret; =20 priv =3D devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) @@ -611,28 +610,16 @@ static int axg_pdm_probe(struct platform_device *pdev) } =20 priv->pclk =3D devm_clk_get(dev, "pclk"); - if (IS_ERR(priv->pclk)) { - ret =3D PTR_ERR(priv->pclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get pclk: %d\n", ret); - return ret; - } + if (IS_ERR(priv->pclk)) + return dev_err_probe(dev, PTR_ERR(priv->pclk), "failed to get pclk\n"); =20 priv->dclk =3D devm_clk_get(dev, "dclk"); - if (IS_ERR(priv->dclk)) { - ret =3D PTR_ERR(priv->dclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get dclk: %d\n", ret); - return ret; - } + if (IS_ERR(priv->dclk)) + return dev_err_probe(dev, PTR_ERR(priv->dclk), "failed to get dclk\n"); =20 priv->sysclk =3D devm_clk_get(dev, "sysclk"); - if (IS_ERR(priv->sysclk)) { - ret =3D PTR_ERR(priv->sysclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get dclk: %d\n", ret); - return ret; - } + if (IS_ERR(priv->sysclk)) + return dev_err_probe(dev, PTR_ERR(priv->sysclk), "failed to get dclk\n"); =20 return devm_snd_soc_register_component(dev, &axg_pdm_component_drv, &axg_pdm_dai_drv, 1); diff --git a/sound/soc/meson/axg-spdifin.c b/sound/soc/meson/axg-spdifin.c index 7aaded1fc376b..245189d2ee95f 100644 --- a/sound/soc/meson/axg-spdifin.c +++ b/sound/soc/meson/axg-spdifin.c @@ -439,7 +439,6 @@ static int axg_spdifin_probe(struct platform_device *pd= ev) struct axg_spdifin *priv; struct snd_soc_dai_driver *dai_drv; void __iomem *regs; - int ret; =20 priv =3D devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) @@ -464,20 +463,12 @@ static int axg_spdifin_probe(struct platform_device *= pdev) } =20 priv->pclk =3D devm_clk_get(dev, "pclk"); - if (IS_ERR(priv->pclk)) { - ret =3D PTR_ERR(priv->pclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get pclk: %d\n", ret); - return ret; - } + if (IS_ERR(priv->pclk)) + return dev_err_probe(dev, PTR_ERR(priv->pclk), "failed to get pclk\n"); =20 priv->refclk =3D devm_clk_get(dev, "refclk"); - if (IS_ERR(priv->refclk)) { - ret =3D PTR_ERR(priv->refclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get mclk: %d\n", ret); - return ret; - } + if (IS_ERR(priv->refclk)) + return dev_err_probe(dev, PTR_ERR(priv->refclk), "failed to get mclk\n"); =20 dai_drv =3D axg_spdifin_get_dai_drv(dev, priv); if (IS_ERR(dai_drv)) { diff --git a/sound/soc/meson/axg-spdifout.c b/sound/soc/meson/axg-spdifout.c index e769a5ee6e27e..3960d082e1436 100644 --- a/sound/soc/meson/axg-spdifout.c +++ b/sound/soc/meson/axg-spdifout.c @@ -403,7 +403,6 @@ static int axg_spdifout_probe(struct platform_device *p= dev) struct device *dev =3D &pdev->dev; struct axg_spdifout *priv; void __iomem *regs; - int ret; =20 priv =3D devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); if (!priv) @@ -422,20 +421,12 @@ static int axg_spdifout_probe(struct platform_device = *pdev) } =20 priv->pclk =3D devm_clk_get(dev, "pclk"); - if (IS_ERR(priv->pclk)) { - ret =3D PTR_ERR(priv->pclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get pclk: %d\n", ret); - return ret; - } + if (IS_ERR(priv->pclk)) + return dev_err_probe(dev, PTR_ERR(priv->pclk), "failed to get pclk\n"); =20 priv->mclk =3D devm_clk_get(dev, "mclk"); - if (IS_ERR(priv->mclk)) { - ret =3D PTR_ERR(priv->mclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get mclk: %d\n", ret); - return ret; - } + if (IS_ERR(priv->mclk)) + return dev_err_probe(dev, PTR_ERR(priv->mclk), "failed to get mclk\n"); =20 return devm_snd_soc_register_component(dev, &axg_spdifout_component_drv, axg_spdifout_dai_drv, ARRAY_SIZE(axg_spdifout_dai_drv)); diff --git a/sound/soc/meson/axg-tdm-formatter.c b/sound/soc/meson/axg-tdm-= formatter.c index 4834cfd163c03..63333a2b0a9c3 100644 --- a/sound/soc/meson/axg-tdm-formatter.c +++ b/sound/soc/meson/axg-tdm-formatter.c @@ -265,7 +265,6 @@ int axg_tdm_formatter_probe(struct platform_device *pde= v) const struct axg_tdm_formatter_driver *drv; struct axg_tdm_formatter *formatter; void __iomem *regs; - int ret; =20 drv =3D of_device_get_match_data(dev); if (!drv) { @@ -292,57 +291,34 @@ int axg_tdm_formatter_probe(struct platform_device *p= dev) =20 /* Peripharal clock */ formatter->pclk =3D devm_clk_get(dev, "pclk"); - if (IS_ERR(formatter->pclk)) { - ret =3D PTR_ERR(formatter->pclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get pclk: %d\n", ret); - return ret; - } + if (IS_ERR(formatter->pclk)) + return dev_err_probe(dev, PTR_ERR(formatter->pclk), "failed to get pclk\= n"); =20 /* Formatter bit clock */ formatter->sclk =3D devm_clk_get(dev, "sclk"); - if (IS_ERR(formatter->sclk)) { - ret =3D PTR_ERR(formatter->sclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get sclk: %d\n", ret); - return ret; - } + if (IS_ERR(formatter->sclk)) + return dev_err_probe(dev, PTR_ERR(formatter->sclk), "failed to get sclk\= n"); =20 /* Formatter sample clock */ formatter->lrclk =3D devm_clk_get(dev, "lrclk"); - if (IS_ERR(formatter->lrclk)) { - ret =3D PTR_ERR(formatter->lrclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get lrclk: %d\n", ret); - return ret; - } + if (IS_ERR(formatter->lrclk)) + return dev_err_probe(dev, PTR_ERR(formatter->lrclk), "failed to get lrcl= k\n"); =20 /* Formatter bit clock input multiplexer */ formatter->sclk_sel =3D devm_clk_get(dev, "sclk_sel"); - if (IS_ERR(formatter->sclk_sel)) { - ret =3D PTR_ERR(formatter->sclk_sel); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get sclk_sel: %d\n", ret); - return ret; - } + if (IS_ERR(formatter->sclk_sel)) + return dev_err_probe(dev, PTR_ERR(formatter->sclk_sel), "failed to get s= clk_sel\n"); =20 /* Formatter sample clock input multiplexer */ formatter->lrclk_sel =3D devm_clk_get(dev, "lrclk_sel"); - if (IS_ERR(formatter->lrclk_sel)) { - ret =3D PTR_ERR(formatter->lrclk_sel); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get lrclk_sel: %d\n", ret); - return ret; - } + if (IS_ERR(formatter->lrclk_sel)) + return dev_err_probe(dev, PTR_ERR(formatter->lrclk_sel), + "failed to get lrclk_sel\n"); =20 /* Formatter dedicated reset line */ formatter->reset =3D devm_reset_control_get_optional_exclusive(dev, NULL); - if (IS_ERR(formatter->reset)) { - ret =3D PTR_ERR(formatter->reset); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get reset: %d\n", ret); - return ret; - } + if (IS_ERR(formatter->reset)) + return dev_err_probe(dev, PTR_ERR(formatter->reset), "failed to get rese= t\n"); =20 return devm_snd_soc_register_component(dev, drv->component_drv, NULL, 0); diff --git a/sound/soc/meson/axg-tdm-interface.c b/sound/soc/meson/axg-tdm-= interface.c index 87cac440b3693..e076ced300257 100644 --- a/sound/soc/meson/axg-tdm-interface.c +++ b/sound/soc/meson/axg-tdm-interface.c @@ -517,21 +517,13 @@ static int axg_tdm_iface_probe(struct platform_device= *pdev) =20 /* Bit clock provided on the pad */ iface->sclk =3D devm_clk_get(dev, "sclk"); - if (IS_ERR(iface->sclk)) { - ret =3D PTR_ERR(iface->sclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get sclk: %d\n", ret); - return ret; - } + if (IS_ERR(iface->sclk)) + return dev_err_probe(dev, PTR_ERR(iface->sclk), "failed to get sclk\n"); =20 /* Sample clock provided on the pad */ iface->lrclk =3D devm_clk_get(dev, "lrclk"); - if (IS_ERR(iface->lrclk)) { - ret =3D PTR_ERR(iface->lrclk); - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get lrclk: %d\n", ret); - return ret; - } + if (IS_ERR(iface->lrclk)) + return dev_err_probe(dev, PTR_ERR(iface->lrclk), "failed to get lrclk\n"= ); =20 /* * mclk maybe be missing when the cpu dai is in slave mode and @@ -542,13 +534,10 @@ static int axg_tdm_iface_probe(struct platform_device= *pdev) iface->mclk =3D devm_clk_get(dev, "mclk"); if (IS_ERR(iface->mclk)) { ret =3D PTR_ERR(iface->mclk); - if (ret =3D=3D -ENOENT) { + if (ret =3D=3D -ENOENT) iface->mclk =3D NULL; - } else { - if (ret !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get mclk: %d\n", ret); - return ret; - } + else + return dev_err_probe(dev, ret, "failed to get mclk\n"); } =20 return devm_snd_soc_register_component(dev, diff --git a/sound/soc/meson/meson-card-utils.c b/sound/soc/meson/meson-car= d-utils.c index 300ac8be46ef8..0e2691f011b7b 100644 --- a/sound/soc/meson/meson-card-utils.c +++ b/sound/soc/meson/meson-card-utils.c @@ -85,11 +85,9 @@ int meson_card_parse_dai(struct snd_soc_card *card, =20 ret =3D of_parse_phandle_with_args(node, "sound-dai", "#sound-dai-cells", 0, &args); - if (ret) { - if (ret !=3D -EPROBE_DEFER) - dev_err(card->dev, "can't parse dai %d\n", ret); - return ret; - } + if (ret) + return dev_err_probe(card->dev, ret, "can't parse dai\n"); + *dai_of_node =3D args.np; =20 return snd_soc_get_dai_name(&args, dai_name); diff --git a/sound/soc/meson/t9015.c b/sound/soc/meson/t9015.c index 56d2592c16d53..cb1eaf678fc3f 100644 --- a/sound/soc/meson/t9015.c +++ b/sound/soc/meson/t9015.c @@ -258,18 +258,12 @@ static int t9015_probe(struct platform_device *pdev) platform_set_drvdata(pdev, priv); =20 priv->pclk =3D devm_clk_get(dev, "pclk"); - if (IS_ERR(priv->pclk)) { - if (PTR_ERR(priv->pclk) !=3D -EPROBE_DEFER) - dev_err(dev, "failed to get core clock\n"); - return PTR_ERR(priv->pclk); - } + if (IS_ERR(priv->pclk)) + return dev_err_probe(dev, PTR_ERR(priv->pclk), "failed to get core clock= \n"); =20 priv->avdd =3D devm_regulator_get(dev, "AVDD"); - if (IS_ERR(priv->avdd)) { - if (PTR_ERR(priv->avdd) !=3D -EPROBE_DEFER) - dev_err(dev, "failed to AVDD\n"); - return PTR_ERR(priv->avdd); - } + if (IS_ERR(priv->avdd)) + return dev_err_probe(dev, PTR_ERR(priv->avdd), "failed to AVDD\n"); =20 ret =3D clk_prepare_enable(priv->pclk); if (ret) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA47517C638; Sun, 24 Mar 2024 23:42:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323773; cv=none; b=dN0fYrL4HUrTx1OdiIctt01hvemwTpmhurJ+Z2bInVSjujScRDgOgf43E4ffOUeDibwwJr87na5Jqd+eboF1iM27N8jDXX2XE5Fcfz9Ms9qR0nm9Ll2h3EeGx/RFWKsHOVqJvtcelPJAwUC5UY/0lM+8wygiuZrQs85ISZ8t7EM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323773; c=relaxed/simple; bh=BAZzIM9JpzWbgzhrY9OZLIrNdLPXeXZI5MUQmeGqK7I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=plUysMRRlz/nz0beqWT2RP4xdC2fpfavxUgk9aVH+N8cZnp9m9ifvTWZGMgCD64nGuVogfYKuilHqb4zdwjvL6TDh+QpbGOSTSTTrjOhVpGBNAlKKwDH3JK2TBDcflpcBG5ZdSsk3AYapEm4uLy+zr7tW022eOz9+IxcRGE6zBk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tyN32Nmf; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="tyN32Nmf" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E10F5C433A6; Sun, 24 Mar 2024 23:42:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323773; bh=BAZzIM9JpzWbgzhrY9OZLIrNdLPXeXZI5MUQmeGqK7I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tyN32NmfxW8nyC4FbOmlwy7HSF9MGjczFcJaQ2ol6BNu9lt+bBQjV1FwcPs3+8KKt tPnTt7fLaNC0IIQcN9KnNzul7qqUr++F76Mbgjq/hqhudSHCe1zGTHe7VOoU3gD3CI EygCaYiQOgkSnnNZjNPZEFmz2ijJ48LAx848QmmmSlNI+WNaOi2YRa4Ps/bUt9AZFz VngJHB+Z5iJizc0JifPFkzbuickCYJLYuhEFTv/MP20spTIo1sOu1Px9d1Hsl6XmW3 A/e9iBTzi+wp5CTxR8Zqdgla3a0fy5+LSXMdC3xoY7CtNbTJUiBIWIXI9R65S14Vij 9AzcnCuRWXXnQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jerome Brunet , Arnd Bergmann , Justin Stitt , Mark Brown , Sasha Levin Subject: [PATCH 5.10 149/238] ASoC: meson: aiu: fix function pointer type mismatch Date: Sun, 24 Mar 2024 19:38:57 -0400 Message-ID: <20240324234027.1354210-150-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jerome Brunet [ Upstream commit 98ac85a00f31d2e9d5452b825a9ed0153d934043 ] clang-16 warns about casting functions to incompatible types, as is done here to call clk_disable_unprepare: sound/soc/meson/aiu.c:243:12: error: cast from 'void (*)(struct clk *)' to = 'void (*)(void *)' converts to incompatible function type [-Werror,-Wcast-f= unction-type-strict] 243 | (void(*)(void *))clk_disable= _unprepare, The pattern of getting, enabling and setting a disable callback for a clock can be replaced with devm_clk_get_enabled(), which also fixes this warning. Fixes: 6ae9ca9ce986 ("ASoC: meson: aiu: add i2s and spdif support") Reported-by: Arnd Bergmann Signed-off-by: Jerome Brunet Reviewed-by: Justin Stitt Link: https://msgid.link/r/20240213215807.3326688-2-jbrunet@baylibre.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/meson/aiu.c | 19 ++++--------------- sound/soc/meson/aiu.h | 1 - 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/sound/soc/meson/aiu.c b/sound/soc/meson/aiu.c index 386a31a044700..03bc3e5b6cab5 100644 --- a/sound/soc/meson/aiu.c +++ b/sound/soc/meson/aiu.c @@ -215,11 +215,12 @@ static const char * const aiu_spdif_ids[] =3D { static int aiu_clk_get(struct device *dev) { struct aiu *aiu =3D dev_get_drvdata(dev); + struct clk *pclk; int ret; =20 - aiu->pclk =3D devm_clk_get(dev, "pclk"); - if (IS_ERR(aiu->pclk)) - return dev_err_probe(dev, PTR_ERR(aiu->pclk), "Can't get the aiu pclk\n"= ); + pclk =3D devm_clk_get_enabled(dev, "pclk"); + if (IS_ERR(pclk)) + return dev_err_probe(dev, PTR_ERR(pclk), "Can't get the aiu pclk\n"); =20 aiu->spdif_mclk =3D devm_clk_get(dev, "spdif_mclk"); if (IS_ERR(aiu->spdif_mclk)) @@ -236,18 +237,6 @@ static int aiu_clk_get(struct device *dev) if (ret) return dev_err_probe(dev, ret, "Can't get the spdif clocks\n"); =20 - ret =3D clk_prepare_enable(aiu->pclk); - if (ret) { - dev_err(dev, "peripheral clock enable failed\n"); - return ret; - } - - ret =3D devm_add_action_or_reset(dev, - (void(*)(void *))clk_disable_unprepare, - aiu->pclk); - if (ret) - dev_err(dev, "failed to add reset action on pclk"); - return ret; } =20 diff --git a/sound/soc/meson/aiu.h b/sound/soc/meson/aiu.h index 87aa19ac4af3a..44f8c213d35a0 100644 --- a/sound/soc/meson/aiu.h +++ b/sound/soc/meson/aiu.h @@ -33,7 +33,6 @@ struct aiu_platform_data { }; =20 struct aiu { - struct clk *pclk; struct clk *spdif_mclk; struct aiu_interface i2s; struct aiu_interface spdif; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DB41317C641; Sun, 24 Mar 2024 23:42:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323774; cv=none; b=DMzKg3UVRrt4TkKg5wBC+b7xBL6cz0jrWZqVcKU96Uke5BFaTDTG2YWYthYSS1bvaLoBTNdigQ2qTJeTcIdN3+G9xNd8OJaeqxgQ/xXYSjGfYsPRFsKeI+0CtvdajvzjGZ5r7Mh4CMv/MjQDvPDt7XdtnMBw85/C32EWvGwp7w4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323774; c=relaxed/simple; bh=S8Yjdnpevw2WVZxIsS5jm3Cwfo/mtdicJ9k3Caczv4Q=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=o4nUcHBDTADIA2ZqrK0dVP86WZ5WmxocQehMsW2MZ6WFPXwpYPD7W2zgTjGISxfgNqcLwK4C0R/a9RdcIgAFoxfAoGY82ltkpP5b215BJV8hLjoC6imFGmmLMM9klsWXpl2JT8+4rRWeTRTBUeSaH1dIjLPPy87uimkB49lpQOc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TC+P/fvJ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TC+P/fvJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EEBB0C433C7; Sun, 24 Mar 2024 23:42:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323774; bh=S8Yjdnpevw2WVZxIsS5jm3Cwfo/mtdicJ9k3Caczv4Q=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TC+P/fvJp9NLSaNhcSR/QpPwkXL4nC9oA0UijMt0bSRnfYDCLGMr/vxEDcOEcIbaN Gdjn7fVmg5tpn8aA7phVE52ucMlwAxjuN0oAq7AO/dOhEZGxWDlR1Q0FBwtMh7mwol 1UfsBKRFCeuXeO98PEZRpztyUmd0ahFiQsO3VLam+UZp9cbI4LpGbmOUZ/fCdIlylL zGTZsS/kMLybhmDA3T/kbr80Miou0LapEumfmLxlkXQIUnkx4ymNSAsc8ESzJ8mGiS QdRcQbxz+EHzEJEx6klAcGnv5gustVTzyzb9AzV2f+4Y995RlcF+BvBGCEPGTx5YVZ 3smEH9IS5Ykcw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jerome Brunet , Arnd Bergmann , Justin Stitt , Mark Brown , Sasha Levin Subject: [PATCH 5.10 150/238] ASoC: meson: t9015: fix function pointer type mismatch Date: Sun, 24 Mar 2024 19:38:58 -0400 Message-ID: <20240324234027.1354210-151-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jerome Brunet [ Upstream commit 5ad992c71b6a8e8a547954addc7af9fbde6ca10a ] clang-16 warns about casting functions to incompatible types, as is done here to call clk_disable_unprepare: sound/soc/meson/t9015.c:274:4: error: cast from 'void (*)(struct clk *)' to= 'void (*)(void *)' converts to incompatible function type [-Werror,-Wcast-= function-type-strict] 274 | (void(*)(void *))clk_disable_unprepare, The pattern of getting, enabling and setting a disable callback for a clock can be replaced with devm_clk_get_enabled(), which also fixes this warning. Fixes: 33901f5b9b16 ("ASoC: meson: add t9015 internal DAC driver") Reported-by: Arnd Bergmann Signed-off-by: Jerome Brunet Reviewed-by: Justin Stitt Link: https://msgid.link/r/20240213215807.3326688-3-jbrunet@baylibre.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/meson/t9015.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/sound/soc/meson/t9015.c b/sound/soc/meson/t9015.c index cb1eaf678fc3f..b085aa65c688c 100644 --- a/sound/soc/meson/t9015.c +++ b/sound/soc/meson/t9015.c @@ -48,7 +48,6 @@ #define POWER_CFG 0x10 =20 struct t9015 { - struct clk *pclk; struct regulator *avdd; }; =20 @@ -250,6 +249,7 @@ static int t9015_probe(struct platform_device *pdev) struct t9015 *priv; void __iomem *regs; struct regmap *regmap; + struct clk *pclk; int ret; =20 priv =3D devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); @@ -257,26 +257,14 @@ static int t9015_probe(struct platform_device *pdev) return -ENOMEM; platform_set_drvdata(pdev, priv); =20 - priv->pclk =3D devm_clk_get(dev, "pclk"); - if (IS_ERR(priv->pclk)) - return dev_err_probe(dev, PTR_ERR(priv->pclk), "failed to get core clock= \n"); + pclk =3D devm_clk_get_enabled(dev, "pclk"); + if (IS_ERR(pclk)) + return dev_err_probe(dev, PTR_ERR(pclk), "failed to get core clock\n"); =20 priv->avdd =3D devm_regulator_get(dev, "AVDD"); if (IS_ERR(priv->avdd)) return dev_err_probe(dev, PTR_ERR(priv->avdd), "failed to AVDD\n"); =20 - ret =3D clk_prepare_enable(priv->pclk); - if (ret) { - dev_err(dev, "core clock enable failed\n"); - return ret; - } - - ret =3D devm_add_action_or_reset(dev, - (void(*)(void *))clk_disable_unprepare, - priv->pclk); - if (ret) - return ret; - ret =3D device_reset(dev); if (ret) { dev_err(dev, "reset failed\n"); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BCB1217C64D; Sun, 24 Mar 2024 23:42:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323776; cv=none; b=sEyLVZS2vj0p+4o26s2vC5fcmg2Wb399KERHect2FbWKZ2UYJPOgP8kDAFDcIpnCmfITVXk/ngN1s9Cs4RSQ8OUiABMU9sQlcd2htqXxVfZrLG1kJfejsjoqEufHTRl3jIuGFqMTcIBRkOMt1ZClIp2zuusypIF4ArN0J8KtsE0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323776; c=relaxed/simple; bh=hFawXazSgOWDX4ODepUPpjqmDoz/ldmHApyQjv8C9yo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MITnuLd5UQXxS8x5Cu5YLd3k+JhCrDQ4Cb5HqeaVANmzWtO+UA571rpUqz+Jah4eB4JWPUGkIF2bw54oOCUinj5I1jNOwBmzYFGH7ZlRxM0BJSfo7j93nLnKeX10Vj8cGNJg0apa9Wzmkav7kFfljUD7ZI8c5gapFljWu7n5AOo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fHM6zAPH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fHM6zAPH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0B33CC43609; Sun, 24 Mar 2024 23:42:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323775; bh=hFawXazSgOWDX4ODepUPpjqmDoz/ldmHApyQjv8C9yo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=fHM6zAPHg9873zVLQEBQAtCjzhJ2Vfi+1aWtqyzwp2yEJWZr2mfrLxwQFlmxt547q 1oHzPAiwP4e+atcUtm8GX98F9xXEaxVRwViGxtwTsuxg7x4ytRBUOQJryZzPZSKugT 9LE/FMRNctSeIoVz8U3VYiVfv1E7mayim0SJftAjI/xf9g62i5bSKL4oRAwXAxVEaI 9/k1caaF9yfwhnOX7zT8Ich6otjXRvQZwMV3awePrestdwBNcNXtzHEst+Cqy2oTg+ Y/V9A0D6ZeTugMfW5YaZmPZHDjzv3pwYKxse0wKIVqovdYCSeE05O/OuIxXzs+TXU+ xg6GqTgkNIkfg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jernej Skrabec , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 151/238] media: sun8i-di: Fix coefficient writes Date: Sun, 24 Mar 2024 19:38:59 -0400 Message-ID: <20240324234027.1354210-152-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jernej Skrabec [ Upstream commit 794b581f8c6eb7b60fe468ccb96dd3cd38ff779f ] Currently coefficients are applied only once, since they don't change. However, this is done before enable bit is set and thus it doesn't get applied properly. Fix that by applying coefficients after enable bit is set. While this means that it will be done evey time, it doesn't bring much time penalty. Fixes: a4260ea49547 ("media: sun4i: Add H3 deinterlace driver") Signed-off-by: Jernej Skrabec Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- .../media/platform/sunxi/sun8i-di/sun8i-di.c | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c b/drivers/med= ia/platform/sunxi/sun8i-di/sun8i-di.c index 2c159483c56ba..a9d3272940be0 100644 --- a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c +++ b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c @@ -66,6 +66,7 @@ static void deinterlace_device_run(void *priv) struct vb2_v4l2_buffer *src, *dst; unsigned int hstep, vstep; dma_addr_t addr; + int i; =20 src =3D v4l2_m2m_next_src_buf(ctx->fh.m2m_ctx); dst =3D v4l2_m2m_next_dst_buf(ctx->fh.m2m_ctx); @@ -160,6 +161,26 @@ static void deinterlace_device_run(void *priv) deinterlace_write(dev, DEINTERLACE_CH1_HORZ_FACT, hstep); deinterlace_write(dev, DEINTERLACE_CH1_VERT_FACT, vstep); =20 + /* neutral filter coefficients */ + deinterlace_set_bits(dev, DEINTERLACE_FRM_CTRL, + DEINTERLACE_FRM_CTRL_COEF_ACCESS); + readl_poll_timeout(dev->base + DEINTERLACE_STATUS, val, + val & DEINTERLACE_STATUS_COEF_STATUS, 2, 40); + + for (i =3D 0; i < 32; i++) { + deinterlace_write(dev, DEINTERLACE_CH0_HORZ_COEF0 + i * 4, + DEINTERLACE_IDENTITY_COEF); + deinterlace_write(dev, DEINTERLACE_CH0_VERT_COEF + i * 4, + DEINTERLACE_IDENTITY_COEF); + deinterlace_write(dev, DEINTERLACE_CH1_HORZ_COEF0 + i * 4, + DEINTERLACE_IDENTITY_COEF); + deinterlace_write(dev, DEINTERLACE_CH1_VERT_COEF + i * 4, + DEINTERLACE_IDENTITY_COEF); + } + + deinterlace_clr_set_bits(dev, DEINTERLACE_FRM_CTRL, + DEINTERLACE_FRM_CTRL_COEF_ACCESS, 0); + deinterlace_clr_set_bits(dev, DEINTERLACE_FIELD_CTRL, DEINTERLACE_FIELD_CTRL_FIELD_CNT_MSK, DEINTERLACE_FIELD_CTRL_FIELD_CNT(ctx->field)); @@ -248,7 +269,6 @@ static irqreturn_t deinterlace_irq(int irq, void *data) static void deinterlace_init(struct deinterlace_dev *dev) { u32 val; - int i; =20 deinterlace_write(dev, DEINTERLACE_BYPASS, DEINTERLACE_BYPASS_CSC); @@ -285,26 +305,6 @@ static void deinterlace_init(struct deinterlace_dev *d= ev) deinterlace_clr_set_bits(dev, DEINTERLACE_CHROMA_DIFF, DEINTERLACE_CHROMA_DIFF_TH_MSK, DEINTERLACE_CHROMA_DIFF_TH(5)); - - /* neutral filter coefficients */ - deinterlace_set_bits(dev, DEINTERLACE_FRM_CTRL, - DEINTERLACE_FRM_CTRL_COEF_ACCESS); - readl_poll_timeout(dev->base + DEINTERLACE_STATUS, val, - val & DEINTERLACE_STATUS_COEF_STATUS, 2, 40); - - for (i =3D 0; i < 32; i++) { - deinterlace_write(dev, DEINTERLACE_CH0_HORZ_COEF0 + i * 4, - DEINTERLACE_IDENTITY_COEF); - deinterlace_write(dev, DEINTERLACE_CH0_VERT_COEF + i * 4, - DEINTERLACE_IDENTITY_COEF); - deinterlace_write(dev, DEINTERLACE_CH1_HORZ_COEF0 + i * 4, - DEINTERLACE_IDENTITY_COEF); - deinterlace_write(dev, DEINTERLACE_CH1_VERT_COEF + i * 4, - DEINTERLACE_IDENTITY_COEF); - } - - deinterlace_clr_set_bits(dev, DEINTERLACE_FRM_CTRL, - DEINTERLACE_FRM_CTRL_COEF_ACCESS, 0); } =20 static inline struct deinterlace_ctx *deinterlace_file2ctx(struct file *fi= le) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A133017C63D; Sun, 24 Mar 2024 23:42:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323776; cv=none; b=SyGsMnuWuO/5QGHYWohc7qEiiTyroCpBRgoM1dGuHk/0F1+kFKKlYrkEUS24vC36AnzdAtbocFBp2CobP6ximew9GJWQNq3v4aAbwEXhRzlO0LOgbi+tbL4KX5TgkuEV//izDjzK+nlSwWqqbnSlK4zeNxBbcnPNv6XzmUyl0aQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323776; c=relaxed/simple; bh=iYn8hq6s2Qn3vdHi8ZTdnpLNgfPLwVGSAJnvl2Q+Sfo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Ru89oV7kaobrPrRm/aIUxt7VZq/MZ0VrNv/6NquD44K9pVHNCha0fwAQyrSlIw4vcwzfoZIwr5BO4wQ4bZdDKcohH0iu/Twu34UQREUgpemT6Tp+sNTrUeygDgevn5HVzjIQpTIUsrZ/Iwb3mb+SChScUgkqB73gosNb/gNhr0c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=peVo8nRn; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="peVo8nRn" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E11DFC433C7; Sun, 24 Mar 2024 23:42:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323776; bh=iYn8hq6s2Qn3vdHi8ZTdnpLNgfPLwVGSAJnvl2Q+Sfo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=peVo8nRnpwTd+ITZG/VehJI1g7VfswwfGgMm8CBCW/O1K8ZR/cF81loY++PmaJJoH gRTBDzL4RyRk8ctWxyL2mPBnMrmqNINAhajFMvaxFwlM8qIBP/Fsh9DLBL+JinoUlM ZMH2g8mlPhpA/mQuIQK/nYcdUlBV48SGtGuylg/GqmhZM0YCn8UmjTEBIY5WDTkpd7 0PxMA4AcFPoLYEhZop9dwLC1sXNuqXG/S1KYuSaMwyhZb0Vd7HxHt4Ch6bDGfUbJOr NKjIIY/fjJO5G7wJiNbUzJjo57b4TLeRTdsVKMvbmkkUOAwWkADN7eSahpAYcAsbcT 3mdk3NtTeV1xQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jernej Skrabec , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 152/238] media: sun8i-di: Fix power on/off sequences Date: Sun, 24 Mar 2024 19:39:00 -0400 Message-ID: <20240324234027.1354210-153-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jernej Skrabec [ Upstream commit cff104e33bad38f4b2c8d58816a7accfaa2879f9 ] According to user manual, reset line should be deasserted before clocks are enabled. Also fix power down sequence to be reverse of that. Fixes: a4260ea49547 ("media: sun4i: Add H3 deinterlace driver") Signed-off-by: Jernej Skrabec Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- .../media/platform/sunxi/sun8i-di/sun8i-di.c | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c b/drivers/med= ia/platform/sunxi/sun8i-di/sun8i-di.c index a9d3272940be0..cb6d32c59191f 100644 --- a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c +++ b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c @@ -937,11 +937,18 @@ static int deinterlace_runtime_resume(struct device *= device) return ret; } =20 + ret =3D reset_control_deassert(dev->rstc); + if (ret) { + dev_err(dev->dev, "Failed to apply reset\n"); + + goto err_exclusive_rate; + } + ret =3D clk_prepare_enable(dev->bus_clk); if (ret) { dev_err(dev->dev, "Failed to enable bus clock\n"); =20 - goto err_exclusive_rate; + goto err_rst; } =20 ret =3D clk_prepare_enable(dev->mod_clk); @@ -958,23 +965,16 @@ static int deinterlace_runtime_resume(struct device *= device) goto err_mod_clk; } =20 - ret =3D reset_control_deassert(dev->rstc); - if (ret) { - dev_err(dev->dev, "Failed to apply reset\n"); - - goto err_ram_clk; - } - deinterlace_init(dev); =20 return 0; =20 -err_ram_clk: - clk_disable_unprepare(dev->ram_clk); err_mod_clk: clk_disable_unprepare(dev->mod_clk); err_bus_clk: clk_disable_unprepare(dev->bus_clk); +err_rst: + reset_control_assert(dev->rstc); err_exclusive_rate: clk_rate_exclusive_put(dev->mod_clk); =20 @@ -985,11 +985,12 @@ static int deinterlace_runtime_suspend(struct device = *device) { struct deinterlace_dev *dev =3D dev_get_drvdata(device); =20 - reset_control_assert(dev->rstc); - clk_disable_unprepare(dev->ram_clk); clk_disable_unprepare(dev->mod_clk); clk_disable_unprepare(dev->bus_clk); + + reset_control_assert(dev->rstc); + clk_rate_exclusive_put(dev->mod_clk); =20 return 0; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 85C3D17C648; Sun, 24 Mar 2024 23:42:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323778; cv=none; b=XG1jsId9tg/h+TSHkVpKSsK74qhllJNaWWwfldGMjfRL42KM4AoTOoXm79qk259FULICOlq7FwsQFsA6plp3yr+S1PYKNy5SLF3RWWA9YCDyJcNIAfb7JjhsO85HBNc372qgsPFf1sa4xocs8hi3YwNjiYPsvGqWnDsjMg1CAec= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323778; c=relaxed/simple; bh=R4fpI3nUxblZ9piHZOY3BrzsEQgwRd80qaLogd7/6gU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Gdzz45/MhV2CUn+xxXjoJMwdholD8R34usFFtfE5JAnvHy4sk4hVM5jCalVFgrMjVZyi7ui1sf+jWzd86ByrfApxWOmIZk4yNG3KTPvD1D4GblTwAEQJl/OXzcAnTIDhTP2h7wNJql08T5F7gDEMIyKR+Vv8AKaN7fdvZ/k6n88= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NT08DQLK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="NT08DQLK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C359BC433F1; Sun, 24 Mar 2024 23:42:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323777; bh=R4fpI3nUxblZ9piHZOY3BrzsEQgwRd80qaLogd7/6gU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NT08DQLKI50Ud9lrHhtpa6aEepzdxe7vL9QBAQt5MBzwD09E19dauyoMrSsyzXOsZ R+pqIV6orSqFuYU6ZHmTc7nch4tNn4Cq1a3+CEvEDfh+hTUbVp5UDMTIzCw5qcGx+2 7wI/CCFx0Bh+kF3SDiO0f+bBk3nhJvC5yssCKjlLk+Tof0AttOv6WgUliACLilapQQ 5DfZglD0zIrJuFQGdyQ8qiN17lj9Cvl/kXLF0Pv2Lge92ibSvhGiduY8vzjulOvJxY kLv5E+NZWuny8g7ynHrOfblIDJH9hS+oXNkv+hnff6rpQBXnK6ha5HU3deMjX5Ah3G 41HQFGwbMG6yw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jernej Skrabec , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 153/238] media: sun8i-di: Fix chroma difference threshold Date: Sun, 24 Mar 2024 19:39:01 -0400 Message-ID: <20240324234027.1354210-154-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jernej Skrabec [ Upstream commit 856525e8db272b0ce6d9c6e6c2eeb97892b485a6 ] While there is no good explanation what this value does, vendor driver uses value 31 for it. Align driver with it. Fixes: a4260ea49547 ("media: sun4i: Add H3 deinterlace driver") Signed-off-by: Jernej Skrabec Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/platform/sunxi/sun8i-di/sun8i-di.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c b/drivers/med= ia/platform/sunxi/sun8i-di/sun8i-di.c index cb6d32c59191f..f0d2bcbe20b0d 100644 --- a/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c +++ b/drivers/media/platform/sunxi/sun8i-di/sun8i-di.c @@ -304,7 +304,7 @@ static void deinterlace_init(struct deinterlace_dev *de= v) =20 deinterlace_clr_set_bits(dev, DEINTERLACE_CHROMA_DIFF, DEINTERLACE_CHROMA_DIFF_TH_MSK, - DEINTERLACE_CHROMA_DIFF_TH(5)); + DEINTERLACE_CHROMA_DIFF_TH(31)); } =20 static inline struct deinterlace_ctx *deinterlace_file2ctx(struct file *fi= le) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A4F917AF97; Sun, 24 Mar 2024 23:42:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323779; cv=none; b=AmZH+z0HR69AGhc46ObCUbW2ugyxBLepvDTQgXwSFMK49xzIiCwMxOn4iQZfG3XB45ny+FRumPYnhIpWDHuWQHF147R7KiBJ93llAjk/qoMPmvZsFGU7xkqYM9qnrGCUFg40ahr7DyzbPTDEvPuatQer0JOEUpvqlyBnwhYuMWw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323779; c=relaxed/simple; bh=Yjr34TEgyp7PzJaC3I+2zo5LTxg0MGz/MCnfuX7bBrE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BFHIFh5+dfQVcqGqDzK2G+kdRzaLmpm1Po0yhHKGZSPEOWYxXuym8/0b/UZHRCZEVn6Hwl9itFqRkRgdUZ+7p0RVMCQrlQb7r55NUI0+LSMWmIvpN99nBZCneEmdDajoy4cyz9oknNVVgpCAGqVumQrFCqsGZPgK//5NZAYzvjs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nd8YSegg; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nd8YSegg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7B41C43390; Sun, 24 Mar 2024 23:42:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323778; bh=Yjr34TEgyp7PzJaC3I+2zo5LTxg0MGz/MCnfuX7bBrE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nd8YSegg7SFa63979CKMDGNWhszdExIMEztbL/j6hXyei+3v8lUOflyj8SnYBk665 fog/K+ti74oL8H/SFCJc6GyyDjpgER4nct08uQq2NuPaN3U3Ehvl10e66iKJuOSGC/ r57UOgrKzH/x8R0CURBVuLibPS7YPhnofvPiJEOz0rOim1cN2c4y+tBAkJIWRMlyCy qAsI4hPmCaDz+5nKeGp328bPvteoPlyRXReRs+CQbS2CjC3ZHFQXR6XLyHSlTK3VPj ujXB9YC6xEd6SFuTMTTfnoCoQlMkI3Wk5b4Df9AEn3ZDb7fsqz/bOenyHwejyurP7N U08oxskwA6KNw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Lucas Stach , Philipp Zabel , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 154/238] media: imx: csc/scaler: fix v4l2_ctrl_handler memory leak Date: Sun, 24 Mar 2024 19:39:02 -0400 Message-ID: <20240324234027.1354210-155-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Lucas Stach [ Upstream commit 4797a3dd46f220e6d83daf54d70c5b33db6deb01 ] Free the memory allocated in v4l2_ctrl_handler_init on release. Fixes: a8ef0488cc59 ("media: imx: add csc/scaler mem2mem device") Signed-off-by: Lucas Stach Reviewed-by: Philipp Zabel Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/staging/media/imx/imx-media-csc-scaler.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/media/imx/imx-media-csc-scaler.c b/drivers/sta= ging/media/imx/imx-media-csc-scaler.c index 63a0204502a8b..939843b895440 100644 --- a/drivers/staging/media/imx/imx-media-csc-scaler.c +++ b/drivers/staging/media/imx/imx-media-csc-scaler.c @@ -803,6 +803,7 @@ static int ipu_csc_scaler_release(struct file *file) =20 dev_dbg(priv->dev, "Releasing instance %p\n", ctx); =20 + v4l2_ctrl_handler_free(&ctx->ctrl_hdlr); v4l2_m2m_ctx_release(ctx->fh.m2m_ctx); v4l2_fh_del(&ctx->fh); v4l2_fh_exit(&ctx->fh); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5F88517C653; Sun, 24 Mar 2024 23:42:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323779; cv=none; b=GLDqvIZ/0xfEHNnFBFIRj6PCqvEDErmqryf2+P5KA+9WfO4b6d3DfLEnWrkKZaWnfFWiQpLVJEgGlMeDMJUnyH6wbM+2cLLWrEWevnYenC7FnLTqSXZN2LAU3Bk1OlmQtDL/gYREGFQccVAVXfy6zB08Kt+Hr26/t8iLEa3U4o8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323779; c=relaxed/simple; bh=BApVoZr1HWgG77uIAlP5say5xUHr6e9CzMP/GXvg8hE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qsSJyXSlp1tbSZ5zSsnPeLIChn+R1KKyyqPlDcixvf89y/g4IoC4RydbJviM6KHRdANhMVti07OXK4SbDYfJnI5ozag+eYLbBKz1x4mKqDFaSxCOxOd1mX5MGqfsssbl0W4IZ/mUJV8gzerDtrHECPzrb6C+jrGQt3DzKHzvcWc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nMYdwaI9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nMYdwaI9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9DF61C43399; Sun, 24 Mar 2024 23:42:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323779; bh=BApVoZr1HWgG77uIAlP5say5xUHr6e9CzMP/GXvg8hE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=nMYdwaI9LOMBNowz1d71bpQtqklYryH6SoeM5EgIz7/XlT4BKRLUJsZluIrOcAA83 J64/gR6w53VWxTWcp5vYxnfSAydUHCsOlHYoPY/8C2gXGt9ttUk6wLf4IeapXfqWQd oKtUCFKFSUOeon/gyMZlzMMSWvh6lfQma/+8FkvWk9fFJJwI/e/42bSdH3qUwHcsKL N7WvO+8cpBioSy7Kff1qmhO2W4p4l4QKbeuRIM9z3GZh+jJkTa8Mf6Pm4cSvxwW2Dg JD5Bp9YCRaO3KPcHY2+F6zLIPCexcGlot9Zy2AN8iscA7IPHpgaYxfoBlMx/37XTW9 nO407c688Cs7Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Daniil Dulov , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 155/238] media: go7007: add check of return value of go7007_read_addr() Date: Sun, 24 Mar 2024 19:39:03 -0400 Message-ID: <20240324234027.1354210-156-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Daniil Dulov [ Upstream commit 0b70530ee740861f4776ff724fcc25023df1799a ] If go7007_read_addr() returns error channel is not assigned a value. In this case go to allocfail. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: 866b8695d67e ("Staging: add the go7007 video driver") Signed-off-by: Daniil Dulov Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/usb/go7007/go7007-usb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/usb/go7007/go7007-usb.c b/drivers/media/usb/go70= 07/go7007-usb.c index eeb85981e02b6..762c13e49bfa5 100644 --- a/drivers/media/usb/go7007/go7007-usb.c +++ b/drivers/media/usb/go7007/go7007-usb.c @@ -1201,7 +1201,9 @@ static int go7007_usb_probe(struct usb_interface *int= f, u16 channel; =20 /* read channel number from GPIO[1:0] */ - go7007_read_addr(go, 0x3c81, &channel); + if (go7007_read_addr(go, 0x3c81, &channel)) + goto allocfail; + channel &=3D 0x3; go->board_id =3D GO7007_BOARDID_ADLINK_MPG24; usb->board =3D board =3D &board_adlink_mpg24; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 40AC517C6A9; Sun, 24 Mar 2024 23:43:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323781; cv=none; b=DLvZ5VMSDP7lT1Z3/jnFymWwidRUzgidG2GUsJXPD8IbhFNCSSpBXDvXOwUbpIXk7mMooFmc5Zo/bLZYdIb1uBsKZvJFESFAlUUDzJwL+CiufvWPlAAUvGzVNXeQXCil8OofriihbwutTYYU9mtdiGJw2kovO9n9bq/tPAYo9rk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323781; c=relaxed/simple; bh=fkQUcbORkODKGwcIjJeKyjjU5hkBPC4MQG1SSmB4Lms=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OUZr2yevjf/4tmcYfW9scoX6F65fapJWbZ8TYCOhCzaVAeTA7ljtWgwEu4odvjj5ptEmtcBMi89CSCq5iMR+2EMad3pBMwOucrzcIC6PAD06hbIAt3WHqlaSllY54uGUS6rV61uwLuqeIVDsP5v3aJ9uj/C1Z7WC1hQstdYZSGs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=E6ticShk; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="E6ticShk" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 819DFC433C7; Sun, 24 Mar 2024 23:42:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323780; bh=fkQUcbORkODKGwcIjJeKyjjU5hkBPC4MQG1SSmB4Lms=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E6ticShkGwMeEs2o8MMN3Bj3vwQMxQGJo5IuJ6JQUnnUg075FU+PasyqVcTidcipN AgR38GZdadzZWQ+1Zv+hAyKW2PLuSPqBWmCCT6XKBy7J7kHgvwK93eW3805H9hGBSo lhFDKcmgd7K+FGdx1453y7Tqkc5aPcX7LmpUS9eVCfoNib5UlOgm+OUkIDvoJSoFpI J95+055VJFTWZ6HkxZiHKsp/7jrSdOHan75bm7CpzYlCuv4yfsgB7PJ5rDFdOfTLtv 69IVLTJf2rytAeZZ4EC/Xi6c3H0RrsokF296VNURL9Yuovx0bdPV7QeUAZz4PQ49jT +stYk7WqbHGDw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Daniil Dulov , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 156/238] media: pvrusb2: remove redundant NULL check Date: Sun, 24 Mar 2024 19:39:04 -0400 Message-ID: <20240324234027.1354210-157-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Daniil Dulov [ Upstream commit 95ac1210fb2753f968ebce0730d4fbc553c2a3dc ] Pointer dip->stream cannot be NULL due to a shift, thus remove redundant NULL check. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: c74e0062684b ("V4L/DVB (5059): Pvrusb2: Be smarter about mode restor= ation") Signed-off-by: Daniil Dulov Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c b/drivers/media/usb/p= vrusb2/pvrusb2-v4l2.c index 9657c18833116..c872868becbdc 100644 --- a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c @@ -1202,11 +1202,6 @@ static void pvr2_v4l2_dev_init(struct pvr2_v4l2_dev = *dip, dip->minor_type =3D pvr2_v4l_type_video; nr_ptr =3D video_nr; caps |=3D V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_AUDIO; - if (!dip->stream) { - pr_err(KBUILD_MODNAME - ": Failed to set up pvrusb2 v4l video dev due to missing stream instan= ce\n"); - return; - } break; case VFL_TYPE_VBI: dip->config =3D pvr2_config_vbi; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 23ECD17C6A8; Sun, 24 Mar 2024 23:43:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323781; cv=none; b=CC9FLcBpJ78ZM+5AlHt7xd7hifaSAJDPACI4Y2xmbx1WxUY/vkn2Yvkoq+ScA6Nn29VUC5QwJA/MMwqo9jCsNiX8Z2loYXxXv/hdQ339gGvD06pxp5rb8nPrDahjeHVYkBWqfSUOYwwq69zxGbPhYaBMTr9hfvXBlzEBaNLLyPg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323781; c=relaxed/simple; bh=5F+W2XVBb8jBoA1hXh/onNUbYNMRYXAAcVlmlGC3wtQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=g4aPI3hTBiggCksP7jqnPmGUJjJuljgAQhD7FuavmrTtf8NiqGLEMk6IXBwpePHJwTJ6Gn+e4xNcrMQHwAYjZucJ/d4NnUKg0ZleGTRp4+yLEkBKUcf/IUQ0wnUDwE2XW7AKvD14TRveGdPCdmBpJ+qF8TCz9U9ufEMFbrkZx70= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=YD+UT+tY; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="YD+UT+tY" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 630A0C43394; Sun, 24 Mar 2024 23:43:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323781; bh=5F+W2XVBb8jBoA1hXh/onNUbYNMRYXAAcVlmlGC3wtQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=YD+UT+tYSLsSjlMMV7Stg/4/4kNWpYPTaVQ8BITOZSXF1mQXlam59yGSoTlaYXZi8 uWY8FIwHEmJRr1qYKMk4dFGGIw7Ht2KgHdBzFO0BUYmiB9VVhdrFSCI4BpAAK1qwB6 F0H4f46qxykznYPVgO1FvElxalFl52Lstr8pjQMDR7wMmhTmxe9R1PLGVD/4ihnNd/ HFnlLPZ7eAfDJfUFJube+cd1KuO4D5B0+oYCl60oFqWjXwXcDtQSZjUzM9ukZ82RGf /FjD1Em+cq24G/5KvH2tlgyEcljqAzbA/Ow2LDyVVc20xRwGqmVmYJtDFPpauzqOx7 gTqFQqhr+hyhA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 157/238] media: pvrusb2: fix pvr2_stream_callback casts Date: Sun, 24 Mar 2024 19:39:05 -0400 Message-ID: <20240324234027.1354210-158-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit 30baa4a96b23add91a87305baaeba82c4e109e1f ] clang-16 complains about a control flow integrity (KCFI) issue in pvrusb2, which casts three different prototypes into pvr2_stream_callback: drivers/media/usb/pvrusb2/pvrusb2-v4l2.c:1070:30: error: cast from 'void (*= )(struct pvr2_v4l2_fh *)' to 'pvr2_stream_callback' (aka 'void (*)(void *)'= ) converts to incompatible function type [-Werror,-Wcast-function-type-stri= ct] 1070 | pvr2_stream_set_callback(sp,(pvr2_stream_callback)pvr2_v4l2= _notify,fh); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~ drivers/media/usb/pvrusb2/pvrusb2-context.c:110:6: error: cast from 'void (= *)(struct pvr2_context *)' to 'void (*)(void *)' converts to incompatible f= unction type [-Werror,-Wcast-function-type-strict] 110 | (void (*)(void *))pvr2_cont= ext_notify, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~ drivers/media/usb/pvrusb2/pvrusb2-dvb.c:152:6: error: cast from 'void (*)(s= truct pvr2_dvb_adapter *)' to 'pvr2_stream_callback' (aka 'void (*)(void *)= ') converts to incompatible function type [-Werror,-Wcast-function-type-str= ict] 152 | (pvr2_stream_callback) pvr2_dvb_no= tify, adap); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~ Change the functions to actually take a void* argument so the cast is no lo= nger needed. Fixes: bb8ce9d9143c ("V4L/DVB (7682): pvrusb2-dvb: finish up stream & buffe= r handling") Signed-off-by: Arnd Bergmann Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/usb/pvrusb2/pvrusb2-context.c | 8 ++++---- drivers/media/usb/pvrusb2/pvrusb2-dvb.c | 6 ++++-- drivers/media/usb/pvrusb2/pvrusb2-v4l2.c | 6 ++++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/drivers/media/usb/pvrusb2/pvrusb2-context.c b/drivers/media/us= b/pvrusb2/pvrusb2-context.c index 1764674de98bc..58f2f3ff10ee2 100644 --- a/drivers/media/usb/pvrusb2/pvrusb2-context.c +++ b/drivers/media/usb/pvrusb2/pvrusb2-context.c @@ -90,8 +90,10 @@ static void pvr2_context_destroy(struct pvr2_context *mp) } =20 =20 -static void pvr2_context_notify(struct pvr2_context *mp) +static void pvr2_context_notify(void *ptr) { + struct pvr2_context *mp =3D ptr; + pvr2_context_set_notify(mp,!0); } =20 @@ -106,9 +108,7 @@ static void pvr2_context_check(struct pvr2_context *mp) pvr2_trace(PVR2_TRACE_CTXT, "pvr2_context %p (initialize)", mp); /* Finish hardware initialization */ - if (pvr2_hdw_initialize(mp->hdw, - (void (*)(void *))pvr2_context_notify, - mp)) { + if (pvr2_hdw_initialize(mp->hdw, pvr2_context_notify, mp)) { mp->video_stream.stream =3D pvr2_hdw_get_video_stream(mp->hdw); /* Trigger interface initialization. By doing this diff --git a/drivers/media/usb/pvrusb2/pvrusb2-dvb.c b/drivers/media/usb/pv= rusb2/pvrusb2-dvb.c index 6954584526a32..1b768e7466721 100644 --- a/drivers/media/usb/pvrusb2/pvrusb2-dvb.c +++ b/drivers/media/usb/pvrusb2/pvrusb2-dvb.c @@ -88,8 +88,10 @@ static int pvr2_dvb_feed_thread(void *data) return stat; } =20 -static void pvr2_dvb_notify(struct pvr2_dvb_adapter *adap) +static void pvr2_dvb_notify(void *ptr) { + struct pvr2_dvb_adapter *adap =3D ptr; + wake_up(&adap->buffer_wait_data); } =20 @@ -149,7 +151,7 @@ static int pvr2_dvb_stream_do_start(struct pvr2_dvb_ada= pter *adap) } =20 pvr2_stream_set_callback(pvr->video_stream.stream, - (pvr2_stream_callback) pvr2_dvb_notify, adap); + pvr2_dvb_notify, adap); =20 ret =3D pvr2_stream_set_buffer_count(stream, PVR2_DVB_BUFFER_COUNT); if (ret < 0) return ret; diff --git a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c b/drivers/media/usb/p= vrusb2/pvrusb2-v4l2.c index c872868becbdc..29f2e767f236f 100644 --- a/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/usb/pvrusb2/pvrusb2-v4l2.c @@ -1037,8 +1037,10 @@ static int pvr2_v4l2_open(struct file *file) } =20 =20 -static void pvr2_v4l2_notify(struct pvr2_v4l2_fh *fhp) +static void pvr2_v4l2_notify(void *ptr) { + struct pvr2_v4l2_fh *fhp =3D ptr; + wake_up(&fhp->wait_data); } =20 @@ -1071,7 +1073,7 @@ static int pvr2_v4l2_iosetup(struct pvr2_v4l2_fh *fh) =20 hdw =3D fh->channel.mc_head->hdw; sp =3D fh->pdi->stream->stream; - pvr2_stream_set_callback(sp,(pvr2_stream_callback)pvr2_v4l2_notify,fh); + pvr2_stream_set_callback(sp, pvr2_v4l2_notify, fh); pvr2_hdw_set_stream_type(hdw,fh->pdi->config); if ((ret =3D pvr2_hdw_set_streaming(hdw,!0)) < 0) return ret; return pvr2_ioread_set_enabled(fh->rhp,!0); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 251F617C6AE; Sun, 24 Mar 2024 23:43:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323782; cv=none; b=fESKrNHndUaO06QCyxa4osXhAKGQTUqQuDWuG6kV/758g7drRA2oCVYJFufArklaWvZJLvmVP0XK8oNr5YR/GzVlhr+MINaZRcuXWniXIMcH3Av1wZrttW30ZzUxPYaKdEAfMLMM50c/xRhuJYDD4jhcPhvAZ1JhfQtIrZMmyts= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323782; c=relaxed/simple; bh=Drqi5r3d6775OKi+5Qy3gKeom29Vnn5yKc0wag/duSQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Yemp1Wjd/GnPRCdvIQBXQYks0AInioSsUJLt1m8yNVNsQ8gpk9ZPaMSD+gr4LC5LC1gD4nf8jnRxxW3V+roqfScaGdi26o7l1bdDxbdEfbkplC/nB/iJ3I8ayTssByumv1ES6YwdTfbEhgo+5SQ1jJNmPOBFPS8My2iE6KIu1cM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=T8sI8W2t; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="T8sI8W2t" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 45F22C43399; Sun, 24 Mar 2024 23:43:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323782; bh=Drqi5r3d6775OKi+5Qy3gKeom29Vnn5yKc0wag/duSQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=T8sI8W2tvKzu0P9n08vc40t+uekqbUn11wkblzaE/4IlOik0ULfGVA2pI0EHxsiV/ HK5mJ/oG1NyG+YzmagDprCrPFGgnAqcJiyfF/TWJyh+xfd11/EC+LKb07+kmOK+zBB Amb5zyc+QOZBIqO3j9X6wGJ06DWUpkbMyYzZWLkZADRgfaD9Vt690Rvq7cWfhliDcM SbDgEk0d3bD4WXDRZuH61vAKw8PVMDUCN+PrMe4FVu2HWQsLiEPV4c+txIvc78L0Ht sfvumKGej2IXW+HX0FcKdobi4121lqOxD9jHeROC0KxBQSZKEqSX8236XWcWJRJLWo 5Bc+gaLc1srSQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Konrad Dybcio , Caleb Connolly , Bjorn Andersson , Sasha Levin Subject: [PATCH 5.10 158/238] clk: qcom: dispcc-sdm845: Adjust internal GDSC wait times Date: Sun, 24 Mar 2024 19:39:06 -0400 Message-ID: <20240324234027.1354210-159-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Konrad Dybcio [ Upstream commit 117e7dc697c2739d754db8fe0c1e2d4f1f5d5f82 ] SDM845 downstream uses non-default values for GDSC internal waits. Program them accordingly to avoid surprises. Fixes: 81351776c9fb ("clk: qcom: Add display clock controller driver for SD= M845") Signed-off-by: Konrad Dybcio Tested-by: Caleb Connolly # OnePlus 6 Link: https://lore.kernel.org/r/20240103-topic-845gdsc-v1-1-368efbe1a61d@li= naro.org Signed-off-by: Bjorn Andersson Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/clk/qcom/dispcc-sdm845.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/clk/qcom/dispcc-sdm845.c b/drivers/clk/qcom/dispcc-sdm= 845.c index 5c932cd17b140..8cd8174ac9aa7 100644 --- a/drivers/clk/qcom/dispcc-sdm845.c +++ b/drivers/clk/qcom/dispcc-sdm845.c @@ -768,6 +768,8 @@ static struct clk_branch disp_cc_mdss_vsync_clk =3D { =20 static struct gdsc mdss_gdsc =3D { .gdscr =3D 0x3000, + .en_few_wait_val =3D 0x6, + .en_rest_wait_val =3D 0x5, .pd =3D { .name =3D "mdss_gdsc", }, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B9702210DC; Sun, 24 Mar 2024 23:43:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323783; cv=none; b=INPOeLgXnHcw11GpT0LUPijc6bBi9g82sA8SnGUpHjH1JrH4QZGAhVf+PMU7uUUje/TNlryGo6FRUIQ0Bhx1zUlej0XfaBvHA/qlEq0mZdf6hYs+m4bbieRWm6heBswYdswgG8FJ0ugbUbs13tzogo7OowKXB2Ts7/x7qnqy04w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323783; c=relaxed/simple; bh=UPmJ0oqA11Byc24wBO8q/HFCvObuB20jWO6DOQOtKK4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D/IPu5QHY7OKubHcnAmTrQDneTUQDPVLMsZluD8z09GUXSQ+SXu6Lwd++hFQL9+6ipqL07GUcKzWm4a21lo/jRmdGgKMYE4zPePCSqAeCuIzC2V5yt+J5V1+nti4HBEJkHLLRNvROu7PfKD/l8HMnp1UBWpZR4/ksKJyhtr/VvE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=oK+WseEv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="oK+WseEv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D8D6C43609; Sun, 24 Mar 2024 23:43:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323783; bh=UPmJ0oqA11Byc24wBO8q/HFCvObuB20jWO6DOQOtKK4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oK+WseEvX1xPAK3hwjgG8TrGzU4yB7xLbjjHGhU5zyYGkYz67cEVfpHMyS1m2T91+ ILw/tXh7dJRlu44bcrk1TWsDTfflvMZDfIRZHBKjOMQr5Uqh2u5SrsSMUxTfPlmaDO CuDlB68hgvGWmAFSwSXWtYJiYXLbWHDZiMLdnPm/teABwZnQTywsAyz9pbl/MOHjzr SX2xQmiM7ZRcwqsapMdjPlMAXtgvlJvryUEYPzBKp28nz9FJ8ewOwUecUlncPyMgd6 J2Jc+jVRluS4xYFz6X7SIlZ5CBhlkiafraCHzuyoGlNzlYbNAZJREB45XpGPmxXND3 zHUUw/I8/q/sA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: AngeloGioacchino Del Regno , Alexandre Mergnat , CK Hu , Chun-Kuang Hu , Sasha Levin Subject: [PATCH 5.10 159/238] drm/mediatek: dsi: Fix DSI RGB666 formats and definitions Date: Sun, 24 Mar 2024 19:39:07 -0400 Message-ID: <20240324234027.1354210-160-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: AngeloGioacchino Del Regno [ Upstream commit fae6f815505301b92d9113764f4d76d0bfe45607 ] The register bits definitions for RGB666 formats are wrong in multiple ways: first, in the DSI_PS_SEL bits region, the Packed 18-bits RGB666 format is selected with bit 1, while the Loosely Packed one is bit 2, and second - the definition name "LOOSELY_PS_18BIT_RGB666" is wrong because the loosely packed format is 24 bits instead! Either way, functions mtk_dsi_ps_control_vact() and mtk_dsi_ps_control() do not even agree on the DSI_PS_SEL bit to set in DSI_PSCTRL: one sets loosely packed (24) on RGB666, the other sets packed (18), and the other way around for RGB666_PACKED. Fixing this entire stack of issues is done in one go: - Use the correct bit for the Loosely Packed RGB666 definition - Rename LOOSELY_PS_18BIT_RGB666 to LOOSELY_PS_24BIT_RGB666 - Change ps_bpp_mode in mtk_dsi_ps_control_vact() to set: - Loosely Packed, 24-bits for MIPI_DSI_FMT_RGB666 - Packed, 18-bits for MIPI_DSI_FMT_RGB666_PACKED Fixes: 2e54c14e310f ("drm/mediatek: Add DSI sub driver") Reviewed-by: Alexandre Mergnat Reviewed-by: CK Hu Signed-off-by: AngeloGioacchino Del Regno Link: https://patchwork.kernel.org/project/dri-devel/patch/20240215085316.5= 6835-3-angelogioacchino.delregno@collabora.com/ Signed-off-by: Chun-Kuang Hu Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/mediatek/mtk_dsi.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/= mtk_dsi.c index a6e71b7b69b83..17d45f06cedf3 100644 --- a/drivers/gpu/drm/mediatek/mtk_dsi.c +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -68,8 +68,8 @@ #define DSI_PS_WC 0x3fff #define DSI_PS_SEL (3 << 16) #define PACKED_PS_16BIT_RGB565 (0 << 16) -#define LOOSELY_PS_18BIT_RGB666 (1 << 16) -#define PACKED_PS_18BIT_RGB666 (2 << 16) +#define PACKED_PS_18BIT_RGB666 (1 << 16) +#define LOOSELY_PS_24BIT_RGB666 (2 << 16) #define PACKED_PS_24BIT_RGB888 (3 << 16) =20 #define DSI_VSA_NL 0x20 @@ -365,10 +365,10 @@ static void mtk_dsi_ps_control_vact(struct mtk_dsi *d= si) ps_bpp_mode |=3D PACKED_PS_24BIT_RGB888; break; case MIPI_DSI_FMT_RGB666: - ps_bpp_mode |=3D PACKED_PS_18BIT_RGB666; + ps_bpp_mode |=3D LOOSELY_PS_24BIT_RGB666; break; case MIPI_DSI_FMT_RGB666_PACKED: - ps_bpp_mode |=3D LOOSELY_PS_18BIT_RGB666; + ps_bpp_mode |=3D PACKED_PS_18BIT_RGB666; break; case MIPI_DSI_FMT_RGB565: ps_bpp_mode |=3D PACKED_PS_16BIT_RGB565; @@ -419,7 +419,7 @@ static void mtk_dsi_ps_control(struct mtk_dsi *dsi) dsi_tmp_buf_bpp =3D 3; break; case MIPI_DSI_FMT_RGB666: - tmp_reg =3D LOOSELY_PS_18BIT_RGB666; + tmp_reg =3D LOOSELY_PS_24BIT_RGB666; dsi_tmp_buf_bpp =3D 3; break; case MIPI_DSI_FMT_RGB666_PACKED: --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F6A6284522; Sun, 24 Mar 2024 23:43:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323784; cv=none; b=i1ceZrJlfQF4zyvyy70+O91PYWAapajXawjUUPCFVtm4wcYTIAc+I7SxhIUQnJ1v5WfF5WYqznGHOrBYUKJJ9WxHrOmqyd+jEvKMfOBtAodm2vAdDfrj0s191hdVvl88EO18DplU8LoUVQ5w7fDmmaJQ+GdG5jovzbU1nZojFKc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323784; c=relaxed/simple; bh=ztQ8/XKKj53vrj2RHX4SHK5hJSeYb4qx+sJnAISMHI4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=LoXrlCk/xmkf/jZs/e19jEFPZnVe2ugOFL4D5KD8/wPV4QooDuy/BsxhN6rhvcXVBtN05nVS2yZsHQ5Dpf2jJ/8wUroAs+rdmn04XsC0reD2RY+8aO++f42ue9HrMc5tigP3akHNc2xM21c2peSxI8FncfbXeuGvYSR4WuKIMMs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KLrcnvIl; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KLrcnvIl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4F7D0C43390; Sun, 24 Mar 2024 23:43:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323783; bh=ztQ8/XKKj53vrj2RHX4SHK5hJSeYb4qx+sJnAISMHI4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KLrcnvIlmtx65KSsNr82+7WoVI+EwmO0YRuMIVjoJkpRUAGJnVz+PQKcar7ln/cNA 4ffjATghIogVvjMPrfWezUOURNZjIIvj+QZLS1jc0+T9XLtflgkvhhSrWQkZQUhckG nmkhJzBvIrES6f5D+KtsfaoUP7XJ18vBismqRrm8OcEem49cQIkFwX3gQ6q2R1NYIR uCi41WnQXYBr5Mw4uxxJRDaE61AUoYDw7cOJBYTo+KweMpZS0RmwMKC2gpTYvv/O2A 8vb7wEi7jpYX5TM2FZ9ndu2E7eKKi2wCWaW9KPEJMZzN2GDLfTvI/PFH+G5XxwGwNA HHMZgJCirCUZA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?J=C3=B6rg=20Wedekind?= , Bjorn Helgaas , Sasha Levin Subject: [PATCH 5.10 160/238] PCI: Mark 3ware-9650SE Root Port Extended Tags as broken Date: Sun, 24 Mar 2024 19:39:08 -0400 Message-ID: <20240324234027.1354210-161-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: J=C3=B6rg Wedekind [ Upstream commit baf67aefbe7d7deafa59ca49612d163f8889934c ] Per PCIe r6.1, sec 2.2.6.2 and 7.5.3.4, a Requester may not use 8-bit Tags unless its Extended Tag Field Enable is set, but all Receivers/Completers must handle 8-bit Tags correctly regardless of their Extended Tag Field Enable. Some devices do not handle 8-bit Tags as Completers, so add a quirk for them. If we find such a device, we disable Extended Tags for the entire hierarchy to make peer-to-peer DMA possible. The 3ware 9650SE seems to have issues with handling 8-bit tags. Mark it as broken. This fixes PCI Parity Errors like : 3w-9xxx: scsi0: ERROR: (0x06:0x000C): PCI Parity Error: clearing. 3w-9xxx: scsi0: ERROR: (0x06:0x000D): PCI Abort: clearing. 3w-9xxx: scsi0: ERROR: (0x06:0x000E): Controller Queue Error: clearing. 3w-9xxx: scsi0: ERROR: (0x06:0x0010): Microcontroller Error: clearing. Link: https://lore.kernel.org/r/20240219132811.8351-1-joerg@wedekind.de Fixes: 60db3a4d8cc9 ("PCI: Enable PCIe Extended Tags if supported") Closes: https://bugzilla.kernel.org/show_bug.cgi?id=3D202425 Signed-off-by: J=C3=B6rg Wedekind Signed-off-by: Bjorn Helgaas Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/pci/quirks.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index b67aea8d8f197..646807a443e2d 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -5364,6 +5364,7 @@ static void quirk_no_ext_tags(struct pci_dev *pdev) =20 pci_walk_bus(bridge->bus, pci_configure_extended_tags, NULL); } +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_3WARE, 0x1004, quirk_no_ext_tags); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0132, quirk_no_ext_ta= gs); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0140, quirk_no_ext_ta= gs); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SERVERWORKS, 0x0141, quirk_no_ext_ta= gs); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E99E028452D; Sun, 24 Mar 2024 23:43:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323786; cv=none; b=KfjVmkyp4DbF7pdIw5oNbob2JNK2gQZfQ2JdgbL3/aylOqEpL3Il8x527u8Lewx8v1h7RPMoMbOahWruc7UK61umByzPt2tbdPF2iadvQ5S6XYnNAOogmMGWSBq4nWVGcTPvFI4VfX5TlMC+p1xvzl9UBLIqrUz43GjNCZYzdVk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323786; c=relaxed/simple; bh=rNDijfEyC5ir0j9HjxxEwdGbtVG4058Sq8QzGTqaCdg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VEg0I/IeVlkgq8Ys+CGlehhIFyiHi2cR7pRbYt/4f6/uBf/j08+ViEL6LNciCCy+yc3Fp3OR1MMZAXTpMa0SukFw45ZIFscB4tpd5u6udNu6bo2UJSLh5+kGrFTHAzX+UhKRbPH2D2xlVNhsR3Nv0KFR8nQ3rGeqwB8+vHIWmZE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Hn05a89H; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Hn05a89H" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 314FFC433F1; Sun, 24 Mar 2024 23:43:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323784; bh=rNDijfEyC5ir0j9HjxxEwdGbtVG4058Sq8QzGTqaCdg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Hn05a89HpiMO4DA9nrlbCSJS5TWfP2JDv39N4dYZc4ENDpIZvr1BThMR8kB2DL6DT ZStOR6sNhTV/JFiEMBpEB4qM3fXrHzlIrObqUSuwuQ4agz/EINDHLxiMHygkNWHp7d FQzgmNQbUfIbh/iZCO3GIBOmO0sVrSyir2TuHrQmudlIq8WCnhsIHMhVzf39LfXk8t JDjVMvgEhYasKNjvvVdLW6nPlSL44CeHx4UVTK7niNuAkxx+PFAK7W7uRdwZh+2dcO 984qY069g436619uxVdSk32oewsCpFtBuvztFaN5cgrF6BLUrMQ8Qp50MY6PIj8WFs NMkeRz4xVleGw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe JAILLET , Stephen Boyd , Sasha Levin Subject: [PATCH 5.10 161/238] clk: hisilicon: hi3519: Release the correct number of gates in hi3519_clk_unregister() Date: Sun, 24 Mar 2024 19:39:09 -0400 Message-ID: <20240324234027.1354210-162-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET [ Upstream commit 74e39f526d95c0c119ada1874871ee328c59fbee ] The gates are stored in 'hi3519_gate_clks', not 'hi3519_mux_clks'. This is also in line with how hisi_clk_register_gate() is called in the probe. Fixes: 224b3b262c52 ("clk: hisilicon: hi3519: add driver remove path and fi= x some issues") Signed-off-by: Christophe JAILLET Link: https://lore.kernel.org/r/c3f1877c9a0886fa35c949c8f0ef25547f284f18.17= 04912510.git.christophe.jaillet@wanadoo.fr Signed-off-by: Stephen Boyd Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/clk/hisilicon/clk-hi3519.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/hisilicon/clk-hi3519.c b/drivers/clk/hisilicon/clk= -hi3519.c index ad0c7f350cf03..60d8a27a90824 100644 --- a/drivers/clk/hisilicon/clk-hi3519.c +++ b/drivers/clk/hisilicon/clk-hi3519.c @@ -130,7 +130,7 @@ static void hi3519_clk_unregister(struct platform_devic= e *pdev) of_clk_del_provider(pdev->dev.of_node); =20 hisi_clk_unregister_gate(hi3519_gate_clks, - ARRAY_SIZE(hi3519_mux_clks), + ARRAY_SIZE(hi3519_gate_clks), crg->clk_data); hisi_clk_unregister_mux(hi3519_mux_clks, ARRAY_SIZE(hi3519_mux_clks), --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CD53B28452B; Sun, 24 Mar 2024 23:43:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323785; cv=none; b=skAI6R/ek4naf0nsWXkf8aETN6vpcm9HiieBqCtLIHrR4IoZRJX3QoBZ3tS/XI68VNiZwfcEizMxrFO/x3JuQCnEEqEOriJTnz/qOV8iv4SBzt3mCbxWj4QqlivdZWEv2Hsbnd8phT28SeA8fk0+C8fuDiUMNW1+q2csV4Vu+1I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323785; c=relaxed/simple; bh=Ahjw586ptN4sdwzK489e5WfNo6aZ+MPOLgqVLZPcfa4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PjBQmEjUTJhITcRu5lEV/DXPaoQdhqKAzhTupaejtG7AFp0PN1NUUXAlyb8BePJTyZYPKUm75bRNYSxGE7gdYk5wRMXk3ridX0PZ+jGdLydMYI4XNTNQU9RleC0k71KR3uE3AiwL3YN3u/cJ1VHnckWpDUFq7fy0Ni03v2mGiSo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pmSL00rl; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="pmSL00rl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 19BD3C433C7; Sun, 24 Mar 2024 23:43:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323785; bh=Ahjw586ptN4sdwzK489e5WfNo6aZ+MPOLgqVLZPcfa4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pmSL00rlO9e8s7kBynQrlJ8UHI1Ar/gMgRHoUNNXjemrZMNQGhQse4kTEezW/dDJs rTdEfjpK3QzZkzmIY58avGyuesPq5H3P3IOfOJRPSr1Y91Rv+ag5T1hqi9yjg3IrUR CoAj1cAHvi7DYWQz2ELPQVlv3KnjDZvGoNqggdOvqOl17/v5cH1Z1rX8+z3B6eJ2O0 SMf8IVNDlgIuvJoFBiBQihP29Bmic9pq79RbDSRbnW0lp5nGqg3zbTfK+wcAW0Tt1M 2fi1hMieN+TaRq47cBqPV5lvV3rZ8LEV/0dymMhi1k3QHU8pUi0mNxD0Wk7RPMkeT7 2RfNAgA1z1Ztw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Fedor Pchelkin , Thierry Reding , Sasha Levin Subject: [PATCH 5.10 162/238] drm/tegra: put drm_gem_object ref on error in tegra_fb_create Date: Sun, 24 Mar 2024 19:39:10 -0400 Message-ID: <20240324234027.1354210-163-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Fedor Pchelkin [ Upstream commit 32e5a120a5105bce01561978ee55aee8e40ac0dc ] Inside tegra_fb_create(), drm_gem_object_lookup() increments ref count of the found object. But if the following size check fails then the last found object's ref count should be put there as the unreferencing loop can't detect this situation. Found by Linux Verification Center (linuxtesting.org). Fixes: de2ba664c30f ("gpu: host1x: drm: Add memory manager and fb") Signed-off-by: Fedor Pchelkin Signed-off-by: Thierry Reding Link: https://patchwork.freedesktop.org/patch/msgid/20231215093356.12067-1-= pchelkin@ispras.ru Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/tegra/fb.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpu/drm/tegra/fb.c b/drivers/gpu/drm/tegra/fb.c index 01939c57fc74d..2040dbfed7e21 100644 --- a/drivers/gpu/drm/tegra/fb.c +++ b/drivers/gpu/drm/tegra/fb.c @@ -155,6 +155,7 @@ struct drm_framebuffer *tegra_fb_create(struct drm_devi= ce *drm, =20 if (gem->size < size) { err =3D -EINVAL; + drm_gem_object_put(gem); goto unreference; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 199D328453A; Sun, 24 Mar 2024 23:43:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323788; cv=none; b=cGC6a/dbRXBwWl+o1tK8z+BX9yGOPoJ+8W0sXPdqgJd+1QouJy8BXLGoWSXODTUzGiSs2/LSFbEJ9wont//RK3pud19Vy6o4PrR1AQGpwMaUcM/r5NZ74TiYCljIftxZZphDG5miFy6h+9NxpOObS2DmSd/E6Vx94Ft0vlowH/o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323788; c=relaxed/simple; bh=IzdRU3IdcMNYWKy4HXT890rMU1sqwkd081iJnDt2tYI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=c04w0tYZt93K3xc1bTtMsOFx0UqWmq9z3wIfbXQYvfpaRxgRbCXjNZDVerOMeaBJFa8FdN5dnFwWrn6WkCpwKewEQgYFNS1ibOa1wF2/xE9IsQ0Vro/E/PhH6abbgGBZrQMM/7WsOqIdw+y7+l3vJQ1kYhgelUgskGclycLaIhY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=i681koWQ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="i681koWQ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EEA9EC43390; Sun, 24 Mar 2024 23:43:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323786; bh=IzdRU3IdcMNYWKy4HXT890rMU1sqwkd081iJnDt2tYI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=i681koWQ2rVVeGJIZCeAf1VOKYNOFNiixfzNF6qvy9Puy7Ny+3fY4Zc+DvCJuIIvS Zq2xUwS9eZv/rPLb8nAVPPZKDcsSvyysfjTAoaTK516JnsZqs+ZZJyfuuWbJsbFFgw XUE3mVRb0cVJW+wax4YOgRJ5pvwBGfJRtXo4OuY1SscM2PrhS+JqsHU9hrDcJCswLc oR97/vkIwsu4LL9gO/lk8EhAJ9u+xmEhlGEkd19Nqr1KoM13cOMQdPpXQMow7MNcr1 zoet7RGz9WlDn0iwBSi/XASy2Kti4ciO9Sv/DTd19d+6s4WNCIdhVuLiOzRdG4LYip ZT+4h6c10KTPA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Peter Griffin , Lee Jones , Sasha Levin Subject: [PATCH 5.10 163/238] mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref Date: Sun, 24 Mar 2024 19:39:11 -0400 Message-ID: <20240324234027.1354210-164-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Peter Griffin [ Upstream commit d2b0680cf3b05490b579e71b0df6e07451977745 ] of_parse_phandle() returns a device_node with refcount incremented, which the callee needs to call of_node_put() on when done. We should only call of_node_put() when the property argument is provided though as otherwise nothing has taken a reference on the node. Fixes: 45330bb43421 ("mfd: syscon: Allow property as NULL in syscon_regmap_= lookup_by_phandle") Signed-off-by: Peter Griffin Link: https://lore.kernel.org/r/20240220115012.471689-2-peter.griffin@linar= o.org Signed-off-by: Lee Jones Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/mfd/syscon.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c index 60f74144a4f88..4d536a097e8cb 100644 --- a/drivers/mfd/syscon.c +++ b/drivers/mfd/syscon.c @@ -224,7 +224,9 @@ struct regmap *syscon_regmap_lookup_by_phandle(struct d= evice_node *np, return ERR_PTR(-ENODEV); =20 regmap =3D syscon_node_to_regmap(syscon_np); - of_node_put(syscon_np); + + if (property) + of_node_put(syscon_np); =20 return regmap; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD824284529; Sun, 24 Mar 2024 23:43:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323787; cv=none; b=isoy2EFG5gLxtme4TCK0Q/pZt22On/H9HdGzKl/XerID8ZeaftqxTrRtPZKnch2hzdhzSRnG+Ke0igSURD05y6yoU+4FuWuPjE7nsVy+h01/Ix42EckUuNQNGAyJ50oCDrkXHmS5s1IGYFF4rMaWF9MjIinafTni0M4CwxDv71E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323787; c=relaxed/simple; bh=xzg6Cl94C/B0zCZhufvQBgehOCoHAT1Tchoclmig22g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KiVkBpX1EXBCWTEhIzi7X+evtfS7uFXi7i/IMjkHVMOawzCWVChVqLf6YwT8vwjeS+m6EpLFWnLJbbjw+rLWUA8J91Qz4z8nbv4X5o1GIgJgKjEdSTIdWlIl33ooOC1L4ME2Pv+i4BZQ9Z8yty7xdREkFoaxKGL0YKo6SIFN3x8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rkJSDXcK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rkJSDXcK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CFC38C43394; Sun, 24 Mar 2024 23:43:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323787; bh=xzg6Cl94C/B0zCZhufvQBgehOCoHAT1Tchoclmig22g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=rkJSDXcKx882l53HutnOB5ctUCoHSakeLrW/YoHfIZyEx1KugVS1DGBswEVWBsL2+ QOAsg8DE/3h9xWapfYxwAyJ28GDYJKN343zmVrK1kALDeX0/PQg0O8gYLQCMzz0lPh 1niPhSHGjal77evERboPchm1tpOB1HcFrsgCVzbcF3Son+yoYbnyU2CG676nl8raGB 8/EOE6dRmKlI0eyW2CM6rndBjZ36Fv0JsbAO2bfhAXi00l8DdvmAUEKQxw9u5J/ppT 7w6DOFrqM6u5g1U/aQN2lwhJDbEYTyZa9YWKke6PZjPMUjmEYylUlKGyCgupUZ6HpI B5dHcKA6wrW0g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Peter Griffin , Lee Jones , Sasha Levin Subject: [PATCH 5.10 164/238] mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref Date: Sun, 24 Mar 2024 19:39:12 -0400 Message-ID: <20240324234027.1354210-165-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Peter Griffin [ Upstream commit e28c28a34ee9fa2ea671a20e5e7064e6220d55e7 ] of_parse_phandle() returns a device_node with refcount incremented, which the callee needs to call of_node_put() on when done. We should only call of_node_put() when the property argument is provided though as otherwise nothing has taken a reference on the node. Fixes: f36e789a1f8d ("mfd: altera-sysmgr: Add SOCFPGA System Manager") Signed-off-by: Peter Griffin Link: https://lore.kernel.org/r/20240220115012.471689-4-peter.griffin@linar= o.org Signed-off-by: Lee Jones Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/mfd/altera-sysmgr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/altera-sysmgr.c b/drivers/mfd/altera-sysmgr.c index 591b300d90953..59efe7d5dcaa9 100644 --- a/drivers/mfd/altera-sysmgr.c +++ b/drivers/mfd/altera-sysmgr.c @@ -110,7 +110,9 @@ struct regmap *altr_sysmgr_regmap_lookup_by_phandle(str= uct device_node *np, =20 dev =3D driver_find_device_by_of_node(&altr_sysmgr_driver.driver, (void *)sysmgr_np); - of_node_put(sysmgr_np); + if (property) + of_node_put(sysmgr_np); + if (!dev) return ERR_PTR(-EPROBE_DEFER); =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A224228453C; Sun, 24 Mar 2024 23:43:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323788; cv=none; b=kDyKSX+Jwf7pg9owMsCHfykKTb3DeRh+65WjbAHgxJUKXhAmHCWyIo31l93srZvdtUzzvsbP4bQpd0d/5W8GbyoEM8fkYh+2yyYsnH8M6eEMlVlSj5KBToFvDgbFZq+8l80GcEl/RnbkJTw7YSI/4E90nt/CkrKRpWUCyHKJPNw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323788; c=relaxed/simple; bh=zgQrOjZW4qBjJzPmkQSm5dt0f2A5Yy9lx+0k9g5jAnU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IhYCh1Y/zOxX/Z1ODINuOagiOMmYrFiypgK23Ta8FJlyqR3anBrOdcyU1qaFQ4tgbr6ENREomCd3DoKnbvMik2SX/I+cUvYI+NkNVLx5Sc1XkA14XYZbRsinn5SP5SlIEOTpG5Kl9X2t8CyRpazelZ1vDgYfoPym2XcfW+Cyvw8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Myp0yT1f; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Myp0yT1f" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B6D24C433C7; Sun, 24 Mar 2024 23:43:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323788; bh=zgQrOjZW4qBjJzPmkQSm5dt0f2A5Yy9lx+0k9g5jAnU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Myp0yT1fG4nNR8ktFs52zZZss+KuNv13mr8sjIAKave+wz4iNU7RPTBUpoT8nVYBF 12Wg7k8+p9sxIIVtQ+As0MEX3/0zIY9p0mwm9Yk3wyOMGAXF30NETbI9UIrk633pF8 DyZkj5jG11Il1M0TyJ+DE6FdFG7rQHqeRR2KHcDoPKtlknova/qu0wNvxCwmI/WpW9 79wY4bffI1sB2X8KHMUfhHBsTJevtdOXIQ5XoId/f8ohLHgW9rosBHIP5yyvlYOieo zo2Q0v2MXMKW8yCg3/Gk9pPDlVTJOT3vq1PIcM+F4DnZuUlCoOSxRcMG/6RuBQ7lRq AKZVJKIA1RdSQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Ard Biesheuvel , Herbert Xu , Sasha Levin Subject: [PATCH 5.10 165/238] crypto: arm/sha - fix function cast warnings Date: Sun, 24 Mar 2024 19:39:13 -0400 Message-ID: <20240324234027.1354210-166-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit 53cc9baeb9bc2a187eb9c9790d30995148852b12 ] clang-16 warns about casting between incompatible function types: arch/arm/crypto/sha256_glue.c:37:5: error: cast from 'void (*)(u32 *, const= void *, unsigned int)' (aka 'void (*)(unsigned int *, const void *, unsign= ed int)') to 'sha256_block_fn *' (aka 'void (*)(struct sha256_state *, cons= t unsigned char *, int)') converts to incompatible function type [-Werror,-= Wcast-function-type-strict] 37 | (sha256_block_fn *)sha256_block_dat= a_order); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~ arch/arm/crypto/sha512-glue.c:34:3: error: cast from 'void (*)(u64 *, const= u8 *, int)' (aka 'void (*)(unsigned long long *, const unsigned char *, in= t)') to 'sha512_block_fn *' (aka 'void (*)(struct sha512_state *, const uns= igned char *, int)') converts to incompatible function type [-Werror,-Wcast= -function-type-strict] 34 | (sha512_block_fn *)sha512_block_data_order); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fix the prototypes for the assembler functions to match the typedef. The code already relies on the digest being the first part of the state structure, so there is no change in behavior. Fixes: c80ae7ca3726 ("crypto: arm/sha512 - accelerated SHA-512 using ARM ge= neric ASM and NEON") Fixes: b59e2ae3690c ("crypto: arm/sha256 - move SHA-224/256 ASM/NEON implem= entation to base layer") Signed-off-by: Arnd Bergmann Reviewed-by: Ard Biesheuvel Signed-off-by: Herbert Xu Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/arm/crypto/sha256_glue.c | 13 +++++-------- arch/arm/crypto/sha512-glue.c | 12 +++++------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/arch/arm/crypto/sha256_glue.c b/arch/arm/crypto/sha256_glue.c index b8a4f79020cf8..e36b86778468e 100644 --- a/arch/arm/crypto/sha256_glue.c +++ b/arch/arm/crypto/sha256_glue.c @@ -24,8 +24,8 @@ =20 #include "sha256_glue.h" =20 -asmlinkage void sha256_block_data_order(u32 *digest, const void *data, - unsigned int num_blks); +asmlinkage void sha256_block_data_order(struct sha256_state *state, + const u8 *data, int num_blks); =20 int crypto_sha256_arm_update(struct shash_desc *desc, const u8 *data, unsigned int len) @@ -33,23 +33,20 @@ int crypto_sha256_arm_update(struct shash_desc *desc, c= onst u8 *data, /* make sure casting to sha256_block_fn() is safe */ BUILD_BUG_ON(offsetof(struct sha256_state, state) !=3D 0); =20 - return sha256_base_do_update(desc, data, len, - (sha256_block_fn *)sha256_block_data_order); + return sha256_base_do_update(desc, data, len, sha256_block_data_order); } EXPORT_SYMBOL(crypto_sha256_arm_update); =20 static int crypto_sha256_arm_final(struct shash_desc *desc, u8 *out) { - sha256_base_do_finalize(desc, - (sha256_block_fn *)sha256_block_data_order); + sha256_base_do_finalize(desc, sha256_block_data_order); return sha256_base_finish(desc, out); } =20 int crypto_sha256_arm_finup(struct shash_desc *desc, const u8 *data, unsigned int len, u8 *out) { - sha256_base_do_update(desc, data, len, - (sha256_block_fn *)sha256_block_data_order); + sha256_base_do_update(desc, data, len, sha256_block_data_order); return crypto_sha256_arm_final(desc, out); } EXPORT_SYMBOL(crypto_sha256_arm_finup); diff --git a/arch/arm/crypto/sha512-glue.c b/arch/arm/crypto/sha512-glue.c index 8775aa42bbbe8..1a16b98ec1085 100644 --- a/arch/arm/crypto/sha512-glue.c +++ b/arch/arm/crypto/sha512-glue.c @@ -25,27 +25,25 @@ MODULE_ALIAS_CRYPTO("sha512"); MODULE_ALIAS_CRYPTO("sha384-arm"); MODULE_ALIAS_CRYPTO("sha512-arm"); =20 -asmlinkage void sha512_block_data_order(u64 *state, u8 const *src, int blo= cks); +asmlinkage void sha512_block_data_order(struct sha512_state *state, + u8 const *src, int blocks); =20 int sha512_arm_update(struct shash_desc *desc, const u8 *data, unsigned int len) { - return sha512_base_do_update(desc, data, len, - (sha512_block_fn *)sha512_block_data_order); + return sha512_base_do_update(desc, data, len, sha512_block_data_order); } =20 static int sha512_arm_final(struct shash_desc *desc, u8 *out) { - sha512_base_do_finalize(desc, - (sha512_block_fn *)sha512_block_data_order); + sha512_base_do_finalize(desc, sha512_block_data_order); return sha512_base_finish(desc, out); } =20 int sha512_arm_finup(struct shash_desc *desc, const u8 *data, unsigned int len, u8 *out) { - sha512_base_do_update(desc, data, len, - (sha512_block_fn *)sha512_block_data_order); + sha512_base_do_update(desc, data, len, sha512_block_data_order); return sha512_arm_final(desc, out); } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 67ECC284543; Sun, 24 Mar 2024 23:43:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323790; cv=none; b=Mc0rkj9aK++/QDwS4NS75xrRPxD7d9tvweK0v/umdIJ2A+2XBUiI4g7JZybrPt3zejGnGZBSZYUUIoH5wmdKw8W2zrGpAz4g7iJZm0kesoD+DCnCeJ6X2kRKPG4/UM7h5kuiO8j5ZyjeaWfTLfbhMWK0jhbqspUMrob+pdSaYSQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323790; c=relaxed/simple; bh=+v+Bo3Zpez8dY5cSC1s1jooMHNg7M0a4EuKuqRako8E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fMl0Cpj9WzISAjQNoGkHzBo6O3NhQs91WP54VXo8F7K2STwZhTiSkyWj3IxONVVXzHe0X7LoUsGBWE/4fzeZQaMa3N/9OcRaJ1UgA5JcXavMKYNv8VjzGUUKm4WC9WOBIvugYMWjCEDW+8QFvJ6pUBEaYsHkyItJqdNmxJ2OOmk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IhNm+kvA; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IhNm+kvA" Received: by smtp.kernel.org (Postfix) with ESMTPSA id ACDF0C43390; Sun, 24 Mar 2024 23:43:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323789; bh=+v+Bo3Zpez8dY5cSC1s1jooMHNg7M0a4EuKuqRako8E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IhNm+kvApIoymwcmvVsQwKjVpI4kCRa1cXFgmfQFioLIz1Z5jpEFkYkeuVN1OQnk2 Rt9xKHTOjmcra93QlN+y5BRzKBvBTpRQFgMjm2nrSGl/N9NtGjbw3wyCAIAmpsbzVk IgPPJ8PZualqIih6vieMe1mD0d4+uOlDdq0mrD6k7f5jQWMuiFXYd4Cp1VlvvLTeuo Gv7kkSiYBQ0o1Q4ZU03O5h4+hgsZlfn2tcPgDnSM9jjvfQjR8Qi7nd1AtZRJlPVm1p BOYN9GhwzPBP9WjVj0ikJBhgpKR1rYbeeWH833B/P8xrky4r9uMvnYUnO66lBLNDO/ VvP6BxVXNK1gQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Tomi Valkeinen , Aradhya Bhatia , Sasha Levin Subject: [PATCH 5.10 166/238] drm/tidss: Fix initial plane zpos values Date: Sun, 24 Mar 2024 19:39:14 -0400 Message-ID: <20240324234027.1354210-167-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tomi Valkeinen [ Upstream commit 3ec948ccb2c4b99e8fbfdd950adbe92ea577b395 ] When the driver sets up the zpos property it sets the default zpos value to the HW id of the plane. That is fine as such, but as on many DSS versions the driver arranges the DRM planes in a different order than the HW planes (to keep the non-scalable planes first), this leads to odd initial zpos values. An example is J721e, where the initial zpos values for DRM planes are 1, 3, 0, 2. In theory the userspace should configure the zpos values properly when using multiple planes, and in that sense the initial zpos values shouldn't matter, but there's really no reason not to fix this and help the userspace apps which don't handle zpos perfectly. In particular, some versions of Weston seem to have issues dealing with the planes with the current default zpos values. So let's change the zpos values for the DRM planes to 0, 1, 2, 3. Another option would be to configure the planes marked as primary planes to zpos 0. On a two display system this would give us plane zpos values of 0, 0, 1, 2. The end result and behavior would be very similar in this option, and I'm not aware that this would actually help us in any way. So, to keep the code simple, I opted for the 0, 1, 2, 3 values. Fixes: 32a1795f57ee ("drm/tidss: New driver for TI Keystone platform Displa= y SubSystem") Reviewed-by: Aradhya Bhatia Signed-off-by: Tomi Valkeinen Link: https://patchwork.freedesktop.org/patch/msgid/20240213-tidss-fixes-v1= -1-d709e8dfa505@ideasonboard.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/tidss/tidss_plane.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tidss/tidss_plane.c b/drivers/gpu/drm/tidss/ti= dss_plane.c index 43e72d0b2d84d..e2ebd5fdc1138 100644 --- a/drivers/gpu/drm/tidss/tidss_plane.c +++ b/drivers/gpu/drm/tidss/tidss_plane.c @@ -202,7 +202,7 @@ struct tidss_plane *tidss_plane_create(struct tidss_dev= ice *tidss, =20 drm_plane_helper_add(&tplane->plane, &tidss_plane_helper_funcs); =20 - drm_plane_create_zpos_property(&tplane->plane, hw_plane_id, 0, + drm_plane_create_zpos_property(&tplane->plane, tidss->num_planes, 0, num_planes - 1); =20 ret =3D drm_plane_create_color_properties(&tplane->plane, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 50B5328454B; Sun, 24 Mar 2024 23:43:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323791; cv=none; b=MNMyTHTwdJ3mJNHPFyF9sDkrBlEcTNJ/rNeLGb3/MRoy8j8ZGCVDYmLLbhXBYaLzTtuHgpdM2YBqb8C2KrqlMOYRWGg3PEa3c1xL1Gktlvqm9ZCq5mKJQ/l2LzohBBru9SisVHptobtAeVBXpRj04seOZBRp84Ger4TcQTcP4fE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323791; c=relaxed/simple; bh=Ne5JUfK0bvfx027NwHX7WBuLWU4K3WaQyRAFp3b+FPU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oWfYBXsNg8WlSsYsx0oah0HZgJvaIdAGXScU9YiQc61O7yszzaJniOQDg9oMzRgYt6hQ4aNWawRg8sSIO45m5Qwn5k7E9sy913cerPP927IGlpAIY9kQmkBIWxd6+18V0LkvJ9j+lZ1FvoLXg6a50FlwHQmKy5OzrczAQ2udtRE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BxuGGTwb; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BxuGGTwb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8BC93C433C7; Sun, 24 Mar 2024 23:43:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323790; bh=Ne5JUfK0bvfx027NwHX7WBuLWU4K3WaQyRAFp3b+FPU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BxuGGTwbPrjuTE2BIQNXf0Si6xOT1Pz4nID8I/UXN/iVRmrkT/LJnHCNfb070PhW5 WGmyK93T6IcVYWgXYwKmjhbPh6oBfOwZx0dcJPL+W0Ab/CIPokcnLbQJVa+Rz609j+ bxMX0YyFwCkZYZqd5U5Z3LcjtgcOPC7f19pTg7cuFwshTu5CBM16GavKlaMIckrcor bndwyWKOuZk3R0cUBY9HxZbJfzJfUWZvZEUDJFO2/00535CTi5mvTq+w9IghlvjEZs eIFQ0sxatfcktShEwXld0fG20PCixEqkvprpCS25zp9OquVwACfQANVkDIiiBPYzBM zFG8saruQ1z/Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Baruch Siach , Miquel Raynal , Sasha Levin Subject: [PATCH 5.10 167/238] mtd: maps: physmap-core: fix flash size larger than 32-bit Date: Sun, 24 Mar 2024 19:39:15 -0400 Message-ID: <20240324234027.1354210-168-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Baruch Siach [ Upstream commit 3884f03edd34887514a0865a80769cd5362d5c3b ] mtd-ram can potentially be larger than 4GB. get_bitmask_order() uses fls() that is not guaranteed to work with values larger than 32-bit. Specifically on aarch64 fls() returns 0 when all 32 LSB bits are clear. Use fls64() instead. Fixes: ba32ce95cbd987 ("mtd: maps: Merge gpio-addr-flash.c into physmap-cor= e.c") Signed-off-by: Baruch Siach Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/9fbf3664ce00f8b07867f1011834015f21d= 162a5.1707388458.git.baruch@tkos.co.il Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/mtd/maps/physmap-core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/maps/physmap-core.c b/drivers/mtd/maps/physmap-cor= e.c index 9ab795f03c546..e5552093585e2 100644 --- a/drivers/mtd/maps/physmap-core.c +++ b/drivers/mtd/maps/physmap-core.c @@ -528,7 +528,7 @@ static int physmap_flash_probe(struct platform_device *= dev) if (!info->maps[i].phys) info->maps[i].phys =3D res->start; =20 - info->win_order =3D get_bitmask_order(resource_size(res)) - 1; + info->win_order =3D fls64(resource_size(res)) - 1; info->maps[i].size =3D BIT(info->win_order + (info->gpios ? info->gpios->ndescs : 0)); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3434828454A; Sun, 24 Mar 2024 23:43:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323791; cv=none; b=bUdqDlPZlxf7+HKU+Ro1D1sSKeCySM2TzloAVQ/L2YR4pF9xJrp7sEzdRoRuMgUm8i5exHvlKQtfWcZ5486IxZzHtb33h6lL8IVc0Y1/j4//xmyfvM673exn7XXy1yTghsJfV94jLnSJ6ckNpgLteIzc2NR0y/Pd5AwPCchb6UU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323791; c=relaxed/simple; bh=hWuy88Aup0z4nDe0WYD7we1a5sPl/yK3MAGontcn4X4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bpPcxBLfxRqwRpjCCjsF1Qc3QbecKeSYaRdt462s01w3MkyO1tm1esd7vj+BFXzMVlx6qKM3Yiyd/GaClvjKcKN5boSlHSbk3ipPpQQhRYYX5PYdEzPtb3gUHCsE1oQbvHmjzJq3o3MAkGrOiUnCvaET3qa4biO/812ulVDibfY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=vQ8CzP7z; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="vQ8CzP7z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 73601C43394; Sun, 24 Mar 2024 23:43:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323791; bh=hWuy88Aup0z4nDe0WYD7we1a5sPl/yK3MAGontcn4X4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vQ8CzP7zp/eKbgQACD/YebEl+SI4UkpZCL4KeqpRk4Qq/ARFUtzqlbDGzr+pjMHIh oddRkxx7Ynb/j3gsgp2PZ/Ni9Uo75W4owPdqO7x/fDoKrEI9YRTlM1DFD0AV3JKLMk ikUvk4KyIEgMSOGdfGasyD3IosxuueaMYPsn7CT9zIfGT0rnmTkF1ME6kz9oIFgLT6 bYTKtO5yuY2xoBAg27sI8zcX8USuU5qrjCh640/4NZfbnRYky4IFqAFm5EHB/NKgU5 6z5JwYZBPKrx7OLh4ZparBH1/k+ZYD5CAv6J2VBmvUHR40vYwmcC7RB6/B60txyZQk +bZdbDqWGAYmA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Miquel Raynal , Sasha Levin Subject: [PATCH 5.10 168/238] mtd: rawnand: lpc32xx_mlc: fix irq handler prototype Date: Sun, 24 Mar 2024 19:39:16 -0400 Message-ID: <20240324234027.1354210-169-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit 347b828882e6334690e7003ce5e2fe5f233dc508 ] clang-16 warns about mismatched function prototypes: drivers/mtd/nand/raw/lpc32xx_mlc.c:783:29: error: cast from 'irqreturn_t (*= )(int, struct lpc32xx_nand_host *)' (aka 'enum irqreturn (*)(int, struct lp= c32xx_nand_host *)') to 'irq_handler_t' (aka 'enum irqreturn (*)(int, void = *)') converts to incompatible function type [-Werror,-Wcast-function-type-s= trict] Change the interrupt handler to the normal way of just passing a void* pointer and converting it inside the function.. Fixes: 70f7cb78ec53 ("mtd: add LPC32xx MLC NAND driver") Signed-off-by: Arnd Bergmann Signed-off-by: Miquel Raynal Link: https://lore.kernel.org/linux-mtd/20240213100146.455811-1-arnd@kernel= .org Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/mtd/nand/raw/lpc32xx_mlc.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/mtd/nand/raw/lpc32xx_mlc.c b/drivers/mtd/nand/raw/lpc3= 2xx_mlc.c index 9e728c7317956..db228460a9079 100644 --- a/drivers/mtd/nand/raw/lpc32xx_mlc.c +++ b/drivers/mtd/nand/raw/lpc32xx_mlc.c @@ -304,8 +304,9 @@ static int lpc32xx_nand_device_ready(struct nand_chip *= nand_chip) return 0; } =20 -static irqreturn_t lpc3xxx_nand_irq(int irq, struct lpc32xx_nand_host *hos= t) +static irqreturn_t lpc3xxx_nand_irq(int irq, void *data) { + struct lpc32xx_nand_host *host =3D data; uint8_t sr; =20 /* Clear interrupt flag by reading status */ @@ -780,7 +781,7 @@ static int lpc32xx_nand_probe(struct platform_device *p= dev) goto release_dma_chan; } =20 - if (request_irq(host->irq, (irq_handler_t)&lpc3xxx_nand_irq, + if (request_irq(host->irq, &lpc3xxx_nand_irq, IRQF_TRIGGER_HIGH, DRV_NAME, host)) { dev_err(&pdev->dev, "Error requesting NAND IRQ\n"); res =3D -ENXIO; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1E295284551; Sun, 24 Mar 2024 23:43:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323792; cv=none; b=r+l3ouKoDbH/GPYyWcO/+hvzED80XWWdwFUbp/wrmhmL+gDst1f9H5RsaXRDhq0gHEVfmd4oY9TQKCUqMecToQZj/ORyy4G8iBYXx8Orn1J8fnmacTuxBB5GLjcVRQD/WkqE2NHTmeZ0mp31/g1G2VFQbY8OuSbiS3Qfa/iuNqE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323792; c=relaxed/simple; bh=s6m5EmNhs2Ghj/NYFkNGqUdDS4byPtOw1zu8uhIlB5s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=nEOfip5TD8Eeb6onJxAJnMDeemBdNbirTnLMbtr9lVZ6aYa5YzZNHE98nuXS5gPuxx7kPaMzmg4+uqdIiLsrG7aRue1ykVKi8e2xdnf+axsMkUpovCfZdcYSIL+lbgsMvD+IVN5bVz7jg/um4Bs/X518+aRTiilnJFtV5c2+Q5M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XQ1W0nxx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XQ1W0nxx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 580F0C433F1; Sun, 24 Mar 2024 23:43:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323792; bh=s6m5EmNhs2Ghj/NYFkNGqUdDS4byPtOw1zu8uhIlB5s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XQ1W0nxx5wVIewUNDsMMfY7Q7JC0D3z2p/GSOmj3jAvYpZCrcVw7hxp2FVnuYKlVu XCpl42vrH47lxFd4sdhn5EVVt4Ck1Yp9z1jh6IrZUYinIN/LoKd+ztAoKtzhF057Wj dneVLUpTbdQBnDSGwX/tLE9O68wzWH3nj0QxmkgJfP925JjOG25S+mYNLS/WCc2J9Q YI5E6CvgaVtjnU+nFdrgJM0q2pEDbkfL106WzMMlOPw5vI/sPSfqK8dx4obixyq8Po x/KW6/FsziIrfS6AdLtH1v8zZ7LjmE60+7SGFeV+3T2LNW5ezVS0Cu6Vd3zXb/LtBy gfh+/6YQg60Iw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jerome Brunet , Mark Brown , Sasha Levin Subject: [PATCH 5.10 169/238] ASoC: meson: axg-tdm-interface: fix mclk setup without mclk-fs Date: Sun, 24 Mar 2024 19:39:17 -0400 Message-ID: <20240324234027.1354210-170-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jerome Brunet [ Upstream commit e3741a8d28a1137f8b19ae6f3d6e3be69a454a0a ] By default, when mclk-fs is not provided, the tdm-interface driver requests an MCLK that is 4x the bit clock, SCLK. However there is no justification for this: * If the codec needs MCLK for its operation, mclk-fs is expected to be set according to the codec requirements. * If the codec does not need MCLK the minimum is 2 * SCLK, because this is minimum the divider between SCLK and MCLK can do. Multiplying by 4 may cause problems because the PLL limit may be reached sooner than it should, so use 2x instead. Fixes: d60e4f1e4be5 ("ASoC: meson: add tdm interface driver") Signed-off-by: Jerome Brunet Link: https://msgid.link/r/20240223175116.2005407-2-jbrunet@baylibre.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/meson/axg-tdm-interface.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/meson/axg-tdm-interface.c b/sound/soc/meson/axg-tdm-= interface.c index e076ced300257..ac43a7ab7bcf6 100644 --- a/sound/soc/meson/axg-tdm-interface.c +++ b/sound/soc/meson/axg-tdm-interface.c @@ -266,8 +266,8 @@ static int axg_tdm_iface_set_sclk(struct snd_soc_dai *d= ai, srate =3D iface->slots * iface->slot_width * params_rate(params); =20 if (!iface->mclk_rate) { - /* If no specific mclk is requested, default to bit clock * 4 */ - clk_set_rate(iface->mclk, 4 * srate); + /* If no specific mclk is requested, default to bit clock * 2 */ + clk_set_rate(iface->mclk, 2 * srate); } else { /* Check if we can actually get the bit clock from mclk */ if (iface->mclk_rate % srate) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 07B5428455B; Sun, 24 Mar 2024 23:43:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323794; cv=none; b=IhNqZusL2hZoyNHeLhTalPVw2s51hJzp500E2zRvVBKlH0vK/YgoqlRyfeLL9WHA3uKmdU3abuJkAHE72RiLiZ4/9nYnZwMdC8/bZRJDf+a9C8bxZDMe1mj6fRXpGOSgxI3es2/AtdaEDQQYVXSvq5Bo6bVxY6pQ3ZyN6D1wVuk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323794; c=relaxed/simple; bh=myIllbPmWSYMqa2z/yZAREFiWRKzaKp/8Lpn3zjJYXM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WCdjLXVXWnPJbSG1HhMCvv0Y4GbKOdjeaOUSGLYVHAYEgxdHDpX6hTZlrL2r99uycW8cMmxxhJJo9F0PJD5kkKsf1tTYdITMYXX0z1aaap6u8yFuJL4OLp66R5pq2qEGUBWvxLkRmN+VJeVSneRhoFqnsdsGmPzgVQesxkhkBQU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aoFhEBLa; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aoFhEBLa" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 42892C43390; Sun, 24 Mar 2024 23:43:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323792; bh=myIllbPmWSYMqa2z/yZAREFiWRKzaKp/8Lpn3zjJYXM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aoFhEBLaz4bgpW0DiI7G9IMHj4naRfo3zOJ6CFnOA24tlZeBpc0dBDNvk7cRXb1WY oqd6D+pcynfNPJF9aWzzNW3BjJtrmPjTHTqfIdKy8HcQmUI48axCBPPJ7oJIxzb7rS j5mKB6g5WLIWABp3jHejxeyxvlltJRW5KGc82rxoB2kFuPssKHTAEUMVVJbQje/N7M FTRDQhbsQcSkLlhQpEANoEwHr2PnD8fDIbqEIXalHH/f8mNJfrMoMkQzpT1TfsZub0 4tSFGcrwbS/QKL0U6D3o0Qowh7Z+/P9EaB3xO9X1r/8c9FbdMwYhhX4XVZO+sAkyrS +q9EjrYZx7SYw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jerome Brunet , Mark Brown , Sasha Levin Subject: [PATCH 5.10 170/238] ASoC: meson: axg-tdm-interface: add frame rate constraint Date: Sun, 24 Mar 2024 19:39:18 -0400 Message-ID: <20240324234027.1354210-171-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jerome Brunet [ Upstream commit 59c6a3a43b221cc2a211181b1298e43b2c2df782 ] According to Amlogic datasheets for the SoCs supported by this driver, the maximum bit clock rate is 100MHz. The tdm interface allows the rates listed by the DAI driver, regardless of the number slots or their width. However, these will impact the bit clock rate. Hitting the 100MHz limit is very unlikely for most use cases but it is possible. For example with 32 slots / 32 bits wide, the maximum rate is no longer 384kHz but ~96kHz. Add the constraint accordingly if the component is not already active. If it is active, the rate is already constrained by the first stream rate. Fixes: d60e4f1e4be5 ("ASoC: meson: add tdm interface driver") Signed-off-by: Jerome Brunet Link: https://msgid.link/r/20240223175116.2005407-3-jbrunet@baylibre.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/soc/meson/axg-tdm-interface.c | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/sound/soc/meson/axg-tdm-interface.c b/sound/soc/meson/axg-tdm-= interface.c index ac43a7ab7bcf6..60d132ab1ab78 100644 --- a/sound/soc/meson/axg-tdm-interface.c +++ b/sound/soc/meson/axg-tdm-interface.c @@ -12,6 +12,9 @@ =20 #include "axg-tdm.h" =20 +/* Maximum bit clock frequency according the datasheets */ +#define MAX_SCLK 100000000 /* Hz */ + enum { TDM_IFACE_PAD, TDM_IFACE_LOOPBACK, @@ -155,19 +158,27 @@ static int axg_tdm_iface_startup(struct snd_pcm_subst= ream *substream, return -EINVAL; } =20 - /* Apply component wide rate symmetry */ if (snd_soc_component_active(dai->component)) { + /* Apply component wide rate symmetry */ ret =3D snd_pcm_hw_constraint_single(substream->runtime, SNDRV_PCM_HW_PARAM_RATE, iface->rate); - if (ret < 0) { - dev_err(dai->dev, - "can't set iface rate constraint\n"); - return ret; - } + + } else { + /* Limit rate according to the slot number and width */ + unsigned int max_rate =3D + MAX_SCLK / (iface->slots * iface->slot_width); + ret =3D snd_pcm_hw_constraint_minmax(substream->runtime, + SNDRV_PCM_HW_PARAM_RATE, + 0, max_rate); } =20 - return 0; + if (ret < 0) + dev_err(dai->dev, "can't set iface rate constraint\n"); + else + ret =3D 0; + + return ret; } =20 static int axg_tdm_iface_set_stream(struct snd_pcm_substream *substream, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 14EB2284559; Sun, 24 Mar 2024 23:43:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323794; cv=none; b=ATQV469mmbaoG+p65/UIAdBo/R01WzQa2DIfGdV1JoBNruGf3VIgnw5lKXKecmn7fx9cSzmfHdKW//7HFGJESWpOwlUCUYV6zvgUObrZHgvSNX/xG3NgWrMJoifF/RzKTtxRM0nSlD59Lf9lVYqcHKKB/OdYn0e5ctxam7/f2L4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323794; c=relaxed/simple; bh=MN8aMj40GuMp0oDJC2Acpjv/qU1lXE28W5v93tDW/l8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=llyMG6Wrzpdq89ggBOb9yqrZdLY4XsIJxOzQyvE5Pe+vTY9QdH1ZffPRiwV6xw1IL/UGLrtfVfCw9dvenko/amdpYWO1Jw148ZfwxMUE+2BmZqDA0yVxlm9jr7B7Ahx/N4hZGdHbkiyNZAxq72nw6XEWp6Eu5UaVBBLqIu8fHoA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UMTVi+/8; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UMTVi+/8" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 292D4C433C7; Sun, 24 Mar 2024 23:43:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323794; bh=MN8aMj40GuMp0oDJC2Acpjv/qU1lXE28W5v93tDW/l8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UMTVi+/81ONudUIouHbbWjKW1AvjyzQ6ymzdMUjHkpJEGk1u/S9SOzWedWXuXXOA8 HWyzuEeoKF5fDeSfeibuq/UADiBULPU+6q7RPOsE9AWzmvslvK/7Vz/RZlB4rx+xiX jsw4x/7T5UHMIY82CX3x4VsLUYwD/kfK0pTAQbzSFiV2wL+pf7caU6ZFBIVV+MOLcF c9IxdMnhlwXPJg0raYeX5E+GiEZMxhQLQ1SbRpoRDe9VIIwI1ySXV3hbHJfwo8wAKx 772pmTT2tSQSiBKkPHyHpvJ0ChufipfJU0nMPDSQFzV8rsTEA98JsevIzkOplZXeoW RH/2H9s9mG1Hw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Srinivasan Shanmugam , Jammy Zhou , =?UTF-8?q?Christian=20K=C3=B6nig?= , Alex Deucher , Sasha Levin Subject: [PATCH 5.10 171/238] drm/amdgpu: Fix missing break in ATOM_ARG_IMM Case of atom_get_src_int() Date: Sun, 24 Mar 2024 19:39:19 -0400 Message-ID: <20240324234027.1354210-172-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Srinivasan Shanmugam [ Upstream commit 7cf1ad2fe10634238b38442a851d89514cb14ea2 ] Missing break statement in the ATOM_ARG_IMM case of a switch statement, adds the missing break statement, ensuring that the program's control flow is as intended. Fixes the below: drivers/gpu/drm/amd/amdgpu/atom.c:323 atom_get_src_int() warn: ignoring unr= eachable code. Fixes: d38ceaf99ed0 ("drm/amdgpu: add core driver (v4)") Cc: Jammy Zhou Cc: Christian K=C3=B6nig Cc: Alex Deucher Signed-off-by: Srinivasan Shanmugam Reviewed-by: Alex Deucher Signed-off-by: Alex Deucher Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/amd/amdgpu/atom.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/atom.c b/drivers/gpu/drm/amd/amdgpu= /atom.c index 4cfc786699c7f..c1841fa873f56 100644 --- a/drivers/gpu/drm/amd/amdgpu/atom.c +++ b/drivers/gpu/drm/amd/amdgpu/atom.c @@ -310,7 +310,7 @@ static uint32_t atom_get_src_int(atom_exec_context *ctx= , uint8_t attr, DEBUG("IMM 0x%02X\n", val); return val; } - return 0; + break; case ATOM_ARG_PLL: idx =3D U8(*ptr); (*ptr)++; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1000A284554; Sun, 24 Mar 2024 23:43:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323795; cv=none; b=olEyakix9BRGriVinvTTCyMN0Y1aSOjFqG1PNDiaWCJUL3Ph35ATNQwcaXzgion/QCiQajKpchQJNrMjcfyPr6Rx035iz6HtBQ/GrPXppx5YrET/X/KPhOUaIPIEg4v3Nhx0xv2trK6CMd4vOPaG7NGGbAHGaaHYFGIHICE/bjM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323795; c=relaxed/simple; bh=zIzrS9FnuADVM5W+mS2X8Ece0Bn7nG81SCezXMUw+EM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PDXZpmnt3Deldw4ZsqQgM66rZRCJwsxxksBydFC19SIEk4F+XerBZDzK/c3zmSQ5p0XnBRGUDiqtX9VaqJRveiByWPkcAf4gNo2hm++J/rAEY+N3g41t6hbTTiaL2SsKVvXp/pNexZ6HynaCERIbUH3hlNBKHlTXJuSVhkl0KM0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=crriO9WD; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="crriO9WD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3A36EC43390; Sun, 24 Mar 2024 23:43:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323794; bh=zIzrS9FnuADVM5W+mS2X8Ece0Bn7nG81SCezXMUw+EM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=crriO9WDUiyYIpP/wGhgS3jj442814iw/PR/loPMdZlnXIG/AoGJf2r2L/kcw83Pt Fi0caMANeSsWtWIEGBXqUHfEn5rDTYlHUumrjRUgkqIcp5ER4v8quOUzOr1AsI/ANP d+dhDJaGF0G41kT+RkZBfHd1sGfq6E4fo4JioHa529cNiBr86IMerVOjeieBw6IdZn 7EGsE6ARG3uNpNUcYQDB5prZl9h2gIoG7Uwl89WO5ElpwKtZyOlYQ6R5bkGsJ/T5Cc LBwdAB0Bru4ZlrmDlJUFcsH444BZGQojKpkn7jHLQJW9+KNrFXfzT54ENOPfnW7Y1J 9iAKs4SyawciA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Edward Adam Davis , syzbot+ce750e124675d4599449@syzkaller.appspotmail.com, Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 172/238] media: pvrusb2: fix uaf in pvr2_context_set_notify Date: Sun, 24 Mar 2024 19:39:20 -0400 Message-ID: <20240324234027.1354210-173-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Edward Adam Davis [ Upstream commit 0a0b79ea55de8514e1750884e5fec77f9fdd01ee ] [Syzbot reported] BUG: KASAN: slab-use-after-free in pvr2_context_set_notify+0x2c4/0x310 driv= ers/media/usb/pvrusb2/pvrusb2-context.c:35 Read of size 4 at addr ffff888113aeb0d8 by task kworker/1:1/26 CPU: 1 PID: 26 Comm: kworker/1:1 Not tainted 6.8.0-rc1-syzkaller-00046-gf1a= 27f081c1f #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Goo= gle 01/25/2024 Workqueue: usb_hub_wq hub_event Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xd9/0x1b0 lib/dump_stack.c:106 print_address_description mm/kasan/report.c:377 [inline] print_report+0xc4/0x620 mm/kasan/report.c:488 kasan_report+0xda/0x110 mm/kasan/report.c:601 pvr2_context_set_notify+0x2c4/0x310 drivers/media/usb/pvrusb2/pvrusb2-cont= ext.c:35 pvr2_context_notify drivers/media/usb/pvrusb2/pvrusb2-context.c:95 [inline] pvr2_context_disconnect+0x94/0xb0 drivers/media/usb/pvrusb2/pvrusb2-contex= t.c:272 Freed by task 906: kasan_save_stack+0x33/0x50 mm/kasan/common.c:47 kasan_save_track+0x14/0x30 mm/kasan/common.c:68 kasan_save_free_info+0x3f/0x60 mm/kasan/generic.c:640 poison_slab_object mm/kasan/common.c:241 [inline] __kasan_slab_free+0x106/0x1b0 mm/kasan/common.c:257 kasan_slab_free include/linux/kasan.h:184 [inline] slab_free_hook mm/slub.c:2121 [inline] slab_free mm/slub.c:4299 [inline] kfree+0x105/0x340 mm/slub.c:4409 pvr2_context_check drivers/media/usb/pvrusb2/pvrusb2-context.c:137 [inline] pvr2_context_thread_func+0x69d/0x960 drivers/media/usb/pvrusb2/pvrusb2-cont= ext.c:158 [Analyze] Task A set disconnect_flag =3D !0, which resulted in Task B's condition bei= ng met and releasing mp, leading to this issue. [Fix] Place the disconnect_flag assignment operation after all code in pvr2_conte= xt_disconnect() to avoid this issue. Reported-and-tested-by: syzbot+ce750e124675d4599449@syzkaller.appspotmail.c= om Fixes: e5be15c63804 ("V4L/DVB (7711): pvrusb2: Fix race on module unload") Signed-off-by: Edward Adam Davis Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/usb/pvrusb2/pvrusb2-context.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/media/usb/pvrusb2/pvrusb2-context.c b/drivers/media/us= b/pvrusb2/pvrusb2-context.c index 58f2f3ff10ee2..73c95ba2328a4 100644 --- a/drivers/media/usb/pvrusb2/pvrusb2-context.c +++ b/drivers/media/usb/pvrusb2/pvrusb2-context.c @@ -267,9 +267,9 @@ static void pvr2_context_exit(struct pvr2_context *mp) void pvr2_context_disconnect(struct pvr2_context *mp) { pvr2_hdw_disconnect(mp->hdw); - mp->disconnect_flag =3D !0; if (!pvr2_context_shutok()) pvr2_context_notify(mp); + mp->disconnect_flag =3D !0; } =20 =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 124B017C6B5; Sun, 24 Mar 2024 23:43:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323797; cv=none; b=U/oqN5vkIq1V92K0bMKzx+rtXLHW6+HeUf1WflT/pvmx+lBvlARtqnsWWPvrL++ZOHxgJw7ioQ2QYetQ7hycnwBhAhPWc7OOCCN3UbLzp10TySRUkbpYUUDGA5tSWZk4MHzZkslp3765SzePN2jkybmEFDFJ6xN6Edw6giEMCpc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323797; c=relaxed/simple; bh=EpkfoWx72jhMfIWXfpdojzGNUtDam6OnAiKzo5ntHS0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=X4JueQXidyvsP4E8m309YwK5pCnMBT06csK24uD7wJFznCSD9PJctLIf9DwkC+mHvFHizJQkzpKyecaDokTcJve5Tv4uKmkkrwdUh4pgI5nbuN0pMJF+s/oD/tTlXcs0vq4XwWIlRHeXjcFDtj7NIdUdpPxOpEu4ukbw/iXR57o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=utfPA2Os; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="utfPA2Os" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 333E9C433C7; Sun, 24 Mar 2024 23:43:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323795; bh=EpkfoWx72jhMfIWXfpdojzGNUtDam6OnAiKzo5ntHS0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=utfPA2OsSraKSEzHa4s0a7jFk9DCMNtg1gQKqXpGYVHDkXZKK14xiWbKufI9CKwQq ZtJl8cm9cUxGyimvO9XEaEzSZ5E27qC9F58xbwQEiOign0gyc3XP7ZuHCcBVksOHMI Xlg+RsgKZdW92yRgMEpSdXhqlBljqfBfLscLdbUr75rXAHdwFE5q0zobl3O87Dxx4O u/p6q3mOu9OX3u0pSNg/5x4GNan7GBPd2tPYXUum/RxvSvZzddvgYhZ4Ir8OWib6Fy VMtSkje6SrMtQwTGRz67RocPXNT3D6ICVNfaJm1NYCykpQgcOl8WB75jaCMFfZXyeN dWCE/Z85orRAQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Justin Stitt , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 173/238] media: dvb-frontends: avoid stack overflow warnings with clang Date: Sun, 24 Mar 2024 19:39:21 -0400 Message-ID: <20240324234027.1354210-174-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit 7a4cf27d1f0538f779bf31b8c99eda394e277119 ] A previous patch worked around a KASAN issue in stv0367, now a similar problem showed up with clang: drivers/media/dvb-frontends/stv0367.c:1222:12: error: stack frame size (362= 4) exceeds limit (2048) in 'stv0367ter_set_frontend' [-Werror,-Wframe-large= r-than] 1214 | static int stv0367ter_set_frontend(struct dvb_frontend *fe) Rework the stv0367_writereg() function to be simpler and mark both register access functions as noinline_for_stack so the temporary i2c_msg structures do not get duplicated on the stack when KASAN_STACK is enabled. Fixes: 3cd890dbe2a4 ("media: dvb-frontends: fix i2c access helpers for KASA= N") Signed-off-by: Arnd Bergmann Reviewed-by: Justin Stitt Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/dvb-frontends/stv0367.c | 34 +++++++-------------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/drivers/media/dvb-frontends/stv0367.c b/drivers/media/dvb-fron= tends/stv0367.c index 0bfca1174e9e7..8cbae8235b174 100644 --- a/drivers/media/dvb-frontends/stv0367.c +++ b/drivers/media/dvb-frontends/stv0367.c @@ -118,50 +118,32 @@ static const s32 stv0367cab_RF_LookUp2[RF_LOOKUP_TABL= E2_SIZE][RF_LOOKUP_TABLE2_S } }; =20 -static -int stv0367_writeregs(struct stv0367_state *state, u16 reg, u8 *data, int = len) +static noinline_for_stack +int stv0367_writereg(struct stv0367_state *state, u16 reg, u8 data) { - u8 buf[MAX_XFER_SIZE]; + u8 buf[3] =3D { MSB(reg), LSB(reg), data }; struct i2c_msg msg =3D { .addr =3D state->config->demod_address, .flags =3D 0, .buf =3D buf, - .len =3D len + 2 + .len =3D 3, }; int ret; =20 - if (2 + len > sizeof(buf)) { - printk(KERN_WARNING - "%s: i2c wr reg=3D%04x: len=3D%d is too big!\n", - KBUILD_MODNAME, reg, len); - return -EINVAL; - } - - - buf[0] =3D MSB(reg); - buf[1] =3D LSB(reg); - memcpy(buf + 2, data, len); - if (i2cdebug) printk(KERN_DEBUG "%s: [%02x] %02x: %02x\n", __func__, - state->config->demod_address, reg, buf[2]); + state->config->demod_address, reg, data); =20 ret =3D i2c_transfer(state->i2c, &msg, 1); if (ret !=3D 1) printk(KERN_ERR "%s: i2c write error! ([%02x] %02x: %02x)\n", - __func__, state->config->demod_address, reg, buf[2]); + __func__, state->config->demod_address, reg, data); =20 return (ret !=3D 1) ? -EREMOTEIO : 0; } =20 -static int stv0367_writereg(struct stv0367_state *state, u16 reg, u8 data) -{ - u8 tmp =3D data; /* see gcc.gnu.org/bugzilla/show_bug.cgi?id=3D81715 */ - - return stv0367_writeregs(state, reg, &tmp, 1); -} - -static u8 stv0367_readreg(struct stv0367_state *state, u16 reg) +static noinline_for_stack +u8 stv0367_readreg(struct stv0367_state *state, u16 reg) { u8 b0[] =3D { 0, 0 }; u8 b1[] =3D { 0 }; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F362F17C6B4; Sun, 24 Mar 2024 23:43:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323797; cv=none; b=nqoR9JNRrXnqbWxsqXDTAJScHG4iFEoMfMc+lfj+67ac/kVrxWLQf5GyqhUChLZvjpv7/bwMh0BHRYBHvIMCt0zmPH4OAqnzV3DS0Nr4ooXA2ofmkMqlWtWnAQDmVTheEqklYxIgusejqDYUPi4ppLG8wjphvKdimoY1HvD8Bq4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323797; c=relaxed/simple; bh=X1cmmr4RfhomyDJsZCk6Jfrkx98hI1Q3e6kuxotVY7k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=QsqXqquORCNg/mfHlZwyNpEWQIDAxdfjJaAo9JDbqAnm+Rh7Tx84CktyN5cgUaDQk82K51TEmKjBbKPMcnVcbL4AkVlCtEm7m7w6GKtlR6dbdBKWVkWBEKw2xXOIHuCQBEUc626KXlrRg+zaqVUi+2v3tyK0yBW9FCNywURdoxw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TKosLWJZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TKosLWJZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2F723C43394; Sun, 24 Mar 2024 23:43:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323796; bh=X1cmmr4RfhomyDJsZCk6Jfrkx98hI1Q3e6kuxotVY7k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TKosLWJZKOP15RUYm8hWFtWm7GDTepwGa64P3KPzcK4WeHl/JgT1AcrRZYnXf+IVL 8MsdijdE2S3TW9uUsQ0Y8vBFM4vHVvJ0sVzSKjRfTF7X/76q4dC6JroI/XZcEvUClC phT7lBBJko+I9AoNOSGKNlVVNsciyiaBMvpwFN8zHBD9Y8JqC0rWfl6NixzqNqfRCD GAr50A6Dc70d04NX5tzYH17N4DfWuhfpiXekj3AvRa3sgVU54ARMCV6zMkNKLmPnLN OoaesJZbBEc86BuKSgRxrQw0VbgteiAfi8mT6XVCpOQk98+lZM4ISs8kSBC4/wymSz tXpADwP2DsCew== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Zhipeng Lu , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 174/238] media: go7007: fix a memleak in go7007_load_encoder Date: Sun, 24 Mar 2024 19:39:22 -0400 Message-ID: <20240324234027.1354210-175-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhipeng Lu [ Upstream commit b9b683844b01d171a72b9c0419a2d760d946ee12 ] In go7007_load_encoder, bounce(i.e. go->boot_fw), is allocated without a deallocation thereafter. After the following call chain: saa7134_go7007_init |-> go7007_boot_encoder |-> go7007_load_encoder |-> kfree(go) go is freed and thus bounce is leaked. Fixes: 95ef39403f89 ("[media] go7007: remember boot firmware") Signed-off-by: Zhipeng Lu Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/usb/go7007/go7007-driver.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/media/usb/go7007/go7007-driver.c b/drivers/media/usb/g= o7007/go7007-driver.c index 6650eab913d81..3c66542ce284a 100644 --- a/drivers/media/usb/go7007/go7007-driver.c +++ b/drivers/media/usb/go7007/go7007-driver.c @@ -80,7 +80,7 @@ static int go7007_load_encoder(struct go7007 *go) const struct firmware *fw_entry; char fw_name[] =3D "go7007/go7007fw.bin"; void *bounce; - int fw_len, rv =3D 0; + int fw_len; u16 intr_val, intr_data; =20 if (go->boot_fw =3D=3D NULL) { @@ -109,9 +109,11 @@ static int go7007_load_encoder(struct go7007 *go) go7007_read_interrupt(go, &intr_val, &intr_data) < 0 || (intr_val & ~0x1) !=3D 0x5a5a) { v4l2_err(go, "error transferring firmware\n"); - rv =3D -1; + kfree(go->boot_fw); + go->boot_fw =3D NULL; + return -1; } - return rv; + return 0; } =20 MODULE_FIRMWARE("go7007/go7007fw.bin"); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D078E17C6C2; Sun, 24 Mar 2024 23:43:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323798; cv=none; b=a45M3NAeUITZsRWZaG8p/RvQ7yAEFBoS9GXr+zeOQNmV4f5JhkvERe+jw4gISEYmvmUr4XMPKuDPQxbgCIlnr26ej9TEKiGAQwjRk3WfwvY45AmJ8EAD08UPCjVCgabvgzyearTjBTBx1JHJ7w6QCMy2l393l+yfDPRbRkddUwU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323798; c=relaxed/simple; bh=ieKy/hv6bciQ6MqgyuqOGf6/YtMkhtBG+HDbPucQycQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Q5iwcbF6+HQCLQ0qkL+GFGWysrGNd2c87Ch5DySG51m37LNwK8EBOueSMZS8eBJo946t6WoOHhZGFxihVhisYPPC1YgpiZgEbd+GgqiSE0pBfvh3cSJwNDt2Iigg4cM1Axco2UqXpZ5tL5uX6eE5PzuHj9WPcpdDSpuEoJOhmiI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QhxQwSEY; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QhxQwSEY" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 139CBC433F1; Sun, 24 Mar 2024 23:43:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323797; bh=ieKy/hv6bciQ6MqgyuqOGf6/YtMkhtBG+HDbPucQycQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QhxQwSEYrDeYpujnPH+nghySXbicHHjj8Yo41GgUYXnfhgBQTtI/sZmx/wQCDjJ75 zeV4BYFNTm25XuVaRjbPFjpnAi3CRp3Go+qPjFXw+UO+fpqXG006mBdkF9NieTMZmK BWc/OJcPMToCZga9eC7ZLO8rygKSqJ0j/zsEoXlABrdfg404YhKQgJiYxfRcezHmta 8QpfiLIvt0FuJBKuIehmcSydtpa/Z1rkz+ABAf5hn/weZxpi6hI9x/FQoqfMKxPstz kMSmj9oqJPrlTg253+VpQ32YSOZeMZyWF2TZ7aPA141ht+/ZUoRTN7XIacCBU2AGlc ddsO6wlx0n3Fw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Zhipeng Lu , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 175/238] media: ttpci: fix two memleaks in budget_av_attach Date: Sun, 24 Mar 2024 19:39:23 -0400 Message-ID: <20240324234027.1354210-176-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Zhipeng Lu [ Upstream commit d0b07f712bf61e1a3cf23c87c663791c42e50837 ] When saa7146_register_device and saa7146_vv_init fails, budget_av_attach should free the resources it allocates, like the error-handling of ttpci_budget_init does. Besides, there are two fixme comment refers to such deallocations. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Zhipeng Lu Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/pci/ttpci/budget-av.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/media/pci/ttpci/budget-av.c b/drivers/media/pci/ttpci/= budget-av.c index 3cb83005cf09b..519f85e0a397d 100644 --- a/drivers/media/pci/ttpci/budget-av.c +++ b/drivers/media/pci/ttpci/budget-av.c @@ -1462,7 +1462,8 @@ static int budget_av_attach(struct saa7146_dev *dev, = struct saa7146_pci_extensio budget_av->has_saa7113 =3D 1; err =3D saa7146_vv_init(dev, &vv_data); if (err !=3D 0) { - /* fixme: proper cleanup here */ + ttpci_budget_deinit(&budget_av->budget); + kfree(budget_av); ERR("cannot init vv subsystem\n"); return err; } @@ -1471,9 +1472,10 @@ static int budget_av_attach(struct saa7146_dev *dev,= struct saa7146_pci_extensio vv_data.vid_ops.vidioc_s_input =3D vidioc_s_input; =20 if ((err =3D saa7146_register_device(&budget_av->vd, dev, "knc1", VFL_TY= PE_VIDEO))) { - /* fixme: proper cleanup here */ - ERR("cannot register capture v4l2 device\n"); saa7146_vv_release(dev); + ttpci_budget_deinit(&budget_av->budget); + kfree(budget_av); + ERR("cannot register capture v4l2 device\n"); return err; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CA22917C6C9; Sun, 24 Mar 2024 23:43:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323799; cv=none; b=D5HFBjKuAmPP0tgKENpBX+If4ONRMLUtRZkFfSzKI2585UVWoTz6o/CaN8DGcsQPF5yZzx/DeRIHy+Wea1dnIyal96xOtnyPMDlcMh/MYTnR8P+M1D92hWtqvfBxVxFPCF9kpafJpJaMoqB0D3hPlgWq8eFRuU8mNhz92OnsRWg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323799; c=relaxed/simple; bh=7NUHxeM3H+naqYQrNNM4q/hfhzTzd4IROGguJ8zofz0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=S7747DuWGj/azQA3/g9w1k1kxEvelbR+zcUxgtmP0lhVY4Jg+DnHr20ov5x013J7HRNoRxF+nPwfDe9JObczeGrOkO7G6M2q5aICclfLiqU9sa11lLCTRSkCKu9PQqlD7lA9042l5uGRBo78wu71CrvuEYcXyNKB0agaTjIP0ng= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=olHMhOxp; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="olHMhOxp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2158C43390; Sun, 24 Mar 2024 23:43:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323798; bh=7NUHxeM3H+naqYQrNNM4q/hfhzTzd4IROGguJ8zofz0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=olHMhOxpb0yRbBro/zm9KfCnLAjjdSdIovKugD29CjgekmdSRjLGyuxbNRdpuMgj9 EXMKcAn2wXO5/hsWwZg7eLe9/Atksd1SjsfNfOXz+VF7vbplqpX/WYACt3NM+Ykuky 5bpxkSwMzlKSFq0oSdsB2fWC1r86XZzD1F0nLGSciPiEeflN7USSwaew2LiujOlv7H sJpj69DcEHCyQn1jPvyMcfJAvTs+uc8ZmM3ijwdaV0VOkzSX5H6sMOtmq4TSsUdi/b 8PUJpUycuFs6GSULUO/62eFhr80cgWIzeMbqDKY/r3X0rWipmFF30UDytCmN7cFYGt NytXZFfljAtoA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Ricardo Ribalda , Hans Verkuil , Sasha Levin Subject: [PATCH 5.10 176/238] media: mediatek: vcodec: avoid -Wcast-function-type-strict warning Date: Sun, 24 Mar 2024 19:39:24 -0400 Message-ID: <20240324234027.1354210-177-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit bfb1b99802ef16045402deb855c197591dc78886 ] The ipi handler here tries hard to maintain const-ness of its argument, but by doing that causes a warning about function type casts: drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_vpu.c:38:32: er= ror: cast from 'mtk_vcodec_ipi_handler' (aka 'void (*)(void *, unsigned int= , void *)') to 'ipi_handler_t' (aka 'void (*)(const void *, unsigned int, v= oid *)') converts to incompatible function type [-Werror,-Wcast-function-ty= pe-strict] 38 | ipi_handler_t handler_const =3D (ipi_handler_t)handler; | ^~~~~~~~~~~~~~~~~~~~~~ Remove the hack and just use a non-const argument. Fixes: bf1d556ad4e0 ("media: mtk-vcodec: abstract firmware interface") Signed-off-by: Arnd Bergmann Reviewed-by: Ricardo Ribalda Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/media/platform/mtk-mdp/mtk_mdp_vpu.c | 2 +- drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c | 10 +--------- drivers/media/platform/mtk-vpu/mtk_vpu.c | 2 +- drivers/media/platform/mtk-vpu/mtk_vpu.h | 2 +- 4 files changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_vpu.c b/drivers/media/p= latform/mtk-mdp/mtk_mdp_vpu.c index b065ccd069140..378a1cba0144f 100644 --- a/drivers/media/platform/mtk-mdp/mtk_mdp_vpu.c +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_vpu.c @@ -26,7 +26,7 @@ static void mtk_mdp_vpu_handle_init_ack(const struct mdp_= ipi_comm_ack *msg) vpu->inst_addr =3D msg->vpu_inst_addr; } =20 -static void mtk_mdp_vpu_ipi_handler(const void *data, unsigned int len, +static void mtk_mdp_vpu_ipi_handler(void *data, unsigned int len, void *priv) { const struct mdp_ipi_comm_ack *msg =3D data; diff --git a/drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c b/driver= s/media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c index cfc7ebed8fb7a..1ec29f1b163a1 100644 --- a/drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c +++ b/drivers/media/platform/mtk-vcodec/mtk_vcodec_fw_vpu.c @@ -29,15 +29,7 @@ static int mtk_vcodec_vpu_set_ipi_register(struct mtk_vc= odec_fw *fw, int id, mtk_vcodec_ipi_handler handler, const char *name, void *priv) { - /* - * The handler we receive takes a void * as its first argument. We - * cannot change this because it needs to be passed down to the rproc - * subsystem when SCP is used. VPU takes a const argument, which is - * more constrained, so the conversion below is safe. - */ - ipi_handler_t handler_const =3D (ipi_handler_t)handler; - - return vpu_ipi_register(fw->pdev, id, handler_const, name, priv); + return vpu_ipi_register(fw->pdev, id, handler, name, priv); } =20 static int mtk_vcodec_vpu_ipi_send(struct mtk_vcodec_fw *fw, int id, void = *buf, diff --git a/drivers/media/platform/mtk-vpu/mtk_vpu.c b/drivers/media/platf= orm/mtk-vpu/mtk_vpu.c index e7c4b0dd588a9..a2f61d97ffeb1 100644 --- a/drivers/media/platform/mtk-vpu/mtk_vpu.c +++ b/drivers/media/platform/mtk-vpu/mtk_vpu.c @@ -612,7 +612,7 @@ int vpu_load_firmware(struct platform_device *pdev) } EXPORT_SYMBOL_GPL(vpu_load_firmware); =20 -static void vpu_init_ipi_handler(const void *data, unsigned int len, void = *priv) +static void vpu_init_ipi_handler(void *data, unsigned int len, void *priv) { struct mtk_vpu *vpu =3D priv; const struct vpu_run *run =3D data; diff --git a/drivers/media/platform/mtk-vpu/mtk_vpu.h b/drivers/media/platf= orm/mtk-vpu/mtk_vpu.h index ee7c552ce9289..d4453b4bcee92 100644 --- a/drivers/media/platform/mtk-vpu/mtk_vpu.h +++ b/drivers/media/platform/mtk-vpu/mtk_vpu.h @@ -15,7 +15,7 @@ * VPU interfaces with other blocks by share memory and interrupt. **/ =20 -typedef void (*ipi_handler_t) (const void *data, +typedef void (*ipi_handler_t) (void *data, unsigned int len, void *priv); =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CB1B817C6C0; Sun, 24 Mar 2024 23:43:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323800; cv=none; b=K/K3IvyhZ/oz4ze/FlCD2JhJ5jsANzUvbgvrPJw/dw/KyAWZ74YqcmnaN+onPR4yUGJ8rhEPimaUeQbGHJtlCiDWgU6giA5ihZ5rzkJzowfaa1KPRsT1psmIE+gCwTS5MW8OQnuTIeLI0Ue8gWPvHtgPVxdeI2ywp0WCNTmlBiI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323800; c=relaxed/simple; bh=L0IdWhpYfyRmSo+2O7cJbuZhIX4b6VvSMb8tOxtFHZQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Gzsg0C7zUHHE6NnQ1kg3KpweyXieFQK2Lxo8ba/Q3n7mQQkd2iOb+42Ye2qyPiAJiMdFLwZzvN4bbhe9GpRRmd2IT04QTItvDexiQqnwWtWLuRfiVDqG3tUZp4yXbFL5azfAIJmaUhKzr4OZVAz10G+Sr1gb2Y2zyp2YqiHKzLY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=jwSxvTx1; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="jwSxvTx1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EEE0CC433C7; Sun, 24 Mar 2024 23:43:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323799; bh=L0IdWhpYfyRmSo+2O7cJbuZhIX4b6VvSMb8tOxtFHZQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jwSxvTx15Wy8NwFXYh6lRGSmhkbHuCJcjr44BNrOZ4AHniMV55NvAf2+qLrvyYaYq gAqYha8vSqqzA42pILfBWt4EjylC9EbIi49oVl7xmqA0Y/v9gKCxJN8lkuqAAuBykj qRAWDXjVOr11FqUeSjLmcuoYzIwnPfhXoLNbYNV1dqDbNi+4qyN5zy5AhlzG6rKLmo CVl2GQ4TCFlkeVjDd1XSe4jqRhKhxGtPgQc9qkBBpHIEBIysl0dg9jxSLQWBNZCNUP bTilwAeOBGdlz+CJPuMx7ATs5a/TyLGnWZxwZVyDVP2URE27X2bkdnyw9Pq0wKUbif 0vEnZW+H5QL2w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Hsin-Yi Wang , CK Hu , Chun-Kuang Hu , Sasha Levin Subject: [PATCH 5.10 177/238] drm/mediatek: Fix a null pointer crash in mtk_drm_crtc_finish_page_flip Date: Sun, 24 Mar 2024 19:39:25 -0400 Message-ID: <20240324234027.1354210-178-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Hsin-Yi Wang [ Upstream commit c958e86e9cc1b48cac004a6e245154dfba8e163b ] It's possible that mtk_crtc->event is NULL in mtk_drm_crtc_finish_page_flip(). pending_needs_vblank value is set by mtk_crtc->event, but in mtk_drm_crtc_atomic_flush(), it's is not guarded by the same lock in mtk_drm_finish_page_flip(), thus a race condition happens. Consider the following case: CPU1 CPU2 step 1: mtk_drm_crtc_atomic_begin() mtk_crtc->event is not null, step 1: mtk_drm_crtc_atomic_flush: mtk_drm_crtc_update_config( !!mtk_crtc->event) step 2: mtk_crtc_ddp_irq -> mtk_drm_finish_page_flip: lock mtk_crtc->event set to null, pending_needs_vblank set to false unlock pending_needs_vblank set to true, step 2: mtk_crtc_ddp_irq -> mtk_drm_finish_page_flip called again, pending_needs_vblank is still true //null pointer Instead of guarding the entire mtk_drm_crtc_atomic_flush(), it's more efficient to just check if mtk_crtc->event is null before use. Fixes: 119f5173628a ("drm/mediatek: Add DRM Driver for Mediatek SoC MT8173.= ") Signed-off-by: Hsin-Yi Wang Reviewed-by: CK Hu Link: https://patchwork.kernel.org/project/dri-devel/patch/20240223212404.3= 709690-1-hsinyi@chromium.org/ Signed-off-by: Chun-Kuang Hu Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/medi= atek/mtk_drm_crtc.c index 1eaf513166a1a..d08827803a32f 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -84,11 +84,13 @@ static void mtk_drm_crtc_finish_page_flip(struct mtk_dr= m_crtc *mtk_crtc) struct drm_crtc *crtc =3D &mtk_crtc->base; unsigned long flags; =20 - spin_lock_irqsave(&crtc->dev->event_lock, flags); - drm_crtc_send_vblank_event(crtc, mtk_crtc->event); - drm_crtc_vblank_put(crtc); - mtk_crtc->event =3D NULL; - spin_unlock_irqrestore(&crtc->dev->event_lock, flags); + if (mtk_crtc->event) { + spin_lock_irqsave(&crtc->dev->event_lock, flags); + drm_crtc_send_vblank_event(crtc, mtk_crtc->event); + drm_crtc_vblank_put(crtc); + mtk_crtc->event =3D NULL; + spin_unlock_irqrestore(&crtc->dev->event_lock, flags); + } } =20 static void mtk_drm_finish_page_flip(struct mtk_drm_crtc *mtk_crtc) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C157117C6D2; Sun, 24 Mar 2024 23:43:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323801; cv=none; b=aYtM2fXZ0dtwX23Lj7OtbLEMEl8eoBDD0JthseSOlbVU5mSWMOq8BhMcPQHWS4xhXcXEQmuidZDlMxJu6FJrzosIvuWqhh1Yu2+QhkOeLp4/FKSYYGVvtnFNB9chUrzDTnYxFkrwllQPO+SSELU8dx67IZQgiKInMtaAWC1+aog= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323801; c=relaxed/simple; bh=tfhiyz79ICdQeKvhnCLH9GxQyaU1564g7hI9bfQA7x4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hv0WspnBwoGC2cZHbv75nJ4lPmZ0d+38o87tzTMDNtV+roVQgfI0fvMoAEWqDbF7OZ/I+jkO0mlzrsXsxujC/eV/dJC7hRly3/j8YVj42NWAXT6QyJ5HWGyccohJXIjLbYB1z0WSx67GuenNy8xnPzAw0XnISFwDVcNeLGrZX34= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Ydh3eR7A; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Ydh3eR7A" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EA0D8C43394; Sun, 24 Mar 2024 23:43:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323800; bh=tfhiyz79ICdQeKvhnCLH9GxQyaU1564g7hI9bfQA7x4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ydh3eR7A4KnYNTmNgsBCUwj2ZUhy2WaCkRSugq/pwJgOD33j+yRS0Fl9RKv/Cfiyv jde8JsBVGtOvrK6B6fEXkkGr8MyiBHTdyxaIFwXdR9chtohUC7E7jd7FYWbI6B1Ie5 dNLbOH6Pn2bnM7uz2QRzQJdpq8AwHyLUvmvuJ/pF+6dnIg+XGq9O+ko6rdtnr0j0Re x1sl2QurzRn7CSyETTbnD+q0UiNMNZ9zNswIcwpMhAmYz2niAmvGgb1i+1Kfic2f5/ 9nC+eMmc3A2h7N2aMSMXlSjaTSlRmh49wqYYVIId39OlRQl0z2eYcHqsopj02Nx9Xh IbLDoYZRvmz7A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Kajol Jain , Akanksha J N , Michael Ellerman , Sasha Levin Subject: [PATCH 5.10 178/238] powerpc/hv-gpci: Fix the H_GET_PERF_COUNTER_INFO hcall return value checks Date: Sun, 24 Mar 2024 19:39:26 -0400 Message-ID: <20240324234027.1354210-179-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Kajol Jain [ Upstream commit ad86d7ee43b22aa2ed60fb982ae94b285c1be671 ] Running event hv_gpci/dispatch_timebase_by_processor_processor_time_in_time= base_cycles,phys_processor_idx=3D0/ in one of the system throws below error: ---Logs--- # perf list | grep hv_gpci/dispatch_timebase_by_processor_processor_time_i= n_timebase_cycles hv_gpci/dispatch_timebase_by_processor_processor_time_in_timebase_cycles,= phys_processor_idx=3D?/[Kernel PMU event] # perf stat -v -e hv_gpci/dispatch_timebase_by_processor_processor_time_in= _timebase_cycles,phys_processor_idx=3D0/ sleep 2 Using CPUID 00800200 Control descriptor is not initialized Warning: hv_gpci/dispatch_timebase_by_processor_processor_time_in_timebase_cycles,ph= ys_processor_idx=3D0/ event is not supported by the kernel. failed to read counter hv_gpci/dispatch_timebase_by_processor_processor_tim= e_in_timebase_cycles,phys_processor_idx=3D0/ Performance counter stats for 'system wide': hv_gpci/dispatch_timebase_by_processor_processor_ti= me_in_timebase_cycles,phys_processor_idx=3D0/ 2.000700771 seconds time elapsed The above error is because of the hcall failure as required permission "Enable Performance Information Collection" is not set. Based on current code, single_gpci_request function did not check the error type incase hcall fails and by default returns EINVAL. But we can have other reasons for hcall failures like H_AUTHORITY/H_PARAMETER with detail_rc as GEN_BUF_TOO_SMALL, for which we need to act accordingly. Fix this issue by adding new checks in the single_gpci_request and h_gpci_event_init functions. Result after fix patch changes: # perf stat -e hv_gpci/dispatch_timebase_by_processor_processor_time_in_ti= mebase_cycles,phys_processor_idx=3D0/ sleep 2 Error: No permission to enable hv_gpci/dispatch_timebase_by_processor_processor_ti= me_in_timebase_cycles,phys_processor_idx=3D0/ event. Fixes: 220a0c609ad1 ("powerpc/perf: Add support for the hv gpci (get perfor= mance counter info) interface") Reported-by: Akanksha J N Signed-off-by: Kajol Jain Signed-off-by: Michael Ellerman Link: https://msgid.link/20240229122847.101162-1-kjain@linux.ibm.com Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/powerpc/perf/hv-gpci.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/perf/hv-gpci.c b/arch/powerpc/perf/hv-gpci.c index 28b770bbc10b4..2a054de80e50b 100644 --- a/arch/powerpc/perf/hv-gpci.c +++ b/arch/powerpc/perf/hv-gpci.c @@ -164,6 +164,20 @@ static unsigned long single_gpci_request(u32 req, u32 = starting_index, =20 ret =3D plpar_hcall_norets(H_GET_PERF_COUNTER_INFO, virt_to_phys(arg), HGPCI_REQ_BUFFER_SIZE); + + /* + * ret value as 'H_PARAMETER' with detail_rc as 'GEN_BUF_TOO_SMALL', + * specifies that the current buffer size cannot accommodate + * all the information and a partial buffer returned. + * Since in this function we are only accessing data for a given starting= index, + * we don't need to accommodate whole data and can get required count by + * accessing first entry data. + * Hence hcall fails only incase the ret value is other than H_SUCCESS or + * H_PARAMETER with detail_rc value as GEN_BUF_TOO_SMALL(0x1B). + */ + if (ret =3D=3D H_PARAMETER && be32_to_cpu(arg->params.detail_rc) =3D=3D 0= x1B) + ret =3D 0; + if (ret) { pr_devel("hcall failed: 0x%lx\n", ret); goto out; @@ -228,6 +242,7 @@ static int h_gpci_event_init(struct perf_event *event) { u64 count; u8 length; + unsigned long ret; =20 /* Not our event */ if (event->attr.type !=3D event->pmu->type) @@ -258,13 +273,23 @@ static int h_gpci_event_init(struct perf_event *event) } =20 /* check if the request works... */ - if (single_gpci_request(event_get_request(event), + ret =3D single_gpci_request(event_get_request(event), event_get_starting_index(event), event_get_secondary_index(event), event_get_counter_info_version(event), event_get_offset(event), length, - &count)) { + &count); + + /* + * ret value as H_AUTHORITY implies that partition is not permitted to re= trieve + * performance information, and required to set + * "Enable Performance Information Collection" option. + */ + if (ret =3D=3D H_AUTHORITY) + return -EPERM; + + if (ret) { pr_devel("gpci hcall failed\n"); return -EINVAL; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A582917C6D9; Sun, 24 Mar 2024 23:43:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323802; cv=none; b=t4JQV2rd9nkyMNxOVj7ArhcripbBnwjjuqlpQlG50bDeCATfQbdQ1uI+CtYg90/qagMX3nTMD2Itgu3qdTlsobx3wp83ISqxWyddS9UMwwStWm1AbOjQzNaHf7W/DemE4CprXCJGpMaurxiYKybUwjJwXVKbNX4gsW1msBUhYfo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323802; c=relaxed/simple; bh=ljODnJprINJouMOUr8OzHtLvij5iu2kW/2nFcfMeJ7A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Z/0l+xjfhdqmi5bCO+SoNuObCRH36js20NBtxeAlxJx+eCODbVRhBbSAOAo3ty9irz0bcgmMo4WYC+5MQrO1JWX0s6xNygWVyrTM8tjVxQ00OHB/1ZxxEbgGwDcnrR26nattEUcKv/Z/NDG6bFln4tCYaRnunFdx+IOIFHfuJ6I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pIsHpqcK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="pIsHpqcK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E4CDEC433A6; Sun, 24 Mar 2024 23:43:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323801; bh=ljODnJprINJouMOUr8OzHtLvij5iu2kW/2nFcfMeJ7A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pIsHpqcKNo69LmjozyN9ZLy+qWIGeX7Qm5aWqgPxnMw45Baa+USU4hO+vYTdIz4r9 6o0yDsFkbC+cAE/teXlJo4IbZTNI5hTWztBNn7uDOs3zz/mEz2BfKfh1QUz48sWUnx hUz6jmiod05GXEs3ruBNcabeA6Wb2wfvVHkZvi11zM7o2O6j8vHMQPOGJAEPVFE33A odwF4DrToAmnSewYoWCrxsTpLTS/8wLYzKx8bzGFPGtHaqzGjfroKA440E4v03Z2nP iqAqGtbT0y4ZbGmh/6YbEUb7KlxviiIsFjUqFkoSPe3hRjO+Gj1hgu3TVQnRBbpgFO aUL6knntn/Psg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Paloma Arellano , Dmitry Baryshkov , Sasha Levin Subject: [PATCH 5.10 179/238] drm/msm/dpu: add division of drm_display_mode's hskew parameter Date: Sun, 24 Mar 2024 19:39:27 -0400 Message-ID: <20240324234027.1354210-180-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Paloma Arellano [ Upstream commit 551ee0f210991d25f336bc27262353bfe99d3eed ] Setting up the timing engine when the physical encoder has a split role neglects dividing the drm_display_mode's hskew parameter. Let's fix this since this must also be done in preparation for implementing YUV420 over DP. Fixes: 25fdd5933e4c ("drm/msm: Add SDM845 DPU support") Signed-off-by: Paloma Arellano Reviewed-by: Dmitry Baryshkov Patchwork: https://patchwork.freedesktop.org/patch/579605/ Link: https://lore.kernel.org/r/20240222194025.25329-3-quic_parellan@quicin= c.com Signed-off-by: Dmitry Baryshkov Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c b/drivers= /gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c index 805e059b50b71..33880f66625e6 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c @@ -265,12 +265,14 @@ static void dpu_encoder_phys_vid_setup_timing_engine( mode.htotal >>=3D 1; mode.hsync_start >>=3D 1; mode.hsync_end >>=3D 1; + mode.hskew >>=3D 1; =20 DPU_DEBUG_VIDENC(phys_enc, - "split_role %d, halve horizontal %d %d %d %d\n", + "split_role %d, halve horizontal %d %d %d %d %d\n", phys_enc->split_role, mode.hdisplay, mode.htotal, - mode.hsync_start, mode.hsync_end); + mode.hsync_start, mode.hsync_end, + mode.hskew); } =20 drm_mode_to_intf_timing_params(phys_enc, &mode, &timing_params); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7A00B17C6D1; Sun, 24 Mar 2024 23:43:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323803; cv=none; b=trLZ1XVwOavlWm6IMU31X7wi6f+yDXQpiupBUOWgkAnAv97H4t55AdWmzpXkxTQT1exHAKeNS3Jpr6/uBZDU44x3sL7SeWazlMZh0ZzbAfabIHWxHiIXvjA1SY+MNHh3pCU1uDnWZb8b87JKEdd9FbJCjPIvMWjA7BTR+aBwdPU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323803; c=relaxed/simple; bh=IgTe3n66YGsLtCAM6MmQvEeSa0QRWAfowfES3Es53+M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fXV/VfLjxjYln0q3+scZcw+NJNs3YKhsNjsHM+J3RUepudkOzg++z3Dls04wChuwE2N4ZkLFri5zR39qSeoWtmCmjWRQHiSciQbt3GzuT185FotrS0I33m2sPz54QqRfE1AWTyScyVmXfswZfqvkFy0XQX08l6i4GV6DDE8QWQI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=doycezXX; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="doycezXX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CDAC4C433F1; Sun, 24 Mar 2024 23:43:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323802; bh=IgTe3n66YGsLtCAM6MmQvEeSa0QRWAfowfES3Es53+M=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=doycezXXlvmx/NoUt4de8kgO2N5bO/j0LAXjJWP3ZN+QX2ZswWai5PgJjqSk6WymV M9iMSpUO5jjbkNtE8xdAgtBXnn/O+zgqgw2cJbgE/zm1PjH/xdSPepRCANvPT1BBQL yVK8GAp9R2JlfCIhJbnffoMN8pT089w2cwTlel10Tqlj5lP3qrSzywQNhbvhTgJyq8 3gxP4/Waec4p/FM+Gn6aokoPJPf3MBKMGdiWMC49tWEGtfxdq883+alom91KD1O8QK JsM7GxqQL/FelSutURlJJH/+S9pzgsipzzkP8S1LNZiRy+y22HN58xHMPi2U+aT40l Vm9O8O3ElSW2w== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Michael Ellerman , Sasha Levin Subject: [PATCH 5.10 180/238] powerpc/embedded6xx: Fix no previous prototype for avr_uart_send() etc. Date: Sun, 24 Mar 2024 19:39:28 -0400 Message-ID: <20240324234027.1354210-181-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Michael Ellerman [ Upstream commit 20933531be0577cdd782216858c26150dbc7936f ] Move the prototypes into mpc10x.h which is included by all the relevant C files, fixes: arch/powerpc/platforms/embedded6xx/ls_uart.c:59:6: error: no previous pro= totype for 'avr_uart_configure' arch/powerpc/platforms/embedded6xx/ls_uart.c:82:6: error: no previous pro= totype for 'avr_uart_send' Signed-off-by: Michael Ellerman Link: https://msgid.link/20240305123410.3306253-1-mpe@ellerman.id.au Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/powerpc/platforms/embedded6xx/linkstation.c | 3 --- arch/powerpc/platforms/embedded6xx/mpc10x.h | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/platforms/embedded6xx/linkstation.c b/arch/powerp= c/platforms/embedded6xx/linkstation.c index f514d5d28cd4f..3f3821eb4c36b 100644 --- a/arch/powerpc/platforms/embedded6xx/linkstation.c +++ b/arch/powerpc/platforms/embedded6xx/linkstation.c @@ -97,9 +97,6 @@ static void __init linkstation_init_IRQ(void) mpic_init(mpic); } =20 -extern void avr_uart_configure(void); -extern void avr_uart_send(const char); - static void __noreturn linkstation_restart(char *cmd) { local_irq_disable(); diff --git a/arch/powerpc/platforms/embedded6xx/mpc10x.h b/arch/powerpc/pla= tforms/embedded6xx/mpc10x.h index 5ad12023e5628..ebc258fa4858d 100644 --- a/arch/powerpc/platforms/embedded6xx/mpc10x.h +++ b/arch/powerpc/platforms/embedded6xx/mpc10x.h @@ -156,4 +156,7 @@ int mpc10x_disable_store_gathering(struct pci_controlle= r *hose); /* For MPC107 boards that use the built-in openpic */ void mpc10x_set_openpic(void); =20 +void avr_uart_configure(void); +void avr_uart_send(const char c); + #endif /* __PPC_KERNEL_MPC10X_H */ --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 73B2317CF42; Sun, 24 Mar 2024 23:43:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323804; cv=none; b=vAENiqVImNznDP/oZnFqTVwDFWcKp9dW2xYzdM5wvM7QU9IpYc5dPB9+nIk/2g7LSrsm4wfhN4RfhxXxagPFQEMHBdFBjnLIsoNn7pekVDCSRBmPGvtZtzFQ/ERbcTT6i/yUe73t5dpl76p2nSfxhZk/nazcSfau67UBjg8QRB0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323804; c=relaxed/simple; bh=WcWIkH5q7zZPWwW1JMd5ars6aARZtyMpPCQlr0PEIBc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IVGd2e9JQHd2XN31c6efWSNakK7yTZrj8KR/JXTlzd1f7/RAjy9nMInq+oQkZ3kSX774WbsIgkmAzalfdb3APCYxBYJ3OVusCSdbiJwo/qExIFPiLGeBWMRcY0AKeHE2261jPbOQztGWSVk8/GHG2V+cf+Kl0q1/fqr7+lR1vJY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=a53+j1mb; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="a53+j1mb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9C3D7C433C7; Sun, 24 Mar 2024 23:43:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323803; bh=WcWIkH5q7zZPWwW1JMd5ars6aARZtyMpPCQlr0PEIBc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=a53+j1mbcbREPT+ZymrcXBLGiwGKAIqG8MhRCH701AMZ+CPtTq2TZQrHVthR2+CIX 6lC87cHq21gOp2o+MiihZT+cSk4A/gPthN7yg6pHSRPgrCbLyB6WCtE9eL6EcCjVtu Tq07ziyQbVvESXZfGKWbumdlFt67zREkKIsGyx86audBrHh4jo/txmnWJoT3mndxXH CHU4/oIJjQPRcF7Ore+dggJE+uRYHtGbnEJHEJWqb8ZxBbDt06oZ4Gdhasb+XjeOf5 1uVobJu6FYqHnbQLJbfAM2JDJVibOhOJ2ZpGDDfjXNlVqYrpteTqlb0Rlljo2BcYZt 0WQ2djNZvrFLA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: George Stark , Andy Shevchenko , Lee Jones , Sasha Levin Subject: [PATCH 5.10 181/238] leds: aw2013: Unlock mutex before destroying it Date: Sun, 24 Mar 2024 19:39:29 -0400 Message-ID: <20240324234027.1354210-182-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: George Stark [ Upstream commit 6969d0a2ba1adc9ba6a49b9805f24080896c255c ] In the probe() callback in case of error mutex is destroyed being locked which is not allowed so unlock the mutex before destroying. Fixes: 59ea3c9faf32 ("leds: add aw2013 driver") Signed-off-by: George Stark Reviewed-by: Andy Shevchenko Link: https://lore.kernel.org/r/20231214173614.2820929-2-gnstark@salutedevi= ces.com Signed-off-by: Lee Jones Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/leds/leds-aw2013.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/leds/leds-aw2013.c b/drivers/leds/leds-aw2013.c index 80d937454aeef..f7d9795ce5e1f 100644 --- a/drivers/leds/leds-aw2013.c +++ b/drivers/leds/leds-aw2013.c @@ -397,6 +397,7 @@ static int aw2013_probe(struct i2c_client *client) regulator_disable(chip->vcc_regulator); =20 error: + mutex_unlock(&chip->mutex); mutex_destroy(&chip->mutex); return ret; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5964417CF40; Sun, 24 Mar 2024 23:43:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323804; cv=none; b=gixecZMQm4Ch5dY484dOqJ/XXAbT9e57q4coqEEXvD7JmAEUfcdhE1QEjq/w3cBpdB2gDluFdbN5Vj0CjR1Z1lCAlhktlPhlOQRkalBrstFLqQ8BU1pu3rLdZ6jNQKBXSTBu/uL8bnT+qaQoNr2/fGuiDhc2jFaBwIDlX5+w+C8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323804; c=relaxed/simple; bh=3EjjOae28iFTTN9Vt3atP73bzK/0EvxJ/PX5W9Dipi8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=JeRggbmRq7pYWPpCXymoenChqmrl2MnJ1B7joTnPOfrVxR+i27xAJC+4uP1J3WJmDL1dOd9G4QFmM0tGJrd9oTCtDaf8rn8HKs3qzcJLhSZ+cAtpCpf/voTBhMnmH+q9k623A/hfHJYorEHTJnS/PoepL9rjt+kcS8QyLmOZ5GU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Olh872Y5; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Olh872Y5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 994D7C43390; Sun, 24 Mar 2024 23:43:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323804; bh=3EjjOae28iFTTN9Vt3atP73bzK/0EvxJ/PX5W9Dipi8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Olh872Y5cw+2KkFz2Ru82hWbugs9eFEXn8SBNMiqprE2hCHiBOVx0F2FzUrQXOn7j aO5oShWpc0SasIWeK57kj5tbEm0kmy0AyF7R9kZerWUgRUtxMmyzb5Em+bMGbi2jRB H5wNCewBMBlF0IEpUEzfmYzdVM+hx3GqyWXVP2SznDCGexSBjsgQtnc6gvjZCdluNE uhn2Nbh0Ppxih2hlIPZypmvCmnmuskPT9U/mZ4EiN9m98a5wy5hUK4iWOh8n+qkkAq t1CP8C5Gt5qNpIZYu1EMmd0Ey3shMCkEXM5A061DEwylohV7alj1znilzPHTB3xkrU VTAD60mjbUD2Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ondrej Jirman , Lee Jones , Sasha Levin Subject: [PATCH 5.10 182/238] leds: sgm3140: Add missing timer cleanup and flash gpio control Date: Sun, 24 Mar 2024 19:39:30 -0400 Message-ID: <20240324234027.1354210-183-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ondrej Jirman [ Upstream commit 205c29887a333ee4b37596e6533373e38cb23947 ] Enabling strobe and then setting brightness to 0 causes the driver to enter invalid state after strobe end timer fires. We should cancel strobe mode resources when changing brightness (aka torch mode). Fixes: cef8ec8cbd21 ("leds: add sgm3140 driver") Signed-off-by: Ondrej Jirman Link: https://lore.kernel.org/r/20240217191133.1757553-1-megi@xff.cz Signed-off-by: Lee Jones Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/leds/leds-sgm3140.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/leds/leds-sgm3140.c b/drivers/leds/leds-sgm3140.c index f4f831570f11c..e72017b11098b 100644 --- a/drivers/leds/leds-sgm3140.c +++ b/drivers/leds/leds-sgm3140.c @@ -114,8 +114,11 @@ static int sgm3140_brightness_set(struct led_classdev = *led_cdev, "failed to enable regulator: %d\n", ret); return ret; } + gpiod_set_value_cansleep(priv->flash_gpio, 0); gpiod_set_value_cansleep(priv->enable_gpio, 1); } else { + del_timer_sync(&priv->powerdown_timer); + gpiod_set_value_cansleep(priv->flash_gpio, 0); gpiod_set_value_cansleep(priv->enable_gpio, 0); ret =3D regulator_disable(priv->vin_regulator); if (ret) { --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F87217CF44; Sun, 24 Mar 2024 23:43:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323806; cv=none; b=t8NfVRmMC0uqohe8THivOMklGl7AM6twTvmR3bhPvg998b0YHyzSSruMuBDy5AGxPSRR1LE8K3m+wxJVnPDdHncaHfgNe+to/tIT2a8zJNuGCJTa40Se5M+Bz5fmmVWY0japbJ4uQ3Qgw74cf+Divamt7yn5fjRF7GW3fzymBGQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323806; c=relaxed/simple; bh=wKblKOnclTeKSAoujBU//Prn5MTCOKTjOvtWnq63Pws=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=XDKGK0OupUy17emRDov8PfjEfUiXnabQMxx8ToDPl+PioG503t6TAxW54v6vAem8nYQv5BW6YQe1n8MXI8K1ql0J8GPUTRUSStWmCyQR6jvt5yXNA5FveJDWGLizUh63wOdqMTj4W2AOdCFElqi5Sry6WNhmhYmzdqU6LldsOok= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=iT9JMWCl; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="iT9JMWCl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7E99BC43394; Sun, 24 Mar 2024 23:43:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323805; bh=wKblKOnclTeKSAoujBU//Prn5MTCOKTjOvtWnq63Pws=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=iT9JMWClFQReHIihI6+Vn2fd6CTk7cpyw4uWl5Xs+VjBBWleTVraCb05twsj9zcSu ZNb5FGfOv3nezfFiqP9+lTAfCfHVQqYbtcLIRvaEym5vhfLQpoFIKLfZlD2I6w74y3 uVxpyF37JyeuYW6xkI0ANxpu9ao8ul6V9O3UfzDrBPqNRoWEYOBa2j22OGxPb/lpVX 2cgMYzkmG/IhtYD49OMBugWOhmb+8k0SdKF6bhGQD4LU6H+YdDL5IGP+iX9zcsJc// mjCFP1bBLyNkVWmb5LPU6Aq2LvvBiP27VCKjVnlM3q+rV31jOWqmRcminDulNX/UJf 18whMyT3TccfA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Luca Weiss , Daniel Thompson , Lee Jones , Sasha Levin Subject: [PATCH 5.10 183/238] backlight: lm3630a: Initialize backlight_properties on init Date: Sun, 24 Mar 2024 19:39:31 -0400 Message-ID: <20240324234027.1354210-184-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Luca Weiss [ Upstream commit ad9aeb0e3aa90ebdad5fabf9c21783740eb95907 ] The backlight_properties struct should be initialized to zero before using, otherwise there will be some random values in the struct. Fixes: 0c2a665a648e ("backlight: add Backlight driver for lm3630 chip") Signed-off-by: Luca Weiss Reviewed-by: Daniel Thompson Link: https://lore.kernel.org/r/20240220-lm3630a-fixups-v1-1-9ca62f7e4a33@z= 3ntu.xyz Signed-off-by: Lee Jones Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/video/backlight/lm3630a_bl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight= /lm3630a_bl.c index 419b0334cf087..2aade66db3cf4 100644 --- a/drivers/video/backlight/lm3630a_bl.c +++ b/drivers/video/backlight/lm3630a_bl.c @@ -339,6 +339,7 @@ static int lm3630a_backlight_register(struct lm3630a_ch= ip *pchip) struct backlight_properties props; const char *label; =20 + memset(&props, 0, sizeof(struct backlight_properties)); props.type =3D BACKLIGHT_RAW; if (pdata->leda_ctrl !=3D LM3630A_LEDA_DISABLE) { props.brightness =3D pdata->leda_init_brt; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5366317CF4B; Sun, 24 Mar 2024 23:43:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323806; cv=none; b=qIuq+pOK5DnqpRuFE7O2kWzMnYxw6yM96n8dN/ZBTxgucpbO8tftOOZtCT1h4h+zH6WN0+lo0OoX46zJTYHohtkH0LDM4pQ6fB0z4f1B5bo+1rUQQFXSqfH6y8pzXMfkSJ2dEvDW6De9r1j+WnHXjYfydvDHD7yH+1BgsvDCqW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323806; c=relaxed/simple; bh=GjnkixaYReP4YOiLR6rVD7j38RgaCnm3GMPZmZvMefg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=amMSKSvOoscDrd0bFryZUf9LrvCmQYKSuCX/oBy+4twVhaYgsLNS9nQffzIu37o4F8h9I7KQSKUVwSVFcD6t0Juo7q3fokgUCXQJINQ2POe5dCsPSZX22KfJ4EeOJsNfhfUPjn449SGT613/tsZSVzBBde29LwghslGZKoTbTrg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OcUbY8Xq; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OcUbY8Xq" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 787BBC433C7; Sun, 24 Mar 2024 23:43:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323806; bh=GjnkixaYReP4YOiLR6rVD7j38RgaCnm3GMPZmZvMefg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OcUbY8Xqo/lwdFkWGsON7qSkri1HItutfMmU7mXcP8P8Hp3Rc60LGRTS380CJUsmS YC4ykzxRg/N5+TFrq03+ijSTcHKbnB0U3DbKAW/QWtw0jblvHyddJnjlCI2mZw+uou +vEkckc11Ar9jkwSV1Dx6XYlmvNtQ9qjbvXo4ytWByd4wZDlwQk9w3bDJ3WH5nGK9P M+Ua/xIDV4WOs7JKrJKPnE2TVDPFqGQuMamLaR0u42gxuC48GKgEK2S1sBLcAzsayq 8jnxTG/YhK/ztnBSi7dPe1AhcXGXRNa9c5BViR2VEZBW0lR8XTIF3VNryKhCV2+wJC KppxcafWaO6MA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Luca Weiss , Daniel Thompson , Lee Jones , Sasha Levin Subject: [PATCH 5.10 184/238] backlight: lm3630a: Don't set bl->props.brightness in get_brightness Date: Sun, 24 Mar 2024 19:39:32 -0400 Message-ID: <20240324234027.1354210-185-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Luca Weiss [ Upstream commit 4bf7ddd2d2f0f8826f25f74c7eba4e2c323a1446 ] There's no need to set bl->props.brightness, the get_brightness function is just supposed to return the current brightness and not touch the struct. With that done we can also remove the 'goto out' and just return the value. Fixes: 0c2a665a648e ("backlight: add Backlight driver for lm3630 chip") Signed-off-by: Luca Weiss Reviewed-by: Daniel Thompson Link: https://lore.kernel.org/r/20240220-lm3630a-fixups-v1-2-9ca62f7e4a33@z= 3ntu.xyz Signed-off-by: Lee Jones Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/video/backlight/lm3630a_bl.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/video/backlight/lm3630a_bl.c b/drivers/video/backlight= /lm3630a_bl.c index 2aade66db3cf4..2134342c2c97d 100644 --- a/drivers/video/backlight/lm3630a_bl.c +++ b/drivers/video/backlight/lm3630a_bl.c @@ -229,7 +229,7 @@ static int lm3630a_bank_a_get_brightness(struct backlig= ht_device *bl) if (rval < 0) goto out_i2c_err; brightness |=3D rval; - goto out; + return brightness; } =20 /* disable sleep */ @@ -240,11 +240,8 @@ static int lm3630a_bank_a_get_brightness(struct backli= ght_device *bl) rval =3D lm3630a_read(pchip, REG_BRT_A); if (rval < 0) goto out_i2c_err; - brightness =3D rval; + return rval; =20 -out: - bl->props.brightness =3D brightness; - return bl->props.brightness; out_i2c_err: dev_err(pchip->dev, "i2c failed to access register\n"); return 0; @@ -306,7 +303,7 @@ static int lm3630a_bank_b_get_brightness(struct backlig= ht_device *bl) if (rval < 0) goto out_i2c_err; brightness |=3D rval; - goto out; + return brightness; } =20 /* disable sleep */ @@ -317,11 +314,8 @@ static int lm3630a_bank_b_get_brightness(struct backli= ght_device *bl) rval =3D lm3630a_read(pchip, REG_BRT_B); if (rval < 0) goto out_i2c_err; - brightness =3D rval; + return rval; =20 -out: - bl->props.brightness =3D brightness; - return bl->props.brightness; out_i2c_err: dev_err(pchip->dev, "i2c failed to access register\n"); return 0; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B0E217CF59; Sun, 24 Mar 2024 23:43:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323808; cv=none; b=gTthXcjy9piKcNC+csOITM9AGCfpDcpnB493qggMvNd0HRujydcZ9nT0iVfepBp7pPxeyXevm+xgO+t/l9yj5tV0uY3whQfl6m2Pr4miyiCLPMNfbVLgSVXPxXV8+eqmK+IXU13QuniDJ+UHQ0+/munR+k43C/TOnOUwe8D1GBo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323808; c=relaxed/simple; bh=3seKHVoN8/gBs3/qRcJQnELvobzcetvAIc5iZRBAZi0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f0NsW2OZuRZAj5+QFjl6FE0XoTrvwGU82aMTgGylbETI/JiL25Ual6XE1ZlblVCHNTYw3yNMFySNIagALr1e88rIT5YoNgHC7Zjo7E5eTjwx/2LVIoXjtcmOiYRLW0DMVK5VYktw50teXTuo1IL8KPCETNAF2smjeg/pPSVvfTs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=c2/LG0j6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="c2/LG0j6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 75EA7C433A6; Sun, 24 Mar 2024 23:43:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323807; bh=3seKHVoN8/gBs3/qRcJQnELvobzcetvAIc5iZRBAZi0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=c2/LG0j6kqMt77qnX4DZLavIBiGLyyFQRZY0MxGfCFqiRHvKanRlHfiJVzsl3is4N 0J2b+GHKgb1TYwfglhEjlFBn+7xEd8gqDbh6DOCe93E1sjvhIgLax5LkIFxNUTzTvX +Al6CcqRDuP/O5PSXDrpD2e2W0srrjqV3Ogx1XQPfuGbbUhQZdk/0kMAw05MPJwUC5 h+p802ZfDc6E3tb85Iq8FUPV0FIgvJr0tZuIxwf2+lYYV/MwYg/PYjEEJy69XW0bT3 +lU/PK1cWjYciI1ZELlxCHjZODbXBHQpbUTUFHp0trypsnYtmsU8Sgbb3hWePJXdq3 D/zi0WtHIpn5A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Daniel Thompson , Lee Jones , Sasha Levin Subject: [PATCH 5.10 185/238] backlight: da9052: Fully initialize backlight_properties during probe Date: Sun, 24 Mar 2024 19:39:33 -0400 Message-ID: <20240324234027.1354210-186-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Daniel Thompson [ Upstream commit 0285e9efaee8276305db5c52a59baf84e9731556 ] props is stack allocated and the fields that are not explcitly set by the probe function need to be zeroed or we'll get undefined behaviour (especially so power/blank states)! Fixes: 6ede3d832aaa ("backlight: add driver for DA9052/53 PMIC v1") Signed-off-by: Daniel Thompson Link: https://lore.kernel.org/r/20240220153532.76613-2-daniel.thompson@lina= ro.org Signed-off-by: Lee Jones Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/video/backlight/da9052_bl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/video/backlight/da9052_bl.c b/drivers/video/backlight/= da9052_bl.c index 882359dd288c0..aa00379392a0f 100644 --- a/drivers/video/backlight/da9052_bl.c +++ b/drivers/video/backlight/da9052_bl.c @@ -117,6 +117,7 @@ static int da9052_backlight_probe(struct platform_devic= e *pdev) wleds->led_reg =3D platform_get_device_id(pdev)->driver_data; wleds->state =3D DA9052_WLEDS_OFF; =20 + memset(&props, 0, sizeof(struct backlight_properties)); props.type =3D BACKLIGHT_RAW; props.max_brightness =3D DA9052_MAX_BRIGHTNESS; =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1F79917CF61; Sun, 24 Mar 2024 23:43:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323809; cv=none; b=UVg4K/hBX+gTZxON6jPvGiDYI1zXXKExMBR8M/VIxkKloD35eJib0spXDjJ2VRF/u2TOc+ohn+BAtPZ8qiOqkEfLMc+sHMjtVpnSJtQ13HddROIe5RPuXI/BebMfrmHmd9Ej6pygqEBXDsdG95+vbERgeGLnp/YnOGiFvbHZzhw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323809; c=relaxed/simple; bh=sEYKigNfaix1DXTkbduGtVqUs9Nej6EnPx1x34vReh0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CkCrNO2JyAAvA6EfHTuUFEJ0svS0MgkiF19bzbqcldzlnvXFqSysKZWPv0EJjY9b7KC9iZ8AG5JCyn8hhTFdWREIEtjjDDUmoWGrkaH2C9Jr+4+4dUu5WEaJWFZnkyQyO/GuipfC3dijUw8y1XVyF7GWiD/CrfDZEP29kV0zxvA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Au8W/fLx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Au8W/fLx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D47FC433C7; Sun, 24 Mar 2024 23:43:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323808; bh=sEYKigNfaix1DXTkbduGtVqUs9Nej6EnPx1x34vReh0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Au8W/fLxPcg6Wp5lvaQrL4K9BwNpW66nobnKL42lGBSGIhfEzGMIOWebXkYrLCdSf QfhXp9EEb03LuOj0C7j3ib8oT8tNHQdy+uoM/CnJat8jY4sbLwypltkz9dxdYsTV62 5fdvGlrx+8KYIepNpFgMLTO+OSX1JPoiOhmoA3XJ82EtWq2RXA3ei8oWw7aQa8QnnI EomQECbVbnkNhM8DJ8AHkW9MMoLsx6qX1ton+nkvmP9z9WeYK4QpNqHAiU6R+vMI2j APx8HLg23L9tIpdO1YuFH2jWkK4nQCU8hArXROmUWLXgbrDPg9qxzAfQrb6FhNqXxd DmnNeq+i3IOEg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Daniel Thompson , Lee Jones , Sasha Levin Subject: [PATCH 5.10 186/238] backlight: lm3639: Fully initialize backlight_properties during probe Date: Sun, 24 Mar 2024 19:39:34 -0400 Message-ID: <20240324234027.1354210-187-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Daniel Thompson [ Upstream commit abb5a5d951fbea3feb5c4ba179b89bb96a1d3462 ] props is stack allocated and the fields that are not explcitly set by the probe function need to be zeroed or we'll get undefined behaviour (especially so power/blank states)! Fixes: 0f59858d5119 ("backlight: add new lm3639 backlight driver") Signed-off-by: Daniel Thompson Link: https://lore.kernel.org/r/20240220153532.76613-3-daniel.thompson@lina= ro.org Signed-off-by: Lee Jones Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/video/backlight/lm3639_bl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/video/backlight/lm3639_bl.c b/drivers/video/backlight/= lm3639_bl.c index 48c04155a5f9d..bb617f4673e94 100644 --- a/drivers/video/backlight/lm3639_bl.c +++ b/drivers/video/backlight/lm3639_bl.c @@ -339,6 +339,7 @@ static int lm3639_probe(struct i2c_client *client, } =20 /* backlight */ + memset(&props, 0, sizeof(struct backlight_properties)); props.type =3D BACKLIGHT_RAW; props.brightness =3D pdata->init_brt_led; props.max_brightness =3D pdata->max_brt_led; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 00E6617CF5E; Sun, 24 Mar 2024 23:43:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323809; cv=none; b=iVyykKCy7RfbWt+t7qRQD3VMA9xlWHhfm0sFnkmYdygrhW6v6GJbzl0C0OoIdFaAd35Fp4eBHzKl9Nwc/0H+utXCa4he0Vw1BPOB9Hz+cu4Ots7VkPGQIuijeSs7IoDVdJV3X/Hm7dRGpbYWl6FaSllEEkm3QFzAw7/HCoILiXg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323809; c=relaxed/simple; bh=LYhPIjMpKEPwiaOA5bQCN6S1WNeGsEIjM6B9l315d1c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=F/xWZqu+xajfOxLtEJws7q5a9unvqFplwY87VIfslLCG2Pp7U2yhpXuxiEK/XfGG4T3CeuXWcftj1KTavF/BAKMYLp3d08EE8kkBq6oodiZ/itAaZmV1giecP+hINsI6lnfvGS0EW/d+w7LmzB8cDbIxeRe80ghudidQyEizdvo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BgGadleE; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BgGadleE" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 43B86C433F1; Sun, 24 Mar 2024 23:43:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323808; bh=LYhPIjMpKEPwiaOA5bQCN6S1WNeGsEIjM6B9l315d1c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BgGadleEUqV1I8C9HRERFC9+BcsS5f3quA4iIZjfNTnmgMQPQECN2SAOix/yU2/fL zNw99L1cpvbfaSxBIIT/Vc8SkgUYfyZTVbEXQ7g/B/2VPtcotEeT4iH1S8WZoU7cbY kwzIKbiGYKeuxbvryHJA6K/bQmVF1qFUh8CuqwocP3GjOdJ4rHOPnEltZbBb2ZJsSv 5OZGExUATYEBd1Oi93Myn2OhGs0OLNHnxtL0jDDKHP5wO8rk0f0keWL3LMcU8vIXdg rx2lO/DriFAPHEcraQKwC7I9NFTm7Y6flisfnR4wlUq2BWppupPw8Ik1J1t/QMM6dT In1dPzNqLIB/g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Daniel Thompson , Lee Jones , Sasha Levin Subject: [PATCH 5.10 187/238] backlight: lp8788: Fully initialize backlight_properties during probe Date: Sun, 24 Mar 2024 19:39:35 -0400 Message-ID: <20240324234027.1354210-188-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Daniel Thompson [ Upstream commit 392346827fbe8a7fd573dfb145170d7949f639a6 ] props is stack allocated and the fields that are not explcitly set by the probe function need to be zeroed or we'll get undefined behaviour (especially so power/blank states)! Fixes: c5a51053cf3b ("backlight: add new lp8788 backlight driver") Signed-off-by: Daniel Thompson Link: https://lore.kernel.org/r/20240220153532.76613-4-daniel.thompson@lina= ro.org Signed-off-by: Lee Jones Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/video/backlight/lp8788_bl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/video/backlight/lp8788_bl.c b/drivers/video/backlight/= lp8788_bl.c index ba42f3fe0c739..d9b95dbd40d30 100644 --- a/drivers/video/backlight/lp8788_bl.c +++ b/drivers/video/backlight/lp8788_bl.c @@ -191,6 +191,7 @@ static int lp8788_backlight_register(struct lp8788_bl *= bl) int init_brt; char *name; =20 + memset(&props, 0, sizeof(struct backlight_properties)); props.type =3D BACKLIGHT_PLATFORM; props.max_brightness =3D MAX_BRIGHTNESS; =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F246817CF65; Sun, 24 Mar 2024 23:43:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323810; cv=none; b=C4ZyWrbMQ/q72dcCeOlGpR3Nf/AK8L4VJz+Ow8MciNEu6B63IMfnb/vjHNAW+W4q/nYfn3GHlL+pgBy7DLMIBpJQP63LdBou9VfINC/CsktFl1KedRl4Q7WKIPKr7HWPTEiBqK1Jv7bIwTqZq73TLW/ECf1wdmezwEPGY2re9+A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323810; c=relaxed/simple; bh=jmfwr9b4WGqYyhKL2RJ0GcThkXvWGfJ4utHVDz5KbWM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sqz6xAblajpYU0CZagMmnmMyd7nQ9bECKlPoZ0Z8kXdWuNdTWOBYirIhPRZRMMoqm9LJegaaISDLXbEOPUOU3wz8b3jKKn5hgmgbuglVzaRKSI4XGURcKw+YC6y+UCF/JizK0nFYM9NFNtBgjkf9H+hwv9HpOnUMUfiksc2C1zk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IAxfDj0L; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IAxfDj0L" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 258B4C43390; Sun, 24 Mar 2024 23:43:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323809; bh=jmfwr9b4WGqYyhKL2RJ0GcThkXvWGfJ4utHVDz5KbWM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IAxfDj0Lw9zUYXselNFbt/IAo6PnzDmfUZjlah7yCpt6eC/c4OIF/Z17SVWnUyI6V AJ5MnvVkYPPlMBXDAJJb755nM/9bQ6WZ/gSr4oyglgtLjDQsuEFaJBTl03d9Qb1U+E KZB40zYrIcmexaGJTa8HQG3pAnHtAZ19pa+26NHU21BoAd/ThhacLlQau+rARb59id Jy1cmCcevfcDUC4UoHdvWeu6ebAjU8fnGJXwkOjC0YcKxboD+z4JvMti5dMiV23YD2 4/ZnobaoRD5cZOsjIM5akDFTcn/EN1psHsXCHXoCsGIohenBOk0oBV3XNM1p0r0ED7 2bI68kQiWtlmw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Thomas Zimmermann , Jani Nikula , Michael Ellerman , Sasha Levin Subject: [PATCH 5.10 188/238] arch/powerpc: Remove from backlight code Date: Sun, 24 Mar 2024 19:39:36 -0400 Message-ID: <20240324234027.1354210-189-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Thomas Zimmermann [ Upstream commit 838f865802b9f26135ea7df4e30f89ac2f50c23e ] Replace with a forward declaration in to resolve an unnecessary dependency. Remove pmac_backlight_curve_lookup() and struct fb_info from source and header files. The function and the framebuffer struct are unused. No functional changes. v3: * Add Fixes tag (Christophe) * fix typos in commit message (Jani) Signed-off-by: Thomas Zimmermann Fixes: d565dd3b0824 ("[PATCH] powerpc: More via-pmu backlight fixes") Reviewed-by: Jani Nikula Acked-by: Michael Ellerman # (powerpc) Link: https://patchwork.freedesktop.org/patch/msgid/20240306122935.10626-4-= tzimmermann@suse.de Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/powerpc/include/asm/backlight.h | 5 ++-- arch/powerpc/platforms/powermac/backlight.c | 26 --------------------- 2 files changed, 2 insertions(+), 29 deletions(-) diff --git a/arch/powerpc/include/asm/backlight.h b/arch/powerpc/include/as= m/backlight.h index 1b5eab62ed047..061a910d74929 100644 --- a/arch/powerpc/include/asm/backlight.h +++ b/arch/powerpc/include/asm/backlight.h @@ -10,15 +10,14 @@ #define __ASM_POWERPC_BACKLIGHT_H #ifdef __KERNEL__ =20 -#include #include =20 +struct backlight_device; + /* For locking instructions, see the implementation file */ extern struct backlight_device *pmac_backlight; extern struct mutex pmac_backlight_mutex; =20 -extern int pmac_backlight_curve_lookup(struct fb_info *info, int value); - extern int pmac_has_backlight_type(const char *type); =20 extern void pmac_backlight_key(int direction); diff --git a/arch/powerpc/platforms/powermac/backlight.c b/arch/powerpc/pla= tforms/powermac/backlight.c index 32224cb489d75..eab339d2059d5 100644 --- a/arch/powerpc/platforms/powermac/backlight.c +++ b/arch/powerpc/platforms/powermac/backlight.c @@ -9,7 +9,6 @@ */ =20 #include -#include #include #include #include @@ -73,31 +72,6 @@ int pmac_has_backlight_type(const char *type) return 0; } =20 -int pmac_backlight_curve_lookup(struct fb_info *info, int value) -{ - int level =3D (FB_BACKLIGHT_LEVELS - 1); - - if (info && info->bl_dev) { - int i, max =3D 0; - - /* Look for biggest value */ - for (i =3D 0; i < FB_BACKLIGHT_LEVELS; i++) - max =3D max((int)info->bl_curve[i], max); - - /* Look for nearest value */ - for (i =3D 0; i < FB_BACKLIGHT_LEVELS; i++) { - int diff =3D abs(info->bl_curve[i] - value); - if (diff < max) { - max =3D diff; - level =3D i; - } - } - - } - - return level; -} - static void pmac_backlight_key_worker(struct work_struct *work) { if (atomic_read(&kernel_backlight_disabled)) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 172AB17CF66; Sun, 24 Mar 2024 23:43:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323812; cv=none; b=USgOp7aIzIoziSObBooXnS/F7a4Tb9EpXu3rck+hWaY1cdpBj9xWRAql9NbxafPnn/trYyqU3ItzyGDm1rZJr7kvdqTnoO2T1uQTwbt5LMpHVbHuh/5YW2NIdyMD+W6gcbZJI8hnzvpdM6OgdwrD9MDOVhD0bLdxsNLF2JIgq5g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323812; c=relaxed/simple; bh=qUsKLSR4/2S+QJrOFojeB/hmcUgRxhpYTpV7hOoNmWw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SkJMFTR7cZZpnDDeA8SowVvZBHHTX2JsZ5RnVZL4vCTSOYSI3IO0mqmxIf3r/Thn0uWBrbKeZTw1u28rB8dHlpgH/lhoaa7sBtWb5DAPcAU4ixiD1IfoUP3P3B1njn9p+1ovaMDzsqlMRoXXMnhyW43IVfv1Ef+Ll4YXoNcVMWM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BWspW62/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BWspW62/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 20E20C433F1; Sun, 24 Mar 2024 23:43:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323810; bh=qUsKLSR4/2S+QJrOFojeB/hmcUgRxhpYTpV7hOoNmWw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BWspW62/9jPKmLFR/Fj6OUBNLQnDyiJv6UAQZmwK126v1B05LF/lPAYSmoh3RfF3F GvZhUV4ZhpT1LFHh1m7OQlwcFCCrILIhmmWdfUu4GxQeNc6A1e7PS7iePowmqN3ExA Swvaesx3K2AMutIcW7HpzA1QoGD8Ot4l7OX1JYXLJTkrdaWGKnNWdRJw7deNnQgwrr HWaF4oNBbCY7xH9uAceJHW3TWO4xw+v44iJXCKt+t9mPZLN6vds4tgstySEKYrw1Zn BziYX2ORZ0hDs1dtGkZ0NXcLIjjdUvEl9BmALUpky/PfKp6UMIb/AVLNGJXjmu/lkq ykQBJ/zChg6rQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Sam Ravnborg , "David S. Miller" , Andreas Larsson , Randy Dunlap , Sasha Levin Subject: [PATCH 5.10 189/238] sparc32: Fix section mismatch in leon_pci_grpci Date: Sun, 24 Mar 2024 19:39:37 -0400 Message-ID: <20240324234027.1354210-190-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Sam Ravnborg [ Upstream commit 24338a6ae13cb743ced77da1b3a12c83f08a0c96 ] Passing a datastructre marked _initconst to platform_driver_register() is wrong. Drop the __initconst notation. This fixes the following warnings: WARNING: modpost: vmlinux: section mismatch in reference: grpci1_of_driver+= 0x30 (section: .data) -> grpci1_of_match (section: .init.rodata) WARNING: modpost: vmlinux: section mismatch in reference: grpci2_of_driver+= 0x30 (section: .data) -> grpci2_of_match (section: .init.rodata) Signed-off-by: Sam Ravnborg Cc: "David S. Miller" Cc: Andreas Larsson Fixes: 4154bb821f0b ("sparc: leon: grpci1: constify of_device_id") Fixes: 03949b1cb9f1 ("sparc: leon: grpci2: constify of_device_id") Tested-by: Randy Dunlap # build-tested Reviewed-by: Andreas Larsson Tested-by: Andreas Larsson Signed-off-by: Andreas Larsson Link: https://lore.kernel.org/r/20240224-sam-fix-sparc32-all-builds-v2-7-1f= 186603c5c4@ravnborg.org Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/sparc/kernel/leon_pci_grpci1.c | 2 +- arch/sparc/kernel/leon_pci_grpci2.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/sparc/kernel/leon_pci_grpci1.c b/arch/sparc/kernel/leon_p= ci_grpci1.c index e6935d0ac1ec9..c32590bdd3120 100644 --- a/arch/sparc/kernel/leon_pci_grpci1.c +++ b/arch/sparc/kernel/leon_pci_grpci1.c @@ -696,7 +696,7 @@ static int grpci1_of_probe(struct platform_device *ofde= v) return err; } =20 -static const struct of_device_id grpci1_of_match[] __initconst =3D { +static const struct of_device_id grpci1_of_match[] =3D { { .name =3D "GAISLER_PCIFBRG", }, diff --git a/arch/sparc/kernel/leon_pci_grpci2.c b/arch/sparc/kernel/leon_p= ci_grpci2.c index ca22f93d90454..dd06abc61657f 100644 --- a/arch/sparc/kernel/leon_pci_grpci2.c +++ b/arch/sparc/kernel/leon_pci_grpci2.c @@ -887,7 +887,7 @@ static int grpci2_of_probe(struct platform_device *ofde= v) return err; } =20 -static const struct of_device_id grpci2_of_match[] __initconst =3D { +static const struct of_device_id grpci2_of_match[] =3D { { .name =3D "GAISLER_GRPCI2", }, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EB2E417CF62; Sun, 24 Mar 2024 23:43:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323812; cv=none; b=oZlGZmxjAyOk5T3R5ZLOKVntxYKrQxbPffZyuZnCHCJnF2oNCASZNG1ZUw7RbX/UkOIx2cRjGBOmklCmWrnedQeV23s5WAKF7HwSwzkzxUBxvXfkPn1wj6e/efVjubrAJkBj6GRNCRdEBOAZLvQPBDMQ4qdTNnFfrNRSrQME3u0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323812; c=relaxed/simple; bh=c11w0jzUesCGbhTP5ywTHIqFThlwXA1KhgSKdpQ7Dq8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l5MpuEv2Z19H3yZSXTaIgluoeASk9ELXyOpfku5aNgt5bQ4wEVAOkrO1pYVLueRjedFq0Wm29SryGEZCqsgLfd1yFw44rX84F7iKIi1JBUwWeJXtW6E6NTp9wAQh8WHLnD/cDeovO9xw66xd0xdYNyYRkWxsxqxWOdYQNYn8bsg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ahdN6Q4i; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ahdN6Q4i" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 34203C433C7; Sun, 24 Mar 2024 23:43:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323811; bh=c11w0jzUesCGbhTP5ywTHIqFThlwXA1KhgSKdpQ7Dq8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ahdN6Q4itJe8ZqizwOqIxSJ1aa8MLBflVzQRIz2oXOzCVfFFWumJlnYPSf/BFIk68 fDxlT8CqX6LVU/5F1wRCTkYZG/DNAAS8TsQPzyjcf8Fh7D9xSe/nybQnGGBWMbh+sd ahaQ3wlapafgS62nJpCeF9NEiOJsP8QlXulR+gD3jIk/SqmfMbOMViG9AFE0bLch1w 9XWzDWZdw5JAimqeY8WnXOSkWFwPtW52MOAi9KDJOPjqhmOAam582uMUe1fCuJgro3 2L2tV7VrYUXSkmiSUIxZr7selLRCiLXmYa+9/5d+GSYfvHacrl4NvP0ndCuETIFZEd wG6vduBCI3GAw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Bryan O'Donoghue , Stephen Boyd , Sasha Levin Subject: [PATCH 5.10 190/238] clk: Fix clk_core_get NULL dereference Date: Sun, 24 Mar 2024 19:39:38 -0400 Message-ID: <20240324234027.1354210-191-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bryan O'Donoghue [ Upstream commit e97fe4901e0f59a0bfd524578fe3768f8ca42428 ] It is possible for clk_core_get to dereference a NULL in the following sequence: clk_core_get() of_clk_get_hw_from_clkspec() __of_clk_get_hw_from_provider() __clk_get_hw() __clk_get_hw() can return NULL which is dereferenced by clk_core_get() at hw->core. Prior to commit dde4eff47c82 ("clk: Look for parents with clkdev based clk_lookups") the check IS_ERR_OR_NULL() was performed which would have caught the NULL. Reading the description of this function it talks about returning NULL but that cannot be so at the moment. Update the function to check for hw before dereferencing it and return NULL if hw is NULL. Fixes: dde4eff47c82 ("clk: Look for parents with clkdev based clk_lookups") Signed-off-by: Bryan O'Donoghue Link: https://lore.kernel.org/r/20240302-linux-next-24-03-01-simple-clock-f= ixes-v1-1-25f348a5982b@linaro.org Signed-off-by: Stephen Boyd Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/clk/clk.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 62572d59e7e38..aa2f1f8aa2994 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -425,6 +425,9 @@ static struct clk_core *clk_core_get(struct clk_core *c= ore, u8 p_index) if (IS_ERR(hw)) return ERR_CAST(hw); =20 + if (!hw) + return NULL; + return hw->core; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF08117CF7D; Sun, 24 Mar 2024 23:43:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323813; cv=none; b=J78edYiuaxa6Ooly8ChahTQrTV5pPA++l0tVXJT+b2VgpZG2y01EPEXilAS99+6mvLEG/xSdBohWuN13W74P9HXF2SBHwrNkgykk6c5gC+4BQK4L/vX1MZWxmChoZSejJWHp4KK9NDk8xK6JuDdCFALGhVdjB1K5SJaiy3jUKlE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323813; c=relaxed/simple; bh=jdNPjvbUTVDI5UuZ6uMemDiRpUz7brAsiwoU0tw9pzs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Zny15JG37FtLIhVBo796cMXymyAIM7/0dmtMKuxbfI+8g6KBswXdjJ62gSdilSZAJ9pzRH/+Z5SO5pqUe86cBmWOMz65tH3jpqacFfHg93xVTjtMo82g2IkDIkfSbPrdq7b49BnUHkH07Rp3bRx0HoVz82hcZscfGGGibTcvFeQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AxTGXDvJ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AxTGXDvJ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1A2D9C433B1; Sun, 24 Mar 2024 23:43:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323812; bh=jdNPjvbUTVDI5UuZ6uMemDiRpUz7brAsiwoU0tw9pzs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AxTGXDvJg6CDNF5N7Rpezqtodd5BslV0pUI4/TViFHcZaHhTd8mOaaALTHxgtU8SV YRsl5FIflCUFdfc0ONp988YYYaLB5NnLXBHrtpiLGKbpGjFlLJy5UhNQXNSR14xQSl hk3NffJYt2qKqiPo6yUxA3HPcpbZWcz4pTjaIaDchPmkPCYE8TPhF1iDI2QiVKsDbI sgh0o+u8T8cO4FokqSfakfmIkblFX+UeB8AEtVzJnt4zGzVWwaoISqytEw4YNqnv5U kwhgqAlM631jcQ8u8+FhWyjlV2FW8ajZqpuuhmM10ge7kUlB54KQbvutLWMkGmrtbw L5NMDDeel66iQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Athaariq Ardhiansyah , Takashi Iwai , Sasha Levin Subject: [PATCH 5.10 191/238] ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops Date: Sun, 24 Mar 2024 19:39:39 -0400 Message-ID: <20240324234027.1354210-192-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Athaariq Ardhiansyah [ Upstream commit c062166995c9e57d5cd508b332898f79da319802 ] Realtek codec on HP Envy laptop series are heavily modified by vendor. Therefore, need intervention to make it work properly. The patch fixes: - B&O soundbar speakers (between lid and keyboard) activation - Enable LED on mute button - Add missing process coefficient which affects the output amplifier - Volume control synchronization between B&O soundbar and side speakers - Unmute headset output on several HP Envy models - Auto-enable headset mic when plugged This patch was tested on HP Envy x360 13-AR0107AU with Realtek ALC285 The only unsolved problem is output amplifier of all built-in speakers is too weak, which causes volume of built-in speakers cannot be loud as vendor's proprietary driver due to missing _DSD parameter in the firmware. The solution is currently on research. Expected to has another patch in the future. Potential fix to related issues, need test before close those issues: - https://bugzilla.kernel.org/show_bug.cgi?id=3D189331 - https://bugzilla.kernel.org/show_bug.cgi?id=3D216632 - https://bugzilla.kernel.org/show_bug.cgi?id=3D216311 - https://bugzilla.kernel.org/show_bug.cgi?id=3D213507 Signed-off-by: Athaariq Ardhiansyah Message-ID: <20240310140249.3695-1-foss@athaariq.my.id> Signed-off-by: Takashi Iwai Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/pci/hda/patch_realtek.c | 63 +++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 233449d982370..038837481c27c 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -6612,6 +6612,60 @@ static void alc285_fixup_hp_spectre_x360(struct hda_= codec *codec, } } =20 +static void alc285_fixup_hp_envy_x360(struct hda_codec *codec, + const struct hda_fixup *fix, + int action) +{ + static const struct coef_fw coefs[] =3D { + WRITE_COEF(0x08, 0x6a0c), WRITE_COEF(0x0d, 0xa023), + WRITE_COEF(0x10, 0x0320), WRITE_COEF(0x1a, 0x8c03), + WRITE_COEF(0x25, 0x1800), WRITE_COEF(0x26, 0x003a), + WRITE_COEF(0x28, 0x1dfe), WRITE_COEF(0x29, 0xb014), + WRITE_COEF(0x2b, 0x1dfe), WRITE_COEF(0x37, 0xfe15), + WRITE_COEF(0x38, 0x7909), WRITE_COEF(0x45, 0xd489), + WRITE_COEF(0x46, 0x00f4), WRITE_COEF(0x4a, 0x21e0), + WRITE_COEF(0x66, 0x03f0), WRITE_COEF(0x67, 0x1000), + WRITE_COEF(0x6e, 0x1005), { } + }; + + static const struct hda_pintbl pincfgs[] =3D { + { 0x12, 0xb7a60130 }, /* Internal microphone*/ + { 0x14, 0x90170150 }, /* B&O soundbar speakers */ + { 0x17, 0x90170153 }, /* Side speakers */ + { 0x19, 0x03a11040 }, /* Headset microphone */ + { } + }; + + switch (action) { + case HDA_FIXUP_ACT_PRE_PROBE: + snd_hda_apply_pincfgs(codec, pincfgs); + + /* Fixes volume control problem for side speakers */ + alc295_fixup_disable_dac3(codec, fix, action); + + /* Fixes no sound from headset speaker */ + snd_hda_codec_amp_stereo(codec, 0x21, HDA_OUTPUT, 0, -1, 0); + + /* Auto-enable headset mic when plugged */ + snd_hda_jack_set_gating_jack(codec, 0x19, 0x21); + + /* Headset mic volume enhancement */ + snd_hda_codec_set_pin_target(codec, 0x19, PIN_VREF50); + break; + case HDA_FIXUP_ACT_INIT: + alc_process_coef_fw(codec, coefs); + break; + case HDA_FIXUP_ACT_BUILD: + rename_ctl(codec, "Bass Speaker Playback Volume", + "B&O-Tuned Playback Volume"); + rename_ctl(codec, "Front Playback Switch", + "B&O Soundbar Playback Switch"); + rename_ctl(codec, "Bass Speaker Playback Switch", + "Side Speaker Playback Switch"); + break; + } +} + /* for hda_fixup_thinkpad_acpi() */ #include "thinkpad_helper.c" =20 @@ -6819,6 +6873,7 @@ enum { ALC280_FIXUP_HP_9480M, ALC245_FIXUP_HP_X360_AMP, ALC285_FIXUP_HP_SPECTRE_X360_EB1, + ALC285_FIXUP_HP_ENVY_X360, ALC288_FIXUP_DELL_HEADSET_MODE, ALC288_FIXUP_DELL1_MIC_NO_PRESENCE, ALC288_FIXUP_DELL_XPS_13, @@ -8614,6 +8669,12 @@ static const struct hda_fixup alc269_fixups[] =3D { .type =3D HDA_FIXUP_FUNC, .v.func =3D alc285_fixup_hp_spectre_x360_eb1 }, + [ALC285_FIXUP_HP_ENVY_X360] =3D { + .type =3D HDA_FIXUP_FUNC, + .v.func =3D alc285_fixup_hp_envy_x360, + .chained =3D true, + .chain_id =3D ALC285_FIXUP_HP_GPIO_AMP_INIT, + }, [ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP] =3D { .type =3D HDA_FIXUP_FUNC, .v.func =3D alc285_fixup_ideapad_s740_coef, @@ -9001,6 +9062,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = =3D { SND_PCI_QUIRK(0x103c, 0x84e7, "HP Pavilion 15", ALC269_FIXUP_HP_MUTE_LED_= MIC3), SND_PCI_QUIRK(0x103c, 0x8519, "HP Spectre x360 15-df0xxx", ALC285_FIXUP_H= P_SPECTRE_X360), SND_PCI_QUIRK(0x103c, 0x8537, "HP ProBook 440 G6", ALC236_FIXUP_HP_MUTE_L= ED_MICMUTE_VREF), + SND_PCI_QUIRK(0x103c, 0x85de, "HP Envy x360 13-ar0xxx", ALC285_FIXUP_HP_E= NVY_X360), SND_PCI_QUIRK(0x103c, 0x860f, "HP ZBook 15 G6", ALC285_FIXUP_HP_GPIO_AMP_= INIT), SND_PCI_QUIRK(0x103c, 0x861f, "HP Elite Dragonfly G1", ALC285_FIXUP_HP_GP= IO_AMP_INIT), SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED), @@ -9517,6 +9579,7 @@ static const struct hda_model_fixup alc269_fixup_mode= ls[] =3D { {.id =3D ALC295_FIXUP_HP_OMEN, .name =3D "alc295-hp-omen"}, {.id =3D ALC285_FIXUP_HP_SPECTRE_X360, .name =3D "alc285-hp-spectre-x360"= }, {.id =3D ALC285_FIXUP_HP_SPECTRE_X360_EB1, .name =3D "alc285-hp-spectre-x= 360-eb1"}, + {.id =3D ALC285_FIXUP_HP_ENVY_X360, .name =3D "alc285-hp-envy-x360"}, {.id =3D ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP, .name =3D "alc287-ideapad-bas= s-spk-amp"}, {.id =3D ALC623_FIXUP_LENOVO_THINKSTATION_P340, .name =3D "alc623-lenovo-= thinkstation-p340"}, {.id =3D ALC255_FIXUP_ACER_HEADPHONE_AND_MIC, .name =3D "alc255-acer-head= phone-and-mic"}, --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B426C17CF75; Sun, 24 Mar 2024 23:43:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323814; cv=none; b=PGdWyLRl+3JLUe3/R6BwwprOk8goT6vOyGQiygDefZmNK7/zTOE9EUDQUUgtHLFi4R1D3y6Iqw0DHhONzqQGBM6SWmV2LyBuzc2t0ECTK2hZdYe06iC/tgPNKVCsIq5DyC6wCQkukPYLvnrowBmMOaFhikFY1XHsyi/5yd8dSLY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323814; c=relaxed/simple; bh=L3pOOBB702mTdXQE+rDjJWlUh+W+fmnwUarJWQgscLM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kwauqV/kXXSSgzh2E53iPBp5l0Fpmv3slqr2+8Q2ZaX47xmEZiWp8js+V6xd5bP6uPv6akMqk5+FgTF7hfME1YFLnmcQgqDHK5mWmLGlNjJh9llvh59pYRdu8B3f8RZ/KG7vxWvaEYu1F53xpUqqF6qeC/9jN5EnChD76b8eMW8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dASX9/SU; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dASX9/SU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F1AE3C43390; Sun, 24 Mar 2024 23:43:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323813; bh=L3pOOBB702mTdXQE+rDjJWlUh+W+fmnwUarJWQgscLM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dASX9/SUc1OUSpNdcge7+h1/N3jHvwKewMTbNi3FARRuvs5p43k9551IMxwcYuijg TC/buvW1IZzHLHkt6smEY0C0EMn59BKLQ/5tcNVXuqcw+so0iF2SVWucp/80BC7mWO GjdAQe7Dd9PI3zt2VxBnyMUBWAXdySU7dHW0oXQLktIqhfsJylIpcf3X+6n4nyx+Rt qxv/n3hxwiSI6K4/kNupkKiVLlEmXn0yHd8JwcoVO1/wi9yLuPMAkHRQaKsxTIRpwt BAC5HWS0Bao+AnZq1cSJS/hby1ORo5k+bWD79fTrN2kUxN0D/UvP+I88xJwuIVmkB4 iP2xSWoaK0LcQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Johan Carlsson , Takashi Iwai , Sasha Levin Subject: [PATCH 5.10 192/238] ALSA: usb-audio: Stop parsing channels bits when all channels are found. Date: Sun, 24 Mar 2024 19:39:40 -0400 Message-ID: <20240324234027.1354210-193-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Johan Carlsson [ Upstream commit a39d51ff1f52cd0b6fe7d379ac93bd8b4237d1b7 ] If a usb audio device sets more bits than the amount of channels it could write outside of the map array. Signed-off-by: Johan Carlsson Fixes: 04324ccc75f9 ("ALSA: usb-audio: add channel map support") Message-ID: <20240313081509.9801-1-johan.carlsson@teenage.engineering> Signed-off-by: Takashi Iwai Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- sound/usb/stream.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/sound/usb/stream.c b/sound/usb/stream.c index c4f4585f9b851..f51e901a9689e 100644 --- a/sound/usb/stream.c +++ b/sound/usb/stream.c @@ -301,9 +301,12 @@ static struct snd_pcm_chmap_elem *convert_chmap(int ch= annels, unsigned int bits, c =3D 0; =20 if (bits) { - for (; bits && *maps; maps++, bits >>=3D 1) + for (; bits && *maps; maps++, bits >>=3D 1) { if (bits & 1) chmap->map[c++] =3D *maps; + if (c =3D=3D chmap->channels) + break; + } } else { /* If we're missing wChannelConfig, then guess something to make sure the channel map is not skipped entirely */ --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B61B25C8EE; Sun, 24 Mar 2024 23:43:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323815; cv=none; b=PFrv1lMyVYOvL7ygDnSrBVOlt3oKNBCxroiSs0ZmnlmK02Nl47YeTvNHcyDfSk30zJvB2Ndk7tGP7olH39st7tRgCBapCue/zpwfnF6BAOODo5xiBf8BmtMcZyX0hBwAPGph9bPeOHwex4qfFwtcM+EgNqGdHkpDj+xZ72Rnz1U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323815; c=relaxed/simple; bh=5Vvzadg7BRa7CY/F9uhxQqP4Lu/caTEExk1oVFIzAaA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kjGl8Wy+0dNPzVr1812UDym5x2E7bStUL8yZ0ZDha9CWXP4bjnj4BToxRpnbP1NnIUQ2HPpOjAzqDC1ZvU3EeB5g3sEN3Y84Uq59ULzGjBvtCTQnWOuXdL0hB6Rd0IlYsJ7ZmflQoRgpD4lVC7/Yb1fiOarx8yXnyXrqJ5XQFpU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AaKYjLSB; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AaKYjLSB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D81B6C43399; Sun, 24 Mar 2024 23:43:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323814; bh=5Vvzadg7BRa7CY/F9uhxQqP4Lu/caTEExk1oVFIzAaA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AaKYjLSBJF7tExBGOQp2SoOEs0BXoLzMLRs7utQaRbdb+w01NuUsNs+4spRGmXZ+4 y0Vc8gFqR3Rv3ozqLUy7ZsLUtv4eOKepMy6VhExNnFFo7RWGhdQTLbhrjRKv04dbjF b4eY1ODDWvUFHyBt/Nk0n92LgbSWeA/x6DeEIlA9q7iiswGCDuyCjtsL9g+OSbOzPy Z/hbpmdUeC1GX8SRDHHNloMHWfeqi//Qqy/1IZ411zXmGfEwyEBv/tDKaDj+En5s1B tzHcFwpwh3Cj6m9I0aTHbQ5lYMeiu8sLRRnjRjBPQV/yrO4t5yDCwkerrjgqM2MRa5 dNq/4zKKAEOHQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: William Kucharski , Bart Van Assche , Leon Romanovsky , Sasha Levin Subject: [PATCH 5.10 193/238] RDMA/srpt: Do not register event handler until srpt device is fully setup Date: Sun, 24 Mar 2024 19:39:41 -0400 Message-ID: <20240324234027.1354210-194-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: William Kucharski [ Upstream commit c21a8870c98611e8f892511825c9607f1e2cd456 ] Upon rare occasions, KASAN reports a use-after-free Write in srpt_refresh_port(). This seems to be because an event handler is registered before the srpt device is fully setup and a race condition upon error may leave a partially setup event handler in place. Instead, only register the event handler after srpt device initialization is complete. Fixes: a42d985bd5b2 ("ib_srpt: Initial SRP Target merge for v3.3-rc1") Signed-off-by: William Kucharski Link: https://lore.kernel.org/r/20240202091549.991784-2-william.kucharski@o= racle.com Reviewed-by: Bart Van Assche Signed-off-by: Leon Romanovsky Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/infiniband/ulp/srpt/ib_srpt.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp= /srpt/ib_srpt.c index 41abf9cf11c67..960f870a952a5 100644 --- a/drivers/infiniband/ulp/srpt/ib_srpt.c +++ b/drivers/infiniband/ulp/srpt/ib_srpt.c @@ -3205,7 +3205,6 @@ static int srpt_add_one(struct ib_device *device) =20 INIT_IB_EVENT_HANDLER(&sdev->event_handler, sdev->device, srpt_event_handler); - ib_register_event_handler(&sdev->event_handler); =20 for (i =3D 1; i <=3D sdev->device->phys_port_cnt; i++) { sport =3D &sdev->port[i - 1]; @@ -3228,6 +3227,7 @@ static int srpt_add_one(struct ib_device *device) } } =20 + ib_register_event_handler(&sdev->event_handler); spin_lock(&srpt_dev_lock); list_add_tail(&sdev->list, &srpt_dev_list); spin_unlock(&srpt_dev_lock); @@ -3238,7 +3238,6 @@ static int srpt_add_one(struct ib_device *device) =20 err_port: srpt_unregister_mad_agent(sdev, i); - ib_unregister_event_handler(&sdev->event_handler); err_cm: if (sdev->cm_id) ib_destroy_cm_id(sdev->cm_id); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AD5455C8EC; Sun, 24 Mar 2024 23:43:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323815; cv=none; b=WYlt9WmCVuthVCl8b51DUBLC7RJVi2Dx7fm5t9SAV9TULDb6rrj1ZcAKTUt2PTR4f/ajatkSs+fdDgHQzEu4lKFFOmRzoWaGUBhwPhHsJ9bAmjS/yvy6HqpVtDBDFC9vboQ5gfIt2mwjF1fftA/LPEFIacDNx10YX9YKKhz7Hp8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323815; c=relaxed/simple; bh=lWPRf6moaMYWz9EKtqw8AWmfhvGPBVr8HEaPz5qWn1s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZZE9nudWYpaYaEUOCx9j5prnR+7oMOuPlNn9W96+j/W+od2EHu4E7/+nV/l0Rn+trcpJvn/Wh5A83G6VLqvjx3pcYOI8V0O0G1cWTcUt+knQz1NVuYUvS3ReFKid4cUvvQUzvFApjP3XlvGrs/OvNiXfDH2kYgU/VReCRilaMRo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RDv/P/6p; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="RDv/P/6p" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2AD1C433A6; Sun, 24 Mar 2024 23:43:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323815; bh=lWPRf6moaMYWz9EKtqw8AWmfhvGPBVr8HEaPz5qWn1s=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RDv/P/6prcxRUx+On7caPpCexDyJm63gcd+38FeIr1P26tFUUp2R7n6WOLyyRJFeN bmsmh9GtYB/wZVVhh4XqD4rYLuAoS6cJE7Bj/x6nEVezc4gfOB8I+YtYoKGR0Li+Xx otBjOMEK7GkOcpoYpzBg7kieYCD04TqZjryJcAo4SEM12Aifp4EIRVUF5xJ6peumDn uHy1cy3IeaL85Fyfi60t+VwGSQM6GeQgADkuCcmKWLW5u7Q6Lrv29nNDmS9qbrjeEh OQHz8+LFF0751b4EUBSJt17KHB3cz1zWWYKOrAO9+cFJz2U3Abcly4hC/Ygd+RanqF qvKUcDMVgzbpg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Sheng Yong , Chao Yu , Jaegeuk Kim , Sasha Levin Subject: [PATCH 5.10 194/238] f2fs: compress: fix to check unreleased compressed cluster Date: Sun, 24 Mar 2024 19:39:42 -0400 Message-ID: <20240324234027.1354210-195-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Sheng Yong [ Upstream commit eb8fbaa53374e0a2d4381190abfe708481517bbb ] Compressed cluster may not be released due to we can fail in release_compress_blocks(), fix to handle reserved compressed cluster correctly in reserve_compress_blocks(). Fixes: 4c8ff7095bef ("f2fs: support data compression") Signed-off-by: Sheng Yong Signed-off-by: Chao Yu Signed-off-by: Jaegeuk Kim Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/f2fs/file.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 55818bd510fb0..40e805014f719 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -3663,7 +3663,13 @@ static int reserve_compress_blocks(struct dnode_of_d= ata *dn, pgoff_t count) goto next; } =20 - if (__is_valid_data_blkaddr(blkaddr)) { + /* + * compressed cluster was not released due to it + * fails in release_compress_blocks(), so NEW_ADDR + * is a possible case. + */ + if (blkaddr =3D=3D NEW_ADDR || + __is_valid_data_blkaddr(blkaddr)) { compr_blocks++; continue; } @@ -3673,6 +3679,11 @@ static int reserve_compress_blocks(struct dnode_of_d= ata *dn, pgoff_t count) } =20 reserved =3D cluster_size - compr_blocks; + + /* for the case all blocks in cluster were reserved */ + if (reserved =3D=3D 1) + goto next; + ret =3D inc_valid_block_count(sbi, dn->inode, &reserved); if (ret) return ret; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F5FF5C613; Sun, 24 Mar 2024 23:43:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323816; cv=none; b=f3LDhp5keTl6pouM+criV631Qe4hBQrMe06zK78CKVmm47fuMPSFmPcZ/NisLYQ61OvqbQxusQWrPhc4v53Uv+bYet9L8bBnH8ziiD2Fbgnln9f5T3AgRsNZ2DQuM53KAqcKFgu/NYEP2brFLR+BzOBVm6ryWeSvYXU9r8PqXiU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323816; c=relaxed/simple; bh=AS+JGYpUDsPlHwpiNSjJhMQhjdqKCPCQtDNBzfmKuyQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dqDN+lb6h5KvC4pKigWRQ7ndoOoavASX3DSF40pXyFXUABB4bqejJi/UP5d49qMPMcpVkI9aoYisQRl543U4abEfk0HEzRrj1wGbPNBJaCJmD11bpXsWye19sN0tqZPzcNVRj0Voi6UXE4d6PyMFenwxEfo75i+aK1rbE/yR0Gg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=M8nnCtUY; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="M8nnCtUY" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CDF0FC433C7; Sun, 24 Mar 2024 23:43:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323816; bh=AS+JGYpUDsPlHwpiNSjJhMQhjdqKCPCQtDNBzfmKuyQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=M8nnCtUYd5xs/Nn04yOvfCF4yWNHWl0O8ipKHsSNzafBCBMMSQwEIlHZ55HOgyl6N LlDmWbIBrHbDwm5oi3O/8+W8x9ppf45m8a6x6WkRO0MbUEPOSuzcf3NypGGtrAb1J3 5sC1R52tMtQB6FEdcasmETa4pqUuqInUW5FO/EGPiinbEFPZdvtoiiLCA05pYOBCxF pbNqlNeshY7NTOg7kfPd+bqQ18D3qbAd8lGqqvFcVpQJ2LjM96TTcJM2b7f3SY37Ge Ifkeymhi2iCsvfYRmYnv7QHowZyftMx/9+fn62G3JIJiOmZBoAAzY9RJmEkCVZvAzA HmD0bOmiQpcYg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , "Martin K . Petersen" , Sasha Levin Subject: [PATCH 5.10 195/238] scsi: csiostor: Avoid function pointer casts Date: Sun, 24 Mar 2024 19:39:43 -0400 Message-ID: <20240324234027.1354210-196-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit 9f3dbcb5632d6876226031d552ef6163bb3ad215 ] csiostor uses function pointer casts to keep the csio_ln_ev state machine hidden, but this causes warnings about control flow integrity (KCFI) violations in clang-16 and higher: drivers/scsi/csiostor/csio_lnode.c:1098:33: error: cast from 'void (*)(stru= ct csio_lnode *, enum csio_ln_ev)' to 'csio_sm_state_t' (aka 'void (*)(void= *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-= function-type-strict] 1098 | return (csio_get_state(ln) =3D=3D ((csio_sm_state_t)csio_ln= s_ready)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~ drivers/scsi/csiostor/csio_lnode.c:1369:29: error: cast from 'void (*)(stru= ct csio_lnode *, enum csio_ln_ev)' to 'csio_sm_state_t' (aka 'void (*)(void= *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-= function-type-strict] 1369 | if (csio_get_state(ln) =3D=3D ((csio_sm_state_t)csio_lns_un= init)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/csiostor/csio_lnode.c:1373:29: error: cast from 'void (*)(stru= ct csio_lnode *, enum csio_ln_ev)' to 'csio_sm_state_t' (aka 'void (*)(void= *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-= function-type-strict] 1373 | if (csio_get_state(ln) =3D=3D ((csio_sm_state_t)csio_lns_re= ady)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/scsi/csiostor/csio_lnode.c:1377:29: error: cast from 'void (*)(stru= ct csio_lnode *, enum csio_ln_ev)' to 'csio_sm_state_t' (aka 'void (*)(void= *, unsigned int)') converts to incompatible function type [-Werror,-Wcast-= function-type-strict] 1377 | if (csio_get_state(ln) =3D=3D ((csio_sm_state_t)csio_lns_of= fline)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Move the enum into a shared header so the correct types can be used without the need for casts. Fixes: a3667aaed569 ("[SCSI] csiostor: Chelsio FCoE offload driver") Signed-off-by: Arnd Bergmann Link: https://lore.kernel.org/r/20240213100518.457623-1-arnd@kernel.org Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/scsi/csiostor/csio_defs.h | 18 ++++++++++++++++-- drivers/scsi/csiostor/csio_lnode.c | 8 ++++---- drivers/scsi/csiostor/csio_lnode.h | 13 ------------- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/drivers/scsi/csiostor/csio_defs.h b/drivers/scsi/csiostor/csio= _defs.h index c38017b4af982..e50e93e7fe5a1 100644 --- a/drivers/scsi/csiostor/csio_defs.h +++ b/drivers/scsi/csiostor/csio_defs.h @@ -73,7 +73,21 @@ csio_list_deleted(struct list_head *list) #define csio_list_prev(elem) (((struct list_head *)(elem))->prev) =20 /* State machine */ -typedef void (*csio_sm_state_t)(void *, uint32_t); +struct csio_lnode; + +/* State machine evets */ +enum csio_ln_ev { + CSIO_LNE_NONE =3D (uint32_t)0, + CSIO_LNE_LINKUP, + CSIO_LNE_FAB_INIT_DONE, + CSIO_LNE_LINK_DOWN, + CSIO_LNE_DOWN_LINK, + CSIO_LNE_LOGO, + CSIO_LNE_CLOSE, + CSIO_LNE_MAX_EVENT, +}; + +typedef void (*csio_sm_state_t)(struct csio_lnode *ln, enum csio_ln_ev evt= ); =20 struct csio_sm { struct list_head sm_list; @@ -83,7 +97,7 @@ struct csio_sm { static inline void csio_set_state(void *smp, void *state) { - ((struct csio_sm *)smp)->sm_state =3D (csio_sm_state_t)state; + ((struct csio_sm *)smp)->sm_state =3D state; } =20 static inline void diff --git a/drivers/scsi/csiostor/csio_lnode.c b/drivers/scsi/csiostor/csi= o_lnode.c index d5ac938970232..5b3ffefae476d 100644 --- a/drivers/scsi/csiostor/csio_lnode.c +++ b/drivers/scsi/csiostor/csio_lnode.c @@ -1095,7 +1095,7 @@ csio_handle_link_down(struct csio_hw *hw, uint8_t por= tid, uint32_t fcfi, int csio_is_lnode_ready(struct csio_lnode *ln) { - return (csio_get_state(ln) =3D=3D ((csio_sm_state_t)csio_lns_ready)); + return (csio_get_state(ln) =3D=3D csio_lns_ready); } =20 /*************************************************************************= ****/ @@ -1366,15 +1366,15 @@ csio_free_fcfinfo(struct kref *kref) void csio_lnode_state_to_str(struct csio_lnode *ln, int8_t *str) { - if (csio_get_state(ln) =3D=3D ((csio_sm_state_t)csio_lns_uninit)) { + if (csio_get_state(ln) =3D=3D csio_lns_uninit) { strcpy(str, "UNINIT"); return; } - if (csio_get_state(ln) =3D=3D ((csio_sm_state_t)csio_lns_ready)) { + if (csio_get_state(ln) =3D=3D csio_lns_ready) { strcpy(str, "READY"); return; } - if (csio_get_state(ln) =3D=3D ((csio_sm_state_t)csio_lns_offline)) { + if (csio_get_state(ln) =3D=3D csio_lns_offline) { strcpy(str, "OFFLINE"); return; } diff --git a/drivers/scsi/csiostor/csio_lnode.h b/drivers/scsi/csiostor/csi= o_lnode.h index 372a67d122d38..607698a0f0631 100644 --- a/drivers/scsi/csiostor/csio_lnode.h +++ b/drivers/scsi/csiostor/csio_lnode.h @@ -53,19 +53,6 @@ extern int csio_fcoe_rnodes; extern int csio_fdmi_enable; =20 -/* State machine evets */ -enum csio_ln_ev { - CSIO_LNE_NONE =3D (uint32_t)0, - CSIO_LNE_LINKUP, - CSIO_LNE_FAB_INIT_DONE, - CSIO_LNE_LINK_DOWN, - CSIO_LNE_DOWN_LINK, - CSIO_LNE_LOGO, - CSIO_LNE_CLOSE, - CSIO_LNE_MAX_EVENT, -}; - - struct csio_fcf_info { struct list_head list; uint8_t priority; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8D13E17D22C; Sun, 24 Mar 2024 23:43:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323818; cv=none; b=C9WauKoiFuzsquICZluT43EgaHwUcK1/2DFOP0UwpqUajXbbUc24d9+gZtKycd0pDQPAW3YAZpwrGBrHoxzaZ7RhsrdDNeSDN8PWMdfcPx7S/SLsMjerrCcAw+BlSw0BCa0M9Z0WSCTHkVc8EyXpO9vkyUGvw5jgcgm3RDapVvo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323818; c=relaxed/simple; bh=8jCNUSCQiV6GdSVxvCAlC4GVv15l7UjzPayBoviEwoU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RsxyjgBiJq49I27zYr9cdgcjLe4/NyMJ7kM3eJvEizA2eOqOAprTQ3RXujR7Hl4ekLy88Pdp1q2KwvPBHNfJjQU5cW6auMfs4q0CXT5tc0uwKXHhljOfAVDgEq5HIR/XtDz9g4+iGX3SIPoKhFdvI0EYEMx+LJuiOL6GeE1O1p4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=cOHSOwP5; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="cOHSOwP5" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B5787C43390; Sun, 24 Mar 2024 23:43:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323817; bh=8jCNUSCQiV6GdSVxvCAlC4GVv15l7UjzPayBoviEwoU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=cOHSOwP5aW2gt7Ar9xzsrUeNebYSJWvkQEMiIu5RDSMEop6Xwi/QWFLV3ibezJFoC Cdn8ozYqSlxrs7pjqiQywQtEDFRmfDr/IxcyoplNcQrBiBW2qYysVrDBzyf8Ufeabg wSizxVCCyeRyspH24vG6/pYO4cr/MFGgll9oN3TS20U7aIjLmDvvx8/5+9QQlucSgF yNgrjkzD12dFBtpBksrVYReHT+uKYjniQn06Ya/DwyQQW/pO4nzXUG5wAZYdxvOpRH D9Menn/0ZU34p7RvA/axaMLRu13F8hDuy0VpCHuWf6A/NeweHCqizENoDv33bBlyon Tx4GVunRRNe1A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Shifeng Li , Jason Gunthorpe , Jason Gunthorpe , Sasha Levin Subject: [PATCH 5.10 196/238] RDMA/device: Fix a race between mad_client and cm_client init Date: Sun, 24 Mar 2024 19:39:44 -0400 Message-ID: <20240324234027.1354210-197-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Shifeng Li [ Upstream commit 7a8bccd8b29c321ac181369b42b04fecf05f98e2 ] The mad_client will be initialized in enable_device_and_get(), while the devices_rwsem will be downgraded to a read semaphore. There is a window that leads to the failed initialization for cm_client, since it can not get matched mad port from ib_mad_port_list, and the matched mad port will be added to the list after that. mad_client | cm_client Reported-by: Linux Kernel Functional Testing Suggested-by: Jason Gunthorpe Tested-by: kernelci.org bot ------------------|-------------------------------------------------------- ib_register_device| enable_device_and_get down_write(&devices_rwsem) xa_set_mark(&devices, DEVICE_REGISTERED) downgrade_write(&devices_rwsem) | |ib_cm_init |ib_register_client(&cm_client) |down_read(&devices_rwsem) |xa_for_each_marked (&devices, DEVICE_REGISTERED) |add_client_context |cm_add_one |ib_register_mad_agent |ib_get_mad_port |__ib_get_mad_port |list_for_each_entry(entry, &ib_mad_port_list, port_list) |return NULL |up_read(&devices_rwsem) | add_client_context| ib_mad_init_device| ib_mad_port_open | list_add_tail(&port_priv->port_list, &ib_mad_port_list) up_read(&devices_rwsem) | Fix it by using down_write(&devices_rwsem) in ib_register_client(). Fixes: d0899892edd0 ("RDMA/device: Provide APIs from the core code to help = unregistration") Link: https://lore.kernel.org/r/20240203035313.98991-1-lishifeng@sangfor.co= m.cn Suggested-by: Jason Gunthorpe Signed-off-by: Shifeng Li Signed-off-by: Jason Gunthorpe Signed-off-by: Sasha Levin --- drivers/infiniband/core/device.c | 37 +++++++++++++++++++------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/drivers/infiniband/core/device.c b/drivers/infiniband/core/dev= ice.c index 3c29fd04b3016..94c3bad72cc59 100644 --- a/drivers/infiniband/core/device.c +++ b/drivers/infiniband/core/device.c @@ -1686,7 +1686,7 @@ static int assign_client_id(struct ib_client *client) { int ret; =20 - down_write(&clients_rwsem); + lockdep_assert_held(&clients_rwsem); /* * The add/remove callbacks must be called in FIFO/LIFO order. To * achieve this we assign client_ids so they are sorted in @@ -1695,14 +1695,11 @@ static int assign_client_id(struct ib_client *clien= t) client->client_id =3D highest_client_id; ret =3D xa_insert(&clients, client->client_id, client, GFP_KERNEL); if (ret) - goto out; + return ret; =20 highest_client_id++; xa_set_mark(&clients, client->client_id, CLIENT_REGISTERED); - -out: - up_write(&clients_rwsem); - return ret; + return 0; } =20 static void remove_client_id(struct ib_client *client) @@ -1732,25 +1729,35 @@ int ib_register_client(struct ib_client *client) { struct ib_device *device; unsigned long index; + bool need_unreg =3D false; int ret; =20 refcount_set(&client->uses, 1); init_completion(&client->uses_zero); + + /* + * The devices_rwsem is held in write mode to ensure that a racing + * ib_register_device() sees a consisent view of clients and devices. + */ + down_write(&devices_rwsem); + down_write(&clients_rwsem); ret =3D assign_client_id(client); if (ret) - return ret; + goto out; =20 - down_read(&devices_rwsem); + need_unreg =3D true; xa_for_each_marked (&devices, index, device, DEVICE_REGISTERED) { ret =3D add_client_context(device, client); - if (ret) { - up_read(&devices_rwsem); - ib_unregister_client(client); - return ret; - } + if (ret) + goto out; } - up_read(&devices_rwsem); - return 0; + ret =3D 0; +out: + up_write(&clients_rwsem); + up_write(&devices_rwsem); + if (need_unreg && ret) + ib_unregister_client(client); + return ret; } EXPORT_SYMBOL(ib_register_client); =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 89AD117D234; Sun, 24 Mar 2024 23:43:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323819; cv=none; b=U62BpQ6OCABwBnIeStoQu3DDFjdBJwih1BT/5Rr4TbM9+4jKuHfGlNNEA1SlrkfIGqkGTdpInDYZGD11Ksc0ADz2bkzDCoab8c8UAUEOo5dFTxjsj9wGW7XS47ue2gkK1OqvTS3ermikGdL2xEWHVbz4jY0v90q5lsriQmLcNdM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323819; c=relaxed/simple; bh=yBqERcpyWskwwz1YMuo3DL45sg9I+O1BrvP6QsuFxqU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=l7L6nh3Y28ctl3fr1AR12ZQvMkDKCEVfHKCrADU1JBMDfq6POl2fN1140fahotqzKPixR0ZGvr6AByLk5S4eCE+SX6fUXqsli41J59KRrKGPixS0UrXQ3Qeo3Lp7QWuvrg/uG4gRkXHbJ8vITgNIAsAVjfwn/TjQk3Z/UKN9rGM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uSw/8eXL; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="uSw/8eXL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B2EFBC433F1; Sun, 24 Mar 2024 23:43:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323818; bh=yBqERcpyWskwwz1YMuo3DL45sg9I+O1BrvP6QsuFxqU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uSw/8eXLoEqGxTf3Mf2Fn/CNYp22sjVpn9BdEmgNIUT0ijxrkLWp/1B9zHTQ5tNsG 8Or8oHyvqXGZkN1nlSKNDrX05ntaVWccI3WqqDu47jMLmoF2yS66Tea/pbSQiYeYA7 Mf6pyNTKHKWgOaNRHwYqiCfh+fi4+TmhlVXmkI+pXmZ5mm2WxGLBJgU+TE+J7ZvfR3 vBWyQqvXog4PgJgCGuzPf4vMnoNTh3iwMpl5SfS5QREDbw4dAX36Y/Sl9TYOa/4AQo essYXbb30jsFJ3ySNvSmw7QRRKuNC5ifTT6430xGI1raRgc6b4B6zREoDP1tdv9b2l GjJLxr7a7BEUA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Kees Cook , "Martin K . Petersen" , Sasha Levin Subject: [PATCH 5.10 197/238] scsi: bfa: Fix function pointer type mismatch for hcb_qe->cbfn Date: Sun, 24 Mar 2024 19:39:45 -0400 Message-ID: <20240324234027.1354210-198-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit b69600231f751304db914c63b937f7098ed2895c ] Some callback functions used here take a boolean argument, others take a status argument. This breaks KCFI type checking, so clang now warns about the function pointer cast: drivers/scsi/bfa/bfad_bsg.c:2138:29: error: cast from 'void (*)(void *, enu= m bfa_status)' to 'bfa_cb_cbfn_t' (aka 'void (*)(void *, enum bfa_boolean)'= ) converts to incompatible function type [-Werror,-Wcast-function-type-stri= ct] Assuming the code is actually correct here and the callers always match the argument types of the callee, rework this to replace the explicit cast with a union of the two pointer types. This does not change the behavior of the code, so if something is actually broken here, a larger rework may be necessary. Fixes: 37ea0558b87a ("[SCSI] bfa: Added support to collect and reset fcport= stats") Fixes: 3ec4f2c8bff2 ("[SCSI] bfa: Added support to configure QOS and collec= t stats.") Reviewed-by: Kees Cook Signed-off-by: Arnd Bergmann Link: https://lore.kernel.org/r/20240222124433.2046570-1-arnd@kernel.org Signed-off-by: Martin K. Petersen Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/scsi/bfa/bfa.h | 9 ++++++++- drivers/scsi/bfa/bfa_core.c | 4 +--- drivers/scsi/bfa/bfa_ioc.h | 8 ++++++-- drivers/scsi/bfa/bfad_bsg.c | 11 ++++------- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/drivers/scsi/bfa/bfa.h b/drivers/scsi/bfa/bfa.h index 7bd2ba1ad4d11..f30fe324e6ecc 100644 --- a/drivers/scsi/bfa/bfa.h +++ b/drivers/scsi/bfa/bfa.h @@ -20,7 +20,6 @@ struct bfa_s; =20 typedef void (*bfa_isr_func_t) (struct bfa_s *bfa, struct bfi_msg_s *m); -typedef void (*bfa_cb_cbfn_status_t) (void *cbarg, bfa_status_t status); =20 /* * Interrupt message handlers @@ -437,4 +436,12 @@ struct bfa_cb_pending_q_s { (__qe)->data =3D (__data); \ } while (0) =20 +#define bfa_pending_q_init_status(__qe, __cbfn, __cbarg, __data) do { \ + bfa_q_qe_init(&((__qe)->hcb_qe.qe)); \ + (__qe)->hcb_qe.cbfn_status =3D (__cbfn); \ + (__qe)->hcb_qe.cbarg =3D (__cbarg); \ + (__qe)->hcb_qe.pre_rmv =3D BFA_TRUE; \ + (__qe)->data =3D (__data); \ +} while (0) + #endif /* __BFA_H__ */ diff --git a/drivers/scsi/bfa/bfa_core.c b/drivers/scsi/bfa/bfa_core.c index 6846ca8f7313c..3438d0b8ba062 100644 --- a/drivers/scsi/bfa/bfa_core.c +++ b/drivers/scsi/bfa/bfa_core.c @@ -1907,15 +1907,13 @@ bfa_comp_process(struct bfa_s *bfa, struct list_hea= d *comp_q) struct list_head *qe; struct list_head *qen; struct bfa_cb_qe_s *hcb_qe; - bfa_cb_cbfn_status_t cbfn; =20 list_for_each_safe(qe, qen, comp_q) { hcb_qe =3D (struct bfa_cb_qe_s *) qe; if (hcb_qe->pre_rmv) { /* qe is invalid after return, dequeue before cbfn() */ list_del(qe); - cbfn =3D (bfa_cb_cbfn_status_t)(hcb_qe->cbfn); - cbfn(hcb_qe->cbarg, hcb_qe->fw_status); + hcb_qe->cbfn_status(hcb_qe->cbarg, hcb_qe->fw_status); } else hcb_qe->cbfn(hcb_qe->cbarg, BFA_TRUE); } diff --git a/drivers/scsi/bfa/bfa_ioc.h b/drivers/scsi/bfa/bfa_ioc.h index 933a1c3890ff5..5e568d6d7b261 100644 --- a/drivers/scsi/bfa/bfa_ioc.h +++ b/drivers/scsi/bfa/bfa_ioc.h @@ -361,14 +361,18 @@ struct bfa_reqq_wait_s { void *cbarg; }; =20 -typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete); +typedef void (*bfa_cb_cbfn_t) (void *cbarg, bfa_boolean_t complete); +typedef void (*bfa_cb_cbfn_status_t) (void *cbarg, bfa_status_t status); =20 /* * Generic BFA callback element. */ struct bfa_cb_qe_s { struct list_head qe; - bfa_cb_cbfn_t cbfn; + union { + bfa_cb_cbfn_status_t cbfn_status; + bfa_cb_cbfn_t cbfn; + }; bfa_boolean_t once; bfa_boolean_t pre_rmv; /* set for stack based qe(s) */ bfa_status_t fw_status; /* to access fw status in comp proc */ diff --git a/drivers/scsi/bfa/bfad_bsg.c b/drivers/scsi/bfa/bfad_bsg.c index fc515424ca88d..eb589f9e8cfb5 100644 --- a/drivers/scsi/bfa/bfad_bsg.c +++ b/drivers/scsi/bfa/bfad_bsg.c @@ -2135,8 +2135,7 @@ bfad_iocmd_fcport_get_stats(struct bfad_s *bfad, void= *cmd) struct bfa_cb_pending_q_s cb_qe; =20 init_completion(&fcomp.comp); - bfa_pending_q_init(&cb_qe, (bfa_cb_cbfn_t)bfad_hcb_comp, - &fcomp, &iocmd->stats); + bfa_pending_q_init_status(&cb_qe, bfad_hcb_comp, &fcomp, &iocmd->stats); spin_lock_irqsave(&bfad->bfad_lock, flags); iocmd->status =3D bfa_fcport_get_stats(&bfad->bfa, &cb_qe); spin_unlock_irqrestore(&bfad->bfad_lock, flags); @@ -2159,7 +2158,7 @@ bfad_iocmd_fcport_reset_stats(struct bfad_s *bfad, vo= id *cmd) struct bfa_cb_pending_q_s cb_qe; =20 init_completion(&fcomp.comp); - bfa_pending_q_init(&cb_qe, (bfa_cb_cbfn_t)bfad_hcb_comp, &fcomp, NULL); + bfa_pending_q_init_status(&cb_qe, bfad_hcb_comp, &fcomp, NULL); =20 spin_lock_irqsave(&bfad->bfad_lock, flags); iocmd->status =3D bfa_fcport_clear_stats(&bfad->bfa, &cb_qe); @@ -2443,8 +2442,7 @@ bfad_iocmd_qos_get_stats(struct bfad_s *bfad, void *c= md) struct bfa_fcport_s *fcport =3D BFA_FCPORT_MOD(&bfad->bfa); =20 init_completion(&fcomp.comp); - bfa_pending_q_init(&cb_qe, (bfa_cb_cbfn_t)bfad_hcb_comp, - &fcomp, &iocmd->stats); + bfa_pending_q_init_status(&cb_qe, bfad_hcb_comp, &fcomp, &iocmd->stats); =20 spin_lock_irqsave(&bfad->bfad_lock, flags); WARN_ON(!bfa_ioc_get_fcmode(&bfad->bfa.ioc)); @@ -2474,8 +2472,7 @@ bfad_iocmd_qos_reset_stats(struct bfad_s *bfad, void = *cmd) struct bfa_fcport_s *fcport =3D BFA_FCPORT_MOD(&bfad->bfa); =20 init_completion(&fcomp.comp); - bfa_pending_q_init(&cb_qe, (bfa_cb_cbfn_t)bfad_hcb_comp, - &fcomp, NULL); + bfa_pending_q_init_status(&cb_qe, bfad_hcb_comp, &fcomp, NULL); =20 spin_lock_irqsave(&bfad->bfad_lock, flags); WARN_ON(!bfa_ioc_get_fcmode(&bfad->bfa.ioc)); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A298517D238; Sun, 24 Mar 2024 23:43:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323819; cv=none; b=H5wOFTiFrTZXmAKM4V0Y+2KqCK4uRsWpBTJt9dysN7doP2VV92wfpWVXzQnfzgrhhb9hFsBxJXhusSYOIq5ObD8qHJ1wKN2jjL94xnkcFijuhgh8XTl7lr3XoUJqb/0eYXp/6UH3/GbHUydbp/rnxB4mMWl9O7os1j4CLfGvz4Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323819; c=relaxed/simple; bh=dhKFxGipNUYb7+OZCcYXRa1jL6XDpWTD56tS1MNSVQM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Obhl4iKqKhjTWAT5Ba5jeIabJFTkgNGHCbfGYAoxHsQTaHKuFIw6460AplckcQx0MMNhQ8RaVf60ZidHQlq8A0rQonriTQE9vlnpinrqNv7Eeyijy++0+QLAuBBsx7RIJA/TcjUUJidadHsrim8zOV08LD5og7XUEpbZJOCQAkE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OsQKhbjg; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="OsQKhbjg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AD172C43399; Sun, 24 Mar 2024 23:43:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323819; bh=dhKFxGipNUYb7+OZCcYXRa1jL6XDpWTD56tS1MNSVQM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OsQKhbjgHrgXbqdlXoiLIjaNa6PbKaOxQ9CbuH0DIFeHggjQ3xd6eUdi+avEAaoKv DHTVqbOz+r38I/4cQBp+xHWoMOYFltuD28NM4U/MVg8B73ZOJu+DpdRg3M6qVXOcl9 UfDwN8PVsKL7lxSS8N6bngDGd0koOH3J1cHAmAOpvnclLHijkYujlQWshiLT3IakJ1 15B//ApzU/oF61X2tweAnZ8iHwyu8BL0FnmRqmB8wLbWdl7iO17rt+dqKVHa3bkgGN 21Pt0ZKZBpcz2Sanv0wCYz12mma6M/9FTYtuuzgQnRXGF5Bys3aDoO8Q8ng5OrM5P+ G8HIRbENXxEgA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe JAILLET , Benjamin Coddington , Trond Myklebust , Sasha Levin Subject: [PATCH 5.10 198/238] net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr() Date: Sun, 24 Mar 2024 19:39:46 -0400 Message-ID: <20240324234027.1354210-199-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET [ Upstream commit d6f4de70f73a106986ee315d7d512539f2f3303a ] The intent is to check if the strings' are truncated or not. So, >=3D should be used instead of >, because strlcat() and snprintf() return the length of the output, excluding the trailing NULL. Fixes: a02d69261134 ("SUNRPC: Provide functions for managing universal addr= esses") Signed-off-by: Christophe JAILLET Reviewed-by: Benjamin Coddington Signed-off-by: Trond Myklebust Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/sunrpc/addr.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/sunrpc/addr.c b/net/sunrpc/addr.c index d435bffc61999..97ff11973c493 100644 --- a/net/sunrpc/addr.c +++ b/net/sunrpc/addr.c @@ -284,10 +284,10 @@ char *rpc_sockaddr2uaddr(const struct sockaddr *sap, = gfp_t gfp_flags) } =20 if (snprintf(portbuf, sizeof(portbuf), - ".%u.%u", port >> 8, port & 0xff) > (int)sizeof(portbuf)) + ".%u.%u", port >> 8, port & 0xff) >=3D (int)sizeof(portbuf)) return NULL; =20 - if (strlcat(addrbuf, portbuf, sizeof(addrbuf)) > sizeof(addrbuf)) + if (strlcat(addrbuf, portbuf, sizeof(addrbuf)) >=3D sizeof(addrbuf)) return NULL; =20 return kstrdup(addrbuf, gfp_flags); --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 99C9B17D23C; Sun, 24 Mar 2024 23:43:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323821; cv=none; b=FowizFsJZ7cb/9TnQ/bIwUtZ/iqfyqd5Do0j9kBfYNGTla6G5mA1maKvrawVlEdhaaqdpCE5KHlb22fzbmJA9AwGofHnq5jBcstqOssGLw1yAa9UMT4H12WjsIgFyKvNVEI7PSkNGrK2raNgSEe46S6xVY6Lrrt3+Q8JaZZXBUc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323821; c=relaxed/simple; bh=OEpuwg0q9vOOoCyK9mvaQjRn/3FyP2kLhLivgjOMeNw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qeqG99JqUzAnZ5KJQ42UXtVV1xuX949TQu6CLUfxddpqi+Qs8Xccmv4lBLfmrUmzUPaB6j10uzkwyzlvvYqSu7GqEwerhDw3QjfiMmEd0J14GONSAi12bYGL9QBfHCeJDrpmy1aq/CSX8QdFDxwbLGA3BcjVfG7Ayln4cBFZQLo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KxVpAA1g; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="KxVpAA1g" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AD4B5C433C7; Sun, 24 Mar 2024 23:43:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323820; bh=OEpuwg0q9vOOoCyK9mvaQjRn/3FyP2kLhLivgjOMeNw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KxVpAA1gdQ5fZjWDGVYmk/lMcVsPdvRGv8lrplZCe3uWTwXnafXmq8o/QEW402BJz FfH2aJ1oiV9FXx25C6ITsXvs9Hu7rByJ3IAErX93F7JseTgECAi7mw7zHeF3yYDTrS Cnbf7X6qDw9E/iAphiR+lGpZ5BnMIeQXxGZ9ix5UHKtUULK52eBc++/oCeChKvzJcu 2XVCaS5osYglLk32ndFoO91/d3bdMHwYdhC6x3GiSDqdslZOhC92vXyacgbbSb3Av9 rkKTP2bw8KB4Ta36c68ITBASQu0F78Y6zyb4xy2XvgdXnJcdcyfr5J+GLAGodA8WZ4 EyqfdzKvsrQSA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jorge Mora , Jorge Mora , Benjamin Coddington , Trond Myklebust , Sasha Levin Subject: [PATCH 5.10 199/238] NFSv4.2: fix nfs4_listxattr kernel BUG at mm/usercopy.c:102 Date: Sun, 24 Mar 2024 19:39:47 -0400 Message-ID: <20240324234027.1354210-200-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jorge Mora [ Upstream commit 251a658bbfceafb4d58c76b77682c8bf7bcfad65 ] A call to listxattr() with a buffer size =3D 0 returns the actual size of the buffer needed for a subsequent call. When size > 0, nfs4_listxattr() does not return an error because either generic_listxattr() or nfs4_listxattr_nfs4_label() consumes exactly all the bytes then size is 0 when calling nfs4_listxattr_nfs4_user() which then triggers the following kernel BUG: [ 99.403778] kernel BUG at mm/usercopy.c:102! [ 99.404063] Internal error: Oops - BUG: 00000000f2000800 [#1] SMP [ 99.408463] CPU: 0 PID: 3310 Comm: python3 Not tainted 6.6.0-61.fc40.a= arch64 #1 [ 99.415827] Call trace: [ 99.415985] usercopy_abort+0x70/0xa0 [ 99.416227] __check_heap_object+0x134/0x158 [ 99.416505] check_heap_object+0x150/0x188 [ 99.416696] __check_object_size.part.0+0x78/0x168 [ 99.416886] __check_object_size+0x28/0x40 [ 99.417078] listxattr+0x8c/0x120 [ 99.417252] path_listxattr+0x78/0xe0 [ 99.417476] __arm64_sys_listxattr+0x28/0x40 [ 99.417723] invoke_syscall+0x78/0x100 [ 99.417929] el0_svc_common.constprop.0+0x48/0xf0 [ 99.418186] do_el0_svc+0x24/0x38 [ 99.418376] el0_svc+0x3c/0x110 [ 99.418554] el0t_64_sync_handler+0x120/0x130 [ 99.418788] el0t_64_sync+0x194/0x198 [ 99.418994] Code: aa0003e3 d000a3e0 91310000 97f49bdb (d4210000) Issue is reproduced when generic_listxattr() returns 'system.nfs4_acl', thus calling lisxattr() with size =3D 16 will trigger the bug. Add check on nfs4_listxattr() to return ERANGE error when it is called with size > 0 and the return value is greater than size. Fixes: 012a211abd5d ("NFSv4.2: hook in the user extended attribute handlers= ") Signed-off-by: Jorge Mora Reviewed-by: Benjamin Coddington Signed-off-by: Trond Myklebust Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/nfs/nfs4proc.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 7c3c96ed60853..8e546e6a56198 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -10370,29 +10370,33 @@ const struct nfs4_minor_version_ops *nfs_v4_minor= _ops[] =3D { static ssize_t nfs4_listxattr(struct dentry *dentry, char *list, size_t si= ze) { ssize_t error, error2, error3; + size_t left =3D size; =20 - error =3D generic_listxattr(dentry, list, size); + error =3D generic_listxattr(dentry, list, left); if (error < 0) return error; if (list) { list +=3D error; - size -=3D error; + left -=3D error; } =20 - error2 =3D nfs4_listxattr_nfs4_label(d_inode(dentry), list, size); + error2 =3D nfs4_listxattr_nfs4_label(d_inode(dentry), list, left); if (error2 < 0) return error2; =20 if (list) { list +=3D error2; - size -=3D error2; + left -=3D error2; } =20 - error3 =3D nfs4_listxattr_nfs4_user(d_inode(dentry), list, size); + error3 =3D nfs4_listxattr_nfs4_user(d_inode(dentry), list, left); if (error3 < 0) return error3; =20 - return error + error2 + error3; + error +=3D error2 + error3; + if (size && error > size) + return -ERANGE; + return error; } =20 static void nfs4_enable_swap(struct inode *inode) --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ADD452853C5; Sun, 24 Mar 2024 23:43:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323822; cv=none; b=GWOANZvZci3HLEmtkytd1dr1Gu0/aH0nUoLjucuByvwdeyjK/7n+3VNe5NSFF94bOGX2DkL02vdKl76IW8FMS1IAun5XUNIl0AGKriqzRCvVPF7G+Eu79x3cP1eFOykl/Y0vqk5ruk2O47QRltLROeXoVP2pJ2iXZ5OX6y2pxYs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323822; c=relaxed/simple; bh=LYazFtegKbUQmWF4+002xX2Q9D4Jt0jQN6fweMdHyiQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UibFkBS3QarJbf/5ExntpZV/dVByI92KDTZLAMULJxot8mcAIRWeP64HR3G0qV32g2bAKfRP/NXxPcKMQtiIPC9031dAQQL97/3J9wMM4oz+jbXfeNRo1FmlfdBqjzohH9pDESy0yH8wMYFJPkIBSipWHdQMMLSrHs5CeBY1Bn8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=j5RUsx/2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="j5RUsx/2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0D21C43390; Sun, 24 Mar 2024 23:43:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323821; bh=LYazFtegKbUQmWF4+002xX2Q9D4Jt0jQN6fweMdHyiQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=j5RUsx/27tYdzHGQF3diTgs2az5Bp9KdnWcYBTcLWzvbReeg7m10N3/F3L6rwuoZB mI46DfOwjLQXfQGZxL8fDizxhzDxt1pj/gI0TImldlOglIWc23C3S+AgQT2HMcLag3 b5dVApQkasMHVpww0/8m6FEWj2pXzOD46TOzKr6P2e3iJCgPwPymNfYasdo8wQ/eME 61C14WEWIM4YcTYGhuKxmNrFzYGlUFwnhUibYqsFHaeNSmELcCcf7q3fBuqL2d1bww qG8ASU5bU35pdoR/I3pcvI7ZHJlHpwdJ2P8ZWKRCBUKmGOrfN4qGjr8Ta6ZQFDyT96 66sAWb2O8twDg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jorge Mora , Jorge Mora , Benjamin Coddington , Trond Myklebust , Sasha Levin Subject: [PATCH 5.10 200/238] NFSv4.2: fix listxattr maximum XDR buffer size Date: Sun, 24 Mar 2024 19:39:48 -0400 Message-ID: <20240324234027.1354210-201-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jorge Mora [ Upstream commit bcac8bff90a6ee1629f90669cdb9d28fb86049b0 ] Switch order of operations to avoid creating a short XDR buffer: e.g., buflen =3D 12, old xdrlen =3D 12, new xdrlen =3D 20. Having a short XDR buffer leads to lxa_maxcount be a few bytes less than what is needed to retrieve the whole list when using a buflen as returned by a call with size =3D 0: buflen =3D listxattr(path, NULL, 0); buf =3D malloc(buflen); buflen =3D listxattr(path, buf, buflen); For a file with one attribute (name =3D '123456'), the first call with size =3D 0 will return buflen =3D 12 ('user.123456\x00'). The second call with size =3D 12, sends LISTXATTRS with lxa_maxcount =3D 12 + 8 (cookie) + 4 (array count) =3D 24. The XDR buffer needs 8 (cookie) + 4 (array count) + 4 (name count) + 6 (name len) + 2 (padding) + 4 (eof) =3D 28 which is 4 bytes shorter than the lxa_maxcount provided in the call. Fixes: 04a5da690e8f ("NFSv4.2: define limits and sizes for user xattr handl= ing") Signed-off-by: Jorge Mora Reviewed-by: Benjamin Coddington Signed-off-by: Trond Myklebust Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/nfs/nfs42.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fs/nfs/nfs42.h b/fs/nfs/nfs42.h index 0fe5aacbcfdf1..e7192d0eea3de 100644 --- a/fs/nfs/nfs42.h +++ b/fs/nfs/nfs42.h @@ -54,11 +54,14 @@ int nfs42_proc_removexattr(struct inode *inode, const c= har *name); * They would be 7 bytes long in the eventual buffer ("user.x\0"), and * 8 bytes long XDR-encoded. * - * Include the trailing eof word as well. + * Include the trailing eof word as well and make the result a multiple + * of 4 bytes. */ static inline u32 nfs42_listxattr_xdrsize(u32 buflen) { - return ((buflen / (XATTR_USER_PREFIX_LEN + 2)) * 8) + 4; + u32 size =3D 8 * buflen / (XATTR_USER_PREFIX_LEN + 2) + 4; + + return (size + 3) & ~3; } #endif /* CONFIG_NFS_V4_2 */ #endif /* __LINUX_FS_NFS_NFS4_2_H */ --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ABE132853C4; Sun, 24 Mar 2024 23:43:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323822; cv=none; b=jctRRdfpI6WXnrvOENVIfj2ydE1/+c1ZjcydrN93R2Bn5UKGNh+d8ru+26fheQfUdxFoCnMpbGBFIlyX95Lrrfr1s+6L2P6Vv17pNiCW6yv7pLegloCLvUrwdQJ0qdRAgUiHzJElmBbQNsGw9iX9NnbDfL5oYMeufGmcrmESbWI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323822; c=relaxed/simple; bh=1HX/XtXY9tKoIkbNvy21lYq1+GU7W/u60Q5A+0A38Ok=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=GZpsqlX24YL/1MaKpFxhPvSsm2DBOAmzFeWzqe/853/BcySUv9tvzG6uvHuoX63N6raFnZxowKYVSP3IY2CHvaMR/hdaH9zt0vyXqWc172DgW2CpH4u+hvt3QCAXS4BkaAFEDHbEYg1dS0I5UvmZoJC0fU3y9UB3SMIYWKSXtNc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uAb0BSop; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="uAb0BSop" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D35CFC433C7; Sun, 24 Mar 2024 23:43:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323822; bh=1HX/XtXY9tKoIkbNvy21lYq1+GU7W/u60Q5A+0A38Ok=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uAb0BSopGYh8f+pI3MyPiuEndSKCtiluacQKI5FA28HDthvTCjlthv3nOQr0OeeDo 0J5ZSrH6lKELxMQM7dETjv3NgYhT7d0dd+b9zylNIqFsbffkDdV87nYxXtItDqZmoe FDr+y0G890M/PlDg4R/S9KvBfhnNkdPUs6BN0Fg+x8rZD3lLD8OqIEEkxu9x8AGcxR 5eJEauHUCX9dhSwH1YSlxriQ0oJWTRuelCNFd2e3PASUGWCTTFQtUgAtKF8MZ21jCo lugU8peUCnnONbrULMtj3NW/0iyPuCrfxwAY/egSnvUFqirG65IAcj15YDO6d+ijed vcLVPtmMVGejg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Ben Wolsieffer , Guenter Roeck , Wim Van Sebroeck , Sasha Levin Subject: [PATCH 5.10 201/238] watchdog: stm32_iwdg: initialize default timeout Date: Sun, 24 Mar 2024 19:39:49 -0400 Message-ID: <20240324234027.1354210-202-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ben Wolsieffer [ Upstream commit dbd7c0088b7f44aa0b9276ed3449df075a7b5b54 ] The driver never sets a default timeout value, therefore it is initialized to zero. When CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED is enabled, the watchdog is started during probe. The kernel is supposed to automatically ping the watchdog from this point until userspace takes over, but this does not happen if the configured timeout is zero. A zero timeout causes watchdog_need_worker() to return false, so the heartbeat worker does not run and the system therefore resets soon after the driver is probed. This patch fixes this by setting an arbitrary non-zero default timeout. The default could be read from the hardware instead, but I didn't see any reason to add this complexity. This has been tested on an STM32F746. Fixes: 85fdc63fe256 ("drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at= probe") Signed-off-by: Ben Wolsieffer Reviewed-by: Guenter Roeck Link: https://lore.kernel.org/r/20240228182723.12855-1-ben.wolsieffer@hefri= ng.com Signed-off-by: Guenter Roeck Signed-off-by: Wim Van Sebroeck Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/watchdog/stm32_iwdg.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/watchdog/stm32_iwdg.c b/drivers/watchdog/stm32_iwdg.c index 25188d6bbe152..16dd1aab7c676 100644 --- a/drivers/watchdog/stm32_iwdg.c +++ b/drivers/watchdog/stm32_iwdg.c @@ -21,6 +21,8 @@ #include #include =20 +#define DEFAULT_TIMEOUT 10 + /* IWDG registers */ #define IWDG_KR 0x00 /* Key register */ #define IWDG_PR 0x04 /* Prescaler Register */ @@ -254,6 +256,7 @@ static int stm32_iwdg_probe(struct platform_device *pde= v) wdd->parent =3D dev; wdd->info =3D &stm32_iwdg_info; wdd->ops =3D &stm32_iwdg_ops; + wdd->timeout =3D DEFAULT_TIMEOUT; wdd->min_timeout =3D DIV_ROUND_UP((RLR_MIN + 1) * PR_MIN, wdt->rate); wdd->max_hw_heartbeat_ms =3D ((RLR_MAX + 1) * wdt->data->max_prescaler * 1000) / wdt->rate; --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A86D52853D4; Sun, 24 Mar 2024 23:43:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323824; cv=none; b=Z1IvleEnZ+Jvcuje3VYebQBRKjC0o7zSOdQRyUk6631zBXhsINO6HhvNGAsXQYamdlHsVPoWbcjiqu66sW2L02SZj7q1PFV2cqHWYr/NvzhtrhJKomAL88K0cNlh/t+4A9mscUROev1E9p3/R69k05iDP5n4Gk8RMK69k52sbVY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323824; c=relaxed/simple; bh=Roie6MsJdNvp73cKniu3QDUBbywUVPcSI2K9N8bQLTQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IGOH0tZyaBuNWNs3Ytn2RS8CUdVZesLnB2cjYd3TGtEJXRxqUHBN0BAOm199fUQ5xFSfJQV6k5XjR2g8MrL5tWxCogPU1Z3PYJ8h2OjPgseqPNV1uryTw3GbmuZwaGwRWItVcwXPHwaCmaSG1yofAmquLUNexhpzsXVHojSde+4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kjFfnO4A; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kjFfnO4A" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D0569C433F1; Sun, 24 Mar 2024 23:43:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323823; bh=Roie6MsJdNvp73cKniu3QDUBbywUVPcSI2K9N8bQLTQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kjFfnO4APQ/H5haW66R+rdPtoKeKval7o2klD1BuY2+UMtPtlm+6jc/2y+UNW9MoB 9AvuSOsmpD2v+kLWMlXDT7Brle0aInmjnDvjFni9WVwJw/wMQ3Z9ndFtzG1tPbAQig Gc2tc+xClmTJkWyzjtG+P0cBOSiEk65SurC1gdRk7QsTiU0Av7MDXoCxTConk9OvtK 7RvDINBHtaXlFBDkH6VoBq+BXJqnaSHdSnSgVjj0rKamqSX6+Lrk2Td56LiiGjk8/V fYBekTgYn/Kp2jAY2C1oYnEcuUQ5eWPV9d5VF5Y0y68lqhTmLcFxRSocFZNpyaGvU0 xPbbo53SNrXAw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Christophe JAILLET , Benjamin Coddington , Trond Myklebust , Sasha Levin Subject: [PATCH 5.10 202/238] NFS: Fix an off by one in root_nfs_cat() Date: Sun, 24 Mar 2024 19:39:50 -0400 Message-ID: <20240324234027.1354210-203-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Christophe JAILLET [ Upstream commit 698ad1a538da0b6bf969cfee630b4e3a026afb87 ] The intent is to check if 'dest' is truncated or not. So, >=3D should be used instead of >, because strlcat() returns the length of 'dest' and 'src' excluding the trailing NULL. Fixes: 56463e50d1fc ("NFS: Use super.c for NFSROOT mount option parsing") Signed-off-by: Christophe JAILLET Reviewed-by: Benjamin Coddington Signed-off-by: Trond Myklebust Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/nfs/nfsroot.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/nfs/nfsroot.c b/fs/nfs/nfsroot.c index fa148308822cc..c2cf4ff628811 100644 --- a/fs/nfs/nfsroot.c +++ b/fs/nfs/nfsroot.c @@ -175,10 +175,10 @@ static int __init root_nfs_cat(char *dest, const char= *src, size_t len =3D strlen(dest); =20 if (len && dest[len - 1] !=3D ',') - if (strlcat(dest, ",", destlen) > destlen) + if (strlcat(dest, ",", destlen) >=3D destlen) return -1; =20 - if (strlcat(dest, src, destlen) > destlen) + if (strlcat(dest, src, destlen) >=3D destlen) return -1; return 0; } --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EF4372853D5; Sun, 24 Mar 2024 23:43:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323825; cv=none; b=tkVVlwvOhJrMnzv8UsHiq3LHCoeFfKqq4LsL/ijvQ0hDQ0ILtyS2IeXM1eE5I1oQ42AvlUiFrek0Kw5cfBmNHGd2sippjH4hqYViDJV0DKXo0A4gT8i/T4F4zlOER8qduNWpefGoZRSGUbaXiqU58urZ9325UweQRxOR8e5Mang= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323825; c=relaxed/simple; bh=FsAsu3Rw+37tte4cZ220/4DO2pAOdj6r1oAecyz+6cA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=np6suZsfFOSJxqsGyN6WKjiPqWQP69goGc18XQ+bHsIU7rF1Q8U5cgig1MyT3FLKzu7d+NqdwzPlJnmrfV3O/klR40F0TVTtfZ6xk8k6Hoe1QuSu2GDcLEsPj0F7yU9oWFQkOxM8yKyurPv4un1ZPLpUs1DFc69NzkYuscIFgww= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BnEPUnxW; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BnEPUnxW" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CECF2C43394; Sun, 24 Mar 2024 23:43:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323824; bh=FsAsu3Rw+37tte4cZ220/4DO2pAOdj6r1oAecyz+6cA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BnEPUnxWpGMoHlEjuHXNchEqgDtqcJp9c6DBl2Gj9KD/LqmoA6zZ5AjIJ0WrmInQ/ z9Fc/7YK610BEhHVGueScvySyEzSv6MSY8smiig0Xs73UEMEFoht87T6eo2sIiKC8/ IrCjiBdyLwIWBjwR2ZKMUcvyLa1pBAhi4VWK82kR9utaM9HTY7Bif8dkMdEvKV3LAo fd3vkE9pA4ltjDQX7chnhteFxVNkwn+G/6StcvXWdkSgxxsZd1zAvGOzSDRgQ5/HX1 S1irvyr5lsQj5H1+/O/XbvKgZ4VNBrYsbvQ0YKcGGGWjq6qYxOrIRKme1kx+om2/E5 Ngla5p8Xgk0Kw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: David Howells , Markus Suvanto , Jeffrey E Altman , Marc Dionne , linux-afs@lists.infradead.org, Christian Brauner , Sasha Levin Subject: [PATCH 5.10 203/238] afs: Revert "afs: Hide silly-rename files from userspace" Date: Sun, 24 Mar 2024 19:39:51 -0400 Message-ID: <20240324234027.1354210-204-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: David Howells [ Upstream commit 0aec3847d044273733285dcff90afda89ad461d2 ] This reverts commit 57e9d49c54528c49b8bffe6d99d782ea051ea534. This undoes the hiding of .__afsXXXX silly-rename files. The problem with hiding them is that rm can't then manually delete them. This also reverts commit 5f7a07646655fb4108da527565dcdc80124b14c4 ("afs: Fix endless loop in directory parsing") as that's a bugfix for the above. Fixes: 57e9d49c5452 ("afs: Hide silly-rename files from userspace") Reported-by: Markus Suvanto Link: https://lists.infradead.org/pipermail/linux-afs/2024-February/008102.= html Signed-off-by: David Howells Link: https://lore.kernel.org/r/3085695.1710328121@warthog.procyon.org.uk Reviewed-by: Jeffrey E Altman cc: Marc Dionne cc: linux-afs@lists.infradead.org Signed-off-by: Christian Brauner Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- fs/afs/dir.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/fs/afs/dir.c b/fs/afs/dir.c index 88f0e719c6ac0..a59d6293a32b2 100644 --- a/fs/afs/dir.c +++ b/fs/afs/dir.c @@ -418,16 +418,6 @@ static int afs_dir_iterate_block(struct afs_vnode *dvn= ode, continue; } =20 - /* Don't expose silly rename entries to userspace. */ - if (nlen > 6 && - dire->u.name[0] =3D=3D '.' && - ctx->actor !=3D afs_lookup_filldir && - ctx->actor !=3D afs_lookup_one_filldir && - memcmp(dire->u.name, ".__afs", 6) =3D=3D 0) { - ctx->pos =3D blkoff + next * sizeof(union afs_xdr_dirent); - continue; - } - /* found the next entry */ if (!dir_emit(ctx, dire->u.name, nlen, ntohl(dire->u.vnode), --=20 2.43.0 From nobody Fri Dec 19 20:33:58 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EC4CD2853E2; Sun, 24 Mar 2024 23:43:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323827; cv=none; b=ivskeUgttptEZ3/T3gn+Hl96ym34WSLaAp/Xby2BTb3V3LON5ovhtwX3GPy5qnQPpYBnhU50wygtZDz3O/NwDUmb/zvHpD8dSwYixw1SsGqdRSIXC+y7WNg/emNvh53585X4OhOazpf7CZFdOslfX/i880Jh44Bo1mbKQIfWewU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323827; c=relaxed/simple; bh=1O29+L8eYLtaC1wsuuN4KIqG/8nPNXCARHuSIJi92SA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lP9Bk2Rrn6JCgXdzoM73yGQSM32R2Nl9Dg10toeAjZrhjvDt3eHWJncwFsdgOfrsS6cNXrpd5h5tSq83OOAqqHTUcZZLXNDXjawifFyhPdm7+b7WofZb6ilB7Tt4q3KN4kH/TS7rtYaNyYpEcVBmOOPKyKUvFGqMopwx4C5+aGI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=d+GKWDyy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="d+GKWDyy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1DDDBC433F1; Sun, 24 Mar 2024 23:43:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323825; bh=1O29+L8eYLtaC1wsuuN4KIqG/8nPNXCARHuSIJi92SA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=d+GKWDyyonqgJDDnKPidb3HTFLrbv2ylZLWIWts+eK2/iflRt6DpSIQCnN9lAiTZ+ R4hdV55LA4IShK4bwiJVaulHIGoOEtgqtrg3ieHBnQrwjlNSvRX04/B+G33SVpWJms IBaurZ7/WZOfL8ZE3JpeJd9rNQ3Gg0Oy1hckwRD+FBFeYU5lrjX6dQ8xnk2ozhExdd vpyPZ/XWwiyJ2wSdaqISU6oNCLnf0py7QWE5SYC3gHiYzFTHqIbZGQ0WSe8c6hJQQs htKqafNVf4QNOaPr5JqdxCufQCVdxjDNS8LyxR/EPZP5UijQJqiO9dceODWhcF3Q23 z3MQ3XBkVuLEw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Rikard Falkeborn , Arnaud Pouliquen , Bjorn Andersson , Sasha Levin Subject: [PATCH 5.10 204/238] remoteproc: stm32: Constify st_rproc_ops Date: Sun, 24 Mar 2024 19:39:52 -0400 Message-ID: <20240324234027.1354210-205-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Rikard Falkeborn [ Upstream commit 0eee3d28ff6572f0e1afd41e863e44d396a308e2 ] The only usage of st_rproc_ops is to pass its address to rproc_alloc() which accepts a const pointer. Make it const to allow the compiler to put it in read-only memory. Acked-by: Arnaud Pouliquen Signed-off-by: Rikard Falkeborn Link: https://lore.kernel.org/r/20201107233630.9728-3-rikard.falkeborn@gmai= l.com Signed-off-by: Bjorn Andersson Stable-dep-of: 32381bbccba4 ("remoteproc: stm32: Fix incorrect type in assi= gnment for va") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/remoteproc/stm32_rproc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rp= roc.c index df784fec124f6..5f12553f0b6d7 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -553,7 +553,7 @@ static void stm32_rproc_kick(struct rproc *rproc, int v= qid) } } =20 -static struct rproc_ops st_rproc_ops =3D { +static const struct rproc_ops st_rproc_ops =3D { .start =3D stm32_rproc_start, .stop =3D stm32_rproc_stop, .attach =3D stm32_rproc_attach, --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E5D252853E1; Sun, 24 Mar 2024 23:43:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323827; cv=none; b=kdPX2Mwd/+D8BV/Xsq5QqtIuW81abLvb05kFwrH98iYCx8JR+NGsfdSiMuWqKpje+4Mr/SdawxkqV02ApO3b4oH+4MM7jAaxRmi4lcALOmwXztwRviXYWmvHptEwaf6KyNL27d1AgIFskE3UOVXR/32haGrd0f29z6wuOBDvltI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323827; c=relaxed/simple; bh=yD4s/Cc2n0W607Y/9dSf8d3YTH3Ld1KqT/zEpJQqr0E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Sum1rnwcAfbREzxfZSRsm8Cwq5EPcxaBEykCb5Gikq9qVghw+qFxu29ptD29SXrJcSOu0jrOvLD494vBDWP+yDwNiYOSvnkAmHsph8jCyBxYviqER5UXZL4xB/xVZmhmLGX8FAbtD9omuxeF9t+o4ZAOWnSdt5MWfBsf0ceMmgw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Njn3pCEL; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Njn3pCEL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 188B6C433C7; Sun, 24 Mar 2024 23:43:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323826; bh=yD4s/Cc2n0W607Y/9dSf8d3YTH3Ld1KqT/zEpJQqr0E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Njn3pCELI8bpEQ3NYaRack6MI3rmVdhz5cjiqQdzpEZh4iaGbhwwp5UWX9D8X5Gob mHfjl8FR6hLdOU0+3w8UrD0f48ZyLRPPVkW9O4x0hjSVQ4j67NSODjNoHHYOO1r+bZ saxdku33LrhvAD7jPTBx34HlaU1j/8mIkllqXOqYlKEo5ZS+hA2ja3cOsGby6A5ZE5 tNrO7rm626GhBchEe3mZF5rCU5KcK/txnCNEKSa2wUBGk3WV+YTVZi7uyncRwXsVsu 0dXhmILacKG+h9ogm5xsHnjgrtKpaGTpKKwB+FOWZLysSmaqtl9myjbwaeaFYoheqd aLNI3JN0zawVA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mathieu Poirier , Arnaud Pouliquen , Bjorn Andersson , Sasha Levin Subject: [PATCH 5.10 205/238] remoteproc: Add new get_loaded_rsc_table() to rproc_ops Date: Sun, 24 Mar 2024 19:39:53 -0400 Message-ID: <20240324234027.1354210-206-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mathieu Poirier [ Upstream commit 1a631382be1d22ddab0582dae3498b3d28e2e44a ] Add a new get_loaded_rsc_table() operation in order to support scenarios where the remoteproc core has booted a remote processor and detaches from it. When re-attaching to the remote processor, the core needs to know where the resource table has been placed in memory. Signed-off-by: Mathieu Poirier Reviewed-by: Arnaud Pouliquen Link: https://lore.kernel.org/r/20210312162453.1234145-6-mathieu.poirier@li= naro.org Signed-off-by: Bjorn Andersson Stable-dep-of: 32381bbccba4 ("remoteproc: stm32: Fix incorrect type in assi= gnment for va") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/remoteproc/remoteproc_core.c | 32 ++++++++++++++++++++++++ drivers/remoteproc/remoteproc_internal.h | 10 ++++++++ include/linux/remoteproc.h | 6 ++++- 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remo= teproc_core.c index cc55ff0128cf2..a933e345683c4 100644 --- a/drivers/remoteproc/remoteproc_core.c +++ b/drivers/remoteproc/remoteproc_core.c @@ -1539,6 +1539,32 @@ static int rproc_fw_boot(struct rproc *rproc, const = struct firmware *fw) return ret; } =20 +static int rproc_set_rsc_table(struct rproc *rproc) +{ + struct resource_table *table_ptr; + struct device *dev =3D &rproc->dev; + size_t table_sz; + int ret; + + table_ptr =3D rproc_get_loaded_rsc_table(rproc, &table_sz); + if (!table_ptr) { + /* Not having a resource table is acceptable */ + return 0; + } + + if (IS_ERR(table_ptr)) { + ret =3D PTR_ERR(table_ptr); + dev_err(dev, "can't load resource table: %d\n", ret); + return ret; + } + + rproc->cached_table =3D NULL; + rproc->table_ptr =3D table_ptr; + rproc->table_sz =3D table_sz; + + return 0; +} + /* * Attach to remote processor - similar to rproc_fw_boot() but without * the steps that deal with the firmware image. @@ -1558,6 +1584,12 @@ static int rproc_actuate(struct rproc *rproc) return ret; } =20 + ret =3D rproc_set_rsc_table(rproc); + if (ret) { + dev_err(dev, "can't load resource table: %d\n", ret); + goto disable_iommu; + } + /* reset max_notifyid */ rproc->max_notifyid =3D -1; =20 diff --git a/drivers/remoteproc/remoteproc_internal.h b/drivers/remoteproc/= remoteproc_internal.h index c34002888d2c3..4f73aac7e60d1 100644 --- a/drivers/remoteproc/remoteproc_internal.h +++ b/drivers/remoteproc/remoteproc_internal.h @@ -177,6 +177,16 @@ struct resource_table *rproc_find_loaded_rsc_table(str= uct rproc *rproc, return NULL; } =20 +static inline +struct resource_table *rproc_get_loaded_rsc_table(struct rproc *rproc, + size_t *size) +{ + if (rproc->ops->get_loaded_rsc_table) + return rproc->ops->get_loaded_rsc_table(rproc, size); + + return NULL; +} + static inline bool rproc_u64_fit_in_size_t(u64 val) { diff --git a/include/linux/remoteproc.h b/include/linux/remoteproc.h index 3fa3ba6498e87..2546758f13eb0 100644 --- a/include/linux/remoteproc.h +++ b/include/linux/remoteproc.h @@ -368,7 +368,9 @@ enum rsc_handling_status { * RSC_HANDLED if resource was handled, RSC_IGNORED if not handled and a * negative value on error * @load_rsc_table: load resource table from firmware image - * @find_loaded_rsc_table: find the loaded resouce table + * @find_loaded_rsc_table: find the loaded resource table from firmware im= age + * @get_loaded_rsc_table: get resource table installed in memory + * by external entity * @load: load firmware to memory, where the remote processor * expects to find it * @sanity_check: sanity check the fw image @@ -389,6 +391,8 @@ struct rproc_ops { int offset, int avail); struct resource_table *(*find_loaded_rsc_table)( struct rproc *rproc, const struct firmware *fw); + struct resource_table *(*get_loaded_rsc_table)( + struct rproc *rproc, size_t *size); int (*load)(struct rproc *rproc, const struct firmware *fw); int (*sanity_check)(struct rproc *rproc, const struct firmware *fw); u64 (*get_boot_addr)(struct rproc *rproc, const struct firmware *fw); --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E15082853EF; Sun, 24 Mar 2024 23:43:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323829; cv=none; b=UYNv8i1bV7z92Eumg4nvlvZCy+X5Tt/kdqyqZWPMfTgydq7USjWF15uKGVpMHwyBr6XwTToKTwUZ1791WGHk6QMJqiQfa6zDy3Ea0IeROWSfgMrvbUQnFbgCX39cZuRsKrQ6FVa9jvfVWkgnRf3Qydp5v5pFDsVVrTRM/wlVlMw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323829; c=relaxed/simple; bh=CX/s0lG8wv92EBpeE2scDwH0eIWJbUMNS7rOrrAQdI4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=m+e82Zi4G5RxDXu4LgUVVXQLItrNzUS3RnERxZZNcFzdS4VVGNmEJ1VVNWd0IfddD+A2k5Znk6GrRg4561cfZBPo5gg+BlqoS7Q6O0bhRS4PNUrU6M9XbqHqCpHzwxPxkpV1yWmBTivBQdxr3ekPV8Ky/R9P6+MEUPlai8n/Bnw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JZbqh28v; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JZbqh28v" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 15E5FC43390; Sun, 24 Mar 2024 23:43:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323827; bh=CX/s0lG8wv92EBpeE2scDwH0eIWJbUMNS7rOrrAQdI4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=JZbqh28v6rv4YCrJB4frPZrTgNNowswju7dF1jzp88GMnUFJG0MjhujvZ43kTiuFe nd1KE1EQWRh/6ILf9F8VooS+ZQ4j0vkIk7E6GhXaihHZdK3MhFwRfKCXqR4BNlpG4+ /EaEqGSpPXKGB7msqy/q37AdAtOSdbzh30WujcOuyh7M7XdXDZcGi4pCS+4cz+2rEP h4jQok0iu0LiLtv9Qxf1Ovi1sFkRyw/xAaAuMfsWmlZ1gG6yYVSKGUObI7Db39wmvn QGxbiX8hxhQJm/Q+dbQ2nX4tAD0A89At+bq0ALujuXruziT6cwVR599OPJQYyUdZs2 Suk2a9y83ATtA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mathieu Poirier , Arnaud Pouliquen , Bjorn Andersson , Sasha Levin Subject: [PATCH 5.10 206/238] remoteproc: stm32: Move resource table setup to rproc_ops Date: Sun, 24 Mar 2024 19:39:54 -0400 Message-ID: <20240324234027.1354210-207-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mathieu Poirier [ Upstream commit 8a471396d21ca499d89d4071b2b670258f009ffa ] Move the setting of the resource table installed by an external entity to rproc_ops::get_loaded_rsc_table(). This is to support scenarios where a remote processor has been attached to but is detached at a later stage. To re-attach the remote processor, the address of the resource table needs to be available at a later time than the platform driver's probe() function. Signed-off-by: Mathieu Poirier Reviewed-by: Arnaud Pouliquen Link: https://lore.kernel.org/r/20210312162453.1234145-7-mathieu.poirier@li= naro.org Signed-off-by: Bjorn Andersson Stable-dep-of: 32381bbccba4 ("remoteproc: stm32: Fix incorrect type in assi= gnment for va") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/remoteproc/stm32_rproc.c | 141 +++++++++++++++---------------- 1 file changed, 68 insertions(+), 73 deletions(-) diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rp= roc.c index 5f12553f0b6d7..b410684c3aa90 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -553,6 +553,73 @@ static void stm32_rproc_kick(struct rproc *rproc, int = vqid) } } =20 +static int stm32_rproc_da_to_pa(struct rproc *rproc, + u64 da, phys_addr_t *pa) +{ + struct stm32_rproc *ddata =3D rproc->priv; + struct device *dev =3D rproc->dev.parent; + struct stm32_rproc_mem *p_mem; + unsigned int i; + + for (i =3D 0; i < ddata->nb_rmems; i++) { + p_mem =3D &ddata->rmems[i]; + + if (da < p_mem->dev_addr || + da >=3D p_mem->dev_addr + p_mem->size) + continue; + + *pa =3D da - p_mem->dev_addr + p_mem->bus_addr; + dev_dbg(dev, "da %llx to pa %#x\n", da, *pa); + + return 0; + } + + dev_err(dev, "can't translate da %llx\n", da); + + return -EINVAL; +} + +static struct resource_table * +stm32_rproc_get_loaded_rsc_table(struct rproc *rproc, size_t *table_sz) +{ + struct stm32_rproc *ddata =3D rproc->priv; + struct device *dev =3D rproc->dev.parent; + phys_addr_t rsc_pa; + u32 rsc_da; + int err; + + /* The resource table has already been mapped, nothing to do */ + if (ddata->rsc_va) + goto done; + + err =3D regmap_read(ddata->rsctbl.map, ddata->rsctbl.reg, &rsc_da); + if (err) { + dev_err(dev, "failed to read rsc tbl addr\n"); + return ERR_PTR(-EINVAL); + } + + if (!rsc_da) + /* no rsc table */ + return ERR_PTR(-ENOENT); + + err =3D stm32_rproc_da_to_pa(rproc, rsc_da, &rsc_pa); + if (err) + return ERR_PTR(err); + + ddata->rsc_va =3D devm_ioremap_wc(dev, rsc_pa, RSC_TBL_SIZE); + if (IS_ERR_OR_NULL(ddata->rsc_va)) { + dev_err(dev, "Unable to map memory region: %pa+%zx\n", + &rsc_pa, RSC_TBL_SIZE); + ddata->rsc_va =3D NULL; + return ERR_PTR(-ENOMEM); + } + +done: + /* Assuming the resource table fits in 1kB is fair */ + *table_sz =3D RSC_TBL_SIZE; + return (struct resource_table *)ddata->rsc_va; +} + static const struct rproc_ops st_rproc_ops =3D { .start =3D stm32_rproc_start, .stop =3D stm32_rproc_stop, @@ -561,6 +628,7 @@ static const struct rproc_ops st_rproc_ops =3D { .load =3D rproc_elf_load_segments, .parse_fw =3D stm32_rproc_parse_fw, .find_loaded_rsc_table =3D rproc_elf_find_loaded_rsc_table, + .get_loaded_rsc_table =3D stm32_rproc_get_loaded_rsc_table, .sanity_check =3D rproc_elf_sanity_check, .get_boot_addr =3D rproc_elf_get_boot_addr, }; @@ -704,75 +772,6 @@ static int stm32_rproc_get_m4_status(struct stm32_rpro= c *ddata, return regmap_read(ddata->m4_state.map, ddata->m4_state.reg, state); } =20 -static int stm32_rproc_da_to_pa(struct platform_device *pdev, - struct stm32_rproc *ddata, - u64 da, phys_addr_t *pa) -{ - struct device *dev =3D &pdev->dev; - struct stm32_rproc_mem *p_mem; - unsigned int i; - - for (i =3D 0; i < ddata->nb_rmems; i++) { - p_mem =3D &ddata->rmems[i]; - - if (da < p_mem->dev_addr || - da >=3D p_mem->dev_addr + p_mem->size) - continue; - - *pa =3D da - p_mem->dev_addr + p_mem->bus_addr; - dev_dbg(dev, "da %llx to pa %#x\n", da, *pa); - - return 0; - } - - dev_err(dev, "can't translate da %llx\n", da); - - return -EINVAL; -} - -static int stm32_rproc_get_loaded_rsc_table(struct platform_device *pdev, - struct rproc *rproc, - struct stm32_rproc *ddata) -{ - struct device *dev =3D &pdev->dev; - phys_addr_t rsc_pa; - u32 rsc_da; - int err; - - err =3D regmap_read(ddata->rsctbl.map, ddata->rsctbl.reg, &rsc_da); - if (err) { - dev_err(dev, "failed to read rsc tbl addr\n"); - return err; - } - - if (!rsc_da) - /* no rsc table */ - return 0; - - err =3D stm32_rproc_da_to_pa(pdev, ddata, rsc_da, &rsc_pa); - if (err) - return err; - - ddata->rsc_va =3D devm_ioremap_wc(dev, rsc_pa, RSC_TBL_SIZE); - if (IS_ERR_OR_NULL(ddata->rsc_va)) { - dev_err(dev, "Unable to map memory region: %pa+%zx\n", - &rsc_pa, RSC_TBL_SIZE); - ddata->rsc_va =3D NULL; - return -ENOMEM; - } - - /* - * The resource table is already loaded in device memory, no need - * to work with a cached table. - */ - rproc->cached_table =3D NULL; - /* Assuming the resource table fits in 1kB is fair */ - rproc->table_sz =3D RSC_TBL_SIZE; - rproc->table_ptr =3D (struct resource_table *)ddata->rsc_va; - - return 0; -} - static int stm32_rproc_probe(struct platform_device *pdev) { struct device *dev =3D &pdev->dev; @@ -812,10 +811,6 @@ static int stm32_rproc_probe(struct platform_device *p= dev) ret =3D stm32_rproc_parse_memory_regions(rproc); if (ret) goto free_resources; - - ret =3D stm32_rproc_get_loaded_rsc_table(pdev, rproc, ddata); - if (ret) - goto free_resources; } =20 rproc->has_iommu =3D false; --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DC6E02853F6; Sun, 24 Mar 2024 23:43:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323830; cv=none; b=tYIEaEJVw8iN2dLOlTq96PlwQGCu8+lgMABUOCkBzmwdzAICZKZYuLEPUyWb+sC7/w/mNjWJhVQwIGssOfepNxcPx+N6S2qXe7Gf1QvvPnAUmmJv07Nk6Fh9SBwBt1C1lIkHq5y9tTvnE9sOD3a2lwxeZ1KL9ZvoWlCAuKxnP3g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323830; c=relaxed/simple; bh=gso14qdhcLYmuzqsGSlhn50akIu/WBnOxsTxJ7leCmg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RipyKd0kFIHw/4PQPDlaxrF7JUMndFxuNKNyhmKkdN2H+Ky5ycI5ZBFu/N/dXlzUW4ts0KO8Gu0b66Wehl4YKKtKUwvFfaosO2JKJ0h3CCKb4/pPlthyDuG/qlDul39+fBJQZODwl+3Kamvp1u8eQZCjOiPUQMgYTgO0dxR29zY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=acJe5k3v; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="acJe5k3v" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 12454C433C7; Sun, 24 Mar 2024 23:43:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323828; bh=gso14qdhcLYmuzqsGSlhn50akIu/WBnOxsTxJ7leCmg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=acJe5k3vIVk8c2/o9YIk3j/XPrusln6ohXTU4oHd29bx43C4lrLng05RU0OOc8bjA xl9CowsvXQu6hdk+JjrG9MrTpiLm2C4qQv0s+EJr079Bz+7/azHaSO7Llrb5XJUah9 lzFRK+bqhDpbW83fVqop2Im7L9b/f3OxOa7zITWzMMUSUrONebwMsWPPUyGfzvk2HA c153AtUWbS5D4UEYiFrTUA5tYZgsul5ImBNr2k1B3W6QmrUI7Yzt02HsTcR2og+xK0 5qGJJz3OgLidKwOwvZQ/kiHRrBNNdEIHjRco6oaClOAOpGk91CkdaMVQa7vmCD/GkI DrKm69u7q9H7Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Arnaud Pouliquen , Randy Dunlap , Sasha Levin Subject: [PATCH 5.10 207/238] remoteproc: stm32: use correct format strings on 64-bit Date: Sun, 24 Mar 2024 19:39:55 -0400 Message-ID: <20240324234027.1354210-208-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit 03bd158e1535e68bcd2b1e095b0ebcad7c84bd20 ] With CONFIG_ARCH_STM32 making it into arch/arm64, a couple of format strings no longer work, since they rely on size_t being compatible with %x, or they print an 'int' using %z: drivers/remoteproc/stm32_rproc.c: In function 'stm32_rproc_mem_alloc': drivers/remoteproc/stm32_rproc.c:122:22: error: format '%x' expects argumen= t of type 'unsigned int', but argument 5 has type 'size_t' {aka 'long unsig= ned int'} [-Werror=3Dformat=3D] drivers/remoteproc/stm32_rproc.c:122:40: note: format string is defined here 122 | dev_dbg(dev, "map memory: %pa+%x\n", &mem->dma, mem->len); | ~^ | | | unsigned int | %lx drivers/remoteproc/stm32_rproc.c:125:30: error: format '%x' expects argumen= t of type 'unsigned int', but argument 4 has type 'size_t' {aka 'long unsig= ned int'} [-Werror=3Dformat=3D] drivers/remoteproc/stm32_rproc.c:125:65: note: format string is defined here 125 | dev_err(dev, "Unable to map memory region: %pa+%x\n= ", | ~^ | | | uns= igned int | %lx drivers/remoteproc/stm32_rproc.c: In function 'stm32_rproc_get_loaded_rsc_t= able': drivers/remoteproc/stm32_rproc.c:646:30: error: format '%zx' expects argume= nt of type 'size_t', but argument 4 has type 'int' [-Werror=3Dformat=3D] drivers/remoteproc/stm32_rproc.c:646:66: note: format string is defined here 646 | dev_err(dev, "Unable to map memory region: %pa+%zx\= n", | ~~^ | | | lo= ng unsigned int | %x Fix up all three instances to work across architectures, and enable compile testing for this driver to ensure it builds everywhere. Reviewed-by: Arnaud Pouliquen Acked-by: Randy Dunlap Tested-by: Randy Dunlap Signed-off-by: Arnd Bergmann Stable-dep-of: 32381bbccba4 ("remoteproc: stm32: Fix incorrect type in assi= gnment for va") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/remoteproc/Kconfig | 2 +- drivers/remoteproc/stm32_rproc.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig index d99548fb5ddef..6dbf6ed10ea49 100644 --- a/drivers/remoteproc/Kconfig +++ b/drivers/remoteproc/Kconfig @@ -249,7 +249,7 @@ config ST_SLIM_REMOTEPROC =20 config STM32_RPROC tristate "STM32 remoteproc support" - depends on ARCH_STM32 + depends on ARCH_STM32 || COMPILE_TEST depends on REMOTEPROC select MAILBOX help diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rp= roc.c index b410684c3aa90..8f7fb1baed10d 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -117,10 +117,10 @@ static int stm32_rproc_mem_alloc(struct rproc *rproc, struct device *dev =3D rproc->dev.parent; void *va; =20 - dev_dbg(dev, "map memory: %pa+%x\n", &mem->dma, mem->len); + dev_dbg(dev, "map memory: %pad+%zx\n", &mem->dma, mem->len); va =3D ioremap_wc(mem->dma, mem->len); if (IS_ERR_OR_NULL(va)) { - dev_err(dev, "Unable to map memory region: %pa+%x\n", + dev_err(dev, "Unable to map memory region: %pad+0x%zx\n", &mem->dma, mem->len); return -ENOMEM; } @@ -608,7 +608,7 @@ stm32_rproc_get_loaded_rsc_table(struct rproc *rproc, s= ize_t *table_sz) =20 ddata->rsc_va =3D devm_ioremap_wc(dev, rsc_pa, RSC_TBL_SIZE); if (IS_ERR_OR_NULL(ddata->rsc_va)) { - dev_err(dev, "Unable to map memory region: %pa+%zx\n", + dev_err(dev, "Unable to map memory region: %pa+%x\n", &rsc_pa, RSC_TBL_SIZE); ddata->rsc_va =3D NULL; return ERR_PTR(-ENOMEM); --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D9C022853F5; Sun, 24 Mar 2024 23:43:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323829; cv=none; b=D9vbQEDn/tTvSOfqMiEsJd73xYeYFU0j6o8R1IOgSPq3+9jhJ+YOeTqUvPRwap+Qo0RRnf8Txku3pUXMBd/k0gY7fYIPly/8RP5OTTCWBhAPlFjGvOVuYGHc96FnO2J+M6rDEgLbInRuKEs5ZT2Mf3Z0JC1aVZW3pqW6WKSY4w0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323829; c=relaxed/simple; bh=RdXCrAiJHu1NYvt4KGF+CTCIYXQKUHk4h5FLZoZ/CwQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Iz7srCoxWmK2DfDk/cuLW6O31sy0UA2zgTC8gkhhD4Cc7FCqshQDHsMbRdBQZI47ZU3dJwx5keUOXnEMEEHP3uQY//WRnMAFoIawRKxPh6TjFqz+XRo0E0gv3IVn7/IZhuxCoawucOJSE6hjdfFCn28sKneovyHFWMqZ1ZWyD7I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BQn61eP0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BQn61eP0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0C7CBC433A6; Sun, 24 Mar 2024 23:43:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323829; bh=RdXCrAiJHu1NYvt4KGF+CTCIYXQKUHk4h5FLZoZ/CwQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BQn61eP0qwc+SdC270mdJoTSQyC5pl41dz0PHRilJHaVmC/dsCjF8Zcobg7/97f1M rcgGdhMJx5liGmBXjfaEnU0Br+6pULP8V01x9559buN1JiHpx1kfmaK+NkfzHa6URP ene4tiufIm4jJBb06B8mhaWFap8AdvLkWa7HrJ+c5kuambfuTO2M5/0EK25hXTHGLG mK9fZBLzXOfnSC5cIK4pS7eWEyhTVbyX5gS5XAhsGp+DquAsiA13zEI4WO6TWEBdA6 Ou/kyw5CZbehaIN3RhoIrNbDZs5ap+l2U8LhbtGa+7hAaTp4GHcp8vptLXZS1a3CTO ebBwQsEjRZf/A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnaud Pouliquen , kernel test robot , Mathieu Poirier , Sasha Levin Subject: [PATCH 5.10 208/238] remoteproc: stm32: Fix incorrect type in assignment for va Date: Sun, 24 Mar 2024 19:39:56 -0400 Message-ID: <20240324234027.1354210-209-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnaud Pouliquen [ Upstream commit 32381bbccba4c21145c571701f8f7fb1d9b3a92e ] The sparse tool complains about the attribute conversion between a _iomem void * and a void *: stm32_rproc.c:122:12: sparse: sparse: incorrect type in assignment (differe= nt address spaces) @@ expected void *va @@ got void [noderef] __iom= em * @@ stm32_rproc.c:122:12: sparse: expected void *va stm32_rproc.c:122:12: sparse: got void [noderef] __iomem * Add '__force' to explicitly specify that the cast is intentional. This conversion is necessary to cast to virtual addresses pointer,used, by the remoteproc core. Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202312150052.HCiNKlqB-lkp@int= el.com/ Fixes: 13140de09cc2 ("remoteproc: stm32: add an ST stm32_rproc driver") Signed-off-by: Arnaud Pouliquen Link: https://lore.kernel.org/r/20240117135312.3381936-2-arnaud.pouliquen@f= oss.st.com Signed-off-by: Mathieu Poirier Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/remoteproc/stm32_rproc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rp= roc.c index 8f7fb1baed10d..d11949ae3ba0d 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -118,7 +118,7 @@ static int stm32_rproc_mem_alloc(struct rproc *rproc, void *va; =20 dev_dbg(dev, "map memory: %pad+%zx\n", &mem->dma, mem->len); - va =3D ioremap_wc(mem->dma, mem->len); + va =3D (__force void *)ioremap_wc(mem->dma, mem->len); if (IS_ERR_OR_NULL(va)) { dev_err(dev, "Unable to map memory region: %pad+0x%zx\n", &mem->dma, mem->len); @@ -135,7 +135,7 @@ static int stm32_rproc_mem_release(struct rproc *rproc, struct rproc_mem_entry *mem) { dev_dbg(rproc->dev.parent, "unmap memory: %pa\n", &mem->dma); - iounmap(mem->va); + iounmap((__force __iomem void *)mem->va); =20 return 0; } --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BE67B2853F8; Sun, 24 Mar 2024 23:43:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323831; cv=none; b=WOvcW5yIXsazKJlN7UHuUj8Y+nlPWu950xeP8jFvLHQQtpky6hzhqtMFJCSaXUV3+K98q6MwQW/sk0u3rmA/r220hDSrSbkCOOP3mbf7mGIxZSuzVLz/VAPkt+Yv9tILt02wD4g7AG2BMxGQTd47LcUyMoQJAdokidbxzfhqynI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323831; c=relaxed/simple; bh=Z2KX9mTTI28dMsecRddWr5ign6Feol3zpL27DLWJepI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TImbv3NDW7753Nsnl9HEpBUhvJFMKW2tvxouZgyeAfpuRSB3Zde13WmuSdNrbUpf13cTjJZlFqO3o9DIyokd3rjs2FqL6t0WB1MSCEmXP6JpKIEWAI73nTr9dQBJiotcTWMgQpd/1Dr7NC4eMKGNKhGCF55tQsmaM+7qu0wuTFU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=l0K3wmlw; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="l0K3wmlw" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A217C43394; Sun, 24 Mar 2024 23:43:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323830; bh=Z2KX9mTTI28dMsecRddWr5ign6Feol3zpL27DLWJepI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=l0K3wmlwLlA3aiK3VgG4vrhb+0S+wEHir/5bQ7jC8w6r09CN9NZCXzfVdp6AdWpZm cm4Ee047XsJ9MAte7JCDvKfs5DvAPJl607roxndgHY+L2jDoOMo3TV8yjoB4bWWUst kaMWjlQctna2f56DX9cQHs8oy0mJFoIBk4eT5hPAcXiXofXoGKs8iu5Kpl1u4c4PgF jl2eO1uDjWKTbSKxp5ldNr+spSCZkKLNZIVes63v+sLkIIPs9vniNtRTa/UQwRENAk RQhwoiRF+py3Avq3R2K74/g3r4/kf+ZOkJhBvgoHHj7dyJS3d7TWSW3/PRmVJJgcIj +mHO6Na5JZW3Q== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnaud Pouliquen , Mathieu Poirier , Sasha Levin Subject: [PATCH 5.10 209/238] remoteproc: stm32: Fix incorrect type assignment returned by stm32_rproc_get_loaded_rsc_tablef Date: Sun, 24 Mar 2024 19:39:57 -0400 Message-ID: <20240324234027.1354210-210-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnaud Pouliquen [ Upstream commit c77b35ce66af25bdd6fde60b62e35b9b316ea5c2 ] The sparse tool complains about the remove of the _iomem attribute. stm32_rproc.c:660:17: warning: cast removes address space '__iomem' of expr= ession Add '__force' to explicitly specify that the cast is intentional. This conversion is necessary to cast to addresses pointer, which are then managed by the remoteproc core as a pointer to a resource_table structure. Fixes: 8a471396d21c ("remoteproc: stm32: Move resource table setup to rproc= _ops") Signed-off-by: Arnaud Pouliquen Link: https://lore.kernel.org/r/20240117135312.3381936-3-arnaud.pouliquen@f= oss.st.com Signed-off-by: Mathieu Poirier Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/remoteproc/stm32_rproc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/remoteproc/stm32_rproc.c b/drivers/remoteproc/stm32_rp= roc.c index d11949ae3ba0d..6e529ea05d3a8 100644 --- a/drivers/remoteproc/stm32_rproc.c +++ b/drivers/remoteproc/stm32_rproc.c @@ -617,7 +617,7 @@ stm32_rproc_get_loaded_rsc_table(struct rproc *rproc, s= ize_t *table_sz) done: /* Assuming the resource table fits in 1kB is fair */ *table_sz =3D RSC_TBL_SIZE; - return (struct resource_table *)ddata->rsc_va; + return (__force struct resource_table *)ddata->rsc_va; } =20 static const struct rproc_ops st_rproc_ops =3D { --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D018717D229; Sun, 24 Mar 2024 23:43:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323831; cv=none; b=dRo2JHNcJt3OXpXLoo8CrWly1P7pqzCYNWjdAupGPPF39nTDSNqEsk2Tod0HbfgvTONweIJD7GlaJaAvhE7NykxkblgCAfrROiyjRR+eTtqiZUtDfhva/xzqD6aHEuAvCW3VS0Y4g8a4YNAcRDJ5qKpRK4fp2u9vaT9EpYIV+wY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323831; c=relaxed/simple; bh=3KA8CrEYQnz4vWq8t8Ue7MOGPQ3DZuEOWH3hf2mDdfc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=iFFDKoLTGtH01HKkKmdMK0Y89m7YfS0EZ0jF31gFZwyHkd0KA1vYDKeWKAHaOtHaHJqZkmx22V/D9lGu7ybWg4g4fYyeFatQBdwgRsjFamaQ7FhWgV2Ik2Xw4YZrlVWNKhF/eIKGcL6gNIWTHtKaoMcefixUOUkd9zuljyb8QOE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gLH4/u0E; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="gLH4/u0E" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E265EC433C7; Sun, 24 Mar 2024 23:43:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323831; bh=3KA8CrEYQnz4vWq8t8Ue7MOGPQ3DZuEOWH3hf2mDdfc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gLH4/u0EZG0TUA2MWb0Q16nasABaT1i4OpSkESq8zKyd06vxRXL5k9nOG6dAAjO6M lyY2Xi1ICdOvpCHMHqUpsZSHlJcVncFUa0nM+SIpa2sunyfyt2QPDzIrmYRrLfH3A+ +nrBtib0FM+0NwsM58doWXTuVUkHCSdXRR+X1gP8KppvdkWBGdV7yG8mXyhHHmeI3x 0Ihv3CDiSUyBRE8OBFJPzcGIj/UMDs18YRxV+8E6pmLPwX8gYAE9ksoxx8QqPC52oI xFLrffsRL6Lwq6e0RM7drot84mZSB1M4MnrWmlf0GEzaiTLDK8ZA42IevgO/zGng+/ d9+ZzAWLA+Jig== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: "Jiri Slaby (SUSE)" , Martin Hostettler , Helge Deller , Greg Kroah-Hartman , Sasha Levin Subject: [PATCH 5.10 210/238] tty: vt: fix 20 vs 0x20 typo in EScsiignore Date: Sun, 24 Mar 2024 19:39:58 -0400 Message-ID: <20240324234027.1354210-211-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: "Jiri Slaby (SUSE)" [ Upstream commit 0e6a92f67c8a94707f7bb27ac29e2bdf3e7c167d ] The if (c >=3D 20 && c <=3D 0x3f) test added in commit 7a99565f8732 is wrong. 20 is DC4 in ascii and it makes no sense to consider that as the bottom limit. Instead, it should be 0x20 as in the other test in the commit above. This is supposed to NOT change anything as we handle interesting 20-0x20 asciis far before this if. So for sakeness, change to 0x20 (which is SPACE). Signed-off-by: "Jiri Slaby (SUSE)" Fixes: 7a99565f8732 ("vt: ignore csi sequences with intermediate characters= .") Cc: Martin Hostettler Link: https://lore.kernel.org/all/ZaP45QY2WEsDqoxg@neutronstar.dyndns.org/ Tested-by: Helge Deller # parisc STI console Link: https://lore.kernel.org/r/20240122110401.7289-4-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/tty/vt/vt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/vt/vt.c b/drivers/tty/vt/vt.c index 0252c0562dbc8..df645d127e401 100644 --- a/drivers/tty/vt/vt.c +++ b/drivers/tty/vt/vt.c @@ -2516,7 +2516,7 @@ static void do_con_trol(struct tty_struct *tty, struc= t vc_data *vc, int c) } return; case EScsiignore: - if (c >=3D 20 && c <=3D 0x3f) + if (c >=3D 0x20 && c <=3D 0x3f) return; vc->vc_state =3D ESnormal; return; --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D7CFF156C54; Sun, 24 Mar 2024 23:43:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323833; cv=none; b=CLcfNVSOnmdyhrHXdzWw+5VPv66s5I2ec8+x/OSt5//B/daU2n5l0f3gKalc5LW0B+FGsd9Aqdl+4IuZKtJ9xqJH0DIkk5jzRevJxV6hYdYW5i7jVCU84HH76StIBYyaTkA8nk3W233ql8hSpaLSa4NXg1P85C7Kzblb3wk5c18= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323833; c=relaxed/simple; bh=xjEeStySw6cG5R87KJGT5mOzpahIShC3/rZ9tuhw6uM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=lvEh8G/4eMDYYIU23ZPHMHKq9sGKLoZVEUHd3OHI7s939vuFwiw4QYWKmVv+uzZ+Ccehr2AbLk5AuZdVWtgQLxziwYwpkdnjsMOGYcYLq/4ImLNDPwDTu5yKBF9F4co9ECej6c663ejAR5eGwXM+WJKQkvIQR18X/x/5xLp9+D8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Rxh7zLqd; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Rxh7zLqd" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 00444C43390; Sun, 24 Mar 2024 23:43:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323832; bh=xjEeStySw6cG5R87KJGT5mOzpahIShC3/rZ9tuhw6uM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Rxh7zLqdn4Rowv3TPhdxVavyF6mXPm21tik+9L75n0c0iTADyR8+UDgFi2MkkcmwY DuX1+g6//tGLqm7psWiDyQXYRFLInBr8wxd6kZknrqJQZQQYWd4Y5WGZCGo5uD55bR l+RsuEe5q86LTGRg8u3633TvfaMB/fW6/44BoJbvSyyrfl8+SQGFOzYLk5wlhLRen8 bgGh9f+DumgsK5nAVkKaOyOIQU3/sK/8EkvSkTlomamrGFU1smfX/ue10VMvCBxaoh g1go99yz2z5eazFfUjBWaOIqC3CSDDzY+ZBIHAz+ulKedYwjQdfx+wSrnh1Gz53b7I V6txE9LG1aZ7A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Hugo Villeneuve , Andy Shevchenko , Greg Kroah-Hartman , Sasha Levin Subject: [PATCH 5.10 211/238] serial: max310x: fix syntax error in IRQ error message Date: Sun, 24 Mar 2024 19:39:59 -0400 Message-ID: <20240324234027.1354210-212-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Hugo Villeneuve [ Upstream commit 8ede8c6f474255b2213cccd7997b993272a8e2f9 ] Replace g with q. Helpful when grepping thru source code or logs for "request" keyword. Fixes: f65444187a66 ("serial: New serial driver MAX310X") Reviewed-by: Andy Shevchenko Signed-off-by: Hugo Villeneuve Link: https://lore.kernel.org/r/20240118152213.2644269-6-hugo@hugovil.com Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/tty/serial/max310x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/tty/serial/max310x.c b/drivers/tty/serial/max310x.c index 2f88eae8a55a1..5570fd3b84e15 100644 --- a/drivers/tty/serial/max310x.c +++ b/drivers/tty/serial/max310x.c @@ -1460,7 +1460,7 @@ static int max310x_probe(struct device *dev, const st= ruct max310x_devtype *devty if (!ret) return 0; =20 - dev_err(dev, "Unable to reguest IRQ %i\n", irq); + dev_err(dev, "Unable to request IRQ %i\n", irq); =20 out_uart: for (i =3D 0; i < devtype->nr; i++) { --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C531317D245; Sun, 24 Mar 2024 23:43:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323833; cv=none; b=oJJE8azvRuR3SX6ecQPUSDKvgtSC6VSPZdZLHgB+UenOUiVE84BGLg+bwzymYM9j0qsI0CFzqAW16ers3ZWYFFetJ8ajJ/gxN38VzPfYxcSAMFXT33Ld4G8NDSHkq+Bfmfs35YsKZjhJ4iHuhAnSXCdBgp5F5tDHKbvNeV0nUEQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323833; c=relaxed/simple; bh=efOCXq90+FiYF3jVmbxC+XB+McMxSo9NkmUFKknDLCA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CdTr9YyjQGpjSi/xw5i36L0q9B9ccFeXD3OFDn9MPDCrBhKgt+fCxzvwNIZJUUAOGSb32xwBjfrfe4/jA/6rMGX/4uE4jO/6mQITcp1nqqFgIoOKMf5ryP86YE3o9669Lfpzdh2BouPCdwhnQUgF54oF+dor3C0xIYVwWLo1t/M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TMaRRFjl; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TMaRRFjl" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EED40C433F1; Sun, 24 Mar 2024 23:43:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323833; bh=efOCXq90+FiYF3jVmbxC+XB+McMxSo9NkmUFKknDLCA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=TMaRRFjl18xt4jev16Rz653rirXwzBAOm3No1bWQz/xzzdUpJ2kPQaZLsJ9sUCz8X 6jkS15c1HPJto82blIaXL2Au+USU8rZG8Zb/Rm9gwTPLr+Zewd2BYFIph5H04VN6mH kq8wi5mC7szZ86Ry9oB4NfYc3th6lGblo/fKY9LaOglHILFguk2b6UZBHM6Rqw9yO/ USG3fBlqo0YqYxa7XKp9vDKWl53TlYLH6hiSoIS1wWLPxujVAfUPV/wQwgLFNjroqU SggxpoUiWl7AvjvIuChPJN+ZdC46k163QgXAMakwREwa33fdWTGFQboR7j9e2s8l/J 4p4KblG7O7DfA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Tudor Ambarus , Sam Protsenko , Greg Kroah-Hartman , Sasha Levin Subject: [PATCH 5.10 212/238] tty: serial: samsung: fix tx_empty() to return TIOCSER_TEMT Date: Sun, 24 Mar 2024 19:40:00 -0400 Message-ID: <20240324234027.1354210-213-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tudor Ambarus [ Upstream commit 314c2b399288f0058a8c5b6683292cbde5f1531b ] The core expects for tx_empty() either TIOCSER_TEMT when the tx is empty or 0 otherwise. s3c24xx_serial_txempty_nofifo() might return 0x4, and at least uart_get_lsr_info() tries to clear exactly TIOCSER_TEMT (BIT(1)). Fix tx_empty() to return TIOCSER_TEMT. Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2") Signed-off-by: Tudor Ambarus Reviewed-by: Sam Protsenko Link: https://lore.kernel.org/r/20240119104526.1221243-2-tudor.ambarus@lina= ro.org Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/tty/serial/samsung_tty.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/tty/serial/samsung_tty.c b/drivers/tty/serial/samsung_= tty.c index fa5b1321d9b15..5388eb7fa0f47 100644 --- a/drivers/tty/serial/samsung_tty.c +++ b/drivers/tty/serial/samsung_tty.c @@ -922,11 +922,10 @@ static unsigned int s3c24xx_serial_tx_empty(struct ua= rt_port *port) if ((ufstat & info->tx_fifomask) !=3D 0 || (ufstat & info->tx_fifofull)) return 0; - - return 1; + return TIOCSER_TEMT; } =20 - return s3c24xx_serial_txempty_nofifo(port); + return s3c24xx_serial_txempty_nofifo(port) ? TIOCSER_TEMT : 0; } =20 /* no modem control lines */ --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 93C1A17D247; Sun, 24 Mar 2024 23:43:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323834; cv=none; b=YdaPuwdVRNswhLQyRqnKA5ksxqFOSMFrkRNbZJnkrk+MCL+hiMOlWrS/Z0nPxmotvY1p4xc184g6TjwxQdqJ4KK2UVNbB43bUMl6MbVnzz3DtLwBxvii4y2LS+8t1f+4RccLrVzj7pQt8NiPAWAXEICIJf7TgP6bbBUw68nLhPk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323834; c=relaxed/simple; bh=HsUg5S/3AqL4buyV0K0NxnhMGaC2KNaoIWRU8mW7eOA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sSiC4LqTjC4sDfBz5bA81HQjz/yRpgy2hwZgrusI6wGj9m5pe2TZMr35RFd0lr2BW7JTJl+b4DxgNdUTA2z7vIbkGaEw0dwwkxoo8FJ1cdl3eHZxJxjz4orGJemRXeUZezVasL6nWyONS5ISagOvOj4S/XmG+Wmqd1zhxywegmE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dv5QYpF6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="dv5QYpF6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E91BEC433C7; Sun, 24 Mar 2024 23:43:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323834; bh=HsUg5S/3AqL4buyV0K0NxnhMGaC2KNaoIWRU8mW7eOA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dv5QYpF6LqdRqVUTpqYITd4jLS0G43jTz60d82SbgXKEJj8aA63vfA+vnLq2VsdSH oTtgS6RBVAa3LONJ7QKzYh4yirDplOw7RPQEZVHAPD+1IADgpm065lN6AbX0ukKB5V x+vEbDZw7R2M8yYCMbAnDzjrW4o6p1bphmrJ8snprLK8OMl9dfK7quCeVMt1JeNsDl tJ7+6m1IbKd7reUg3Bn2Dt5zDi8u5KdOIv1AneGv8TLTMBSGH5WEY4VEjgMVA+Qg+Z sMXcDLYDz3EN7WHJ7gtxXyWfRk9M68BQ58XGzpcyF0G88/eNyLVTlcYJMW8Zc2Eg+z vwQsBlIP2kaqw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Masahiro Yamada , Sasha Levin Subject: [PATCH 5.10 213/238] kconfig: fix infinite loop when expanding a macro at the end of file Date: Sun, 24 Mar 2024 19:40:01 -0400 Message-ID: <20240324234027.1354210-214-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Masahiro Yamada [ Upstream commit af8bbce92044dc58e4cc039ab94ee5d470a621f5 ] A macro placed at the end of a file with no newline causes an infinite loop. [Test Kconfig] $(info,hello) \ No newline at end of file I realized that flex-provided input() returns 0 instead of EOF when it reaches the end of a file. Fixes: 104daea149c4 ("kconfig: reference environment variables directly and= remove 'option env=3D'") Signed-off-by: Masahiro Yamada Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- scripts/kconfig/lexer.l | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/kconfig/lexer.l b/scripts/kconfig/lexer.l index 240109f965aeb..72e5e9ac52bb4 100644 --- a/scripts/kconfig/lexer.l +++ b/scripts/kconfig/lexer.l @@ -305,8 +305,11 @@ static char *expand_token(const char *in, size_t n) new_string(); append_string(in, n); =20 - /* get the whole line because we do not know the end of token. */ - while ((c =3D input()) !=3D EOF) { + /* + * get the whole line because we do not know the end of token. + * input() returns 0 (not EOF!) when it reachs the end of file. + */ + while ((c =3D input()) !=3D 0) { if (c =3D=3D '\n') { unput(c); break; --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 90C2A17D257; Sun, 24 Mar 2024 23:43:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323837; cv=none; b=nzdxPuydBmxf4Y4FkR4vBzMbMQwtC7KlSafFjNLd0Xk/MQxopro4YIZi6wkeQ928tAQnAptLd4YQdRfedI5rnGCngfie67Q3gwarc27n7a+ZpyzTpHmFME1QWedXV7sKeKw8pcGtFiSZx44UosKJgOuZzgeAn04VMc7pX3ffK30= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323837; c=relaxed/simple; bh=epx3Knk9RNJ4Vo/NPzLzQAq4psMUnGkQ7mnl0Vhi1Sc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=k9u+aDCDE91jeF9K7G2f643vJUeHj4fP5zzgC/B3pr00Yo/S226fdfIAMndiK6oQV7Sc0H4/1gkTUGRu56phqFrXuj5VxAZJckSeAXzaxdB0yLTd9WZ7Bo39nt0zyExORZd8ftEC8YUBIVmo05Gveacjx53z1+WWr/gp/CVLeqY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hKlrWTLm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hKlrWTLm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B78AFC433C7; Sun, 24 Mar 2024 23:43:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323836; bh=epx3Knk9RNJ4Vo/NPzLzQAq4psMUnGkQ7mnl0Vhi1Sc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hKlrWTLmEscDOfPpWVywVvVIZU2bGAYt34gz+mDRWZPTettUsCAAwMDgCjaaITnM3 iqcTmCmliLdmI3PusAQ7bqM7g7XqmHwLv/a+XzcjtSfGea8IcDvuNX+ti4lb9hrbVB UO4PmfHtjqREQW6y3ypUVBSGrt0+grqHT/8zNNOMREmKc1kW31jCqYDIxuAbNh6Oaf MNRCfAQY3KvvSo7MRDeCDWR4OZitjXG36MqmTjw1SAOa0DFg38tWGLSyVzhSO2MkDF PPN2rlE7Iwe4PFQKIVps7g9Q425T0zBz0b5/VSwc9MwnGUggw0QtlEk8DMRjmESyKG fueQjfBW1/SBQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Randy Dunlap , Arnd Bergmann , Eddie Huang , Sean Wang , Matthias Brugger , linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Alessandro Zummo , Alexandre Belloni , linux-rtc@vger.kernel.org, Marc Zyngier , Philipp Zabel , Peter Rosin , AngeloGioacchino Del Regno , Sasha Levin Subject: [PATCH 5.10 214/238] rtc: mt6397: select IRQ_DOMAIN instead of depending on it Date: Sun, 24 Mar 2024 19:40:02 -0400 Message-ID: <20240324234027.1354210-215-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Randy Dunlap [ Upstream commit 544c42f798e1651dcb04fb0395219bf0f1c2607e ] IRQ_DOMAIN is a hidden (not user visible) symbol. Users cannot set it directly thru "make *config", so drivers should select it instead of depending on it if they need it. Relying on it being set for a dependency is risky. Consistently using "select" or "depends on" can also help reduce Kconfig circular dependency issues. Therefore, change the use of "depends on" for IRQ_DOMAIN to "select" for RTC_DRV_MT6397. Fixes: 04d3ba70a3c9 ("rtc: mt6397: add IRQ domain dependency") Cc: Arnd Bergmann Cc: Eddie Huang Cc: Sean Wang Cc: Matthias Brugger Cc: linux-arm-kernel@lists.infradead.org Cc: linux-mediatek@lists.infradead.org Cc: Alessandro Zummo Cc: Alexandre Belloni Cc: linux-rtc@vger.kernel.org Cc: Marc Zyngier Cc: Philipp Zabel Cc: Peter Rosin Reviewed-by: AngeloGioacchino Del Regno Signed-off-by: Randy Dunlap Link: https://lore.kernel.org/r/20240213050258.6167-1-rdunlap@infradead.org Signed-off-by: Alexandre Belloni Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/rtc/Kconfig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index 54cf5ec8f4019..8ddd334e049e1 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig @@ -1833,7 +1833,8 @@ config RTC_DRV_MT2712 =20 config RTC_DRV_MT6397 tristate "MediaTek PMIC based RTC" - depends on MFD_MT6397 || (COMPILE_TEST && IRQ_DOMAIN) + depends on MFD_MT6397 || COMPILE_TEST + select IRQ_DOMAIN help This selects the MediaTek(R) RTC driver. RTC is part of MediaTek MT6397 PMIC. You should enable MT6397 PMIC MFD before select --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7279D17D252; Sun, 24 Mar 2024 23:43:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323838; cv=none; b=bIPt9vGjn5Dec2oHqroq6KfQFd2mRimGf8hZCHswP97bHAc0PcFn3ekEXbQbkkH97v6ItfeqlNQEp0HC0l8ZrtggL7Mr55zYL1T46w2X/3/apbpwfRPgFstGrYVYMKbx6TIlEp92/6Q8D5wWciBaxSe1f5bHsnEB22cInEBfC7s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323838; c=relaxed/simple; bh=gPCxG5KUKMDBx+4xfg2ayTlP2HLGPyoCCR1pzIXSQz8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dElQdnkmc3+rx39h2FvSJoz/NP98Ta8CuDEXuizzgj1TlAf6grbUWhAX43M9LF2qpXSnt+h/amLvYwP80tuta6MyxNMVZUQiLZYPiH4EQzUoUckgLHszOi+Cfz45ZikrO/4cV16S78Mal+ZuA2DLi6EzNTFhZxg73E/hXJ8FeYs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=m/CQGL5P; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="m/CQGL5P" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B211FC43399; Sun, 24 Mar 2024 23:43:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323837; bh=gPCxG5KUKMDBx+4xfg2ayTlP2HLGPyoCCR1pzIXSQz8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=m/CQGL5PHG0Cobr2gWZHLxBx3+j3PGp9nQ2mJR2zaQib7tGILczhLeJH3xrdcxx0a NsiTeA1MsKBsPLnjqF6v7zO+s8DDD0JWWytb23AIpCFQ0v3THO3XijL5s3CVjwbL+M jY3+dyt5nslBxFx8vwg93G/peFzY5bIgekfgD+416OfXbYcqQMoNc0w2MD12iVg3bF jXIdB/NzyFhdel68hxgR9fG3u6vnVKmOTPSGrmGAfIz1LJiW9969EkaRobIxzy7hXR atjhS3Xq4/DS0lmeqBuPc0LsovWBgTlUDn2hOeEWXn88rxNa6bYaLCGGgIffStRASC DtF2ZFDu/4F+A== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Andy Shevchenko , Greg Kroah-Hartman , Sasha Levin Subject: [PATCH 5.10 215/238] serial: 8250_exar: Don't remove GPIO device on suspend Date: Sun, 24 Mar 2024 19:40:03 -0400 Message-ID: <20240324234027.1354210-216-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Andy Shevchenko [ Upstream commit 73b5a5c00be39e23b194bad10e1ea8bb73eee176 ] It seems a copy&paste mistake that suspend callback removes the GPIO device. There is no counterpart of this action, means once suspended there is no more GPIO device available untile full unbind-bind cycle is performed. Remove suspicious GPIO device removal in suspend. Fixes: d0aeaa83f0b0 ("serial: exar: split out the exar code from 8250_pci") Signed-off-by: Andy Shevchenko Link: https://lore.kernel.org/r/20240219150627.2101198-2-andriy.shevchenko@= linux.intel.com Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/tty/serial/8250/8250_exar.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/= 8250_exar.c index 6e33c74e569f0..7c28d2752a4cd 100644 --- a/drivers/tty/serial/8250/8250_exar.c +++ b/drivers/tty/serial/8250/8250_exar.c @@ -688,6 +688,7 @@ static void exar_pci_remove(struct pci_dev *pcidev) for (i =3D 0; i < priv->nr; i++) serial8250_unregister_port(priv->line[i]); =20 + /* Ensure that every init quirk is properly torn down */ if (priv->board->exit) priv->board->exit(pcidev); } @@ -702,10 +703,6 @@ static int __maybe_unused exar_suspend(struct device *= dev) if (priv->line[i] >=3D 0) serial8250_suspend_port(priv->line[i]); =20 - /* Ensure that every init quirk is properly torn down */ - if (priv->board->exit) - priv->board->exit(pcidev); - return 0; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 837F517DC01; Sun, 24 Mar 2024 23:43:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323839; cv=none; b=CCchdfzIaquP8xDb+xQpx0up0uk6YwirUOucTp04hpPPRh/Hf/jS1KbmEU6wcasJ21QHXiKFkA8SLp1lo/7d6yzWGchJ4BRROn/mS31UMkakzGsBSDyY4mGToFXbIv1i9sU+suCiRU8thofCejj+e4km21ZtTzfb/SrbrOSWZEY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323839; c=relaxed/simple; bh=FTe4ZX7VYZ8SrJmSCLv4eDtXVTPqOYrMW0q9tjbwYoA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=U0Jl3sjOUIkio0mlqMxrIbaP92Y7DtfT+0Oj1VXtcXiliE34qfCicJefwNWKjQSRU9luIECFVZQj5oule6yh+hpaLgSux+5MxNQKQVYzqDl16lWDqKlqZ2TmT7SgT/YOyGreA0mKiOtyE6F9k2503RLd0AVnnIrIDsst1Wd9KOA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LuyElFY7; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LuyElFY7" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 971DCC433F1; Sun, 24 Mar 2024 23:43:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323838; bh=FTe4ZX7VYZ8SrJmSCLv4eDtXVTPqOYrMW0q9tjbwYoA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LuyElFY7GPGKussnd7uTuw/nokc3k4V7rKWNFXpFLkBi0SLHodf3GWVnv0l1TV3Sb VDXv4zWkqi8YSjyDCdyhEvtx+SGtNLJlZCrlEsh1XOp/bM5LgToa8dErvsBfA6rqdk 5MPr20cBZo/BBEHhPSYThD96D98hqcBb4ChTs2C8HYmvS5w7/uXimmOi0jURjD0Gvd vISNSn/WQTAnuseudRUN7i6UBV3G0QfgrglI5AxSd/e2CUWjjyQ+BO8aaIQXKXAKkE hNybGPFzgegwN3ktUj0uIWgZhjSIFI4cfsiOKjGjML5vRV53llxT7j725pWAVrSCkj eZYTYI5Ih4eSQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Dan Carpenter , Rui Miguel Silva , Alex Elder , Greg Kroah-Hartman , Sasha Levin Subject: [PATCH 5.10 216/238] staging: greybus: fix get_channel_from_mode() failure path Date: Sun, 24 Mar 2024 19:40:04 -0400 Message-ID: <20240324234027.1354210-217-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Dan Carpenter [ Upstream commit 34164202a5827f60a203ca9acaf2d9f7d432aac8 ] The get_channel_from_mode() function is supposed to return the channel which matches the mode. But it has a bug where if it doesn't find a matching channel then it returns the last channel. It should return NULL instead. Also remove an unnecessary NULL check on "channel". Fixes: 2870b52bae4c ("greybus: lights: add lights implementation") Signed-off-by: Dan Carpenter Reviewed-by: Rui Miguel Silva Reviewed-by: Alex Elder Link: https://lore.kernel.org/r/379c0cb4-39e0-4293-8a18-c7b1298e5420@moroto= .mountain Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/staging/greybus/light.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/staging/greybus/light.c b/drivers/staging/greybus/ligh= t.c index d2672b65c3f49..e59bb27236b9f 100644 --- a/drivers/staging/greybus/light.c +++ b/drivers/staging/greybus/light.c @@ -100,15 +100,15 @@ static struct led_classdev *get_channel_cdev(struct g= b_channel *channel) static struct gb_channel *get_channel_from_mode(struct gb_light *light, u32 mode) { - struct gb_channel *channel =3D NULL; + struct gb_channel *channel; int i; =20 for (i =3D 0; i < light->channels_count; i++) { channel =3D &light->channels[i]; - if (channel && channel->mode =3D=3D mode) - break; + if (channel->mode =3D=3D mode) + return channel; } - return channel; + return NULL; } =20 static int __gb_lights_flash_intensity_set(struct gb_channel *channel, --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B13428455C; Sun, 24 Mar 2024 23:43:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323839; cv=none; b=JOCCwHjaTHtD5pFQ4z8OmvOjLAjdfmGB2wd9fMtSKMLyPFyd/+g1MrcSa/5Ok7690ofjj16TzUQJlztXx5Kb/v1VShvbtP1TscxKEIoW32dPWm3LS+BzUAxtcgqCFq9OtUVzu9Ru12wGNSN0lfDdrWePMAt1hMi9oyHmsDAL0sw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323839; c=relaxed/simple; bh=jrQyLe8X+b3PX9XKbJ3rXz9mHx0HNEtkavhcDzAUs1g=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=gcu84twL4PSDpeI42XFwwbDwAemAcauUWIinlnPVCYvzB2hd7BD8/kMc53XrlRj91aiHftqpx9scqKhksq9cZHhTOvHSl9v4WC6lsGU/tfhPDkv3wNty1Ss2baVnhIkVQHEzMdvLNsH8jXNhSH4YB77GcFw/wAiFlr2+1FZ0Il8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CORIApFm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="CORIApFm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7370C43390; Sun, 24 Mar 2024 23:43:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323839; bh=jrQyLe8X+b3PX9XKbJ3rXz9mHx0HNEtkavhcDzAUs1g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CORIApFmzljBMCQzG5s4MNzwPtMaF64aGyEzWMO+u/qeAzjkPg33LtYY+f4SyS0rr qsS44Oanj8XyJ0rD0uILtrvu0cEnw8I+7ZP9WHQZls9QZBw+g/wA823xFduX6jboAW DK9fEaucrtHpBCZSfTNR4gFn1SjUEAAEcQq0g0TfbXLxhN5sP9b35MbT6KwLFukcA7 KoGm50DV1IsXuAZuYVWWrKGdzbIKU0nOSHhVuqITNB4lXlFpvvEqhnxHREIf2j+zRh sVElA/48Y577hTlrzIthKXnV8n93hFtoZuz6gDkrW9HdRIgXUX5NuCThYckRE0RhOv 96P8Yf68pZxQA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Colin Ian King , Alan Stern , Greg Kroah-Hartman , Sasha Levin Subject: [PATCH 5.10 217/238] usb: gadget: net2272: Use irqflags in the call to net2272_probe_fin Date: Sun, 24 Mar 2024 19:40:05 -0400 Message-ID: <20240324234027.1354210-218-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Colin Ian King [ Upstream commit 600556809f04eb3bbccd05218215dcd7b285a9a9 ] Currently the variable irqflags is being set but is not being used, it appears it should be used in the call to net2272_probe_fin rather than IRQF_TRIGGER_LOW being used. Kudos to Uwe Kleine-K=C3=B6nig for suggesting the fix. Cleans up clang scan build warning: drivers/usb/gadget/udc/net2272.c:2610:15: warning: variable 'irqflags' set but not used [-Wunused-but-set-variable] Fixes: ceb80363b2ec ("USB: net2272: driver for PLX NET2272 USB device contr= oller") Signed-off-by: Colin Ian King Acked-by: Alan Stern Link: https://lore.kernel.org/r/20240307181734.2034407-1-colin.i.king@gmail= .com Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/usb/gadget/udc/net2272.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/usb/gadget/udc/net2272.c b/drivers/usb/gadget/udc/net2= 272.c index 23a735641c3df..8c56efe6abc49 100644 --- a/drivers/usb/gadget/udc/net2272.c +++ b/drivers/usb/gadget/udc/net2272.c @@ -2636,7 +2636,7 @@ net2272_plat_probe(struct platform_device *pdev) goto err_req; } =20 - ret =3D net2272_probe_fin(dev, IRQF_TRIGGER_LOW); + ret =3D net2272_probe_fin(dev, irqflags); if (ret) goto err_io; =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58DD217DC06; Sun, 24 Mar 2024 23:44:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323840; cv=none; b=iMjeQTyX8Ta6ZuCqfhS+ZPbiOqgdHuvNaYPl3ftZL1xV7H7sWmKmahmqpqAi2nPgPAwtSU8XZhozYGTbNfiQY/b7bVwFadCpVd6XuSu6pA5SN6w8jNlJBdCOdPWbznOL+XsMLF7mOnXvnKV3Hvur6+3ynERp7wbY13bEzOHJ3ow= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323840; c=relaxed/simple; bh=c8yoc+gw3+doOP2QyCyd0FANFcQliti7oGbe3TbzbFc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cYSWpaPglIwV4MCdbLswnxaeGcxP3PsPEmdcVEbg+3HdGIG6q4JjFtpmz8PAVWMYRd4kPkwNKarZMzZMbzmAPbTp7tWfVybF6arRDx8qqnN2Tvrn8XOFoN2FqFOtK5W80Dzd1ZSFnHJi7x92PCjQX9982QU0NxPM1Fq7Od3eCqM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tmgQ1KsC; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="tmgQ1KsC" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9FEF2C433C7; Sun, 24 Mar 2024 23:43:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323840; bh=c8yoc+gw3+doOP2QyCyd0FANFcQliti7oGbe3TbzbFc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tmgQ1KsCWAvDOfqfttSmMTj8c6PUJj5SeNYT1WIRsf9yKJjxZTfI31diPrdiJY13n 4qmZqU3w9lxKO6pLf8VCic+onFdL9b6BELumvN9dHzyBLqxc72Um5E0FTSCl+pIhyd cCJCd0LWLeMsFUqDZ1z8vgFVgefUwHVANpMiNlbpKytTWV9u9jbd9BA1YAl/RGAM9M pp4g5Uro7fttCvqRwtEoJfZav3yhIe3c2Z0F1lTHOeJyayh+AvHD9OViLx05fkyIfa MMCJuFwMdBxqfx04FiwdxYoM5luJDcc8JfpJ36/AYm3//q7RwOaUpAD0d/x28FtlCB nYGpCNV9yGTCA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Jens Axboe , Sasha Levin Subject: [PATCH 5.10 218/238] io_uring: don't save/restore iowait state Date: Sun, 24 Mar 2024 19:40:06 -0400 Message-ID: <20240324234027.1354210-219-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Jens Axboe [ Upstream commit 6f0974eccbf78baead1735722c4f1ee3eb9422cd ] This kind of state is per-syscall, and since we're doing the waiting off entering the io_uring_enter(2) syscall, there's no way that iowait can already be set for this case. Simplify it by setting it if we need to, and always clearing it to 0 when done. Fixes: 7b72d661f1f2 ("io_uring: gate iowait schedule on having pending requ= ests") Signed-off-by: Jens Axboe Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- io_uring/io_uring.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c index 67a355f27ad80..fc60396c90396 100644 --- a/io_uring/io_uring.c +++ b/io_uring/io_uring.c @@ -7640,7 +7640,7 @@ static inline int io_cqring_wait_schedule(struct io_r= ing_ctx *ctx, struct io_wait_queue *iowq, ktime_t *timeout) { - int io_wait, ret; + int ret; =20 /* make sure we run task_work before checking for signals */ ret =3D io_run_task_work_sig(); @@ -7655,13 +7655,12 @@ static inline int io_cqring_wait_schedule(struct io= _ring_ctx *ctx, * can take into account that the task is waiting for IO - turns out * to be important for low QD IO. */ - io_wait =3D current->in_iowait; if (current_pending_io()) current->in_iowait =3D 1; ret =3D 1; if (!schedule_hrtimeout(timeout, HRTIMER_MODE_ABS)) ret =3D -ETIME; - current->in_iowait =3D io_wait; + current->in_iowait =3D 0; return ret; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6A6E017DC13; Sun, 24 Mar 2024 23:44:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323842; cv=none; b=Sm+SsfN+zarfYfLR9+czJfyyopbC5O4Mhfj6bN0bl99CA/qISprtUcxPtW7jkehJ8bTZ9+0SLiEXMILOyJCVXIu+jsJohPZ2fL6U7fk+SdjRflRqX2k77cIuwnq+Y1WbEYjm75TBqv4IlkBkPSZ4KexvY3sm2/+hb57dboSkABo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323842; c=relaxed/simple; bh=qgJvgN2LHYJYDjN6bEkAEEGgxks64Tc9fbrS0uhs42A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OPN01S20gB3sewnDvH0kxfKChbt4YDqh7cK0kvzpbThY25QlSmwbS3nGemc8LcIUG0w6f1o+iYD/ZFskVKO7VUm95C588RzAY+KPguhzHSy4HXlUoF8PZXWdTsSrJVejdxXLY8aA+2/ITeJuUtOlkQop/01lOBiDVYcow5poXR0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=FEL9H/Mm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="FEL9H/Mm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6F9AAC43390; Sun, 24 Mar 2024 23:44:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323841; bh=qgJvgN2LHYJYDjN6bEkAEEGgxks64Tc9fbrS0uhs42A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FEL9H/Mmpl76d6jVruOMs/+6AOngj+7cNlRbeTo+OmG4IUF7MJi8l+kIxpAvIPm9V YYwNYKczIWQSA3VLX2WhC0t5zCeFReGxc86CmS3GAjbvMlpjwVpuGVsNajhWCExxpC M/V8lXvvEfzSxjA4gxbFAEfdrnK2TvEXaQ34m8L8JFDY0G+zdomGys4IO1PLQFSKP7 ZytVmb8nRD6EPMVY2nA3XSkGrwggxrJpY8DyZRksjfxMnJWYT+eI8YoB+Gl//130St ef2nMIISnbH6TKPKCwXe2JZMmexBg5lT+p4tIVJ7I0c5fnBs9WCEB2W3VcYga/MzIx QoeJxJqAIW/Bw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Linu Cherian , Sunil Goutham , Subbaraya Sundeep , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 219/238] octeontx2-af: Use matching wake_up API variant in CGX command interface Date: Sun, 24 Mar 2024 19:40:07 -0400 Message-ID: <20240324234027.1354210-220-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Linu Cherian [ Upstream commit e642921dfeed1e15e73f78f2c3b6746f72b6deb2 ] Use wake_up API instead of wake_up_interruptible, since wait_event_timeout API is used for waiting on command completion. Fixes: 1463f382f58d ("octeontx2-af: Add support for CGX link management") Signed-off-by: Linu Cherian Signed-off-by: Sunil Goutham Signed-off-by: Subbaraya Sundeep Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/ethernet/marvell/octeontx2/af/cgx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/marvell/octeontx2/af/cgx.c b/drivers/net/= ethernet/marvell/octeontx2/af/cgx.c index c0a0a31272cc2..55dfe1a20bc99 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/cgx.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/cgx.c @@ -714,7 +714,7 @@ static irqreturn_t cgx_fwi_event_handler(int irq, void = *data) =20 /* Release thread waiting for completion */ lmac->cmd_pend =3D false; - wake_up_interruptible(&lmac->wq_cmd_cmplt); + wake_up(&lmac->wq_cmd_cmplt); break; case CGX_EVT_ASYNC: if (cgx_event_is_linkevent(event)) --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5CBF517DC1B; Sun, 24 Mar 2024 23:44:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323843; cv=none; b=tjephUuUNGcdVnlq/xIdJN7Ka/7Xg70nSzO4wQM35jX40Af22nVpVLXqhR91EZGyrkdHRazbaCw2DZl3F+Qu8O8ADFxM0X72S0lmIIZJH2uTUAFcfBhETe6vlWVcv1xzzgjJZ8lJ10isWqa2afFwor7oVFuukZEQ1RMdjzWI410= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323843; c=relaxed/simple; bh=W0aSp3rIAkXDSRRDV929dU0asFR/emNu7jE6ME/72Rg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OCNoB1mljkFlIPf1aVC+ZwvupRhYmNpNluonKp9IV3ehTRHbAOEubMK1T2eJ83lUdTe/hOPAyGEkqjFADhao4eW5JZLfUuZ6HTjlmqzgbl1I3WprrhJztBOafxrJI20lA7JhJibpLq+TuCicRtj1Qe27yyCvCoTMuv9CrwSMoPc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=XZmug1Yh; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="XZmug1Yh" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 83286C433C7; Sun, 24 Mar 2024 23:44:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323842; bh=W0aSp3rIAkXDSRRDV929dU0asFR/emNu7jE6ME/72Rg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XZmug1YheXygnwAz2OCGJhBVsG6JEht3hNAT2MGfnXU97vS8lPJLuXjLecn6TODFz wpr6/Y5V0YO9RIg5hU9LRdGGZ105sIweBzwPQexk1Y1h/1hCYba+vufUQNgDkJtJAr JOimnxoUNdGxGZS4dU7jh0k4Qs4LyZdCCep3uEgRRKQh2G/DHRzrPYYLQDEqhozx68 HidtzHs8mCT152HTUynC1ZoTA9PKYZI2IA3D9qSjF8D1lrNynB39aTLxvcVujiCrey ExpNt4w79sLmqZMwnSr0Xc1HEQFgbTfaHaqnbEZgW+XHE16kZ3HYcrIwjwYr0nKakp ri7I4ip/78Uyw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Mete Durlu , Heiko Carstens , Christian Borntraeger , Sasha Levin Subject: [PATCH 5.10 220/238] s390/vtime: fix average steal time calculation Date: Sun, 24 Mar 2024 19:40:08 -0400 Message-ID: <20240324234027.1354210-221-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Mete Durlu [ Upstream commit 367c50f78451d3bd7ad70bc5c89f9ba6dec46ca9 ] Current average steal timer calculation produces volatile and inflated values. The only user of this value is KVM so far and it uses that to decide whether or not to yield the vCPU which is seeing steal time. KVM compares average steal timer to a threshold and if the threshold is past then it does not allow CPU polling and yields it to host, else it keeps the CPU by polling. Since KVM's steal time threshold is very low by default (%10) it most likely is not effected much by the bloated average steal timer values because the operating region is pretty small. However there might be new users in the future who might rely on this number. Fix average steal timer calculation by changing the formula from: avg_steal_timer =3D avg_steal_timer / 2 + steal_timer; to the following: avg_steal_timer =3D (avg_steal_timer + steal_timer) / 2; This ensures that avg_steal_timer is actually a naive average of steal timer values. It now closely follows steal timer values but of course in a smoother manner. Fixes: 152e9b8676c6 ("s390/vtime: steal time exponential moving average") Signed-off-by: Mete Durlu Acked-by: Heiko Carstens Acked-by: Christian Borntraeger Signed-off-by: Heiko Carstens Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- arch/s390/kernel/vtime.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/s390/kernel/vtime.c b/arch/s390/kernel/vtime.c index 579ec3a8c816f..bd65ff88c5baa 100644 --- a/arch/s390/kernel/vtime.c +++ b/arch/s390/kernel/vtime.c @@ -214,13 +214,13 @@ void vtime_flush(struct task_struct *tsk) virt_timer_expire(); =20 steal =3D S390_lowcore.steal_timer; - avg_steal =3D S390_lowcore.avg_steal_timer / 2; + avg_steal =3D S390_lowcore.avg_steal_timer; if ((s64) steal > 0) { S390_lowcore.steal_timer =3D 0; account_steal_time(cputime_to_nsecs(steal)); avg_steal +=3D steal; } - S390_lowcore.avg_steal_timer =3D avg_steal; + S390_lowcore.avg_steal_timer =3D avg_steal / 2; } =20 /* --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4222817DC1E; Sun, 24 Mar 2024 23:44:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323844; cv=none; b=TPCTcnZVUeTadOERO9Fmm20xVX9bRKCbnVC94OzyY/RHHviQedPofF6KqTBYuSYUM3cC37MU382OBpsdgTu/pyApal25Wuo2dhpsi1NIjeN/tovSjA0pKdUR9ZyCYoCWL+F0mm09NoPaiWj5tMQZcB2tJplBpXku9etUr0HTZ2A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323844; c=relaxed/simple; bh=CBebaG+0xbdd5y6jn27EFF7OtljaxvopzEok4XjCYh4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MQemNIU0t7FqcnSAWv3WnYvSHmlLQHHaxgycM8egW/vKVBLL8Y8pAjwJ0IAWc8ypYcZUX+rJuhxBPGfZMlGaXJTGIKLtk1v2Jj6kUUrJ3vaIaIba2A83l9QgSgBeH6QylIv3NcUoLh3CSZ2WpiehDVk7OQCpE+R9rx+JL7+XD+s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kZvd0NKQ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kZvd0NKQ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FB28C43399; Sun, 24 Mar 2024 23:44:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323843; bh=CBebaG+0xbdd5y6jn27EFF7OtljaxvopzEok4XjCYh4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kZvd0NKQ+gUCZPSaqH9LHE5L02tnyvuOlYudjUYk6xjbW8KXrOS7YWft+mR+g4L4x zORy6RW68KqBli0W3MCeKa3JaTul+Bum1CYpMettWSJDThzcMUK9d9v2hFaUPU/KgH bVT7ypB/ZgKrz2Yyy/vGEvTiVRC3j/61toLsaEy4EfmzzlxzWzZr80FrmKSUFiGMIg MoB4/esZ6aM8biG78FXHuDdNUeIPH2m5a9V5yyqMV3LbG3Sf1A4D7gZxEsxDEMeB2I 3d9KA2QRbPVSx8hwYQzVYvC+gmGCdjR1oPN5w0fgGuy0cg/OowWgpd+f15jCoaqhtD oiceCQduEpJjA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Arnd Bergmann , Dmitry Antipov , Sasha Levin Subject: [PATCH 5.10 221/238] soc: fsl: dpio: fix kcalloc() argument order Date: Sun, 24 Mar 2024 19:40:09 -0400 Message-ID: <20240324234027.1354210-222-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Arnd Bergmann [ Upstream commit 72ebb41b88f9d7c10c5e159e0507074af0a22fe2 ] A previous bugfix added a call to kcalloc(), which starting in gcc-14 causes a harmless warning about the argument order: drivers/soc/fsl/dpio/dpio-service.c: In function 'dpaa2_io_service_enqueue_= multiple_desc_fq': drivers/soc/fsl/dpio/dpio-service.c:526:29: error: 'kcalloc' sizes specifie= d with 'sizeof' in the earlier argument and not in the later argument [-Wer= ror=3Dcalloc-transposed-args] 526 | ed =3D kcalloc(sizeof(struct qbman_eq_desc), 32, GFP_KERNEL= ); | ^~~~~~ drivers/soc/fsl/dpio/dpio-service.c:526:29: note: earlier argument should s= pecify number of elements, later size of each element Since the two are only multiplied, the order does not change the behavior, so just fix it now to shut up the compiler warning. Dmity independently came up with the same fix. Fixes: 5c4a5999b245 ("soc: fsl: dpio: avoid stack usage warning") Reported-by: Dmitry Antipov Signed-off-by: Arnd Bergmann Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/soc/fsl/dpio/dpio-service.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/fsl/dpio/dpio-service.c b/drivers/soc/fsl/dpio/dpi= o-service.c index 779c319a4b820..6cdd2c517ba68 100644 --- a/drivers/soc/fsl/dpio/dpio-service.c +++ b/drivers/soc/fsl/dpio/dpio-service.c @@ -485,7 +485,7 @@ int dpaa2_io_service_enqueue_multiple_desc_fq(struct dp= aa2_io *d, struct qbman_eq_desc *ed; int i, ret; =20 - ed =3D kcalloc(sizeof(struct qbman_eq_desc), 32, GFP_KERNEL); + ed =3D kcalloc(32, sizeof(struct qbman_eq_desc), GFP_KERNEL); if (!ed) return -ENOMEM; =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3AE9217DC1D; Sun, 24 Mar 2024 23:44:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323844; cv=none; b=nrMjeWM7aGMcPBkofU636cleL4Mk+ZwplnYoRd20ln4b2HaisxuA+jfsOLMESRU3KtchBJIT/fRF3J7T5aRI8RgZelLt6fBpUNX6F8gYGPKKs0LLF5peORUOtfeZcdsy4gj8sAmV5QVlJAQDX58ORBNQLvpPX3F/cD+tRC+3GUg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323844; c=relaxed/simple; bh=5X8S5ybhvWZig025ctYVfTowCUD3Su5evdmdXKPRrx8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rGpjUSdvV28n0buwONiuWQ0SJ4Nf+Q/FScyZxI9NrOcNqPSQs6QS6Q3xgTWMEEr2STMSor3/Q0ZVfm/5qqUZkeNZZUfYXHMxYczZKfJ8HnxnLg974NhC1tNlMUwH/UxKn5Zv1ImVsCp2cCIQ+g+ZrJa0SgpVJ8bzTV7jX2dkmxE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=miv0UUYP; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="miv0UUYP" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 660F9C433F1; Sun, 24 Mar 2024 23:44:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323844; bh=5X8S5ybhvWZig025ctYVfTowCUD3Su5evdmdXKPRrx8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=miv0UUYPyoP1ZPda54z6P2CHLB3Ob/CLnSZLytxaSsrTRTIhrZhlgEP7aQl/HcpU6 Rjc6xlV58NbQb16mEIpwPjvj0u92Fn94lSddmwJ5HD+KoLKjoKLF11jBAgkXBOsza8 WlUWmASowDMFzKcH3k4bV0I94dI0IXGqLOfaxxqHpZCiri7mKjcZotDioNgFiV/1hS hF3jaThj0nuFL3+xWo65xuG8fq1/iNWbuuBtA3EsYczwELYJfKNvrY6ACc8AYhhQ5V 9VJiT7HlUnpwZkRLZm24LFIY1mGpNH2A6UCwtnnm7LFGsSa6bheemqm7bkKPYdQmDp qcJkeBVb/zjkw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Shigeru Yoshida , syzbot+2ef3a8ce8e91b5a50098@syzkaller.appspotmail.com, Paolo Abeni , Sasha Levin Subject: [PATCH 5.10 222/238] hsr: Fix uninit-value access in hsr_get_node() Date: Sun, 24 Mar 2024 19:40:10 -0400 Message-ID: <20240324234027.1354210-223-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Shigeru Yoshida [ Upstream commit ddbec99f58571301679addbc022256970ca3eac6 ] KMSAN reported the following uninit-value access issue [1]: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D BUG: KMSAN: uninit-value in hsr_get_node+0xa2e/0xa40 net/hsr/hsr_framereg.c= :246 hsr_get_node+0xa2e/0xa40 net/hsr/hsr_framereg.c:246 fill_frame_info net/hsr/hsr_forward.c:577 [inline] hsr_forward_skb+0xe12/0x30e0 net/hsr/hsr_forward.c:615 hsr_dev_xmit+0x1a1/0x270 net/hsr/hsr_device.c:223 __netdev_start_xmit include/linux/netdevice.h:4940 [inline] netdev_start_xmit include/linux/netdevice.h:4954 [inline] xmit_one net/core/dev.c:3548 [inline] dev_hard_start_xmit+0x247/0xa10 net/core/dev.c:3564 __dev_queue_xmit+0x33b8/0x5130 net/core/dev.c:4349 dev_queue_xmit include/linux/netdevice.h:3134 [inline] packet_xmit+0x9c/0x6b0 net/packet/af_packet.c:276 packet_snd net/packet/af_packet.c:3087 [inline] packet_sendmsg+0x8b1d/0x9f30 net/packet/af_packet.c:3119 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] __sys_sendto+0x735/0xa10 net/socket.c:2191 __do_sys_sendto net/socket.c:2203 [inline] __se_sys_sendto net/socket.c:2199 [inline] __x64_sys_sendto+0x125/0x1c0 net/socket.c:2199 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x6d/0x140 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b Uninit was created at: slab_post_alloc_hook+0x129/0xa70 mm/slab.h:768 slab_alloc_node mm/slub.c:3478 [inline] kmem_cache_alloc_node+0x5e9/0xb10 mm/slub.c:3523 kmalloc_reserve+0x13d/0x4a0 net/core/skbuff.c:560 __alloc_skb+0x318/0x740 net/core/skbuff.c:651 alloc_skb include/linux/skbuff.h:1286 [inline] alloc_skb_with_frags+0xc8/0xbd0 net/core/skbuff.c:6334 sock_alloc_send_pskb+0xa80/0xbf0 net/core/sock.c:2787 packet_alloc_skb net/packet/af_packet.c:2936 [inline] packet_snd net/packet/af_packet.c:3030 [inline] packet_sendmsg+0x70e8/0x9f30 net/packet/af_packet.c:3119 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg net/socket.c:745 [inline] __sys_sendto+0x735/0xa10 net/socket.c:2191 __do_sys_sendto net/socket.c:2203 [inline] __se_sys_sendto net/socket.c:2199 [inline] __x64_sys_sendto+0x125/0x1c0 net/socket.c:2199 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0x6d/0x140 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x63/0x6b CPU: 1 PID: 5033 Comm: syz-executor334 Not tainted 6.7.0-syzkaller-00562-g9= f8413c4a66f #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Goo= gle 11/17/2023 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D If the packet type ID field in the Ethernet header is either ETH_P_PRP or ETH_P_HSR, but it is not followed by an HSR tag, hsr_get_skb_sequence_nr() reads an invalid value as a sequence number. This causes the above issue. This patch fixes the issue by returning NULL if the Ethernet header is not followed by an HSR tag. Fixes: f266a683a480 ("net/hsr: Better frame dispatch") Reported-and-tested-by: syzbot+2ef3a8ce8e91b5a50098@syzkaller.appspotmail.c= om Closes: https://syzkaller.appspot.com/bug?extid=3D2ef3a8ce8e91b5a50098 [1] Signed-off-by: Shigeru Yoshida Link: https://lore.kernel.org/r/20240312152719.724530-1-syoshida@redhat.com Signed-off-by: Paolo Abeni Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/hsr/hsr_framereg.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/net/hsr/hsr_framereg.c b/net/hsr/hsr_framereg.c index 87fc86aade5c9..fc9fb3e5ae3e2 100644 --- a/net/hsr/hsr_framereg.c +++ b/net/hsr/hsr_framereg.c @@ -237,6 +237,10 @@ struct hsr_node *hsr_get_node(struct hsr_port *port, s= truct list_head *node_db, */ if (ethhdr->h_proto =3D=3D htons(ETH_P_PRP) || ethhdr->h_proto =3D=3D htons(ETH_P_HSR)) { + /* Check if skb contains hsr_ethhdr */ + if (skb->mac_len < sizeof(struct hsr_ethhdr)) + return NULL; + /* Use the existing sequence_nr from the tag as starting point * for filtering duplicate frames. */ --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7B80C17DC29; Sun, 24 Mar 2024 23:44:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323846; cv=none; b=uxwjJVQCgSEyZvMlst59djfPGb1Yi3yIAUVlqoD0Tecplt55tLiFugUy6Szscd/luSJpua7ilktLlae/HSBci9/zeFaR03Ff5mE8et3KiRQeeDItFeV1vDPY7NOm77Qtrb4UHI8PwrZOIXIa53TkiLntAiJvQQTjMXwaoU/WjQs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323846; c=relaxed/simple; bh=vSWO8Ia70MpTB/CB7poLlvBQQF4GDp6Lw1oukCFxiEM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=tbqPfqzo7cW5sU32HsjsbrWlvZTKL+cVEnW9X1+nSalmM/eVmahv8kPxo+YgP06ocFCsWuPug+nbpA/BUMzds7wdtrAIbQZwCqDJnGtm5Ta8fgeWUAEC6P1TzHLZKEnYmZyZ+9cYrCJrC8FNyDgZQtQOX2s8J8c9D2ST+F2TGNM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RayjSnhz; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="RayjSnhz" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5FA4EC43390; Sun, 24 Mar 2024 23:44:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323845; bh=vSWO8Ia70MpTB/CB7poLlvBQQF4GDp6Lw1oukCFxiEM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RayjSnhzHDa9xYSyRA01VArLPscu+/396jKs2n/nEhcMfMdHuPol/0c8IJtPM52KR GdzoYMj2oD6qNB4BZFQWHDTTB+LVTtZXbKS8YXDdIV69gKU2nNS6hKL3NzGjY7GyVv 6lErOv1OlYdw0U2DOC4fTbykI7WQDA7xZ/m+mL9r/JUauWm/5O+o67rjImewVzeOD2 Dz18+2pOZfzipUbDAJLz38Lq3STMGISu9xbzBnpU4MvDndD5S+/7/pgLKRM8zDQr8Z KYZeUVTU7J32Cxk1Rg6+8XNvSt+bqbhhzl1urXo6f2bDPFr557azZlp9jmU9n5QGWG Ld//priTYuYCw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Eric Dumazet , syzbot+c669c1136495a2e7c31f@syzkaller.appspotmail.com, Willem de Bruijn , Willem de Bruijn , Jason Xing , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 223/238] packet: annotate data-races around ignore_outgoing Date: Sun, 24 Mar 2024 19:40:11 -0400 Message-ID: <20240324234027.1354210-224-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Dumazet [ Upstream commit 6ebfad33161afacb3e1e59ed1c2feefef70f9f97 ] ignore_outgoing is read locklessly from dev_queue_xmit_nit() and packet_getsockopt() Add appropriate READ_ONCE()/WRITE_ONCE() annotations. syzbot reported: BUG: KCSAN: data-race in dev_queue_xmit_nit / packet_setsockopt write to 0xffff888107804542 of 1 bytes by task 22618 on cpu 0: packet_setsockopt+0xd83/0xfd0 net/packet/af_packet.c:4003 do_sock_setsockopt net/socket.c:2311 [inline] __sys_setsockopt+0x1d8/0x250 net/socket.c:2334 __do_sys_setsockopt net/socket.c:2343 [inline] __se_sys_setsockopt net/socket.c:2340 [inline] __x64_sys_setsockopt+0x66/0x80 net/socket.c:2340 do_syscall_64+0xd3/0x1d0 entry_SYSCALL_64_after_hwframe+0x6d/0x75 read to 0xffff888107804542 of 1 bytes by task 27 on cpu 1: dev_queue_xmit_nit+0x82/0x620 net/core/dev.c:2248 xmit_one net/core/dev.c:3527 [inline] dev_hard_start_xmit+0xcc/0x3f0 net/core/dev.c:3547 __dev_queue_xmit+0xf24/0x1dd0 net/core/dev.c:4335 dev_queue_xmit include/linux/netdevice.h:3091 [inline] batadv_send_skb_packet+0x264/0x300 net/batman-adv/send.c:108 batadv_send_broadcast_skb+0x24/0x30 net/batman-adv/send.c:127 batadv_iv_ogm_send_to_if net/batman-adv/bat_iv_ogm.c:392 [inline] batadv_iv_ogm_emit net/batman-adv/bat_iv_ogm.c:420 [inline] batadv_iv_send_outstanding_bat_ogm_packet+0x3f0/0x4b0 net/batman-adv/bat_i= v_ogm.c:1700 process_one_work kernel/workqueue.c:3254 [inline] process_scheduled_works+0x465/0x990 kernel/workqueue.c:3335 worker_thread+0x526/0x730 kernel/workqueue.c:3416 kthread+0x1d1/0x210 kernel/kthread.c:388 ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243 value changed: 0x00 -> 0x01 Reported by Kernel Concurrency Sanitizer on: CPU: 1 PID: 27 Comm: kworker/u8:1 Tainted: G W 6.8.0-syzkal= ler-08073-g480e035fc4c7 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Goo= gle 02/29/2024 Workqueue: bat_events batadv_iv_send_outstanding_bat_ogm_packet Fixes: fa788d986a3a ("packet: add sockopt to ignore outgoing packets") Reported-by: syzbot+c669c1136495a2e7c31f@syzkaller.appspotmail.com Closes: https://lore.kernel.org/netdev/CANn89i+Z7MfbkBLOv=3Dp7KZ7=3DK1rKHO4= P1OL5LYDCtBiyqsa9oQ@mail.gmail.com/T/#t Signed-off-by: Eric Dumazet Cc: Willem de Bruijn Reviewed-by: Willem de Bruijn Reviewed-by: Jason Xing Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/core/dev.c | 2 +- net/packet/af_packet.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c index 0619d2253aa24..0e2c433bebcd4 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -2324,7 +2324,7 @@ void dev_queue_xmit_nit(struct sk_buff *skb, struct n= et_device *dev) rcu_read_lock(); again: list_for_each_entry_rcu(ptype, ptype_list, list) { - if (ptype->ignore_outgoing) + if (READ_ONCE(ptype->ignore_outgoing)) continue; =20 /* Never send packets back to the socket diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c index 6cc054dd53b6e..db5d16c5d5b11 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -3951,7 +3951,7 @@ packet_setsockopt(struct socket *sock, int level, int= optname, sockptr_t optval, if (val < 0 || val > 1) return -EINVAL; =20 - po->prot_hook.ignore_outgoing =3D !!val; + WRITE_ONCE(po->prot_hook.ignore_outgoing, !!val); return 0; } case PACKET_TX_HAS_OFF: @@ -4083,7 +4083,7 @@ static int packet_getsockopt(struct socket *sock, int= level, int optname, 0); break; case PACKET_IGNORE_OUTGOING: - val =3D po->prot_hook.ignore_outgoing; + val =3D READ_ONCE(po->prot_hook.ignore_outgoing); break; case PACKET_ROLLOVER_STATS: if (!po->rollover) --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 78D4717DC27; Sun, 24 Mar 2024 23:44:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323846; cv=none; b=kaAkBmX6Ieawz3dnJfKA4SiMs+Mkq1jc/t/MLh1ud4sAADKjPbAQ+3/Q0cB9ntmmulC7xeCbS9hteCEiCfyWEI+tJ/PBJV7yAlHXnLIHqUA0Z8Xv6o38dxaS0uDI1bz5kIXxR0M/N7/yMMzAx9ZezqJ16x0rGPWYIxyLMp9LvnQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323846; c=relaxed/simple; bh=tSxB22iFGtPiVhPzathK1TIaK50gCvqbq6v2j+yb1vI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=uMvqlgEVPKc9SRcjuMIP9p8BqbzzqgoZ4VLULy6fF4CvdBrPi/YMrwXXJxhEf47KL5qOj9nOaK3dbFwjoQajhjicbUcg3oZCn3gnD23JdcDIx0tK6lILlWy09xlL5GMN/RTka2qIZhsqfX6kYzNKH4sw4LtWXfdf+UnFPDuv6UY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mNE7Zcmt; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mNE7Zcmt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9EB44C43394; Sun, 24 Mar 2024 23:44:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323846; bh=tSxB22iFGtPiVhPzathK1TIaK50gCvqbq6v2j+yb1vI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mNE7Zcmtl80f+b8EljnybFRwZSyXXulPGsxXtBcmt8DuEmTBN2Hg1lhV7ZjX0x6xL cWZ5KQn8+qZa+nIO99H7kXKOektlPNn7ZynYYp7d+INnyJMslE2jpwKYhlVpOdNCwi zAGmrmDuSSf/dW3IB9Fqn7gocc3e6w7IZ1IQ6BlTEIF96DFXELp3I74Q2FgiyguJ/1 6QSUlcqLMJyCqHKDS03UuEIOYm+IrW6e+hSpiPlp6jKMBNwTGpS3CIhs1gSXOie8y0 R3N98R4cBhE2FKXclUNSrFxxYmopzeXWil1t8z/77lW7YGvAHUhsAYhL+Y1jEl24p2 KGJjU8oKLFPiQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= , Justin Swartz , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 224/238] net: dsa: mt7530: prevent possible incorrect XTAL frequency selection Date: Sun, 24 Mar 2024 19:40:12 -0400 Message-ID: <20240324234027.1354210-225-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable From: Ar=C4=B1n=C3=A7 =C3=9CNAL [ Upstream commit f490c492e946d8ffbe65ad4efc66de3c5ede30a4 ] On MT7530, the HT_XTAL_FSEL field of the HWTRAP register stores a 2-bit value that represents the frequency of the crystal oscillator connected to the switch IC. The field is populated by the state of the ESW_P4_LED_0 and ESW_P4_LED_0 pins, which is done right after reset is deasserted. ESW_P4_LED_0 ESW_P3_LED_0 Frequency ----------------------------------------- 0 0 Reserved 0 1 20MHz 1 0 40MHz 1 1 25MHz On MT7531, the XTAL25 bit of the STRAP register stores this. The LAN0LED0 pin is used to populate the bit. 25MHz when the pin is high, 40MHz when it's low. These pins are also used with LEDs, therefore, their state can be set to something other than the bootstrapping configuration. For example, a link may be established on port 3 before the DSA subdriver takes control of the switch which would set ESW_P3_LED_0 to high. Currently on mt7530_setup() and mt7531_setup(), 1000 - 1100 usec delay is described between reset assertion and deassertion. Some switch ICs in real life conditions cannot always have these pins set back to the bootstrapping configuration before reset deassertion in this amount of delay. This causes wrong crystal frequency to be selected which puts the switch in a nonfunctional state after reset deassertion. The tests below are conducted on an MT7530 with a 40MHz crystal oscillator by Justin Swartz. With a cable from an active peer connected to port 3 before reset, an incorrect crystal frequency (0b11 =3D 25MHz) is selected: [1] [3] [5] : : : _____________________________ __________________ ESW_P4_LED_0 |_______| _____________________________ ESW_P3_LED_0 |__________________________ : : : : : : [4]...: : : [2]................: [1] Reset is asserted. [2] Period of 1000 - 1100 usec. [3] Reset is deasserted. [4] Period of 315 usec. HWTRAP register is populated with incorrect XTAL frequency. [5] Signals reflect the bootstrapped configuration. Increase the delay between reset_control_assert() and reset_control_deassert(), and gpiod_set_value_cansleep(priv->reset, 0) and gpiod_set_value_cansleep(priv->reset, 1) to 5000 - 5100 usec. This amount ensures a higher possibility that the switch IC will have these pins back to the bootstrapping configuration before reset deassertion. With a cable from an active peer connected to port 3 before reset, the correct crystal frequency (0b10 =3D 40MHz) is selected: [1] [2-1] [3] [5] : : : : _____________________________ __________________ ESW_P4_LED_0 |_______| ___________________ _______ ESW_P3_LED_0 |_________| |__________________ : : : : : : [2-2]...: [4]...: [2]................: [1] Reset is asserted. [2] Period of 5000 - 5100 usec. [2-1] ESW_P3_LED_0 goes low. [2-2] Remaining period of 5000 - 5100 usec. [3] Reset is deasserted. [4] Period of 310 usec. HWTRAP register is populated with bootstrapped XTAL frequency. [5] Signals reflect the bootstrapped configuration. ESW_P3_LED_0 low period before reset deassertion: 5000 usec - 5100 usec TEST RESET HOLD # (usec) --------------------- 1 5410 2 5440 3 4375 4 5490 5 5475 6 4335 7 4370 8 5435 9 4205 10 4335 11 3750 12 3170 13 4395 14 4375 15 3515 16 4335 17 4220 18 4175 19 4175 20 4350 Min 3170 Max 5490 Median 4342.500 Avg 4466.500 Revert commit 2920dd92b980 ("net: dsa: mt7530: disable LEDs before reset"). Changing the state of pins via reset assertion is simpler and more efficient than doing so by setting the LED controller off. Fixes: b8f126a8d543 ("net-next: dsa: add dsa support for Mediatek MT7530 sw= itch") Fixes: c288575f7810 ("net: dsa: mt7530: Add the support of MT7531 switch") Co-developed-by: Justin Swartz Signed-off-by: Justin Swartz Signed-off-by: Ar=C4=B1n=C3=A7 =C3=9CNAL Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/dsa/mt7530.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c index 4056ca4255be7..0fbed76bb9697 100644 --- a/drivers/net/dsa/mt7530.c +++ b/drivers/net/dsa/mt7530.c @@ -1581,11 +1581,11 @@ mt7530_setup(struct dsa_switch *ds) */ if (priv->mcm) { reset_control_assert(priv->rstc); - usleep_range(1000, 1100); + usleep_range(5000, 5100); reset_control_deassert(priv->rstc); } else { gpiod_set_value_cansleep(priv->reset, 0); - usleep_range(1000, 1100); + usleep_range(5000, 5100); gpiod_set_value_cansleep(priv->reset, 1); } =20 @@ -1704,11 +1704,11 @@ mt7531_setup(struct dsa_switch *ds) */ if (priv->mcm) { reset_control_assert(priv->rstc); - usleep_range(1000, 1100); + usleep_range(5000, 5100); reset_control_deassert(priv->rstc); } else { gpiod_set_value_cansleep(priv->reset, 0); - usleep_range(1000, 1100); + usleep_range(5000, 5100); gpiod_set_value_cansleep(priv->reset, 1); } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A653A17DC2E; Sun, 24 Mar 2024 23:44:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323847; cv=none; b=Gpe7hWFSz8G7eht9082NaxfL00ZaCLeGWTAGnuT64XJGyKs4g4BsieHYeVRwnkUvQmWn6NzCxpiL0MjU0IYhvRO9mREdwpkHl6RmWny4+IxCIwrK36CXinG07DQzfT76VAXntMli3urKhWoleUh0B9XugKATtKBIXk9wQsig/xk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323847; c=relaxed/simple; bh=iIIFuO3IyF+GToWNPBx+wb1MtQRgrsvlGd8f4fiHbJY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AAvuEywGg3ly5MI3cfEqk0X821sYYsCuXmcClQyNAVU+266kAOcInAxxaJqnx0CmFpKqvGLRK9155awkFYfVz0daLOcn1LHKJijn1PaTYqy/fsXCZ/JMCUAUFj6OEdLI8rqIhhGBHzA0nR/TlI5jC8KOFKBeOw6+f4zbUZnEITo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QQUgcjYs; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QQUgcjYs" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9BA27C433C7; Sun, 24 Mar 2024 23:44:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323847; bh=iIIFuO3IyF+GToWNPBx+wb1MtQRgrsvlGd8f4fiHbJY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=QQUgcjYsTuZSn6w+1nQunsLme3VV/I2iJr4ltg/WcjTZaUrSaTCxHrKN3UDslgHHT ZTmf7INXxDgm9cZ+QZKcMkiGH4pXz1WQ3CuP1qk5VZdXtEGdYZicET5gNeTFeuh1Pk HbLOS/IAxHBXqsiqjvRJ8aBgm5XffytKsJ9HbwJcKZKet+nV5G//3CyOZJzdo53T+l ROTL7XASyFxz2YqenR27hnn5h1ENDGBmvqwdeQMdzSkJtkt/QgF+xhATBg6tnsSe8u WT1Mo9IIm0pufX+uZmCEDXNRvaHnOPM+568Fl7X4jNtgi+7DYPUYTxOpCs4waGEF8y xqksujhh8TbvQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Nikita Zhandarovich , syzbot+d1de830e4ecdaac83d89@syzkaller.appspotmail.com, "Jason A . Donenfeld" , Jiri Pirko , Paolo Abeni , Sasha Levin Subject: [PATCH 5.10 225/238] wireguard: receive: annotate data-race around receiving_counter.counter Date: Sun, 24 Mar 2024 19:40:13 -0400 Message-ID: <20240324234027.1354210-226-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Nikita Zhandarovich [ Upstream commit bba045dc4d996d03dce6fe45726e78a1a1f6d4c3 ] Syzkaller with KCSAN identified a data-race issue when accessing keypair->receiving_counter.counter. Use READ_ONCE() and WRITE_ONCE() annotations to mark the data race as intentional. BUG: KCSAN: data-race in wg_packet_decrypt_worker / wg_packet_rx_poll write to 0xffff888107765888 of 8 bytes by interrupt on cpu 0: counter_validate drivers/net/wireguard/receive.c:321 [inline] wg_packet_rx_poll+0x3ac/0xf00 drivers/net/wireguard/receive.c:461 __napi_poll+0x60/0x3b0 net/core/dev.c:6536 napi_poll net/core/dev.c:6605 [inline] net_rx_action+0x32b/0x750 net/core/dev.c:6738 __do_softirq+0xc4/0x279 kernel/softirq.c:553 do_softirq+0x5e/0x90 kernel/softirq.c:454 __local_bh_enable_ip+0x64/0x70 kernel/softirq.c:381 __raw_spin_unlock_bh include/linux/spinlock_api_smp.h:167 [inline] _raw_spin_unlock_bh+0x36/0x40 kernel/locking/spinlock.c:210 spin_unlock_bh include/linux/spinlock.h:396 [inline] ptr_ring_consume_bh include/linux/ptr_ring.h:367 [inline] wg_packet_decrypt_worker+0x6c5/0x700 drivers/net/wireguard/receive.c:4= 99 process_one_work kernel/workqueue.c:2633 [inline] ... read to 0xffff888107765888 of 8 bytes by task 3196 on cpu 1: decrypt_packet drivers/net/wireguard/receive.c:252 [inline] wg_packet_decrypt_worker+0x220/0x700 drivers/net/wireguard/receive.c:5= 01 process_one_work kernel/workqueue.c:2633 [inline] process_scheduled_works+0x5b8/0xa30 kernel/workqueue.c:2706 worker_thread+0x525/0x730 kernel/workqueue.c:2787 ... Fixes: a9e90d9931f3 ("wireguard: noise: separate receive counter from send = counter") Reported-by: syzbot+d1de830e4ecdaac83d89@syzkaller.appspotmail.com Signed-off-by: Nikita Zhandarovich Signed-off-by: Jason A. Donenfeld Reviewed-by: Jiri Pirko Signed-off-by: Paolo Abeni Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/wireguard/receive.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/wireguard/receive.c b/drivers/net/wireguard/receiv= e.c index d38b24339a1f9..ed274e9bdf3ce 100644 --- a/drivers/net/wireguard/receive.c +++ b/drivers/net/wireguard/receive.c @@ -258,7 +258,7 @@ static bool decrypt_packet(struct sk_buff *skb, struct = noise_keypair *keypair) =20 if (unlikely(!READ_ONCE(keypair->receiving.is_valid) || wg_birthdate_has_expired(keypair->receiving.birthdate, REJECT_AFTER_TI= ME) || - keypair->receiving_counter.counter >=3D REJECT_AFTER_MESSAGES)) { + READ_ONCE(keypair->receiving_counter.counter) >=3D REJECT_AFTER_MESSAG= ES)) { WRITE_ONCE(keypair->receiving.is_valid, false); return false; } @@ -325,7 +325,7 @@ static bool counter_validate(struct noise_replay_counte= r *counter, u64 their_cou for (i =3D 1; i <=3D top; ++i) counter->backtrack[(i + index_current) & ((COUNTER_BITS_TOTAL / BITS_PER_LONG) - 1)] =3D 0; - counter->counter =3D their_counter; + WRITE_ONCE(counter->counter, their_counter); } =20 index &=3D (COUNTER_BITS_TOTAL / BITS_PER_LONG) - 1; @@ -470,7 +470,7 @@ int wg_packet_rx_poll(struct napi_struct *napi, int bud= get) net_dbg_ratelimited("%s: Packet has invalid nonce %llu (max %llu)\n", peer->device->dev->name, PACKET_CB(skb)->nonce, - keypair->receiving_counter.counter); + READ_ONCE(keypair->receiving_counter.counter)); goto next; } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A604517DC34; Sun, 24 Mar 2024 23:44:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323848; cv=none; b=RMwnF8dGbjEtkj7UGyeNI8VpWNsCSFF+fJ/L+OUqHMEBl3eYPB3XFx8BXWRjkWq67rj83zs6fDKQJX/b87t0LIQys/yRxj+3kMJI4mrjXHpKxQZ3pIwEHgvGAtAKPSOeHAa+2MIE4KmR2aogCPGBxF4xlVCWBKnLkJc4Zgc3kdQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323848; c=relaxed/simple; bh=bEmazheCTz8C4a9wAgoygLh8+bNOTAl6eMCuva6xg2c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BZScaJ4CcQQ34/L4y44y9tjswQQozoTs1NR5v22NfqVLSIQyfnMyqC27SxbahSm4oVzq65KCpH57DnBKnIEsIcJZRnz2cKg+UDRDj4y6KMoH2AlxwNvxBy5yIGztU5NKluL28VSYjKK1wVAobfTv55s9QGwkv1Y5JXGRiZeaD3s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BYBylxH6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="BYBylxH6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CB128C433F1; Sun, 24 Mar 2024 23:44:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323848; bh=bEmazheCTz8C4a9wAgoygLh8+bNOTAl6eMCuva6xg2c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BYBylxH68grao0Wbuq324fokRgsEymM9I47MnMQHUVuKO6bvgKD3Omv3iPlWB3aee F+7Rdatw+izeqASdi+t5HbFfRhJgAYR13EMNJ3bQBdWM0YCBjxb0hfNXX4KyvYMsWz peZ5wQOsTp8hTkWtREptQuVlTIagQvyy8XBaCB9NSmt715p8rEavJJ1GaU06Rqn94T /UWz+S5cZ8HevKIWIAKq7KqRpplgNUhBo6pK1spZv/UxnY/DvJAU6sVjw4JV07zc+Z Wdyo3cChY2AFzo5vLthlYbFkP3wtC2kYHVIbWEXWdQtZhB2QdGv5WUFHAeBS1uOY+2 13t7p0Go/N5oA== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Yewon Choi , Michal Kubiak , Paolo Abeni , Sasha Levin Subject: [PATCH 5.10 226/238] rds: introduce acquire/release ordering in acquire/release_in_xmit() Date: Sun, 24 Mar 2024 19:40:14 -0400 Message-ID: <20240324234027.1354210-227-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yewon Choi [ Upstream commit 1422f28826d2a0c11e5240b3e951c9e214d8656e ] acquire/release_in_xmit() work as bit lock in rds_send_xmit(), so they are expected to ensure acquire/release memory ordering semantics. However, test_and_set_bit/clear_bit() don't imply such semantics, on top of this, following smp_mb__after_atomic() does not guarantee release ordering (memory barrier actually should be placed before clear_bit()). Instead, we use clear_bit_unlock/test_and_set_bit_lock() here. Fixes: 0f4b1c7e89e6 ("rds: fix rds_send_xmit() serialization") Fixes: 1f9ecd7eacfd ("RDS: Pass rds_conn_path to rds_send_xmit()") Signed-off-by: Yewon Choi Reviewed-by: Michal Kubiak Link: https://lore.kernel.org/r/ZfQUxnNTO9AJmzwc@libra05 Signed-off-by: Paolo Abeni Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/rds/send.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/net/rds/send.c b/net/rds/send.c index 65eeb82cb5de5..1923eaa91e939 100644 --- a/net/rds/send.c +++ b/net/rds/send.c @@ -103,13 +103,12 @@ EXPORT_SYMBOL_GPL(rds_send_path_reset); =20 static int acquire_in_xmit(struct rds_conn_path *cp) { - return test_and_set_bit(RDS_IN_XMIT, &cp->cp_flags) =3D=3D 0; + return test_and_set_bit_lock(RDS_IN_XMIT, &cp->cp_flags) =3D=3D 0; } =20 static void release_in_xmit(struct rds_conn_path *cp) { - clear_bit(RDS_IN_XMIT, &cp->cp_flags); - smp_mb__after_atomic(); + clear_bit_unlock(RDS_IN_XMIT, &cp->cp_flags); /* * We don't use wait_on_bit()/wake_up_bit() because our waking is in a * hot path and finding waiters is very rare. We don't want to walk --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B82E117DC37; Sun, 24 Mar 2024 23:44:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323849; cv=none; b=oSoxKOo34fAQ6XukNy653V4MFsalIoA2xrxX+/tE2IpdeS906yPAPRKQ6cJalxvnZlExY5zrNUZCyMqt/rRSLah+gio1ORenkL/m6Jw08xEqTeF5xmhr/e2umJ8jVLTuBSqN1BVio/V9fUIJr+hU21k/FZs8ObwenUifv1dVUDc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323849; c=relaxed/simple; bh=LDY0af1l0wOjYJ8cMrD88wlEhNgwaU1OcXBV2y4G9lw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZzYdfgHsGL1VLwlR66DlkxqVSvpurrZS/j/wQceNeSWcpHe6/MVa1thMHklOk2KflB0mR2BQH43SjwnU3RFNVtzunUxZPY2uWF3PwNB/MJGM980c5IhR33KU8qCkIYk2CnIfS6vWySZ2/jQq9Vi1aCPRnbOWlCzpKxZv4rdcKLE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CkM3RjX8; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="CkM3RjX8" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CAD54C433C7; Sun, 24 Mar 2024 23:44:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323849; bh=LDY0af1l0wOjYJ8cMrD88wlEhNgwaU1OcXBV2y4G9lw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CkM3RjX8ih+eN4aXSVuDpLm5f6ewtz3vlbbZOCuLsyfqLEaXgoEMVJCoDoOgHm71r oolHzrHMdvwbydK9UezMhSRC7LqIaTP6lsPv0exoIF485CEfD8pfF5batzA2CQlHtW QpFMQOwaZLK+y9qDCCWUvrdCOUMSYQrfP7TH3d5p6+xbNJURwr3muPvXZB2//si47w 0GaOBtEkMRfWOSKriLleuAT+qixzRePpoozabn/+iy9urk1HOAmjvEScWj1L8tFmn8 bTUtCo6ZM0GvBM4ItNUCkAf63dH5NRL/cKNbmV2LEsMh75hnOfyHzNHW4EmOMqcdft SafXnzH8O8oXw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Felix Maurer , Shigeru Yoshida , Breno Leitao , Paolo Abeni , Sasha Levin Subject: [PATCH 5.10 227/238] hsr: Handle failures in module init Date: Sun, 24 Mar 2024 19:40:15 -0400 Message-ID: <20240324234027.1354210-228-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Felix Maurer [ Upstream commit 3cf28cd492308e5f63ed00b29ea03ca016264376 ] A failure during registration of the netdev notifier was not handled at all. A failure during netlink initialization did not unregister the netdev notifier. Handle failures of netdev notifier registration and netlink initialization. Both functions should only return negative values on failure and thereby lead to the hsr module not being loaded. Fixes: f421436a591d ("net/hsr: Add support for the High-availability Seamle= ss Redundancy protocol (HSRv0)") Signed-off-by: Felix Maurer Reviewed-by: Shigeru Yoshida Reviewed-by: Breno Leitao Link: https://lore.kernel.org/r/3ce097c15e3f7ace98fc7fd9bcbf299f092e63d1.17= 10504184.git.fmaurer@redhat.com Signed-off-by: Paolo Abeni Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/hsr/hsr_main.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/net/hsr/hsr_main.c b/net/hsr/hsr_main.c index 2fd1976e5b1c3..bea7f935f38e9 100644 --- a/net/hsr/hsr_main.c +++ b/net/hsr/hsr_main.c @@ -137,14 +137,21 @@ static struct notifier_block hsr_nb =3D { =20 static int __init hsr_init(void) { - int res; + int err; =20 BUILD_BUG_ON(sizeof(struct hsr_tag) !=3D HSR_HLEN); =20 - register_netdevice_notifier(&hsr_nb); - res =3D hsr_netlink_init(); + err =3D register_netdevice_notifier(&hsr_nb); + if (err) + return err; + + err =3D hsr_netlink_init(); + if (err) { + unregister_netdevice_notifier(&hsr_nb); + return err; + } =20 - return res; + return 0; } =20 static void __exit hsr_exit(void) --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B55EB17DC3B; Sun, 24 Mar 2024 23:44:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323851; cv=none; b=Ab8P97EOnDwehidUu+74dYKv8jg7LmcXFCQriCiiid9SfcdnxROPkcax2Q8+aGRAHIHQVKUVqR/7EuQxOUFLbGiDUUEKcAAEsqb3tFf/l5+Cr1rrJW/VeuLSqeowmBbpfRFl+pVH96JhTe91v3ayUhx/FVof+qH1kg1w8jihv5g= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323851; c=relaxed/simple; bh=ImYJx3//S3lb8pzEBjnxmyZSCu8/oqDudWFtAKGWTJA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=dfxLLcdb3+U202IObQrNPdDuV3SxVoiNJFpRMzHmULgz5gQgQLNwiKc+X8+caVNDaUiyBXjEQErw7+tXYM3fqJqTAJtgmMtjGV5S349KtY3Qt+wMFI3zRTRUjZfRlgpdMDA7XS1hoJ73ZQH1ikDJsfjGTh3R7NVGrECTbHpL/8s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tEc/OYWv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="tEc/OYWv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DDCDAC43390; Sun, 24 Mar 2024 23:44:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323850; bh=ImYJx3//S3lb8pzEBjnxmyZSCu8/oqDudWFtAKGWTJA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tEc/OYWvRUdcpmMmGq3Auo6M0fOj6jrO4Gx45FCvi5kNOgFYiEl2dtOEcXPhrmZFJ F4DAuPLoHTruByRPx1HVsXrphuAHKFKQDcH6osrh+T3b/vnSZKbHY8SIgzWYawNtLq +NvFDZOOAgTqw0409V1GiFV2gbkFSsCj4zo3fYMjO11FgRBsnfGccyCvP4F5EHuTJ3 y/409WLPFlYt9adPRdjsDcanK34stH+EYoMA3FEBg+tfAeeqo1FbIgHE9NIsvNhwPy r3EnsugcWP+6pVLwmYpw7AT0p4+0Rl3A3tRlig3jWjV5tvQpbEcbYJYNOyqZxYzz+M P+Gy1FHgIxMag== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Thinh Tran , Jiri Pirko , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.10 228/238] net/bnx2x: Prevent access to a freed page in page_pool Date: Sun, 24 Mar 2024 19:40:16 -0400 Message-ID: <20240324234027.1354210-229-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Thinh Tran [ Upstream commit d27e2da94a42655861ca4baea30c8cd65546f25d ] Fix race condition leading to system crash during EEH error handling During EEH error recovery, the bnx2x driver's transmit timeout logic could cause a race condition when handling reset tasks. The bnx2x_tx_timeout() schedules reset tasks via bnx2x_sp_rtnl_task(), which ultimately leads to bnx2x_nic_unload(). In bnx2x_nic_unload() SGEs are freed using bnx2x_free_rx_sge_range(). However, this could overlap with the EEH driver's attempt to reset the device using bnx2x_io_slot_reset(), which also tries to free SGEs. This race condition can result in system crashes due to accessing freed memory locations in bnx2x_free_rx_sge() 799 static inline void bnx2x_free_rx_sge(struct bnx2x *bp, 800 struct bnx2x_fastpath *fp, u16 index) 801 { 802 struct sw_rx_page *sw_buf =3D &fp->rx_page_ring[index]; 803 struct page *page =3D sw_buf->page; .... where sw_buf was set to NULL after the call to dma_unmap_page() by the preceding thread. EEH: Beginning: 'slot_reset' PCI 0011:01:00.0#10000: EEH: Invoking bnx2x->slot_reset() bnx2x: [bnx2x_io_slot_reset:14228(eth1)]IO slot reset initializing... bnx2x 0011:01:00.0: enabling device (0140 -> 0142) bnx2x: [bnx2x_io_slot_reset:14244(eth1)]IO slot reset --> driver unload Kernel attempted to read user page (0) - exploit attempt? (uid: 0) BUG: Kernel NULL pointer dereference on read at 0x00000000 Faulting instruction address: 0xc0080000025065fc Oops: Kernel access of bad area, sig: 11 [#1] ..... Call Trace: [c000000003c67a20] [c00800000250658c] bnx2x_io_slot_reset+0x204/0x610 [= bnx2x] (unreliable) [c000000003c67af0] [c0000000000518a8] eeh_report_reset+0xb8/0xf0 [c000000003c67b60] [c000000000052130] eeh_pe_report+0x180/0x550 [c000000003c67c70] [c00000000005318c] eeh_handle_normal_event+0x84c/0xa= 60 [c000000003c67d50] [c000000000053a84] eeh_event_handler+0xf4/0x170 [c000000003c67da0] [c000000000194c58] kthread+0x1c8/0x1d0 [c000000003c67e10] [c00000000000cf64] ret_from_kernel_thread+0x5c/0x64 To solve this issue, we need to verify page pool allocations before freeing. Fixes: 4cace675d687 ("bnx2x: Alloc 4k fragment for each rx ring buffer elem= ent") Signed-off-by: Thinh Tran Reviewed-by: Jiri Pirko Link: https://lore.kernel.org/r/20240315205535.1321-1-thinhtr@linux.ibm.com Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h b/drivers/net/= ethernet/broadcom/bnx2x/bnx2x_cmn.h index d8b1824c334d3..0bc1367fd6492 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h @@ -1002,9 +1002,6 @@ static inline void bnx2x_set_fw_mac_addr(__le16 *fw_h= i, __le16 *fw_mid, static inline void bnx2x_free_rx_mem_pool(struct bnx2x *bp, struct bnx2x_alloc_pool *pool) { - if (!pool->page) - return; - put_page(pool->page); =20 pool->page =3D NULL; @@ -1015,6 +1012,9 @@ static inline void bnx2x_free_rx_sge_range(struct bnx= 2x *bp, { int i; =20 + if (!fp->page_pool.page) + return; + if (fp->mode =3D=3D TPA_MODE_DISABLED) return; =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9A0A217DC3E; Sun, 24 Mar 2024 23:44:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323852; cv=none; b=UoByqRADpevT+oXekIjh+dxPGKVigMEdCr/NVu29Q1h9MpqjNmEI/vIEN9dviK6tSjYnuGb13/waeE518XTcriLtw5anxsbiwzTkNecfIdKYPBi7/CLtDwz+88n5Gxj+g/BOvWoQhWPlcxsh7YKRi7dzSZ21pMg2TmDPyOJHYzs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323852; c=relaxed/simple; bh=w1K52Csdl2eq1OaHzMItpQSYmWMb0G/2QmKQbj0IUKI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VyHHgwOHfXb62dcVnA9ZGqu6olnuWnD3So28dy3WIBvnh4too2FRwuCDEyG94PAMbL6NDRgpHdLPFOHulL6f1RMhJf+83HgZNp1Yin3njWcGbwTknYPFv0vw9TpgJRy7OngVpTzrve/R4CLjjzcxiF+CHUM09H/UTPIe1h9/1Lc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=MEQaDNv8; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="MEQaDNv8" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DA990C433C7; Sun, 24 Mar 2024 23:44:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323851; bh=w1K52Csdl2eq1OaHzMItpQSYmWMb0G/2QmKQbj0IUKI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=MEQaDNv8bYD2oIQiWAM1DcuzCcrn0r5I5ugr3K01oFTIWn5x7ST0IRb6ZIO1RgtXg 8MvdsnA9vExSSNyo4OBNK3cyNs3HJtMI3zFe1Mhju9e927ecKa3AXUceHRQ6MkrKJF yamkNa3Y7/xY7GJ59uaxAuL4JbKOiigf1itkUt7jI8V+daO/ad/GkDPogwrkZf36bk hV1AH+iBLbwcxFWi6BqSkXVk9DcG3yOH5bPPHC790QWFzdtBM9NOnNmBuNAKIUHq79 Uk6LQ+UaTf0ubxttlId9eDgjtcZMuA+cILNJ2CDLo/LpFZYHiNCaTnVIWkrc6LrLMV ajZg3oOgxsxqw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Subbaraya Sundeep , "David S . Miller" , Sasha Levin Subject: [PATCH 5.10 229/238] octeontx2-af: Use separate handlers for interrupts Date: Sun, 24 Mar 2024 19:40:17 -0400 Message-ID: <20240324234027.1354210-230-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Subbaraya Sundeep [ Upstream commit 50e60de381c342008c0956fd762e1c26408f372c ] For PF to AF interrupt vector and VF to AF vector same interrupt handler is registered which is causing race condition. When two interrupts are raised to two CPUs at same time then two cores serve same event corrupting the data. Fixes: 7304ac4567bc ("octeontx2-af: Add mailbox IRQ and msg handlers") Signed-off-by: Subbaraya Sundeep Signed-off-by: David S. Miller Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/net/ethernet/marvell/octeontx2/af/rvu.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu.c b/drivers/net/= ethernet/marvell/octeontx2/af/rvu.c index acbc67074f59c..23b829f974de1 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu.c @@ -1969,10 +1969,9 @@ static void rvu_queue_work(struct mbox_wq_info *mw, = int first, } } =20 -static irqreturn_t rvu_mbox_intr_handler(int irq, void *rvu_irq) +static irqreturn_t rvu_mbox_pf_intr_handler(int irq, void *rvu_irq) { struct rvu *rvu =3D (struct rvu *)rvu_irq; - int vfs =3D rvu->vfs; u64 intr; =20 intr =3D rvu_read64(rvu, BLKADDR_RVUM, RVU_AF_PFAF_MBOX_INT); @@ -1986,6 +1985,18 @@ static irqreturn_t rvu_mbox_intr_handler(int irq, vo= id *rvu_irq) =20 rvu_queue_work(&rvu->afpf_wq_info, 0, rvu->hw->total_pfs, intr); =20 + return IRQ_HANDLED; +} + +static irqreturn_t rvu_mbox_intr_handler(int irq, void *rvu_irq) +{ + struct rvu *rvu =3D (struct rvu *)rvu_irq; + int vfs =3D rvu->vfs; + u64 intr; + + /* Sync with mbox memory region */ + rmb(); + /* Handle VF interrupts */ if (vfs > 64) { intr =3D rvupf_read64(rvu, RVU_PF_VFPF_MBOX_INTX(1)); @@ -2300,7 +2311,7 @@ static int rvu_register_interrupts(struct rvu *rvu) /* Register mailbox interrupt handler */ sprintf(&rvu->irq_name[RVU_AF_INT_VEC_MBOX * NAME_SIZE], "RVUAF Mbox"); ret =3D request_irq(pci_irq_vector(rvu->pdev, RVU_AF_INT_VEC_MBOX), - rvu_mbox_intr_handler, 0, + rvu_mbox_pf_intr_handler, 0, &rvu->irq_name[RVU_AF_INT_VEC_MBOX * NAME_SIZE], rvu); if (ret) { dev_err(rvu->dev, --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C1BB417DC3F; Sun, 24 Mar 2024 23:44:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323852; cv=none; b=rR+e3id2kFgbvgTtu6pwwV+ImHpSBS+9QIJ37CNgIszfF6UE920KYUnzKvv+tadeX0T8nH82CeLbJGjVbGa5WSED56KwFp2wZOZKZQKCjkFVvylXsWLmJA0kPHp17sWuJ+l2FkYQb6rSBz6lt6oEKxh1q4CoYMfgTarS6NnTLjA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323852; c=relaxed/simple; bh=5+hdcCy5NUJAL46bniLz2w4EeDTmKteFOedaHnQJd5c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CV0NpGQfQ0fXgQsXyAkc7o4DJ7OT9xiOOK3826TfYCrO2lhtoxUnP2470oRWEVoTcB8jIPY38pv4oauNK8gSsSLNRBHOKEKACazKPq6Qs5LcQBKiVsUmV/XXwV63e3z9+xykF5jLlNQALAxobRw2g5EkJmI9G2KFy1Tt7x8VFwg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=i7SvjVa9; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="i7SvjVa9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BD3A9C433F1; Sun, 24 Mar 2024 23:44:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323852; bh=5+hdcCy5NUJAL46bniLz2w4EeDTmKteFOedaHnQJd5c=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=i7SvjVa9rzRBUbMcI0j2Rc5jFqfeEyUDIEbPlj4597G3zN07DWAWsdkT5L5CV9Zl+ DDiF9b2sOowTuS1WBtfGVUbYXimHp5DBmrXWaMlN3hYwvyWnG283e75fOG1yy8AMm5 mA7QC9sU5U2FMsbapY6K4ua7l2B116f5A2+GF7KeomUK3IuNHdc6O11NBp9Z/03bGO /G3s3uowFTcbbJpgGi2dfTZ9kbYoVyT1YmgEbt6P4mcRGwO28V1uCmfJcA53jLwY+U HbTuYX42teXGTuI0myDTjmHtF/1ZbW5NPPBHYNrC3jsZ2PrMQ2QLXODPHlPuSpXLVD zAc8LeJz33Vog== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Pablo Neira Ayuso , Sasha Levin Subject: [PATCH 5.10 230/238] netfilter: nft_set_pipapo: release elements in clone only from destroy path Date: Sun, 24 Mar 2024 19:40:18 -0400 Message-ID: <20240324234027.1354210-231-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Pablo Neira Ayuso [ Upstream commit b0e256f3dd2ba6532f37c5c22e07cb07a36031ee ] Clone already always provides a current view of the lookup table, use it to destroy the set, otherwise it is possible to destroy elements twice. This fix requires: 212ed75dc5fb ("netfilter: nf_tables: integrate pipapo into commit protocol= ") which came after: 9827a0e6e23b ("netfilter: nft_set_pipapo: release elements in clone from a= bort path"). Fixes: 9827a0e6e23b ("netfilter: nft_set_pipapo: release elements in clone = from abort path") Signed-off-by: Pablo Neira Ayuso Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/netfilter/nft_set_pipapo.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c index 70a59a35d1761..b9682e085fcef 100644 --- a/net/netfilter/nft_set_pipapo.c +++ b/net/netfilter/nft_set_pipapo.c @@ -2226,8 +2226,6 @@ static void nft_pipapo_destroy(const struct nft_ctx *= ctx, if (m) { rcu_barrier(); =20 - nft_set_pipapo_match_destroy(ctx, set, m); - for_each_possible_cpu(cpu) pipapo_free_scratch(m, cpu); free_percpu(m->scratch); @@ -2239,8 +2237,7 @@ static void nft_pipapo_destroy(const struct nft_ctx *= ctx, if (priv->clone) { m =3D priv->clone; =20 - if (priv->dirty) - nft_set_pipapo_match_destroy(ctx, set, m); + nft_set_pipapo_match_destroy(ctx, set, m); =20 for_each_possible_cpu(cpu) pipapo_free_scratch(priv->clone, cpu); --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8C1CD131BA4; Sun, 24 Mar 2024 23:44:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323854; cv=none; b=ItNmB7fOLIxi21z6KfpdzgLM2XRlvzobB1dd8FwDvYWCUsU8SUei3fkgtm4j6wTanekJwdsQBSM9sBLUo6Nk5Twd9P5fI5qXuLuVh8fwHuXKVAKSjIMg1VEZmfZNgoarY/M07qLMFLcx3SknT5heLWUr0UlKFZ1lT9GW96noPG8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323854; c=relaxed/simple; bh=8GM9iolHN0LIvjEWlW1XLRXNO4rpaQwrac+AxJ6OrMo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bdYnaLk4hE7hpeOBiTqf/NqVFbU9DUminKR6QFA1Z/G4ncfkzoe4Yul8xpHcGQ9IhVd6rXxw2MiUwpUANiIydPakN9RU04HFcFJjhCgONOrq5dtwP51W2qp1Lb90HSOAzeVG64pzvUMvk9rnRlUT23QzHABNu+vACkIcBIAqmYE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tyU9Zl7A; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="tyU9Zl7A" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8B1A7C43399; Sun, 24 Mar 2024 23:44:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323853; bh=8GM9iolHN0LIvjEWlW1XLRXNO4rpaQwrac+AxJ6OrMo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tyU9Zl7Azsm9xbrm0M1ZiItRHRwiM1/7lPtCbwzkn2rV+0RgLRrrylsx/KzLxy+H4 jqK7lhrxvevGZ+0hlKUq4B507K0oyC6oVswu9mfOyQw+NB0wCeow/MAh3euq5nHoBj BrixVVQ+/L25lg2a/+3DdnN2/eaXd1e5oSkApvBgB/lQihhLNuqTgwCIFjgfd4BdtP 0ViRAs4boe3EsiRlR4RN/y/xrnZTNvDMtfskag6FKKAcbTGUK8nnk1CZFJj8htoWT2 NbPPoASyC2LEvp0fe8zve49QjhetJ0pmkhLP2ah+FPJmOcotMXh8NLlv42V8k/Uy01 yOnaPQ0CWKRtw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Shyam Sundar , James Smart , Himanshu Madhani , Nilesh Javali , "Martin K . Petersen" , Sasha Levin Subject: [PATCH 5.10 231/238] scsi: fc: Update formal FPIN descriptor definitions Date: Sun, 24 Mar 2024 19:40:19 -0400 Message-ID: <20240324234027.1354210-232-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Shyam Sundar [ Upstream commit 874163aab75a6cd7422e71f1fbc6db12977fcf1d ] Add Fabric Performance Impact Notification (FPIN) descriptor definitions for the following FPINs: - Delivery Notification Descriptor - Peer Congestion Notification Descriptor - Congestion Notification Descriptor Link: https://lore.kernel.org/r/20201021092715.22669-2-njavali@marvell.com Reviewed-by: James Smart Reviewed-by: Himanshu Madhani Signed-off-by: Shyam Sundar Signed-off-by: Nilesh Javali Signed-off-by: Martin K. Petersen Stable-dep-of: 4a0e7f2decbf ("netfilter: nf_tables: do not compare internal= table flags on updates") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/uapi/scsi/fc/fc_els.h | 114 +++++++++++++++++++++++++++++++++- 1 file changed, 113 insertions(+), 1 deletion(-) diff --git a/include/uapi/scsi/fc/fc_els.h b/include/uapi/scsi/fc/fc_els.h index 8c704e510e398..91d4be9872203 100644 --- a/include/uapi/scsi/fc/fc_els.h +++ b/include/uapi/scsi/fc/fc_els.h @@ -916,7 +916,9 @@ enum fc_els_clid_ic { ELS_CLID_IC_LIP =3D 8, /* receiving LIP */ }; =20 - +/* + * Link Integrity event types + */ enum fc_fpin_li_event_types { FPIN_LI_UNKNOWN =3D 0x0, FPIN_LI_LINK_FAILURE =3D 0x1, @@ -943,6 +945,54 @@ enum fc_fpin_li_event_types { { FPIN_LI_DEVICE_SPEC, "Device Specific" }, \ } =20 +/* + * Delivery event types + */ +enum fc_fpin_deli_event_types { + FPIN_DELI_UNKNOWN =3D 0x0, + FPIN_DELI_TIMEOUT =3D 0x1, + FPIN_DELI_UNABLE_TO_ROUTE =3D 0x2, + FPIN_DELI_DEVICE_SPEC =3D 0xF, +}; + +/* + * Initializer useful for decoding table. + * Please keep this in sync with the above definitions. + */ +#define FC_FPIN_DELI_EVT_TYPES_INIT { \ + { FPIN_DELI_UNKNOWN, "Unknown" }, \ + { FPIN_DELI_TIMEOUT, "Timeout" }, \ + { FPIN_DELI_UNABLE_TO_ROUTE, "Unable to Route" }, \ + { FPIN_DELI_DEVICE_SPEC, "Device Specific" }, \ +} + +/* + * Congestion event types + */ +enum fc_fpin_congn_event_types { + FPIN_CONGN_CLEAR =3D 0x0, + FPIN_CONGN_LOST_CREDIT =3D 0x1, + FPIN_CONGN_CREDIT_STALL =3D 0x2, + FPIN_CONGN_OVERSUBSCRIPTION =3D 0x3, + FPIN_CONGN_DEVICE_SPEC =3D 0xF, +}; + +/* + * Initializer useful for decoding table. + * Please keep this in sync with the above definitions. + */ +#define FC_FPIN_CONGN_EVT_TYPES_INIT { \ + { FPIN_CONGN_CLEAR, "Clear" }, \ + { FPIN_CONGN_LOST_CREDIT, "Lost Credit" }, \ + { FPIN_CONGN_CREDIT_STALL, "Credit Stall" }, \ + { FPIN_CONGN_OVERSUBSCRIPTION, "Oversubscription" }, \ + { FPIN_CONGN_DEVICE_SPEC, "Device Specific" }, \ +} + +enum fc_fpin_congn_severity_types { + FPIN_CONGN_SEVERITY_WARNING =3D 0xF1, + FPIN_CONGN_SEVERITY_ERROR =3D 0xF7, +}; =20 /* * Link Integrity Notification Descriptor @@ -974,6 +1024,68 @@ struct fc_fn_li_desc { */ }; =20 +/* + * Delivery Notification Descriptor + */ +struct fc_fn_deli_desc { + __be32 desc_tag; /* Descriptor Tag (0x00020002) */ + __be32 desc_len; /* Length of Descriptor (in bytes). + * Size of descriptor excluding + * desc_tag and desc_len fields. + */ + __be64 detecting_wwpn; /* Port Name that detected event */ + __be64 attached_wwpn; /* Port Name of device attached to + * detecting Port Name + */ + __be32 deli_reason_code;/* see enum fc_fpin_deli_event_types */ +}; + +/* + * Peer Congestion Notification Descriptor + */ +struct fc_fn_peer_congn_desc { + __be32 desc_tag; /* Descriptor Tag (0x00020003) */ + __be32 desc_len; /* Length of Descriptor (in bytes). + * Size of descriptor excluding + * desc_tag and desc_len fields. + */ + __be64 detecting_wwpn; /* Port Name that detected event */ + __be64 attached_wwpn; /* Port Name of device attached to + * detecting Port Name + */ + __be16 event_type; /* see enum fc_fpin_congn_event_types */ + __be16 event_modifier; /* Implementation specific value + * describing the event type + */ + __be32 event_period; /* duration (ms) of the detected + * congestion event + */ + __be32 pname_count; /* number of portname_list elements */ + __be64 pname_list[0]; /* list of N_Port_Names accessible + * through the attached port + */ +}; + +/* + * Congestion Notification Descriptor + */ +struct fc_fn_congn_desc { + __be32 desc_tag; /* Descriptor Tag (0x00020004) */ + __be32 desc_len; /* Length of Descriptor (in bytes). + * Size of descriptor excluding + * desc_tag and desc_len fields. + */ + __be16 event_type; /* see enum fc_fpin_congn_event_types */ + __be16 event_modifier; /* Implementation specific value + * describing the event type + */ + __be32 event_period; /* duration (ms) of the detected + * congestion event + */ + __u8 severity; /* command */ + __u8 resv[3]; /* reserved - must be zero */ +}; + /* * ELS_FPIN - Fabric Performance Impact Notification */ --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B61B6131BAA; Sun, 24 Mar 2024 23:44:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323855; cv=none; b=sTq/9LDR6MzC8t38UGuHLNNYpWY/dhICCyZ0j/BGwoo7fLZm9SmCdKLpNgUMWY+0MhaEj+9bEI9ad9c3Rnx7P9OQFRJ0/PPaxA0yBCqnZijAYi71O9MW3FxwR1drDmcbPv8IEjSp4BKnykRHkymj94U0y5I4E7DMatLz7Ld17nc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323855; c=relaxed/simple; bh=nmx0U2KmulJ7xDHIJW5s6GGwnezIqUNiH+3mH1f/4gk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=hJLIwPqykVKLh+CBTGoP7Ud/C2cBzMprscXCw0Ri3JUhY47kt8oLWTbwQsGMqN84g/a/t08N40liwEty1LGb8fwAgD1sxvNWQiOb3WRhooRuBhKEkqYETmXoeqrWrGesXALrwnOkLAPkCgQ1yvUAxid6J/oj6djNmy3Htiaq2KY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DQir3qqX; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DQir3qqX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B1B24C433C7; Sun, 24 Mar 2024 23:44:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323854; bh=nmx0U2KmulJ7xDHIJW5s6GGwnezIqUNiH+3mH1f/4gk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DQir3qqXfXvlwnw180fdZ3eQdwh4aVrSrlorMAPdkRk2Yps8wrEbCbA92FgGDG2jB qGIcE3zFPqgJPnOMLIcrW7Kq7kX8nbm1x/jWces/9TKZsnBzHoSzR1qusTFVfX6SuP 3b7ZW42FqhXeKoPASWJU5yevCkNU6f8WInG4ez8tejzJLymaepbv3cbywtZmjEcFCd LnGsY3rdBYhsePTRuY8l6u7lmLT7T913FhT2UKNaOAO88X7P40Uu8fKn1gE1EQD9i9 Ze8Juxx/GEKft1vAa6kAFkHW6lgHJN1TgRnlPAfp8nuAsyK7Da4Oq9nQ23qv5Z+QEV 1LHo8soBJyEJw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Michael Klein , Maxime Ripard , Sasha Levin Subject: [PATCH 5.10 232/238] ARM: dts: sun8i-h2-plus-bananapi-m2-zero: add regulator nodes vcc-dram and vcc1v2 Date: Sun, 24 Mar 2024 19:40:20 -0400 Message-ID: <20240324234027.1354210-233-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Michael Klein [ Upstream commit 23e85be1ec81647374055f731488cc9a7c013a5c ] Add regulator nodes vcc-dram and vcc1v2 to the devicetree. These regulators correspond to U4 and U5 in the schematics: http://forum.banana-pi.org/t/bpi-m2-zero-schematic-diagram-public/4111 Signed-off-by: Michael Klein Signed-off-by: Maxime Ripard Link: https://lore.kernel.org/r/20201130183841.136708-1-michael@fossekall.de Stable-dep-of: 4a0e7f2decbf ("netfilter: nf_tables: do not compare internal= table flags on updates") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- .../dts/sun8i-h2-plus-bananapi-m2-zero.dts | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts b/arch/ar= m/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts index 4c6704e4c57ec..74d5732c412ba 100644 --- a/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts +++ b/arch/arm/boot/dts/sun8i-h2-plus-bananapi-m2-zero.dts @@ -62,6 +62,30 @@ reg_vdd_cpux: vdd-cpux-regulator { states =3D <1100000 0>, <1300000 1>; }; =20 + reg_vcc_dram: vcc-dram { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc-dram"; + regulator-min-microvolt =3D <1500000>; + regulator-max-microvolt =3D <1500000>; + regulator-always-on; + regulator-boot-on; + enable-active-high; + gpio =3D <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */ + vin-supply =3D <®_vcc5v0>; + }; + + reg_vcc1v2: vcc1v2 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc1v2"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1200000>; + regulator-always-on; + regulator-boot-on; + enable-active-high; + gpio =3D <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ + vin-supply =3D <®_vcc5v0>; + }; + wifi_pwrseq: wifi_pwrseq { compatible =3D "mmc-pwrseq-simple"; reset-gpios =3D <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 49A57131BA2; Sun, 24 Mar 2024 23:44:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323856; cv=none; b=MZpP9aXFS953NGBMCvhob5I0lFMv7CL9foOoE5+dnWWq/c+QzBQxsZqzvxvb9o8jY5HV30pC5tkjrv6U+IiDbVuHQM8X0SarmeYEr16nJi4zUvJtLkB5RajiIRZlWgtckOtIcDPbBrf1QAZkzaMAlt1AcnUUnIg3MnwvskcTeek= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323856; c=relaxed/simple; bh=HFdAVBCshBhE8RfYVfDJNWySv+TBfnv031oELRS2nQk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WUDGAy1TAaXHfam1CbXGJKPm/OJGtbHBF+tOoHVmjvIIzIfDzkkMP9SUk23KcSiTGh0RxKWuiMtsC//X93MQc68g+UnyA+1wzA7GHnfoz8cBeB1JDH54xI/Omo4VjvR868Wzxs/c0Q2qIalJeLaI3wMDOVpBqyaOTJlcf/Y4tOc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=DtEa6oHo; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="DtEa6oHo" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 953B7C43390; Sun, 24 Mar 2024 23:44:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323855; bh=HFdAVBCshBhE8RfYVfDJNWySv+TBfnv031oELRS2nQk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DtEa6oHopPTxkqp8YD5Qnubf8qkYHdfdyGMUHeO52MGomUJhhy7Lu/PqnJJHpmZIx f243u9HdaivS7yGB6OJ408EnuqbHV/4UR8PZTfBslbG8DtOt1F8yTVgpZ/ItCnkHiM nn6VlnCi0DHrUdgJShpWlfDeLW2jifbo8e0BeF0r61K/UT94nl6zyqErH/7FZwr6pE JUYB4NRdB3m+JmXPCAtoXgbx3K0PTIDl5jFjrkkL7VUrT6yL2uGvikKI3WEg4qOvZq Q195W1JOoTmLBD0huRaG90QC3XjTGHBaXVam1yeBLEY3VfzKc9EqsW9gcmjrAiiUaB jhjwYcVgdzKhw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Pablo Neira Ayuso , Sasha Levin Subject: [PATCH 5.10 233/238] netfilter: nf_tables: do not compare internal table flags on updates Date: Sun, 24 Mar 2024 19:40:21 -0400 Message-ID: <20240324234027.1354210-234-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Pablo Neira Ayuso [ Upstream commit 4a0e7f2decbf9bd72461226f1f5f7dcc4b08f139 ] Restore skipping transaction if table update does not modify flags. Fixes: 179d9ba5559a ("netfilter: nf_tables: fix table flag updates") Signed-off-by: Pablo Neira Ayuso Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- net/netfilter/nf_tables_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c index 73b0a6925304c..8d4472b127e41 100644 --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c @@ -1097,7 +1097,7 @@ static int nf_tables_updtable(struct nft_ctx *ctx) if (flags & ~NFT_TABLE_F_DORMANT) return -EINVAL; =20 - if (flags =3D=3D ctx->table->flags) + if (flags =3D=3D (ctx->table->flags & NFT_TABLE_F_MASK)) return 0; =20 /* No dormant off/on/off/on games in single transaction */ --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57F1A131BB0; Sun, 24 Mar 2024 23:44:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323856; cv=none; b=LzBA0wEQNjOJmki4BZRq4+F64+UQnCFJmxIt6mcy53wOYxPYJqblgY9ZAXwy6MhtYCAuIn+nVtiSfPWQzpd538K83WRhe/V0poHtockUxAC6kygpa2QD4peQRniVvPxnu6ajAhCto03I+xlBRI7w6XoOj/vdhy2YHkKGJj5J7tc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323856; c=relaxed/simple; bh=aNG0AjZbig5Qhr6LXBT/gr9Q8gDY446a7r6lLHDmZX0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ggFIOGbuy2FKr7Z8fzzQ3UGYhtpjZ1dDW+e/4aI5EC2MPT5XwmjhdHQHrN7KMyOHTdek9BSWjle57urhHn4O2jJqJLHtsr+L7nkeiKo8wtrBdNWa9RFhVakeFGVJBKJnMqbXiTAuhvXJ189pCeKXQ8lvjMTRSx/4bSRGDzJrVMQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=hgjx785v; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="hgjx785v" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6BCB4C433F1; Sun, 24 Mar 2024 23:44:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323856; bh=aNG0AjZbig5Qhr6LXBT/gr9Q8gDY446a7r6lLHDmZX0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hgjx785vJc1cINWdWF/44Aa5/jkdUjSYf2bCD16mgplhFgrn6WHv4JK1gBkPOyXk7 EMFRHqZTvHj9wtCJPqKV9Qv7Z1CIfIsmz1wuiysm4EgE388rO7obPqX+rBFwzwu+DJ UK1uJR6ND/S9ucwKFTiCVBVv+r7CVTix2byeRPEVTBJWwJ22DqpZGtNGnlkftgQBEN l5Z3zjwrTSZ5A/KSO1hYTxj8H+NCg2DcRAUqwEeEWLvBDKw/Hc4tunYZ1vbBi2KoVD I/6abJs3+y0YOIIDt2W/KLKCCd6WKhqO+ENrAgNX5dBbL6olWaN9IScPrSgvlfMpvW mQuakyEE2CcfQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Yan Zhai , "Paul E . McKenney" , Jesper Dangaard Brouer , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.10 234/238] rcu: add a helper to report consolidated flavor QS Date: Sun, 24 Mar 2024 19:40:22 -0400 Message-ID: <20240324234027.1354210-235-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yan Zhai [ Upstream commit 1a77557d48cff187a169c2aec01c0dd78a5e7e50 ] When under heavy load, network processing can run CPU-bound for many tens of seconds. Even in preemptible kernels (non-RT kernel), this can block RCU Tasks grace periods, which can cause trace-event removal to take more than a minute, which is unacceptably long. This commit therefore creates a new helper function that passes through both RCU and RCU-Tasks quiescent states every 100 milliseconds. This hard-coded value suffices for current workloads. Suggested-by: Paul E. McKenney Reviewed-by: Jesper Dangaard Brouer Signed-off-by: Yan Zhai Reviewed-by: Paul E. McKenney Acked-by: Jesper Dangaard Brouer Link: https://lore.kernel.org/r/90431d46ee112d2b0af04dbfe936faaca11810a5.17= 10877680.git.yan@cloudflare.com Signed-off-by: Jakub Kicinski Stable-dep-of: 00bf63122459 ("bpf: report RCU QS in cpumap kthread") Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- include/linux/rcupdate.h | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 0122c03da24af..9db6710e6ee7b 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -226,6 +226,37 @@ do { \ cond_resched(); \ } while (0) =20 +/** + * rcu_softirq_qs_periodic - Report RCU and RCU-Tasks quiescent states + * @old_ts: jiffies at start of processing. + * + * This helper is for long-running softirq handlers, such as NAPI threads = in + * networking. The caller should initialize the variable passed in as @old= _ts + * at the beginning of the softirq handler. When invoked frequently, this = macro + * will invoke rcu_softirq_qs() every 100 milliseconds thereafter, which w= ill + * provide both RCU and RCU-Tasks quiescent states. Note that this macro + * modifies its old_ts argument. + * + * Because regions of code that have disabled softirq act as RCU read-side + * critical sections, this macro should be invoked with softirq (and + * preemption) enabled. + * + * The macro is not needed when CONFIG_PREEMPT_RT is defined. RT kernels w= ould + * have more chance to invoke schedule() calls and provide necessary quies= cent + * states. As a contrast, calling cond_resched() only won't achieve the sa= me + * effect because cond_resched() does not provide RCU-Tasks quiescent stat= es. + */ +#define rcu_softirq_qs_periodic(old_ts) \ +do { \ + if (!IS_ENABLED(CONFIG_PREEMPT_RT) && \ + time_after(jiffies, (old_ts) + HZ / 10)) { \ + preempt_disable(); \ + rcu_softirq_qs(); \ + preempt_enable(); \ + (old_ts) =3D jiffies; \ + } \ +} while (0) + /* * Infrastructure to implement the synchronize_() primitives in * TREE_RCU and rcu_barrier_() primitives in TINY_RCU. --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6CDD7131BB3; Sun, 24 Mar 2024 23:44:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323858; cv=none; b=GaRBGr3XW5nLCjbwzeAmHu0Kf8WFJQg2o5PKGnENZ2U+sW48NDXjYerZTnTWyG5BNQakM66scnwbZQBu4lO4gUUdOHTGL2WHPTB+F9Jjsa+Dz2qJxQejUABm2IzRjto6dyaMu5T+yAnVjVFtG3vZJ5WPzjkrZZjfqA18kTpzvdQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323858; c=relaxed/simple; bh=QMGPU9v5zCezGY7dbzADYR4mYAy++b+NW7nLcEaX8zA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KMrG1MYWvqipyO8cfrGyeeShBXIr0evFNFMnfgHpEKgrPegIxW2TN2CJf62+XKeBO5u7i6iG5GqVbj7vyg4bBkl3yDx+Ei2VoxIDrJxvO5SJLHEadGOARND4OwqN2/RQDKj9Zv3u64uB/6nwMyNVgv+G2iENdxsCUjlewPb0BpM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZfIW+jeC; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZfIW+jeC" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7B69BC43390; Sun, 24 Mar 2024 23:44:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323857; bh=QMGPU9v5zCezGY7dbzADYR4mYAy++b+NW7nLcEaX8zA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZfIW+jeCP6Ic8m1ilPF9oe0K2Qw7QsrD1f0Lh4HucExe2pEENJLV3L8WwPdWh5l2M +51usPwbKBk+Abtg4k6yp3U+welj7cbNw06EjaXH/oNYSCsg7CNztC1c56bMn4T7Tu zfYY+Vc22LY6itA5pYs3tatsdtfQCL0WAyPbMRnW5Xxeqk6N9W7uQoINql/9bEQvDn dmWJtxFMMUsF7JYEvRlaqT6tYIkQiNKqQF/qdZ2aBMojNB/I9g4lvFL9A1yFRe5fAW Bobb8QBxXQDCRDO99nYqv0hR0IyTMnCGyj8a9f1t8RXO+oMq4BjKq7F0H6JzxSgOv0 60LaCSIrFl7FQ== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Yan Zhai , Jesper Dangaard Brouer , "Paul E . McKenney" , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.10 235/238] bpf: report RCU QS in cpumap kthread Date: Sun, 24 Mar 2024 19:40:23 -0400 Message-ID: <20240324234027.1354210-236-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yan Zhai [ Upstream commit 00bf63122459e87193ee7f1bc6161c83a525569f ] When there are heavy load, cpumap kernel threads can be busy polling packets from redirect queues and block out RCU tasks from reaching quiescent states. It is insufficient to just call cond_resched() in such context. Periodically raise a consolidated RCU QS before cond_resched fixes the problem. Fixes: 6710e1126934 ("bpf: introduce new bpf cpu map type BPF_MAP_TYPE_CPUM= AP") Reviewed-by: Jesper Dangaard Brouer Signed-off-by: Yan Zhai Acked-by: Paul E. McKenney Acked-by: Jesper Dangaard Brouer Link: https://lore.kernel.org/r/c17b9f1517e19d813da3ede5ed33ee18496bb5d8.17= 10877680.git.yan@cloudflare.com Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- kernel/bpf/cpumap.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/kernel/bpf/cpumap.c b/kernel/bpf/cpumap.c index 2dcc04b2f330e..9a4378df45998 100644 --- a/kernel/bpf/cpumap.c +++ b/kernel/bpf/cpumap.c @@ -299,6 +299,7 @@ static int cpu_map_bpf_prog_run_xdp(struct bpf_cpu_map_= entry *rcpu, static int cpu_map_kthread_run(void *data) { struct bpf_cpu_map_entry *rcpu =3D data; + unsigned long last_qs =3D jiffies; =20 set_current_state(TASK_INTERRUPTIBLE); =20 @@ -322,10 +323,12 @@ static int cpu_map_kthread_run(void *data) if (__ptr_ring_empty(rcpu->queue)) { schedule(); sched =3D 1; + last_qs =3D jiffies; } else { __set_current_state(TASK_RUNNING); } } else { + rcu_softirq_qs_periodic(last_qs); sched =3D cond_resched(); } =20 --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 67FAC131BB9; Sun, 24 Mar 2024 23:44:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323859; cv=none; b=k30I33XS4QOv7EHIhsG1HMHkWd80atCZzamwVyrjilNKPnNi0ZderY9doKgx+2+3mXjVyARnX9PfIOz7k5LZQryRdDZJX8ohzgQDvWkZE7eitCwXS3S6+kjvNjv6PV5B7sV0bAldoLCicitVNWbIDFxaZ0I+yPKuDDOL1xQjtZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323859; c=relaxed/simple; bh=h8WYk4IY25Zdo9U9OK/FvAwySZFHCNhp72itS0ZUoF8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Unl89JBW8wH6XylTbRBvTqIZtY0YnslVq7oo7JSf2mgATV2CGHJR5zuqnZBHvGKzcaZXDBXrEtoY158LpeN0YWw6XrSICcRSbQpqK8a88L8zB7cJkqRHywAgAvZmS9zhh7yIr6/MtTmLA2PN3P3yYGp9Oeng4URKopuwvVaeCag= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aZtbsq3X; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aZtbsq3X" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8E478C433B1; Sun, 24 Mar 2024 23:44:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323858; bh=h8WYk4IY25Zdo9U9OK/FvAwySZFHCNhp72itS0ZUoF8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=aZtbsq3XyejFkHywZYZcuPqK4yu9W/ueFn/9Gjs0DeYDsd8JKPtBwzlchaAL24d6a o+XnbrBgAQr/PnTRYMy5VXRy0a4q/oWXknsLLmYMtCALn2SD3FOOZNF4Rkuz4Z0sZH anitlznLa2WjlpBx4XfndU2NsBeHqbWXc7p+k+HIQRWtlA+8bZU/OER9LJivCjONaL T2FnoW0APeoNdXvevXZlZLiqArrxO5Rdt51DfcXvchfw69kAvKqBkHxDgQO8Mo/3ZD nhQpUCqOMlzIVRoafqPMYnpftesnCosCl06MuxE7nSNTlDk0jQBWHkY3ECiLDeJHNP MTEeKrmjctKIg== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Fei Shao , AngeloGioacchino Del Regno , Mark Brown , Sasha Levin Subject: [PATCH 5.10 236/238] spi: spi-mt65xx: Fix NULL pointer access in interrupt handler Date: Sun, 24 Mar 2024 19:40:24 -0400 Message-ID: <20240324234027.1354210-237-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Fei Shao [ Upstream commit a20ad45008a7c82f1184dc6dee280096009ece55 ] The TX buffer in spi_transfer can be a NULL pointer, so the interrupt handler may end up writing to the invalid memory and cause crashes. Add a check to trans->tx_buf before using it. Fixes: 1ce24864bff4 ("spi: mediatek: Only do dma for 4-byte aligned buffers= ") Signed-off-by: Fei Shao Reviewed-by: AngeloGioacchino Del Regno Link: https://msgid.link/r/20240321070942.1587146-2-fshao@chromium.org Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/spi/spi-mt65xx.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/drivers/spi/spi-mt65xx.c b/drivers/spi/spi-mt65xx.c index 92a09dfb99a8e..0bcf4a28132ad 100644 --- a/drivers/spi/spi-mt65xx.c +++ b/drivers/spi/spi-mt65xx.c @@ -566,17 +566,19 @@ static irqreturn_t mtk_spi_interrupt(int irq, void *d= ev_id) mdata->xfer_len =3D min(MTK_SPI_MAX_FIFO_SIZE, len); mtk_spi_setup_packet(master); =20 - cnt =3D mdata->xfer_len / 4; - iowrite32_rep(mdata->base + SPI_TX_DATA_REG, - trans->tx_buf + mdata->num_xfered, cnt); + if (trans->tx_buf) { + cnt =3D mdata->xfer_len / 4; + iowrite32_rep(mdata->base + SPI_TX_DATA_REG, + trans->tx_buf + mdata->num_xfered, cnt); =20 - remainder =3D mdata->xfer_len % 4; - if (remainder > 0) { - reg_val =3D 0; - memcpy(®_val, - trans->tx_buf + (cnt * 4) + mdata->num_xfered, - remainder); - writel(reg_val, mdata->base + SPI_TX_DATA_REG); + remainder =3D mdata->xfer_len % 4; + if (remainder > 0) { + reg_val =3D 0; + memcpy(®_val, + trans->tx_buf + (cnt * 4) + mdata->num_xfered, + remainder); + writel(reg_val, mdata->base + SPI_TX_DATA_REG); + } } =20 mtk_spi_enable_transfer(master); --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F6AC131BBD; Sun, 24 Mar 2024 23:44:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323860; cv=none; b=RVr5AiU1Eq1WrDgzCPcJpj/3MbtIgvWmH3LOKlZ4BYovkAkCXSuSPyqamcisv5/QfRcI1kF5rlNxtpbqRMWgKU6onUcdghw4T6LRm/eNitx2RD+hZBM/vXtkFOTIIId1JdtoXJGTBSnRQfMinCb6DaN+5Pi/4fJ0/q87h6rd5RE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323860; c=relaxed/simple; bh=5VQaZ7OnaaW+qUx+jzwOvmGzQYVd+zAXX4Becu7Jxdw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=b6dgKRN2HYIXYM4FgR/8CRiHQqpgOzmQkpCt+6fTqHmztHTWqQygeQIL3DIUaCpEzRPV1VGvk3QDzoE90Ohta50hSznCvyCcdpaVCERoOyrvZjmIcL/q3sJ8iUsmyR8kOZREnHrXL6nEAmAZCBTz+TWpXbICgSTcaIQMx3mfksU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZXsab4lX; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZXsab4lX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8B72CC43330; Sun, 24 Mar 2024 23:44:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323859; bh=5VQaZ7OnaaW+qUx+jzwOvmGzQYVd+zAXX4Becu7Jxdw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ZXsab4lXZad0IX3gC+1oZcneakmm3zbZHfE9MqqaQokh+LvG0wcGCxQhZj/Es1u0P z/g53cD1YHcSyvRGK0RsrHFliPVyeysixnKC5DYgYFgaHP9fIczRR063tVvk3P0kik nZRZSA46ooJUfYdFYHzqX6l0erKvLwCpwcEFlOCuvIW/5Tgs17VdhfnQSFsrco4IPK J0rP+wspa8WlF++vOThwEgVWIRiMWn2WCJzfbyLW6jeshTM0cDSeCCIAjfPzBVBlLA GC3rHfH+B7u4qowv175Aeq4D4xdt5e1ROViAqrgnWioyX9vc2hbXUZ7FvqPYQO2Mav ijv1TTvxYn6mw== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Marek Vasut , kernel test robot , Dan Carpenter , Mark Brown , Sasha Levin Subject: [PATCH 5.10 237/238] regmap: Add missing map->bus check Date: Sun, 24 Mar 2024 19:40:25 -0400 Message-ID: <20240324234027.1354210-238-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Marek Vasut [ Upstream commit 5c422f0b970d287efa864b8390a02face404db5d ] The map->bus can be NULL here, add the missing NULL pointer check. Fixes: d77e745613680 ("regmap: Add bulk read/write callbacks into regmap_co= nfig") Reported-by: kernel test robot Reported-by: Dan Carpenter Signed-off-by: Marek Vasut Cc: Dan Carpenter Cc: Mark Brown To: linux-kernel@vger.kernel.org Link: https://lore.kernel.org/r/20220509003035.225272-1-marex@denx.de Signed-off-by: Mark Brown Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- drivers/base/regmap/regmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 2dfd6aa600450..a3c4086603a60 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -1796,7 +1796,7 @@ static int _regmap_raw_write_impl(struct regmap *map,= unsigned int reg, map->format.reg_bytes + map->format.pad_bytes + val_len); - else if (map->bus->gather_write) + else if (map->bus && map->bus->gather_write) ret =3D map->bus->gather_write(map->bus_context, map->work_buf, map->format.reg_bytes + map->format.pad_bytes, --=20 2.43.0 From nobody Fri Dec 19 20:33:59 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3EFCA131BC2; Sun, 24 Mar 2024 23:44:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323861; cv=none; b=Y92A86oKiJaM5xyr1+hc2Av3toFRdk7PAhEsPYdXBFQjgF5NONDf9cSiUz4lIlV0Dh/LLIbS+2pnbcyU6oldZLtSDjGjjh/5mKm3o2o7euiGWzS5AXtn6tPSEZN7nIlGB63T74ex34RKbnOqHglLDgIuF+zLuT9mAkCG1PLbpMk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1711323861; c=relaxed/simple; bh=rDm185Bh1EDMtEJsFpi2CDlhDA/68UEtjAVW+yRFrLM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=mw+ROW6LJFxrhXYHuCuIUCQiAa3757oXIed/0kcq9DDpFILGDXKk8dHpAyi//dnzXAn2eyCe6XGhxXRSuViPdsh9VQeqZ+/K4U1n5vVMVstTBVQcR1QD4BGt2mVCmOcn6mVxY6fiLeHAahOfHB9zPBMi1xqj32Xh/qtfInnKcxk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ikQ7Cyxi; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ikQ7Cyxi" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A1242C43390; Sun, 24 Mar 2024 23:44:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1711323860; bh=rDm185Bh1EDMtEJsFpi2CDlhDA/68UEtjAVW+yRFrLM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ikQ7CyxiOU+KslErxGaqVqJ79XJsHMaZ5zlBR1PrmPFyeXmVVWhkFli+iF14w3eJg 7Q+YLIwjTL/ofWx3LHhfp9/x7kp3S+OA+AEWuL1lmlWXz0ArEJtc5uee2PUiuQsbcV L6w27FkYv23dJ7Y+KlZ+vI1rXbtDNuPBybKqp1q5CTagm6UqtwGahz6YXvXmvKilLP r91rQN95d59wEfVRs3ytqQsx2IAq/vzz0eEaGOAT26u0wp2Bt6rp+GtBk3txPJVR9K MaHClbRM4UD5nMGTpIubbz3tcMQ97/yhozq1fuZj8cc1oxwC0GJ1/IkrRh8jUROM1H WLKX5Pugrl86g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Sasha Levin Subject: [PATCH 5.10 238/238] Linux 5.10.214-rc1 Date: Sun, 24 Mar 2024 19:40:26 -0400 Message-ID: <20240324234027.1354210-239-sashal@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240324234027.1354210-1-sashal@kernel.org> References: <20240324234027.1354210-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Signed-off-by: Sasha Levin Reported-by: Linux Kernel Functional Testing Tested-by: kernelci.org bot --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index b6af62d53d7a6..980bbbcfc2605 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ # SPDX-License-Identifier: GPL-2.0 VERSION =3D 5 PATCHLEVEL =3D 10 -SUBLEVEL =3D 213 -EXTRAVERSION =3D +SUBLEVEL =3D 214 +EXTRAVERSION =3D -rc1 NAME =3D Dare mighty things =20 # *DOCUMENTATION* --=20 2.43.0