Basic module for net instrumentation

This module aims at recording network events and relate them to user-space
processes. It includes the following instrumentation.

 * records connect and accept to match client and server socks objects
 * records sock create, clone and delete
 * records hints about TCP packets sent and received

Instrumentation is performed with kprobe, by overriding the netfamilly IPV4 and
by means of netfilter hooks.
Fix compilation issue with socket statedump
Fix declaration warning
Add fields to tcp probe: checksum, window, flags

Thanks to Geneviève Bastien for this patch.
Work around sock_from_file in older kernel

In older kernel < 3.6 function sock_from_file is not exported. Copy the
function to make it work.
Fix TCP flags endianness

Shift TCP flags according to endianness.

Thanks to Genevieve Bastien for this patch

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Skeleton to support custom module signing key

Add a module that installs an additional key to .module_sign keyring. This
module itself will be marked as TAINT_FORCED, but following modules should be
authenticated.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Sign lttng modules in build process

Modules are signed unconditionnaly, and thus won't work if CONFIG_MODULE_SIG is
not set, because the keys won't be generated. Well, just don't do this.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Add basic structure for backtrace context
Fix event name

Character '-' is invalid in event name, replace it with underscore
Rename feature to kcallstack
Prototype of sequence callstack

Define sequence event type and write dummy event content.
Code cleanup
Dump real kernel space callstack

Use save_stack_trace() kernel function to get address functions. Symbol name
resolution is left to the reader.

The callstack saved is of fixed length in this current state.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Fix comments

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Pass arguments for context size computation

Pass same arguments to get_size_arg() than to record(). This new
operation has the same effect than get_size(), and the client code can
implement either one.

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
Add custom data pointer to ring buffer context

Ring buffer context is allocated on the stack and is thus interrupt and preempt
coherent. Use it to store a custom data pointer that a variable size event
context can use to store state information between call to get_size_arg() and
record().

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>
WIP skeleton of structure allocation
WIP
Cleanup

Signed-off-by: Francis Giraldeau <francis.giraldeau@gmail.com>