<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/arm/net, branch linux-4.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2018-09-05T07:29:42Z</updated>
<entry>
<title>bpf, arm32: fix stack var offset in jit</title>
<updated>2018-09-05T07:29:42Z</updated>
<author>
<name>Daniel Borkmann</name>
</author>
<published>2018-08-17T22:21:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=29ac604e627b6668718b9ebc65c690b78159788b'/>
<id>urn:sha1:29ac604e627b6668718b9ebc65c690b78159788b</id>
<content type='text'>
Commit 38ca93060163 ("bpf, arm32: save 4 bytes of unneeded stack
space") messed up STACK_VAR() by 4 bytes presuming it was related
to skb scratch buffer space, but it clearly isn't as this refers
to the top word in stack, therefore restore it. This fixes a NULL
pointer dereference seen during bootup when JIT is enabled and BPF
program run in sk_filter_trim_cap() triggered by systemd-udevd.

JIT rework in 1c35ba122d4a ("ARM: net: bpf: use negative numbers
for stacked registers") and 96cced4e774a ("ARM: net: bpf: access
eBPF scratch space using ARM FP register") removed the affected
parts, so only needed in 4.18 stable.

Fixes: 38ca93060163 ("bpf, arm32: save 4 bytes of unneeded stack space")
Reported-by: Peter Robinson &lt;pbrobinson@gmail.com&gt;
Reported-by: Marc Haber &lt;mh+netdev@zugschlus.de&gt;
Tested-by: Stefan Wahren &lt;stefan.wahren@i2se.com&gt;
Tested-by: Peter Robinson &lt;pbrobinson@gmail.com&gt;
Cc: Russell King &lt;rmk+kernel@armlinux.org.uk&gt;
Cc: Alexei Starovoitov &lt;ast@kernel.org&gt;
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
</content>
</entry>
<entry>
<title>bpf, arm32: fix to use bpf_jit_binary_lock_ro api</title>
<updated>2018-06-29T17:47:35Z</updated>
<author>
<name>Daniel Borkmann</name>
</author>
<published>2018-06-28T21:34:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=18d405af30bf6506bf2fc49056de7691c949812e'/>
<id>urn:sha1:18d405af30bf6506bf2fc49056de7691c949812e</id>
<content type='text'>
Any eBPF JIT that where its underlying arch supports ARCH_HAS_SET_MEMORY
would need to use bpf_jit_binary_{un,}lock_ro() pair instead of the
set_memory_{ro,rw}() pair directly as otherwise changes to the former
might break. arm32's eBPF conversion missed to change it, so fix this
up here.

Fixes: 39c13c204bb1 ("arm: eBPF JIT compiler")
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
</content>
</entry>
<entry>
<title>bpf, arm32: fix inconsistent naming about emit_a32_lsr_{r64,i64}</title>
<updated>2018-06-05T08:54:53Z</updated>
<author>
<name>Wang YanQing</name>
</author>
<published>2018-05-11T02:52:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=68565a1af9f7012e6f2fe2bdd612f67d2d830c28'/>
<id>urn:sha1:68565a1af9f7012e6f2fe2bdd612f67d2d830c28</id>
<content type='text'>
The names for BPF_ALU64 | BPF_ARSH are emit_a32_arsh_*,
the names for BPF_ALU64 | BPF_LSH are emit_a32_lsh_*, but
the names for BPF_ALU64 | BPF_RSH are emit_a32_lsr_*.

For consistence reason, let's rename emit_a32_lsr_* to
emit_a32_rsh_*.

This patch also corrects a wrong comment.

Fixes: 39c13c204bb1 ("arm: eBPF JIT compiler")
Signed-off-by: Wang YanQing &lt;udknight@gmail.com&gt;
Cc: Shubham Bansal &lt;illusionist.neo@gmail.com&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@armlinux.org.uk
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
</content>
</entry>
<entry>
<title>bpf, arm32: correct check_imm24</title>
<updated>2018-06-05T08:46:13Z</updated>
<author>
<name>Wang YanQing</name>
</author>
<published>2018-05-11T03:06:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2b589a7e2bd3eb610a4b7f5e61393481755a4de9'/>
<id>urn:sha1:2b589a7e2bd3eb610a4b7f5e61393481755a4de9</id>
<content type='text'>
imm24 is signed, so the right range is:

  [-(1&lt;&lt;(24 - 1)), (1&lt;&lt;(24 - 1)) - 1]

Note: this patch also fix a typo.

Fixes: 39c13c204bb1 ("arm: eBPF JIT compiler")
Signed-off-by: Wang YanQing &lt;udknight@gmail.com&gt;
Cc: Shubham Bansal &lt;illusionist.neo@gmail.com&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@armlinux.org.uk
Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
</content>
</entry>
<entry>
<title>bpf, arm32: save 4 bytes of unneeded stack space</title>
<updated>2018-05-15T02:11:45Z</updated>
<author>
<name>Daniel Borkmann</name>
</author>
<published>2018-05-14T21:22:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=38ca930601631585fbd7826f8f6908055a8dbc9e'/>
<id>urn:sha1:38ca930601631585fbd7826f8f6908055a8dbc9e</id>
<content type='text'>
The extra skb_copy_bits() buffer is not used anymore, therefore
remove the extra 4 byte stack space requirement.

Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
</content>
</entry>
<entry>
<title>bpf, arm32: remove ld_abs/ld_ind</title>
<updated>2018-05-03T23:49:20Z</updated>
<author>
<name>Daniel Borkmann</name>
</author>
<published>2018-05-03T23:08:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0d2d0cedc0814edaa2b6cb290c78ec333b3eed71'/>
<id>urn:sha1:0d2d0cedc0814edaa2b6cb290c78ec333b3eed71</id>
<content type='text'>
Since LD_ABS/LD_IND instructions are now removed from the core and
reimplemented through a combination of inlined BPF instructions and
a slow-path helper, we can get rid of the complexity from arm32 JIT.

Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
</content>
</entry>
<entry>
<title>bpf, arm: remove obsolete exception handling from div/mod</title>
<updated>2018-01-27T00:42:07Z</updated>
<author>
<name>Daniel Borkmann</name>
</author>
<published>2018-01-26T22:33:47Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=73ae3c0426f01295ef307caf9531c0453b8f2728'/>
<id>urn:sha1:73ae3c0426f01295ef307caf9531c0453b8f2728</id>
<content type='text'>
Since we've changed div/mod exception handling for src_reg in
eBPF verifier itself, remove the leftovers from arm32 JIT.

Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Cc: Shubham Bansal &lt;illusionist.neo@gmail.com&gt;
Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next</title>
<updated>2018-01-21T03:03:46Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2018-01-21T03:03:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ea9722e2650db8f0a0d9ef2e391c95285ef991cd'/>
<id>urn:sha1:ea9722e2650db8f0a0d9ef2e391c95285ef991cd</id>
<content type='text'>
Alexei Starovoitov says:

====================
pull-request: bpf-next 2018-01-19

The following pull-request contains BPF updates for your *net-next* tree.

The main changes are:

1) bpf array map HW offload, from Jakub.

2) support for bpf_get_next_key() for LPM map, from Yonghong.

3) test_verifier now runs loaded programs, from Alexei.

4) xdp cpumap monitoring, from Jesper.

5) variety of tests, cleanups and small x64 JIT optimization, from Daniel.

6) user space can now retrieve HW JITed program, from Jiong.

Note there is a minor conflict between Russell's arm32 JIT fixes
and removal of bpf_jit_enable variable by Daniel which should
be resolved by keeping Russell's comment and removing that variable.
====================

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</title>
<updated>2018-01-20T03:59:33Z</updated>
<author>
<name>David S. Miller</name>
</author>
<published>2018-01-20T03:59:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8565d26bcb2ff6df646e946d2913fcf706d46b66'/>
<id>urn:sha1:8565d26bcb2ff6df646e946d2913fcf706d46b66</id>
<content type='text'>
The BPF verifier conflict was some minor contextual issue.

The TUN conflict was less trivial.  Cong Wang fixed a memory leak of
tfile-&gt;tx_array in 'net'.  This is an skb_array.  But meanwhile in
net-next tun changed tfile-&gt;tx_arry into tfile-&gt;tx_ring which is a
ptr_ring.

Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>bpf: get rid of pure_initcall dependency to enable jits</title>
<updated>2018-01-20T02:37:00Z</updated>
<author>
<name>Daniel Borkmann</name>
</author>
<published>2018-01-20T00:24:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fa9dd599b4dae841924b022768354cfde9affecb'/>
<id>urn:sha1:fa9dd599b4dae841924b022768354cfde9affecb</id>
<content type='text'>
Having a pure_initcall() callback just to permanently enable BPF
JITs under CONFIG_BPF_JIT_ALWAYS_ON is unnecessary and could leave
a small race window in future where JIT is still disabled on boot.
Since we know about the setting at compilation time anyway, just
initialize it properly there. Also consolidate all the individual
bpf_jit_enable variables into a single one and move them under one
location. Moreover, don't allow for setting unspecified garbage
values on them.

Signed-off-by: Daniel Borkmann &lt;daniel@iogearbox.net&gt;
Acked-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;
</content>
</entry>
</feed>
