Fix build on kernels without perf_event_attr exclude_callchain_kernel.

This patch fixes these build errors on 3.6 and older.

  CC	syscalls/perf_event_open.o
syscalls/perf_event_open.c: In function ‘create_mostly_valid_counting_event’:
syscalls/perf_event_open.c:382:6: error: ‘struct perf_event_attr’ has no member named ‘exclude_callchain_kernel’
syscalls/perf_event_open.c:383:6: error: ‘struct perf_event_attr’ has no member named ‘exclude_callchain_user’
syscalls/perf_event_open.c: In function ‘create_mostly_valid_sampling_event’:
syscalls/perf_event_open.c:431:6: error: ‘struct perf_event_attr’ has no member named ‘exclude_callchain_kernel’
syscalls/perf_event_open.c:432:6: error: ‘struct perf_event_attr’ has no member named ‘exclude_callchain_user’
make: *** [syscalls/perf_event_open.o] Error 1

Signed-off-by: Vinson Lee <vlee@twitter.com>
random: use /dev/urandom for reseeding if available

Use a real source of randomness for reseeding, if available. Otherwise,
reseeding is only permuted by time.

Signed-off-by: Kees Cook <keescook@chromium.org>
net: bpf: let clang shut up

Let clang warning shut up and initialize the allocated area
with zeroes.

  CC	net/bpf.o
net/bpf.c:297:16: warning: The left expression of the compound assignment
       is an uninitialized value. The computed value will also be garbage
                curr[1].code |= (uint16_t) rand();
                ~~~~~~~~~~~~ ^
net/bpf.c:299:16: warning: The left expression of the compound assignment
       is an uninitialized value. The computed value will also be garbage
                curr[2].code |= (uint16_t) rand();
                ~~~~~~~~~~~~ ^

Reported-by: Dave Jones <davej@redhat.com>
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>