Linux MM tree latest commits
 help / color / mirror / Atom feed
From: akpm@linux-foundation.org
To: akpm@linux-foundation.org, mm-commits@vger.kernel.org
Subject: [obsolete] linux-next-git-rejects.patch removed from -mm tree
Date: Tue, 02 Jan 2018 11:51:50 -0800	[thread overview]
Message-ID: <20180102195150.oiMaClCdn%akpm@linux-foundation.org> (raw)


The patch titled
     Subject: linux-next-git-rejects
has been removed from the -mm tree.  Its filename was
     linux-next-git-rejects.patch

This patch was dropped because it is obsolete

------------------------------------------------------
From: Andrew Morton <akpm@linux-foundation.org>
Subject: linux-next-git-rejects

Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 drivers/clk/clk.c                                           |    3 
 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c |   36 
 drivers/gpu/drm/drm_syncobj.c                               |    3 
 drivers/gpu/drm/i915/intel_ddi.c                            |    4 
 drivers/gpu/drm/i915/intel_display.c                        |   28 
 drivers/net/ethernet/netronome/nfp/bpf/main.c               |   56 -
 drivers/net/phy/marvell.c                                   |    4 
 kernel/bpf/verifier.c                                       |    3 
 net/ipv6/route.c                                            |    6 
 tools/testing/selftests/bpf/test_verifier.c                 |  553 ----------
 10 files changed, 696 deletions(-)

diff -puN drivers/clk/clk.c~linux-next-git-rejects drivers/clk/clk.c
--- a/drivers/clk/clk.c~linux-next-git-rejects
+++ a/drivers/clk/clk.c
@@ -1821,8 +1821,6 @@ static void clk_change_rate(struct clk_c
 		clk_change_rate(core->new_child);
 
 	clk_pm_runtime_put(core);
-<<<<<<< HEAD
-=======
 }
 
 static unsigned long clk_core_req_round_rate_nolock(struct clk_core *core,
@@ -1850,7 +1848,6 @@ static unsigned long clk_core_req_round_
 	clk_core_rate_restore_protect(core, cnt);
 
 	return ret ? 0 : req.rate;
->>>>>>> linux-next/akpm-base
 }
 
 static int clk_core_set_rate_nolock(struct clk_core *core,
diff -puN drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c~linux-next-git-rejects drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c~linux-next-git-rejects
+++ a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c
@@ -216,42 +216,6 @@ void dm_dp_mst_dc_sink_create(struct drm
 					&aconnector->base, aconnector->edid);
 }
 
-void dm_dp_mst_dc_sink_create(struct drm_connector *connector)
-{
-	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
-	struct edid *edid;
-	struct dc_sink *dc_sink;
-	struct dc_sink_init_data init_params = {
-			.link = aconnector->dc_link,
-			.sink_signal = SIGNAL_TYPE_DISPLAY_PORT_MST };
-
-	edid = drm_dp_mst_get_edid(connector, &aconnector->mst_port->mst_mgr, aconnector->port);
-
-	if (!edid) {
-		drm_mode_connector_update_edid_property(
-			&aconnector->base,
-			NULL);
-		return;
-	}
-
-	aconnector->edid = edid;
-
-	dc_sink = dc_link_add_remote_sink(
-		aconnector->dc_link,
-		(uint8_t *)aconnector->edid,
-		(aconnector->edid->extensions + 1) * EDID_LENGTH,
-		&init_params);
-
-	dc_sink->priv = aconnector;
-	aconnector->dc_sink = dc_sink;
-
-	amdgpu_dm_add_sink_to_freesync_module(
-			connector, aconnector->edid);
-
-	drm_mode_connector_update_edid_property(
-					&aconnector->base, aconnector->edid);
-}
-
 static int dm_dp_mst_get_modes(struct drm_connector *connector)
 {
 	struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector);
diff -puN drivers/gpu/drm/drm_syncobj.c~linux-next-git-rejects drivers/gpu/drm/drm_syncobj.c
--- a/drivers/gpu/drm/drm_syncobj.c~linux-next-git-rejects
+++ a/drivers/gpu/drm/drm_syncobj.c
@@ -399,8 +399,6 @@ static const struct file_operations drm_
 	.release = drm_syncobj_file_release,
 };
 
-<<<<<<< HEAD
-=======
 static int drm_syncobj_alloc_file(struct drm_syncobj *syncobj)
 {
 	struct file *file = anon_inode_getfile("syncobj_file",
@@ -427,7 +425,6 @@ static int drm_syncobj_alloc_file(struct
  *
  * Returns 0 on success or a negative error value on failure.
  */
->>>>>>> linux-next/akpm-base
 int drm_syncobj_get_fd(struct drm_syncobj *syncobj, int *p_fd)
 {
 	struct file *file;
diff -puN drivers/gpu/drm/i915/intel_ddi.c~linux-next-git-rejects drivers/gpu/drm/i915/intel_ddi.c
--- a/drivers/gpu/drm/i915/intel_ddi.c~linux-next-git-rejects
+++ a/drivers/gpu/drm/i915/intel_ddi.c
@@ -2095,11 +2095,7 @@ static void intel_ddi_clk_select(struct
 	if (WARN_ON(!pll))
 		return;
 
-<<<<<<< HEAD
-	 mutex_lock(&dev_priv->dpll_lock);
-=======
 	mutex_lock(&dev_priv->dpll_lock);
->>>>>>> linux-next/akpm-base
 
 	if (IS_CANNONLAKE(dev_priv)) {
 		/* Configure DPCLKA_CFGCR0 to map the DPLL to the DDI. */
diff -puN drivers/gpu/drm/i915/intel_display.c~linux-next-git-rejects drivers/gpu/drm/i915/intel_display.c
--- a/drivers/gpu/drm/i915/intel_display.c~linux-next-git-rejects
+++ a/drivers/gpu/drm/i915/intel_display.c
@@ -9855,39 +9855,11 @@ found:
 	if (!mode)
 		mode = &load_detect_mode;
 
-<<<<<<< HEAD
-	/* We need a framebuffer large enough to accommodate all accesses
-	 * that the plane may generate whilst we perform load detection.
-	 * We can not rely on the fbcon either being present (we get called
-	 * during its initialisation to detect all boot displays, or it may
-	 * not even exist) or that it is large enough to satisfy the
-	 * requested mode.
-	 */
-	fb = mode_fits_in_fbdev(dev, mode);
-	if (fb == NULL) {
-		DRM_DEBUG_KMS("creating tmp fb for load-detection\n");
-		fb = intel_framebuffer_create_for_mode(dev, mode, 24, 32);
-	} else
-		DRM_DEBUG_KMS("reusing fbdev for load-detection framebuffer\n");
-	if (IS_ERR(fb)) {
-		DRM_DEBUG_KMS("failed to allocate framebuffer for load-detection\n");
-		ret = PTR_ERR(fb);
-		goto fail;
-	}
-
-	ret = intel_modeset_setup_plane_state(state, crtc, mode, fb, 0, 0);
-	drm_framebuffer_put(fb);
-	if (ret)
-		goto fail;
-
-	ret = drm_atomic_set_mode_for_crtc(&crtc_state->base, mode);
-=======
 	ret = drm_atomic_set_mode_for_crtc(&crtc_state->base, mode);
 	if (ret)
 		goto fail;
 
 	ret = intel_modeset_disable_planes(state, crtc);
->>>>>>> linux-next/akpm-base
 	if (ret)
 		goto fail;
 
diff -puN drivers/net/ethernet/netronome/nfp/bpf/main.c~linux-next-git-rejects drivers/net/ethernet/netronome/nfp/bpf/main.c
--- a/drivers/net/ethernet/netronome/nfp/bpf/main.c~linux-next-git-rejects
+++ a/drivers/net/ethernet/netronome/nfp/bpf/main.c
@@ -84,38 +84,6 @@ static const char *nfp_bpf_extra_cap(str
 	return nfp_net_ebpf_capable(nn) ? "BPF" : "";
 }
 
-<<<<<<< HEAD
-static int
-nfp_bpf_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, unsigned int id)
-{
-	int err;
-
-	nn->app_priv = kzalloc(sizeof(struct nfp_bpf_vnic), GFP_KERNEL);
-	if (!nn->app_priv)
-		return -ENOMEM;
-
-	err = nfp_app_nic_vnic_alloc(app, nn, id);
-	if (err)
-		goto err_free_priv;
-
-	return 0;
-err_free_priv:
-	kfree(nn->app_priv);
-	return err;
-}
-
-static void nfp_bpf_vnic_free(struct nfp_app *app, struct nfp_net *nn)
-{
-	struct nfp_bpf_vnic *bv = nn->app_priv;
-
-	if (nn->dp.bpf_offload_xdp)
-		nfp_bpf_xdp_offload(app, nn, NULL);
-	WARN_ON(bv->tc_prog);
-	kfree(bv);
-}
-
-=======
->>>>>>> linux-next/akpm-base
 static int nfp_bpf_setup_tc_block_cb(enum tc_setup_type type,
 				     void *type_data, void *cb_priv)
 {
@@ -142,26 +110,7 @@ static int nfp_bpf_setup_tc_block_cb(enu
 	if (cls_bpf->command != TC_CLSBPF_OFFLOAD)
 		return -EOPNOTSUPP;
 
-<<<<<<< HEAD
-	bv = nn->app_priv;
-	oldprog = cls_bpf->oldprog;
-
-	/* Don't remove if oldprog doesn't match driver's state */
-	if (bv->tc_prog != oldprog) {
-		oldprog = NULL;
-		if (!cls_bpf->prog)
-			return 0;
-	}
-
-	err = nfp_net_bpf_offload(nn, cls_bpf->prog, oldprog);
-	if (err)
-		return err;
-
-	bv->tc_prog = cls_bpf->prog;
-	return 0;
-=======
 	return nfp_net_bpf_offload(nn, cls_bpf->prog, cls_bpf->oldprog);
->>>>>>> linux-next/akpm-base
 }
 
 static int nfp_bpf_setup_tc_block(struct net_device *netdev,
@@ -322,12 +271,7 @@ const struct nfp_app_type app_bpf = {
 
 	.extra_cap	= nfp_bpf_extra_cap,
 
-<<<<<<< HEAD
-	.vnic_alloc	= nfp_bpf_vnic_alloc,
-	.vnic_free	= nfp_bpf_vnic_free,
-=======
 	.vnic_alloc	= nfp_app_nic_vnic_alloc,
->>>>>>> linux-next/akpm-base
 
 	.setup_tc	= nfp_bpf_setup_tc,
 	.tc_busy	= nfp_bpf_tc_busy,
diff -puN drivers/net/phy/marvell.c~linux-next-git-rejects drivers/net/phy/marvell.c
--- a/drivers/net/phy/marvell.c~linux-next-git-rejects
+++ a/drivers/net/phy/marvell.c
@@ -2083,10 +2083,6 @@ static struct phy_driver marvell_drivers
 		.probe = marvell_probe,
 		.config_init = &m88e1145_config_init,
 		.config_aneg = &m88e1101_config_aneg,
-<<<<<<< HEAD
-		.read_status = &genphy_read_status,
-=======
->>>>>>> linux-next/akpm-base
 		.ack_interrupt = &marvell_ack_interrupt,
 		.config_intr = &marvell_config_intr,
 		.resume = &genphy_resume,
diff -puN kernel/bpf/verifier.c~linux-next-git-rejects kernel/bpf/verifier.c
--- a/kernel/bpf/verifier.c~linux-next-git-rejects
+++ a/kernel/bpf/verifier.c
@@ -1454,8 +1454,6 @@ static void coerce_reg_to_size(struct bp
 	reg->smax_value = reg->umax_value;
 }
 
-<<<<<<< HEAD
-=======
 static int update_stack_depth(struct bpf_verifier_env *env,
 			      const struct bpf_func_state *func,
 			      int off)
@@ -1504,7 +1502,6 @@ static int get_callee_stack_depth(struct
 	return env->subprog_stack_depth[subprog];
 }
 
->>>>>>> linux-next/akpm-base
 /* check whether memory at (regno + off) is accessible for t = (read | write)
  * if t==write, value_regno is a register which value is stored into memory
  * if t==read, value_regno is a register which will receive the value from memory
diff -puN net/ipv6/route.c~linux-next-git-rejects net/ipv6/route.c
--- a/net/ipv6/route.c~linux-next-git-rejects
+++ a/net/ipv6/route.c
@@ -4321,14 +4321,8 @@ static int inet6_rtm_getroute(struct sk_
 		goto errout;
 	}
 
-<<<<<<< HEAD
-	if (fibmatch && rt->dst.from) {
-		struct rt6_info *ort = container_of(rt->dst.from,
-						    struct rt6_info, dst);
-=======
 	if (fibmatch && rt->from) {
 		struct rt6_info *ort = rt->from;
->>>>>>> linux-next/akpm-base
 
 		dst_hold(&ort->dst);
 		ip6_rt_put(rt);
diff -puN tools/testing/selftests/bpf/test_verifier.c~linux-next-git-rejects tools/testing/selftests/bpf/test_verifier.c
--- a/tools/testing/selftests/bpf/test_verifier.c~linux-next-git-rejects
+++ a/tools/testing/selftests/bpf/test_verifier.c
@@ -6753,7 +6753,6 @@ static struct bpf_test tests[] = {
 	},
 	{
 		"bounds check based on zero-extended MOV",
-<<<<<<< HEAD
 		.insns = {
 			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
@@ -7210,533 +7209,6 @@ static struct bpf_test tests[] = {
 	},
 	{
 		"variable-offset ctx access",
-=======
->>>>>>> linux-next/akpm-base
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 4),
-			/* r2 = 0x0000'0000'ffff'ffff */
-			BPF_MOV32_IMM(BPF_REG_2, 0xffffffff),
-			/* r2 = 0 */
-			BPF_ALU64_IMM(BPF_RSH, BPF_REG_2, 32),
-			/* no-op */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_2),
-			/* access at offset 0 */
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 0),
-			/* exit */
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.result = ACCEPT
-	},
-	{
-		"bounds check based on sign-extended MOV. test1",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 4),
-			/* r2 = 0xffff'ffff'ffff'ffff */
-			BPF_MOV64_IMM(BPF_REG_2, 0xffffffff),
-			/* r2 = 0xffff'ffff */
-			BPF_ALU64_IMM(BPF_RSH, BPF_REG_2, 32),
-			/* r0 = <oob pointer> */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_2),
-			/* access to OOB pointer */
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 0),
-			/* exit */
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.errstr = "map_value pointer and 4294967295",
-		.result = REJECT
-	},
-	{
-<<<<<<< HEAD
-		"indirect variable-offset stack access",
-		.insns = {
-			/* Fill the top 8 bytes of the stack */
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			/* Get an unknown value */
-			BPF_LDX_MEM(BPF_W, BPF_REG_2, BPF_REG_1, 0),
-			/* Make it small and 4-byte aligned */
-			BPF_ALU64_IMM(BPF_AND, BPF_REG_2, 4),
-			BPF_ALU64_IMM(BPF_SUB, BPF_REG_2, 8),
-			/* add it to fp.  We now have either fp-4 or fp-8, but
-			 * we don't know which
-			 */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_2, BPF_REG_10),
-			/* dereference it indirectly */
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 5 },
-		.errstr = "variable stack read R2",
-		.result = REJECT,
-		.prog_type = BPF_PROG_TYPE_LWT_IN,
-	},
-	{
-		"direct stack access with 32-bit wraparound. test1",
-		.insns = {
-			BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x7fffffff),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x7fffffff),
-			BPF_MOV32_IMM(BPF_REG_0, 0),
-			BPF_STX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
-			BPF_EXIT_INSN()
-		},
-		.errstr = "fp pointer and 2147483647",
-		.result = REJECT
-	},
-	{
-		"direct stack access with 32-bit wraparound. test2",
-		.insns = {
-			BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x3fffffff),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x3fffffff),
-			BPF_MOV32_IMM(BPF_REG_0, 0),
-			BPF_STX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
-			BPF_EXIT_INSN()
-		},
-		.errstr = "fp pointer and 1073741823",
-		.result = REJECT
-	},
-	{
-		"direct stack access with 32-bit wraparound. test3",
-		.insns = {
-			BPF_MOV64_REG(BPF_REG_1, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x1fffffff),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x1fffffff),
-			BPF_MOV32_IMM(BPF_REG_0, 0),
-			BPF_STX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
-			BPF_EXIT_INSN()
-		},
-		.errstr = "fp pointer offset 1073741822",
-		.result = REJECT
-	},
-	{
-		"liveness pruning and write screening",
-=======
-		"bounds check based on sign-extended MOV. test2",
->>>>>>> linux-next/akpm-base
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 4),
-			/* r2 = 0xffff'ffff'ffff'ffff */
-			BPF_MOV64_IMM(BPF_REG_2, 0xffffffff),
-			/* r2 = 0xfff'ffff */
-			BPF_ALU64_IMM(BPF_RSH, BPF_REG_2, 36),
-			/* r0 = <oob pointer> */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_2),
-			/* access to OOB pointer */
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 0),
-			/* exit */
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.errstr = "R0 min value is outside of the array range",
-		.result = REJECT
-	},
-	{
-		"bounds check based on reg_off + var_off + insn_off. test1",
-		.insns = {
-			BPF_LDX_MEM(BPF_W, BPF_REG_6, BPF_REG_1,
-				    offsetof(struct __sk_buff, mark)),
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 4),
-			BPF_ALU64_IMM(BPF_AND, BPF_REG_6, 1),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, (1 << 29) - 1),
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_6),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, (1 << 29) - 1),
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 3),
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 4 },
-		.errstr = "value_size=8 off=1073741825",
-		.result = REJECT,
-		.prog_type = BPF_PROG_TYPE_SCHED_CLS,
-	},
-	{
-		"bounds check based on reg_off + var_off + insn_off. test2",
-		.insns = {
-			BPF_LDX_MEM(BPF_W, BPF_REG_6, BPF_REG_1,
-				    offsetof(struct __sk_buff, mark)),
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 4),
-			BPF_ALU64_IMM(BPF_AND, BPF_REG_6, 1),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_6, (1 << 30) - 1),
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_6),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, (1 << 29) - 1),
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 3),
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 4 },
-		.errstr = "value 1073741823",
-		.result = REJECT,
-		.prog_type = BPF_PROG_TYPE_SCHED_CLS,
-	},
-	{
-		"bounds check after truncation of non-boundary-crossing range",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
-			/* r1 = [0x00, 0xff] */
-			BPF_LDX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
-			BPF_MOV64_IMM(BPF_REG_2, 1),
-			/* r2 = 0x10'0000'0000 */
-			BPF_ALU64_IMM(BPF_LSH, BPF_REG_2, 36),
-			/* r1 = [0x10'0000'0000, 0x10'0000'00ff] */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_1, BPF_REG_2),
-			/* r1 = [0x10'7fff'ffff, 0x10'8000'00fe] */
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x7fffffff),
-			/* r1 = [0x00, 0xff] */
-			BPF_ALU32_IMM(BPF_SUB, BPF_REG_1, 0x7fffffff),
-			/* r1 = 0 */
-			BPF_ALU64_IMM(BPF_RSH, BPF_REG_1, 8),
-			/* no-op */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_1),
-			/* access at offset 0 */
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 0),
-			/* exit */
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.result = ACCEPT
-	},
-	{
-		"bounds check after truncation of boundary-crossing range (1)",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
-			/* r1 = [0x00, 0xff] */
-			BPF_LDX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0xffffff80 >> 1),
-			/* r1 = [0xffff'ff80, 0x1'0000'007f] */
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0xffffff80 >> 1),
-			/* r1 = [0xffff'ff80, 0xffff'ffff] or
-			 *      [0x0000'0000, 0x0000'007f]
-			 */
-			BPF_ALU32_IMM(BPF_ADD, BPF_REG_1, 0),
-			BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 0xffffff80 >> 1),
-			/* r1 = [0x00, 0xff] or
-			 *      [0xffff'ffff'0000'0080, 0xffff'ffff'ffff'ffff]
-			 */
-			BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 0xffffff80 >> 1),
-			/* r1 = 0 or
-			 *      [0x00ff'ffff'ff00'0000, 0x00ff'ffff'ffff'ffff]
-			 */
-			BPF_ALU64_IMM(BPF_RSH, BPF_REG_1, 8),
-			/* no-op or OOB pointer computation */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_1),
-			/* potentially OOB access */
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 0),
-			/* exit */
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		/* not actually fully unbounded, but the bound is very high */
-		.errstr = "R0 unbounded memory access",
-		.result = REJECT
-	},
-	{
-		"bounds check after truncation of boundary-crossing range (2)",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
-			/* r1 = [0x00, 0xff] */
-			BPF_LDX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0xffffff80 >> 1),
-			/* r1 = [0xffff'ff80, 0x1'0000'007f] */
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0xffffff80 >> 1),
-			/* r1 = [0xffff'ff80, 0xffff'ffff] or
-			 *      [0x0000'0000, 0x0000'007f]
-			 * difference to previous test: truncation via MOV32
-			 * instead of ALU32.
-			 */
-			BPF_MOV32_REG(BPF_REG_1, BPF_REG_1),
-			BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 0xffffff80 >> 1),
-			/* r1 = [0x00, 0xff] or
-			 *      [0xffff'ffff'0000'0080, 0xffff'ffff'ffff'ffff]
-			 */
-			BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 0xffffff80 >> 1),
-			/* r1 = 0 or
-			 *      [0x00ff'ffff'ff00'0000, 0x00ff'ffff'ffff'ffff]
-			 */
-			BPF_ALU64_IMM(BPF_RSH, BPF_REG_1, 8),
-			/* no-op or OOB pointer computation */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_1),
-			/* potentially OOB access */
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 0),
-			/* exit */
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		/* not actually fully unbounded, but the bound is very high */
-		.errstr = "R0 unbounded memory access",
-		.result = REJECT
-	},
-	{
-		"bounds check after wrapping 32-bit addition",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 5),
-			/* r1 = 0x7fff'ffff */
-			BPF_MOV64_IMM(BPF_REG_1, 0x7fffffff),
-			/* r1 = 0xffff'fffe */
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_1, 0x7fffffff),
-			/* r1 = 0 */
-			BPF_ALU32_IMM(BPF_ADD, BPF_REG_1, 2),
-			/* no-op */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_1),
-			/* access at offset 0 */
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 0),
-			/* exit */
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.result = ACCEPT
-	},
-	{
-		"bounds check after shift with oversized count operand",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6),
-			BPF_MOV64_IMM(BPF_REG_2, 32),
-			BPF_MOV64_IMM(BPF_REG_1, 1),
-			/* r1 = (u32)1 << (u32)32 = ? */
-			BPF_ALU32_REG(BPF_LSH, BPF_REG_1, BPF_REG_2),
-			/* r1 = [0x0000, 0xffff] */
-			BPF_ALU64_IMM(BPF_AND, BPF_REG_1, 0xffff),
-			/* computes unknown pointer, potentially OOB */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_1),
-			/* potentially OOB access */
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 0),
-			/* exit */
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.errstr = "R0 max value is outside of the array range",
-		.result = REJECT
-	},
-	{
-		"bounds check after right shift of maybe-negative number",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6),
-			/* r1 = [0x00, 0xff] */
-			BPF_LDX_MEM(BPF_B, BPF_REG_1, BPF_REG_0, 0),
-			/* r1 = [-0x01, 0xfe] */
-			BPF_ALU64_IMM(BPF_SUB, BPF_REG_1, 1),
-			/* r1 = 0 or 0xff'ffff'ffff'ffff */
-			BPF_ALU64_IMM(BPF_RSH, BPF_REG_1, 8),
-			/* r1 = 0 or 0xffff'ffff'ffff */
-			BPF_ALU64_IMM(BPF_RSH, BPF_REG_1, 8),
-			/* computes unknown pointer, potentially OOB */
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_1),
-			/* potentially OOB access */
-			BPF_LDX_MEM(BPF_B, BPF_REG_0, BPF_REG_0, 0),
-			/* exit */
-			BPF_MOV64_IMM(BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.errstr = "R0 unbounded memory access",
-		.result = REJECT
-	},
-	{
-		"bounds check map access with off+size signed 32bit overflow. test1",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
-			BPF_EXIT_INSN(),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 0x7ffffffe),
-			BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 0),
-			BPF_JMP_A(0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.errstr = "map_value pointer and 2147483646",
-		.result = REJECT
-	},
-	{
-		"bounds check map access with off+size signed 32bit overflow. test2",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
-			BPF_EXIT_INSN(),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 0x1fffffff),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 0x1fffffff),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 0x1fffffff),
-			BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 0),
-			BPF_JMP_A(0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.errstr = "pointer offset 1073741822",
-		.result = REJECT
-	},
-	{
-		"bounds check map access with off+size signed 32bit overflow. test3",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
-			BPF_EXIT_INSN(),
-			BPF_ALU64_IMM(BPF_SUB, BPF_REG_0, 0x1fffffff),
-			BPF_ALU64_IMM(BPF_SUB, BPF_REG_0, 0x1fffffff),
-			BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 2),
-			BPF_JMP_A(0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.errstr = "pointer offset -1073741822",
-		.result = REJECT
-	},
-	{
-		"bounds check map access with off+size signed 32bit overflow. test4",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1),
-			BPF_EXIT_INSN(),
-			BPF_MOV64_IMM(BPF_REG_1, 1000000),
-			BPF_ALU64_IMM(BPF_MUL, BPF_REG_1, 1000000),
-			BPF_ALU64_REG(BPF_ADD, BPF_REG_0, BPF_REG_1),
-			BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 2),
-			BPF_JMP_A(0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.errstr = "map_value pointer and 1000000000000",
-		.result = REJECT
-	},
-	{
-		"pointer/scalar confusion in state equality check (way 1)",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 2),
-			BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 0),
-			BPF_JMP_A(1),
-			BPF_MOV64_REG(BPF_REG_0, BPF_REG_10),
-			BPF_JMP_A(0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.result = ACCEPT,
-		.result_unpriv = REJECT,
-		.errstr_unpriv = "R0 leaks addr as return value"
-	},
-	{
-		"pointer/scalar confusion in state equality check (way 2)",
-		.insns = {
-			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
-			BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
-			BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
-			BPF_LD_MAP_FD(BPF_REG_1, 0),
-			BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0,
-				     BPF_FUNC_map_lookup_elem),
-			BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 2),
-			BPF_MOV64_REG(BPF_REG_0, BPF_REG_10),
-			BPF_JMP_A(1),
-			BPF_LDX_MEM(BPF_DW, BPF_REG_0, BPF_REG_0, 0),
-			BPF_EXIT_INSN(),
-		},
-		.fixup_map1 = { 3 },
-		.result = ACCEPT,
-		.result_unpriv = REJECT,
-		.errstr_unpriv = "R0 leaks addr as return value"
-	},
-	{
-		"variable-offset ctx access",
 		.insns = {
 			/* Get an unknown value */
 			BPF_LDX_MEM(BPF_W, BPF_REG_2, BPF_REG_1, 0),
@@ -7755,24 +7227,7 @@ static struct bpf_test tests[] = {
 		.prog_type = BPF_PROG_TYPE_LWT_IN,
 	},
 	{
-<<<<<<< HEAD
-		"pkt_end - pkt_start is allowed",
-		.insns = {
-			BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_1,
-				    offsetof(struct __sk_buff, data_end)),
-			BPF_LDX_MEM(BPF_W, BPF_REG_2, BPF_REG_1,
-				    offsetof(struct __sk_buff, data)),
-			BPF_ALU64_REG(BPF_SUB, BPF_REG_0, BPF_REG_2),
-			BPF_EXIT_INSN(),
-		},
-		.result = ACCEPT,
-		.prog_type = BPF_PROG_TYPE_SCHED_CLS,
-	},
-	{
-		"XDP pkt read, pkt_end mangling, bad access 1",
-=======
 		"variable-offset stack access",
->>>>>>> linux-next/akpm-base
 		.insns = {
 			/* Fill the top 8 bytes of the stack */
 			BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
@@ -7789,11 +7244,7 @@ static struct bpf_test tests[] = {
 			BPF_LDX_MEM(BPF_W, BPF_REG_0, BPF_REG_2, 0),
 			BPF_EXIT_INSN(),
 		},
-<<<<<<< HEAD
-		.errstr = "R3 pointer arithmetic on PTR_TO_PACKET_END",
-=======
 		.errstr = "variable stack access var_off=(0xfffffffffffffff8; 0x4)",
->>>>>>> linux-next/akpm-base
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_LWT_IN,
 	},
@@ -7818,12 +7269,8 @@ static struct bpf_test tests[] = {
 			BPF_MOV64_IMM(BPF_REG_0, 0),
 			BPF_EXIT_INSN(),
 		},
-<<<<<<< HEAD
-		.errstr = "R3 pointer arithmetic on PTR_TO_PACKET_END",
-=======
 		.fixup_map1 = { 5 },
 		.errstr = "variable stack read R2",
->>>>>>> linux-next/akpm-base
 		.result = REJECT,
 		.prog_type = BPF_PROG_TYPE_LWT_IN,
 	},
_

Patches currently in -mm which might be from akpm@linux-foundation.org are

i-need-old-gcc.patch
kernel-exitc-export-abort-to-modules.patch
arm-arch-arm-include-asm-pageh-needs-personalityh.patch
ocfs2-fall-back-to-buffer-io-when-append-dio-is-disabled-with-file-hole-existing-fix.patch
mm.patch
mm-terminate-shrink_slab-loop-if-signal-is-pending-fix.patch
include-linux-sched-mmh-uninline-mmdrop_async-etc.patch
mm-split-deferred_init_range-into-initializing-and-freeing-parts-fix.patch
mm-do-not-stall-register_shrinker-fix.patch
selftest-vm-move-128tb-mmap-boundary-test-to-generic-directory-fix.patch
list_lru-prefetch-neighboring-list-entries-before-acquiring-lock-fix.patch
mm-oom-cgroup-aware-oom-killer-fix.patch
sparc64-update-pmdp_invalidate-to-return-old-pmd-value-fix.patch
x86-mm-provide-pmdp_establish-helper-fix.patch
fs-elf-drop-map_fixed-usage-from-elf_map-checkpatch-fixes.patch
mm-thp-use-down_read_trylock-in-khugepaged-to-avoid-long-block-fix.patch
mm-thp-use-down_read_trylock-in-khugepaged-to-avoid-long-block-fix-checkpatch-fixes.patch
mm-mmu_notifier-annotate-mmu-notifiers-with-blockable-invalidate-callbacks-fix.patch
mm-zsmalloc-simplify-shrinker-init-destroy-fix.patch
lib-ubsanc-s-missaligned-misaligned.patch
linux-next-rejects.patch
tools-objtool-makefile-dont-assume-sync-checksh-is-executable.patch
kernel-forkc-export-kernel_thread-to-modules.patch
slab-leaks3-default-y.patch


             reply	other threads:[~2018-01-02 19:51 UTC|newest]

Thread overview: 395+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-02 19:51 akpm [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-04-20 21:26 [obsolete] linux-next-git-rejects.patch removed from -mm tree Andrew Morton
2022-04-14 20:00 Andrew Morton
2022-04-11 23:02 Andrew Morton
2022-04-06 19:17 Andrew Morton
2022-04-04 17:59 Andrew Morton
2022-03-15 22:30 Andrew Morton
2022-03-08 17:53 Andrew Morton
2022-03-04 23:50 Andrew Morton
2022-02-28 16:22 Andrew Morton
2022-02-07 18:58 akpm
2022-01-20 21:21 akpm
2022-01-10 20:30 akpm
2022-01-05 22:56 akpm
2021-12-14 18:22 akpm
2021-12-06 21:06 akpm
2021-11-29 20:00 akpm
2021-11-04  1:47 akpm
2021-10-25 19:57 akpm
2021-10-19 18:38 akpm
2021-10-11 19:18 akpm
2021-10-07  0:09 akpm
2021-09-28 19:45 akpm
2021-09-20 23:48 akpm
2021-09-15  1:44 akpm
2021-09-02  1:31 akpm
2021-08-16 20:34 akpm
2021-08-09 17:30 akpm
2021-08-03 17:06 akpm
2021-06-28 20:17 akpm
2021-06-11 20:36 akpm
2021-06-07 20:40 akpm
2021-06-01 19:01 akpm
2021-05-24 20:04 akpm
2021-05-11  0:05 akpm
2021-04-30 18:47 akpm
2021-04-26 23:36 akpm
2021-04-20 22:54 akpm
2021-04-15 17:58 akpm
2021-04-13 17:19 akpm
2021-04-06 19:17 akpm
2021-03-30  0:48 akpm
2021-03-19 10:50 akpm
2021-03-17 17:09 akpm
2021-03-15 17:47 akpm
2021-03-11 18:51 akpm
2021-03-09  4:05 akpm
2021-03-02 23:20 akpm
2021-02-08 17:19 akpm
2021-02-01 19:21 akpm
2021-01-27 20:56 akpm
2021-01-19 18:31 akpm
2021-01-13 22:27 akpm
2021-01-04 18:56 akpm
2020-12-18 18:10 akpm
2020-12-08  0:45 akpm
2020-11-30 18:56 akpm
2020-11-23 18:02 akpm
2020-11-10 18:14 akpm
2020-11-03 18:16 akpm
2020-10-13  0:06 akpm
2020-10-06 21:11 akpm
2020-09-28 19:32 akpm
2020-09-15 23:45 akpm
2020-09-03 19:03 akpm
2020-08-24 17:44 akpm
2020-08-03 22:39 akpm
2020-07-27 18:15 akpm
2020-07-23 23:23 akpm
2020-07-20 20:42 akpm
2020-07-13 23:49 akpm
2020-06-30 22:46 akpm
2020-06-24 17:59 akpm
2020-06-09 16:56 akpm
2020-06-04 17:15 akpm
2020-06-02 18:14 akpm
2020-05-25 17:57 akpm
2020-05-11 18:44 akpm
2020-04-28 21:27 akpm
2020-04-23  0:31 akpm
2020-04-10 18:19 akpm
2020-04-08  1:55 akpm
2020-04-05 21:16 akpm
2020-04-01  1:01 akpm
2020-03-23 19:04 akpm
2020-03-18  2:28 akpm
2020-03-12 19:17 akpm
2020-03-10 17:37 akpm
2020-03-02 18:59 akpm
2020-02-21  0:14 akpm
2020-02-11 21:12 akpm
2020-02-04  1:33 incoming Andrew Morton
2020-02-04  1:49 ` [obsolete] linux-next-git-rejects.patch removed from -mm tree Andrew Morton
2020-01-29 23:43 akpm
2020-01-23 22:17 akpm
2020-01-16  1:29 akpm
2020-01-13 21:44 akpm
2020-01-09 19:21 akpm
2018-02-09 20:04 akpm
2018-02-06 19:46 akpm
2018-02-02 20:45 akpm
2018-01-26 20:06 akpm
2018-01-16 19:29 akpm
2018-01-10 19:49 akpm
2018-01-05 20:16 akpm
2017-12-18 19:58 akpm
2017-12-14 19:34 akpm
2017-12-06 21:50 akpm
2017-11-29 20:32 akpm
2017-11-20 21:22 akpm
2017-11-07 19:33 akpm
2017-11-02 19:42 akpm
2017-10-17 21:39 akpm
2017-10-16 19:52 akpm
2017-10-10 19:49 akpm
2017-09-25 20:56 akpm
2017-09-12 19:29 akpm
2017-09-06 20:04 akpm
2017-08-28 20:14 akpm
2017-08-22 20:54 akpm
2017-08-08 22:35 akpm
2017-08-02 19:27 akpm
2017-07-31 19:18 akpm
2017-07-19 20:10 akpm
2017-07-14 19:59 akpm
2017-06-30 18:42 akpm
2017-06-23 18:49 akpm
2017-06-05 19:02 akpm
2017-05-15 18:50 akpm
2017-05-11 18:00 akpm
2017-05-08 19:14 akpm
2017-04-19 20:41 akpm
2017-04-11 19:18 akpm
2017-04-05 19:58 akpm
2017-03-31 20:06 akpm
2017-03-28 19:10 akpm
2017-03-06 19:49 akpm
2017-02-27 20:23 akpm
2017-02-08 20:20 akpm
2017-02-06 21:24 akpm
2017-02-02 21:49 akpm
2017-01-31 20:26 akpm
2017-01-23 20:27 akpm
2017-01-18 22:23 akpm
2017-01-13 21:32 akpm
2017-01-09 21:35 akpm
2016-12-20 21:14 akpm
2016-12-12 21:35 akpm
2016-12-06 19:17 akpm
2016-11-23 18:26 akpm
2016-11-18  1:01 akpm
2016-11-08 23:20 akpm
2016-10-24 19:04 akpm
2016-10-12 19:07 akpm
2016-10-10 22:41 akpm
2016-09-13 20:33 akpm
2016-09-06 17:58 akpm
2016-08-22 18:37 akpm
2016-08-16 17:46 akpm
2016-08-11 18:35 akpm
2016-08-08 20:14 akpm
2016-07-11 18:10 akpm
2016-06-29  2:00 akpm
2016-06-20 19:56 akpm
2016-06-14 18:36 akpm
2016-06-02 17:58 akpm
2016-05-27 18:42 akpm
2016-05-25 19:12 akpm
2016-05-23 20:03 akpm
2016-05-09 18:34 akpm
2016-05-04 18:54 akpm
2016-04-28 18:42 akpm
2016-04-26 19:48 akpm
2016-03-23 17:40 akpm
2016-03-11 19:54 akpm
2016-03-09 18:23 akpm
2016-02-29 20:23 akpm
2016-02-16 18:48 akpm
2016-02-09 18:47 akpm
2016-02-04 20:27 akpm
2016-01-14 20:09 akpm
2016-01-08 19:19 akpm
2016-01-04 19:04 akpm
2015-12-08  1:14 akpm
2015-11-30 20:34 akpm
2015-11-16 20:24 akpm
2015-10-15 19:26 akpm
2015-10-08 20:12 akpm
2015-09-22 18:20 akpm
2015-08-24 18:36 akpm
2015-08-19 18:44 akpm
2015-08-05 19:03 akpm
2015-07-27 18:04 akpm
2015-07-20 18:43 akpm
2015-07-06 19:44 akpm
2015-06-29 20:17 akpm
2015-06-25 19:00 akpm
2015-06-17 18:52 akpm
2015-06-03 22:26 akpm
2015-05-26 21:32 akpm
2015-05-14 18:08 akpm
2015-05-07 18:31 akpm
2015-04-28 19:31 akpm
2015-04-23 19:54 akpm
2015-04-07 22:50 akpm
2015-03-27 18:15 akpm
2015-03-24 19:21 akpm
2015-03-11 19:16 akpm
2015-02-19 18:48 akpm
2015-02-09 19:48 akpm
2015-01-30 19:29 akpm
2015-01-21 21:26 akpm
2014-12-22 19:23 akpm
2014-12-16 21:38 akpm
2014-12-05 20:56 akpm
2014-12-01 21:03 akpm
2014-11-11 21:18 akpm
2014-10-16 18:16 akpm
2014-10-03 18:04 akpm
2014-09-30 21:16 akpm
2014-08-06 19:02 akpm
2014-07-31 20:18 akpm
2014-07-23 19:00 akpm
2014-07-17 20:01 akpm
2014-07-10 19:21 akpm
2014-06-27 19:27 akpm
2014-06-16 19:07 akpm
2014-06-03 22:51 akpm
2014-05-22 17:16 akpm
2014-05-14 19:19 akpm
2014-04-23 17:54 akpm
2014-04-17 18:31 akpm
2014-04-14 20:07 akpm
2014-04-07 18:07 akpm
2014-04-03 18:21 akpm
2014-03-26 19:30 akpm
2014-03-19 19:38 akpm
2014-03-12 19:05 akpm
2014-02-21 19:24 akpm
2014-02-04 20:03 akpm
2014-01-09 22:26 akpm
2013-12-16 20:36 akpm
2013-12-10 21:11 akpm
2013-12-03 20:21 akpm
2013-11-25 20:12 akpm
2013-11-20 21:10 akpm
2013-11-11 18:40 akpm
2013-11-05 19:16 akpm
2013-10-30 23:03 akpm
2013-09-26 19:27 akpm
2013-09-24 17:49 akpm
2013-08-27 19:32 akpm
2013-08-20 19:42 akpm
2013-08-09 19:33 akpm
2013-07-24 19:25 akpm
2013-07-11 20:16 akpm
2013-07-08 19:10 akpm
2013-06-28 19:36 akpm
2013-06-17 19:32 akpm
2013-06-07 19:44 akpm
2013-06-04 20:02 akpm
2013-05-30 19:20 akpm
2013-05-28 19:34 akpm
2013-05-13 19:13 akpm
2013-04-30 18:17 akpm
2013-04-10 20:37 akpm
2013-04-08 18:52 akpm
2013-03-26 18:04 akpm
2013-03-22 18:54 akpm
2013-03-20 18:42 akpm
2013-03-12 19:07 akpm
2013-03-07 19:07 akpm
2013-03-05  0:33 akpm
2013-02-13 20:28 akpm
2013-01-25 21:33 akpm
2013-01-23 20:24 akpm
2013-01-18 21:35 akpm
2013-01-09 20:18 akpm
2013-01-02 20:07 akpm
2012-12-19 20:38 akpm
2012-12-04 19:28 akpm
2012-11-29 22:36 akpm
2012-10-30 20:46 akpm
2012-10-25 21:57 akpm
2012-10-23 18:51 akpm
2012-10-18 19:05 akpm
2012-10-16 20:00 akpm
2012-10-08 18:52 akpm
2012-10-02 19:31 akpm
2012-09-14 19:07 akpm
2012-09-12 18:20 akpm
2012-09-07 19:12 akpm
2012-09-04 19:20 akpm
2012-08-16 17:56 akpm
2012-07-26 17:33 akpm
2012-07-16 19:34 akpm
2012-07-02 20:38 akpm
2012-06-20 19:25 akpm
2012-06-13 19:04 akpm
2012-06-07 18:51 akpm
2012-05-25 19:42 akpm
2012-05-23 19:50 akpm
2012-05-11 20:01 akpm
2012-04-24 19:01 akpm
2012-04-03 19:55 akpm
2012-03-26 19:25 akpm
2012-03-21 19:40 akpm
2012-03-19 19:48 akpm
2012-03-13 19:50 akpm
2012-03-08 19:09 akpm
2012-02-27 22:15 akpm
2012-02-15 20:23 akpm
2012-02-09 20:20 akpm
2012-02-06 20:28 akpm
2012-01-25 20:40 akpm
2012-01-13  1:23 akpm
2012-01-10 23:19 akpm
2011-12-28 22:01 akpm
2011-12-14 20:05 akpm
2011-11-29 19:59 akpm
2011-11-23 21:42 akpm
2011-11-18 18:48 akpm
2011-08-29 19:12 akpm
2011-08-22 19:38 akpm
2011-08-16 18:47 akpm
2011-08-02 20:10 akpm
2011-07-26  7:47 akpm
2011-07-18 18:17 akpm
2011-07-07 19:15 akpm
2011-06-28 19:19 akpm
2011-06-09 19:03 akpm
2011-05-27 19:55 akpm
2011-05-19 19:36 akpm
2011-05-16 19:35 akpm
2011-05-10 19:51 akpm
2011-05-03 19:31 akpm
2011-04-27 19:22 akpm
2011-04-14 18:37 akpm
2011-03-30 19:31 akpm
2011-03-25  7:15 akpm
2011-03-21 19:07 akpm
2011-02-24 20:49 akpm
2011-01-31 19:13 akpm
2011-01-19 19:19 akpm
2011-01-11 20:16 akpm
2010-12-28 21:07 akpm
2010-12-21  2:31 akpm
2010-12-07 19:45 akpm
2010-11-09 18:53 akpm
2010-10-29 19:01 akpm
2010-05-19 14:14 akpm
2010-04-28 15:01 akpm
2010-04-08 15:11 akpm
2010-03-31 15:50 akpm
2010-03-23 15:56 akpm
2010-03-18 14:58 akpm
2010-03-05 18:58 akpm
2010-03-02 18:49 akpm
2010-02-11 20:59 akpm
2010-02-08 19:49 akpm
2010-01-28 22:09 akpm
2010-01-22 20:35 akpm
2009-12-21 20:24 akpm
2009-12-17 20:22 akpm
2009-12-14 20:54 akpm
2009-12-09 19:34 akpm
2009-12-02 20:22 akpm
2009-11-10 19:23 akpm
2009-10-12 21:03 akpm
2009-09-28 21:22 akpm
2009-09-10 19:53 akpm
2009-08-31 21:10 akpm
2009-08-24 18:47 akpm
2009-07-28 19:26 akpm
2009-07-13 18:49 akpm
2009-06-30 17:53 akpm
2009-06-25 17:24 akpm
2009-06-18 18:04 akpm
2009-06-15 18:55 akpm
2009-06-03 19:51 akpm
2009-06-01 19:49 akpm
2009-05-26 19:23 akpm
2009-04-28 19:20 akpm
2009-04-16 20:03 akpm
2009-04-14 19:40 akpm
2009-04-09 18:45 akpm
2009-04-02 18:22 akpm
2009-03-12 20:00 akpm
2009-03-10 18:23 akpm
2009-03-05 19:44 akpm
2009-02-26 19:27 akpm
2009-02-12 20:23 akpm
2009-02-10 18:39 akpm
2009-02-04 20:50 akpm
2009-02-02 19:25 akpm
2009-01-26 18:36 akpm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180102195150.oiMaClCdn%akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mm-commits@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox