kernel: bump 6.1 to 6.1.40
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.1 = .38
|
||||
LINUX_KERNEL_HASH-6.1.38 = f9a4f91b609f7d332a5f2be01ab86336fa00149fae6bdc19f16fa19f78802d43
|
||||
LINUX_VERSION-6.1 = .40
|
||||
LINUX_KERNEL_HASH-6.1.40 = 43eafc2197a07dcdcff7a7ef79ac7502061f7c564744e51626bf5fa2e22587f0
|
||||
@@ -87,7 +87,7 @@ Signed-off-by: T.J. Mercier <tjmercier@google.com>
|
||||
mark_page_accessed(page);
|
||||
}
|
||||
rss[mm_counter(page)]--;
|
||||
@@ -5182,8 +5181,8 @@ static inline void mm_account_fault(stru
|
||||
@@ -5189,8 +5188,8 @@ static inline void mm_account_fault(stru
|
||||
#ifdef CONFIG_LRU_GEN
|
||||
static void lru_gen_enter_fault(struct vm_area_struct *vma)
|
||||
{
|
||||
|
||||
@@ -785,7 +785,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
*data += size;
|
||||
--- a/drivers/net/ethernet/intel/ice/ice_main.c
|
||||
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
|
||||
@@ -6393,10 +6393,10 @@ ice_fetch_u64_stats_per_ring(struct u64_
|
||||
@@ -6406,10 +6406,10 @@ ice_fetch_u64_stats_per_ring(struct u64_
|
||||
unsigned int start;
|
||||
|
||||
do {
|
||||
@@ -904,7 +904,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
spin_unlock(&adapter->stats64_lock);
|
||||
--- a/drivers/net/ethernet/intel/igc/igc_main.c
|
||||
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
|
||||
@@ -4809,10 +4809,10 @@ void igc_update_stats(struct igc_adapter
|
||||
@@ -4830,10 +4830,10 @@ void igc_update_stats(struct igc_adapter
|
||||
}
|
||||
|
||||
do {
|
||||
@@ -917,7 +917,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
bytes += _bytes;
|
||||
packets += _packets;
|
||||
}
|
||||
@@ -4826,10 +4826,10 @@ void igc_update_stats(struct igc_adapter
|
||||
@@ -4847,10 +4847,10 @@ void igc_update_stats(struct igc_adapter
|
||||
struct igc_ring *ring = adapter->tx_ring[i];
|
||||
|
||||
do {
|
||||
|
||||
@@ -28,7 +28,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
--- a/drivers/net/dsa/qca/qca8k-8xxx.c
|
||||
+++ b/drivers/net/dsa/qca/qca8k-8xxx.c
|
||||
@@ -740,9 +740,9 @@ qca8k_mdio_busy_wait(struct mii_bus *bus
|
||||
@@ -743,9 +743,9 @@ qca8k_mdio_busy_wait(struct mii_bus *bus
|
||||
|
||||
qca8k_split_addr(reg, &r1, &r2, &page);
|
||||
|
||||
@@ -40,7 +40,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
/* Check if qca8k_read has failed for a different reason
|
||||
* before returnting -ETIMEDOUT
|
||||
@@ -784,7 +784,7 @@ qca8k_mdio_write(struct qca8k_priv *priv
|
||||
@@ -787,7 +787,7 @@ qca8k_mdio_write(struct qca8k_priv *priv
|
||||
|
||||
exit:
|
||||
/* even if the busy_wait timeouts try to clear the MASTER_EN */
|
||||
@@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
|
||||
mutex_unlock(&bus->mdio_lock);
|
||||
|
||||
@@ -814,18 +814,18 @@ qca8k_mdio_read(struct qca8k_priv *priv,
|
||||
@@ -817,18 +817,18 @@ qca8k_mdio_read(struct qca8k_priv *priv,
|
||||
if (ret)
|
||||
goto exit;
|
||||
|
||||
|
||||
@@ -141,7 +141,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/scripts/mod/modpost.c
|
||||
+++ b/scripts/mod/modpost.c
|
||||
@@ -1817,7 +1817,9 @@ static void read_symbols(const char *mod
|
||||
@@ -1781,7 +1781,9 @@ static void read_symbols(const char *mod
|
||||
symname = remove_dot(info.strtab + sym->st_name);
|
||||
|
||||
handle_symbol(mod, &info, sym, symname);
|
||||
@@ -151,7 +151,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
for (sym = info.symtab_start; sym < info.symtab_stop; sym++) {
|
||||
@@ -1980,8 +1982,10 @@ static void add_header(struct buffer *b,
|
||||
@@ -1944,8 +1946,10 @@ static void add_header(struct buffer *b,
|
||||
buf_printf(b, "BUILD_SALT;\n");
|
||||
buf_printf(b, "BUILD_LTO_INFO;\n");
|
||||
buf_printf(b, "\n");
|
||||
@@ -162,7 +162,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
buf_printf(b, "\n");
|
||||
buf_printf(b, "__visible struct module __this_module\n");
|
||||
buf_printf(b, "__section(\".gnu.linkonce.this_module\") = {\n");
|
||||
@@ -1995,8 +1999,10 @@ static void add_header(struct buffer *b,
|
||||
@@ -1959,8 +1963,10 @@ static void add_header(struct buffer *b,
|
||||
buf_printf(b, "\t.arch = MODULE_ARCH_INIT,\n");
|
||||
buf_printf(b, "};\n");
|
||||
|
||||
@@ -173,7 +173,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
buf_printf(b,
|
||||
"\n"
|
||||
@@ -2004,8 +2010,10 @@ static void add_header(struct buffer *b,
|
||||
@@ -1968,8 +1974,10 @@ static void add_header(struct buffer *b,
|
||||
"MODULE_INFO(retpoline, \"Y\");\n"
|
||||
"#endif\n");
|
||||
|
||||
@@ -184,7 +184,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
if (strstarts(mod->name, "tools/testing"))
|
||||
buf_printf(b, "\nMODULE_INFO(test, \"Y\");\n");
|
||||
@@ -2101,11 +2109,13 @@ static void add_depends(struct buffer *b
|
||||
@@ -2065,11 +2073,13 @@ static void add_depends(struct buffer *b
|
||||
|
||||
static void add_srcversion(struct buffer *b, struct module *mod)
|
||||
{
|
||||
@@ -198,7 +198,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
}
|
||||
|
||||
static void write_buf(struct buffer *b, const char *fname)
|
||||
@@ -2191,7 +2201,9 @@ static void write_mod_c_file(struct modu
|
||||
@@ -2155,7 +2165,9 @@ static void write_mod_c_file(struct modu
|
||||
add_exported_symbols(&buf, mod);
|
||||
add_versions(&buf, mod);
|
||||
add_depends(&buf, mod);
|
||||
|
||||
@@ -150,7 +150,7 @@ Subject: [PATCH] net/bridge: add bridge offload
|
||||
|
||||
/*
|
||||
* Determine initial path cost based on speed.
|
||||
@@ -437,7 +438,7 @@ static struct net_bridge_port *new_nbp(s
|
||||
@@ -438,7 +439,7 @@ static struct net_bridge_port *new_nbp(s
|
||||
p->path_cost = port_cost(dev);
|
||||
p->priority = 0x8000 >> BR_PORT_BITS;
|
||||
p->port_no = index;
|
||||
@@ -159,7 +159,7 @@ Subject: [PATCH] net/bridge: add bridge offload
|
||||
br_init_port(p);
|
||||
br_set_state(p, BR_STATE_DISABLED);
|
||||
br_stp_port_timer_init(p);
|
||||
@@ -761,6 +762,9 @@ void br_port_flags_change(struct net_bri
|
||||
@@ -762,6 +763,9 @@ void br_port_flags_change(struct net_bri
|
||||
|
||||
if (mask & BR_NEIGH_SUPPRESS)
|
||||
br_recalculate_neigh_suppress_enabled(br);
|
||||
|
||||
@@ -29,7 +29,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support
|
||||
|
||||
#define QUECTEL_VENDOR_ID 0x2c7c
|
||||
/* These Quectel products use Quectel's vendor ID */
|
||||
@@ -1174,6 +1176,11 @@ static const struct usb_device_id option
|
||||
@@ -1178,6 +1180,11 @@ static const struct usb_device_id option
|
||||
.driver_info = ZLP },
|
||||
{ USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
|
||||
.driver_info = RSVD(4) },
|
||||
|
||||
@@ -330,7 +330,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/core/sock.c
|
||||
+++ b/net/core/sock.c
|
||||
@@ -4082,6 +4082,8 @@ static __net_initdata struct pernet_oper
|
||||
@@ -4093,6 +4093,8 @@ static __net_initdata struct pernet_oper
|
||||
|
||||
static int __init proto_init(void)
|
||||
{
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
default y
|
||||
--- a/net/bridge/br_if.c
|
||||
+++ b/net/bridge/br_if.c
|
||||
@@ -767,6 +767,28 @@ void br_port_flags_change(struct net_bri
|
||||
@@ -768,6 +768,28 @@ void br_port_flags_change(struct net_bri
|
||||
br_offload_port_state(p);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,121 +0,0 @@
|
||||
From eee53f6eb7561f516b9c4bac829ce31c48096130 Mon Sep 17 00:00:00 2001
|
||||
From: Fabian Frederick <fabf@skynet.be>
|
||||
Date: Tue, 9 May 2017 22:30:03 +0200
|
||||
Subject: [PATCH] jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
|
||||
|
||||
Use kcalloc() for allocation/flush of 128 pointers table to
|
||||
reduce stack usage.
|
||||
|
||||
Function now returns -ENOMEM or 0 on success.
|
||||
|
||||
stackusage
|
||||
Before:
|
||||
./fs/jffs2/xattr.c:775 jffs2_build_xattr_subsystem 1208
|
||||
dynamic,bounded
|
||||
|
||||
After:
|
||||
./fs/jffs2/xattr.c:775 jffs2_build_xattr_subsystem 192
|
||||
dynamic,bounded
|
||||
|
||||
Also update definition when CONFIG_JFFS2_FS_XATTR is not enabled
|
||||
|
||||
Tested with an MTD mount point and some user set/getfattr.
|
||||
|
||||
Many current target on OpenWRT also suffer from a compilation warning
|
||||
(that become an error with CONFIG_WERROR) with the following output:
|
||||
|
||||
fs/jffs2/xattr.c: In function 'jffs2_build_xattr_subsystem':
|
||||
fs/jffs2/xattr.c:887:1: error: the frame size of 1088 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
|
||||
887 | }
|
||||
| ^
|
||||
|
||||
Using dynamic allocation fix this compilation warning.
|
||||
|
||||
Fixes: c9f700f840bd ("[JFFS2][XATTR] using 'delete marker' for xdatum/xref deletion")
|
||||
Reported-by: Tim Gardner <tim.gardner@canonical.com>
|
||||
Reported-by: kernel test robot <lkp@intel.com>
|
||||
Reported-by: Ron Economos <re@w6rz.net>
|
||||
Reported-by: Nathan Chancellor <nathan@kernel.org>
|
||||
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
|
||||
Signed-off-by: Fabian Frederick <fabf@skynet.be>
|
||||
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
||||
Cc: stable@vger.kernel.org
|
||||
---
|
||||
fs/jffs2/build.c | 5 ++++-
|
||||
fs/jffs2/xattr.c | 13 +++++++++----
|
||||
fs/jffs2/xattr.h | 4 ++--
|
||||
3 files changed, 15 insertions(+), 7 deletions(-)
|
||||
|
||||
--- a/fs/jffs2/build.c
|
||||
+++ b/fs/jffs2/build.c
|
||||
@@ -211,7 +211,10 @@ static int jffs2_build_filesystem(struct
|
||||
ic->scan_dents = NULL;
|
||||
cond_resched();
|
||||
}
|
||||
- jffs2_build_xattr_subsystem(c);
|
||||
+ ret = jffs2_build_xattr_subsystem(c);
|
||||
+ if (ret)
|
||||
+ goto exit;
|
||||
+
|
||||
c->flags &= ~JFFS2_SB_FLAG_BUILDING;
|
||||
|
||||
dbg_fsbuild("FS build complete\n");
|
||||
--- a/fs/jffs2/xattr.c
|
||||
+++ b/fs/jffs2/xattr.c
|
||||
@@ -772,10 +772,10 @@ void jffs2_clear_xattr_subsystem(struct
|
||||
}
|
||||
|
||||
#define XREF_TMPHASH_SIZE (128)
|
||||
-void jffs2_build_xattr_subsystem(struct jffs2_sb_info *c)
|
||||
+int jffs2_build_xattr_subsystem(struct jffs2_sb_info *c)
|
||||
{
|
||||
struct jffs2_xattr_ref *ref, *_ref;
|
||||
- struct jffs2_xattr_ref *xref_tmphash[XREF_TMPHASH_SIZE];
|
||||
+ struct jffs2_xattr_ref **xref_tmphash;
|
||||
struct jffs2_xattr_datum *xd, *_xd;
|
||||
struct jffs2_inode_cache *ic;
|
||||
struct jffs2_raw_node_ref *raw;
|
||||
@@ -784,9 +784,12 @@ void jffs2_build_xattr_subsystem(struct
|
||||
|
||||
BUG_ON(!(c->flags & JFFS2_SB_FLAG_BUILDING));
|
||||
|
||||
+ xref_tmphash = kcalloc(XREF_TMPHASH_SIZE,
|
||||
+ sizeof(struct jffs2_xattr_ref *), GFP_KERNEL);
|
||||
+ if (!xref_tmphash)
|
||||
+ return -ENOMEM;
|
||||
+
|
||||
/* Phase.1 : Merge same xref */
|
||||
- for (i=0; i < XREF_TMPHASH_SIZE; i++)
|
||||
- xref_tmphash[i] = NULL;
|
||||
for (ref=c->xref_temp; ref; ref=_ref) {
|
||||
struct jffs2_xattr_ref *tmp;
|
||||
|
||||
@@ -884,6 +887,8 @@ void jffs2_build_xattr_subsystem(struct
|
||||
"%u of xref (%u dead, %u orphan) found.\n",
|
||||
xdatum_count, xdatum_unchecked_count, xdatum_orphan_count,
|
||||
xref_count, xref_dead_count, xref_orphan_count);
|
||||
+ kfree(xref_tmphash);
|
||||
+ return 0;
|
||||
}
|
||||
|
||||
struct jffs2_xattr_datum *jffs2_setup_xattr_datum(struct jffs2_sb_info *c,
|
||||
--- a/fs/jffs2/xattr.h
|
||||
+++ b/fs/jffs2/xattr.h
|
||||
@@ -71,7 +71,7 @@ static inline int is_xattr_ref_dead(stru
|
||||
#ifdef CONFIG_JFFS2_FS_XATTR
|
||||
|
||||
extern void jffs2_init_xattr_subsystem(struct jffs2_sb_info *c);
|
||||
-extern void jffs2_build_xattr_subsystem(struct jffs2_sb_info *c);
|
||||
+extern int jffs2_build_xattr_subsystem(struct jffs2_sb_info *c);
|
||||
extern void jffs2_clear_xattr_subsystem(struct jffs2_sb_info *c);
|
||||
|
||||
extern struct jffs2_xattr_datum *jffs2_setup_xattr_datum(struct jffs2_sb_info *c,
|
||||
@@ -103,7 +103,7 @@ extern ssize_t jffs2_listxattr(struct de
|
||||
#else
|
||||
|
||||
#define jffs2_init_xattr_subsystem(c)
|
||||
-#define jffs2_build_xattr_subsystem(c)
|
||||
+#define jffs2_build_xattr_subsystem(c) (0)
|
||||
#define jffs2_clear_xattr_subsystem(c)
|
||||
|
||||
#define jffs2_xattr_do_crccheck_inode(c, ic)
|
||||
@@ -1,44 +0,0 @@
|
||||
From 525ff9c2965770762b81d679820552a208070d59 Mon Sep 17 00:00:00 2001
|
||||
From: Arnd Bergmann <arnd@arndb.de>
|
||||
Date: Tue, 17 Jan 2023 17:40:35 +0100
|
||||
Subject: workqueue: fix enum type for gcc-13
|
||||
|
||||
In gcc-13, the WORK_STRUCT_WQ_DATA_MASK constant is a signed 64-bit
|
||||
type on 32-bit architectures because the enum definition has both
|
||||
negative numbers and numbers above LONG_MAX in it:
|
||||
|
||||
kernel/workqueue.c: In function 'get_work_pwq':
|
||||
kernel/workqueue.c:709:24: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
|
||||
709 | return (void *)(data & WORK_STRUCT_WQ_DATA_MASK);
|
||||
| ^
|
||||
kernel/workqueue.c: In function 'get_work_pool':
|
||||
kernel/workqueue.c:737:25: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
|
||||
737 | return ((struct pool_workqueue *)
|
||||
| ^
|
||||
kernel/workqueue.c: In function 'get_work_pool_id':
|
||||
kernel/workqueue.c:759:25: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
|
||||
759 | return ((struct pool_workqueue *)
|
||||
| ^
|
||||
|
||||
Change the enum definition to ensure all values can fit into
|
||||
the range of 'unsigned long' on all architectures.
|
||||
|
||||
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
|
||||
Tested-by: Thierry Reding <treding@nvidia.com>
|
||||
Tested-by: Lai Jiangshan<jiangshanlai@gmail.com>
|
||||
Signed-off-by: Tejun Heo <tj@kernel.org>
|
||||
---
|
||||
include/linux/workqueue.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/include/linux/workqueue.h
|
||||
+++ b/include/linux/workqueue.h
|
||||
@@ -83,7 +83,7 @@ enum {
|
||||
|
||||
/* convenience constants */
|
||||
WORK_STRUCT_FLAG_MASK = (1UL << WORK_STRUCT_FLAG_BITS) - 1,
|
||||
- WORK_STRUCT_WQ_DATA_MASK = ~WORK_STRUCT_FLAG_MASK,
|
||||
+ WORK_STRUCT_WQ_DATA_MASK = (unsigned long)~WORK_STRUCT_FLAG_MASK,
|
||||
WORK_STRUCT_NO_POOL = (unsigned long)WORK_OFFQ_POOL_NONE << WORK_OFFQ_POOL_SHIFT,
|
||||
|
||||
/* bit mask for work_busy() return values */
|
||||
@@ -161,7 +161,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
struct rtnl_link {
|
||||
rtnl_doit_func doit;
|
||||
@@ -4817,7 +4817,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
|
||||
@@ -4823,7 +4823,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu
|
||||
brport_nla_put_flag(skb, flags, mask,
|
||||
IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) ||
|
||||
brport_nla_put_flag(skb, flags, mask,
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#define QUECTEL_PRODUCT_EC200U 0x0901
|
||||
#define QUECTEL_PRODUCT_EC200S_CN 0x6002
|
||||
#define QUECTEL_PRODUCT_EM061K_LWW 0x6008
|
||||
@@ -1225,6 +1226,7 @@ static const struct usb_device_id option
|
||||
@@ -1229,6 +1230,7 @@ static const struct usb_device_id option
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500K, 0xff, 0x00, 0x00) },
|
||||
|
||||
Reference in New Issue
Block a user