The adjust_branches function in kernel/bpf/verifier.c in the Linux kernel before 4.5 does not consider the delta in the backward-jump case, which allows local users to obtain sensitive information from kernel memory by creating a packet filter and then loading crafted BPF instructions.
https://github.com/torvalds/linux/commit/a1b14d27ed0965838350f1377ff97c93ee383492
https://bugzilla.redhat.com/show_bug.cgi?id=1308452
http://www.ubuntu.com/usn/USN-2947-3
http://www.ubuntu.com/usn/USN-2947-2
http://www.ubuntu.com/usn/USN-2947-1
http://www.openwall.com/lists/oss-security/2016/02/14/1
http://lists.opensuse.org/opensuse-security-announce/2016-04/msg00015.html