deliverable/linux.git
7 years agoMerge remote-tracking branch 'netfilter-next/master'
Stephen Rothwell [Tue, 13 Sep 2016 00:08:18 +0000 (10:08 +1000)] 
Merge remote-tracking branch 'netfilter-next/master'

7 years agoMerge remote-tracking branch 'ipsec-next/master'
Stephen Rothwell [Mon, 12 Sep 2016 23:59:29 +0000 (09:59 +1000)] 
Merge remote-tracking branch 'ipsec-next/master'

7 years agoMerge remote-tracking branch 'net-next/master'
Stephen Rothwell [Mon, 12 Sep 2016 23:50:21 +0000 (09:50 +1000)] 
Merge remote-tracking branch 'net-next/master'

7 years agoMerge remote-tracking branch 'slave-dma/next'
Stephen Rothwell [Mon, 12 Sep 2016 23:46:17 +0000 (09:46 +1000)] 
Merge remote-tracking branch 'slave-dma/next'

7 years agoMerge remote-tracking branch 'thermal/next'
Stephen Rothwell [Mon, 12 Sep 2016 23:44:34 +0000 (09:44 +1000)] 
Merge remote-tracking branch 'thermal/next'

7 years agoMerge remote-tracking branch 'pm/linux-next'
Stephen Rothwell [Mon, 12 Sep 2016 23:36:11 +0000 (09:36 +1000)] 
Merge remote-tracking branch 'pm/linux-next'

7 years agoMerge remote-tracking branch 'v4l-dvb/master'
Stephen Rothwell [Mon, 12 Sep 2016 23:26:03 +0000 (09:26 +1000)] 
Merge remote-tracking branch 'v4l-dvb/master'

7 years agoMerge remote-tracking branch 'hwmon-staging/hwmon-next'
Stephen Rothwell [Mon, 12 Sep 2016 23:24:49 +0000 (09:24 +1000)] 
Merge remote-tracking branch 'hwmon-staging/hwmon-next'

7 years agoMerge branch 'dmi/master'
Stephen Rothwell [Mon, 12 Sep 2016 23:24:46 +0000 (09:24 +1000)] 
Merge branch 'dmi/master'

7 years agoMerge remote-tracking branch 'i2c/i2c/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 23:21:58 +0000 (09:21 +1000)] 
Merge remote-tracking branch 'i2c/i2c/for-next'

7 years agoMerge remote-tracking branch 'hid/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 23:19:59 +0000 (09:19 +1000)] 
Merge remote-tracking branch 'hid/for-next'

7 years agoMerge remote-tracking branch 'pstore/for-next/pstore'
Stephen Rothwell [Mon, 12 Sep 2016 23:18:26 +0000 (09:18 +1000)] 
Merge remote-tracking branch 'pstore/for-next/pstore'

7 years agoMerge remote-tracking branch 'pci/next'
Stephen Rothwell [Mon, 12 Sep 2016 23:14:57 +0000 (09:14 +1000)] 
Merge remote-tracking branch 'pci/next'

7 years agoMerge remote-tracking branch 'vfs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 23:13:48 +0000 (09:13 +1000)] 
Merge remote-tracking branch 'vfs/for-next'

7 years agoMerge remote-tracking branch 'vfs-miklos/next'
Stephen Rothwell [Mon, 12 Sep 2016 23:05:07 +0000 (09:05 +1000)] 
Merge remote-tracking branch 'vfs-miklos/next'

7 years agoMerge remote-tracking branch 'file-locks/linux-next'
Stephen Rothwell [Mon, 12 Sep 2016 23:03:35 +0000 (09:03 +1000)] 
Merge remote-tracking branch 'file-locks/linux-next'

7 years agoMerge remote-tracking branch 'overlayfs/overlayfs-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:55:19 +0000 (08:55 +1000)] 
Merge remote-tracking branch 'overlayfs/overlayfs-next'

7 years agoMerge remote-tracking branch 'orangefs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:54:10 +0000 (08:54 +1000)] 
Merge remote-tracking branch 'orangefs/for-next'

7 years agoMerge remote-tracking branch 'nfsd/nfsd-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:53:01 +0000 (08:53 +1000)] 
Merge remote-tracking branch 'nfsd/nfsd-next'

7 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
David S. Miller [Mon, 12 Sep 2016 22:52:44 +0000 (15:52 -0700)] 
Merge git://git./linux/kernel/git/davem/net

Conflicts:
drivers/net/ethernet/mediatek/mtk_eth_soc.c
drivers/net/ethernet/qlogic/qed/qed_dcbx.c
drivers/net/phy/Kconfig

All conflicts were cases of overlapping commits.

Signed-off-by: David S. Miller <davem@davemloft.net>
7 years agoMerge remote-tracking branch 'nfs/linux-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:51:51 +0000 (08:51 +1000)] 
Merge remote-tracking branch 'nfs/linux-next'

7 years agoMerge remote-tracking branch 'jfs/jfs-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:50:42 +0000 (08:50 +1000)] 
Merge remote-tracking branch 'jfs/jfs-next'

7 years agoMerge remote-tracking branch 'gfs2/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:49:33 +0000 (08:49 +1000)] 
Merge remote-tracking branch 'gfs2/for-next'

7 years agoMerge remote-tracking branch 'fuse/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:48:23 +0000 (08:48 +1000)] 
Merge remote-tracking branch 'fuse/for-next'

7 years agoMerge remote-tracking branch 'f2fs/dev'
Stephen Rothwell [Mon, 12 Sep 2016 22:47:10 +0000 (08:47 +1000)] 
Merge remote-tracking branch 'f2fs/dev'

7 years agoMerge remote-tracking branch 'ext4/dev'
Stephen Rothwell [Mon, 12 Sep 2016 22:46:00 +0000 (08:46 +1000)] 
Merge remote-tracking branch 'ext4/dev'

7 years agoMerge remote-tracking branch 'ext3/for_next'
Stephen Rothwell [Mon, 12 Sep 2016 22:44:28 +0000 (08:44 +1000)] 
Merge remote-tracking branch 'ext3/for_next'

7 years agoMerge remote-tracking branch 'ecryptfs/next'
Stephen Rothwell [Mon, 12 Sep 2016 22:44:25 +0000 (08:44 +1000)] 
Merge remote-tracking branch 'ecryptfs/next'

7 years agoMerge remote-tracking branch 'cifs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:43:13 +0000 (08:43 +1000)] 
Merge remote-tracking branch 'cifs/for-next'

7 years agoMerge remote-tracking branch 'ceph/master'
Stephen Rothwell [Mon, 12 Sep 2016 22:42:03 +0000 (08:42 +1000)] 
Merge remote-tracking branch 'ceph/master'

7 years agoMerge remote-tracking branch 'btrfs-kdave/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:40:51 +0000 (08:40 +1000)] 
Merge remote-tracking branch 'btrfs-kdave/for-next'

7 years agoMerge remote-tracking branch 'befs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:39:40 +0000 (08:39 +1000)] 
Merge remote-tracking branch 'befs/for-next'

7 years agoMerge remote-tracking branch 'xtensa/for_next'
Stephen Rothwell [Mon, 12 Sep 2016 22:38:29 +0000 (08:38 +1000)] 
Merge remote-tracking branch 'xtensa/for_next'

7 years agoMerge remote-tracking branch 'unicore32/unicore32'
Stephen Rothwell [Mon, 12 Sep 2016 22:38:25 +0000 (08:38 +1000)] 
Merge remote-tracking branch 'unicore32/unicore32'

7 years agoMerge remote-tracking branch 'tile/master'
Stephen Rothwell [Mon, 12 Sep 2016 22:37:15 +0000 (08:37 +1000)] 
Merge remote-tracking branch 'tile/master'

7 years agoMerge remote-tracking branch 's390/features'
Stephen Rothwell [Mon, 12 Sep 2016 22:36:01 +0000 (08:36 +1000)] 
Merge remote-tracking branch 's390/features'

7 years agoMerge remote-tracking branch 'nios2/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:34:45 +0000 (08:34 +1000)] 
Merge remote-tracking branch 'nios2/for-next'

7 years agoMerge remote-tracking branch 'mips/mips-for-linux-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:33:36 +0000 (08:33 +1000)] 
Merge remote-tracking branch 'mips/mips-for-linux-next'

7 years agoMerge remote-tracking branch 'm68knommu/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:32:24 +0000 (08:32 +1000)] 
Merge remote-tracking branch 'm68knommu/for-next'

7 years agoMerge remote-tracking branch 'm68k/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:31:14 +0000 (08:31 +1000)] 
Merge remote-tracking branch 'm68k/for-next'

7 years agoMerge remote-tracking branch 'h8300/h8300-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:31:05 +0000 (08:31 +1000)] 
Merge remote-tracking branch 'h8300/h8300-next'

7 years agoMerge remote-tracking branch 'blackfin/for-linus'
Stephen Rothwell [Mon, 12 Sep 2016 22:30:56 +0000 (08:30 +1000)] 
Merge remote-tracking branch 'blackfin/for-linus'

7 years agoMerge remote-tracking branch 'arm64/for-next/core'
Stephen Rothwell [Mon, 12 Sep 2016 22:21:38 +0000 (08:21 +1000)] 
Merge remote-tracking branch 'arm64/for-next/core'

7 years agoMerge remote-tracking branch 'tegra/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:20:29 +0000 (08:20 +1000)] 
Merge remote-tracking branch 'tegra/for-next'

7 years agoMerge remote-tracking branch 'samsung-krzk/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:19:21 +0000 (08:19 +1000)] 
Merge remote-tracking branch 'samsung-krzk/for-next'

7 years agoMerge remote-tracking branch 'rockchip/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:17:59 +0000 (08:17 +1000)] 
Merge remote-tracking branch 'rockchip/for-next'

7 years agoMerge remote-tracking branch 'renesas/next'
Stephen Rothwell [Mon, 12 Sep 2016 22:16:52 +0000 (08:16 +1000)] 
Merge remote-tracking branch 'renesas/next'

7 years agoMerge remote-tracking branch 'qcom/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:15:44 +0000 (08:15 +1000)] 
Merge remote-tracking branch 'qcom/for-next'

7 years agoMerge remote-tracking branch 'omap/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:14:23 +0000 (08:14 +1000)] 
Merge remote-tracking branch 'omap/for-next'

7 years agoMerge remote-tracking branch 'mvebu/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:13:16 +0000 (08:13 +1000)] 
Merge remote-tracking branch 'mvebu/for-next'

7 years agoMerge remote-tracking branch 'keystone/next'
Stephen Rothwell [Mon, 12 Sep 2016 22:12:09 +0000 (08:12 +1000)] 
Merge remote-tracking branch 'keystone/next'

7 years agoMerge remote-tracking branch 'imx-mxs/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:11:01 +0000 (08:11 +1000)] 
Merge remote-tracking branch 'imx-mxs/for-next'

7 years agoMerge remote-tracking branch 'berlin/berlin/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:09:48 +0000 (08:09 +1000)] 
Merge remote-tracking branch 'berlin/berlin/for-next'

7 years agoMerge remote-tracking branch 'bcm2835/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:08:40 +0000 (08:08 +1000)] 
Merge remote-tracking branch 'bcm2835/for-next'

7 years agoMerge remote-tracking branch 'at91/at91-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:08:30 +0000 (08:08 +1000)] 
Merge remote-tracking branch 'at91/at91-next'

7 years agoMerge remote-tracking branch 'amlogic/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:06:59 +0000 (08:06 +1000)] 
Merge remote-tracking branch 'amlogic/for-next'

7 years agoMerge remote-tracking branch 'arm-soc/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:05:00 +0000 (08:05 +1000)] 
Merge remote-tracking branch 'arm-soc/for-next'

7 years agoMerge remote-tracking branch 'arm/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:01:51 +0000 (08:01 +1000)] 
Merge remote-tracking branch 'arm/for-next'

7 years agoMerge remote-tracking branch 'arc/for-next'
Stephen Rothwell [Mon, 12 Sep 2016 22:00:43 +0000 (08:00 +1000)] 
Merge remote-tracking branch 'arc/for-next'

7 years agoMerge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:50 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'drm-intel-fixes/for-linux-next-fixes'

7 years agoMerge remote-tracking branch 'crypto-current/master'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:40 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'crypto-current/master'

7 years agoMerge remote-tracking branch 'input-current/for-linus'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:38 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'input-current/for-linus'

7 years agoMerge remote-tracking branch 'usb-serial-fixes/usb-linus'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:36 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'usb-serial-fixes/usb-linus'

7 years agoMerge remote-tracking branch 'pci-current/for-linus'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:34 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'pci-current/for-linus'

7 years agoMerge remote-tracking branch 'sound-current/for-linus'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:33 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'sound-current/for-linus'

7 years agoMerge remote-tracking branch 'mac80211/master'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:32 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'mac80211/master'

7 years agoMerge remote-tracking branch 'netfilter/master'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:30 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'netfilter/master'

7 years agoMerge remote-tracking branch 'ipsec/master'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:30 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'ipsec/master'

7 years agoMerge remote-tracking branch 'arm-current/fixes'
Stephen Rothwell [Mon, 12 Sep 2016 21:58:27 +0000 (07:58 +1000)] 
Merge remote-tracking branch 'arm-current/fixes'

7 years agonfsd: randomize SETCLIENTID reply to help distinguish servers
J. Bruce Fields [Mon, 12 Sep 2016 20:00:47 +0000 (16:00 -0400)] 
nfsd: randomize SETCLIENTID reply to help distinguish servers

NFSv4.1 has built-in trunking support that allows a client to determine
whether two connections to two different IP addresses are actually to
the same server.  NFSv4.0 does not, but RFC 7931 attempts to provide
clients a means to do this by suggesting that they perform SETCLIENTIDs
to the two servers and comparing the clientids and verifiers.

Linux clients since 05f4c350ee02 "NFS: Discover NFSv4 server trunking
when mounting" implement this suggestion.  It is possible that other
clients do to.

knfsd generates the 64-bit clientid by concatenating the 32-bit boot
time (in seconds) and a counter.  This makes collisions between
clientids generated by the same server extremely unlikely.  But
collisions are very likely between clientids generated by servers that
boot at the same time, and it's quite common for multiple servers to
boot at the same time.  The verifier is generated in the same way, so
has the same problem.

Therefore recent NFSv4.0 clients may decide two different servers are
really the same, and mount a filesystem from the wrong server.

The fault is really with RFC 7931, and needs a client fix, but it's not
clear what that fix will be.  In the meantime, mitigate the chance of
these collisions by randomizing the starting value of the counters used
to generate clientids and verifiers.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
7 years agonetfilter: nf_nat: handle NF_DROP from nfnetlink_parse_nat_setup()
Pablo Neira Ayuso [Fri, 9 Sep 2016 13:38:12 +0000 (15:38 +0200)] 
netfilter: nf_nat: handle NF_DROP from nfnetlink_parse_nat_setup()

nf_nat_setup_info() returns NF_* verdicts, so convert them to error
codes that is what ctnelink expects. This has passed overlook without
having any impact since this nf_nat_setup_info() has always returned
NF_ACCEPT so far. Since 870190a9ec90 ("netfilter: nat: convert nat bysrc
hash to rhashtable"), this is problem.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: nft_numgen: fix race between num generate and store it
Liping Zhang [Mon, 12 Sep 2016 14:21:36 +0000 (22:21 +0800)] 
netfilter: nft_numgen: fix race between num generate and store it

After we generate a new number, we still use the priv->counter and
store it to the dreg. This is not correct, another cpu may already
change it to a new number. So we must use the generated number, not
the priv->counter itself.

Fixes: 91dbc6be0a62 ("netfilter: nf_tables: add number generator expression")
Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: conntrack: remove packet hotpath stats
Florian Westphal [Sun, 11 Sep 2016 20:55:53 +0000 (22:55 +0200)] 
netfilter: conntrack: remove packet hotpath stats

These counters sit in hot path and do show up in perf, this is especially
true for 'found' and 'searched' which get incremented for every packet
processed.

Information like

searched=212030105
new=623431
found=333613
delete=623327

does not seem too helpful nowadays:

- on busy systems found and searched will overflow every few hours
(these are 32bit integers), other more busy ones every few days.

- for debugging there are better methods, such as iptables' trace target,
the conntrack log sysctls.  Nowadays we also have perf tool.

This removes packet path stat counters except those that
are expected to be 0 (or close to 0) on a normal system, e.g.
'insert_failed' (race happened) or 'invalid' (proto tracker rejects).

The insert stat is retained for the ctnetlink case.
The found stat is retained for the tuple-is-taken check when NAT has to
determine if it needs to pick a different source address.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: nf_queue: get rid of dependency on IP6_NF_IPTABLES
Liping Zhang [Sun, 11 Sep 2016 14:05:27 +0000 (22:05 +0800)] 
netfilter: nf_queue: get rid of dependency on IP6_NF_IPTABLES

hash_v6 is used by both nftables and ip6tables, so depend on
IP6_NF_IPTABLES is not properly.

Actually, it only parses ipv6hdr and computes a hash value, so
even if IPV6 is disabled, there's no side effect too, remove it.

Signed-off-by: Liping Zhang <liping.zhang@spreadtrum.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: Add the missed return value check of nft_register_chain_type
Gao Feng [Sat, 10 Sep 2016 02:04:30 +0000 (10:04 +0800)] 
netfilter: Add the missed return value check of nft_register_chain_type

There are some codes of netfilter module which did not check the return
value of nft_register_chain_type. Add the checks now.

Signed-off-by: Gao Feng <fgao@ikuai8.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: Add the missed return value check of register_netdevice_notifier
Gao Feng [Fri, 9 Sep 2016 15:25:09 +0000 (23:25 +0800)] 
netfilter: Add the missed return value check of register_netdevice_notifier

There are some codes of netfilter module which did not check the return
value of register_netdevice_notifier. Add the checks now.

Signed-off-by: Gao Feng <fgao@ikuai8.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: nf_conntrack: simplify __nf_ct_try_assign_helper() return logic
Pablo Neira [Fri, 9 Sep 2016 12:01:26 +0000 (14:01 +0200)] 
netfilter: nf_conntrack: simplify __nf_ct_try_assign_helper() return logic

Instead of several goto's just to return the result, simply return it.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: nf_tables: don't drop IPv6 packets that cannot parse transport
Pablo Neira Ayuso [Fri, 9 Sep 2016 10:42:53 +0000 (12:42 +0200)] 
netfilter: nf_tables: don't drop IPv6 packets that cannot parse transport

This is overly conservative and not flexible at all, so better let them
go through and let the filtering policy decide what to do with them. We
use skb_header_pointer() all over the place so we would just fail to
match when trying to access fields from malformed traffic.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: nf_tables_bridge: use nft_set_pktinfo_ipv{4, 6}_validate
Pablo Neira Ayuso [Fri, 9 Sep 2016 10:42:52 +0000 (12:42 +0200)] 
netfilter: nf_tables_bridge: use nft_set_pktinfo_ipv{4, 6}_validate

Consolidate pktinfo setup and validation by using the new generic
functions so we converge to the netdev family codebase.

We only need a linear IPv4 and IPv6 header from the reject expression,
so move nft_bridge_iphdr_validate() and nft_bridge_ip6hdr_validate()
to net/bridge/netfilter/nft_reject_bridge.c.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: introduce nft_set_pktinfo_{ipv4, ipv6}_validate()
Pablo Neira Ayuso [Fri, 9 Sep 2016 10:42:51 +0000 (12:42 +0200)] 
netfilter: introduce nft_set_pktinfo_{ipv4, ipv6}_validate()

These functions are extracted from the netdev family, they initialize
the pktinfo structure and validate that the IPv4 and IPv6 headers are
well-formed given that these functions are called from a path where
layer 3 sanitization did not happen yet.

These functions are placed in include/net/netfilter/nf_tables_ipv{4,6}.h
so they can be reused by a follow up patch to use them from the bridge
family too.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: nf_tables_ipv6: setup pktinfo transport field on failure to parse
Pablo Neira Ayuso [Fri, 9 Sep 2016 10:42:50 +0000 (12:42 +0200)] 
netfilter: nf_tables_ipv6: setup pktinfo transport field on failure to parse

Make sure the pktinfo protocol fields are initialized if this fails to
parse the transport header.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: nf_tables: ensure proper initialization of nft_pktinfo fields
Pablo Neira Ayuso [Fri, 9 Sep 2016 10:42:49 +0000 (12:42 +0200)] 
netfilter: nf_tables: ensure proper initialization of nft_pktinfo fields

This patch introduces nft_set_pktinfo_unspec() that ensures proper
initialization all of pktinfo fields for non-IP traffic. This is used
by the bridge, netdev and arp families.

This new function relies on nft_set_pktinfo_proto_unspec() to set a new
tprot_set field that indicates if transport protocol information is
available. Remain fields are zeroed.

The meta expression has been also updated to check to tprot_set in first
place given that zero is a valid tprot value. Even a handcrafted packet
may come with the IPPROTO_RAW (255) protocol number so we can't rely on
this value as tprot unset.

Reported-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: nft_dynset: allow to invert match criteria
Pablo Neira Ayuso [Wed, 7 Sep 2016 10:22:18 +0000 (12:22 +0200)] 
netfilter: nft_dynset: allow to invert match criteria

The dynset expression matches if we can fit a new entry into the set.
If there is no room for it, then it breaks the rule evaluation.

This patch introduces the inversion flag so you can add rules to
explicitly drop packets that don't fit into the set. For example:

 # nft filter input flow table xyz size 4 { ip saddr timeout 120s counter } overflow drop

This is useful to provide a replacement for connlimit.

For the rule above, every new entry uses the IPv4 address as key in the
set, this entry gets a timeout of 120 seconds that gets refresh on every
packet seen. If we get new flow and our set already contains 4 entries
already, then this packet is dropped.

You can already express this in positive logic, assuming default policy
to drop:

 # nft filter input flow table xyz size 4 { ip saddr timeout 10s counter } accept

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
7 years agonetfilter: nft_hash: Add hash offset value
Laura Garcia Liebana [Tue, 6 Sep 2016 06:44:19 +0000 (08:44 +0200)] 
netfilter: nft_hash: Add hash offset value

Add support to pass through an offset to the hash value. With this
feature, the sysadmin is able to generate a hash with a given
offset value.

Example:

meta mark set jhash ip saddr mod 2 seed 0xabcd offset 100

This option generates marks according to the source address from 100 to
101.

Signed-off-by: Laura Garcia Liebana <nevola@gmail.com>
7 years agoMerge branch 'devel-stable' into for-next
Russell King [Mon, 12 Sep 2016 15:03:06 +0000 (16:03 +0100)] 
Merge branch 'devel-stable' into for-next

7 years agoMerge branches 'fixes' and 'misc' into for-next
Russell King [Mon, 12 Sep 2016 15:03:01 +0000 (16:03 +0100)] 
Merge branches 'fixes' and 'misc' into for-next

7 years agoMerge tag 'arm-plt-optimizations-for-v4.9' of git://git.linaro.org/people/ard.biesheu...
Russell King [Wed, 7 Sep 2016 16:15:23 +0000 (17:15 +0100)] 
Merge tag 'arm-plt-optimizations-for-v4.9' of git://git.linaro.org/people/ard.biesheuvel/linux-arm into devel-stable

This series of 4 patches optimizes the ARM PLT generation code that
is invoked at module load time, to get rid of the O(n^2) algorithm
that results in pathological load times of 10 seconds or more for
large modules on certain STB platforms

7 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Linus Torvalds [Mon, 12 Sep 2016 14:56:06 +0000 (07:56 -0700)] 
Merge git://git./linux/kernel/git/davem/net

Pull networking fixes from David Miller:
 "Mostly small sets of driver fixes scattered all over the place.

   1) Mediatek driver fixes from Sean Wang.  Forward port not written
      correctly during TX map, missed handling of EPROBE_DEFER, and
      mistaken use of put_page() instead of skb_free_frag().

   2) Fix socket double-free in KCM code, from WANG Cong.

   3) QED driver fixes from Sudarsana Reddy Kalluru, including a fix for
      using the dcbx buffers before initializing them.

   4) Mellanox Switch driver fixes from Jiri Pirko, including a fix for
      double fib removals and an error handling fix in
      mlxsw_sp_module_init().

   5) Fix kernel panic when enabling LLDP in i40e driver, from Dave
      Ertman.

   6) Fix padding of TSO packets in thunderx driver, from Sunil Goutham.

   7) TCP's rcv_wup not initialized properly when using fastopen, from
      Neal Cardwell.

   8) Don't use uninitialized flow keys in flow dissector, from Gao
      Feng.

   9) Use after free in l2tp module unload, from Sabrina Dubroca.

  10) Fix interrupt registry ordering issues in smsc911x driver, from
      Jeremy Linton.

  11) Fix crashes in bonding having to do with enslaving and rx_handler,
      from Mahesh Bandewar.

  12) AF_UNIX deadlock fixes from Linus.

  13) In mlx5 driver, don't read skb->xmit_mode after it might have been
      freed from the TX reclaim path.  From Tariq Toukan.

  14) Fix a bug from 2015 in TCP Yeah where the congestion window does
      not increase, from Artem Germanov.

  15) Don't pad frames on receive in NFP driver, from Jakub Kicinski.

  16) Fix chunk fragmenting in SCTP wrt. GSO, from Marcelo Ricardo
      Leitner.

  17) Fix deletion of VRF routes, from Mark Tomlinson.

  18) Fix device refcount leak when DAD fails in ipv6, from Wei Yongjun"

* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (101 commits)
  net/mlx4_en: Fix panic on xmit while port is down
  net/mlx4_en: Fixes for DCBX
  net/mlx4_en: Fix the return value of mlx4_en_dcbnl_set_state()
  net/mlx4_en: Fix the return value of mlx4_en_dcbnl_set_all()
  net: ethernet: renesas: sh_eth: add POST registers for rz
  drivers: net: phy: mdio-xgene: Add hardware dependency
  dwc_eth_qos: do not register semi-initialized device
  sctp: identify chunks that need to be fragmented at IP level
  mlxsw: spectrum: Set port type before setting its address
  mlxsw: spectrum_router: Fix error path in mlxsw_sp_router_init
  nfp: don't pad frames on receive
  nfp: drop support for old firmware ABIs
  nfp: remove linux/version.h includes
  tcp: cwnd does not increase in TCP YeAH
  net/mlx5e: Fix parsing of vlan packets when updating lro header
  net/mlx5e: Fix global PFC counters replication
  net/mlx5e: Prevent casting overflow
  net/mlx5e: Move an_disable_cap bit to a new position
  net/mlx5e: Fix xmit_more counter race issue
  tcp: fastopen: avoid negative sk_forward_alloc
  ...

7 years agoMerge branches 'pnp' and 'device-properties' into linux-next
Rafael J. Wysocki [Mon, 12 Sep 2016 12:51:30 +0000 (14:51 +0200)] 
Merge branches 'pnp' and 'device-properties' into linux-next

* pnp:
  PNP: isapnp: make core more explicitly non-modular

* device-properties:
  serial: 8250_dw: Add quirk for APM X-Gene SoC
  ACPI / LPSS: Provide build-in properties of the UART
  ACPI / APD: Provide build-in properties of the UART
  driver core: Don't leak secondary fwnode on device removal

7 years agoMerge branches 'pm-cpufreq' and 'pm-cpufreq-sched' into linux-next
Rafael J. Wysocki [Mon, 12 Sep 2016 12:50:30 +0000 (14:50 +0200)] 
Merge branches 'pm-cpufreq' and 'pm-cpufreq-sched' into linux-next

* pm-cpufreq:
  cpufreq: Drop unnecessary check from cpufreq_policy_alloc()
  cpufreq-SCPI: Delete unnecessary assignment for the field "owner"
  cpufreq: dt: Add exynos5433 compatible to use generic cpufreq driver

* pm-cpufreq-sched:
  cpufreq / sched: ignore SMT when determining max cpu capacity
  cpufreq / sched: Pass runqueue pointer to cpufreq_update_util()
  cpufreq / sched: Pass flags to cpufreq_update_util()

7 years agoMerge back earlier cpufreq material for v4.9.
Rafael J. Wysocki [Mon, 12 Sep 2016 12:49:29 +0000 (14:49 +0200)] 
Merge back earlier cpufreq material for v4.9.

7 years agoMerge branches 'pm-domains' and 'pm-cpuidle' into linux-next
Rafael J. Wysocki [Mon, 12 Sep 2016 12:49:03 +0000 (14:49 +0200)] 
Merge branches 'pm-domains' and 'pm-cpuidle' into linux-next

* pm-domains:
  PM / Domains: Always enable debugfs support if available

* pm-cpuidle:
  ARM: cpuidle: Fix error return code

7 years agoMerge branches 'acpi-button', 'acpi-tables' and 'acpi-battery' into linux-next
Rafael J. Wysocki [Mon, 12 Sep 2016 12:48:35 +0000 (14:48 +0200)] 
Merge branches 'acpi-button', 'acpi-tables' and 'acpi-battery' into linux-next

* acpi-button:
  ACPI / button: Add document for ACPI control method lid device restrictions
  ACPI / button: Fix an issue in button.lid_init_state=ignore mode

* acpi-tables:
  ACPI / tables: do not report the number of entries ignored by acpi_parse_entries()
  ACPI / tables: fix acpi_parse_entries_array() so it traverses all subtables
  ACPI / tables: fix incorrect counts returned by acpi_parse_entries_array()

* acpi-battery:
  ACPI / battery: Add sysfs representation after checking _BST

7 years agoMerge branches 'acpi-ec' and 'acpi-cppc' into linux-next
Rafael J. Wysocki [Mon, 12 Sep 2016 12:48:13 +0000 (14:48 +0200)] 
Merge branches 'acpi-ec' and 'acpi-cppc' into linux-next

* acpi-ec:
  ACPI / EC: Fix issues related to boot_ec
  ACPI / EC: Fix a gap that ECDT EC cannot handle EC events
  ACPI / EC: Fix a memory leakage issue in acpi_ec_add()
  ACPI / EC: Cleanup first_ec/boot_ec code
  ACPI / EC: Enable event freeze mode to improve event handling for suspend process
  ACPI / EC: Add PM operations to improve event handling for suspend process
  ACPI / EC: Add PM operations to improve event handling for resume process
  ACPI / EC: Fix an issue that SCI_EVT cannot be detected after event is enabled
  ACPI / EC: Add EC_FLAGS_QUERY_ENABLED to reveal a hidden logic
  ACPI / EC: Add PM operations for suspend/resume noirq stage

* acpi-cppc:
  ACPI / CPPC: Add prefix cppc to cpudata structure name
  ACPI / CPPC: Add support for functional fixed hardware address
  ACPI / CPPC: Don't return on CPPC probe failure
  ACPI / CPPC: Allow build with ACPI_CPU_FREQ_PSS config
  ACPI / CPPC: check for error bit in PCC status field
  ACPI / CPPC: move all PCC related information into pcc_data
  ACPI / CPPC: add sysfs support to compute delivered performance
  ACPI / CPPC: set a non-zero value for transition_latency
  ACPI / CPPC: support for batching CPPC requests
  ACPI / CPPC: acquire pcc_lock only while accessing PCC subspace
  ACPI / CPPC: restructure read/writes for efficient sys mapped reg ops
  mailbox: pcc: Support HW-Reduced Communication Subspace type 2

7 years agoMerge branches 'acpi-sysfs', 'acpi-pci', 'acpi-soc' and 'acpi-bus' into linux-next
Rafael J. Wysocki [Mon, 12 Sep 2016 12:47:33 +0000 (14:47 +0200)] 
Merge branches 'acpi-sysfs', 'acpi-pci', 'acpi-soc' and 'acpi-bus' into linux-next

* acpi-sysfs:
  ACPI / sysfs: Use new GPE masking mechanism in GPE interface

* acpi-pci:
  ACPI / PCI: fix GIC irq model default PCI IRQ polarity

* acpi-soc:
  ACPI / APD: Add device HID for Vulcan SPI controller

* acpi-bus:
  ACPI / bus: Make acpi_get_first_physical_node() public

7 years agoMerge branch 'acpica' into linux-next
Rafael J. Wysocki [Mon, 12 Sep 2016 12:47:04 +0000 (14:47 +0200)] 
Merge branch 'acpica' into linux-next

* acpica: (42 commits)
  ACPICA: Update version to 20160831
  ACPICA: Tables: Tune table mutex to be a leaf lock
  ACPICA: Dispatcher: Fix a mutex issue for method auto serialization
  ACPICA: Namespace: Fix dynamic table loading issues
  ACPICA: Namespace: Add acpi_ns_get_node_unlocked()
  ACPICA: Interpreter: Fix MLC issues by switching to new term_list grammar for table loading
  ACPICA: Update return value for intenal _OSI method
  ACPICA: Tables: Override all 64-bit GAS fields when acpi_gbl_use32_bit_fadt_addresses is TRUE
  ACPICA: Tables: Add new table events indicating table installation/uninstallation
  ACPICA: Tables: Remove wrong table event macros
  ACPICA: Tables: Remove acpi_tb_install_fixed_table()
  ACPICA: Add a couple of casts to uthex.c
  ACPICA: Cleanup for all string-to-integer conversions
  ACPICA: Debugger: Add subcommand for predefined name execution
  ACPICA: Update version to 20160729
  ACPICA: OSL: Fix a regression that old GCC requires a workaround for strchr()
  ACPICA: OSL: Cleanup the inclusion order of the compiler-specific headers
  ACPICA: EFI: Port acpidump to EDK2 environment
  ACPICA: Applications: Fix a potential issue that help messages may be dumped to acpi_gbl_debug_file
  ACPICA: Clib: Eliminate acpi_os_XXXFile()/acpi_log_error and link clibrary fxxx()/errno/perror() instead
  ...

7 years agoARM: pxa/lubbock: add pcmcia clock
Russell King [Sun, 4 Sep 2016 20:45:56 +0000 (21:45 +0100)] 
ARM: pxa/lubbock: add pcmcia clock

Add the required PCMCIA clock for the SA1111 "1800" device.  This clock
is used to compute timing information for the PCMCIA interface in the
SoC device, rather than the SA1111.  Hence, the provision of this clock
is a convenience for the driver and does not reflect the hardware, so
this must not be copied into DT.

Acked-by: Robert Jarzmik <robert.jarzmik@free.fr>
Tested-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agoARM: locomo: fix locomo irq handling
Russell King [Fri, 2 Sep 2016 21:08:45 +0000 (22:08 +0100)] 
ARM: locomo: fix locomo irq handling

Accidentally booting Collie on Assabet reveals that the locomo driver
incorrectly overwrites gpio-sa1100's chip data for its parent interrupt,
leading to oops in sa1100_gpio_unmask() and sa1100_update_edge_regs()
when "gpio: sa1100: convert to use IO accessors" is applied.  Fix locomo
to use the handler data rather than chip data for its parent interrupt.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
7 years agoARM: 8612/1: LPAE: initialize cache policy correctly
Stefan Agner [Wed, 7 Sep 2016 20:56:09 +0000 (21:56 +0100)] 
ARM: 8612/1: LPAE: initialize cache policy correctly

The cachepolicy variable gets initialized using a masked pmd
value. So far, the pmd has been masked with flags valid for the
2-page table format, but the 3-page table format requires a
different mask. On LPAE, this lead to a wrong assumption of what
initial cache policy has been used. Later a check forces the
cache policy to writealloc and prints the following warning:
Forcing write-allocate cache policy for SMP

This patch introduces a new definition PMD_SECT_CACHE_MASK for
both page table formats which masks in all cache flags in both
cases.

Signed-off-by: Stefan Agner <stefan@agner.ch>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
7 years agomac80211: make mpath path fixing more robust
Pedersen, Thomas [Tue, 6 Sep 2016 18:59:00 +0000 (11:59 -0700)] 
mac80211: make mpath path fixing more robust

A fixed mpath was not quite being treated as such:

1) if a PERR frame was received, a fixed mpath was
   deactivated.

2) queued path discovery for fixed mpath was potentially
   being considered, changing mpath state.

3) other mpath flags were potentially being inherited when
   fixing the mpath. Just assign PATH_FIXED and SN_VALID.

This solves several issues when fixing a mesh path in one
direction. The reverse direction mpath should probably
also be fixed, or root announcements at least be enabled.

Signed-off-by: Thomas Pedersen <twp@qca.qualcomm.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This page took 0.044427 seconds and 5 git commands to generate.