// Copyright: (C) 2010 Nicolas Palix, Suman Saha, Gael Thomas, Christophe Calves, Julia Lawall, Gilles Muller, LIP6, INRIA, DIKU.  GPLv2.

#include "cocci/database.cocci"

@rc@
expression E;
position p;
@@

copy_from_user@p(E,...)

@script:python@
p << rc.p;
@@

add_note("copy",p,"runall.cocci")
@rf@
expression E;
position p;
@@

kfree@p(E)

@script:python@
p << rf.p;
@@

add_note("kfree",p,"runall.cocci")
@rg@
expression E;
position p;
@@

get_user@p(E,...)

@script:python@
p << rg.p;
@@

add_note("get",p,"runall.cocci")
@r@
position p;
expression E;
@@

(
local_irq_save(E@p,...)
|
save_and_cli(E@p,...)
|
cli@p(...)
|
local_irq_disable@p(...)
)

@script:python@
p << r.p;
@@

add_note("intr",p,"runall.cocci")