Commit 323bbfcf1ef8 for kernel

commit 323bbfcf1ef8836d0d2ad9e2c1f1c684f0e3b5b3
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sat Feb 21 17:06:51 2026 -0800

    Convert 'alloc_flex' family to use the new default GFP_KERNEL argument

    This is the exact same thing as the 'alloc_obj()' version, only much
    smaller because there are a lot fewer users of the *alloc_flex()
    interface.

    As with alloc_obj() version, this was done entirely with mindless brute
    force, using the same script, except using 'flex' in the pattern rather
    than 'objs*'.

    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

diff --git a/arch/arm/kernel/atags_proc.c b/arch/arm/kernel/atags_proc.c
index 6106385d25a0..8411fbfbcb8b 100644
--- a/arch/arm/kernel/atags_proc.c
+++ b/arch/arm/kernel/atags_proc.c
@@ -54,7 +54,7 @@ static int __init init_atags_procfs(void)

 	WARN_ON(tag->hdr.tag != ATAG_NONE);

-	b = kmalloc_flex(*b, data, size, GFP_KERNEL);
+	b = kmalloc_flex(*b, data, size);
 	if (!b)
 		goto nomem;

diff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/machine_kexec_file.c
index 9038d46dacf5..fba260ad87a9 100644
--- a/arch/arm64/kernel/machine_kexec_file.c
+++ b/arch/arm64/kernel/machine_kexec_file.c
@@ -52,7 +52,7 @@ static int prepare_elf_headers(void **addr, unsigned long *sz)
 	for_each_mem_range(i, &start, &end)
 		nr_ranges++;

-	cmem = kmalloc_flex(*cmem, ranges, nr_ranges, GFP_KERNEL);
+	cmem = kmalloc_flex(*cmem, ranges, nr_ranges);
 	if (!cmem)
 		return -ENOMEM;

diff --git a/arch/loongarch/kernel/machine_kexec_file.c b/arch/loongarch/kernel/machine_kexec_file.c
index 602fe9105381..5584b798ba46 100644
--- a/arch/loongarch/kernel/machine_kexec_file.c
+++ b/arch/loongarch/kernel/machine_kexec_file.c
@@ -68,7 +68,7 @@ static int prepare_elf_headers(void **addr, unsigned long *sz)
 	for_each_mem_range(i, &start, &end)
 		nr_ranges++;

-	cmem = kmalloc_flex(*cmem, ranges, nr_ranges, GFP_KERNEL);
+	cmem = kmalloc_flex(*cmem, ranges, nr_ranges);
 	if (!cmem)
 		return -ENOMEM;

diff --git a/arch/powerpc/platforms/ps3/device-init.c b/arch/powerpc/platforms/ps3/device-init.c
index 37c1a52e4f7e..12c473768c39 100644
--- a/arch/powerpc/platforms/ps3/device-init.c
+++ b/arch/powerpc/platforms/ps3/device-init.c
@@ -344,7 +344,7 @@ static int ps3_setup_storage_dev(const struct ps3_repository_device *repo,
 		 repo->dev_index, repo->dev_type, port, blk_size, num_blocks,
 		 num_regions);

-	p = kzalloc_flex(*p, regions, num_regions, GFP_KERNEL);
+	p = kzalloc_flex(*p, regions, num_regions);
 	if (!p) {
 		result = -ENOMEM;
 		goto fail_malloc;
diff --git a/arch/riscv/kernel/machine_kexec_file.c b/arch/riscv/kernel/machine_kexec_file.c
index a780d3e0955c..54e2d9552e93 100644
--- a/arch/riscv/kernel/machine_kexec_file.c
+++ b/arch/riscv/kernel/machine_kexec_file.c
@@ -64,7 +64,7 @@ static int prepare_elf_headers(void **addr, unsigned long *sz)
 	nr_ranges = 1; /* For exclusion of crashkernel region */
 	walk_system_ram_res(0, -1, &nr_ranges, get_nr_ram_ranges_callback);

-	cmem = kmalloc_flex(*cmem, ranges, nr_ranges, GFP_KERNEL);
+	cmem = kmalloc_flex(*cmem, ranges, nr_ranges);
 	if (!cmem)
 		return -ENOMEM;

diff --git a/arch/x86/events/intel/uncore.c b/arch/x86/events/intel/uncore.c
index 3e68d60f8c14..786bd51a0d89 100644
--- a/arch/x86/events/intel/uncore.c
+++ b/arch/x86/events/intel/uncore.c
@@ -1016,7 +1016,7 @@ static int __init uncore_type_init(struct intel_uncore_type *type)
 		} *attr_group;
 		for (i = 0; type->event_descs[i].attr.attr.name; i++);

-		attr_group = kzalloc_flex(*attr_group, attrs, i + 1, GFP_KERNEL);
+		attr_group = kzalloc_flex(*attr_group, attrs, i + 1);
 		if (!attr_group)
 			goto err;

diff --git a/arch/x86/events/rapl.c b/arch/x86/events/rapl.c
index efee5ce03e54..8ed03c32f560 100644
--- a/arch/x86/events/rapl.c
+++ b/arch/x86/events/rapl.c
@@ -742,7 +742,7 @@ static int __init init_rapl_pmus(struct rapl_pmus **rapl_pmus_ptr, int rapl_pmu_
 	else if (rapl_pmu_scope != PERF_PMU_SCOPE_PKG)
 		return -EINVAL;

-	rapl_pmus = kzalloc_flex(*rapl_pmus, rapl_pmu, nr_rapl_pmu, GFP_KERNEL);
+	rapl_pmus = kzalloc_flex(*rapl_pmus, rapl_pmu, nr_rapl_pmu);
 	if (!rapl_pmus)
 		return -ENOMEM;

diff --git a/arch/x86/kernel/cpu/mce/dev-mcelog.c b/arch/x86/kernel/cpu/mce/dev-mcelog.c
index ec603e2c089a..053555206d81 100644
--- a/arch/x86/kernel/cpu/mce/dev-mcelog.c
+++ b/arch/x86/kernel/cpu/mce/dev-mcelog.c
@@ -338,7 +338,7 @@ static __init int dev_mcelog_init_device(void)
 	int err;

 	mce_log_len = max(MCE_LOG_MIN_LEN, num_online_cpus());
-	mcelog = kzalloc_flex(*mcelog, entry, mce_log_len, GFP_KERNEL);
+	mcelog = kzalloc_flex(*mcelog, entry, mce_log_len);
 	if (!mcelog)
 		return -ENOMEM;

diff --git a/crypto/deflate.c b/crypto/deflate.c
index 644daf558ad0..46fc7def8d4c 100644
--- a/crypto/deflate.c
+++ b/crypto/deflate.c
@@ -40,7 +40,7 @@ static void *deflate_alloc_stream(void)
 						     DEFLATE_DEF_MEMLEVEL));
 	struct deflate_stream *ctx;

-	ctx = kvmalloc_flex(*ctx, workspace, size, GFP_KERNEL);
+	ctx = kvmalloc_flex(*ctx, workspace, size);
 	if (!ctx)
 		return ERR_PTR(-ENOMEM);

diff --git a/crypto/zstd.c b/crypto/zstd.c
index f0c5c4ee7d29..556f5d2bdd5f 100644
--- a/crypto/zstd.c
+++ b/crypto/zstd.c
@@ -44,7 +44,7 @@ static void *zstd_alloc_stream(void)
 	if (!wksp_size)
 		return ERR_PTR(-EINVAL);

-	ctx = kvmalloc_flex(*ctx, wksp, wksp_size, GFP_KERNEL);
+	ctx = kvmalloc_flex(*ctx, wksp, wksp_size);
 	if (!ctx)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/accel/amdxdna/aie2_error.c b/drivers/accel/amdxdna/aie2_error.c
index a311231834f0..9f0ea1d9c05f 100644
--- a/drivers/accel/amdxdna/aie2_error.c
+++ b/drivers/accel/amdxdna/aie2_error.c
@@ -350,7 +350,7 @@ int aie2_error_async_events_alloc(struct amdxdna_dev_hdl *ndev)
 	struct async_events *events;
 	int i, ret;

-	events = kzalloc_flex(*events, event, total_col, GFP_KERNEL);
+	events = kzalloc_flex(*events, event, total_col);
 	if (!events)
 		return -ENOMEM;

diff --git a/drivers/accel/amdxdna/aie2_solver.c b/drivers/accel/amdxdna/aie2_solver.c
index f5d88d707551..3611e3268d79 100644
--- a/drivers/accel/amdxdna/aie2_solver.c
+++ b/drivers/accel/amdxdna/aie2_solver.c
@@ -266,7 +266,7 @@ static struct solver_node *create_solver_node(struct solver_state *xrs,
 	struct solver_node *node;
 	int ret;

-	node = kzalloc_flex(*node, start_cols, cdop->cols_len, GFP_KERNEL);
+	node = kzalloc_flex(*node, start_cols, cdop->cols_len);
 	if (!node)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/accel/amdxdna/amdxdna_ctx.c b/drivers/accel/amdxdna/amdxdna_ctx.c
index 29722ae34133..59fa3800b9d3 100644
--- a/drivers/accel/amdxdna/amdxdna_ctx.c
+++ b/drivers/accel/amdxdna/amdxdna_ctx.c
@@ -436,7 +436,7 @@ int amdxdna_cmd_submit(struct amdxdna_client *client,
 	int ret, idx;

 	XDNA_DBG(xdna, "Command BO hdl %d, Arg BO count %d", cmd_bo_hdl, arg_bo_cnt);
-	job = kzalloc_flex(*job, bos, arg_bo_cnt, GFP_KERNEL);
+	job = kzalloc_flex(*job, bos, arg_bo_cnt);
 	if (!job)
 		return -ENOMEM;

diff --git a/drivers/accel/ivpu/ivpu_job.c b/drivers/accel/ivpu/ivpu_job.c
index 124f018667a9..fe02b7bd465b 100644
--- a/drivers/accel/ivpu/ivpu_job.c
+++ b/drivers/accel/ivpu/ivpu_job.c
@@ -525,7 +525,7 @@ ivpu_job_create(struct ivpu_file_priv *file_priv, u32 engine_idx, u32 bo_count)
 	struct ivpu_device *vdev = file_priv->vdev;
 	struct ivpu_job *job;

-	job = kzalloc_flex(*job, bos, bo_count, GFP_KERNEL);
+	job = kzalloc_flex(*job, bos, bo_count);
 	if (!job)
 		return NULL;

diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index 8ef2619c129c..11909417f017 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -2832,7 +2832,7 @@ static void ata_dev_config_cpr(struct ata_device *dev)
 	if (!nr_cpr)
 		goto out;

-	cpr_log = kzalloc_flex(*cpr_log, cpr, nr_cpr, GFP_KERNEL);
+	cpr_log = kzalloc_flex(*cpr_log, cpr, nr_cpr);
 	if (!cpr_log)
 		goto out;

diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c
index c1510a276601..004f367243b6 100644
--- a/drivers/block/ublk_drv.c
+++ b/drivers/block/ublk_drv.c
@@ -4613,7 +4613,7 @@ static int ublk_ctrl_add_dev(const struct ublksrv_ctrl_cmd *header)
 		goto out_unlock;

 	ret = -ENOMEM;
-	ub = kzalloc_flex(*ub, queues, info.nr_hw_queues, GFP_KERNEL);
+	ub = kzalloc_flex(*ub, queues, info.nr_hw_queues);
 	if (!ub)
 		goto out_unlock;
 	mutex_init(&ub->mutex);
diff --git a/drivers/block/zloop.c b/drivers/block/zloop.c
index 9da9855dd6e0..65a40266437c 100644
--- a/drivers/block/zloop.c
+++ b/drivers/block/zloop.c
@@ -997,7 +997,7 @@ static int zloop_ctl_add(struct zloop_options *opts)
 		goto out;
 	}

-	zlo = kvzalloc_flex(*zlo, zones, nr_zones, GFP_KERNEL);
+	zlo = kvzalloc_flex(*zlo, zones, nr_zones);
 	if (!zlo) {
 		ret = -ENOMEM;
 		goto out;
diff --git a/drivers/bus/vexpress-config.c b/drivers/bus/vexpress-config.c
index 074918ed86fd..adaf5bd2b36d 100644
--- a/drivers/bus/vexpress-config.c
+++ b/drivers/bus/vexpress-config.c
@@ -284,7 +284,7 @@ static struct regmap *vexpress_syscfg_regmap_init(struct device *dev,
 		val = energy_quirk;
 	}

-	func = kzalloc_flex(*func, template, num, GFP_KERNEL);
+	func = kzalloc_flex(*func, template, num);
 	if (!func)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/char/hpet.c b/drivers/char/hpet.c
index 1813e931c2b0..60dd09a56f50 100644
--- a/drivers/char/hpet.c
+++ b/drivers/char/hpet.c
@@ -823,7 +823,7 @@ int hpet_alloc(struct hpet_data *hdp)
 		return 0;
 	}

-	hpetp = kzalloc_flex(*hpetp, hp_dev, hdp->hd_nirqs, GFP_KERNEL);
+	hpetp = kzalloc_flex(*hpetp, hp_dev, hdp->hd_nirqs);

 	if (!hpetp)
 		return -ENOMEM;
diff --git a/drivers/char/virtio_console.c b/drivers/char/virtio_console.c
index a341073d5c3a..40d7e45d65dc 100644
--- a/drivers/char/virtio_console.c
+++ b/drivers/char/virtio_console.c
@@ -412,7 +412,7 @@ static struct port_buffer *alloc_buf(struct virtio_device *vdev, size_t buf_size
 	 * Allocate buffer and the sg list. The sg list array is allocated
 	 * directly after the port_buffer struct.
 	 */
-	buf = kmalloc_flex(*buf, sg, pages, GFP_KERNEL);
+	buf = kmalloc_flex(*buf, sg, pages);
 	if (!buf)
 		goto fail;

diff --git a/drivers/clk/at91/pmc.c b/drivers/clk/at91/pmc.c
index 261c91d449e7..b618a5e00b00 100644
--- a/drivers/clk/at91/pmc.c
+++ b/drivers/clk/at91/pmc.c
@@ -87,7 +87,7 @@ struct pmc_data *pmc_data_allocate(unsigned int ncore, unsigned int nsystem,
 	unsigned int num_clks = ncore + nsystem + nperiph + ngck + npck;
 	struct pmc_data *pmc_data;

-	pmc_data = kzalloc_flex(*pmc_data, hwtable, num_clks, GFP_KERNEL);
+	pmc_data = kzalloc_flex(*pmc_data, hwtable, num_clks);
 	if (!pmc_data)
 		return NULL;

diff --git a/drivers/clk/at91/sckc.c b/drivers/clk/at91/sckc.c
index 61fcb3d1ee40..776118f14867 100644
--- a/drivers/clk/at91/sckc.c
+++ b/drivers/clk/at91/sckc.c
@@ -502,7 +502,7 @@ static void __init of_sam9x60_sckc_setup(struct device_node *np)
 	if (IS_ERR(slow_osc))
 		goto unregister_slow_rc;

-	clk_data = kzalloc_flex(*clk_data, hws, 2, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, 2);
 	if (!clk_data)
 		goto unregister_slow_osc;

diff --git a/drivers/clk/bcm/clk-iproc-pll.c b/drivers/clk/bcm/clk-iproc-pll.c
index a40c85f833f2..d708f770971c 100644
--- a/drivers/clk/bcm/clk-iproc-pll.c
+++ b/drivers/clk/bcm/clk-iproc-pll.c
@@ -735,7 +735,7 @@ void iproc_pll_clk_setup(struct device_node *node,
 	if (WARN_ON(!pll))
 		return;

-	clk_data = kzalloc_flex(*clk_data, hws, num_clks, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, num_clks);
 	if (WARN_ON(!clk_data))
 		goto err_clk_data;
 	clk_data->num = num_clks;
diff --git a/drivers/clk/berlin/bg2.c b/drivers/clk/berlin/bg2.c
index 9a08a16b2026..9bd1c91f5227 100644
--- a/drivers/clk/berlin/bg2.c
+++ b/drivers/clk/berlin/bg2.c
@@ -499,7 +499,7 @@ static void __init berlin2_clock_setup(struct device_node *np)
 	u8 avpll_flags = 0;
 	int n, ret;

-	clk_data = kzalloc_flex(*clk_data, hws, MAX_CLKS, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, MAX_CLKS);
 	if (!clk_data) {
 		of_node_put(parent_np);
 		return;
diff --git a/drivers/clk/berlin/bg2q.c b/drivers/clk/berlin/bg2q.c
index 58611495ae1d..4d407c8c3b40 100644
--- a/drivers/clk/berlin/bg2q.c
+++ b/drivers/clk/berlin/bg2q.c
@@ -285,7 +285,7 @@ static void __init berlin2q_clock_setup(struct device_node *np)
 	struct clk_hw **hws;
 	int n, ret;

-	clk_data = kzalloc_flex(*clk_data, hws, MAX_CLKS, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, MAX_CLKS);
 	if (!clk_data) {
 		of_node_put(parent_np);
 		return;
diff --git a/drivers/clk/clk-asm9260.c b/drivers/clk/clk-asm9260.c
index 08e69d69d1fb..4fe29040bdb0 100644
--- a/drivers/clk/clk-asm9260.c
+++ b/drivers/clk/clk-asm9260.c
@@ -262,7 +262,7 @@ static void __init asm9260_acc_init(struct device_node *np)
 	u32 rate;
 	int n;

-	clk_data = kzalloc_flex(*clk_data, hws, MAX_CLKS, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, MAX_CLKS);
 	if (!clk_data)
 		return;
 	clk_data->num = MAX_CLKS;
diff --git a/drivers/clk/clk-eyeq.c b/drivers/clk/clk-eyeq.c
index ec0c953e4428..81137269352d 100644
--- a/drivers/clk/clk-eyeq.c
+++ b/drivers/clk/clk-eyeq.c
@@ -400,7 +400,7 @@ static int eqc_probe(struct platform_device *pdev)

 	clk_count = data->pll_count + data->div_count +
 		    data->fixed_factor_count + data->early_clk_count;
-	cells = kzalloc_flex(*cells, hws, clk_count, GFP_KERNEL);
+	cells = kzalloc_flex(*cells, hws, clk_count);
 	if (!cells)
 		return -ENOMEM;

@@ -738,7 +738,7 @@ static void __init eqc_early_init(struct device_node *np,

 	clk_count = early_data->early_pll_count + early_data->early_fixed_factor_count +
 		    early_data->late_clk_count;
-	cells = kzalloc_flex(*cells, hws, clk_count, GFP_KERNEL);
+	cells = kzalloc_flex(*cells, hws, clk_count);
 	if (!cells) {
 		ret = -ENOMEM;
 		goto err;
diff --git a/drivers/clk/clk-stm32h7.c b/drivers/clk/clk-stm32h7.c
index 6909bb95dc5e..82e0789cf189 100644
--- a/drivers/clk/clk-stm32h7.c
+++ b/drivers/clk/clk-stm32h7.c
@@ -1200,7 +1200,7 @@ static void __init stm32h7_rcc_init(struct device_node *np)
 	const char *hse_clk, *lse_clk, *i2s_clk;
 	struct regmap *pdrm;

-	clk_data = kzalloc_flex(*clk_data, hws, STM32H7_MAX_CLKS, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, STM32H7_MAX_CLKS);
 	if (!clk_data)
 		return;

diff --git a/drivers/clk/imgtec/clk-boston.c b/drivers/clk/imgtec/clk-boston.c
index 23360ba5c852..f28c3ab93bcb 100644
--- a/drivers/clk/imgtec/clk-boston.c
+++ b/drivers/clk/imgtec/clk-boston.c
@@ -58,7 +58,7 @@ static void __init clk_boston_setup(struct device_node *np)
 	cpu_div = ext_field(mmcmdiv, BOSTON_PLAT_MMCMDIV_CLK1DIV);
 	cpu_freq = mult_frac(in_freq, mul, cpu_div);

-	onecell = kzalloc_flex(*onecell, hws, BOSTON_CLK_COUNT, GFP_KERNEL);
+	onecell = kzalloc_flex(*onecell, hws, BOSTON_CLK_COUNT);
 	if (!onecell)
 		return;

diff --git a/drivers/clk/imx/clk-imx7d.c b/drivers/clk/imx/clk-imx7d.c
index 21c6daa221cc..ebf482bfca7a 100644
--- a/drivers/clk/imx/clk-imx7d.c
+++ b/drivers/clk/imx/clk-imx7d.c
@@ -382,7 +382,7 @@ static void __init imx7d_clocks_init(struct device_node *ccm_node)
 	struct device_node *np;
 	void __iomem *base;

-	clk_hw_data = kzalloc_flex(*clk_hw_data, hws, IMX7D_CLK_END, GFP_KERNEL);
+	clk_hw_data = kzalloc_flex(*clk_hw_data, hws, IMX7D_CLK_END);
 	if (WARN_ON(!clk_hw_data))
 		return;

diff --git a/drivers/clk/ingenic/tcu.c b/drivers/clk/ingenic/tcu.c
index 6a096ba4d40c..678446251cd6 100644
--- a/drivers/clk/ingenic/tcu.c
+++ b/drivers/clk/ingenic/tcu.c
@@ -379,7 +379,7 @@ static int __init ingenic_tcu_probe(struct device_node *np)
 		}
 	}

-	tcu->clocks = kzalloc_flex(*tcu->clocks, hws, TCU_CLK_COUNT, GFP_KERNEL);
+	tcu->clocks = kzalloc_flex(*tcu->clocks, hws, TCU_CLK_COUNT);
 	if (!tcu->clocks) {
 		ret = -ENOMEM;
 		goto err_clk_disable;
diff --git a/drivers/clk/mediatek/clk-mtk.c b/drivers/clk/mediatek/clk-mtk.c
index ab038ffb90df..3dfdd3a422f8 100644
--- a/drivers/clk/mediatek/clk-mtk.c
+++ b/drivers/clk/mediatek/clk-mtk.c
@@ -67,7 +67,7 @@ struct clk_hw_onecell_data *mtk_alloc_clk_data(unsigned int clk_num)
 {
 	struct clk_hw_onecell_data *clk_data;

-	clk_data = kzalloc_flex(*clk_data, hws, clk_num, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, clk_num);
 	if (!clk_data)
 		return NULL;

diff --git a/drivers/clk/ralink/clk-mt7621.c b/drivers/clk/ralink/clk-mt7621.c
index aa7902bd5e0e..350c2b6fb46f 100644
--- a/drivers/clk/ralink/clk-mt7621.c
+++ b/drivers/clk/ralink/clk-mt7621.c
@@ -372,7 +372,7 @@ static void __init mt7621_clk_init(struct device_node *node)

 	count = ARRAY_SIZE(mt7621_clks_base) +
 		ARRAY_SIZE(mt7621_fixed_clks) + ARRAY_SIZE(mt7621_gates);
-	clk_data = kzalloc_flex(*clk_data, hws, count, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, count);
 	if (!clk_data)
 		goto free_clk_priv;

diff --git a/drivers/clk/ralink/clk-mtmips.c b/drivers/clk/ralink/clk-mtmips.c
index 46a8eb023c38..370e5c36863d 100644
--- a/drivers/clk/ralink/clk-mtmips.c
+++ b/drivers/clk/ralink/clk-mtmips.c
@@ -936,7 +936,7 @@ static void __init mtmips_clk_init(struct device_node *node)
 	priv->data = data;
 	count = priv->data->num_clk_base + priv->data->num_clk_fixed +
 		priv->data->num_clk_factor + priv->data->num_clk_periph;
-	clk_data = kzalloc_flex(*clk_data, hws, count, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, count);
 	if (!clk_data)
 		goto free_clk_priv;

diff --git a/drivers/clk/renesas/clk-div6.c b/drivers/clk/renesas/clk-div6.c
index 051515695c52..c23489900e96 100644
--- a/drivers/clk/renesas/clk-div6.c
+++ b/drivers/clk/renesas/clk-div6.c
@@ -251,7 +251,7 @@ struct clk * __init cpg_div6_register(const char *name,
 	struct clk *clk;
 	unsigned int i;

-	clock = kzalloc_flex(*clock, parents, num_parents, GFP_KERNEL);
+	clock = kzalloc_flex(*clock, parents, num_parents);
 	if (!clock)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/clk/renesas/clk-mstp.c b/drivers/clk/renesas/clk-mstp.c
index c8c0a603d974..f57f2342847b 100644
--- a/drivers/clk/renesas/clk-mstp.c
+++ b/drivers/clk/renesas/clk-mstp.c
@@ -184,7 +184,7 @@ static void __init cpg_mstp_clocks_init(struct device_node *np)
 	struct clk **clks;
 	unsigned int i;

-	group = kzalloc_flex(*group, clks, MSTP_MAX_CLOCKS, GFP_KERNEL);
+	group = kzalloc_flex(*group, clks, MSTP_MAX_CLOCKS);
 	if (!group)
 		return;

diff --git a/drivers/clk/renesas/renesas-cpg-mssr.c b/drivers/clk/renesas/renesas-cpg-mssr.c
index 52932ba777f4..64a432fd0e8a 100644
--- a/drivers/clk/renesas/renesas-cpg-mssr.c
+++ b/drivers/clk/renesas/renesas-cpg-mssr.c
@@ -1258,7 +1258,7 @@ static int __init cpg_mssr_common_init(struct device *dev,
 	}

 	nclks = info->num_total_core_clks + info->num_hw_mod_clks;
-	priv = kzalloc_flex(*priv, clks, nclks, GFP_KERNEL);
+	priv = kzalloc_flex(*priv, clks, nclks);
 	if (!priv)
 		return -ENOMEM;

diff --git a/drivers/clk/samsung/clk.c b/drivers/clk/samsung/clk.c
index fbb64b082188..94b2bccc7d02 100644
--- a/drivers/clk/samsung/clk.c
+++ b/drivers/clk/samsung/clk.c
@@ -82,7 +82,7 @@ struct samsung_clk_provider * __init samsung_clk_init(struct device *dev,
 	struct samsung_clk_provider *ctx;
 	int i;

-	ctx = kzalloc_flex(*ctx, clk_data.hws, nr_clks, GFP_KERNEL);
+	ctx = kzalloc_flex(*ctx, clk_data.hws, nr_clks);
 	if (!ctx)
 		panic("could not allocate clock provider context.\n");

diff --git a/drivers/clk/visconti/pll.c b/drivers/clk/visconti/pll.c
index fadf81ff932f..6fd02c4b641e 100644
--- a/drivers/clk/visconti/pll.c
+++ b/drivers/clk/visconti/pll.c
@@ -330,7 +330,7 @@ struct visconti_pll_provider * __init visconti_init_pll(struct device_node *np,
 	struct visconti_pll_provider *ctx;
 	int i;

-	ctx = kzalloc_flex(*ctx, clk_data.hws, nr_plls, GFP_KERNEL);
+	ctx = kzalloc_flex(*ctx, clk_data.hws, nr_plls);
 	if (!ctx)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/clk/zynqmp/clkc.c b/drivers/clk/zynqmp/clkc.c
index 3911700d4ca7..d62f1901d0ab 100644
--- a/drivers/clk/zynqmp/clkc.c
+++ b/drivers/clk/zynqmp/clkc.c
@@ -759,7 +759,7 @@ static int zynqmp_clk_setup(struct device_node *np)
 	if (ret)
 		return ret;

-	zynqmp_data = kzalloc_flex(*zynqmp_data, hws, clock_max_idx, GFP_KERNEL);
+	zynqmp_data = kzalloc_flex(*zynqmp_data, hws, clock_max_idx);
 	if (!zynqmp_data)
 		return -ENOMEM;

diff --git a/drivers/clocksource/ingenic-timer.c b/drivers/clocksource/ingenic-timer.c
index 3c545cb756af..54bb56005dfd 100644
--- a/drivers/clocksource/ingenic-timer.c
+++ b/drivers/clocksource/ingenic-timer.c
@@ -286,7 +286,7 @@ static int __init ingenic_tcu_init(struct device_node *np)
 	if (IS_ERR(map))
 		return PTR_ERR(map);

-	tcu = kzalloc_flex(*tcu, timers, num_possible_cpus(), GFP_KERNEL);
+	tcu = kzalloc_flex(*tcu, timers, num_possible_cpus());
 	if (!tcu)
 		return -ENOMEM;

diff --git a/drivers/cpufreq/e_powersaver.c b/drivers/cpufreq/e_powersaver.c
index 05209d9e9d27..eb5a9209d828 100644
--- a/drivers/cpufreq/e_powersaver.c
+++ b/drivers/cpufreq/e_powersaver.c
@@ -320,7 +320,7 @@ static int eps_cpu_init(struct cpufreq_policy *policy)
 		states = 2;

 	/* Allocate private data and frequency table for current cpu */
-	centaur = kzalloc_flex(*centaur, freq_table, states + 1, GFP_KERNEL);
+	centaur = kzalloc_flex(*centaur, freq_table, states + 1);
 	if (!centaur)
 		return -ENOMEM;
 	eps_cpu[0] = centaur;
diff --git a/drivers/cxl/core/features.c b/drivers/cxl/core/features.c
index 75c5534ce205..3435db9ea6b1 100644
--- a/drivers/cxl/core/features.c
+++ b/drivers/cxl/core/features.c
@@ -94,7 +94,7 @@ get_supported_features(struct cxl_features_state *cxlfs)
 		return NULL;

 	struct cxl_feat_entries *entries __free(kvfree) =
-		kvmalloc_flex(*entries, ent, count, GFP_KERNEL);
+		kvmalloc_flex(*entries, ent, count);
 	if (!entries)
 		return NULL;

diff --git a/drivers/cxl/core/memdev.c b/drivers/cxl/core/memdev.c
index d0159fb19b0f..f547d8ac34c7 100644
--- a/drivers/cxl/core/memdev.c
+++ b/drivers/cxl/core/memdev.c
@@ -831,7 +831,7 @@ static int cxl_mem_abort_fw_xfer(struct cxl_memdev_state *mds)
 	struct cxl_mbox_cmd mbox_cmd;
 	int rc;

-	transfer = kzalloc_flex(*transfer, data, 0, GFP_KERNEL);
+	transfer = kzalloc_flex(*transfer, data, 0);
 	if (!transfer)
 		return -ENOMEM;

diff --git a/drivers/cxl/core/port.c b/drivers/cxl/core/port.c
index d6433c544e3c..b69c2529744c 100644
--- a/drivers/cxl/core/port.c
+++ b/drivers/cxl/core/port.c
@@ -2017,7 +2017,7 @@ struct cxl_root_decoder *cxl_root_decoder_alloc(struct cxl_port *port,
 	if (!is_cxl_root(port))
 		return ERR_PTR(-EINVAL);

-	cxlrd = kzalloc_flex(*cxlrd, cxlsd.target, nr_targets, GFP_KERNEL);
+	cxlrd = kzalloc_flex(*cxlrd, cxlsd.target, nr_targets);
 	if (!cxlrd)
 		return ERR_PTR(-ENOMEM);

@@ -2070,7 +2070,7 @@ struct cxl_switch_decoder *cxl_switch_decoder_alloc(struct cxl_port *port,
 	if (is_cxl_root(port) || is_cxl_endpoint(port))
 		return ERR_PTR(-EINVAL);

-	cxlsd = kzalloc_flex(*cxlsd, target, nr_targets, GFP_KERNEL);
+	cxlsd = kzalloc_flex(*cxlsd, target, nr_targets);
 	if (!cxlsd)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c
index e7fedfe8f1b6..fec37af1dfbf 100644
--- a/drivers/cxl/core/region.c
+++ b/drivers/cxl/core/region.c
@@ -3464,7 +3464,7 @@ static int cxl_pmem_region_alloc(struct cxl_region *cxlr)
 		return -ENXIO;

 	struct cxl_pmem_region *cxlr_pmem __free(kfree) =
-		kzalloc_flex(*cxlr_pmem, mapping, p->nr_targets, GFP_KERNEL);
+		kzalloc_flex(*cxlr_pmem, mapping, p->nr_targets);
 	if (!cxlr_pmem)
 		return -ENOMEM;

diff --git a/drivers/cxl/pmem.c b/drivers/cxl/pmem.c
index 46d37ffef95e..6a97e4e490b6 100644
--- a/drivers/cxl/pmem.c
+++ b/drivers/cxl/pmem.c
@@ -234,7 +234,7 @@ static int cxl_pmem_set_config_data(struct cxl_memdev_state *mds,
 		return -EINVAL;

 	set_lsa =
-		kvzalloc_flex(*set_lsa, data, cmd->in_length, GFP_KERNEL);
+		kvzalloc_flex(*set_lsa, data, cmd->in_length);
 	if (!set_lsa)
 		return -ENOMEM;

diff --git a/drivers/dax/kmem.c b/drivers/dax/kmem.c
index 8618115cc56f..2cc8749bc871 100644
--- a/drivers/dax/kmem.c
+++ b/drivers/dax/kmem.c
@@ -121,7 +121,7 @@ static int dev_dax_kmem_probe(struct dev_dax *dev_dax)
 	init_node_memory_type(numa_node, mtype);

 	rc = -ENOMEM;
-	data = kzalloc_flex(*data, res, dev_dax->nr_range, GFP_KERNEL);
+	data = kzalloc_flex(*data, res, dev_dax->nr_range);
 	if (!data)
 		goto err_dax_kmem_data;

diff --git a/drivers/dma-buf/dma-fence-array.c b/drivers/dma-buf/dma-fence-array.c
index eb27fcc0aad5..37e2c6179d77 100644
--- a/drivers/dma-buf/dma-fence-array.c
+++ b/drivers/dma-buf/dma-fence-array.c
@@ -179,7 +179,7 @@ struct dma_fence_array *dma_fence_array_alloc(int num_fences)
 {
 	struct dma_fence_array *array;

-	return kzalloc_flex(*array, callbacks, num_fences, GFP_KERNEL);
+	return kzalloc_flex(*array, callbacks, num_fences);
 }
 EXPORT_SYMBOL(dma_fence_array_alloc);

diff --git a/drivers/dma/timb_dma.c b/drivers/dma/timb_dma.c
index 6f5a214954a5..4fc5119854ec 100644
--- a/drivers/dma/timb_dma.c
+++ b/drivers/dma/timb_dma.c
@@ -635,7 +635,7 @@ static int td_probe(struct platform_device *pdev)
 		DRIVER_NAME))
 		return -EBUSY;

-	td  = kzalloc_flex(*td, channels, pdata->nr_channels, GFP_KERNEL);
+	td  = kzalloc_flex(*td, channels, pdata->nr_channels);
 	if (!td) {
 		err = -ENOMEM;
 		goto err_release_region;
diff --git a/drivers/edac/imh_base.c b/drivers/edac/imh_base.c
index 722573a2729a..40082ba45e62 100644
--- a/drivers/edac/imh_base.c
+++ b/drivers/edac/imh_base.c
@@ -257,7 +257,7 @@ static int imh_get_all_mmio_base_h(struct res_config *cfg, struct list_head *eda
 	struct skx_dev *d;

 	for (i = 0; i < n; i++) {
-		d = kzalloc_flex(*d, imc, imc_num, GFP_KERNEL);
+		d = kzalloc_flex(*d, imc, imc_num);
 		if (!d)
 			return -ENOMEM;

diff --git a/drivers/edac/skx_common.c b/drivers/edac/skx_common.c
index 709c939e5919..a9557c8344bc 100644
--- a/drivers/edac/skx_common.c
+++ b/drivers/edac/skx_common.c
@@ -346,7 +346,7 @@ int skx_get_all_bus_mappings(struct res_config *cfg, struct list_head **list)
 		if (!pdev)
 			break;
 		ndev++;
-		d = kzalloc_flex(*d, imc, imc_num, GFP_KERNEL);
+		d = kzalloc_flex(*d, imc, imc_num);
 		if (!d) {
 			pci_dev_put(pdev);
 			return -ENOMEM;
diff --git a/drivers/extcon/extcon-usbc-cros-ec.c b/drivers/extcon/extcon-usbc-cros-ec.c
index cf30d54fb418..a2ef710b0d6d 100644
--- a/drivers/extcon/extcon-usbc-cros-ec.c
+++ b/drivers/extcon/extcon-usbc-cros-ec.c
@@ -68,7 +68,7 @@ static int cros_ec_pd_command(struct cros_ec_extcon_info *info,
 	struct cros_ec_command *msg;
 	int ret;

-	msg = kzalloc_flex(*msg, data, max(outsize, insize), GFP_KERNEL);
+	msg = kzalloc_flex(*msg, data, max(outsize, insize));
 	if (!msg)
 		return -ENOMEM;

diff --git a/drivers/firewire/core-cdev.c b/drivers/firewire/core-cdev.c
index c9b67bc720be..f791db4c8dff 100644
--- a/drivers/firewire/core-cdev.c
+++ b/drivers/firewire/core-cdev.c
@@ -941,7 +941,7 @@ static int ioctl_add_descriptor(struct client *client, union ioctl_arg *arg)
 	if (a->length > 256)
 		return -EINVAL;

-	r = kmalloc_flex(*r, data, a->length, GFP_KERNEL);
+	r = kmalloc_flex(*r, data, a->length);
 	if (r == NULL)
 		return -ENOMEM;

diff --git a/drivers/gpio/gpio-aggregator.c b/drivers/gpio/gpio-aggregator.c
index 0f015a122dec..9adf3228c12a 100644
--- a/drivers/gpio/gpio-aggregator.c
+++ b/drivers/gpio/gpio-aggregator.c
@@ -916,7 +916,7 @@ static int gpio_aggregator_activate(struct gpio_aggregator *aggr)
 	if (gpio_aggregator_count_lines(aggr) == 0)
 		return -EINVAL;

-	aggr->lookups = kzalloc_flex(*aggr->lookups, table, 1, GFP_KERNEL);
+	aggr->lookups = kzalloc_flex(*aggr->lookups, table, 1);
 	if (!aggr->lookups)
 		return -ENOMEM;

@@ -1456,7 +1456,7 @@ static ssize_t gpio_aggregator_new_device_store(struct device_driver *driver,
 	memcpy(aggr->args, buf, count + 1);

 	aggr->init_via_sysfs = true;
-	aggr->lookups = kzalloc_flex(*aggr->lookups, table, 1, GFP_KERNEL);
+	aggr->lookups = kzalloc_flex(*aggr->lookups, table, 1);
 	if (!aggr->lookups) {
 		res = -ENOMEM;
 		goto free_ga;
diff --git a/drivers/gpio/gpio-virtuser.c b/drivers/gpio/gpio-virtuser.c
index 3d998939120e..8ea3ba6789eb 100644
--- a/drivers/gpio/gpio-virtuser.c
+++ b/drivers/gpio/gpio-virtuser.c
@@ -1388,7 +1388,7 @@ gpio_virtuser_make_lookup_table(struct gpio_virtuser_device *dev)
 	lockdep_assert_held(&dev->lock);

 	struct gpiod_lookup_table *table __free(kfree) =
-		kzalloc_flex(*table, table, num_entries + 1, GFP_KERNEL);
+		kzalloc_flex(*table, table, num_entries + 1);
 	if (!table)
 		return -ENOMEM;

diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c
index fdc2a6539786..73ae77f0f213 100644
--- a/drivers/gpio/gpiolib-cdev.c
+++ b/drivers/gpio/gpiolib-cdev.c
@@ -1610,7 +1610,7 @@ static int linereq_create(struct gpio_device *gdev, void __user *ip)
 	if (ret)
 		return ret;

-	lr = kvzalloc_flex(*lr, lines, ulr.num_lines, GFP_KERNEL);
+	lr = kvzalloc_flex(*lr, lines, ulr.num_lines);
 	if (!lr)
 		return -ENOMEM;
 	lr->num_lines = ulr.num_lines;
diff --git a/drivers/gpio/gpiolib-shared.c b/drivers/gpio/gpiolib-shared.c
index 48de8cf141db..a6f4d8babdb2 100644
--- a/drivers/gpio/gpiolib-shared.c
+++ b/drivers/gpio/gpiolib-shared.c
@@ -478,7 +478,7 @@ int gpio_shared_add_proxy_lookup(struct device *consumer, const char *con_id,
 			if (!key)
 				return -ENOMEM;

-			lookup = kzalloc_flex(*lookup, table, 2, GFP_KERNEL);
+			lookup = kzalloc_flex(*lookup, table, 2);
 			if (!lookup)
 				return -ENOMEM;

diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index da0029628f2f..86a171e96b0e 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -147,7 +147,7 @@ static int desc_set_label(struct gpio_desc *desc, const char *label)
 	struct gpio_desc_label *new = NULL, *old;

 	if (label) {
-		new = kzalloc_flex(*new, str, strlen(label) + 1, GFP_KERNEL);
+		new = kzalloc_flex(*new, str, strlen(label) + 1);
 		if (!new)
 			return -ENOMEM;

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
index 3785c0645751..4662bfbe70b2 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_bo_list.c
@@ -76,7 +76,7 @@ int amdgpu_bo_list_create(struct amdgpu_device *adev, struct drm_file *filp,
 	unsigned i;
 	int r;

-	list = kvzalloc_flex(*list, entries, num_entries, GFP_KERNEL);
+	list = kvzalloc_flex(*list, entries, num_entries);
 	if (!list)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
index c0f501a61198..f2c038c91c70 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c
@@ -212,7 +212,7 @@ static int amdgpu_ctx_init_entity(struct amdgpu_ctx *ctx, u32 hw_ip,
 	int32_t ctx_prio;
 	int r;

-	entity = kzalloc_flex(*entity, fences, amdgpu_sched_jobs, GFP_KERNEL);
+	entity = kzalloc_flex(*entity, fences, amdgpu_sched_jobs);
 	if (!entity)
 		return  -ENOMEM;

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
index 33e209818ced..ac276bb53c7c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
@@ -122,7 +122,7 @@ static int amdgpu_gtt_mgr_new(struct ttm_resource_manager *man,
 	struct ttm_range_mgr_node *node;
 	int r;

-	node = kzalloc_flex(*node, mm_nodes, 1, GFP_KERNEL);
+	node = kzalloc_flex(*node, mm_nodes, 1);
 	if (!node)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
index bee7fcf006a2..d7c1ffbf7626 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c
@@ -198,7 +198,7 @@ int amdgpu_job_alloc(struct amdgpu_device *adev, struct amdgpu_vm *vm,
 	if (num_ibs == 0)
 		return -EINVAL;

-	*job = kzalloc_flex(**job, ibs, num_ibs, GFP_KERNEL);
+	*job = kzalloc_flex(**job, ibs, num_ibs);
 	if (!*job)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/process_pptables_v1_0.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/process_pptables_v1_0.c
index 37a85d8a3db2..34de209680fb 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/process_pptables_v1_0.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/process_pptables_v1_0.c
@@ -165,7 +165,7 @@ static int get_vddc_lookup_table(
 	PP_ASSERT_WITH_CODE((0 != vddc_lookup_pp_tables->ucNumEntries),
 		"Invalid CAC Leakage PowerPlay Table!", return 1);

-	table = kzalloc_flex(*table, entries, max_levels, GFP_KERNEL);
+	table = kzalloc_flex(*table, entries, max_levels);
 	if (!table)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c
index d83e5c53bd43..2e671b45f174 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c
@@ -133,7 +133,7 @@ static int smu10_init_dynamic_state_adjustment_rule_settings(
 	int count = 8;
 	struct phm_clock_voltage_dependency_table *table_clk_vlt;

-	table_clk_vlt = kzalloc_flex(*table_clk_vlt, entries, count, GFP_KERNEL);
+	table_clk_vlt = kzalloc_flex(*table_clk_vlt, entries, count);

 	if (NULL == table_clk_vlt) {
 		pr_err("Can not allocate memory!\n");
@@ -472,7 +472,7 @@ static int smu10_get_clock_voltage_dependency_table(struct pp_hwmgr *hwmgr,
 	uint32_t i;
 	struct smu10_voltage_dependency_table *ptable;

-	ptable = kzalloc_flex(*ptable, entries, num_entry, GFP_KERNEL);
+	ptable = kzalloc_flex(*ptable, entries, num_entry);
 	if (NULL == ptable)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c
index 8133f2cc5e1d..5ad6ab3d2d37 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu8_hwmgr.c
@@ -276,7 +276,7 @@ static int smu8_init_dynamic_state_adjustment_rule_settings(
 {
 	struct phm_clock_voltage_dependency_table *table_clk_vlt;

-	table_clk_vlt = kzalloc_flex(*table_clk_vlt, entries, 8, GFP_KERNEL);
+	table_clk_vlt = kzalloc_flex(*table_clk_vlt, entries, 8);

 	if (NULL == table_clk_vlt) {
 		pr_err("Can not allocate memory!\n");
diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu_helper.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu_helper.c
index 29837c0f42ed..40ecaac6c604 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu_helper.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/smu_helper.c
@@ -495,7 +495,7 @@ int phm_initializa_dynamic_state_adjustment_rule_settings(struct pp_hwmgr *hwmgr
 	struct phm_ppt_v1_information *pptable_info = (struct phm_ppt_v1_information *)(hwmgr->pptable);

 	/* initialize vddc_dep_on_dal_pwrl table */
-	table_clk_vlt = kzalloc_flex(*table_clk_vlt, entries, 4, GFP_KERNEL);
+	table_clk_vlt = kzalloc_flex(*table_clk_vlt, entries, 4);

 	if (NULL == table_clk_vlt) {
 		pr_err("Can not allocate space for vddc_dep_on_dal_pwrl! \n");
diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_processpptables.c b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_processpptables.c
index b9a1ab27d995..d3d3ebea9e78 100644
--- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_processpptables.c
+++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_processpptables.c
@@ -755,7 +755,7 @@ static int get_dcefclk_voltage_dependency_table(
 		num_entries = clk_dep_table->ucNumEntries;


-	clk_table = kzalloc_flex(*clk_table, entries, num_entries, GFP_KERNEL);
+	clk_table = kzalloc_flex(*clk_table, entries, num_entries);
 	if (!clk_table)
 		return -ENOMEM;

@@ -1040,7 +1040,7 @@ static int get_vddc_lookup_table(
 	PP_ASSERT_WITH_CODE((vddc_lookup_pp_tables->ucNumEntries != 0),
 			"Invalid SOC_VDDD Lookup Table!", return 1);

-	table = kzalloc_flex(*table, entries, max_levels, GFP_KERNEL);
+	table = kzalloc_flex(*table, entries, max_levels);
 	if (!table)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
index d1e7d758fb70..18755a8e613d 100644
--- a/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
+++ b/drivers/gpu/drm/i915/display/intel_dsi_vbt.c
@@ -231,7 +231,7 @@ static void soc_opaque_gpio_set_value(struct intel_connector *connector,
 {
 	struct gpiod_lookup_table *lookup;

-	lookup = kzalloc_flex(*lookup, table, 2, GFP_KERNEL);
+	lookup = kzalloc_flex(*lookup, table, 2);
 	if (!lookup)
 		return;

diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index 6ff5dc07b719..6ac0f23570f3 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -1103,7 +1103,7 @@ static struct i915_gem_engines *alloc_engines(unsigned int count)
 {
 	struct i915_gem_engines *e;

-	e = kzalloc_flex(*e, engines, count, GFP_KERNEL);
+	e = kzalloc_flex(*e, engines, count);
 	if (!e)
 		return NULL;

diff --git a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
index 4212873c326d..f2863da7f5c1 100644
--- a/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
+++ b/drivers/gpu/drm/i915/gem/selftests/mock_dmabuf.c
@@ -103,7 +103,7 @@ static struct dma_buf *mock_dmabuf(int npages)
 	struct dma_buf *dmabuf;
 	int i;

-	mock = kmalloc_flex(*mock, pages, npages, GFP_KERNEL);
+	mock = kmalloc_flex(*mock, pages, npages);
 	if (!mock)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
index 546ef2121f44..cafe0b8e6bdd 100644
--- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
+++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
@@ -3934,7 +3934,7 @@ execlists_create_virtual(struct intel_engine_cs **siblings, unsigned int count,
 	unsigned int n;
 	int err;

-	ve = kzalloc_flex(*ve, siblings, count, GFP_KERNEL);
+	ve = kzalloc_flex(*ve, siblings, count);
 	if (!ve)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/gpu/drm/i915/gvt/kvmgt.c b/drivers/gpu/drm/i915/gvt/kvmgt.c
index 8cced31d1d96..ec62db5cc367 100644
--- a/drivers/gpu/drm/i915/gvt/kvmgt.c
+++ b/drivers/gpu/drm/i915/gvt/kvmgt.c
@@ -1183,7 +1183,7 @@ static int intel_vgpu_ioctl_get_region_info(struct vfio_device *vfio_dev,
 			      VFIO_REGION_INFO_FLAG_WRITE;
 		info->size = gvt_aperture_sz(vgpu->gvt);

-		sparse = kzalloc_flex(*sparse, areas, nr_areas, GFP_KERNEL);
+		sparse = kzalloc_flex(*sparse, areas, nr_areas);
 		if (!sparse)
 			return -ENOMEM;

diff --git a/drivers/gpu/drm/i915/i915_syncmap.c b/drivers/gpu/drm/i915/i915_syncmap.c
index ed18650d83fd..fbc3a13a4974 100644
--- a/drivers/gpu/drm/i915/i915_syncmap.c
+++ b/drivers/gpu/drm/i915/i915_syncmap.c
@@ -197,7 +197,7 @@ __sync_alloc_leaf(struct i915_syncmap *parent, u64 id)
 {
 	struct i915_syncmap *p;

-	p = kmalloc_flex(*p, seqno, KSYNCMAP, GFP_KERNEL);
+	p = kmalloc_flex(*p, seqno, KSYNCMAP);
 	if (unlikely(!p))
 		return NULL;

@@ -279,7 +279,7 @@ static noinline int __sync_set(struct i915_syncmap **root, u64 id, u32 seqno)
 			unsigned int above;

 			/* Insert a join above the current layer */
-			next = kzalloc_flex(*next, child, KSYNCMAP, GFP_KERNEL);
+			next = kzalloc_flex(*next, child, KSYNCMAP);
 			if (unlikely(!next))
 				return -ENOMEM;

diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c b/drivers/gpu/drm/i915/selftests/i915_request.c
index f2c304d70c17..ec973aebebf3 100644
--- a/drivers/gpu/drm/i915/selftests/i915_request.c
+++ b/drivers/gpu/drm/i915/selftests/i915_request.c
@@ -2841,7 +2841,7 @@ static int perf_series_engines(void *arg)
 	if (!stats)
 		return -ENOMEM;

-	ps = kzalloc_flex(*ps, ce, nengines, GFP_KERNEL);
+	ps = kzalloc_flex(*ps, ce, nengines);
 	if (!ps) {
 		kfree(stats);
 		return -ENOMEM;
diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c
index 72d7290a4394..aa5944607412 100644
--- a/drivers/gpu/drm/nouveau/nouveau_svm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_svm.c
@@ -900,7 +900,7 @@ nouveau_pfns_alloc(unsigned long npages)
 {
 	struct nouveau_pfnmap_args *args;

-	args = kzalloc_flex(*args, p.phys, npages, GFP_KERNEL);
+	args = kzalloc_flex(*args, p.phys, npages);
 	if (!args)
 		return NULL;

@@ -1063,7 +1063,7 @@ nouveau_svm_init(struct nouveau_drm *drm)
 	if (drm->client.device.info.family > NV_DEVICE_INFO_V0_PASCAL)
 		return;

-	drm->svm = svm = kzalloc_flex(*drm->svm, buffer, 1, GFP_KERNEL);
+	drm->svm = svm = kzalloc_flex(*drm->svm, buffer, 1);
 	if (!drm->svm)
 		return;

diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.c b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.c
index e7e0c381606c..a866602ad32a 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/fifo/chid.c
@@ -89,7 +89,7 @@ nvkm_chid_new(const struct nvkm_event_func *func, struct nvkm_subdev *subdev,
 	struct nvkm_chid *chid;
 	int id;

-	if (!(chid = *pchid = kzalloc_flex(*chid, used, nr, GFP_KERNEL)))
+	if (!(chid = *pchid = kzalloc_flex(*chid, used, nr)))
 		return -ENOMEM;

 	kref_init(&chid->kref);
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/engine.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/engine.c
index b1a2ebd94a45..2156cc414648 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/engine.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/engine.c
@@ -106,7 +106,7 @@ nvkm_rm_engine_ctor(void *(*dtor)(struct nvkm_engine *), struct nvkm_rm *rm,
 {
 	struct nvkm_engine_func *func;

-	func = kzalloc_flex(*func, sclass, nclass + 1, GFP_KERNEL);
+	func = kzalloc_flex(*func, sclass, nclass + 1);
 	if (!func)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/gr.c b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/gr.c
index a726f44583cb..6cc65e19528d 100644
--- a/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/gr.c
+++ b/drivers/gpu/drm/nouveau/nvkm/subdev/gsp/rm/gr.c
@@ -56,7 +56,7 @@ nvkm_rm_gr_new(struct nvkm_rm *rm)
 	struct nvkm_gr_func *func;
 	struct r535_gr *gr;

-	func = kzalloc_flex(*func, sclass, ARRAY_SIZE(classes) + 1, GFP_KERNEL);
+	func = kzalloc_flex(*func, sclass, ARRAY_SIZE(classes) + 1);
 	if (!func)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/ttm/ttm_range_manager.c b/drivers/gpu/drm/ttm/ttm_range_manager.c
index 616978b8d945..b818836f0726 100644
--- a/drivers/gpu/drm/ttm/ttm_range_manager.c
+++ b/drivers/gpu/drm/ttm/ttm_range_manager.c
@@ -73,7 +73,7 @@ static int ttm_range_man_alloc(struct ttm_resource_manager *man,
 	if (!lpfn)
 		lpfn = man->size;

-	node = kzalloc_flex(*node, mm_nodes, 1, GFP_KERNEL);
+	node = kzalloc_flex(*node, mm_nodes, 1);
 	if (!node)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/v3d/v3d_perfmon.c b/drivers/gpu/drm/v3d/v3d_perfmon.c
index b1bde69e4517..e3d7474854eb 100644
--- a/drivers/gpu/drm/v3d/v3d_perfmon.c
+++ b/drivers/gpu/drm/v3d/v3d_perfmon.c
@@ -353,7 +353,7 @@ int v3d_perfmon_create_ioctl(struct drm_device *dev, void *data,
 			return -EINVAL;
 	}

-	perfmon = kzalloc_flex(*perfmon, values, req->ncounters, GFP_KERNEL);
+	perfmon = kzalloc_flex(*perfmon, values, req->ncounters);
 	if (!perfmon)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/vc4/vc4_perfmon.c b/drivers/gpu/drm/vc4/vc4_perfmon.c
index 26e89e7054a0..eb5e1c936a01 100644
--- a/drivers/gpu/drm/vc4/vc4_perfmon.c
+++ b/drivers/gpu/drm/vc4/vc4_perfmon.c
@@ -172,7 +172,7 @@ int vc4_perfmon_create_ioctl(struct drm_device *dev, void *data,
 			return -EINVAL;
 	}

-	perfmon = kzalloc_flex(*perfmon, counters, req->ncounters, GFP_KERNEL);
+	perfmon = kzalloc_flex(*perfmon, counters, req->ncounters);
 	if (!perfmon)
 		return -ENOMEM;
 	perfmon->dev = vc4;
diff --git a/drivers/gpu/drm/virtio/virtgpu_gem.c b/drivers/gpu/drm/virtio/virtgpu_gem.c
index a2f462aeec25..f22dc5c21cd4 100644
--- a/drivers/gpu/drm/virtio/virtgpu_gem.c
+++ b/drivers/gpu/drm/virtio/virtgpu_gem.c
@@ -167,7 +167,7 @@ struct virtio_gpu_object_array *virtio_gpu_array_alloc(u32 nents)
 {
 	struct virtio_gpu_object_array *objs;

-	objs = kmalloc_flex(*objs, objs, nents, GFP_KERNEL);
+	objs = kmalloc_flex(*objs, objs, nents);
 	if (!objs)
 		return NULL;

diff --git a/drivers/gpu/drm/xe/xe_exec_queue.c b/drivers/gpu/drm/xe/xe_exec_queue.c
index c41e7cc13d8a..0ddae7fcfc97 100644
--- a/drivers/gpu/drm/xe/xe_exec_queue.c
+++ b/drivers/gpu/drm/xe/xe_exec_queue.c
@@ -208,7 +208,7 @@ static struct xe_exec_queue *__xe_exec_queue_alloc(struct xe_device *xe,
 	/* only kernel queues can be permanent */
 	XE_WARN_ON((flags & EXEC_QUEUE_FLAG_PERMANENT) && !(flags & EXEC_QUEUE_FLAG_KERNEL));

-	q = kzalloc_flex(*q, lrc, width, GFP_KERNEL);
+	q = kzalloc_flex(*q, lrc, width);
 	if (!q)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
index 8f45a1e72e1c..ffa27f66bba7 100644
--- a/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
+++ b/drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
@@ -710,7 +710,7 @@ static int config_blob_open(struct inode *inode, struct file *file)
 	if (ret < 0)
 		return ret;

-	cbd = kzalloc_flex(*cbd, blob, ret, GFP_KERNEL);
+	cbd = kzalloc_flex(*cbd, blob, ret);
 	if (!cbd)
 		return -ENOMEM;

diff --git a/drivers/gpu/drm/xe/xe_lmtt.c b/drivers/gpu/drm/xe/xe_lmtt.c
index 0cff46a0f1f6..8163c3a8fc87 100644
--- a/drivers/gpu/drm/xe/xe_lmtt.c
+++ b/drivers/gpu/drm/xe/xe_lmtt.c
@@ -64,7 +64,7 @@ static struct xe_lmtt_pt *lmtt_pt_alloc(struct xe_lmtt *lmtt, unsigned int level
 	struct xe_bo *bo;
 	int err;

-	pt = kzalloc_flex(*pt, entries, num_entries, GFP_KERNEL);
+	pt = kzalloc_flex(*pt, entries, num_entries);
 	if (!pt) {
 		err = -ENOMEM;
 		goto out;
diff --git a/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c b/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
index 18d58ad574cf..9d77ba605aec 100644
--- a/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
+++ b/drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
@@ -33,7 +33,7 @@ static int xe_ttm_sys_mgr_new(struct ttm_resource_manager *man,
 	struct xe_ttm_sys_node *node;
 	int r;

-	node = kzalloc_flex(*node, base.mm_nodes, 1, GFP_KERNEL);
+	node = kzalloc_flex(*node, base.mm_nodes, 1);
 	if (!node)
 		return -ENOMEM;

diff --git a/drivers/greybus/module.c b/drivers/greybus/module.c
index 1f68516716be..709da8ef5071 100644
--- a/drivers/greybus/module.c
+++ b/drivers/greybus/module.c
@@ -93,7 +93,7 @@ struct gb_module *gb_module_create(struct gb_host_device *hd, u8 module_id,
 	struct gb_module *module;
 	int i;

-	module = kzalloc_flex(*module, interfaces, num_interfaces, GFP_KERNEL);
+	module = kzalloc_flex(*module, interfaces, num_interfaces);
 	if (!module)
 		return NULL;

diff --git a/drivers/hte/hte.c b/drivers/hte/hte.c
index 34f40ed46242..fd0f29038a5f 100644
--- a/drivers/hte/hte.c
+++ b/drivers/hte/hte.c
@@ -850,7 +850,7 @@ static int hte_register_chip(struct hte_chip *chip)
 		return -EINVAL;
 	}

-	gdev = kzalloc_flex(*gdev, ei, chip->nlines, GFP_KERNEL);
+	gdev = kzalloc_flex(*gdev, ei, chip->nlines);
 	if (!gdev)
 		return -ENOMEM;

diff --git a/drivers/i2c/i2c-atr.c b/drivers/i2c/i2c-atr.c
index ea6bfa67b518..f9fcb4793aaf 100644
--- a/drivers/i2c/i2c-atr.c
+++ b/drivers/i2c/i2c-atr.c
@@ -724,7 +724,7 @@ struct i2c_atr *i2c_atr_new(struct i2c_adapter *parent, struct device *dev,
 	if (!ops || !ops->attach_addr || !ops->detach_addr)
 		return ERR_PTR(-EINVAL);

-	atr = kzalloc_flex(*atr, adapter, max_adapters, GFP_KERNEL);
+	atr = kzalloc_flex(*atr, adapter, max_adapters);
 	if (!atr)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/i3c/master/adi-i3c-master.c b/drivers/i3c/master/adi-i3c-master.c
index 7894723b8399..6616f751075a 100644
--- a/drivers/i3c/master/adi-i3c-master.c
+++ b/drivers/i3c/master/adi-i3c-master.c
@@ -187,7 +187,7 @@ static struct adi_i3c_xfer *adi_i3c_master_alloc_xfer(struct adi_i3c_master *mas
 {
 	struct adi_i3c_xfer *xfer;

-	xfer = kzalloc_flex(*xfer, cmds, ncmds, GFP_KERNEL);
+	xfer = kzalloc_flex(*xfer, cmds, ncmds);
 	if (!xfer)
 		return NULL;

diff --git a/drivers/i3c/master/dw-i3c-master.c b/drivers/i3c/master/dw-i3c-master.c
index 28c9e37f9b0d..d87bde3f7700 100644
--- a/drivers/i3c/master/dw-i3c-master.c
+++ b/drivers/i3c/master/dw-i3c-master.c
@@ -382,7 +382,7 @@ dw_i3c_master_alloc_xfer(struct dw_i3c_master *master, unsigned int ncmds)
 {
 	struct dw_i3c_xfer *xfer;

-	xfer = kzalloc_flex(*xfer, cmds, ncmds, GFP_KERNEL);
+	xfer = kzalloc_flex(*xfer, cmds, ncmds);
 	if (!xfer)
 		return NULL;

diff --git a/drivers/i3c/master/i3c-master-cdns.c b/drivers/i3c/master/i3c-master-cdns.c
index e806ae292aee..b78aebf6b2ca 100644
--- a/drivers/i3c/master/i3c-master-cdns.c
+++ b/drivers/i3c/master/i3c-master-cdns.c
@@ -498,7 +498,7 @@ cdns_i3c_master_alloc_xfer(struct cdns_i3c_master *master, unsigned int ncmds)
 {
 	struct cdns_i3c_xfer *xfer;

-	xfer = kzalloc_flex(*xfer, cmds, ncmds, GFP_KERNEL);
+	xfer = kzalloc_flex(*xfer, cmds, ncmds);
 	if (!xfer)
 		return NULL;

diff --git a/drivers/i3c/master/mipi-i3c-hci/dma.c b/drivers/i3c/master/mipi-i3c-hci/dma.c
index e55455369eaa..d422983f0ee4 100644
--- a/drivers/i3c/master/mipi-i3c-hci/dma.c
+++ b/drivers/i3c/master/mipi-i3c-hci/dma.c
@@ -328,7 +328,7 @@ static int hci_dma_init(struct i3c_hci *hci)
 	}
 	if (nr_rings > XFER_RINGS)
 		nr_rings = XFER_RINGS;
-	rings = kzalloc_flex(*rings, headers, nr_rings, GFP_KERNEL);
+	rings = kzalloc_flex(*rings, headers, nr_rings);
 	if (!rings)
 		return -ENOMEM;
 	hci->io_data = rings;
diff --git a/drivers/i3c/master/renesas-i3c.c b/drivers/i3c/master/renesas-i3c.c
index d7ab232586c7..d9f5b30a4b2f 100644
--- a/drivers/i3c/master/renesas-i3c.c
+++ b/drivers/i3c/master/renesas-i3c.c
@@ -345,7 +345,7 @@ static struct renesas_i3c_xfer *renesas_i3c_alloc_xfer(struct renesas_i3c *i3c,
 {
 	struct renesas_i3c_xfer *xfer;

-	xfer = kzalloc_flex(*xfer, cmds, ncmds, GFP_KERNEL);
+	xfer = kzalloc_flex(*xfer, cmds, ncmds);
 	if (!xfer)
 		return NULL;

diff --git a/drivers/i3c/master/svc-i3c-master.c b/drivers/i3c/master/svc-i3c-master.c
index b849bc1d5d4c..b84b324e4111 100644
--- a/drivers/i3c/master/svc-i3c-master.c
+++ b/drivers/i3c/master/svc-i3c-master.c
@@ -1504,7 +1504,7 @@ svc_i3c_master_alloc_xfer(struct svc_i3c_master *master, unsigned int ncmds)
 {
 	struct svc_i3c_xfer *xfer;

-	xfer = kzalloc_flex(*xfer, cmds, ncmds, GFP_KERNEL);
+	xfer = kzalloc_flex(*xfer, cmds, ncmds);
 	if (!xfer)
 		return NULL;

diff --git a/drivers/iio/buffer/industrialio-hw-consumer.c b/drivers/iio/buffer/industrialio-hw-consumer.c
index 51e3b360584f..cb771ef8eeb3 100644
--- a/drivers/iio/buffer/industrialio-hw-consumer.c
+++ b/drivers/iio/buffer/industrialio-hw-consumer.c
@@ -60,7 +60,7 @@ static struct hw_consumer_buffer *iio_hw_consumer_get_buffer(
 			return buf;
 	}

-	buf = kzalloc_flex(*buf, scan_mask, mask_longs, GFP_KERNEL);
+	buf = kzalloc_flex(*buf, scan_mask, mask_longs);
 	if (!buf)
 		return NULL;

diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c
index 9cc26c9d1e47..e65acf97e02f 100644
--- a/drivers/infiniband/core/cm.c
+++ b/drivers/infiniband/core/cm.c
@@ -4050,7 +4050,7 @@ static void cm_recv_handler(struct ib_mad_agent *mad_agent,
 	attr_id = be16_to_cpu(mad_recv_wc->recv_buf.mad->mad_hdr.attr_id);
 	atomic_long_inc(&port->counters[CM_RECV][attr_id - CM_ATTR_ID_OFFSET]);

-	work = kmalloc_flex(*work, path, paths, GFP_KERNEL);
+	work = kmalloc_flex(*work, path, paths);
 	if (!work) {
 		ib_free_recv_mad(mad_recv_wc);
 		return;
diff --git a/drivers/infiniband/core/multicast.c b/drivers/infiniband/core/multicast.c
index ad2f009886d8..bea7df3dd8f3 100644
--- a/drivers/infiniband/core/multicast.c
+++ b/drivers/infiniband/core/multicast.c
@@ -823,7 +823,7 @@ static int mcast_add_one(struct ib_device *device)
 	int i;
 	int count = 0;

-	dev = kmalloc_flex(*dev, port, device->phys_port_cnt, GFP_KERNEL);
+	dev = kmalloc_flex(*dev, port, device->phys_port_cnt);
 	if (!dev)
 		return -ENOMEM;

diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index 9b3d7088e3e1..575b4a4b200b 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -3205,7 +3205,7 @@ struct rdma_hw_stats *rdma_alloc_hw_stats_struct(
 {
 	struct rdma_hw_stats *stats;

-	stats = kzalloc_flex(*stats, value, num_counters, GFP_KERNEL);
+	stats = kzalloc_flex(*stats, value, num_counters);
 	if (!stats)
 		return NULL;

diff --git a/drivers/infiniband/hw/hfi1/user_exp_rcv.c b/drivers/infiniband/hw/hfi1/user_exp_rcv.c
index 95611f725257..67ed1542aa8a 100644
--- a/drivers/infiniband/hw/hfi1/user_exp_rcv.c
+++ b/drivers/infiniband/hw/hfi1/user_exp_rcv.c
@@ -735,7 +735,7 @@ static int set_rcvarray_entry(struct hfi1_filedata *fd,
 	 * Allocate the node first so we can handle a potential
 	 * failure before we've programmed anything.
 	 */
-	node = kzalloc_flex(*node, pages, npages, GFP_KERNEL);
+	node = kzalloc_flex(*node, pages, npages);
 	if (!node)
 		return -ENOMEM;

diff --git a/drivers/infiniband/hw/mlx5/odp.c b/drivers/infiniband/hw/mlx5/odp.c
index 090a05743e09..4c1dea4fd526 100644
--- a/drivers/infiniband/hw/mlx5/odp.c
+++ b/drivers/infiniband/hw/mlx5/odp.c
@@ -2097,7 +2097,7 @@ int mlx5_ib_advise_mr_prefetch(struct ib_pd *pd,
 		return mlx5_ib_prefetch_sg_list(pd, advice, pf_flags, sg_list,
 						num_sge);

-	work = kvzalloc_flex(*work, frags, num_sge, GFP_KERNEL);
+	work = kvzalloc_flex(*work, frags, num_sge);
 	if (!work)
 		return -ENOMEM;

diff --git a/drivers/infiniband/hw/mthca/mthca_memfree.c b/drivers/infiniband/hw/mthca/mthca_memfree.c
index 6f4455f123b1..e4380d7f2327 100644
--- a/drivers/infiniband/hw/mthca/mthca_memfree.c
+++ b/drivers/infiniband/hw/mthca/mthca_memfree.c
@@ -367,7 +367,7 @@ struct mthca_icm_table *mthca_alloc_icm_table(struct mthca_dev *dev,
 	obj_per_chunk = MTHCA_TABLE_CHUNK_SIZE / obj_size;
 	num_icm = DIV_ROUND_UP(nobj, obj_per_chunk);

-	table = kmalloc_flex(*table, icm, num_icm, GFP_KERNEL);
+	table = kmalloc_flex(*table, icm, num_icm);
 	if (!table)
 		return NULL;

@@ -532,7 +532,7 @@ struct mthca_user_db_table *mthca_init_user_db_tab(struct mthca_dev *dev)
 		return NULL;

 	npages = dev->uar_table.uarc_size / MTHCA_ICM_PAGE_SIZE;
-	db_tab = kmalloc_flex(*db_tab, page, npages, GFP_KERNEL);
+	db_tab = kmalloc_flex(*db_tab, page, npages);
 	if (!db_tab)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/infiniband/sw/rdmavt/mr.c b/drivers/infiniband/sw/rdmavt/mr.c
index add3dde9488f..15f1ff917d6c 100644
--- a/drivers/infiniband/sw/rdmavt/mr.c
+++ b/drivers/infiniband/sw/rdmavt/mr.c
@@ -242,7 +242,7 @@ static struct rvt_mr *__rvt_alloc_mr(int count, struct ib_pd *pd)

 	/* Allocate struct plus pointers to first level page tables. */
 	m = (count + RVT_SEGSZ - 1) / RVT_SEGSZ;
-	mr = kzalloc_flex(*mr, mr.map, m, GFP_KERNEL);
+	mr = kzalloc_flex(*mr, mr.map, m);
 	if (!mr)
 		goto bail;

diff --git a/drivers/infiniband/sw/rxe/rxe_odp.c b/drivers/infiniband/sw/rxe/rxe_odp.c
index 81b7d5cc8313..bc11b1ec59ac 100644
--- a/drivers/infiniband/sw/rxe/rxe_odp.c
+++ b/drivers/infiniband/sw/rxe/rxe_odp.c
@@ -523,7 +523,7 @@ static int rxe_ib_advise_mr_prefetch(struct ib_pd *ibpd,
 					       num_sge);

 	/* Asynchronous call is "best-effort" and allowed to fail */
-	work = kvzalloc_flex(*work, frags, num_sge, GFP_KERNEL);
+	work = kvzalloc_flex(*work, frags, num_sge);
 	if (!work)
 		return -ENOMEM;

diff --git a/drivers/infiniband/sw/siw/siw_mem.c b/drivers/infiniband/sw/siw/siw_mem.c
index acb8b7a17687..98c802b3ed72 100644
--- a/drivers/infiniband/sw/siw/siw_mem.c
+++ b/drivers/infiniband/sw/siw/siw_mem.c
@@ -321,7 +321,7 @@ struct siw_pbl *siw_pbl_alloc(u32 num_buf)
 	if (num_buf == 0)
 		return ERR_PTR(-EINVAL);

-	pbl = kzalloc_flex(*pbl, pbe, num_buf, GFP_KERNEL);
+	pbl = kzalloc_flex(*pbl, pbe, num_buf);
 	if (!pbl)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index 7e69c0d1bf60..30339dcabb4d 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -418,7 +418,7 @@ static struct srp_fr_pool *srp_create_fr_pool(struct ib_device *device,
 	if (pool_size <= 0)
 		goto err;
 	ret = -ENOMEM;
-	pool = kzalloc_flex(*pool, desc, pool_size, GFP_KERNEL);
+	pool = kzalloc_flex(*pool, desc, pool_size);
 	if (!pool)
 		goto err;
 	pool->size = pool_size;
diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c b/drivers/infiniband/ulp/srpt/ib_srpt.c
index e67f293c40f9..d90d288b0cad 100644
--- a/drivers/infiniband/ulp/srpt/ib_srpt.c
+++ b/drivers/infiniband/ulp/srpt/ib_srpt.c
@@ -3210,7 +3210,7 @@ static int srpt_add_one(struct ib_device *device)

 	pr_debug("device = %p\n", device);

-	sdev = kzalloc_flex(*sdev, port, device->phys_port_cnt, GFP_KERNEL);
+	sdev = kzalloc_flex(*sdev, port, device->phys_port_cnt);
 	if (!sdev)
 		return -ENOMEM;

diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index 77360def61be..c7325226cb86 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -465,7 +465,7 @@ static int evdev_open(struct inode *inode, struct file *file)
 	struct evdev_client *client;
 	int error;

-	client = kvzalloc_flex(*client, buffer, bufsize, GFP_KERNEL);
+	client = kvzalloc_flex(*client, buffer, bufsize);
 	if (!client)
 		return -ENOMEM;

diff --git a/drivers/input/ff-core.c b/drivers/input/ff-core.c
index 17061fb2f5b8..0e5d1d1ceb46 100644
--- a/drivers/input/ff-core.c
+++ b/drivers/input/ff-core.c
@@ -303,7 +303,7 @@ int input_ff_create(struct input_dev *dev, unsigned int max_effects)
 	}

 	struct ff_device *ff __free(kfree) =
-		kzalloc_flex(*ff, effect_owners, max_effects, GFP_KERNEL);
+		kzalloc_flex(*ff, effect_owners, max_effects);
 	if (!ff)
 		return -ENOMEM;

diff --git a/drivers/input/input-leds.c b/drivers/input/input-leds.c
index f0fa83ab9339..b08d1d08d0b4 100644
--- a/drivers/input/input-leds.c
+++ b/drivers/input/input-leds.c
@@ -101,7 +101,7 @@ static int input_leds_connect(struct input_handler *handler,
 	if (!num_leds)
 		return -ENXIO;

-	leds = kzalloc_flex(*leds, leds, num_leds, GFP_KERNEL);
+	leds = kzalloc_flex(*leds, leds, num_leds);
 	if (!leds)
 		return -ENOMEM;

diff --git a/drivers/input/input-mt.c b/drivers/input/input-mt.c
index ad6b1d4242ed..c06e98fbd77c 100644
--- a/drivers/input/input-mt.c
+++ b/drivers/input/input-mt.c
@@ -50,7 +50,7 @@ int input_mt_init_slots(struct input_dev *dev, unsigned int num_slots,
 		return -EINVAL;

 	struct input_mt *mt __free(kfree) =
-			kzalloc_flex(*mt, slots, num_slots, GFP_KERNEL);
+			kzalloc_flex(*mt, slots, num_slots);
 	if (!mt)
 		return -ENOMEM;

diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c
index 8fd909407ec8..589f51d430c7 100644
--- a/drivers/input/keyboard/omap-keypad.c
+++ b/drivers/input/keyboard/omap-keypad.c
@@ -193,7 +193,7 @@ static int omap_kp_probe(struct platform_device *pdev)
 	row_shift = get_count_order(pdata->cols);
 	keycodemax = pdata->rows << row_shift;

-	omap_kp = kzalloc_flex(*omap_kp, keymap, keycodemax, GFP_KERNEL);
+	omap_kp = kzalloc_flex(*omap_kp, keymap, keycodemax);
 	input_dev = input_allocate_device();
 	if (!omap_kp || !input_dev) {
 		kfree(omap_kp);
diff --git a/drivers/interconnect/core.c b/drivers/interconnect/core.c
index fde208ebe685..8569b78a1851 100644
--- a/drivers/interconnect/core.c
+++ b/drivers/interconnect/core.c
@@ -172,7 +172,7 @@ static struct icc_path *path_init(struct device *dev, struct icc_node *dst,
 	struct icc_path *path;
 	int i;

-	path = kzalloc_flex(*path, reqs, num_nodes, GFP_KERNEL);
+	path = kzalloc_flex(*path, reqs, num_nodes);
 	if (!path)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 42383121657b..35db51780954 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -3010,7 +3010,7 @@ int iommu_fwspec_init(struct device *dev, struct fwnode_handle *iommu_fwnode)
 		return -ENOMEM;

 	/* Preallocate for the overwhelmingly common case of 1 ID */
-	fwspec = kzalloc_flex(*fwspec, ids, 1, GFP_KERNEL);
+	fwspec = kzalloc_flex(*fwspec, ids, 1);
 	if (!fwspec)
 		return -ENOMEM;

diff --git a/drivers/md/dm-bio-prison-v1.c b/drivers/md/dm-bio-prison-v1.c
index 29b916c05082..4d1464dae5eb 100644
--- a/drivers/md/dm-bio-prison-v1.c
+++ b/drivers/md/dm-bio-prison-v1.c
@@ -44,7 +44,7 @@ struct dm_bio_prison *dm_bio_prison_create(void)
 	struct dm_bio_prison *prison;

 	num_locks = dm_num_hash_locks();
-	prison = kzalloc_flex(*prison, regions, num_locks, GFP_KERNEL);
+	prison = kzalloc_flex(*prison, regions, num_locks);
 	if (!prison)
 		return NULL;
 	prison->num_locks = num_locks;
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c
index 9a17b3b603d1..00d36d4aca52 100644
--- a/drivers/md/dm-crypt.c
+++ b/drivers/md/dm-crypt.c
@@ -3237,7 +3237,7 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 		return -EINVAL;
 	}

-	cc = kzalloc_flex(*cc, key, key_size, GFP_KERNEL);
+	cc = kzalloc_flex(*cc, key, key_size);
 	if (!cc) {
 		ti->error = "Cannot allocate encryption context";
 		return -ENOMEM;
diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c
index 939d403fda30..c5dc083c7244 100644
--- a/drivers/md/dm-raid.c
+++ b/drivers/md/dm-raid.c
@@ -744,7 +744,7 @@ static struct raid_set *raid_set_alloc(struct dm_target *ti, struct raid_type *r
 		return ERR_PTR(-EINVAL);
 	}

-	rs = kzalloc_flex(*rs, dev, raid_devs, GFP_KERNEL);
+	rs = kzalloc_flex(*rs, dev, raid_devs);
 	if (!rs) {
 		ti->error = "Cannot allocate raid context";
 		return ERR_PTR(-ENOMEM);
diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c
index 9fb2182ef287..80a5c4127707 100644
--- a/drivers/md/dm-raid1.c
+++ b/drivers/md/dm-raid1.c
@@ -890,7 +890,7 @@ static struct mirror_set *alloc_context(unsigned int nr_mirrors,
 					struct dm_dirty_log *dl)
 {
 	struct mirror_set *ms =
-		kzalloc_flex(*ms, mirror, nr_mirrors, GFP_KERNEL);
+		kzalloc_flex(*ms, mirror, nr_mirrors);

 	if (!ms) {
 		ti->error = "Cannot allocate mirror context";
diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c
index e06bb1f7518e..750865fd3ae7 100644
--- a/drivers/md/dm-stripe.c
+++ b/drivers/md/dm-stripe.c
@@ -129,7 +129,7 @@ static int stripe_ctr(struct dm_target *ti, unsigned int argc, char **argv)
 		return -EINVAL;
 	}

-	sc = kmalloc_flex(*sc, stripe, stripes, GFP_KERNEL);
+	sc = kmalloc_flex(*sc, stripe, stripes);
 	if (!sc) {
 		ti->error = "Memory allocation for striped context failed";
 		return -ENOMEM;
diff --git a/drivers/md/dm-switch.c b/drivers/md/dm-switch.c
index 00dffd4a9ea8..5952f02de1e6 100644
--- a/drivers/md/dm-switch.c
+++ b/drivers/md/dm-switch.c
@@ -62,7 +62,7 @@ static struct switch_ctx *alloc_switch_ctx(struct dm_target *ti, unsigned int nr
 {
 	struct switch_ctx *sctx;

-	sctx = kzalloc_flex(*sctx, path_list, nr_paths, GFP_KERNEL);
+	sctx = kzalloc_flex(*sctx, path_list, nr_paths);
 	if (!sctx)
 		return NULL;

diff --git a/drivers/md/md-linear.c b/drivers/md/md-linear.c
index beeb88274da4..fdff250d0d51 100644
--- a/drivers/md/md-linear.c
+++ b/drivers/md/md-linear.c
@@ -92,7 +92,7 @@ static struct linear_conf *linear_conf(struct mddev *mddev, int raid_disks)
 	int cnt;
 	int i;

-	conf = kzalloc_flex(*conf, disks, raid_disks, GFP_KERNEL);
+	conf = kzalloc_flex(*conf, disks, raid_disks);
 	if (!conf)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/media/platform/nvidia/tegra-vde/v4l2.c b/drivers/media/platform/nvidia/tegra-vde/v4l2.c
index d877802352d3..f2ca1c7ed9ba 100644
--- a/drivers/media/platform/nvidia/tegra-vde/v4l2.c
+++ b/drivers/media/platform/nvidia/tegra-vde/v4l2.c
@@ -811,7 +811,7 @@ static int tegra_open(struct file *file)
 	struct tegra_ctx *ctx;
 	int err;

-	ctx = kzalloc_flex(*ctx, ctrls, ARRAY_SIZE(ctrl_cfgs), GFP_KERNEL);
+	ctx = kzalloc_flex(*ctx, ctrls, ARRAY_SIZE(ctrl_cfgs));
 	if (!ctx)
 		return -ENOMEM;

diff --git a/drivers/media/v4l2-core/v4l2-event.c b/drivers/media/v4l2-core/v4l2-event.c
index b92561fb65d4..9dd2aaa95a67 100644
--- a/drivers/media/v4l2-core/v4l2-event.c
+++ b/drivers/media/v4l2-core/v4l2-event.c
@@ -235,7 +235,7 @@ int v4l2_event_subscribe(struct v4l2_fh *fh,
 	if (elems < 1)
 		elems = 1;

-	sev = kvzalloc_flex(*sev, events, elems, GFP_KERNEL);
+	sev = kvzalloc_flex(*sev, events, elems);
 	if (!sev)
 		return -ENOMEM;
 	sev->elems = elems;
diff --git a/drivers/memstick/host/jmb38x_ms.c b/drivers/memstick/host/jmb38x_ms.c
index 122300b89279..d93ba5e8662c 100644
--- a/drivers/memstick/host/jmb38x_ms.c
+++ b/drivers/memstick/host/jmb38x_ms.c
@@ -926,7 +926,7 @@ static int jmb38x_ms_probe(struct pci_dev *pdev,
 		goto err_out_int;
 	}

-	jm = kzalloc_flex(*jm, hosts, cnt, GFP_KERNEL);
+	jm = kzalloc_flex(*jm, hosts, cnt);
 	if (!jm) {
 		rc = -ENOMEM;
 		goto err_out_int;
diff --git a/drivers/misc/bcm-vk/bcm_vk_msg.c b/drivers/misc/bcm-vk/bcm_vk_msg.c
index 8537c76e2541..3916ec07ecad 100644
--- a/drivers/misc/bcm-vk/bcm_vk_msg.c
+++ b/drivers/misc/bcm-vk/bcm_vk_msg.c
@@ -700,7 +700,7 @@ int bcm_vk_send_shutdown_msg(struct bcm_vk *vk, u32 shut_type,
 		return -EINVAL;
 	}

-	entry = kzalloc_flex(*entry, to_v_msg, 1, GFP_KERNEL);
+	entry = kzalloc_flex(*entry, to_v_msg, 1);
 	if (!entry)
 		return -ENOMEM;
 	entry->to_v_blks = 1;	/* always 1 block */
diff --git a/drivers/misc/enclosure.c b/drivers/misc/enclosure.c
index 7c2964762ef0..cf6382981777 100644
--- a/drivers/misc/enclosure.c
+++ b/drivers/misc/enclosure.c
@@ -117,7 +117,7 @@ enclosure_register(struct device *dev, const char *name, int components,
 		   struct enclosure_component_callbacks *cb)
 {
 	struct enclosure_device *edev =
-		kzalloc_flex(*edev, component, components, GFP_KERNEL);
+		kzalloc_flex(*edev, component, components);
 	int err, i;

 	BUG_ON(!cb);
diff --git a/drivers/misc/lkdtm/bugs.c b/drivers/misc/lkdtm/bugs.c
index 6b39ee357cef..e0098f314570 100644
--- a/drivers/misc/lkdtm/bugs.c
+++ b/drivers/misc/lkdtm/bugs.c
@@ -477,7 +477,7 @@ static void lkdtm_FAM_BOUNDS(void)
 {
 	struct lkdtm_cb_fam *inst;

-	inst = kzalloc_flex(*inst, array, element_count + 1, GFP_KERNEL);
+	inst = kzalloc_flex(*inst, array, element_count + 1);
 	if (!inst) {
 		pr_err("FAIL: could not allocate test struct!\n");
 		return;
diff --git a/drivers/misc/ntsync.c b/drivers/misc/ntsync.c
index ce217b1c3fdd..30af282262ef 100644
--- a/drivers/misc/ntsync.c
+++ b/drivers/misc/ntsync.c
@@ -884,7 +884,7 @@ static int setup_wait(struct ntsync_device *dev,
 	if (args->alert)
 		fds[count] = args->alert;

-	q = kmalloc_flex(*q, entries, total_count, GFP_KERNEL);
+	q = kmalloc_flex(*q, entries, total_count);
 	if (!q)
 		return -ENOMEM;
 	q->task = current;
diff --git a/drivers/misc/tifm_core.c b/drivers/misc/tifm_core.c
index 1a49483297a9..da0827724a61 100644
--- a/drivers/misc/tifm_core.c
+++ b/drivers/misc/tifm_core.c
@@ -176,7 +176,7 @@ struct tifm_adapter *tifm_alloc_adapter(unsigned int num_sockets,
 {
 	struct tifm_adapter *fm;

-	fm = kzalloc_flex(*fm, sockets, num_sockets, GFP_KERNEL);
+	fm = kzalloc_flex(*fm, sockets, num_sockets);
 	if (fm) {
 		fm->dev.class = &tifm_adapter_class;
 		fm->dev.parent = dev;
diff --git a/drivers/mtd/chips/cfi_cmdset_0001.c b/drivers/mtd/chips/cfi_cmdset_0001.c
index 277a03924b2f..e2e21d66eba5 100644
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -776,7 +776,7 @@ static int cfi_intelext_partition_fixup(struct mtd_info *mtd,
 		}

 		numvirtchips = cfi->numchips * numparts;
-		newcfi = kmalloc_flex(*newcfi, chips, numvirtchips, GFP_KERNEL);
+		newcfi = kmalloc_flex(*newcfi, chips, numvirtchips);
 		if (!newcfi)
 			return -ENOMEM;
 		shared = kmalloc_objs(struct flchip_shared, cfi->numchips,
diff --git a/drivers/mtd/chips/gen_probe.c b/drivers/mtd/chips/gen_probe.c
index ebf653ba8f6a..433194a76e2a 100644
--- a/drivers/mtd/chips/gen_probe.c
+++ b/drivers/mtd/chips/gen_probe.c
@@ -134,7 +134,7 @@ static struct cfi_private *genprobe_ident_chips(struct map_info *map, struct chi
 	 * our caller, and copy the appropriate data into them.
 	 */

-	retcfi = kmalloc_flex(*retcfi, chips, cfi.numchips, GFP_KERNEL);
+	retcfi = kmalloc_flex(*retcfi, chips, cfi.numchips);

 	if (!retcfi) {
 		kfree(cfi.cfiq);
diff --git a/drivers/mtd/devices/mtd_intel_dg.c b/drivers/mtd/devices/mtd_intel_dg.c
index c4c736ead0e5..f2fa8f68d190 100644
--- a/drivers/mtd/devices/mtd_intel_dg.c
+++ b/drivers/mtd/devices/mtd_intel_dg.c
@@ -764,7 +764,7 @@ static int intel_dg_mtd_probe(struct auxiliary_device *aux_dev,
 		return -ENODEV;
 	}

-	nvm = kzalloc_flex(*nvm, regions, nregions, GFP_KERNEL);
+	nvm = kzalloc_flex(*nvm, regions, nregions);
 	if (!nvm)
 		return -ENOMEM;

diff --git a/drivers/mtd/lpddr/qinfo_probe.c b/drivers/mtd/lpddr/qinfo_probe.c
index de05fe31754a..f041913a7112 100644
--- a/drivers/mtd/lpddr/qinfo_probe.c
+++ b/drivers/mtd/lpddr/qinfo_probe.c
@@ -167,7 +167,7 @@ static struct lpddr_private *lpddr_probe_chip(struct map_info *map)
 	lpddr.numchips = 1;

 	numvirtchips = lpddr.numchips * lpddr.qinfo->HWPartsNum;
-	retlpddr = kzalloc_flex(*retlpddr, chips, numvirtchips, GFP_KERNEL);
+	retlpddr = kzalloc_flex(*retlpddr, chips, numvirtchips);
 	if (!retlpddr)
 		return NULL;

diff --git a/drivers/mtd/maps/sa1100-flash.c b/drivers/mtd/maps/sa1100-flash.c
index 8a1a0f0365ca..4506b27a905e 100644
--- a/drivers/mtd/maps/sa1100-flash.c
+++ b/drivers/mtd/maps/sa1100-flash.c
@@ -170,7 +170,7 @@ static struct sa_info *sa1100_setup_mtd(struct platform_device *pdev,
 	/*
 	 * Allocate the map_info structs in one go.
 	 */
-	info = kzalloc_flex(*info, subdev, nr, GFP_KERNEL);
+	info = kzalloc_flex(*info, subdev, nr);
 	if (!info) {
 		ret = -ENOMEM;
 		goto out;
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c
index c9bf8ec00a36..93b7f38f59a8 100644
--- a/drivers/net/bonding/bond_main.c
+++ b/drivers/net/bonding/bond_main.c
@@ -5099,7 +5099,7 @@ int bond_update_slave_arr(struct bonding *bond, struct slave *skipslave)

 	usable_slaves = kzalloc_flex(*usable_slaves, arr, bond->slave_cnt,
 				     GFP_KERNEL);
-	all_slaves = kzalloc_flex(*all_slaves, arr, bond->slave_cnt, GFP_KERNEL);
+	all_slaves = kzalloc_flex(*all_slaves, arr, bond->slave_cnt);
 	if (!usable_slaves || !all_slaves) {
 		ret = -ENOMEM;
 		goto out;
diff --git a/drivers/net/can/usb/gs_usb.c b/drivers/net/can/usb/gs_usb.c
index 95de036c4410..9d27d6f0c0b5 100644
--- a/drivers/net/can/usb/gs_usb.c
+++ b/drivers/net/can/usb/gs_usb.c
@@ -1560,7 +1560,7 @@ static int gs_usb_probe(struct usb_interface *intf,
 		return -EINVAL;
 	}

-	parent = kzalloc_flex(*parent, canch, icount, GFP_KERNEL);
+	parent = kzalloc_flex(*parent, canch, icount);
 	if (!parent)
 		return -ENOMEM;

diff --git a/drivers/net/dsa/sja1105/sja1105_tas.c b/drivers/net/dsa/sja1105/sja1105_tas.c
index a3090c70b428..e47967b12d5d 100644
--- a/drivers/net/dsa/sja1105/sja1105_tas.c
+++ b/drivers/net/dsa/sja1105/sja1105_tas.c
@@ -477,7 +477,7 @@ bool sja1105_gating_check_conflicts(struct sja1105_private *priv, int port,
 	if (list_empty(&gating_cfg->entries))
 		return false;

-	dummy = kzalloc_flex(*dummy, entries, num_entries, GFP_KERNEL);
+	dummy = kzalloc_flex(*dummy, entries, num_entries);
 	if (!dummy) {
 		NL_SET_ERR_MSG_MOD(extack, "Failed to allocate memory");
 		return true;
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
index 818481f7a3ea..f13dfceb065c 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c
@@ -1654,7 +1654,7 @@ static int bnx2x_vf_mbx_macvlan_list(struct bnx2x *bp,
 	int i, j;
 	struct bnx2x_vf_mac_vlan_filters *fl = NULL;

-	fl = kzalloc_flex(*fl, filters, tlv->n_mac_vlan_filters, GFP_KERNEL);
+	fl = kzalloc_flex(*fl, filters, tlv->n_mac_vlan_filters);
 	if (!fl)
 		return -ENOMEM;

diff --git a/drivers/net/ethernet/chelsio/cxgb3/l2t.c b/drivers/net/ethernet/chelsio/cxgb3/l2t.c
index 6bcb952fe832..e27c6ff67cbd 100644
--- a/drivers/net/ethernet/chelsio/cxgb3/l2t.c
+++ b/drivers/net/ethernet/chelsio/cxgb3/l2t.c
@@ -408,7 +408,7 @@ struct l2t_data *t3_init_l2t(unsigned int l2t_capacity)
 	struct l2t_data *d;
 	int i;

-	d = kvzalloc_flex(*d, l2tab, l2t_capacity, GFP_KERNEL);
+	d = kvzalloc_flex(*d, l2tab, l2t_capacity);
 	if (!d)
 		return NULL;

diff --git a/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c b/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
index 0549265807a1..6954c15d2b82 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c
@@ -287,7 +287,7 @@ struct clip_tbl *t4_init_clip_tbl(unsigned int clipt_start,
 	if (clipt_size < CLIPT_MIN_HASH_BUCKETS)
 		return NULL;

-	ctbl = kvzalloc_flex(*ctbl, hash_list, clipt_size, GFP_KERNEL);
+	ctbl = kvzalloc_flex(*ctbl, hash_list, clipt_size);
 	if (!ctbl)
 		return NULL;

diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
index dbfa657c04b9..1c1a7bc5a896 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c
@@ -501,7 +501,7 @@ struct cxgb4_tc_u32_table *cxgb4_init_tc_u32(struct adapter *adap)
 	if (!max_tids)
 		return NULL;

-	t = kvzalloc_flex(*t, table, max_tids, GFP_KERNEL);
+	t = kvzalloc_flex(*t, table, max_tids);
 	if (!t)
 		return NULL;

diff --git a/drivers/net/ethernet/chelsio/cxgb4/l2t.c b/drivers/net/ethernet/chelsio/cxgb4/l2t.c
index 1e2a6bac25ba..426189d6c25a 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/l2t.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/l2t.c
@@ -620,7 +620,7 @@ struct l2t_data *t4_init_l2t(unsigned int l2t_start, unsigned int l2t_end)
 	if (l2t_size < L2T_MIN_HASH_BUCKETS)
 		return NULL;

-	d = kvzalloc_flex(*d, l2tab, l2t_size, GFP_KERNEL);
+	d = kvzalloc_flex(*d, l2tab, l2t_size);
 	if (!d)
 		return NULL;

diff --git a/drivers/net/ethernet/chelsio/cxgb4/sched.c b/drivers/net/ethernet/chelsio/cxgb4/sched.c
index 28b1d5b2bcab..442d63bece59 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/sched.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/sched.c
@@ -653,7 +653,7 @@ struct sched_table *t4_init_sched(unsigned int sched_size)
 	struct sched_table *s;
 	unsigned int i;

-	s = kvzalloc_flex(*s, tab, sched_size, GFP_KERNEL);
+	s = kvzalloc_flex(*s, tab, sched_size);
 	if (!s)
 		return NULL;

diff --git a/drivers/net/ethernet/chelsio/cxgb4/smt.c b/drivers/net/ethernet/chelsio/cxgb4/smt.c
index 315c7605622f..21c7ec34b788 100644
--- a/drivers/net/ethernet/chelsio/cxgb4/smt.c
+++ b/drivers/net/ethernet/chelsio/cxgb4/smt.c
@@ -47,7 +47,7 @@ struct smt_data *t4_init_smt(void)

 	smt_size = SMT_SIZE;

-	s = kvzalloc_flex(*s, smtab, smt_size, GFP_KERNEL);
+	s = kvzalloc_flex(*s, smtab, smt_size);
 	if (!s)
 		return NULL;
 	s->smt_size = smt_size;
diff --git a/drivers/net/ethernet/engleder/tsnep_selftests.c b/drivers/net/ethernet/engleder/tsnep_selftests.c
index 1a67d3136456..f153da750c43 100644
--- a/drivers/net/ethernet/engleder/tsnep_selftests.c
+++ b/drivers/net/ethernet/engleder/tsnep_selftests.c
@@ -354,7 +354,7 @@ static bool tsnep_test_taprio(struct tsnep_adapter *adapter)
 	struct tc_taprio_qopt_offload *qopt;
 	int i;

-	qopt = kzalloc_flex(*qopt, entries, 255, GFP_KERNEL);
+	qopt = kzalloc_flex(*qopt, entries, 255);
 	if (!qopt)
 		return false;
 	for (i = 0; i < 255; i++)
@@ -451,7 +451,7 @@ static bool tsnep_test_taprio_change(struct tsnep_adapter *adapter)
 	struct tc_taprio_qopt_offload *qopt;
 	int i;

-	qopt = kzalloc_flex(*qopt, entries, 255, GFP_KERNEL);
+	qopt = kzalloc_flex(*qopt, entries, 255);
 	if (!qopt)
 		return false;
 	for (i = 0; i < 255; i++)
@@ -604,7 +604,7 @@ static bool tsnep_test_taprio_extension(struct tsnep_adapter *adapter)
 	struct tc_taprio_qopt_offload *qopt;
 	int i;

-	qopt = kzalloc_flex(*qopt, entries, 255, GFP_KERNEL);
+	qopt = kzalloc_flex(*qopt, entries, 255);
 	if (!qopt)
 		return false;
 	for (i = 0; i < 255; i++)
diff --git a/drivers/net/ethernet/freescale/enetc/enetc.c b/drivers/net/ethernet/freescale/enetc/enetc.c
index c220dfdbadfe..7cad3da8a243 100644
--- a/drivers/net/ethernet/freescale/enetc/enetc.c
+++ b/drivers/net/ethernet/freescale/enetc/enetc.c
@@ -3454,7 +3454,7 @@ static int enetc_int_vector_init(struct enetc_ndev_priv *priv, int i,
 	struct enetc_bdr *bdr;
 	int j, err;

-	v = kzalloc_flex(*v, tx_ring, v_tx_rings, GFP_KERNEL);
+	v = kzalloc_flex(*v, tx_ring, v_tx_rings);
 	if (!v)
 		return -ENOMEM;

diff --git a/drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c b/drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
index a4f4c4d14035..47c25692b91c 100644
--- a/drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
+++ b/drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c
@@ -81,7 +81,7 @@ static struct hnae_handle *hns_ae_get_handle(struct hnae_ae_dev *dev,
 	vfnum_per_port = hns_ae_get_vf_num_per_port(dsaf_dev, port_id);
 	qnum_per_vf = hns_ae_get_q_num_per_vf(dsaf_dev, port_id);

-	vf_cb = kzalloc_flex(*vf_cb, ae_handle.qs, qnum_per_vf, GFP_KERNEL);
+	vf_cb = kzalloc_flex(*vf_cb, ae_handle.qs, qnum_per_vf);
 	if (unlikely(!vf_cb)) {
 		dev_err(dsaf_dev->dev, "malloc vf_cb fail!\n");
 		ae_handle = ERR_PTR(-ENOMEM);
diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
index 9f2620a14484..9fee3a511e4b 100644
--- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c
+++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c
@@ -1597,7 +1597,7 @@ static int fm10k_alloc_q_vector(struct fm10k_intfc *interface,
 	ring_count = txr_count + rxr_count;

 	/* allocate q_vector and rings */
-	q_vector = kzalloc_flex(*q_vector, ring, ring_count, GFP_KERNEL);
+	q_vector = kzalloc_flex(*q_vector, ring, ring_count);
 	if (!q_vector)
 		return -ENOMEM;

diff --git a/drivers/net/ethernet/intel/iavf/iavf_ptp.c b/drivers/net/ethernet/intel/iavf/iavf_ptp.c
index f2f3411878e1..87b97e09df14 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_ptp.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_ptp.c
@@ -133,7 +133,7 @@ static struct iavf_ptp_aq_cmd *iavf_allocate_ptp_cmd(enum virtchnl_ops v_opcode,
 {
 	struct iavf_ptp_aq_cmd *cmd;

-	cmd = kzalloc_flex(*cmd, msg, msglen, GFP_KERNEL);
+	cmd = kzalloc_flex(*cmd, msg, msglen);
 	if (!cmd)
 		return NULL;

diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c
index cd211c559a59..40e08a71d2d3 100644
--- a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c
+++ b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c
@@ -200,7 +200,7 @@ static int idpf_add_flow_steer(struct net_device *netdev,
 	if (q_index >= num_rxq)
 		return -EINVAL;

-	rule = kzalloc_flex(*rule, rule_info, 1, GFP_KERNEL);
+	rule = kzalloc_flex(*rule, rule_info, 1);
 	if (!rule)
 		return -ENOMEM;

@@ -310,7 +310,7 @@ static int idpf_del_flow_steer(struct net_device *netdev,
 	if (!idpf_sideband_action_ena(vport, fsp))
 		return -EOPNOTSUPP;

-	rule = kzalloc_flex(*rule, rule_info, 1, GFP_KERNEL);
+	rule = kzalloc_flex(*rule, rule_info, 1);
 	if (!rule)
 		return -ENOMEM;

diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
index c03810c03f37..cf655af6c4f0 100644
--- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
+++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c
@@ -740,7 +740,7 @@ struct idpf_queue_set *idpf_alloc_queue_set(struct idpf_adapter *adapter,
 {
 	struct idpf_queue_set *qp;

-	qp = kzalloc_flex(*qp, qs, num, GFP_KERNEL);
+	qp = kzalloc_flex(*qp, qs, num);
 	if (!qp)
 		return NULL;

diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c
index 73d841e63d2d..e31072dd0863 100644
--- a/drivers/net/ethernet/intel/igc/igc_main.c
+++ b/drivers/net/ethernet/intel/igc/igc_main.c
@@ -4863,7 +4863,7 @@ static int igc_alloc_q_vector(struct igc_adapter *adapter,
 	/* allocate q_vector and rings */
 	q_vector = adapter->q_vector[v_idx];
 	if (!q_vector)
-		q_vector = kzalloc_flex(*q_vector, ring, ring_count, GFP_KERNEL);
+		q_vector = kzalloc_flex(*q_vector, ring, ring_count);
 	else
 		memset(q_vector, 0, struct_size(q_vector, ring, ring_count));
 	if (!q_vector)
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
index f5c00cf57d43..030085d878d9 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
@@ -858,7 +858,7 @@ static int ixgbe_alloc_q_vector(struct ixgbe_adapter *adapter,
 	q_vector = kzalloc_node(struct_size(q_vector, ring, ring_count),
 				GFP_KERNEL, node);
 	if (!q_vector)
-		q_vector = kzalloc_flex(*q_vector, ring, ring_count, GFP_KERNEL);
+		q_vector = kzalloc_flex(*q_vector, ring, ring_count);
 	if (!q_vector)
 		return -ENOMEM;

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
index 78e19dbb9f3a..8fe263190d38 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c
@@ -509,7 +509,7 @@ static int add_res_tree(struct mlx5_core_dev *dev, enum dbg_rsc_type type,
 	char resn[32];
 	int i;

-	d = kzalloc_flex(*d, fields, nfile, GFP_KERNEL);
+	d = kzalloc_flex(*d, fields, nfile);
 	if (!d)
 		return -ENOMEM;

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
index 4678c2c93423..d0103b232c0c 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c
@@ -1548,7 +1548,7 @@ static struct mlx5_flow_handle *alloc_handle(int num_rules)
 {
 	struct mlx5_flow_handle *handle;

-	handle = kzalloc_flex(*handle, rule, num_rules, GFP_KERNEL);
+	handle = kzalloc_flex(*handle, rule, num_rules);
 	if (!handle)
 		return NULL;

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c
index 653faec72da5..fdbdcadef63b 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c
@@ -460,7 +460,7 @@ static struct mlx5_fs_bulk *mlx5_fc_bulk_create(struct mlx5_core_dev *dev,
 	alloc_bitmask = MLX5_CAP_GEN(dev, flow_counter_bulk_alloc);
 	bulk_len = alloc_bitmask > 0 ? MLX5_FC_BULK_NUM_FCS(alloc_bitmask) : 1;

-	fc_bulk = kvzalloc_flex(*fc_bulk, fcs, bulk_len, GFP_KERNEL);
+	fc_bulk = kvzalloc_flex(*fc_bulk, fcs, bulk_len);
 	if (!fc_bulk)
 		return NULL;

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.c
index 505b25e8da7f..86828e329187 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.c
@@ -117,7 +117,7 @@ mlx5_fs_hws_pr_bulk_create(struct mlx5_core_dev *dev, void *pool_ctx)
 		return NULL;
 	pr_pool_ctx = pool_ctx;
 	bulk_len = MLX5_FS_HWS_DEFAULT_BULK_LEN;
-	pr_bulk = kvzalloc_flex(*pr_bulk, prs_data, bulk_len, GFP_KERNEL);
+	pr_bulk = kvzalloc_flex(*pr_bulk, prs_data, bulk_len);
 	if (!pr_bulk)
 		return NULL;

@@ -273,7 +273,7 @@ mlx5_fs_hws_mh_bulk_create(struct mlx5_core_dev *dev, void *pool_ctx)

 	pattern = pool_ctx;
 	bulk_len = MLX5_FS_HWS_DEFAULT_BULK_LEN;
-	mh_bulk = kvzalloc_flex(*mh_bulk, mhs_data, bulk_len, GFP_KERNEL);
+	mh_bulk = kvzalloc_flex(*mh_bulk, mhs_data, bulk_len);
 	if (!mh_bulk)
 		return NULL;

diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_env.c b/drivers/net/ethernet/mellanox/mlxsw/core_env.c
index 3b6b17c48a18..a937ac667ddd 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/core_env.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/core_env.c
@@ -1453,7 +1453,7 @@ int mlxsw_env_init(struct mlxsw_core *mlxsw_core,
 			   mlxsw_reg_mgpir_max_modules_per_slot_get(mgpir_pl) :
 			   module_count;

-	env = kzalloc_flex(*env, line_cards, num_of_slots + 1, GFP_KERNEL);
+	env = kzalloc_flex(*env, line_cards, num_of_slots + 1);
 	if (!env)
 		return -ENOMEM;

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c
index 6aa1252cbe49..5ede8e7b91f3 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c
@@ -224,7 +224,7 @@ mlxsw_sp1_kvdl_part_init(struct mlxsw_sp *mlxsw_sp,
 	}

 	nr_entries = div_u64(resource_size, info->alloc_size);
-	part = kzalloc_flex(*part, usage, BITS_TO_LONGS(nr_entries), GFP_KERNEL);
+	part = kzalloc_flex(*part, usage, BITS_TO_LONGS(nr_entries));
 	if (!part)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c
index 33ef49de4e0b..c08b3ec2b600 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c
@@ -124,7 +124,7 @@ int mlxsw_sp_counter_pool_init(struct mlxsw_sp *mlxsw_sp)
 	struct mlxsw_sp_counter_pool *pool;
 	int err;

-	pool = kzalloc_flex(*pool, sub_pools, sub_pools_count, GFP_KERNEL);
+	pool = kzalloc_flex(*pool, sub_pools, sub_pools_count);
 	if (!pool)
 		return -ENOMEM;
 	mlxsw_sp->counter_pool = pool;
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
index 1124f5feeb23..a7ed770d49cc 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
@@ -5198,7 +5198,7 @@ mlxsw_sp_nexthop_obj_group_info_init(struct mlxsw_sp *mlxsw_sp,
 		return -EINVAL;
 	}

-	nhgi = kzalloc_flex(*nhgi, nexthops, nhs, GFP_KERNEL);
+	nhgi = kzalloc_flex(*nhgi, nexthops, nhs);
 	if (!nhgi)
 		return -ENOMEM;
 	nh_grp->nhgi = nhgi;
@@ -5779,7 +5779,7 @@ mlxsw_sp_nexthop4_group_info_init(struct mlxsw_sp *mlxsw_sp,
 	struct mlxsw_sp_nexthop *nh;
 	int err, i;

-	nhgi = kzalloc_flex(*nhgi, nexthops, nhs, GFP_KERNEL);
+	nhgi = kzalloc_flex(*nhgi, nexthops, nhs);
 	if (!nhgi)
 		return -ENOMEM;
 	nh_grp->nhgi = nhgi;
@@ -7032,7 +7032,7 @@ mlxsw_sp_nexthop6_group_info_init(struct mlxsw_sp *mlxsw_sp,
 	struct mlxsw_sp_nexthop *nh;
 	int err, i;

-	nhgi = kzalloc_flex(*nhgi, nexthops, fib6_entry->nrt6, GFP_KERNEL);
+	nhgi = kzalloc_flex(*nhgi, nexthops, fib6_entry->nrt6);
 	if (!nhgi)
 		return -ENOMEM;
 	nh_grp->nhgi = nhgi;
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
index 8ee83d35be9a..ae63d549b542 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c
@@ -87,7 +87,7 @@ int mlxsw_sp_span_init(struct mlxsw_sp *mlxsw_sp)
 		return -EIO;

 	entries_count = MLXSW_CORE_RES_GET(mlxsw_sp->core, MAX_SPAN);
-	span = kzalloc_flex(*span, entries, entries_count, GFP_KERNEL);
+	span = kzalloc_flex(*span, entries, entries_count);
 	if (!span)
 		return -ENOMEM;
 	refcount_set(&span->policer_id_base_ref_count, 0);
diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c b/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
index e4e1af365460..9fb91d4f3971 100644
--- a/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
+++ b/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c
@@ -1640,7 +1640,7 @@ static int fbnic_alloc_napi_vector(struct fbnic_dev *fbd, struct fbnic_net *fbn,
 		return -EIO;

 	/* Allocate NAPI vector and queue triads */
-	nv = kzalloc_flex(*nv, qt, qt_count, GFP_KERNEL);
+	nv = kzalloc_flex(*nv, qt, qt_count);
 	if (!nv)
 		return -ENOMEM;

diff --git a/drivers/net/ethernet/microsoft/mana/hw_channel.c b/drivers/net/ethernet/microsoft/mana/hw_channel.c
index 9ee0f7f110dd..ba3467f1e2ea 100644
--- a/drivers/net/ethernet/microsoft/mana/hw_channel.c
+++ b/drivers/net/ethernet/microsoft/mana/hw_channel.c
@@ -461,7 +461,7 @@ static int mana_hwc_alloc_dma_buf(struct hw_channel_context *hwc, u16 q_depth,
 	int err;
 	u16 i;

-	dma_buf = kzalloc_flex(*dma_buf, reqs, q_depth, GFP_KERNEL);
+	dma_buf = kzalloc_flex(*dma_buf, reqs, q_depth);
 	if (!dma_buf)
 		return -ENOMEM;

diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c
index dad52eaa152f..0422a1c2535b 100644
--- a/drivers/net/ethernet/microsoft/mana/mana_en.c
+++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
@@ -2637,7 +2637,7 @@ static struct mana_rxq *mana_create_rxq(struct mana_port_context *apc,

 	gc = gd->gdma_context;

-	rxq = kzalloc_flex(*rxq, rx_oobs, apc->rx_queue_size, GFP_KERNEL);
+	rxq = kzalloc_flex(*rxq, rx_oobs, apc->rx_queue_size);
 	if (!rxq)
 		return NULL;

diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
index bac4c61f8632..6f9f67a31d2f 100644
--- a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
+++ b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c
@@ -500,7 +500,7 @@ struct nfp_reprs *nfp_reprs_alloc(unsigned int num_reprs)
 {
 	struct nfp_reprs *reprs;

-	reprs = kzalloc_flex(*reprs, reprs, num_reprs, GFP_KERNEL);
+	reprs = kzalloc_flex(*reprs, reprs, num_reprs);
 	if (!reprs)
 		return NULL;
 	reprs->num_reprs = num_reprs;
diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c
index 9a1f1849e0db..b0c799fb3013 100644
--- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c
+++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c
@@ -319,7 +319,7 @@ __nfp_eth_read_ports(struct nfp_cpp *cpp, struct nfp_nsp *nsp)
 		goto err;
 	}

-	table = kzalloc_flex(*table, ports, cnt, GFP_KERNEL);
+	table = kzalloc_flex(*table, ports, cnt);
 	if (!table)
 		goto err;

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
index 0a0789aaaa53..a0c75886587c 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
@@ -1095,7 +1095,7 @@ static int stmmac_test_rxp(struct stmmac_priv *priv)
 	if (!priv->dma_cap.frpsel)
 		return -EOPNOTSUPP;

-	sel = kzalloc_flex(*sel, keys, nk, GFP_KERNEL);
+	sel = kzalloc_flex(*sel, keys, nk);
 	if (!sel)
 		return -ENOMEM;

@@ -1368,7 +1368,7 @@ static int __stmmac_test_l3filt(struct stmmac_priv *priv, u32 dst, u32 src,
 	cls->command = FLOW_CLS_REPLACE;
 	cls->cookie = dummy_cookie;

-	rule = kzalloc_flex(*rule, action.entries, 1, GFP_KERNEL);
+	rule = kzalloc_flex(*rule, action.entries, 1);
 	if (!rule) {
 		ret = -ENOMEM;
 		goto cleanup_cls;
@@ -1496,7 +1496,7 @@ static int __stmmac_test_l4filt(struct stmmac_priv *priv, u32 dst, u32 src,
 	cls->command = FLOW_CLS_REPLACE;
 	cls->cookie = dummy_cookie;

-	rule = kzalloc_flex(*rule, action.entries, 1, GFP_KERNEL);
+	rule = kzalloc_flex(*rule, action.entries, 1);
 	if (!rule) {
 		ret = -ENOMEM;
 		goto cleanup_cls;
diff --git a/drivers/net/ethernet/wangxun/libwx/wx_lib.c b/drivers/net/ethernet/wangxun/libwx/wx_lib.c
index 08dd0e4c3bc3..746623fa59b4 100644
--- a/drivers/net/ethernet/wangxun/libwx/wx_lib.c
+++ b/drivers/net/ethernet/wangxun/libwx/wx_lib.c
@@ -2095,7 +2095,7 @@ static int wx_alloc_q_vector(struct wx *wx,
 	/* note this will allocate space for the ring structure as well! */
 	ring_count = txr_count + rxr_count;

-	q_vector = kzalloc_flex(*q_vector, ring, ring_count, GFP_KERNEL);
+	q_vector = kzalloc_flex(*q_vector, ring, ring_count);
 	if (!q_vector)
 		return -ENOMEM;

diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c
index d24443390932..3f7707118450 100644
--- a/drivers/net/wan/wanxl.c
+++ b/drivers/net/wan/wanxl.c
@@ -598,7 +598,7 @@ static int wanxl_pci_init_one(struct pci_dev *pdev,
 		ports = 4;
 	}

-	card = kzalloc_flex(*card, ports, ports, GFP_KERNEL);
+	card = kzalloc_flex(*card, ports, ports);
 	if (!card) {
 		pci_release_regions(pdev);
 		pci_disable_device(pdev);
diff --git a/drivers/net/wireless/ath/ath11k/ce.c b/drivers/net/wireless/ath/ath11k/ce.c
index b91f8bb9a81c..f2d5106adb01 100644
--- a/drivers/net/wireless/ath/ath11k/ce.c
+++ b/drivers/net/wireless/ath/ath11k/ce.c
@@ -615,7 +615,7 @@ ath11k_ce_alloc_ring(struct ath11k_base *ab, int nentries, int desc_sz)
 	struct ath11k_ce_ring *ce_ring;
 	dma_addr_t base_addr;

-	ce_ring = kzalloc_flex(*ce_ring, skb, nentries, GFP_KERNEL);
+	ce_ring = kzalloc_flex(*ce_ring, skb, nentries);
 	if (ce_ring == NULL)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/net/wireless/ath/ath11k/reg.c b/drivers/net/wireless/ath/ath11k/reg.c
index 0cf830d97dbd..0879a132b67c 100644
--- a/drivers/net/wireless/ath/ath11k/reg.c
+++ b/drivers/net/wireless/ath/ath11k/reg.c
@@ -146,7 +146,7 @@ int ath11k_reg_update_chan_list(struct ath11k *ar, bool wait)
 	if (WARN_ON(!num_channels))
 		return -EINVAL;

-	params = kzalloc_flex(*params, ch_param, num_channels, GFP_KERNEL);
+	params = kzalloc_flex(*params, ch_param, num_channels);
 	if (!params)
 		return -ENOMEM;

diff --git a/drivers/net/wireless/ath/ath12k/ce.c b/drivers/net/wireless/ath/ath12k/ce.c
index 1106671dc844..67bbc6d8d0c9 100644
--- a/drivers/net/wireless/ath/ath12k/ce.c
+++ b/drivers/net/wireless/ath/ath12k/ce.c
@@ -332,7 +332,7 @@ ath12k_ce_alloc_ring(struct ath12k_base *ab, int nentries, int desc_sz)
 	struct ath12k_ce_ring *ce_ring;
 	dma_addr_t base_addr;

-	ce_ring = kzalloc_flex(*ce_ring, skb, nentries, GFP_KERNEL);
+	ce_ring = kzalloc_flex(*ce_ring, skb, nentries);
 	if (!ce_ring)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/net/wireless/ath/ath12k/reg.c b/drivers/net/wireless/ath/ath12k/reg.c
index cd9ed489369e..d784d9ec5061 100644
--- a/drivers/net/wireless/ath/ath12k/reg.c
+++ b/drivers/net/wireless/ath/ath12k/reg.c
@@ -170,7 +170,7 @@ int ath12k_reg_update_chan_list(struct ath12k *ar, bool wait)
 		return -EINVAL;
 	}

-	arg = kzalloc_flex(*arg, channel, num_channels, GFP_KERNEL);
+	arg = kzalloc_flex(*arg, channel, num_channels);

 	if (!arg)
 		return -ENOMEM;
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c
index 1a6cb3450d58..6cb8343da936 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c
@@ -23,7 +23,7 @@ static int brcmf_bca_alloc_fweh_info(struct brcmf_pub *drvr)
 {
 	struct brcmf_fweh_info *fweh;

-	fweh = kzalloc_flex(*fweh, evt_handler, BRCMF_BCA_E_LAST, GFP_KERNEL);
+	fweh = kzalloc_flex(*fweh, evt_handler, BRCMF_BCA_E_LAST);
 	if (!fweh)
 		return -ENOMEM;

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
index cdc9dc733f5b..b6027d83e6ab 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c
@@ -132,7 +132,7 @@ static int brcmf_c_download_blob(struct brcmf_if *ifp,

 	brcmf_dbg(TRACE, "Enter\n");

-	chunk_buf = kzalloc_flex(*chunk_buf, data, MAX_CHUNK_LEN, GFP_KERNEL);
+	chunk_buf = kzalloc_flex(*chunk_buf, data, MAX_CHUNK_LEN);
 	if (!chunk_buf) {
 		err = -ENOMEM;
 		return -ENOMEM;
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c
index abd38ac8c51e..ce09d44fa73c 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c
@@ -66,7 +66,7 @@ static int brcmf_cyw_alloc_fweh_info(struct brcmf_pub *drvr)
 {
 	struct brcmf_fweh_info *fweh;

-	fweh = kzalloc_flex(*fweh, evt_handler, BRCMF_CYW_E_LAST, GFP_KERNEL);
+	fweh = kzalloc_flex(*fweh, evt_handler, BRCMF_CYW_E_LAST);
 	if (!fweh)
 		return -ENOMEM;

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
index 9d05a0f656f4..4bacd83db052 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
@@ -825,7 +825,7 @@ brcmf_fw_alloc_request(u32 chip, u32 chiprev,
 		return NULL;
 	}

-	fwreq = kzalloc_flex(*fwreq, items, n_fwnames, GFP_KERNEL);
+	fwreq = kzalloc_flex(*fwreq, items, n_fwnames);
 	if (!fwreq)
 		return NULL;

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c
index 9a8351537938..e14b5530f720 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c
@@ -24,7 +24,7 @@ static int brcmf_wcc_alloc_fweh_info(struct brcmf_pub *drvr)
 {
 	struct brcmf_fweh_info *fweh;

-	fweh = kzalloc_flex(*fweh, evt_handler, BRCMF_WCC_E_LAST, GFP_KERNEL);
+	fweh = kzalloc_flex(*fweh, evt_handler, BRCMF_WCC_E_LAST);
 	if (!fweh)
 		return -ENOMEM;

diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/eeprom.c b/drivers/net/wireless/intel/iwlwifi/dvm/eeprom.c
index f723884e2a62..6de2517188f7 100644
--- a/drivers/net/wireless/intel/iwlwifi/dvm/eeprom.c
+++ b/drivers/net/wireless/intel/iwlwifi/dvm/eeprom.c
@@ -1067,7 +1067,7 @@ iwl_parse_eeprom_data(struct iwl_trans *trans, const struct iwl_rf_cfg *cfg,
 	if (WARN_ON(!cfg || !cfg->eeprom_params))
 		return NULL;

-	data = kzalloc_flex(*data, channels, IWL_NUM_CHANNELS, GFP_KERNEL);
+	data = kzalloc_flex(*data, channels, IWL_NUM_CHANNELS);
 	if (!data)
 		return NULL;

diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
index ac8b64fec96d..d021b24d04d6 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c
@@ -71,7 +71,7 @@ static struct iwl_ucode_tlv *iwl_dbg_tlv_add(const struct iwl_ucode_tlv *tlv,
 	u32 len = le32_to_cpu(tlv->length);
 	struct iwl_dbg_tlv_node *node;

-	node = kzalloc_flex(*node, tlv.data, len, GFP_KERNEL);
+	node = kzalloc_flex(*node, tlv.data, len);
 	if (!node)
 		return NULL;

diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
index 75d1db91314b..9e8977f4f072 100644
--- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
+++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c
@@ -1687,7 +1687,7 @@ iwl_parse_nvm_mcc_info(struct iwl_trans *trans,
 		      num_of_ch);

 	/* build a regdomain rule for every valid channel */
-	regd = kzalloc_flex(*regd, reg_rules, num_of_ch, GFP_KERNEL);
+	regd = kzalloc_flex(*regd, reg_rules, num_of_ch);
 	if (!regd)
 		return ERR_PTR(-ENOMEM);

@@ -2036,7 +2036,7 @@ struct iwl_nvm_data *iwl_get_nvm(struct iwl_trans *trans,
 	if (empty_otp)
 		IWL_INFO(trans, "OTP is empty\n");

-	nvm = kzalloc_flex(*nvm, channels, IWL_NUM_CHANNELS, GFP_KERNEL);
+	nvm = kzalloc_flex(*nvm, channels, IWL_NUM_CHANNELS);
 	if (!nvm) {
 		ret = -ENOMEM;
 		goto out;
diff --git a/drivers/net/wireless/intel/iwlwifi/mld/d3.c b/drivers/net/wireless/intel/iwlwifi/mld/d3.c
index 5ececb849786..467211014977 100644
--- a/drivers/net/wireless/intel/iwlwifi/mld/d3.c
+++ b/drivers/net/wireless/intel/iwlwifi/mld/d3.c
@@ -1172,7 +1172,7 @@ iwl_mld_set_netdetect_info(struct iwl_mld *mld,
 		for (int k = 0; k < SCAN_OFFLOAD_MATCHING_CHANNELS_LEN; k++)
 			n_channels +=
 				hweight8(matches[i].matching_channels[k]);
-		match = kzalloc_flex(*match, channels, n_channels, GFP_KERNEL);
+		match = kzalloc_flex(*match, channels, n_channels);
 		if (!match)
 			return;

diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
index 54e128fd0141..0c53d6bd9651 100644
--- a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c
@@ -2092,7 +2092,7 @@ static int iwl_mld_alloc_ptk_pn(struct iwl_mld *mld,
 		return -EINVAL;

 	WARN_ON(rcu_access_pointer(mld_sta->ptk_pn[keyidx]));
-	*ptk_pn = kzalloc_flex(**ptk_pn, q, num_rx_queues, GFP_KERNEL);
+	*ptk_pn = kzalloc_flex(**ptk_pn, q, num_rx_queues);
 	if (!*ptk_pn)
 		return -ENOMEM;

diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
index 66f4b3c98580..a19f9d2e9346 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
@@ -2605,7 +2605,7 @@ static void iwl_mvm_query_netdetect_reasons(struct iwl_mvm *mvm,
 		n_matches = 0;
 	}

-	net_detect = kzalloc_flex(*net_detect, matches, n_matches, GFP_KERNEL);
+	net_detect = kzalloc_flex(*net_detect, matches, n_matches);
 	if (!net_detect || !n_matches)
 		goto out_report_nd;
 	net_detect->n_matches = n_matches;
@@ -2619,7 +2619,7 @@ static void iwl_mvm_query_netdetect_reasons(struct iwl_mvm *mvm,
 							   d3_data->nd_results,
 							   i);

-		match = kzalloc_flex(*match, channels, n_channels, GFP_KERNEL);
+		match = kzalloc_flex(*match, channels, n_channels);
 		if (!match)
 			goto out_report_nd;
 		match->n_channels = n_channels;
diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
index f8f84fc670f3..85512f526c5f 100644
--- a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
+++ b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c
@@ -1052,7 +1052,7 @@ mwifiex_create_custom_regdomain(struct mwifiex_private *priv,
 	if (WARN_ON_ONCE(num_chan > NL80211_MAX_SUPP_REG_RULES))
 		return ERR_PTR(-EINVAL);

-	regd = kzalloc_flex(*regd, reg_rules, num_chan, GFP_KERNEL);
+	regd = kzalloc_flex(*regd, reg_rules, num_chan);
 	if (!regd)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/net/wireless/mediatek/mt76/agg-rx.c b/drivers/net/wireless/mediatek/mt76/agg-rx.c
index 144c336e13a2..bf1babac3895 100644
--- a/drivers/net/wireless/mediatek/mt76/agg-rx.c
+++ b/drivers/net/wireless/mediatek/mt76/agg-rx.c
@@ -248,7 +248,7 @@ int mt76_rx_aggr_start(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno,

 	mt76_rx_aggr_stop(dev, wcid, tidno);

-	tid = kzalloc_flex(*tid, reorder_buf, size, GFP_KERNEL);
+	tid = kzalloc_flex(*tid, reorder_buf, size);
 	if (!tid)
 		return -ENOMEM;

diff --git a/drivers/net/wireless/realtek/rtw89/acpi.c b/drivers/net/wireless/realtek/rtw89/acpi.c
index 0853b2e49675..ebb6cf555747 100644
--- a/drivers/net/wireless/realtek/rtw89/acpi.c
+++ b/drivers/net/wireless/realtek/rtw89/acpi.c
@@ -115,7 +115,7 @@ rtw89_acpi_evaluate_method(struct rtw89_dev *rtwdev, const char *method)
 		goto out;
 	}

-	data = kzalloc_flex(*data, buf, len, GFP_KERNEL);
+	data = kzalloc_flex(*data, buf, len);
 	if (!data)
 		goto out;

diff --git a/drivers/nvme/target/admin-cmd.c b/drivers/nvme/target/admin-cmd.c
index b8cf9bbb16d4..9de93f65d7d7 100644
--- a/drivers/nvme/target/admin-cmd.c
+++ b/drivers/nvme/target/admin-cmd.c
@@ -542,7 +542,7 @@ static void nvmet_execute_get_log_page_ana(struct nvmet_req *req)
 	u16 status;

 	status = NVME_SC_INTERNAL;
-	desc = kmalloc_flex(*desc, nsids, NVMET_MAX_NAMESPACES, GFP_KERNEL);
+	desc = kmalloc_flex(*desc, nsids, NVMET_MAX_NAMESPACES);
 	if (!desc)
 		goto out;

diff --git a/drivers/nvme/target/fc.c b/drivers/nvme/target/fc.c
index a867a16092ea..7fca8d726aaf 100644
--- a/drivers/nvme/target/fc.c
+++ b/drivers/nvme/target/fc.c
@@ -789,7 +789,7 @@ nvmet_fc_alloc_target_queue(struct nvmet_fc_tgt_assoc *assoc,
 	if (qid > NVMET_NR_QUEUES)
 		return NULL;

-	queue = kzalloc_flex(*queue, fod, sqsize, GFP_KERNEL);
+	queue = kzalloc_flex(*queue, fod, sqsize);
 	if (!queue)
 		return NULL;

diff --git a/drivers/pci/npem.c b/drivers/pci/npem.c
index f900438570bf..ffeeedf6e311 100644
--- a/drivers/pci/npem.c
+++ b/drivers/pci/npem.c
@@ -524,7 +524,7 @@ static int pci_npem_init(struct pci_dev *dev, const struct npem_ops *ops,
 	int led_idx = 0;
 	int ret;

-	npem = kzalloc_flex(*npem, leds, supported_cnt, GFP_KERNEL);
+	npem = kzalloc_flex(*npem, leds, supported_cnt);
 	if (!npem)
 		return -ENOMEM;

diff --git a/drivers/platform/chrome/wilco_ec/event.c b/drivers/platform/chrome/wilco_ec/event.c
index 3a7ef8e0e0f4..743cd4839bff 100644
--- a/drivers/platform/chrome/wilco_ec/event.c
+++ b/drivers/platform/chrome/wilco_ec/event.c
@@ -106,7 +106,7 @@ static struct ec_event_queue *event_queue_new(int capacity)
 {
 	struct ec_event_queue *q;

-	q = kzalloc_flex(*q, entries, capacity, GFP_KERNEL);
+	q = kzalloc_flex(*q, entries, capacity);
 	if (!q)
 		return NULL;

diff --git a/drivers/platform/x86/amd/pmc/mp1_stb.c b/drivers/platform/x86/amd/pmc/mp1_stb.c
index 73c668b840c7..753d630f3283 100644
--- a/drivers/platform/x86/amd/pmc/mp1_stb.c
+++ b/drivers/platform/x86/amd/pmc/mp1_stb.c
@@ -141,7 +141,7 @@ static int amd_stb_handle_efr(struct file *filp)
 	u32 fsize;

 	fsize = dev->dram_size - S2D_RSVD_RAM_SPACE;
-	stb_data_arr = kmalloc_flex(*stb_data_arr, data, fsize, GFP_KERNEL);
+	stb_data_arr = kmalloc_flex(*stb_data_arr, data, fsize);
 	if (!stb_data_arr)
 		return -ENOMEM;

@@ -189,7 +189,7 @@ static int amd_stb_debugfs_open_v2(struct inode *inode, struct file *filp)
 	}

 	fsize = min(num_samples, S2D_TELEMETRY_BYTES_MAX);
-	stb_data_arr = kmalloc_flex(*stb_data_arr, data, fsize, GFP_KERNEL);
+	stb_data_arr = kmalloc_flex(*stb_data_arr, data, fsize);
 	if (!stb_data_arr)
 		return -ENOMEM;

diff --git a/drivers/platform/x86/intel/int3472/discrete.c b/drivers/platform/x86/intel/int3472/discrete.c
index ec0994bfa9fc..1455d9a7afca 100644
--- a/drivers/platform/x86/intel/int3472/discrete.c
+++ b/drivers/platform/x86/intel/int3472/discrete.c
@@ -107,7 +107,7 @@ skl_int3472_gpiod_get_from_temp_lookup(struct int3472_discrete_device *int3472,
 	int ret;

 	struct gpiod_lookup_table *lookup __free(kfree) =
-			kzalloc_flex(*lookup, table, 2, GFP_KERNEL);
+			kzalloc_flex(*lookup, table, 2);
 	if (!lookup)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/platform/x86/x86-android-tablets/core.c b/drivers/platform/x86/x86-android-tablets/core.c
index 2656ecea2a2a..9f2945de0caa 100644
--- a/drivers/platform/x86/x86-android-tablets/core.c
+++ b/drivers/platform/x86/x86-android-tablets/core.c
@@ -49,7 +49,7 @@ int x86_android_tablet_get_gpiod(const char *chip, int pin, const char *con_id,
 	struct gpiod_lookup_table *lookup;
 	struct gpio_desc *gpiod;

-	lookup = kzalloc_flex(*lookup, table, 2, GFP_KERNEL);
+	lookup = kzalloc_flex(*lookup, table, 2);
 	if (!lookup)
 		return -ENOMEM;

diff --git a/drivers/power/supply/cros_peripheral_charger.c b/drivers/power/supply/cros_peripheral_charger.c
index 7d48ab4a60b2..f132fad288cb 100644
--- a/drivers/power/supply/cros_peripheral_charger.c
+++ b/drivers/power/supply/cros_peripheral_charger.c
@@ -64,7 +64,7 @@ static int cros_pchg_ec_command(const struct charger_data *charger,
 	struct cros_ec_command *msg;
 	int ret;

-	msg = kzalloc_flex(*msg, data, max(outsize, insize), GFP_KERNEL);
+	msg = kzalloc_flex(*msg, data, max(outsize, insize));
 	if (!msg)
 		return -ENOMEM;

diff --git a/drivers/power/supply/cros_usbpd-charger.c b/drivers/power/supply/cros_usbpd-charger.c
index 6b525ed74197..7d3e676a951c 100644
--- a/drivers/power/supply/cros_usbpd-charger.c
+++ b/drivers/power/supply/cros_usbpd-charger.c
@@ -94,7 +94,7 @@ static int cros_usbpd_charger_ec_command(struct charger_data *charger,
 	struct cros_ec_command *msg;
 	int ret;

-	msg = kzalloc_flex(*msg, data, max(outsize, insize), GFP_KERNEL);
+	msg = kzalloc_flex(*msg, data, max(outsize, insize));
 	if (!msg)
 		return -ENOMEM;

diff --git a/drivers/pwm/core.c b/drivers/pwm/core.c
index 39febc6ccbb7..be4885da85b6 100644
--- a/drivers/pwm/core.c
+++ b/drivers/pwm/core.c
@@ -2138,7 +2138,7 @@ static int pwm_cdev_open(struct inode *inode, struct file *file)
 	if (!chip->operational)
 		return -ENXIO;

-	cdata = kzalloc_flex(*cdata, pwm, chip->npwm, GFP_KERNEL);
+	cdata = kzalloc_flex(*cdata, pwm, chip->npwm);
 	if (!cdata)
 		return -ENOMEM;

diff --git a/drivers/reset/core.c b/drivers/reset/core.c
index ae7996f677bd..fceec45c8afc 100644
--- a/drivers/reset/core.c
+++ b/drivers/reset/core.c
@@ -1360,7 +1360,7 @@ of_reset_control_array_get(struct device_node *np, enum reset_control_flags flag
 	if (num < 0)
 		return optional ? NULL : ERR_PTR(num);

-	resets = kzalloc_flex(*resets, rstc, num, GFP_KERNEL);
+	resets = kzalloc_flex(*resets, rstc, num);
 	if (!resets)
 		return ERR_PTR(-ENOMEM);
 	resets->num_rstcs = num;
diff --git a/drivers/rtc/rtc-sun6i.c b/drivers/rtc/rtc-sun6i.c
index 9065b437dd8a..7fc60880e409 100644
--- a/drivers/rtc/rtc-sun6i.c
+++ b/drivers/rtc/rtc-sun6i.c
@@ -238,7 +238,7 @@ static void __init sun6i_rtc_clk_init(struct device_node *node,
 		return;

 	rtc->data = data;
-	clk_data = kzalloc_flex(*clk_data, hws, 3, GFP_KERNEL);
+	clk_data = kzalloc_flex(*clk_data, hws, 3);
 	if (!clk_data) {
 		kfree(rtc);
 		return;
diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c
index c7d86cab984b..e2766963b69e 100644
--- a/drivers/s390/cio/ccwgroup.c
+++ b/drivers/s390/cio/ccwgroup.c
@@ -322,7 +322,7 @@ int ccwgroup_create_dev(struct device *parent, struct ccwgroup_driver *gdrv,
 	if (num_devices < 1)
 		return -EINVAL;

-	gdev = kzalloc_flex(*gdev, cdev, num_devices, GFP_KERNEL);
+	gdev = kzalloc_flex(*gdev, cdev, num_devices);
 	if (!gdev)
 		return -ENOMEM;

diff --git a/drivers/spi/spi-axi-spi-engine.c b/drivers/spi/spi-axi-spi-engine.c
index b22c53c3e5b7..48ee5bf48173 100644
--- a/drivers/spi/spi-axi-spi-engine.c
+++ b/drivers/spi/spi-axi-spi-engine.c
@@ -815,7 +815,7 @@ static int spi_engine_optimize_message(struct spi_message *msg)
 	p_dry.length = 0;
 	spi_engine_compile_message(msg, true, &p_dry);

-	p = kzalloc_flex(*p, instructions, p_dry.length + 1, GFP_KERNEL);
+	p = kzalloc_flex(*p, instructions, p_dry.length + 1);
 	if (!p)
 		return -ENOMEM;

diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c
index 170118023b2f..ff94482fefcc 100644
--- a/drivers/spi/spi-bcm2835.c
+++ b/drivers/spi/spi-bcm2835.c
@@ -1313,7 +1313,7 @@ static int bcm2835_spi_setup(struct spi_device *spi)
 	 * More on the problem that it addresses:
 	 *   https://www.spinics.net/lists/linux-gpio/msg36218.html
 	 */
-	lookup = kzalloc_flex(*lookup, table, 2, GFP_KERNEL);
+	lookup = kzalloc_flex(*lookup, table, 2);
 	if (!lookup) {
 		ret = -ENOMEM;
 		goto err_cleanup;
diff --git a/drivers/staging/greybus/raw.c b/drivers/staging/greybus/raw.c
index a8b598ed9269..3027a2c25bcd 100644
--- a/drivers/staging/greybus/raw.c
+++ b/drivers/staging/greybus/raw.c
@@ -73,7 +73,7 @@ static int receive_data(struct gb_raw *raw, u32 len, u8 *data)
 		goto exit;
 	}

-	raw_data = kmalloc_flex(*raw_data, data, len, GFP_KERNEL);
+	raw_data = kmalloc_flex(*raw_data, data, len);
 	if (!raw_data) {
 		retval = -ENOMEM;
 		goto exit;
diff --git a/drivers/staging/rtl8723bs/os_dep/osdep_service.c b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
index 9ad8473762bc..7959daeabc6f 100644
--- a/drivers/staging/rtl8723bs/os_dep/osdep_service.c
+++ b/drivers/staging/rtl8723bs/os_dep/osdep_service.c
@@ -193,7 +193,7 @@ struct rtw_cbuf *rtw_cbuf_alloc(u32 size)
 {
 	struct rtw_cbuf *cbuf;

-	cbuf = kzalloc_flex(*cbuf, bufs, size, GFP_KERNEL);
+	cbuf = kzalloc_flex(*cbuf, bufs, size);
 	cbuf->size = size;

 	return cbuf;
diff --git a/drivers/target/target_core_file.c b/drivers/target/target_core_file.c
index 80cc9196f145..3ae1f7137d9d 100644
--- a/drivers/target/target_core_file.c
+++ b/drivers/target/target_core_file.c
@@ -276,7 +276,7 @@ fd_execute_rw_aio(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
 	ssize_t len = 0;
 	int ret = 0, i;

-	aio_cmd = kmalloc_flex(*aio_cmd, bvecs, sgl_nents, GFP_KERNEL);
+	aio_cmd = kmalloc_flex(*aio_cmd, bvecs, sgl_nents);
 	if (!aio_cmd)
 		return TCM_LOGICAL_UNIT_COMMUNICATION_FAILURE;

diff --git a/drivers/thermal/thermal_core.c b/drivers/thermal/thermal_core.c
index f0b2a2a340a3..b7d706ed7ed9 100644
--- a/drivers/thermal/thermal_core.c
+++ b/drivers/thermal/thermal_core.c
@@ -1542,7 +1542,7 @@ thermal_zone_device_register_with_trips(const char *type,
 	if (!thermal_class)
 		return ERR_PTR(-ENODEV);

-	tz = kzalloc_flex(*tz, trips, num_trips, GFP_KERNEL);
+	tz = kzalloc_flex(*tz, trips, num_trips);
 	if (!tz)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/thermal/thermal_debugfs.c b/drivers/thermal/thermal_debugfs.c
index d1b5a09ed684..da02d8f179b0 100644
--- a/drivers/thermal/thermal_debugfs.c
+++ b/drivers/thermal/thermal_debugfs.c
@@ -559,7 +559,7 @@ static struct tz_episode *thermal_debugfs_tz_event_alloc(struct thermal_zone_dev
 	struct tz_episode *tze;
 	int i;

-	tze = kzalloc_flex(*tze, trip_stats, tz->num_trips, GFP_KERNEL);
+	tze = kzalloc_flex(*tze, trip_stats, tz->num_trips);
 	if (!tze)
 		return NULL;

diff --git a/drivers/tty/hvc/hvc_console.c b/drivers/tty/hvc/hvc_console.c
index 9b3856766e8c..45d090bf090e 100644
--- a/drivers/tty/hvc/hvc_console.c
+++ b/drivers/tty/hvc/hvc_console.c
@@ -922,7 +922,7 @@ struct hvc_struct *hvc_alloc(uint32_t vtermno, int data,
 			return ERR_PTR(err);
 	}

-	hp = kzalloc_flex(*hp, outbuf, outbuf_size, GFP_KERNEL);
+	hp = kzalloc_flex(*hp, outbuf, outbuf_size);
 	if (!hp)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/tty/n_hdlc.c b/drivers/tty/n_hdlc.c
index bf827ae3e5c8..98eefa2cede4 100644
--- a/drivers/tty/n_hdlc.c
+++ b/drivers/tty/n_hdlc.c
@@ -669,7 +669,7 @@ static void n_hdlc_alloc_buf(struct n_hdlc_buf_list *list, unsigned int count,
 	unsigned int i;

 	for (i = 0; i < count; i++) {
-		buf = kmalloc_flex(*buf, buf, maxframe, GFP_KERNEL);
+		buf = kmalloc_flex(*buf, buf, maxframe);
 		if (!buf) {
 			pr_debug("%s(), kmalloc() failed for %s buffer %u\n",
 					__func__, name, i);
diff --git a/drivers/tty/serial/8250/8250_pci.c b/drivers/tty/serial/8250/8250_pci.c
index 643e5a620948..aa1ab4da9ff1 100644
--- a/drivers/tty/serial/8250/8250_pci.c
+++ b/drivers/tty/serial/8250/8250_pci.c
@@ -4148,7 +4148,7 @@ pciserial_init_ports(struct pci_dev *dev, const struct pciserial_board *board)
 			nr_ports = rc;
 	}

-	priv = kzalloc_flex(*priv, line, nr_ports, GFP_KERNEL);
+	priv = kzalloc_flex(*priv, line, nr_ports);
 	if (!priv) {
 		priv = ERR_PTR(-ENOMEM);
 		goto err_deinit;
diff --git a/drivers/usb/core/config.c b/drivers/usb/core/config.c
index 8e88ae8d0e71..1cd5fa61dc76 100644
--- a/drivers/usb/core/config.c
+++ b/drivers/usb/core/config.c
@@ -823,7 +823,7 @@ static int usb_parse_configuration(struct usb_device *dev, int cfgidx,
 			nalts[i] = j = USB_MAXALTSETTING;
 		}

-		intfc = kzalloc_flex(*intfc, altsetting, j, GFP_KERNEL);
+		intfc = kzalloc_flex(*intfc, altsetting, j);
 		config->intf_cache[i] = intfc;
 		if (!intfc)
 			return -ENOMEM;
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
index 480d73c220a8..002c3441bea3 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -957,7 +957,7 @@ static ssize_t __ffs_epfile_read_data(struct ffs_epfile *epfile,
 		data_len, ret);

 	data_len -= ret;
-	buf = kmalloc_flex(*buf, storage, data_len, GFP_KERNEL);
+	buf = kmalloc_flex(*buf, storage, data_len);
 	if (!buf)
 		return -ENOMEM;
 	buf->length = data_len;
diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c
index 2a81ae9e6cf2..218c180980f7 100644
--- a/drivers/usb/gadget/function/f_midi.c
+++ b/drivers/usb/gadget/function/f_midi.c
@@ -1361,7 +1361,7 @@ static struct usb_function *f_midi_alloc(struct usb_function_instance *fi)
 	}

 	/* allocate and initialize one new instance */
-	midi = kzalloc_flex(*midi, in_ports_array, opts->in_ports, GFP_KERNEL);
+	midi = kzalloc_flex(*midi, in_ports_array, opts->in_ports);
 	if (!midi) {
 		status = -ENOMEM;
 		goto setup_fail;
diff --git a/drivers/usb/gadget/function/f_phonet.c b/drivers/usb/gadget/function/f_phonet.c
index aea572505ad2..2c007790ead2 100644
--- a/drivers/usb/gadget/function/f_phonet.c
+++ b/drivers/usb/gadget/function/f_phonet.c
@@ -669,7 +669,7 @@ static struct usb_function *phonet_alloc(struct usb_function_instance *fi)
 	struct f_phonet *fp;
 	struct f_phonet_opts *opts;

-	fp = kzalloc_flex(*fp, out_reqv, phonet_rxq_size, GFP_KERNEL);
+	fp = kzalloc_flex(*fp, out_reqv, phonet_rxq_size);
 	if (!fp)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/usb/host/xhci-mtk-sch.c b/drivers/usb/host/xhci-mtk-sch.c
index 9377fb2bd163..e3550acaf1a0 100644
--- a/drivers/usb/host/xhci-mtk-sch.c
+++ b/drivers/usb/host/xhci-mtk-sch.c
@@ -264,7 +264,7 @@ create_sch_ep(struct xhci_hcd_mtk *mtk, struct usb_device *udev,
 	else
 		len = 1;

-	sch_ep = kzalloc_flex(*sch_ep, bw_budget_table, len, GFP_KERNEL);
+	sch_ep = kzalloc_flex(*sch_ep, bw_budget_table, len);
 	if (!sch_ep)
 		return ERR_PTR(-ENOMEM);

diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c
index 7260cdb92716..12d493eb8bce 100644
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -1979,7 +1979,7 @@ static long vhost_set_memory(struct vhost_dev *d, struct vhost_memory __user *m)
 		return -EOPNOTSUPP;
 	if (mem.nregions > max_mem_regions)
 		return -E2BIG;
-	newmem = kvzalloc_flex(*newmem, regions, mem.nregions, GFP_KERNEL);
+	newmem = kvzalloc_flex(*newmem, regions, mem.nregions);
 	if (!newmem)
 		return -ENOMEM;

diff --git a/drivers/video/fbdev/mmp/core.c b/drivers/video/fbdev/mmp/core.c
index 9e7c138b1290..3c35b0a3ea09 100644
--- a/drivers/video/fbdev/mmp/core.c
+++ b/drivers/video/fbdev/mmp/core.c
@@ -155,7 +155,7 @@ struct mmp_path *mmp_register_path(struct mmp_path_info *info)
 	struct mmp_path *path = NULL;
 	struct mmp_panel *panel;

-	path = kzalloc_flex(*path, overlays, info->overlay_num, GFP_KERNEL);
+	path = kzalloc_flex(*path, overlays, info->overlay_num);
 	if (!path)
 		return NULL;

diff --git a/drivers/virt/coco/guest/tsm-mr.c b/drivers/virt/coco/guest/tsm-mr.c
index 37859cc8eefb..657b9c5739d0 100644
--- a/drivers/virt/coco/guest/tsm-mr.c
+++ b/drivers/virt/coco/guest/tsm-mr.c
@@ -176,7 +176,7 @@ tsm_mr_create_attribute_group(const struct tsm_measurements *tm)
 	const struct bin_attribute **attrs __free(kfree) =
 		kzalloc(sizeof(*attrs) * (tm->nr_mrs + 1) + nlen, GFP_KERNEL);
 	struct tm_context *ctx __free(kfree) =
-		kzalloc_flex(*ctx, mrs, tm->nr_mrs, GFP_KERNEL);
+		kzalloc_flex(*ctx, mrs, tm->nr_mrs);
 	char *name, *end;

 	if (!ctx || !attrs)
diff --git a/drivers/xen/privcmd-buf.c b/drivers/xen/privcmd-buf.c
index c0178ea010cf..4cb66eb54602 100644
--- a/drivers/xen/privcmd-buf.c
+++ b/drivers/xen/privcmd-buf.c
@@ -141,7 +141,7 @@ static int privcmd_buf_mmap(struct file *file, struct vm_area_struct *vma)
 	if (!(vma->vm_flags & VM_SHARED))
 		return -EINVAL;

-	vma_priv = kzalloc_flex(*vma_priv, pages, count, GFP_KERNEL);
+	vma_priv = kzalloc_flex(*vma_priv, pages, count);
 	if (!vma_priv)
 		return -ENOMEM;

diff --git a/drivers/xen/xenbus/xenbus_dev_frontend.c b/drivers/xen/xenbus/xenbus_dev_frontend.c
index 417631350eb0..61db6932a9d2 100644
--- a/drivers/xen/xenbus/xenbus_dev_frontend.c
+++ b/drivers/xen/xenbus/xenbus_dev_frontend.c
@@ -195,7 +195,7 @@ static int queue_reply(struct list_head *queue, const void *data, size_t len)
 	if (len > XENSTORE_PAYLOAD_MAX)
 		return -EINVAL;

-	rb = kmalloc_flex(*rb, msg, len, GFP_KERNEL);
+	rb = kmalloc_flex(*rb, msg, len);
 	if (rb == NULL)
 		return -ENOMEM;

diff --git a/drivers/zorro/zorro.c b/drivers/zorro/zorro.c
index 1959faa6926a..45495c423c79 100644
--- a/drivers/zorro/zorro.c
+++ b/drivers/zorro/zorro.c
@@ -135,7 +135,7 @@ static int __init amiga_zorro_probe(struct platform_device *pdev)
 	int error;

 	/* Initialize the Zorro bus */
-	bus = kzalloc_flex(*bus, devices, zorro_num_autocon, GFP_KERNEL);
+	bus = kzalloc_flex(*bus, devices, zorro_num_autocon);
 	if (!bus)
 		return -ENOMEM;

diff --git a/fs/afs/addr_list.c b/fs/afs/addr_list.c
index 26590bfeae91..a936f9ea5610 100644
--- a/fs/afs/addr_list.c
+++ b/fs/afs/addr_list.c
@@ -66,7 +66,7 @@ struct afs_addr_list *afs_alloc_addrlist(unsigned int nr)
 	if (nr > AFS_MAX_ADDRESSES)
 		nr = AFS_MAX_ADDRESSES;

-	alist = kzalloc_flex(*alist, addrs, nr, GFP_KERNEL);
+	alist = kzalloc_flex(*alist, addrs, nr);
 	if (!alist)
 		return NULL;

diff --git a/fs/afs/addr_prefs.c b/fs/afs/addr_prefs.c
index f5a4fb6f609a..e8c0640f1c5b 100644
--- a/fs/afs/addr_prefs.c
+++ b/fs/afs/addr_prefs.c
@@ -401,7 +401,7 @@ int afs_proc_addr_prefs_write(struct file *file, char *buf, size_t size)
 	max_prefs = min_t(size_t, (psize - sizeof(*old)) / sizeof(old->prefs[0]), 255);

 	ret = -ENOMEM;
-	preflist = kmalloc_flex(*preflist, prefs, max_prefs, GFP_KERNEL);
+	preflist = kmalloc_flex(*preflist, prefs, max_prefs);
 	if (!preflist)
 		goto done;

diff --git a/fs/afs/fsclient.c b/fs/afs/fsclient.c
index eb3520b9a282..95494d5f2b8a 100644
--- a/fs/afs/fsclient.c
+++ b/fs/afs/fsclient.c
@@ -2010,7 +2010,7 @@ static int afs_deliver_fs_fetch_acl(struct afs_call *call)
 		size = call->count2 = ntohl(call->tmp);
 		size = round_up(size, 4);

-		acl = kmalloc_flex(*acl, data, size, GFP_KERNEL);
+		acl = kmalloc_flex(*acl, data, size);
 		if (!acl)
 			return -ENOMEM;
 		op->acl = acl;
diff --git a/fs/afs/server_list.c b/fs/afs/server_list.c
index b948df6dddc7..4178d39b2d60 100644
--- a/fs/afs/server_list.c
+++ b/fs/afs/server_list.c
@@ -51,7 +51,7 @@ struct afs_server_list *afs_alloc_server_list(struct afs_volume *volume,
 			newrep++;
 	}

-	slist = kzalloc_flex(*slist, servers, nr_servers, GFP_KERNEL);
+	slist = kzalloc_flex(*slist, servers, nr_servers);
 	if (!slist)
 		goto error;

diff --git a/fs/afs/vl_list.c b/fs/afs/vl_list.c
index 4f430ae01646..3e4966915ea4 100644
--- a/fs/afs/vl_list.c
+++ b/fs/afs/vl_list.c
@@ -15,7 +15,7 @@ struct afs_vlserver *afs_alloc_vlserver(const char *name, size_t name_len,
 	struct afs_vlserver *vlserver;
 	static atomic_t debug_ids;

-	vlserver = kzalloc_flex(*vlserver, name, name_len + 1, GFP_KERNEL);
+	vlserver = kzalloc_flex(*vlserver, name, name_len + 1);
 	if (vlserver) {
 		refcount_set(&vlserver->ref, 1);
 		rwlock_init(&vlserver->lock);
@@ -51,7 +51,7 @@ struct afs_vlserver_list *afs_alloc_vlserver_list(unsigned int nr_servers)
 {
 	struct afs_vlserver_list *vllist;

-	vllist = kzalloc_flex(*vllist, servers, nr_servers, GFP_KERNEL);
+	vllist = kzalloc_flex(*vllist, servers, nr_servers);
 	if (vllist) {
 		refcount_set(&vllist->ref, 1);
 		rwlock_init(&vllist->lock);
diff --git a/fs/afs/xattr.c b/fs/afs/xattr.c
index af9398d48e39..3770ed236f67 100644
--- a/fs/afs/xattr.c
+++ b/fs/afs/xattr.c
@@ -75,7 +75,7 @@ static bool afs_make_acl(struct afs_operation *op,
 {
 	struct afs_acl *acl;

-	acl = kmalloc_flex(*acl, data, size, GFP_KERNEL);
+	acl = kmalloc_flex(*acl, data, size);
 	if (!acl) {
 		afs_op_nomem(op);
 		return false;
diff --git a/fs/afs/yfsclient.c b/fs/afs/yfsclient.c
index 9adc2dcde9a7..24fb562ebd33 100644
--- a/fs/afs/yfsclient.c
+++ b/fs/afs/yfsclient.c
@@ -2048,7 +2048,7 @@ static int yfs_deliver_fs_fetch_opaque_acl(struct afs_call *call)
 		size = round_up(size, 4);

 		if (yacl->flags & YFS_ACL_WANT_ACL) {
-			acl = kmalloc_flex(*acl, data, size, GFP_KERNEL);
+			acl = kmalloc_flex(*acl, data, size);
 			if (!acl)
 				return -ENOMEM;
 			yacl->acl = acl;
@@ -2080,7 +2080,7 @@ static int yfs_deliver_fs_fetch_opaque_acl(struct afs_call *call)
 		size = round_up(size, 4);

 		if (yacl->flags & YFS_ACL_WANT_VOL_ACL) {
-			acl = kmalloc_flex(*acl, data, size, GFP_KERNEL);
+			acl = kmalloc_flex(*acl, data, size);
 			if (!acl)
 				return -ENOMEM;
 			yacl->vol_acl = acl;
diff --git a/fs/aio.c b/fs/aio.c
index 4eb757df3d80..d4eaacf80da2 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -693,7 +693,7 @@ static int ioctx_add_table(struct kioctx *ctx, struct mm_struct *mm)
 		new_nr = (table ? table->nr : 1) * 4;
 		spin_unlock(&mm->ioctx_lock);

-		table = kzalloc_flex(*table, table, new_nr, GFP_KERNEL);
+		table = kzalloc_flex(*table, table, new_nr);
 		if (!table)
 			return -ENOMEM;

diff --git a/fs/binfmt_elf.c b/fs/binfmt_elf.c
index 49a196721cc7..d9154b2f870a 100644
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
@@ -1880,7 +1880,7 @@ static int fill_note_info(struct elfhdr *elf, int phdrs,

 	info->thread->task = dump_task;
 	for (ct = dump_task->signal->core_state->dumper.next; ct; ct = ct->next) {
-		t = kzalloc_flex(*t, notes, info->thread_notes, GFP_KERNEL);
+		t = kzalloc_flex(*t, notes, info->thread_notes);
 		if (unlikely(!t))
 			return 0;

diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c
index 526e048e2956..95b1d0852135 100644
--- a/fs/binfmt_elf_fdpic.c
+++ b/fs/binfmt_elf_fdpic.c
@@ -761,7 +761,7 @@ static int elf_fdpic_map_file(struct elf_fdpic_params *params,
 	if (nloads == 0)
 		return -ELIBBAD;

-	loadmap = kzalloc_flex(*loadmap, segs, nloads, GFP_KERNEL);
+	loadmap = kzalloc_flex(*loadmap, segs, nloads);
 	if (!loadmap)
 		return -ENOMEM;

diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index f3ecbca47edb..6efb543f1c24 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1692,7 +1692,7 @@ static bool run_delalloc_compressed(struct btrfs_inode *inode,
 	const blk_opf_t write_flags = wbc_to_write_flags(wbc);

 	nofs_flag = memalloc_nofs_save();
-	ctx = kvmalloc_flex(*ctx, chunks, num_chunks, GFP_KERNEL);
+	ctx = kvmalloc_flex(*ctx, chunks, num_chunks);
 	memalloc_nofs_restore(nofs_flag);
 	if (!ctx)
 		return false;
diff --git a/fs/btrfs/raid56.c b/fs/btrfs/raid56.c
index 8112122c13e6..b4511f560e92 100644
--- a/fs/btrfs/raid56.c
+++ b/fs/btrfs/raid56.c
@@ -208,7 +208,7 @@ int btrfs_alloc_stripe_hash_table(struct btrfs_fs_info *info)
 	 * Try harder to allocate and fallback to vmalloc to lower the chance
 	 * of a failing mount.
 	 */
-	table = kvzalloc_flex(*table, table, num_entries, GFP_KERNEL);
+	table = kvzalloc_flex(*table, table, num_entries);
 	if (!table)
 		return -ENOMEM;

diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index 36dc53df0fb2..28b2a3deb954 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -480,7 +480,7 @@ int ext4_htree_store_dirent(struct file *dir_file, __u32 hash,
 	p = &info->root.rb_node;

 	/* Create and allocate the fname structure */
-	new_fn = kzalloc_flex(*new_fn, name, ent_name->len + 1, GFP_KERNEL);
+	new_fn = kzalloc_flex(*new_fn, name, ent_name->len + 1);
 	if (!new_fn)
 		return -ENOMEM;
 	new_fn->hash = hash;
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
index 22a1996c00cd..8f8069fb76ba 100644
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
@@ -724,7 +724,7 @@ bool cleanup_offline_cgwb(struct bdi_writeback *wb)
 	int nr;
 	bool restart = false;

-	isw = kzalloc_flex(*isw, inodes, WB_MAX_INODES_PER_ISW, GFP_KERNEL);
+	isw = kzalloc_flex(*isw, inodes, WB_MAX_INODES_PER_ISW);
 	if (!isw)
 		return restart;

diff --git a/fs/jffs2/acl.c b/fs/jffs2/acl.c
index b7ece06cad80..f0f8a4f57add 100644
--- a/fs/jffs2/acl.c
+++ b/fs/jffs2/acl.c
@@ -133,7 +133,7 @@ static void *jffs2_acl_to_medium(const struct posix_acl *acl, size_t *size)
 	size_t i;

 	*size = jffs2_acl_size(acl->a_count);
-	header = kmalloc_flex(*header, a_entries, acl->a_count, GFP_KERNEL);
+	header = kmalloc_flex(*header, a_entries, acl->a_count);
 	if (!header)
 		return ERR_PTR(-ENOMEM);
 	header->a_version = cpu_to_je32(JFFS2_ACL_VERSION);
diff --git a/fs/netfs/fscache_volume.c b/fs/netfs/fscache_volume.c
index 57a9f12e79aa..78412fb8548e 100644
--- a/fs/netfs/fscache_volume.c
+++ b/fs/netfs/fscache_volume.c
@@ -230,7 +230,7 @@ static struct fscache_volume *fscache_alloc_volume(const char *volume_key,
 	if (IS_ERR(cache))
 		return NULL;

-	volume = kzalloc_flex(*volume, coherency, coherency_len, GFP_KERNEL);
+	volume = kzalloc_flex(*volume, coherency, coherency_len);
 	if (!volume)
 		goto err_cache;

diff --git a/fs/nfsd/blocklayout.c b/fs/nfsd/blocklayout.c
index e3553ccb6ab4..a7cfba29990e 100644
--- a/fs/nfsd/blocklayout.c
+++ b/fs/nfsd/blocklayout.c
@@ -131,7 +131,7 @@ nfsd4_block_proc_layoutget(struct svc_rqst *rqstp, struct inode *inode,
 	 * layouts, so make sure to zero the whole structure.
 	 */
 	nfserr = nfserrno(-ENOMEM);
-	bl = kzalloc_flex(*bl, extents, nr_extents_max, GFP_KERNEL);
+	bl = kzalloc_flex(*bl, extents, nr_extents_max);
 	if (!bl)
 		goto out_error;
 	bl->nr_extents = nr_extents_max;
@@ -208,7 +208,7 @@ nfsd4_block_get_device_info_simple(struct super_block *sb,
 	struct pnfs_block_deviceaddr *dev;
 	struct pnfs_block_volume *b;

-	dev = kzalloc_flex(*dev, volumes, 1, GFP_KERNEL);
+	dev = kzalloc_flex(*dev, volumes, 1);
 	if (!dev)
 		return -ENOMEM;
 	gdp->gd_device = dev;
@@ -319,7 +319,7 @@ nfsd4_block_get_device_info_scsi(struct super_block *sb,
 	const struct pr_ops *ops;
 	int ret;

-	dev = kzalloc_flex(*dev, volumes, 1, GFP_KERNEL);
+	dev = kzalloc_flex(*dev, volumes, 1);
 	if (!dev)
 		return -ENOMEM;
 	gdp->gd_device = dev;
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 1bee0870d1c7..41dfba5ab8b8 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -124,7 +124,7 @@ svcxdr_tmpalloc(struct nfsd4_compoundargs *argp, size_t len)
 {
 	struct svcxdr_tmpbuf *tb;

-	tb = kmalloc_flex(*tb, buf, len, GFP_KERNEL);
+	tb = kmalloc_flex(*tb, buf, len);
 	if (!tb)
 		return NULL;
 	tb->next = argp->to_free;
diff --git a/fs/ocfs2/journal.c b/fs/ocfs2/journal.c
index 6755f38920bc..6a0c038dab5a 100644
--- a/fs/ocfs2/journal.c
+++ b/fs/ocfs2/journal.c
@@ -177,7 +177,7 @@ int ocfs2_recovery_init(struct ocfs2_super *osb)
 	osb->recovery_thread_task = NULL;
 	init_waitqueue_head(&osb->recovery_event);

-	rm = kzalloc_flex(*rm, rm_entries, osb->max_slots, GFP_KERNEL);
+	rm = kzalloc_flex(*rm, rm_entries, osb->max_slots);
 	if (!rm) {
 		mlog_errno(-ENOMEM);
 		return -ENOMEM;
diff --git a/fs/ocfs2/slot_map.c b/fs/ocfs2/slot_map.c
index 3ea14f00e84a..8187137b8417 100644
--- a/fs/ocfs2/slot_map.c
+++ b/fs/ocfs2/slot_map.c
@@ -425,7 +425,7 @@ int ocfs2_init_slot_info(struct ocfs2_super *osb)
 	struct inode *inode = NULL;
 	struct ocfs2_slot_info *si;

-	si = kzalloc_flex(*si, si_slots, osb->max_slots, GFP_KERNEL);
+	si = kzalloc_flex(*si, si_slots, osb->max_slots);
 	if (!si) {
 		status = -ENOMEM;
 		mlog_errno(status);
diff --git a/fs/overlayfs/readdir.c b/fs/overlayfs/readdir.c
index a4271e5fb8e6..1dcc75b3a90f 100644
--- a/fs/overlayfs/readdir.c
+++ b/fs/overlayfs/readdir.c
@@ -180,7 +180,7 @@ static struct ovl_cache_entry *ovl_cache_entry_new(struct ovl_readdir_data *rdd,
 {
 	struct ovl_cache_entry *p;

-	p = kmalloc_flex(*p, name, len + 1, GFP_KERNEL);
+	p = kmalloc_flex(*p, name, len + 1);
 	if (!p)
 		return NULL;

diff --git a/fs/overlayfs/util.c b/fs/overlayfs/util.c
index 4eeafd943fb9..3f1b763a8bb4 100644
--- a/fs/overlayfs/util.c
+++ b/fs/overlayfs/util.c
@@ -143,7 +143,7 @@ struct ovl_entry *ovl_alloc_entry(unsigned int numlower)
 {
 	struct ovl_entry *oe;

-	oe = kzalloc_flex(*oe, __lowerstack, numlower, GFP_KERNEL);
+	oe = kzalloc_flex(*oe, __lowerstack, numlower);
 	if (oe)
 		oe->__numlower = numlower;

diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
index 1ba66e1f6ffa..fea9a35caa57 100644
--- a/fs/smb/client/smb2ops.c
+++ b/fs/smb/client/smb2ops.c
@@ -1888,7 +1888,7 @@ smb2_copychunk_range(const unsigned int xid,
 		goto out;
 	}

-	cc_req = kzalloc_flex(*cc_req, Chunks, chunk_count, GFP_KERNEL);
+	cc_req = kzalloc_flex(*cc_req, Chunks, chunk_count);
 	if (!cc_req) {
 		rc = -ENOMEM;
 		goto out;
diff --git a/fs/udf/super.c b/fs/udf/super.c
index e4220ce08742..ccbf16f50ba5 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -1047,7 +1047,7 @@ static struct udf_bitmap *udf_sb_alloc_bitmap(struct super_block *sb, u32 index)
 	struct udf_bitmap *bitmap;
 	int nr_groups = udf_compute_nr_groups(sb, index);

-	bitmap = kvzalloc_flex(*bitmap, s_block_bitmap, nr_groups, GFP_KERNEL);
+	bitmap = kvzalloc_flex(*bitmap, s_block_bitmap, nr_groups);
 	if (!bitmap)
 		return NULL;

diff --git a/fs/xfs/xfs_buf_mem.c b/fs/xfs/xfs_buf_mem.c
index e0529f380a77..b0b3696bf599 100644
--- a/fs/xfs/xfs_buf_mem.c
+++ b/fs/xfs/xfs_buf_mem.c
@@ -58,7 +58,7 @@ xmbuf_alloc(
 	struct xfs_buftarg	*btp;
 	int			error;

-	btp = kzalloc_flex(*btp, bt_cache, 1, GFP_KERNEL);
+	btp = kzalloc_flex(*btp, bt_cache, 1);
 	if (!btp)
 		return -ENOMEM;

diff --git a/init/initramfs.c b/init/initramfs.c
index 7568e4f3c029..139baed06589 100644
--- a/init/initramfs.c
+++ b/init/initramfs.c
@@ -153,7 +153,7 @@ static void __init dir_add(const char *name, size_t nlen, time64_t mtime)
 {
 	struct dir_entry *de;

-	de = kmalloc_flex(*de, name, nlen, GFP_KERNEL);
+	de = kmalloc_flex(*de, name, nlen);
 	if (!de)
 		panic_show_mem("can't allocate dir_entry buffer");
 	INIT_LIST_HEAD(&de->list);
diff --git a/io_uring/rsrc.c b/io_uring/rsrc.c
index d84f48d90d40..4fa59bf89bba 100644
--- a/io_uring/rsrc.c
+++ b/io_uring/rsrc.c
@@ -113,7 +113,7 @@ static struct io_mapped_ubuf *io_alloc_imu(struct io_ring_ctx *ctx,
 {
 	if (nr_bvecs <= IO_CACHED_BVECS_SEGS)
 		return io_cache_alloc(&ctx->imu_cache, GFP_KERNEL);
-	return kvmalloc_flex(struct io_mapped_ubuf, bvec, nr_bvecs, GFP_KERNEL);
+	return kvmalloc_flex(struct io_mapped_ubuf, bvec, nr_bvecs);
 }

 static void io_free_imu(struct io_ring_ctx *ctx, struct io_mapped_ubuf *imu)
diff --git a/kernel/audit.c b/kernel/audit.c
index ad46aa11d42c..5a0216056524 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -1517,7 +1517,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh,
 			if (err < 0)
 				return err;
 		}
-		sig_data = kmalloc_flex(*sig_data, ctx, lsmctx.len, GFP_KERNEL);
+		sig_data = kmalloc_flex(*sig_data, ctx, lsmctx.len);
 		if (!sig_data) {
 			if (lsmprop_is_set(&audit_sig_lsm))
 				security_release_secctx(&lsmctx);
diff --git a/kernel/audit_tree.c b/kernel/audit_tree.c
index 3ffd6582bfe5..ee84777fdfad 100644
--- a/kernel/audit_tree.c
+++ b/kernel/audit_tree.c
@@ -96,7 +96,7 @@ static struct audit_tree *alloc_tree(const char *s)
 	size_t sz;

 	sz = strlen(s) + 1;
-	tree = kmalloc_flex(*tree, pathname, sz, GFP_KERNEL);
+	tree = kmalloc_flex(*tree, pathname, sz);
 	if (tree) {
 		refcount_set(&tree->count, 1);
 		tree->goner = 0;
@@ -192,7 +192,7 @@ static struct audit_chunk *alloc_chunk(int count)
 	struct audit_chunk *chunk;
 	int i;

-	chunk = kzalloc_flex(*chunk, owners, count, GFP_KERNEL);
+	chunk = kzalloc_flex(*chunk, owners, count);
 	if (!chunk)
 		return NULL;

diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c
index 2bffaef0011b..6e3abbf08e3d 100644
--- a/kernel/auditfilter.c
+++ b/kernel/auditfilter.c
@@ -638,7 +638,7 @@ static struct audit_rule_data *audit_krule_to_data(struct audit_krule *krule)
 	void *bufp;
 	int i;

-	data = kzalloc_flex(*data, buf, krule->buflen, GFP_KERNEL);
+	data = kzalloc_flex(*data, buf, krule->buflen);
 	if (unlikely(!data))
 		return NULL;

diff --git a/kernel/bpf/btf.c b/kernel/bpf/btf.c
index 319916f8fc64..4872d2a6c42d 100644
--- a/kernel/bpf/btf.c
+++ b/kernel/bpf/btf.c
@@ -9617,7 +9617,7 @@ btf_add_struct_ops(struct btf *btf, struct bpf_struct_ops *st_ops,

 	tab = btf->struct_ops_tab;
 	if (!tab) {
-		tab = kzalloc_flex(*tab, ops, 4, GFP_KERNEL);
+		tab = kzalloc_flex(*tab, ops, 4);
 		if (!tab)
 			return -ENOMEM;
 		tab->capacity = 4;
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index c14fbdc4cdbe..c22cda7766d8 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -5844,7 +5844,7 @@ static struct cgroup *cgroup_create(struct cgroup *parent, const char *name,
 	int ret;

 	/* allocate the cgroup and its ID, 0 is reserved for the root */
-	cgrp = kzalloc_flex(*cgrp, _low_ancestors, level, GFP_KERNEL);
+	cgrp = kzalloc_flex(*cgrp, _low_ancestors, level);
 	if (!cgrp)
 		return ERR_PTR(-ENOMEM);

diff --git a/kernel/gcov/fs.c b/kernel/gcov/fs.c
index 2acf677171b1..33829e4a4d39 100644
--- a/kernel/gcov/fs.c
+++ b/kernel/gcov/fs.c
@@ -116,7 +116,7 @@ static struct gcov_iterator *gcov_iter_new(struct gcov_info *info)
 	/* Dry-run to get the actual buffer size. */
 	size = convert_to_gcda(NULL, info);

-	iter = kvmalloc_flex(*iter, buffer, size, GFP_KERNEL);
+	iter = kvmalloc_flex(*iter, buffer, size);
 	if (!iter)
 		return NULL;

diff --git a/kernel/irq/generic-chip.c b/kernel/irq/generic-chip.c
index da1da1a4b2d0..2c8bc6ce082e 100644
--- a/kernel/irq/generic-chip.c
+++ b/kernel/irq/generic-chip.c
@@ -240,7 +240,7 @@ irq_alloc_generic_chip(const char *name, int num_ct, unsigned int irq_base,
 {
 	struct irq_chip_generic *gc;

-	gc = kzalloc_flex(*gc, chip_types, num_ct, GFP_KERNEL);
+	gc = kzalloc_flex(*gc, chip_types, num_ct);
 	if (gc) {
 		irq_init_generic_chip(gc, name, num_ct, irq_base, reg_base,
 				      handler);
diff --git a/kernel/irq/matrix.c b/kernel/irq/matrix.c
index 8151c14ca35a..0f79a4abea05 100644
--- a/kernel/irq/matrix.c
+++ b/kernel/irq/matrix.c
@@ -51,7 +51,7 @@ __init struct irq_matrix *irq_alloc_matrix(unsigned int matrix_bits,
 	unsigned int cpu, matrix_size = BITS_TO_LONGS(matrix_bits);
 	struct irq_matrix *m;

-	m = kzalloc_flex(*m, scratch_map, matrix_size * 2, GFP_KERNEL);
+	m = kzalloc_flex(*m, scratch_map, matrix_size * 2);
 	if (!m)
 		return NULL;

diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index 15cc289a6fdf..ab25b4aa9095 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -172,7 +172,7 @@ kprobe_opcode_t *__get_insn_slot(struct kprobe_insn_cache *c)
 	} while (c->nr_garbage && collect_garbage_slots(c) == 0);

 	/* All out of space.  Need to allocate a new page. */
-	kip = kmalloc_flex(*kip, slot_used, slots_per_page(c), GFP_KERNEL);
+	kip = kmalloc_flex(*kip, slot_used, slots_per_page(c));
 	if (!kip)
 		return NULL;

diff --git a/kernel/module/sysfs.c b/kernel/module/sysfs.c
index 768f74e99026..01c65d608873 100644
--- a/kernel/module/sysfs.c
+++ b/kernel/module/sysfs.c
@@ -74,7 +74,7 @@ static int add_sect_attrs(struct module *mod, const struct load_info *info)
 	for (i = 0; i < info->hdr->e_shnum; i++)
 		if (!sect_empty(&info->sechdrs[i]))
 			nloaded++;
-	sect_attrs = kzalloc_flex(*sect_attrs, attrs, nloaded, GFP_KERNEL);
+	sect_attrs = kzalloc_flex(*sect_attrs, attrs, nloaded);
 	if (!sect_attrs)
 		return -ENOMEM;

@@ -166,7 +166,7 @@ static int add_notes_attrs(struct module *mod, const struct load_info *info)
 	if (notes == 0)
 		return 0;

-	notes_attrs = kzalloc_flex(*notes_attrs, attrs, notes, GFP_KERNEL);
+	notes_attrs = kzalloc_flex(*notes_attrs, attrs, notes);
 	if (!notes_attrs)
 		return -ENOMEM;

diff --git a/kernel/trace/fprobe.c b/kernel/trace/fprobe.c
index ec90ba215405..dcadf1d23b8a 100644
--- a/kernel/trace/fprobe.c
+++ b/kernel/trace/fprobe.c
@@ -749,7 +749,7 @@ static int fprobe_init(struct fprobe *fp, unsigned long *addrs, int num)
 		return -E2BIG;
 	fp->entry_data_size = size;

-	hlist_array = kzalloc_flex(*hlist_array, array, num, GFP_KERNEL);
+	hlist_array = kzalloc_flex(*hlist_array, array, num);
 	if (!hlist_array)
 		return -ENOMEM;

diff --git a/kernel/trace/trace_eprobe.c b/kernel/trace/trace_eprobe.c
index 3eeaa5df7fc8..b66d6196338d 100644
--- a/kernel/trace/trace_eprobe.c
+++ b/kernel/trace/trace_eprobe.c
@@ -211,7 +211,7 @@ static struct trace_eprobe *alloc_event_probe(const char *group,
 	sys_name = event->class->system;
 	event_name = trace_event_name(event);

-	ep = kzalloc_flex(*ep, tp.args, nargs, GFP_KERNEL);
+	ep = kzalloc_flex(*ep, tp.args, nargs);
 	if (!ep) {
 		trace_event_put_ref(event);
 		return ERR_PTR(-ENOMEM);
diff --git a/kernel/trace/trace_fprobe.c b/kernel/trace/trace_fprobe.c
index 8cd7eb790071..9f5f08c0e7c2 100644
--- a/kernel/trace/trace_fprobe.c
+++ b/kernel/trace/trace_fprobe.c
@@ -579,7 +579,7 @@ static struct trace_fprobe *alloc_trace_fprobe(const char *group,
 	struct trace_fprobe *tf __free(free_trace_fprobe) = NULL;
 	int ret = -ENOMEM;

-	tf = kzalloc_flex(*tf, tp.args, nargs, GFP_KERNEL);
+	tf = kzalloc_flex(*tf, tp.args, nargs);
 	if (!tf)
 		return ERR_PTR(ret);

diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c
index 84539e1cd27e..a5dbb72528e0 100644
--- a/kernel/trace/trace_kprobe.c
+++ b/kernel/trace/trace_kprobe.c
@@ -275,7 +275,7 @@ static struct trace_kprobe *alloc_trace_kprobe(const char *group,
 	struct trace_kprobe *tk __free(free_trace_kprobe) = NULL;
 	int ret = -ENOMEM;

-	tk = kzalloc_flex(*tk, tp.args, nargs, GFP_KERNEL);
+	tk = kzalloc_flex(*tk, tp.args, nargs);
 	if (!tk)
 		return ERR_PTR(ret);

diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c
index 00ca63934763..2cabf8a23ec5 100644
--- a/kernel/trace/trace_uprobe.c
+++ b/kernel/trace/trace_uprobe.c
@@ -338,7 +338,7 @@ alloc_trace_uprobe(const char *group, const char *event, int nargs, bool is_ret)
 	struct trace_uprobe *tu;
 	int ret;

-	tu = kzalloc_flex(*tu, tp.args, nargs, GFP_KERNEL);
+	tu = kzalloc_flex(*tu, tp.args, nargs);
 	if (!tu)
 		return ERR_PTR(-ENOMEM);

diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
index df7ab773c7f3..91905aa19294 100644
--- a/kernel/tracepoint.c
+++ b/kernel/tracepoint.c
@@ -103,7 +103,7 @@ static void tp_stub_func(void)

 static inline void *allocate_probes(int count)
 {
-	struct tp_probes *p  = kmalloc_flex(*p, probes, count, GFP_KERNEL);
+	struct tp_probes *p  = kmalloc_flex(*p, probes, count);
 	return p == NULL ? NULL : p->probes;
 }

diff --git a/kernel/watch_queue.c b/kernel/watch_queue.c
index 765c152f6084..538520861e8b 100644
--- a/kernel/watch_queue.c
+++ b/kernel/watch_queue.c
@@ -358,7 +358,7 @@ long watch_queue_set_filter(struct pipe_inode_info *pipe,
 	 * user-specified filters.
 	 */
 	ret = -ENOMEM;
-	wfilter = kzalloc_flex(*wfilter, filters, nr_filter, GFP_KERNEL);
+	wfilter = kzalloc_flex(*wfilter, filters, nr_filter);
 	if (!wfilter)
 		goto err_filter;
 	wfilter->nr_filters = nr_filter;
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 399b0375a66a..aeaec79bc09c 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -5370,7 +5370,7 @@ apply_wqattrs_prepare(struct workqueue_struct *wq,
 		    attrs->affn_scope >= WQ_AFFN_NR_TYPES))
 		return ERR_PTR(-EINVAL);

-	ctx = kzalloc_flex(*ctx, pwq_tbl, nr_cpu_ids, GFP_KERNEL);
+	ctx = kzalloc_flex(*ctx, pwq_tbl, nr_cpu_ids);

 	new_attrs = alloc_workqueue_attrs();
 	if (!ctx || !new_attrs)
diff --git a/lib/assoc_array.c b/lib/assoc_array.c
index 45d24dde71b6..25a3e8ab22cb 100644
--- a/lib/assoc_array.c
+++ b/lib/assoc_array.c
@@ -741,7 +741,7 @@ static bool assoc_array_insert_into_terminal_node(struct assoc_array_edit *edit,
 	keylen = round_up(diff, ASSOC_ARRAY_KEY_CHUNK_SIZE);
 	keylen >>= ASSOC_ARRAY_KEY_CHUNK_SHIFT;

-	new_s0 = kzalloc_flex(*new_s0, index_key, keylen, GFP_KERNEL);
+	new_s0 = kzalloc_flex(*new_s0, index_key, keylen);
 	if (!new_s0)
 		return false;
 	edit->new_meta[2] = assoc_array_shortcut_to_ptr(new_s0);
@@ -848,7 +848,7 @@ static bool assoc_array_insert_mid_shortcut(struct assoc_array_edit *edit,
 		keylen = round_up(diff, ASSOC_ARRAY_KEY_CHUNK_SIZE);
 		keylen >>= ASSOC_ARRAY_KEY_CHUNK_SHIFT;

-		new_s0 = kzalloc_flex(*new_s0, index_key, keylen, GFP_KERNEL);
+		new_s0 = kzalloc_flex(*new_s0, index_key, keylen);
 		if (!new_s0)
 			return false;
 		edit->new_meta[1] = assoc_array_shortcut_to_ptr(new_s0);
@@ -897,7 +897,7 @@ static bool assoc_array_insert_mid_shortcut(struct assoc_array_edit *edit,
 		keylen = round_up(shortcut->skip_to_level, ASSOC_ARRAY_KEY_CHUNK_SIZE);
 		keylen >>= ASSOC_ARRAY_KEY_CHUNK_SHIFT;

-		new_s1 = kzalloc_flex(*new_s1, index_key, keylen, GFP_KERNEL);
+		new_s1 = kzalloc_flex(*new_s1, index_key, keylen);
 		if (!new_s1)
 			return false;
 		edit->new_meta[2] = assoc_array_shortcut_to_ptr(new_s1);
@@ -1489,7 +1489,7 @@ int assoc_array_gc(struct assoc_array *array,
 		shortcut = assoc_array_ptr_to_shortcut(cursor);
 		keylen = round_up(shortcut->skip_to_level, ASSOC_ARRAY_KEY_CHUNK_SIZE);
 		keylen >>= ASSOC_ARRAY_KEY_CHUNK_SHIFT;
-		new_s = kmalloc_flex(*new_s, index_key, keylen, GFP_KERNEL);
+		new_s = kmalloc_flex(*new_s, index_key, keylen);
 		if (!new_s)
 			goto enomem;
 		pr_devel("dup shortcut %p -> %p\n", shortcut, new_s);
diff --git a/lib/test_bpf.c b/lib/test_bpf.c
index f5b08273c4f3..5892c0f17ddc 100644
--- a/lib/test_bpf.c
+++ b/lib/test_bpf.c
@@ -15461,7 +15461,7 @@ static __init int prepare_tail_call_tests(struct bpf_array **pprogs)
 	int which, err;

 	/* Allocate the table of programs to be used for tail calls */
-	progs = kzalloc_flex(*progs, ptrs, ntests + 1, GFP_KERNEL);
+	progs = kzalloc_flex(*progs, ptrs, ntests + 1);
 	if (!progs)
 		goto out_nomem;

diff --git a/mm/hugetlb_cgroup.c b/mm/hugetlb_cgroup.c
index 12239d5fd042..e0083de1ca82 100644
--- a/mm/hugetlb_cgroup.c
+++ b/mm/hugetlb_cgroup.c
@@ -139,7 +139,7 @@ hugetlb_cgroup_css_alloc(struct cgroup_subsys_state *parent_css)
 	struct hugetlb_cgroup *h_cgroup;
 	int node;

-	h_cgroup = kzalloc_flex(*h_cgroup, nodeinfo, nr_node_ids, GFP_KERNEL);
+	h_cgroup = kzalloc_flex(*h_cgroup, nodeinfo, nr_node_ids);

 	if (!h_cgroup)
 		return ERR_PTR(-ENOMEM);
diff --git a/mm/madvise.c b/mm/madvise.c
index 30c7a642e7fc..c0370d9b4e23 100644
--- a/mm/madvise.c
+++ b/mm/madvise.c
@@ -91,7 +91,7 @@ struct anon_vma_name *anon_vma_name_alloc(const char *name)

 	/* Add 1 for NUL terminator at the end of the anon_name->name */
 	count = strlen(name) + 1;
-	anon_name = kmalloc_flex(*anon_name, name, count, GFP_KERNEL);
+	anon_name = kmalloc_flex(*anon_name, name, count);
 	if (anon_name) {
 		kref_init(&anon_name->kref);
 		memcpy(anon_name->name, name, count);
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 3b2d6b77a383..4a33eb2a1f7f 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -3880,7 +3880,7 @@ static int __init add_weighted_interleave_group(struct kobject *mempolicy_kobj)
 {
 	int nid, err;

-	wi_group = kzalloc_flex(*wi_group, nattrs, nr_node_ids, GFP_KERNEL);
+	wi_group = kzalloc_flex(*wi_group, nattrs, nr_node_ids);
 	if (!wi_group)
 		return -ENOMEM;
 	mutex_init(&wi_group->kobj_lock);
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c
index 7094f80de24e..31308c1de4ec 100644
--- a/net/bluetooth/hci_core.c
+++ b/net/bluetooth/hci_core.c
@@ -797,7 +797,7 @@ int hci_get_dev_list(void __user *arg)
 	if (!dev_num || dev_num > (PAGE_SIZE * 2) / sizeof(*dr))
 		return -EINVAL;

-	dl = kzalloc_flex(*dl, dev_req, dev_num, GFP_KERNEL);
+	dl = kzalloc_flex(*dl, dev_req, dev_num);
 	if (!dl)
 		return -ENOMEM;

diff --git a/net/bluetooth/mgmt.c b/net/bluetooth/mgmt.c
index 1cfe03260d50..a7238fd3b03b 100644
--- a/net/bluetooth/mgmt.c
+++ b/net/bluetooth/mgmt.c
@@ -3360,7 +3360,7 @@ static int get_connections(struct sock *sk, struct hci_dev *hdev, void *data,
 			i++;
 	}

-	rp = kmalloc_flex(*rp, addr, i, GFP_KERNEL);
+	rp = kmalloc_flex(*rp, addr, i);
 	if (!rp) {
 		err = -ENOMEM;
 		goto unlock;
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c
index b65feeba1b30..91bf5274262e 100644
--- a/net/bluetooth/rfcomm/tty.c
+++ b/net/bluetooth/rfcomm/tty.c
@@ -510,7 +510,7 @@ static int rfcomm_get_dev_list(void __user *arg)
 	if (!dev_num || dev_num > (PAGE_SIZE * 4) / sizeof(*di))
 		return -EINVAL;

-	dl = kzalloc_flex(*dl, dev_info, dev_num, GFP_KERNEL);
+	dl = kzalloc_flex(*dl, dev_info, dev_num);
 	if (!dl)
 		return -ENOMEM;

diff --git a/net/core/bpf_sk_storage.c b/net/core/bpf_sk_storage.c
index 8165d606bfd4..f8338acebf07 100644
--- a/net/core/bpf_sk_storage.c
+++ b/net/core/bpf_sk_storage.c
@@ -500,7 +500,7 @@ bpf_sk_storage_diag_alloc(const struct nlattr *nla_stgs)
 		nr_maps++;
 	}

-	diag = kzalloc_flex(*diag, maps, nr_maps, GFP_KERNEL);
+	diag = kzalloc_flex(*diag, maps, nr_maps);
 	if (!diag)
 		return ERR_PTR(-ENOMEM);

diff --git a/net/core/dev.c b/net/core/dev.c
index b91aabb18bbe..27e5fcbaa2d6 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -6510,7 +6510,7 @@ struct flush_backlogs {

 static struct flush_backlogs *flush_backlogs_alloc(void)
 {
-	return kmalloc_flex(struct flush_backlogs, w, nr_cpu_ids, GFP_KERNEL);
+	return kmalloc_flex(struct flush_backlogs, w, nr_cpu_ids);
 }

 static struct flush_backlogs *flush_backlogs_fallback;
diff --git a/net/core/flow_offload.c b/net/core/flow_offload.c
index c55bf9d5ac8c..c0a9c5b3c977 100644
--- a/net/core/flow_offload.c
+++ b/net/core/flow_offload.c
@@ -12,7 +12,7 @@ struct flow_rule *flow_rule_alloc(unsigned int num_actions)
 	struct flow_rule *rule;
 	int i;

-	rule = kzalloc_flex(*rule, action.entries, num_actions, GFP_KERNEL);
+	rule = kzalloc_flex(*rule, action.entries, num_actions);
 	if (!rule)
 		return NULL;

diff --git a/net/devlink/core.c b/net/devlink/core.c
index 0b020f69cef1..d8e509a669bf 100644
--- a/net/devlink/core.c
+++ b/net/devlink/core.c
@@ -418,7 +418,7 @@ struct devlink *devlink_alloc_ns(const struct devlink_ops *ops,
 	if (!devlink_reload_actions_valid(ops))
 		return NULL;

-	devlink = kvzalloc_flex(*devlink, priv, priv_size, GFP_KERNEL);
+	devlink = kvzalloc_flex(*devlink, priv, priv_size);
 	if (!devlink)
 		return NULL;

diff --git a/net/ethtool/common.c b/net/ethtool/common.c
index 7a302a93f52c..e252cf20c22f 100644
--- a/net/ethtool/common.c
+++ b/net/ethtool/common.c
@@ -687,7 +687,7 @@ static int ethtool_get_max_rxnfc_channel(struct net_device *dev, u64 *max)
 	if (rule_cnt <= 0)
 		return -EINVAL;

-	info = kvzalloc_flex(*info, rule_locs, rule_cnt, GFP_KERNEL);
+	info = kvzalloc_flex(*info, rule_locs, rule_cnt);
 	if (!info)
 		return -ENOMEM;

@@ -841,7 +841,7 @@ int ethtool_check_rss_ctx_busy(struct net_device *dev, u32 rss_context)
 	if (rule_cnt < 0)
 		return -EINVAL;

-	info = kvzalloc_flex(*info, rule_locs, rule_cnt, GFP_KERNEL);
+	info = kvzalloc_flex(*info, rule_locs, rule_cnt);
 	if (!info)
 		return -ENOMEM;

diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index ceef080112a9..a521ac0da2f7 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -1399,7 +1399,7 @@ struct fib_info *fib_create_info(struct fib_config *cfg,

 	fib_info_hash_grow(net);

-	fi = kzalloc_flex(*fi, fib_nh, nhs, GFP_KERNEL);
+	fi = kzalloc_flex(*fi, fib_nh, nhs);
 	if (!fi) {
 		err = -ENOBUFS;
 		goto failure;
diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c
index b9873370c69e..3518c5f27cb2 100644
--- a/net/ipv4/nexthop.c
+++ b/net/ipv4/nexthop.c
@@ -549,7 +549,7 @@ static struct nh_group *nexthop_grp_alloc(u16 num_nh)
 {
 	struct nh_group *nhg;

-	nhg = kzalloc_flex(*nhg, nh_entries, num_nh, GFP_KERNEL);
+	nhg = kzalloc_flex(*nhg, nh_entries, num_nh);
 	if (nhg)
 		nhg->num_nh = num_nh;

diff --git a/net/ipv4/udp_tunnel_nic.c b/net/ipv4/udp_tunnel_nic.c
index 75d9b6d3f51a..9716e98b9291 100644
--- a/net/ipv4/udp_tunnel_nic.c
+++ b/net/ipv4/udp_tunnel_nic.c
@@ -753,7 +753,7 @@ udp_tunnel_nic_alloc(const struct udp_tunnel_nic_info *info,
 	struct udp_tunnel_nic *utn;
 	unsigned int i;

-	utn = kzalloc_flex(*utn, entries, n_tables, GFP_KERNEL);
+	utn = kzalloc_flex(*utn, entries, n_tables);
 	if (!utn)
 		return NULL;
 	utn->n_tables = n_tables;
diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c
index 6341b5bcb4cf..7ef4b44471d3 100644
--- a/net/netfilter/nft_set_pipapo.c
+++ b/net/netfilter/nft_set_pipapo.c
@@ -2236,7 +2236,7 @@ static int nft_pipapo_init(const struct nft_set *set,
 	if (field_count > NFT_PIPAPO_MAX_FIELDS)
 		return -EINVAL;

-	m = kmalloc_flex(*m, f, field_count, GFP_KERNEL);
+	m = kmalloc_flex(*m, f, field_count);
 	if (!m)
 		return -ENOMEM;

diff --git a/net/netfilter/xt_hashlimit.c b/net/netfilter/xt_hashlimit.c
index 64ed12a32906..3bd127bfc114 100644
--- a/net/netfilter/xt_hashlimit.c
+++ b/net/netfilter/xt_hashlimit.c
@@ -293,7 +293,7 @@ static int htable_create(struct net *net, struct hashlimit_cfg3 *cfg,
 		if (size < 16)
 			size = 16;
 	}
-	hinfo = kvmalloc_flex(*hinfo, hash, size, GFP_KERNEL);
+	hinfo = kvmalloc_flex(*hinfo, hash, size);
 	if (hinfo == NULL)
 		return -ENOMEM;
 	*out_hinfo = hinfo;
diff --git a/net/netfilter/xt_recent.c b/net/netfilter/xt_recent.c
index c9a1cc591171..f72752fa4374 100644
--- a/net/netfilter/xt_recent.c
+++ b/net/netfilter/xt_recent.c
@@ -391,7 +391,7 @@ static int recent_mt_check(const struct xt_mtchk_param *par,
 		goto out;
 	}

-	t = kvzalloc_flex(*t, iphash, ip_list_hash_size, GFP_KERNEL);
+	t = kvzalloc_flex(*t, iphash, ip_list_hash_size);
 	if (t == NULL) {
 		ret = -ENOMEM;
 		goto out;
diff --git a/net/openvswitch/meter.c b/net/openvswitch/meter.c
index 0c2db78bb71e..a02c47277337 100644
--- a/net/openvswitch/meter.c
+++ b/net/openvswitch/meter.c
@@ -69,7 +69,7 @@ static struct dp_meter_instance *dp_meter_instance_alloc(const u32 size)
 {
 	struct dp_meter_instance *ti;

-	ti = kvzalloc_flex(*ti, dp_meters, size, GFP_KERNEL);
+	ti = kvzalloc_flex(*ti, dp_meters, size);
 	if (!ti)
 		return NULL;

diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index 75a1c8c8ace1..eec222908977 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -364,7 +364,7 @@ static int u32_init(struct tcf_proto *tp)
 	void *key = tc_u_common_ptr(tp);
 	struct tc_u_common *tp_c = tc_u_common_find(key);

-	root_ht = kzalloc_flex(*root_ht, ht, 1, GFP_KERNEL);
+	root_ht = kzalloc_flex(*root_ht, ht, 1);
 	if (root_ht == NULL)
 		return -ENOBUFS;

@@ -825,7 +825,7 @@ static struct tc_u_knode *u32_init_knode(struct net *net, struct tcf_proto *tp,
 	struct tc_u32_sel *s = &n->sel;
 	struct tc_u_knode *new;

-	new = kzalloc_flex(*new, sel.keys, s->nkeys, GFP_KERNEL);
+	new = kzalloc_flex(*new, sel.keys, s->nkeys);
 	if (!new)
 		return NULL;

@@ -974,7 +974,7 @@ static int u32_change(struct net *net, struct sk_buff *in_skb,
 			NL_SET_ERR_MSG_MOD(extack, "Divisor can only be used on a hash table");
 			return -EINVAL;
 		}
-		ht = kzalloc_flex(*ht, ht, divisor + 1, GFP_KERNEL);
+		ht = kzalloc_flex(*ht, ht, divisor + 1);
 		if (ht == NULL)
 			return -ENOBUFS;
 		if (handle == 0) {
@@ -1104,7 +1104,7 @@ static int u32_change(struct net *net, struct sk_buff *in_skb,
 		goto erridr;
 	}

-	n = kzalloc_flex(*n, sel.keys, s->nkeys, GFP_KERNEL);
+	n = kzalloc_flex(*n, sel.keys, s->nkeys);
 	if (n == NULL) {
 		err = -ENOBUFS;
 		goto erridr;
@@ -1417,7 +1417,7 @@ static int u32_dump(struct net *net, struct tcf_proto *tp, void *fh,
 				goto nla_put_failure;
 		}
 #ifdef CONFIG_CLS_U32_PERF
-		gpf = kzalloc_flex(*gpf, kcnts, n->sel.nkeys, GFP_KERNEL);
+		gpf = kzalloc_flex(*gpf, kcnts, n->sel.nkeys);
 		if (!gpf)
 			goto nla_put_failure;

diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index deb8ebc4401a..cc43e3f7574f 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -530,7 +530,7 @@ static struct qdisc_size_table *qdisc_get_stab(struct nlattr *opt,
 		return ERR_PTR(-EINVAL);
 	}

-	stab = kmalloc_flex(*stab, data, tsize, GFP_KERNEL);
+	stab = kmalloc_flex(*stab, data, tsize);
 	if (!stab)
 		return ERR_PTR(-ENOMEM);

diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index 334d2f93ae89..5de1c932944a 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -814,7 +814,7 @@ static int get_dist_table(struct disttable **tbl, const struct nlattr *attr)
 	if (!n || n > NETEM_DIST_MAX)
 		return -EINVAL;

-	d = kvmalloc_flex(*d, table, n, GFP_KERNEL);
+	d = kvmalloc_flex(*d, table, n);
 	if (!d)
 		return -ENOMEM;

diff --git a/net/sunrpc/svcsock.c b/net/sunrpc/svcsock.c
index e1576c807e07..d7845650f0a0 100644
--- a/net/sunrpc/svcsock.c
+++ b/net/sunrpc/svcsock.c
@@ -1436,7 +1436,7 @@ static struct svc_sock *svc_setup_socket(struct svc_serv *serv,
 		return ERR_PTR(sendpages);

 	pages = svc_serv_maxpages(serv);
-	svsk = kzalloc_flex(*svsk, sk_pages, pages, GFP_KERNEL);
+	svsk = kzalloc_flex(*svsk, sk_pages, pages);
 	if (!svsk)
 		return ERR_PTR(-ENOMEM);

diff --git a/net/sunrpc/xprtrdma/svc_rdma_pcl.c b/net/sunrpc/xprtrdma/svc_rdma_pcl.c
index b7c09a1f1c62..1f8f7dad8b6f 100644
--- a/net/sunrpc/xprtrdma/svc_rdma_pcl.c
+++ b/net/sunrpc/xprtrdma/svc_rdma_pcl.c
@@ -29,7 +29,7 @@ static struct svc_rdma_chunk *pcl_alloc_chunk(u32 segcount, u32 position)
 {
 	struct svc_rdma_chunk *chunk;

-	chunk = kmalloc_flex(*chunk, ch_segments, segcount, GFP_KERNEL);
+	chunk = kmalloc_flex(*chunk, ch_segments, segcount);
 	if (!chunk)
 		return NULL;

diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index e25a15b9267d..814992861b4f 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -5333,7 +5333,7 @@ static struct cfg80211_acl_data *parse_acl_data(struct wiphy *wiphy,
 	if (n_entries > wiphy->max_acl_mac_addrs)
 		return ERR_PTR(-EOPNOTSUPP);

-	acl = kzalloc_flex(*acl, mac_addrs, n_entries, GFP_KERNEL);
+	acl = kzalloc_flex(*acl, mac_addrs, n_entries);
 	if (!acl)
 		return ERR_PTR(-ENOMEM);
 	acl->n_acl_entries = n_entries;
@@ -6113,7 +6113,7 @@ nl80211_parse_mbssid_elems(struct wiphy *wiphy, struct nlattr *attrs)
 		num_elems++;
 	}

-	elems = kzalloc_flex(*elems, elem, num_elems, GFP_KERNEL);
+	elems = kzalloc_flex(*elems, elem, num_elems);
 	if (!elems)
 		return ERR_PTR(-ENOMEM);
 	elems->cnt = num_elems;
@@ -6145,7 +6145,7 @@ nl80211_parse_rnr_elems(struct wiphy *wiphy, struct nlattr *attrs,
 		num_elems++;
 	}

-	elems = kzalloc_flex(*elems, elem, num_elems, GFP_KERNEL);
+	elems = kzalloc_flex(*elems, elem, num_elems);
 	if (!elems)
 		return ERR_PTR(-ENOMEM);
 	elems->cnt = num_elems;
@@ -10157,7 +10157,7 @@ static int nl80211_set_reg(struct sk_buff *skb, struct genl_info *info)
 		goto out;
 	}

-	rd = kzalloc_flex(*rd, reg_rules, num_rules, GFP_KERNEL);
+	rd = kzalloc_flex(*rd, reg_rules, num_rules);
 	if (!rd) {
 		r = -ENOMEM;
 		goto out;
@@ -15378,7 +15378,7 @@ static int nl80211_set_coalesce(struct sk_buff *skb, struct genl_info *info)
 	if (n_rules > coalesce->n_rules)
 		return -EINVAL;

-	new_coalesce = kzalloc_flex(*new_coalesce, rules, n_rules, GFP_KERNEL);
+	new_coalesce = kzalloc_flex(*new_coalesce, rules, n_rules);
 	if (!new_coalesce)
 		return -ENOMEM;

@@ -17462,7 +17462,7 @@ static int nl80211_set_tid_config(struct sk_buff *skb,
 			    rem_conf)
 		num_conf++;

-	tid_config = kzalloc_flex(*tid_config, tid_conf, num_conf, GFP_KERNEL);
+	tid_config = kzalloc_flex(*tid_config, tid_conf, num_conf);
 	if (!tid_config)
 		return -ENOMEM;

@@ -18256,7 +18256,7 @@ static int nl80211_set_sar_specs(struct sk_buff *skb, struct genl_info *info)
 	if (specs > rdev->wiphy.sar_capa->num_freq_ranges)
 		return -EINVAL;

-	sar_spec = kzalloc_flex(*sar_spec, sub_specs, specs, GFP_KERNEL);
+	sar_spec = kzalloc_flex(*sar_spec, sub_specs, specs);
 	if (!sar_spec)
 		return -ENOMEM;

diff --git a/net/wireless/pmsr.c b/net/wireless/pmsr.c
index 41aa8636a243..44bd88c9ea66 100644
--- a/net/wireless/pmsr.c
+++ b/net/wireless/pmsr.c
@@ -312,7 +312,7 @@ int nl80211_pmsr_start(struct sk_buff *skb, struct genl_info *info)
 		}
 	}

-	req = kzalloc_flex(*req, peers, count, GFP_KERNEL);
+	req = kzalloc_flex(*req, peers, count);
 	if (!req)
 		return -ENOMEM;
 	req->n_peers = count;
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 4d7479ffda36..1c5c38d18feb 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -452,7 +452,7 @@ reg_copy_regd(const struct ieee80211_regdomain *src_regd)
 	struct ieee80211_regdomain *regd;
 	unsigned int i;

-	regd = kzalloc_flex(*regd, reg_rules, src_regd->n_reg_rules, GFP_KERNEL);
+	regd = kzalloc_flex(*regd, reg_rules, src_regd->n_reg_rules);
 	if (!regd)
 		return ERR_PTR(-ENOMEM);

@@ -932,7 +932,7 @@ static int regdb_query_country(const struct fwdb_header *db,
 	struct ieee80211_regdomain *regdom;
 	unsigned int i;

-	regdom = kzalloc_flex(*regdom, reg_rules, coll->n_rules, GFP_KERNEL);
+	regdom = kzalloc_flex(*regdom, reg_rules, coll->n_rules);
 	if (!regdom)
 		return -ENOMEM;

@@ -1530,7 +1530,7 @@ regdom_intersect(const struct ieee80211_regdomain *rd1,
 	if (!num_rules)
 		return NULL;

-	rd = kzalloc_flex(*rd, reg_rules, num_rules, GFP_KERNEL);
+	rd = kzalloc_flex(*rd, reg_rules, num_rules);
 	if (!rd)
 		return NULL;

diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index 89174a9049a3..328af43ef832 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -1085,7 +1085,7 @@ int cfg80211_scan(struct cfg80211_registered_device *rdev)
 	if (!n_channels)
 		return cfg80211_scan_6ghz(rdev, true);

-	request = kzalloc_flex(*request, req.channels, n_channels, GFP_KERNEL);
+	request = kzalloc_flex(*request, req.channels, n_channels);
 	if (!request)
 		return -ENOMEM;

diff --git a/net/xdp/xsk_buff_pool.c b/net/xdp/xsk_buff_pool.c
index c5015802f946..e8a62743e3db 100644
--- a/net/xdp/xsk_buff_pool.c
+++ b/net/xdp/xsk_buff_pool.c
@@ -59,7 +59,7 @@ struct xsk_buff_pool *xp_create_and_assign_umem(struct xdp_sock *xs,
 	u32 i, entries;

 	entries = unaligned ? umem->chunks : 0;
-	pool = kvzalloc_flex(*pool, free_heads, entries, GFP_KERNEL);
+	pool = kvzalloc_flex(*pool, free_heads, entries);
 	if (!pool)
 		goto out;

diff --git a/security/integrity/ima/ima_modsig.c b/security/integrity/ima/ima_modsig.c
index daeeddae3878..9aa92fd35a03 100644
--- a/security/integrity/ima/ima_modsig.c
+++ b/security/integrity/ima/ima_modsig.c
@@ -65,7 +65,7 @@ int ima_read_modsig(enum ima_hooks func, const void *buf, loff_t buf_len,
 	buf_len -= sig_len + sizeof(*sig);

 	/* Allocate sig_len additional bytes to hold the raw PKCS#7 data. */
-	hdr = kzalloc_flex(*hdr, raw_pkcs7, sig_len, GFP_KERNEL);
+	hdr = kzalloc_flex(*hdr, raw_pkcs7, sig_len);
 	if (!hdr)
 		return -ENOMEM;

diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c
index 420642f96cab..7d63764feda2 100644
--- a/security/integrity/ima/ima_policy.c
+++ b/security/integrity/ima/ima_policy.c
@@ -342,7 +342,7 @@ static struct ima_rule_opt_list *ima_alloc_rule_opt_list(const substring_t *src)
 		return ERR_PTR(-EINVAL);
 	}

-	opt_list = kzalloc_flex(*opt_list, items, count, GFP_KERNEL);
+	opt_list = kzalloc_flex(*opt_list, items, count);
 	if (!opt_list) {
 		kfree(src_copy);
 		return ERR_PTR(-ENOMEM);
diff --git a/security/landlock/domain.c b/security/landlock/domain.c
index 29a0f9789eee..f5b78d4766cd 100644
--- a/security/landlock/domain.c
+++ b/security/landlock/domain.c
@@ -95,7 +95,7 @@ static struct landlock_details *get_current_details(void)
 	 * caller.
 	 */
 	details =
-		kzalloc_flex(*details, exe_path, path_size, GFP_KERNEL);
+		kzalloc_flex(*details, exe_path, path_size);
 	if (!details)
 		return ERR_PTR(-ENOMEM);

diff --git a/security/loadpin/loadpin.c b/security/loadpin/loadpin.c
index 62b9ee7caefb..f71861f98e1a 100644
--- a/security/loadpin/loadpin.c
+++ b/security/loadpin/loadpin.c
@@ -327,7 +327,7 @@ static int read_trusted_verity_root_digests(unsigned int fd)

 		len /= 2;

-		trd = kzalloc_flex(*trd, data, len, GFP_KERNEL);
+		trd = kzalloc_flex(*trd, data, len);
 		if (!trd) {
 			rc = -ENOMEM;
 			goto err;
diff --git a/sound/core/control.c b/sound/core/control.c
index ffefc5ec6d6b..934e84e93838 100644
--- a/sound/core/control.c
+++ b/sound/core/control.c
@@ -233,7 +233,7 @@ static int snd_ctl_new(struct snd_kcontrol **kctl, unsigned int count,
 	if (count == 0 || count > MAX_CONTROL_COUNT)
 		return -EINVAL;

-	*kctl = kzalloc_flex(**kctl, vd, count, GFP_KERNEL);
+	*kctl = kzalloc_flex(**kctl, vd, count);
 	if (!*kctl)
 		return -ENOMEM;

diff --git a/sound/core/vmaster.c b/sound/core/vmaster.c
index fe7683c9c31a..cd3dcaaf9f72 100644
--- a/sound/core/vmaster.c
+++ b/sound/core/vmaster.c
@@ -256,7 +256,7 @@ int _snd_ctl_add_follower(struct snd_kcontrol *master,
 	struct link_master *master_link = snd_kcontrol_chip(master);
 	struct link_follower *srec;

-	srec = kzalloc_flex(*srec, follower.vd, follower->count, GFP_KERNEL);
+	srec = kzalloc_flex(*srec, follower.vd, follower->count);
 	if (!srec)
 		return -ENOMEM;
 	srec->kctl = follower;
diff --git a/sound/hda/common/codec.c b/sound/hda/common/codec.c
index feebe56cba67..09b1329bb8f3 100644
--- a/sound/hda/common/codec.c
+++ b/sound/hda/common/codec.c
@@ -117,7 +117,7 @@ static int add_conn_list(struct hda_codec *codec, hda_nid_t nid, int len,
 {
 	struct hda_conn_list *p;

-	p = kmalloc_flex(*p, conns, len, GFP_KERNEL);
+	p = kmalloc_flex(*p, conns, len);
 	if (!p)
 		return -ENOMEM;
 	p->len = len;
diff --git a/sound/soc/codecs/sigmadsp.c b/sound/soc/codecs/sigmadsp.c
index c2a6a1f446d6..3343dbb63d2b 100644
--- a/sound/soc/codecs/sigmadsp.c
+++ b/sound/soc/codecs/sigmadsp.c
@@ -270,7 +270,7 @@ static int sigma_fw_load_data(struct sigmadsp *sigmadsp,

 	length -= sizeof(*data_chunk);

-	data = kzalloc_flex(*data, data, length, GFP_KERNEL);
+	data = kzalloc_flex(*data, data, length);
 	if (!data)
 		return -ENOMEM;

@@ -413,7 +413,7 @@ static int process_sigma_action(struct sigmadsp *sigmadsp,
 		if (len < 3)
 			return -EINVAL;

-		data = kzalloc_flex(*data, data, size_sub(len, 2), GFP_KERNEL);
+		data = kzalloc_flex(*data, data, size_sub(len, 2));
 		if (!data)
 			return -ENOMEM;

diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 5abfb183c3b1..ea76524d9b76 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -1435,7 +1435,7 @@ static int dapm_widget_list_create(struct snd_soc_dapm_widget_list **list,
 	list_for_each(it, widgets)
 		size++;

-	*list = kzalloc_flex(**list, widgets, size, GFP_KERNEL);
+	*list = kzalloc_flex(**list, widgets, size);
 	if (*list == NULL)
 		return -ENOMEM;

diff --git a/sound/soc/sof/intel/telemetry.c b/sound/soc/sof/intel/telemetry.c
index 967b5b577f03..05c2eb879481 100644
--- a/sound/soc/sof/intel/telemetry.c
+++ b/sound/soc/sof/intel/telemetry.c
@@ -71,7 +71,7 @@ void sof_ipc4_intel_dump_telemetry_state(struct snd_sof_dev *sdev, u32 flags)
 		break;
 	}

-	xoops = kzalloc_flex(*xoops, ar, XTENSA_CORE_AR_REGS_COUNT, GFP_KERNEL);
+	xoops = kzalloc_flex(*xoops, ar, XTENSA_CORE_AR_REGS_COUNT);
 	if (!xoops)
 		goto free_block;

diff --git a/sound/usb/usx2y/usbusx2yaudio.c b/sound/usb/usx2y/usbusx2yaudio.c
index c913354247c7..9dcd1d18c199 100644
--- a/sound/usb/usx2y/usbusx2yaudio.c
+++ b/sound/usb/usx2y/usbusx2yaudio.c
@@ -657,7 +657,7 @@ static int usx2y_rate_set(struct usx2ydev *usx2y, int rate)
 	struct urb *urb;

 	if (usx2y->rate != rate) {
-		us = kzalloc_flex(*us, urb, NOOF_SETRATE_URBS, GFP_KERNEL);
+		us = kzalloc_flex(*us, urb, NOOF_SETRATE_URBS);
 		if (!us) {
 			err = -ENOMEM;
 			goto cleanup;
diff --git a/sound/virtio/virtio_pcm_msg.c b/sound/virtio/virtio_pcm_msg.c
index 7b27f242bf5f..a5c4e7027717 100644
--- a/sound/virtio/virtio_pcm_msg.c
+++ b/sound/virtio/virtio_pcm_msg.c
@@ -146,7 +146,7 @@ int virtsnd_pcm_msg_alloc(struct virtio_pcm_substream *vss,
 		int sg_num = virtsnd_pcm_sg_num(data, period_bytes);
 		struct virtio_pcm_msg *msg;

-		msg = kzalloc_flex(*msg, sgs, sg_num + 2, GFP_KERNEL);
+		msg = kzalloc_flex(*msg, sgs, sg_num + 2);
 		if (!msg)
 			return -ENOMEM;