6.6-stable patches

added patches:
	mips-unhide-uasm_in_compat_space_p-declaration.patch
diff --git a/queue-6.6/bnxt-fix-head-underflow-on-xdp-head-grow.patch b/queue-6.6/bnxt-fix-head-underflow-on-xdp-head-grow.patch
index 32b0023..e391886 100644
--- a/queue-6.6/bnxt-fix-head-underflow-on-xdp-head-grow.patch
+++ b/queue-6.6/bnxt-fix-head-underflow-on-xdp-head-grow.patch
@@ -71,15 +71,13 @@
 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 10 ++++++++--
- drivers/net/ethernet/broadcom/bnxt/bnxt.h |  1 +
+ drivers/net/ethernet/broadcom/bnxt/bnxt.c |   10 ++++++++--
+ drivers/net/ethernet/broadcom/bnxt/bnxt.h |    1 +
  2 files changed, 9 insertions(+), 2 deletions(-)
 
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-index 7bdd94bb4a3a2..d8a7e5da4df8c 100644
 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
 +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-@@ -817,6 +817,7 @@ int bnxt_alloc_rx_data(struct bnxt *bp, struct bnxt_rx_ring_info *rxr,
+@@ -815,6 +815,7 @@ int bnxt_alloc_rx_data(struct bnxt *bp,
  		mapping += bp->rx_dma_offset;
  		rx_buf->data = page;
  		rx_buf->data_ptr = page_address(page) + offset + bp->rx_offset;
@@ -87,7 +85,7 @@
  	} else {
  		u8 *data = __bnxt_alloc_rx_frag(bp, &mapping, gfp);
  
-@@ -825,6 +826,7 @@ int bnxt_alloc_rx_data(struct bnxt *bp, struct bnxt_rx_ring_info *rxr,
+@@ -823,6 +824,7 @@ int bnxt_alloc_rx_data(struct bnxt *bp,
  
  		rx_buf->data = data;
  		rx_buf->data_ptr = data + bp->rx_offset;
@@ -95,7 +93,7 @@
  	}
  	rx_buf->mapping = mapping;
  
-@@ -845,6 +847,7 @@ void bnxt_reuse_rx_data(struct bnxt_rx_ring_info *rxr, u16 cons, void *data)
+@@ -843,6 +845,7 @@ void bnxt_reuse_rx_data(struct bnxt_rx_r
  	prod_rx_buf->data_ptr = cons_rx_buf->data_ptr;
  
  	prod_rx_buf->mapping = cons_rx_buf->mapping;
@@ -103,7 +101,7 @@
  
  	prod_bd = &rxr->rx_desc_ring[RX_RING(prod)][RX_IDX(prod)];
  	cons_bd = &rxr->rx_desc_ring[RX_RING(cons)][RX_IDX(cons)];
-@@ -982,8 +985,11 @@ static struct sk_buff *bnxt_rx_multi_page_skb(struct bnxt *bp,
+@@ -980,8 +983,11 @@ static struct sk_buff *bnxt_rx_multi_pag
  	struct page *page = data;
  	u16 prod = rxr->rx_prod;
  	struct sk_buff *skb;
@@ -115,7 +113,7 @@
  	err = bnxt_alloc_rx_data(bp, rxr, prod, GFP_ATOMIC);
  	if (unlikely(err)) {
  		bnxt_reuse_rx_data(rxr, cons, data);
-@@ -992,13 +998,13 @@ static struct sk_buff *bnxt_rx_multi_page_skb(struct bnxt *bp,
+@@ -990,13 +996,13 @@ static struct sk_buff *bnxt_rx_multi_pag
  	dma_addr -= bp->rx_dma_offset;
  	dma_sync_single_for_cpu(&bp->pdev->dev, dma_addr, BNXT_RX_PAGE_SIZE,
  				bp->rx_dir);
@@ -131,11 +129,9 @@
  	__skb_put(skb, len);
  
  	return skb;
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
-index 4c1598d475059..e71990374b61f 100644
 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
 +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
-@@ -746,6 +746,7 @@ struct bnxt_sw_rx_bd {
+@@ -729,6 +729,7 @@ struct bnxt_sw_rx_bd {
  	void			*data;
  	u8			*data_ptr;
  	dma_addr_t		mapping;
@@ -143,6 +139,3 @@
  };
  
  struct bnxt_sw_rx_agg_bd {
--- 
-2.53.0
-
diff --git a/queue-6.6/bnxt_en-fix-memory-corruption-when-fw-resources-chan.patch b/queue-6.6/bnxt_en-fix-memory-corruption-when-fw-resources-chan.patch
index 84a8969..3f807c5 100644
--- a/queue-6.6/bnxt_en-fix-memory-corruption-when-fw-resources-chan.patch
+++ b/queue-6.6/bnxt_en-fix-memory-corruption-when-fw-resources-chan.patch
@@ -31,14 +31,12 @@
 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 25 ++++++++++++++++++-----
+ drivers/net/ethernet/broadcom/bnxt/bnxt.c |   25 ++++++++++++++++++++-----
  1 file changed, 20 insertions(+), 5 deletions(-)
 
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-index e066f44e900b6..7bdd94bb4a3a2 100644
 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
 +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-@@ -10515,6 +10515,21 @@ static int bnxt_reinit_after_abort(struct bnxt *bp)
+@@ -10507,6 +10507,21 @@ static int bnxt_reinit_after_abort(struc
  	return rc;
  }
  
@@ -60,7 +58,7 @@
  static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
  {
  	int rc = 0;
-@@ -13462,7 +13477,7 @@ static void bnxt_trim_dflt_sh_rings(struct bnxt *bp)
+@@ -13454,7 +13469,7 @@ static void bnxt_trim_dflt_sh_rings(stru
  	bp->cp_nr_rings = min_t(int, bp->tx_nr_rings_per_tc, bp->rx_nr_rings);
  	bp->rx_nr_rings = bp->cp_nr_rings;
  	bp->tx_nr_rings_per_tc = bp->cp_nr_rings;
@@ -69,7 +67,7 @@
  }
  
  static int bnxt_set_dflt_rings(struct bnxt *bp, bool sh)
-@@ -13493,12 +13508,12 @@ static int bnxt_set_dflt_rings(struct bnxt *bp, bool sh)
+@@ -13485,12 +13500,12 @@ static int bnxt_set_dflt_rings(struct bn
  		bnxt_trim_dflt_sh_rings(bp);
  	else
  		bp->cp_nr_rings = bp->tx_nr_rings_per_tc + bp->rx_nr_rings;
@@ -84,7 +82,7 @@
  	if (sh)
  		bnxt_trim_dflt_sh_rings(bp);
  
-@@ -13507,7 +13522,7 @@ static int bnxt_set_dflt_rings(struct bnxt *bp, bool sh)
+@@ -13499,7 +13514,7 @@ static int bnxt_set_dflt_rings(struct bn
  		rc = __bnxt_reserve_rings(bp);
  		if (rc && rc != -ENODEV)
  			netdev_warn(bp->dev, "2nd rings reservation failed.\n");
@@ -93,7 +91,7 @@
  	}
  	if (BNXT_CHIP_TYPE_NITRO_A0(bp)) {
  		bp->rx_nr_rings++;
-@@ -13541,7 +13556,7 @@ static int bnxt_init_dflt_ring_mode(struct bnxt *bp)
+@@ -13533,7 +13548,7 @@ static int bnxt_init_dflt_ring_mode(stru
  	if (rc)
  		goto init_dflt_ring_err;
  
@@ -102,6 +100,3 @@
  
  	bnxt_set_dflt_rfs(bp);
  
--- 
-2.53.0
-
diff --git a/queue-6.6/mips-unhide-uasm_in_compat_space_p-declaration.patch b/queue-6.6/mips-unhide-uasm_in_compat_space_p-declaration.patch
new file mode 100644
index 0000000..5c1b1bf
--- /dev/null
+++ b/queue-6.6/mips-unhide-uasm_in_compat_space_p-declaration.patch
@@ -0,0 +1,38 @@
+From e9f98feb17207addcd66435d8211ccf9c0a563dd Mon Sep 17 00:00:00 2001
+From: Arnd Bergmann <arnd@arndb.de>
+Date: Mon, 4 Dec 2023 12:56:59 +0100
+Subject: mips: unhide uasm_in_compat_space_p() declaration
+
+From: Arnd Bergmann <arnd@arndb.de>
+
+commit e9f98feb17207addcd66435d8211ccf9c0a563dd upstream.
+
+uasm_in_compat_space_p() has a conditional declaration but is defined
+unconditionally because of another local user, which causes a warning:
+
+arch/mips/mm/uasm.c:421:5: error: no previous prototype for 'uasm_in_compat_space_p' [-Werror=missing-prototypes]
+
+Make the declaration unconditional to avoid this.
+
+Link: https://lkml.kernel.org/r/20231204115710.2247097-10-arnd@kernel.org
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+Cc: Stephen Rothwell <sfr@rothwell.id.au>
+Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/mips/include/asm/uasm.h |    2 --
+ 1 file changed, 2 deletions(-)
+
+--- a/arch/mips/include/asm/uasm.h
++++ b/arch/mips/include/asm/uasm.h
+@@ -193,9 +193,7 @@ struct uasm_label {
+ 
+ void uasm_build_label(struct uasm_label **lab, u32 *addr,
+ 			int lid);
+-#ifdef CONFIG_64BIT
+ int uasm_in_compat_space_p(long addr);
+-#endif
+ int uasm_rel_hi(long val);
+ int uasm_rel_lo(long val);
+ void UASM_i_LA_mostly(u32 **buf, unsigned int rs, long addr);
diff --git a/queue-6.6/ptp-add-a-upper-bound-on-max_vclocks.patch b/queue-6.6/ptp-add-a-upper-bound-on-max_vclocks.patch
index 6fecf93..798d44c 100644
--- a/queue-6.6/ptp-add-a-upper-bound-on-max_vclocks.patch
+++ b/queue-6.6/ptp-add-a-upper-bound-on-max_vclocks.patch
@@ -24,15 +24,13 @@
 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/ptp/ptp_private.h | 1 +
- drivers/ptp/ptp_sysfs.c   | 2 +-
+ drivers/ptp/ptp_private.h |    1 +
+ drivers/ptp/ptp_sysfs.c   |    2 +-
  2 files changed, 2 insertions(+), 1 deletion(-)
 
-diff --git a/drivers/ptp/ptp_private.h b/drivers/ptp/ptp_private.h
-index baf05d55376dd..855dddee694f5 100644
 --- a/drivers/ptp/ptp_private.h
 +++ b/drivers/ptp/ptp_private.h
-@@ -20,6 +20,7 @@
+@@ -19,6 +19,7 @@
  #define PTP_MAX_TIMESTAMPS 128
  #define PTP_BUF_TIMESTAMPS 30
  #define PTP_DEFAULT_MAX_VCLOCKS 20
@@ -40,11 +38,9 @@
  
  enum {
  	PTP_LOCK_PHYSICAL = 0,
-diff --git a/drivers/ptp/ptp_sysfs.c b/drivers/ptp/ptp_sysfs.c
-index 952d3e968bdf9..d975531f290d8 100644
 --- a/drivers/ptp/ptp_sysfs.c
 +++ b/drivers/ptp/ptp_sysfs.c
-@@ -286,7 +286,7 @@ static ssize_t max_vclocks_store(struct device *dev,
+@@ -282,7 +282,7 @@ static ssize_t max_vclocks_store(struct
  	size_t size;
  	u32 max;
  
@@ -53,6 +49,3 @@
  		return -EINVAL;
  
  	if (max == ptp->max_vclocks)
--- 
-2.53.0
-
diff --git a/queue-6.6/series b/queue-6.6/series
index 619e9c9..fe0658f 100644
--- a/queue-6.6/series
+++ b/queue-6.6/series
@@ -828,6 +828,7 @@
 functionfs-gadgetfs-use-simple_recursive_removal.patch
 functionfs-fix-the-open-removal-races.patch
 mips-ftrace-fix-memory-corruption-when-kernel-is-loc.patch
+mips-unhide-uasm_in_compat_space_p-declaration.patch
 md-add-new-helpers-to-suspend-resume-array.patch
 md-add-new-helpers-to-suspend-resume-and-lock-unlock.patch
 md-suspend-array-while-updating-raid_disks-via-sysfs.patch
diff --git a/queue-6.6/vfs-make-last_xxx-private-to-fs-namei.c.patch b/queue-6.6/vfs-make-last_xxx-private-to-fs-namei.c.patch
index 92f337d..cb4422c 100644
--- a/queue-6.6/vfs-make-last_xxx-private-to-fs-namei.c.patch
+++ b/queue-6.6/vfs-make-last_xxx-private-to-fs-namei.c.patch
@@ -28,13 +28,11 @@
 Stable-dep-of: 1c8951963d8e ("ksmbd: fix path resolution in ksmbd_vfs_kern_path_create")
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- fs/namei.c            | 20 ++++++++++++++++----
- fs/smb/server/vfs.c   | 14 +++-----------
- include/linux/namei.h |  7 +------
+ fs/namei.c            |   20 ++++++++++++++++----
+ fs/smb/server/vfs.c   |   14 +++-----------
+ include/linux/namei.h |    7 +------
  3 files changed, 20 insertions(+), 21 deletions(-)
 
-diff --git a/fs/namei.c b/fs/namei.c
-index 4d54a19dd3f60..fab0274219d19 100644
 --- a/fs/namei.c
 +++ b/fs/namei.c
 @@ -126,6 +126,11 @@
@@ -49,7 +47,7 @@
  struct filename *
  getname_flags(const char __user *filename, int flags, int *empty)
  {
-@@ -2701,15 +2706,22 @@ EXPORT_SYMBOL(kern_path);
+@@ -2672,15 +2677,22 @@ EXPORT_SYMBOL(kern_path);
   * @flags: lookup flags
   * @parent: pointer to struct path to fill
   * @last: last component
@@ -76,11 +74,9 @@
  }
  EXPORT_SYMBOL(vfs_path_parent_lookup);
  
-diff --git a/fs/smb/server/vfs.c b/fs/smb/server/vfs.c
-index fc49bb9aa8261..642323a6aff6f 100644
 --- a/fs/smb/server/vfs.c
 +++ b/fs/smb/server/vfs.c
-@@ -73,7 +73,7 @@ static int ksmbd_vfs_path_lookup_locked(struct ksmbd_share_config *share_conf,
+@@ -73,7 +73,7 @@ static int ksmbd_vfs_path_lookup_locked(
  	struct qstr last;
  	struct filename *filename;
  	struct path *root_share_path = &share_conf->vfs_path;
@@ -89,7 +85,7 @@
  	struct dentry *d;
  
  	if (pathname[0] == '\0') {
-@@ -88,19 +88,13 @@ static int ksmbd_vfs_path_lookup_locked(struct ksmbd_share_config *share_conf,
+@@ -88,19 +88,13 @@ static int ksmbd_vfs_path_lookup_locked(
  		return PTR_ERR(filename);
  
  	err = vfs_path_parent_lookup(filename, flags,
@@ -110,7 +106,7 @@
  	err = mnt_want_write(parent_path->mnt);
  	if (err) {
  		path_put(parent_path);
-@@ -705,7 +699,6 @@ int ksmbd_vfs_rename(struct ksmbd_work *work, const struct path *old_path,
+@@ -705,7 +699,6 @@ int ksmbd_vfs_rename(struct ksmbd_work *
  	struct filename *to;
  	struct ksmbd_share_config *share_conf = work->tcon->share_conf;
  	struct ksmbd_file *parent_fp;
@@ -118,7 +114,7 @@
  	int err, lookup_flags = LOOKUP_NO_SYMLINKS;
  
  	if (ksmbd_override_fsids(work))
-@@ -715,8 +708,7 @@ int ksmbd_vfs_rename(struct ksmbd_work *work, const struct path *old_path,
+@@ -715,8 +708,7 @@ int ksmbd_vfs_rename(struct ksmbd_work *
  
  retry:
  	err = vfs_path_parent_lookup(to, lookup_flags | LOOKUP_BENEATH,
@@ -128,8 +124,6 @@
  	if (err)
  		goto out1;
  
-diff --git a/include/linux/namei.h b/include/linux/namei.h
-index c1ff032607dd6..e95663f1e0481 100644
 --- a/include/linux/namei.h
 +++ b/include/linux/namei.h
 @@ -12,11 +12,6 @@ enum { MAX_NESTED_LINKS = 8 };
@@ -144,7 +138,7 @@
  /* pathwalk mode */
  #define LOOKUP_FOLLOW		0x0001	/* follow links at the end */
  #define LOOKUP_DIRECTORY	0x0002	/* require a directory */
-@@ -68,7 +63,7 @@ extern struct dentry *user_path_create(int, const char __user *, struct path *,
+@@ -68,7 +63,7 @@ extern struct dentry *user_path_create(i
  extern void done_path_create(struct path *, struct dentry *);
  extern struct dentry *kern_path_locked(const char *, struct path *);
  int vfs_path_parent_lookup(struct filename *filename, unsigned int flags,
@@ -153,6 +147,3 @@
  			   const struct path *root);
  int vfs_path_lookup(struct dentry *, struct vfsmount *, const char *,
  		    unsigned int, struct path *);
--- 
-2.53.0
-