]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
6.15-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Jun 2025 14:56:19 +0000 (16:56 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Jun 2025 14:56:19 +0000 (16:56 +0200)
added patches:
calipso-unlock-rcu-before-returning-eafnosupport.patch
do_move_mount-split-the-checks-in-subtree-of-our-ns-and-entire-anon-cases.patch
gfs2-don-t-clear-sb-s_fs_info-in-gfs2_sys_fs_add.patch
net-usb-aqc111-debug-info-before-sanitation.patch
overflow-introduce-__define_flex-for-having-no-initializer.patch
regulator-dt-bindings-mt6357-drop-fixed-compatible-requirement.patch
usb-misc-onboard_usb_dev-fix-build-warning-for-config_usb_onboard_dev_usb5744-n.patch

queue-6.15/calipso-unlock-rcu-before-returning-eafnosupport.patch [new file with mode: 0644]
queue-6.15/do_move_mount-split-the-checks-in-subtree-of-our-ns-and-entire-anon-cases.patch [new file with mode: 0644]
queue-6.15/gfs2-don-t-clear-sb-s_fs_info-in-gfs2_sys_fs_add.patch [new file with mode: 0644]
queue-6.15/net-usb-aqc111-debug-info-before-sanitation.patch [new file with mode: 0644]
queue-6.15/overflow-introduce-__define_flex-for-having-no-initializer.patch [new file with mode: 0644]
queue-6.15/regulator-dt-bindings-mt6357-drop-fixed-compatible-requirement.patch [new file with mode: 0644]
queue-6.15/series
queue-6.15/usb-misc-onboard_usb_dev-fix-build-warning-for-config_usb_onboard_dev_usb5744-n.patch [new file with mode: 0644]

diff --git a/queue-6.15/calipso-unlock-rcu-before-returning-eafnosupport.patch b/queue-6.15/calipso-unlock-rcu-before-returning-eafnosupport.patch
new file mode 100644 (file)
index 0000000..43dd7a0
--- /dev/null
@@ -0,0 +1,41 @@
+From 3cae906e1a6184cdc9e4d260e4dbdf9a118d94ad Mon Sep 17 00:00:00 2001
+From: Eric Dumazet <edumazet@google.com>
+Date: Wed, 4 Jun 2025 13:38:26 +0000
+Subject: calipso: unlock rcu before returning -EAFNOSUPPORT
+
+From: Eric Dumazet <edumazet@google.com>
+
+commit 3cae906e1a6184cdc9e4d260e4dbdf9a118d94ad upstream.
+
+syzbot reported that a recent patch forgot to unlock rcu
+in the error path.
+
+Adopt the convention that netlbl_conn_setattr() is already using.
+
+Fixes: 6e9f2df1c550 ("calipso: Don't call calipso functions for AF_INET sk.")
+Reported-by: syzbot <syzkaller@googlegroups.com>
+Signed-off-by: Eric Dumazet <edumazet@google.com>
+Cc: Kuniyuki Iwashima <kuniyu@amazon.com>
+Acked-by: Paul Moore <paul@paul-moore.com>
+Link: https://patch.msgid.link/20250604133826.1667664-1-edumazet@google.com
+Signed-off-by: Jakub Kicinski <kuba@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ net/netlabel/netlabel_kapi.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/net/netlabel/netlabel_kapi.c
++++ b/net/netlabel/netlabel_kapi.c
+@@ -1165,8 +1165,10 @@ int netlbl_conn_setattr(struct sock *sk,
+               break;
+ #if IS_ENABLED(CONFIG_IPV6)
+       case AF_INET6:
+-              if (sk->sk_family != AF_INET6)
+-                      return -EAFNOSUPPORT;
++              if (sk->sk_family != AF_INET6) {
++                      ret_val = -EAFNOSUPPORT;
++                      goto conn_setattr_return;
++              }
+               addr6 = (struct sockaddr_in6 *)addr;
+               entry = netlbl_domhsh_getentry_af6(secattr->domain,
diff --git a/queue-6.15/do_move_mount-split-the-checks-in-subtree-of-our-ns-and-entire-anon-cases.patch b/queue-6.15/do_move_mount-split-the-checks-in-subtree-of-our-ns-and-entire-anon-cases.patch
new file mode 100644 (file)
index 0000000..3360904
--- /dev/null
@@ -0,0 +1,98 @@
+From 290da20e333955637f00647d9fff7c6e3c0b61e0 Mon Sep 17 00:00:00 2001
+From: Al Viro <viro@zeniv.linux.org.uk>
+Date: Fri, 6 Jun 2025 18:31:03 -0400
+Subject: do_move_mount(): split the checks in subtree-of-our-ns and entire-anon cases
+
+From: Al Viro <viro@zeniv.linux.org.uk>
+
+commit 290da20e333955637f00647d9fff7c6e3c0b61e0 upstream.
+
+... and fix the breakage in anon-to-anon case.  There are two cases
+acceptable for do_move_mount() and mixing checks for those is making
+things hard to follow.
+
+One case is move of a subtree in caller's namespace.
+        * source and destination must be in caller's namespace
+       * source must be detachable from parent
+Another is moving the entire anon namespace elsewhere
+       * source must be the root of anon namespace
+       * target must either in caller's namespace or in a suitable
+         anon namespace (see may_use_mount() for details).
+       * target must not be in the same namespace as source.
+
+It's really easier to follow if tests are *not* mixed together...
+
+Reviewed-by: Christian Brauner <brauner@kernel.org>
+Fixes: 3b5260d12b1f ("Don't propagate mounts into detached trees")
+Reported-by: Allison Karlitskaya <lis@redhat.com>
+Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ fs/namespace.c |   46 +++++++++++++++++++++++++---------------------
+ 1 file changed, 25 insertions(+), 21 deletions(-)
+
+--- a/fs/namespace.c
++++ b/fs/namespace.c
+@@ -3662,37 +3662,41 @@ static int do_move_mount(struct path *ol
+       ns = old->mnt_ns;
+       err = -EINVAL;
+-      if (!may_use_mount(p))
+-              goto out;
+-
+       /* The thing moved must be mounted... */
+       if (!is_mounted(&old->mnt))
+               goto out;
+-      /* ... and either ours or the root of anon namespace */
+-      if (!(attached ? check_mnt(old) : is_anon_ns(ns)))
+-              goto out;
+-
+-      if (is_anon_ns(ns) && ns == p->mnt_ns) {
++      if (check_mnt(old)) {
++              /* if the source is in our namespace... */
++              /* ... it should be detachable from parent */
++              if (!mnt_has_parent(old) || IS_MNT_LOCKED(old))
++                      goto out;
++              /* ... and the target should be in our namespace */
++              if (!check_mnt(p))
++                      goto out;
++      } else {
+               /*
+-               * Ending up with two files referring to the root of the
+-               * same anonymous mount namespace would cause an error
+-               * as this would mean trying to move the same mount
+-               * twice into the mount tree which would be rejected
+-               * later. But be explicit about it right here.
++               * otherwise the source must be the root of some anon namespace.
++               * AV: check for mount being root of an anon namespace is worth
++               * an inlined predicate...
+                */
+-              goto out;
+-      } else if (is_anon_ns(p->mnt_ns)) {
++              if (!is_anon_ns(ns) || mnt_has_parent(old))
++                      goto out;
+               /*
+-               * Don't allow moving an attached mount tree to an
+-               * anonymous mount tree.
++               * Bail out early if the target is within the same namespace -
++               * subsequent checks would've rejected that, but they lose
++               * some corner cases if we check it early.
+                */
+-              goto out;
++              if (ns == p->mnt_ns)
++                      goto out;
++              /*
++               * Target should be either in our namespace or in an acceptable
++               * anon namespace, sensu check_anonymous_mnt().
++               */
++              if (!may_use_mount(p))
++                      goto out;
+       }
+-      if (old->mnt.mnt_flags & MNT_LOCKED)
+-              goto out;
+-
+       if (!path_mounted(old_path))
+               goto out;
diff --git a/queue-6.15/gfs2-don-t-clear-sb-s_fs_info-in-gfs2_sys_fs_add.patch b/queue-6.15/gfs2-don-t-clear-sb-s_fs_info-in-gfs2_sys_fs_add.patch
new file mode 100644 (file)
index 0000000..6bf9c08
--- /dev/null
@@ -0,0 +1,65 @@
+From 9126d2754c5e5d1818765811a10af0a14cf1fa0a Mon Sep 17 00:00:00 2001
+From: Andrew Price <anprice@redhat.com>
+Date: Wed, 28 May 2025 16:02:37 +0100
+Subject: gfs2: Don't clear sb->s_fs_info in gfs2_sys_fs_add
+
+From: Andrew Price <anprice@redhat.com>
+
+commit 9126d2754c5e5d1818765811a10af0a14cf1fa0a upstream.
+
+When gfs2_sys_fs_add() fails, it sets sb->s_fs_info to NULL on its error
+path (see commit 0d515210b696 ("GFS2: Add kobject release method")).
+The intention seems to be to prevent dereferencing sb->s_fs_info once
+the object pointed to has been deallocated, but that would be better
+achieved by setting the pointer to NULL in free_sbd().
+
+As a consequence, when the call to gfs2_sys_fs_add() fails in
+gfs2_fill_super(), sdp = GFS2_SB(inode) will evaluate to NULL in iput()
+-> gfs2_drop_inode(), and accessing sdp->sd_flags will be a NULL pointer
+dereference.
+
+Fix that by only setting sb->s_fs_info to NULL when actually freeing the
+object pointed to in free_sbd().
+
+Fixes: ae9f3bd8259a ("gfs2: replace sd_aspace with sd_inode")
+Reported-by: syzbot+b12826218502df019f9d@syzkaller.appspotmail.com
+Signed-off-by: Andrew Price <anprice@redhat.com>
+Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ fs/gfs2/ops_fstype.c |    4 +++-
+ fs/gfs2/sys.c        |    1 -
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+--- a/fs/gfs2/ops_fstype.c
++++ b/fs/gfs2/ops_fstype.c
+@@ -64,8 +64,11 @@ static void gfs2_tune_init(struct gfs2_t
+ void free_sbd(struct gfs2_sbd *sdp)
+ {
++      struct super_block *sb = sdp->sd_vfs;
++
+       if (sdp->sd_lkstats)
+               free_percpu(sdp->sd_lkstats);
++      sb->s_fs_info = NULL;
+       kfree(sdp);
+ }
+@@ -1316,7 +1319,6 @@ fail_iput:
+       iput(sdp->sd_inode);
+ fail_free:
+       free_sbd(sdp);
+-      sb->s_fs_info = NULL;
+       return error;
+ }
+--- a/fs/gfs2/sys.c
++++ b/fs/gfs2/sys.c
+@@ -764,7 +764,6 @@ fail_reg:
+       fs_err(sdp, "error %d adding sysfs files\n", error);
+       kobject_put(&sdp->sd_kobj);
+       wait_for_completion(&sdp->sd_kobj_unregister);
+-      sb->s_fs_info = NULL;
+       return error;
+ }
diff --git a/queue-6.15/net-usb-aqc111-debug-info-before-sanitation.patch b/queue-6.15/net-usb-aqc111-debug-info-before-sanitation.patch
new file mode 100644 (file)
index 0000000..e91febb
--- /dev/null
@@ -0,0 +1,51 @@
+From d3faab9b5a6a0477d69c38bd11c43aa5e936f929 Mon Sep 17 00:00:00 2001
+From: Oliver Neukum <oneukum@suse.com>
+Date: Wed, 28 May 2025 13:03:54 +0200
+Subject: net: usb: aqc111: debug info before sanitation
+
+From: Oliver Neukum <oneukum@suse.com>
+
+commit d3faab9b5a6a0477d69c38bd11c43aa5e936f929 upstream.
+
+If we sanitize error returns, the debug statements need
+to come before that so that we don't lose information.
+
+Signed-off-by: Oliver Neukum <oneukum@suse.com>
+Fixes: 405b0d610745 ("net: usb: aqc111: fix error handling of usbnet read calls")
+Reviewed-by: Andrew Lunn <andrew@lunn.ch>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/net/usb/aqc111.c |    8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+--- a/drivers/net/usb/aqc111.c
++++ b/drivers/net/usb/aqc111.c
+@@ -31,11 +31,11 @@ static int aqc111_read_cmd_nopm(struct u
+                                  USB_RECIP_DEVICE, value, index, data, size);
+       if (unlikely(ret < size)) {
+-              ret = ret < 0 ? ret : -ENODATA;
+-
+               netdev_warn(dev->net,
+                           "Failed to read(0x%x) reg index 0x%04x: %d\n",
+                           cmd, index, ret);
++
++              ret = ret < 0 ? ret : -ENODATA;
+       }
+       return ret;
+@@ -50,11 +50,11 @@ static int aqc111_read_cmd(struct usbnet
+                             USB_RECIP_DEVICE, value, index, data, size);
+       if (unlikely(ret < size)) {
+-              ret = ret < 0 ? ret : -ENODATA;
+-
+               netdev_warn(dev->net,
+                           "Failed to read(0x%x) reg index 0x%04x: %d\n",
+                           cmd, index, ret);
++
++              ret = ret < 0 ? ret : -ENODATA;
+       }
+       return ret;
diff --git a/queue-6.15/overflow-introduce-__define_flex-for-having-no-initializer.patch b/queue-6.15/overflow-introduce-__define_flex-for-having-no-initializer.patch
new file mode 100644 (file)
index 0000000..bf5067f
--- /dev/null
@@ -0,0 +1,80 @@
+From 5c78e793f78732b60276401f75cc1a101f9ad121 Mon Sep 17 00:00:00 2001
+From: Kees Cook <kees@kernel.org>
+Date: Fri, 30 May 2025 12:06:47 -0700
+Subject: overflow: Introduce __DEFINE_FLEX for having no initializer
+
+From: Kees Cook <kees@kernel.org>
+
+commit 5c78e793f78732b60276401f75cc1a101f9ad121 upstream.
+
+While not yet in the tree, there is a proposed patch[1] that was
+depending on the prior behavior of _DEFINE_FLEX, which did not have an
+explicit initializer. Provide this via __DEFINE_FLEX now, which can also
+have attributes applied (e.g. __uninitialized).
+
+Examples of the resulting initializer behaviors can be seen here:
+https://godbolt.org/z/P7Go8Tr33
+
+Link: https://lore.kernel.org/netdev/20250520205920.2134829-9-anthony.l.nguyen@intel.com [1]
+Fixes: 47e36ed78406 ("overflow: Fix direct struct member initialization in _DEFINE_FLEX()")
+Signed-off-by: Kees Cook <kees@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ include/linux/overflow.h |   25 +++++++++++++++++++------
+ 1 file changed, 19 insertions(+), 6 deletions(-)
+
+--- a/include/linux/overflow.h
++++ b/include/linux/overflow.h
+@@ -389,25 +389,38 @@ static inline size_t __must_check size_s
+       struct_size((type *)NULL, member, count)
+ /**
+- * _DEFINE_FLEX() - helper macro for DEFINE_FLEX() family.
+- * Enables caller macro to pass (different) initializer.
++ * __DEFINE_FLEX() - helper macro for DEFINE_FLEX() family.
++ * Enables caller macro to pass arbitrary trailing expressions
+  *
+  * @type: structure type name, including "struct" keyword.
+  * @name: Name for a variable to define.
+  * @member: Name of the array member.
+  * @count: Number of elements in the array; must be compile-time const.
+- * @initializer: Initializer expression (e.g., pass `= { }` at minimum).
++ * @trailer: Trailing expressions for attributes and/or initializers.
+  */
+-#define _DEFINE_FLEX(type, name, member, count, initializer...)                       \
++#define __DEFINE_FLEX(type, name, member, count, trailer...)                  \
+       _Static_assert(__builtin_constant_p(count),                             \
+                      "onstack flex array members require compile-time const count"); \
+       union {                                                                 \
+               u8 bytes[struct_size_t(type, member, count)];                   \
+               type obj;                                                       \
+-      } name##_u = { .obj initializer };                                      \
++      } name##_u trailer;                                                     \
+       type *name = (type *)&name##_u
+ /**
++ * _DEFINE_FLEX() - helper macro for DEFINE_FLEX() family.
++ * Enables caller macro to pass (different) initializer.
++ *
++ * @type: structure type name, including "struct" keyword.
++ * @name: Name for a variable to define.
++ * @member: Name of the array member.
++ * @count: Number of elements in the array; must be compile-time const.
++ * @initializer: Initializer expression (e.g., pass `= { }` at minimum).
++ */
++#define _DEFINE_FLEX(type, name, member, count, initializer...)                       \
++      __DEFINE_FLEX(type, name, member, count, = { .obj initializer })
++
++/**
+  * DEFINE_RAW_FLEX() - Define an on-stack instance of structure with a trailing
+  * flexible array member, when it does not have a __counted_by annotation.
+  *
+@@ -421,7 +434,7 @@ static inline size_t __must_check size_s
+  * Use __struct_size(@name) to get compile-time size of it afterwards.
+  */
+ #define DEFINE_RAW_FLEX(type, name, member, count)    \
+-      _DEFINE_FLEX(type, name, member, count, = {})
++      __DEFINE_FLEX(type, name, member, count, = { })
+ /**
+  * DEFINE_FLEX() - Define an on-stack instance of structure with a trailing
diff --git a/queue-6.15/regulator-dt-bindings-mt6357-drop-fixed-compatible-requirement.patch b/queue-6.15/regulator-dt-bindings-mt6357-drop-fixed-compatible-requirement.patch
new file mode 100644 (file)
index 0000000..781143f
--- /dev/null
@@ -0,0 +1,124 @@
+From 9cfdd7752ba5f8cc9b8191e8c9aeeec246241fa4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?N=C3=ADcolas=20F=2E=20R=2E=20A=2E=20Prado?=
+ <nfraprado@collabora.com>
+Date: Wed, 14 May 2025 08:36:06 -0400
+Subject: regulator: dt-bindings: mt6357: Drop fixed compatible requirement
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+From: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
+
+commit 9cfdd7752ba5f8cc9b8191e8c9aeeec246241fa4 upstream.
+
+Some of the regulators on the MT6357 PMIC currently reference the
+fixed-regulator dt-binding, which enforces the presence of a
+regulator-fixed compatible. However since all regulators on the MT6357
+PMIC are handled by a single mt6357-regulator driver, probed through
+MFD, the compatibles don't serve any purpose. In fact they cause
+failures in the DT kselftest since they aren't probed by the fixed
+regulator driver as would be expected. Furthermore this is the only
+dt-binding in this family like this: mt6359-regulator and
+mt6358-regulator don't require those compatibles.
+
+Commit d77e89b7b03f ("arm64: dts: mediatek: mt6357: Drop regulator-fixed
+compatibles") removed the compatibles from Devicetree, but missed
+updating the binding, which still requires them, introducing dt-binding
+errors. Remove the compatible requirement by referencing the plain
+regulator dt-binding instead to fix the dt-binding errors.
+
+Fixes: d77e89b7b03f ("arm64: dts: mediatek: mt6357: Drop regulator-fixed compatibles")
+Signed-off-by: NĂ­colas F. R. A. Prado <nfraprado@collabora.com>
+Link: https://patch.msgid.link/20250514-mt6357-regulator-fixed-compatibles-removal-bindings-v1-1-2421e9cc6cc7@collabora.com
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ Documentation/devicetree/bindings/regulator/mediatek,mt6357-regulator.yaml |   12 ----------
+ 1 file changed, 1 insertion(+), 11 deletions(-)
+
+--- a/Documentation/devicetree/bindings/regulator/mediatek,mt6357-regulator.yaml
++++ b/Documentation/devicetree/bindings/regulator/mediatek,mt6357-regulator.yaml
+@@ -33,7 +33,7 @@ patternProperties:
+   "^ldo-v(camio18|aud28|aux18|io18|io28|rf12|rf18|cn18|cn28|fe28)$":
+     type: object
+-    $ref: fixed-regulator.yaml#
++    $ref: regulator.yaml#
+     unevaluatedProperties: false
+     description:
+       Properties for single fixed LDO regulator.
+@@ -112,7 +112,6 @@ examples:
+           regulator-enable-ramp-delay = <220>;
+         };
+         mt6357_vfe28_reg: ldo-vfe28 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vfe28";
+           regulator-min-microvolt = <2800000>;
+           regulator-max-microvolt = <2800000>;
+@@ -125,14 +124,12 @@ examples:
+           regulator-enable-ramp-delay = <110>;
+         };
+         mt6357_vrf18_reg: ldo-vrf18 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vrf18";
+           regulator-min-microvolt = <1800000>;
+           regulator-max-microvolt = <1800000>;
+           regulator-enable-ramp-delay = <110>;
+         };
+         mt6357_vrf12_reg: ldo-vrf12 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vrf12";
+           regulator-min-microvolt = <1200000>;
+           regulator-max-microvolt = <1200000>;
+@@ -157,14 +154,12 @@ examples:
+           regulator-enable-ramp-delay = <264>;
+         };
+         mt6357_vcn28_reg: ldo-vcn28 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vcn28";
+           regulator-min-microvolt = <2800000>;
+           regulator-max-microvolt = <2800000>;
+           regulator-enable-ramp-delay = <264>;
+         };
+         mt6357_vcn18_reg: ldo-vcn18 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vcn18";
+           regulator-min-microvolt = <1800000>;
+           regulator-max-microvolt = <1800000>;
+@@ -183,7 +178,6 @@ examples:
+           regulator-enable-ramp-delay = <264>;
+         };
+         mt6357_vcamio_reg: ldo-vcamio18 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vcamio";
+           regulator-min-microvolt = <1800000>;
+           regulator-max-microvolt = <1800000>;
+@@ -212,28 +206,24 @@ examples:
+           regulator-always-on;
+         };
+         mt6357_vaux18_reg: ldo-vaux18 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vaux18";
+           regulator-min-microvolt = <1800000>;
+           regulator-max-microvolt = <1800000>;
+           regulator-enable-ramp-delay = <264>;
+         };
+         mt6357_vaud28_reg: ldo-vaud28 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vaud28";
+           regulator-min-microvolt = <2800000>;
+           regulator-max-microvolt = <2800000>;
+           regulator-enable-ramp-delay = <264>;
+         };
+         mt6357_vio28_reg: ldo-vio28 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vio28";
+           regulator-min-microvolt = <2800000>;
+           regulator-max-microvolt = <2800000>;
+           regulator-enable-ramp-delay = <264>;
+         };
+         mt6357_vio18_reg: ldo-vio18 {
+-          compatible = "regulator-fixed";
+           regulator-name = "vio18";
+           regulator-min-microvolt = <1800000>;
+           regulator-max-microvolt = <1800000>;
index 6fd98482ba8baac531b0a8979ca06dc763a51da5..f5c58ea506e849fc447eb7bae141c66ff298859a 100644 (file)
@@ -771,3 +771,10 @@ xen-arm-call-uaccess_ttbr0_enable-for-dm_op-hypercall.patch
 x86-iopl-cure-tif_io_bitmap-inconsistencies.patch
 x86-hyperv-fix-apic-id-and-vp-index-confusion-in-hv_snp_boot_ap.patch
 x86-fred-signal-prevent-immediate-repeat-of-single-step-trap-on-return-from-sigtrap-handler.patch
+calipso-unlock-rcu-before-returning-eafnosupport.patch
+do_move_mount-split-the-checks-in-subtree-of-our-ns-and-entire-anon-cases.patch
+regulator-dt-bindings-mt6357-drop-fixed-compatible-requirement.patch
+usb-misc-onboard_usb_dev-fix-build-warning-for-config_usb_onboard_dev_usb5744-n.patch
+net-usb-aqc111-debug-info-before-sanitation.patch
+overflow-introduce-__define_flex-for-having-no-initializer.patch
+gfs2-don-t-clear-sb-s_fs_info-in-gfs2_sys_fs_add.patch
diff --git a/queue-6.15/usb-misc-onboard_usb_dev-fix-build-warning-for-config_usb_onboard_dev_usb5744-n.patch b/queue-6.15/usb-misc-onboard_usb_dev-fix-build-warning-for-config_usb_onboard_dev_usb5744-n.patch
new file mode 100644 (file)
index 0000000..635ce0f
--- /dev/null
@@ -0,0 +1,65 @@
+From 662a9ece32add94469138ae66999ee16cb37a531 Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Fri, 23 May 2025 14:09:43 +0200
+Subject: usb: misc: onboard_usb_dev: fix build warning for CONFIG_USB_ONBOARD_DEV_USB5744=n
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit 662a9ece32add94469138ae66999ee16cb37a531 upstream.
+
+When the USB5744 option is disabled, the onboard_usb driver warns about
+unused functions:
+
+drivers/usb/misc/onboard_usb_dev.c:358:12: error: 'onboard_dev_5744_i2c_write_byte' defined but not used [-Werror=unused-function]
+  358 | static int onboard_dev_5744_i2c_write_byte(struct i2c_client *client, u16 addr, u8 data)
+      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+drivers/usb/misc/onboard_usb_dev.c:313:12: error: 'onboard_dev_5744_i2c_read_byte' defined but not used [-Werror=unused-function]
+  313 | static int onboard_dev_5744_i2c_read_byte(struct i2c_client *client, u16 addr, u8 *data)
+      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Extend the #ifdef block a little further to cover all of these functions.
+Ideally we'd use use if(IS_ENABLED()) instead, but that doesn't currently
+work because the i2c_transfer() and i2c_smbus_write_word_data() function
+declarations are hidden  when CONFIG_I2C is disabled.
+
+Fixes: 1143d41922c0 ("usb: misc: onboard_usb_dev: Fix usb5744 initialization sequence")
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Link: https://lore.kernel.org/r/20250523120947.2170302-1-arnd@kernel.org
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/usb/misc/onboard_usb_dev.c |    7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/drivers/usb/misc/onboard_usb_dev.c
++++ b/drivers/usb/misc/onboard_usb_dev.c
+@@ -310,6 +310,7 @@ static void onboard_dev_attach_usb_drive
+               pr_err("Failed to attach USB driver: %pe\n", ERR_PTR(err));
+ }
++#if IS_ENABLED(CONFIG_USB_ONBOARD_DEV_USB5744)
+ static int onboard_dev_5744_i2c_read_byte(struct i2c_client *client, u16 addr, u8 *data)
+ {
+       struct i2c_msg msg[2];
+@@ -388,7 +389,6 @@ static int onboard_dev_5744_i2c_write_by
+ static int onboard_dev_5744_i2c_init(struct i2c_client *client)
+ {
+-#if IS_ENABLED(CONFIG_USB_ONBOARD_DEV_USB5744)
+       struct device *dev = &client->dev;
+       int ret;
+       u8 reg;
+@@ -417,10 +417,13 @@ static int onboard_dev_5744_i2c_init(str
+               return dev_err_probe(dev, ret, "USB Attach with SMBus command failed\n");
+       return ret;
++}
+ #else
++static int onboard_dev_5744_i2c_init(struct i2c_client *client)
++{
+       return -ENODEV;
+-#endif
+ }
++#endif
+ static int onboard_dev_probe(struct platform_device *pdev)
+ {