On Thu, 12 Dec 2013, vegard.nos...@oracle.com wrote:

> diff --git a/security/exploit.c b/security/exploit.c
> new file mode 100644
> index 0000000..a732613
> --- /dev/null
> +++ b/security/exploit.c
> @@ -0,0 +1,28 @@
> +#include <linux/cred.h>
> +#include <linux/exploit.h>
> +#include <linux/printk.h>
> +#include <linux/ratelimit.h>
> +#include <linux/sched.h>
> +
> +void _exploit(const char *id)
> +{
> +     /*
> +      * This function needs to be super defensive/conservative, since
> +      * userspace can easily get to it from several different contexts.
> +      * We don't want it to become an attack vector in itself!
> +      *
> +      * We can assume that we're in process context, but spinlocks may
> +      * be held, etc.

Not task_lock(current), though.

> +      */
> +
> +     struct task_struct *task = current;
> +     pid_t pid = task_pid_nr(task);
> +     uid_t uid = from_kuid(&init_user_ns, current_uid());
> +     char comm[sizeof(task->comm)];
> +
> +     get_task_comm(comm, task);
> +
> +     pr_warn_ratelimited("warning: possible %s exploit attempt by pid=%u 
> uid=%u comm=%s\n",
> +             id, pid, uid, comm);
> +}
> +EXPORT_SYMBOL(_exploit);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to