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
next 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