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 -