program: try to be helpful when RLIMIT_MEMLOCK is too low
program: try to be helpful when RLIMIT_MEMLOCK is too low

One of the most puzzling errors from BPF is EPERM when trying to load
a perfectly legitimate program into the kernel. Most of the time this
means that RLIMIT_MEMLOCK is too low.

Detect this case by checking whether the error from BPF_PROG_LOAD is
EPERM. Since EPERM may indicate other problems as well, only emit the
error mentioning rlimit if the verifier buffer is empty.

cilium/ebpf,cilium/ebpf