netfilter: fixup the quota2, and enable.
authorJP Abgrall <jpa@google.com>
Tue, 12 Jul 2011 19:02:59 +0000 (12:02 -0700)
committerArve Hjønnevåg <arve@android.com>
Mon, 1 Jul 2013 20:40:36 +0000 (13:40 -0700)
commitea34f99edb73b67ef0a99d304887c64febd4c878
treeb648b1ce1780958e05a62b4c0dce97e4fc5239e7
parent3db08b39ea752748744e9c7733ce9ef54bed9f3b
netfilter: fixup the quota2, and enable.

The xt_quota2 came from
  http://sourceforge.net/projects/xtables-addons/develop

It needed tweaking for it to compile within the kernel tree.
Fixed kmalloc() and create_proc_entry() invocations within
 a non-interruptible context.
Removed useless copying of current quota back to the iptable's
struct matchinfo:
  - those are per CPU: they will change randomly based on which
    cpu gets to update the value.
  - they prevent matching a rule: e.g.
      -A chain -m quota2 --name q1 --quota 123
     can't be followed by
      -D chain -m quota2 --name q1 --quota 123
    as the 123 will be compared to the struct matchinfo's quota member.
Use the NETLINK NETLINK_NFLOG family to log a single message
when the quota limit is reached.
It uses the same packet type as ipt_ULOG, but
 - never copies skb data,
 - uses 112 as the event number (ULOG's +1)
It doesn't log if the module param "event_num" is 0.

Change-Id: I021d3b743db3b22158cc49acb5c94d905b501492
Signed-off-by: JP Abgrall <jpa@google.com>
net/netfilter/Kconfig
net/netfilter/Makefile
net/netfilter/xt_quota2.c