[nf-next v2] netfilter: extend SRH matching for previous, next and last SID

2018-04-25 Thread Ahmed Abdelsalam
IPv6 Segment Routing Header (SRH) contains a list of SIDs to be crossed by SR encapsulated packet. Each SID is encoded as an IPv6 prefix. When a Firewall receives an SR encapsulated packet, it should be able to identify which node previously processed the packet (previous SID), which node is

[PATCH nf] netfilter: x_tables: check name length in find_match/target, too

2018-04-25 Thread Florian Westphal
ebtables uses find_match() rather than find_request_match in one case (see bcf4934288402be3464110109a4dae3bd6fb3e93, "netfilter: ebtables: Fix extension lookup with identical name"), so extend the check on name length to those functions too. Signed-off-by: Florian Westphal ---

[PATCH nf] netfilter: nf_tables: skip synchronize_rcu if transaction log is empty

2018-04-25 Thread Florian Westphal
After processing the transaction log, the remaining entries of the log need to be released. However, in some cases no entries remain, e.g. because the transaction did not remove anything. Signed-off-by: Florian Westphal --- net/netfilter/nf_tables_api.c | 25

Re: [nf-next PATCH] net: nftables: Make rule position deterministic

2018-04-25 Thread Eric Garver
On Tue, Apr 24, 2018 at 08:49:33PM +0200, Phil Sutter wrote: > Hi, > > On Tue, Apr 24, 2018 at 05:51:39PM +0200, Pablo Neira Ayuso wrote: > > On Fri, Apr 20, 2018 at 09:21:12AM -0400, Eric Garver wrote: > > > On Fri, Apr 20, 2018 at 12:00:54PM +0200, Jan Engelhardt wrote: > > > > > > > > On

[PATCH 06/40] proc: introduce proc_create_single{,_data}

2018-04-25 Thread Christoph Hellwig
Variants of proc_create{,_data} that directly take a seq_file show callback and drastically reduces the boilerplate code in the callers. All trivial callers converted over. Signed-off-by: Christoph Hellwig --- arch/arm/kernel/dma.c | 14 +---

[PATCH 02/40] proc: simplify proc_register calling conventions

2018-04-25 Thread Christoph Hellwig
Return registered entry on success, return NULL on failure and free the passed in entry. Also expose it in internal.h as we'll start using it in proc_net.c soon. Signed-off-by: Christoph Hellwig --- fs/proc/generic.c | 44 ++--

[PATCH 29/40] hostap: switch to proc_create_{seq,single}_data

2018-04-25 Thread Christoph Hellwig
And use proc private data directly instead of doing a detour through seq->private. Signed-off-by: Christoph Hellwig --- .../net/wireless/intersil/hostap/hostap_ap.c | 70 ++--- .../net/wireless/intersil/hostap/hostap_hw.c | 17 +-- .../wireless/intersil/hostap/hostap_proc.c

[PATCH 13/40] netfilter/x_tables: simplify ѕeq_file code

2018-04-25 Thread Christoph Hellwig
Just use the address family from the proc private data instead of copying it into per-file data. Signed-off-by: Christoph Hellwig --- net/netfilter/x_tables.c | 39 +++ 1 file changed, 11 insertions(+), 28 deletions(-) diff --git

[PATCH 14/40] net: move seq_file_single_net to

2018-04-25 Thread Christoph Hellwig
This helper deals with single_{open,release}_net internals and thus belongs here. Signed-off-by: Christoph Hellwig --- include/linux/seq_file_net.h | 13 + include/net/ip_vs.h | 12 2 files changed, 13 insertions(+), 12 deletions(-) diff --git

[PATCH 36/40] isdn: replace ->proc_fops with ->proc_show

2018-04-25 Thread Christoph Hellwig
And switch to proc_create_single_data. Signed-off-by: Christoph Hellwig --- drivers/isdn/capi/kcapi.c | 3 ++- drivers/isdn/gigaset/capi.c| 16 +--- drivers/isdn/hardware/avm/avmcard.h| 4 ++-- drivers/isdn/hardware/avm/b1.c | 17

[PATCH 38/40] ide: remove ide_driver_proc_write

2018-04-25 Thread Christoph Hellwig
The driver proc file hasn't been writeable for a long time, so this is just dead code. Signed-off-by: Christoph Hellwig --- drivers/ide/ide-proc.c | 46 -- 1 file changed, 46 deletions(-) diff --git a/drivers/ide/ide-proc.c

[PATCH 26/40] drbd: switch to proc_create_single

2018-04-25 Thread Christoph Hellwig
And stop messing with try_module_get on THIS_MODULE, which doesn't make any sense here. Signed-off-by: Christoph Hellwig --- drivers/block/drbd/drbd_int.h | 2 +- drivers/block/drbd/drbd_main.c | 3 ++- drivers/block/drbd/drbd_proc.c | 34 +- 3

[PATCH 12/40] net/kcm: simplify proc registration

2018-04-25 Thread Christoph Hellwig
Remove a couple indirections to make the code look like most other protocols. Signed-off-by: Christoph Hellwig --- net/kcm/kcmproc.c | 71 --- 1 file changed, 17 insertions(+), 54 deletions(-) diff --git a/net/kcm/kcmproc.c

[PATCH 40/40] tty: replace ->proc_fops with ->proc_show

2018-04-25 Thread Christoph Hellwig
Just set up the show callback in the tty_operations, and use proc_create_single_data to create the file without additional boilerplace code. Signed-off-by: Christoph Hellwig --- arch/ia64/hp/sim/simserial.c| 15 +-- arch/xtensa/platforms/iss/console.c | 15

[PATCH 32/40] netfilter/x_tables: switch to proc_create_seq_private

2018-04-25 Thread Christoph Hellwig
And remove proc boilerplate code. Signed-off-by: Christoph Hellwig --- net/netfilter/x_tables.c | 42 ++-- 1 file changed, 6 insertions(+), 36 deletions(-) diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c index

[PATCH 01/40] net/can: single_open_net needs to be paired with single_release_net

2018-04-25 Thread Christoph Hellwig
Otherwise we will leak a reference to the network namespace. Signed-off-by: Christoph Hellwig --- net/can/bcm.c | 2 +- net/can/proc.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/net/can/bcm.c b/net/can/bcm.c index ac5e5e34fee3..8073fa14e143 100644

[PATCH 31/40] netfilter/xt_hashlimit: switch to proc_create_{seq,single}_data

2018-04-25 Thread Christoph Hellwig
And use proc private data directly instead of doing a detour through seq->private. Signed-off-by: Christoph Hellwig --- net/netfilter/xt_hashlimit.c | 92 +++- 1 file changed, 18 insertions(+), 74 deletions(-) diff --git

[PATCH 04/40] proc: introduce proc_create_seq{,_data}

2018-04-25 Thread Christoph Hellwig
Variants of proc_create{,_data} that directly take a struct seq_operations argument and drastically reduces the boilerplate code in the callers. All trivial callers converted over. Signed-off-by: Christoph Hellwig --- arch/ia64/hp/common/sba_iommu.c | 15 +-

[PATCH 34/40] atm: simplify procfs code

2018-04-25 Thread Christoph Hellwig
Use remove_proc_subtree to remove the whole subtree on cleanup, and unwind the registration loop into individual calls. Switch to use proc_create_seq where applicable. Signed-off-by: Christoph Hellwig --- net/atm/proc.c | 65 ++ 1

[PATCH 35/40] atm: switch to proc_create_seq_private

2018-04-25 Thread Christoph Hellwig
And remove proc boilerplate code. Signed-off-by: Christoph Hellwig --- net/atm/proc.c | 72 +- 1 file changed, 13 insertions(+), 59 deletions(-) diff --git a/net/atm/proc.c b/net/atm/proc.c index f272b0f59d82..0b0495a41bbe 100644 ---

[PATCH 23/40] jfs: simplify procfs code

2018-04-25 Thread Christoph Hellwig
Use remove_proc_subtree to remove the whole subtree on cleanup, and unwind the registration loop into individual calls. Switch to use proc_create_seq where applicable. Signed-off-by: Christoph Hellwig --- fs/jfs/jfs_debug.c| 43 ++-

[PATCH 27/40] rtc/proc: switch to proc_create_single_data

2018-04-25 Thread Christoph Hellwig
And stop trying to get a reference on the submodule, procfs code deals with release after and unloaded module and thus removed proc entry. Signed-off-by: Christoph Hellwig --- drivers/rtc/rtc-proc.c | 33 ++--- 1 file changed, 2 insertions(+), 31

[PATCH 30/40] neigh: switch to proc_create_seq_data

2018-04-25 Thread Christoph Hellwig
And use proc private data directly instead of doing a detour through seq->private. Signed-off-by: Christoph Hellwig --- net/core/neighbour.c | 31 ++- 1 file changed, 6 insertions(+), 25 deletions(-) diff --git a/net/core/neighbour.c

[PATCH 15/40] proc: introduce proc_create_net{,_data}

2018-04-25 Thread Christoph Hellwig
Variants of proc_create{,_data} that directly take a struct seq_operations and deal with network namespaces in ->open and ->release. All callers of proc_create + seq_open_net converted over, and seq_{open,release}_net are removed entirely. Signed-off-by: Christoph Hellwig ---

[PATCH 11/40] ipv6/flowlabel: simplify pid namespace lookup

2018-04-25 Thread Christoph Hellwig
The shole seq_file sequence already operates under a single RCU lock pair, so move the pid namespace lookup into it, and stop grabbing a reference and remove all kinds of boilerplate code. Signed-off-by: Christoph Hellwig --- net/ipv6/ip6_flowlabel.c | 28

[PATCH 09/40] ipv{4,6}/ping: simplify proc file creation

2018-04-25 Thread Christoph Hellwig
Remove the pointless ping_seq_afinfo indirection and make the code look like most other protocols. Signed-off-by: Christoph Hellwig --- include/net/ping.h | 11 -- net/ipv4/ping.c| 50 +- net/ipv6/ping.c| 35

[PATCH 18/40] sgi-gru: simplify procfs code

2018-04-25 Thread Christoph Hellwig
Use remove_proc_subtree to remove the whole subtree on cleanup, and unwind the registration loop into individual calls. Switch to use proc_create_seq where applicable. Signed-off-by: Christoph Hellwig --- drivers/misc/sgi-gru/gruprocfs.c | 81 ++-- 1

[PATCH 08/40] ipv{4,6}/tcp: simplify procfs registration

2018-04-25 Thread Christoph Hellwig
Avoid most of the afinfo indirections and just call the proc helpers directly. Signed-off-by: Christoph Hellwig --- include/net/tcp.h | 11 ++ net/ipv4/tcp_ipv4.c | 85 + net/ipv6/tcp_ipv6.c | 27 +- 3 files changed, 53

[PATCH 16/40] proc: introduce proc_create_net_single

2018-04-25 Thread Christoph Hellwig
Variant of proc_create_data that directly take a seq_file show callback and deals with network namespaces in ->open and ->release. All callers of proc_create + single_open_net converted over, and single_{open,release}_net are removed entirely. Signed-off-by: Christoph Hellwig ---

[PATCH 17/40] acpi/battery: simplify procfs code

2018-04-25 Thread Christoph Hellwig
Use remove_proc_subtree to remove the whole subtree on cleanup, and unwind the registration loop into individual calls. Switch to use proc_create_seq where applicable. Signed-off-by: Christoph Hellwig Reviewed-by: Rafael J. Wysocki ---

[PATCH 05/40] proc: introduce proc_create_seq_private

2018-04-25 Thread Christoph Hellwig
Variant of proc_create_data that directly take a struct seq_operations argument + a private state size and drastically reduces the boilerplate code in the callers. All trivial callers converted over. Signed-off-by: Christoph Hellwig --- fs/locks.c | 16

simplify procfs code for seq_file instances V2

2018-04-25 Thread Christoph Hellwig
We currently have hundreds of proc files that implement plain, read-only seq_file based interfaces. This series consolidates them using new procfs helpers that take the seq_operations or simple show callback directly. A git tree is available at: git://git.infradead.org/users/hch/misc.git

[PATCH 39/40] ide: replace ->proc_fops with ->proc_show

2018-04-25 Thread Christoph Hellwig
Just set up the show callback in the tty_operations, and use proc_create_single_data to create the file without additional boilerplace code. Signed-off-by: Christoph Hellwig --- drivers/ide/ide-cd.c | 15 +--- drivers/ide/ide-disk_proc.c | 62 ++--

[PATCH 37/40] proc: don't detour through seq->private to get the inode

2018-04-25 Thread Christoph Hellwig
Signed-off-by: Christoph Hellwig --- fs/proc/array.c | 18 -- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/fs/proc/array.c b/fs/proc/array.c index ae2c807fd719..b34796b562ef 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -677,7 +677,7 @@

[PATCH 33/40] bluetooth: switch to proc_create_seq_data

2018-04-25 Thread Christoph Hellwig
And use proc private data directly instead of doing a detour through seq->private and private state. Signed-off-by: Christoph Hellwig --- net/bluetooth/af_bluetooth.c | 40 +--- 1 file changed, 5 insertions(+), 35 deletions(-) diff --git

[PATCH 25/40] resource: switch to proc_create_seq_data

2018-04-25 Thread Christoph Hellwig
And use the root resource directly from the proc private data. Signed-off-by: Christoph Hellwig --- kernel/resource.c | 43 +-- 1 file changed, 5 insertions(+), 38 deletions(-) diff --git a/kernel/resource.c b/kernel/resource.c index

[PATCH 21/40] afs: simplify procfs code

2018-04-25 Thread Christoph Hellwig
Use remove_proc_subtree to remove the whole subtree on cleanup, and unwind the registration loop into individual calls. Switch to use proc_create_seq where applicable. Signed-off-by: Christoph Hellwig --- fs/afs/proc.c | 134 ++ 1

[PATCH 22/40] ext4: simplify procfs code

2018-04-25 Thread Christoph Hellwig
Use remove_proc_subtree to remove the whole subtree on cleanup, and unwind the registration loop into individual calls. Switch to use proc_create_seq where applicable. Signed-off-by: Christoph Hellwig --- fs/ext4/ext4.h| 2 +- fs/ext4/mballoc.c | 29

[PATCH 19/40] megaraid: simplify procfs code

2018-04-25 Thread Christoph Hellwig
Use remove_proc_subtree to remove the whole subtree on cleanup, and unwind the registration loop into individual calls. Switch to use proc_create_single. Signed-off-by: Christoph Hellwig --- drivers/scsi/megaraid.c | 140 +++-

[PATCH 20/40] sg: simplify procfs code

2018-04-25 Thread Christoph Hellwig
Use remove_proc_subtree to remove the whole subtree on cleanup, and unwind the registration loop into individual calls. Switch to use proc_create_seq where applicable. Signed-off-by: Christoph Hellwig --- drivers/scsi/sg.c | 124 +- 1

[PATCH 07/40] ipv{4,6}/udp{,lite}: simplify proc registration

2018-04-25 Thread Christoph Hellwig
Remove a couple indirections to make the code look like most other protocols. Signed-off-by: Christoph Hellwig --- include/net/udp.h | 20 -- net/ipv4/udp.c | 99 +- net/ipv4/udplite.c | 21 +++--- net/ipv6/udp.c | 30

[PATCH 28/40] bonding: switch to proc_create_seq_data

2018-04-25 Thread Christoph Hellwig
And use proc private data directly instead of doing a detour through seq->private. Signed-off-by: Christoph Hellwig --- drivers/net/bonding/bond_procfs.c | 36 ++- 1 file changed, 6 insertions(+), 30 deletions(-) diff --git

[PATCH 24/40] staging/rtl8192u: simplify procfs code

2018-04-25 Thread Christoph Hellwig
Unwind the registration loop into individual calls. Switch to use proc_create_single where applicable. Signed-off-by: Christoph Hellwig --- drivers/staging/rtl8192u/r8192U_core.c | 67 ++ 1 file changed, 14 insertions(+), 53 deletions(-) diff --git

[PATCH 10/40] ipv{4,6}/raw: simplify ѕeq_file code

2018-04-25 Thread Christoph Hellwig
Pass the hashtable to the proc private data instead of copying it into the per-file private data. Signed-off-by: Christoph Hellwig --- include/net/raw.h | 4 net/ipv4/raw.c| 36 net/ipv6/raw.c| 6 -- 3 files changed, 16

[PATCH 03/40] proc: add a proc_create_reg helper

2018-04-25 Thread Christoph Hellwig
Common code for creating a regular file. Factor out of proc_create_data, to be reused by other functions soon. Signed-off-by: Christoph Hellwig --- fs/proc/generic.c | 44 +--- fs/proc/internal.h | 2 ++ 2 files changed, 27 insertions(+),

Re: [PATCH 27/40] rtc/proc: switch to proc_create_single_data

2018-04-25 Thread Alexandre Belloni
On 25/04/2018 17:48:14+0200, Christoph Hellwig wrote: > And stop trying to get a reference on the submodule, procfs code deals > with release after and unloaded module and thus removed proc entry. small typo here^ > > Signed-off-by: Christoph Hellwig Acked-by: Alexandre

Re: Module crash due to broken count

2018-04-25 Thread Julian Anastasov
Hello, On Mon, 23 Apr 2018, Net Filter wrote: > I was requested by Pablo Neira Ayuso to report the netfilter bugzilla > ticket https://bugzilla.netfilter.org/show_bug.cgi?id=1247 here. > > The ticket is replicated below for your convenience. > > Start of ticket content: > > The

Re: [PATCH 06/40] proc: introduce proc_create_single{,_data}

2018-04-25 Thread Finn Thain
On Wed, 25 Apr 2018, Christoph Hellwig wrote: > > -/* > - * /proc/nubus stuff > - */ > - I don't think that the introduction of proc_create_single{,_data} alters the value of that comment. That comment and similar comments in the same file do have a purpose, which is to keep separate the

Re: simplify procfs code for seq_file instances

2018-04-25 Thread Alexey Dobriyan
On Tue, Apr 24, 2018 at 06:06:53PM +0200, Christoph Hellwig wrote: > On Tue, Apr 24, 2018 at 08:19:16AM -0700, Andrew Morton wrote: > > > > I want to ask if it is time to start using poorman function overloading > > > > with _b_c_e(). There are millions of allocation functions for example, > > > >

[PATCH] nft: Fix --debug mnl not producing output

2018-04-25 Thread Duncan Roe
cache_update() needs to accept the full debug mask instead of a boolean of NFT_DEBUG_NETLINK, because called functions may wish to check other bits (NFT_DEBUG_MNL in particular). Signed-off-by: Duncan Roe --- include/rule.h | 2 +- src/evaluate.c | 30

Re: [PATCH] nft: Fix --debug mnl not producing output

2018-04-25 Thread Florian Westphal
Duncan Roe wrote: > cache_update() needs to accept the full debug mask instead of a boolean of > NFT_DEBUG_NETLINK, because called functions may wish to check other bits > (NFT_DEBUG_MNL in particular). Good catch, applied, thanks! -- To unsubscribe from this list: