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

7 years agoMerge remote-tracking branch 'kbuild/for-next'
Stephen Rothwell [Tue, 13 Sep 2016 00:41:10 +0000 (10:41 +1000)] 
Merge remote-tracking branch 'kbuild/for-next'

7 years agoMerge remote-tracking branch 'sunxi/sunxi/for-next'
Stephen Rothwell [Tue, 13 Sep 2016 00:39:58 +0000 (10:39 +1000)] 
Merge remote-tracking branch 'sunxi/sunxi/for-next'

7 years agoMerge remote-tracking branch 'drm-misc/topic/drm-misc'
Stephen Rothwell [Tue, 13 Sep 2016 00:38:38 +0000 (10:38 +1000)] 
Merge remote-tracking branch 'drm-misc/topic/drm-misc'

7 years agoMerge remote-tracking branch 'drm-tegra/drm/tegra/for-next'
Stephen Rothwell [Tue, 13 Sep 2016 00:37:29 +0000 (10:37 +1000)] 
Merge remote-tracking branch 'drm-tegra/drm/tegra/for-next'

7 years agoMerge remote-tracking branch 'drm-intel/for-linux-next'
Stephen Rothwell [Tue, 13 Sep 2016 00:35:41 +0000 (10:35 +1000)] 
Merge remote-tracking branch 'drm-intel/for-linux-next'

7 years agoMerge remote-tracking branch 'drm-panel/drm/panel/for-next'
Stephen Rothwell [Tue, 13 Sep 2016 00:34:07 +0000 (10:34 +1000)] 
Merge remote-tracking branch 'drm-panel/drm/panel/for-next'

7 years agoMerge remote-tracking branch 'drm/drm-next'
Stephen Rothwell [Tue, 13 Sep 2016 00:31:55 +0000 (10:31 +1000)] 
Merge remote-tracking branch 'drm/drm-next'

7 years agoMerge remote-tracking branch 'crypto/master'
Stephen Rothwell [Tue, 13 Sep 2016 00:30:14 +0000 (10:30 +1000)] 
Merge remote-tracking branch 'crypto/master'

7 years agoMerge remote-tracking branch 'nand/nand/next'
Stephen Rothwell [Tue, 13 Sep 2016 00:28:41 +0000 (10:28 +1000)] 
Merge remote-tracking branch 'nand/nand/next'

7 years agoMerge branch 'drm-tda998x-devel' of git://git.armlinux.org.uk/~rmk/linux-arm into...
Dave Airlie [Tue, 13 Sep 2016 00:28:17 +0000 (10:28 +1000)] 
Merge branch 'drm-tda998x-devel' of git://git.armlinux.org.uk/~rmk/linux-arm into drm-next

This adds the ASoC codec interfaces for TDA998x HDMI audio from
Jyri Sarha.

* 'drm-tda998x-devel' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: dts: am335x-boneblack: Add HDMI audio support
  drm/i2c: tda998x: Register ASoC hdmi-codec and add audio DT binding
  drm/i2c: tda998x: Improve tda998x_configure_audio() audio related pdata

7 years agoMerge remote-tracking branch 'mtd/master'
Stephen Rothwell [Tue, 13 Sep 2016 00:27:30 +0000 (10:27 +1000)] 
Merge remote-tracking branch 'mtd/master'

7 years agoMerge remote-tracking branch 'rdma/for-next'
Stephen Rothwell [Tue, 13 Sep 2016 00:26:17 +0000 (10:26 +1000)] 
Merge remote-tracking branch 'rdma/for-next'

Initial merge window candidates for 4.9

- Merge in hns-roce driver (required also pulling in the current net-next
  from DaveM)
- Merge in shared mlx5 code (which DaveM also took)

# gpg: Signature made Fri 26 Aug 2016 01:19:54 AEST using RSA key ID 0E572FDD
# gpg: Can't check signature: public key not found

7 years agoMerge tag 'sunxi-drm-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git...
Dave Airlie [Tue, 13 Sep 2016 00:24:52 +0000 (10:24 +1000)] 
Merge tag 'sunxi-drm-for-4.9' of https://git./linux/kernel/git/mripard/linux into drm-next

Allwinner DRM changes for 4.9

This tag adds the support of a new SoC to sun4i-drm (the Allwinner A33),
and the usual few fixes and enhancements

* tag 'sunxi-drm-for-4.9' of https://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux:
  drm/sun4i: add missing header dependencies
  drm/sun4i: Add a DRC driver
  drm/sun4i: backend: Handle the SAT
  drm/sun4i: support A33 tcon
  drm/sun4i: support TCONs without channel 1
  drm/sun4i: Clear encoder->bridge if a bridge is not found
  drm/sun4i: rgb: add missing calls to drm_panel_{prepare,unprepare}
  drm/sun4i: Remove redundant dev_err call in sun4i_tcon_init_regmap()
  drm/sun4i: Add bridge support
  drm/sun4i: Move panel retrieval in RGB connector
  drm/sun4i: Store TCON's device structure pointer

7 years agoMerge remote-tracking branch 'mac80211-next/master'
Stephen Rothwell [Tue, 13 Sep 2016 00:24:21 +0000 (10:24 +1000)] 
Merge remote-tracking branch 'mac80211-next/master'

7 years agoMerge remote-tracking branch 'bluetooth/master'
Stephen Rothwell [Tue, 13 Sep 2016 00:22:47 +0000 (10:22 +1000)] 
Merge remote-tracking branch 'bluetooth/master'

7 years agoMerge tag 'topic/drm-misc-2016-09-08' of git://anongit.freedesktop.org/drm-intel...
Dave Airlie [Tue, 13 Sep 2016 00:19:38 +0000 (10:19 +1000)] 
Merge tag 'topic/drm-misc-2016-09-08' of git://anongit.freedesktop.org/drm-intel into drm-next

* tag 'topic/drm-misc-2016-09-08' of git://anongit.freedesktop.org/drm-intel:
  drm: Fix error path in drm_mode_page_flip_ioctl()
  Revert "drm: Unify handling of blob and object properties"
  drm/udl: implement usb_driver suspend/resume.
  drm: fix signed integer overflow
  drm/atomic: Reject properties not part of the object.
  drm/doc: Add a few words on validation with IGT

7 years agoMerge remote-tracking branch 'wireless-drivers-next/master'
Stephen Rothwell [Tue, 13 Sep 2016 00:13:46 +0000 (10:13 +1000)] 
Merge remote-tracking branch 'wireless-drivers-next/master'

7 years agoMerge remote-tracking branch 'ipvs-next/master'
Stephen Rothwell [Tue, 13 Sep 2016 00:12:36 +0000 (10:12 +1000)] 
Merge remote-tracking branch 'ipvs-next/master'

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 agodrm/fence: allow fence waiting to be interrupted by userspace
Gustavo Padovan [Mon, 12 Sep 2016 19:08:11 +0000 (16:08 -0300)] 
drm/fence: allow fence waiting to be interrupted by userspace

If userspace is running an synchronously atomic commit and interrupts the
atomic operation during fence_wait() it will hang until the timer expires,
so here we change the wait to be interruptible so it stop immediately when
userspace wants to quit.

Also adds the necessary error checking for fence_wait().

v2: Comment by Daniel Vetter
- Add error checking for fence_wait()

v3: Rebase on top of new atomic noblocking support

v4: Comment by Maarten Lankhorst
- remove 'swapped' bitfield as it was duplicating information

v5: Comments by Maarten Lankhorst
- assign plane->state to plane_state if !intr
- squash previous patch into this one

v6: Comment by Sean Paul
- rename intr to pre_swap

Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
[seanpaul fixed a couple checkpatch warnings and moved the preswap comment]
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1473707291-14781-1-git-send-email-gustavo@padovan.org
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>
This page took 0.04689 seconds and 5 git commands to generate.