uretprobes: Limit the depth of return probe nestedness

  Unlike the kretprobes we can't trust userspace, thus must have
protection from user space attacks, e.g. deep recursion, this patch
limits the return probes nestedness as a simple remedy for it.
User-space have the "unlimited" stack, it looks simply impossible
to handle the deep recursion correctly.

  The intention is to have KISS and bare minimum solution for the
initial implementation in order to not complicate the uretprobes
code.

  In the future we may come up with more sophisticated solution that
should remove this depth limitation, however it is not easy task
and lays beyond this patchset. It should consider things like: breakpoint
address lays outside the stack and stack growth direction, leaking
return_instance when longjmp, sigaltstack... be able to clean up
return instances.

Signed-off-by: Anton Arapov <anton@redhat.com>
uretprobes: Remove -ENOSYS as return probes implemented

  Enclose return probes implementation.

Signed-off-by: Anton Arapov <anton@redhat.com>