Merge commit 'v3.17' into next
authorJames Morris <james.l.morris@oracle.com>
Wed, 19 Nov 2014 10:32:12 +0000 (21:32 +1100)
committerJames Morris <james.l.morris@oracle.com>
Wed, 19 Nov 2014 10:32:12 +0000 (21:32 +1100)
1  2 
Documentation/kernel-parameters.txt
MAINTAINERS
fs/namei.c
fs/nfsd/vfs.c
include/linux/kernel.h
net/rxrpc/ar-key.c
security/keys/key.c
security/keys/request_key.c
security/selinux/netif.c

@@@ -571,6 -571,12 +571,12 @@@ bytes respectively. Such letter suffixe
                        trust validation.
                        format: { id:<keyid> | builtin }
  
+       cca=            [MIPS] Override the kernel pages' cache coherency
+                       algorithm.  Accepted values range from 0 to 7
+                       inclusive. See arch/mips/include/asm/pgtable-bits.h
+                       for platform specific values (SB1, Loongson3 and
+                       others).
        ccw_timeout_log [S390]
                        See Documentation/s390/CommonIO for details.
  
                        that can be changed at run time by the
                        set_graph_function file in the debugfs tracing directory.
  
+       ftrace_graph_notrace=[function-list]
+                       [FTRACE] Do not trace from the functions specified in
+                       function-list.  This list is a comma separated list of
+                       functions that can be changed at run time by the
+                       set_graph_notrace file in the debugfs tracing directory.
        gamecon.map[2|3]=
                        [HW,JOY] Multisystem joystick and NES/SNES/PSX pad
                        support via parallel port (up to 5 devices per port)
                        Set number of hash buckets for inode cache.
  
        ima_appraise=   [IMA] appraise integrity measurements
 -                      Format: { "off" | "enforce" | "fix" }
 +                      Format: { "off" | "enforce" | "fix" | "log" }
                        default: "enforce"
  
        ima_appraise_tcb [IMA]
        ip=             [IP_PNP]
                        See Documentation/filesystems/nfs/nfsroot.txt.
  
-       ip2=            [HW] Set IO/IRQ pairs for up to 4 IntelliPort boards
-                       See comment before ip2_setup() in
-                       drivers/char/ip2/ip2base.c.
        irqfixup        [HW]
                        When an interrupt is not handled search all handlers
                        for it. Intended to get systems with badly broken
                        7 (KERN_DEBUG)          debug-level messages
  
        log_buf_len=n[KMG]      Sets the size of the printk ring buffer,
-                       in bytes.  n must be a power of two.  The default
-                       size is set in the kernel config file.
+                       in bytes.  n must be a power of two and greater
+                       than the minimal size. The minimal size is defined
+                       by LOG_BUF_SHIFT kernel config parameter. There is
+                       also CONFIG_LOG_CPU_MAX_BUF_SHIFT config parameter
+                       that allows to increase the default size depending on
+                       the number of CPUs. See init/Kconfig for more details.
  
        logo.nologo     [FB] Disables display of the built-in Linux logo.
                        This may be used to provide more screen space for
                        and restore using xsave. The kernel will fallback to
                        enabling legacy floating-point and sse state.
  
+       noxsaveopt      [X86] Disables xsaveopt used in saving x86 extended
+                       register states. The kernel will fall back to use
+                       xsave to save the states. By using this parameter,
+                       performance of saving the states is degraded because
+                       xsave doesn't support modified optimization while
+                       xsaveopt supports it on xsaveopt enabled systems.
+       noxsaves        [X86] Disables xsaves and xrstors used in saving and
+                       restoring x86 extended register state in compacted
+                       form of xsave area. The kernel will fall back to use
+                       xsaveopt and xrstor to save and restore the states
+                       in standard form of xsave area. By using this
+                       parameter, xsave area per process might occupy more
+                       memory on xsaves enabled systems.
        eagerfpu=       [X86]
                        on      enable eager fpu restore
                        off     disable eager fpu restore
                        quiescent states.  Units are jiffies, minimum
                        value is one, and maximum value is HZ.
  
+       rcutree.rcu_nocb_leader_stride= [KNL]
+                       Set the number of NOCB kthread groups, which
+                       defaults to the square root of the number of
+                       CPUs.  Larger numbers reduces the wakeup overhead
+                       on the per-CPU grace-period kthreads, but increases
+                       that same overhead on each group's leader.
        rcutree.qhimark= [KNL]
                        Set threshold of queued RCU callbacks beyond which
                        batch limiting is disabled.
  
        S               [KNL] Run init in single mode
  
+       s390_iommu=     [HW,S390]
+                       Set s390 IOTLB flushing mode
+               strict
+                       With strict flushing every unmap operation will result in
+                       an IOTLB flush. Default is lazy flushing before reuse,
+                       which is faster.
        sa1100ir        [NET]
                        See drivers/net/irda/sa1100_ir.c.
  
                                        bogus residue values);
                                s = SINGLE_LUN (the device has only one
                                        Logical Unit);
+                               u = IGNORE_UAS (don't bind to the uas driver);
                                w = NO_WP_DETECT (don't test whether the
                                        medium is write-protected).
                        Example: quirks=0419:aaf5:rl,0421:0433:rc
                        Disables the ticketlock slowpath using Xen PV
                        optimizations.
  
+       xen_nopv        [X86]
+                       Disables the PV optimizations forcing the HVM guest to
+                       run as generic HVM guest with no PV drivers.
        xirc2ps_cs=     [NET,PCMCIA]
                        Format:
                        <irq>,<irq_mask>,<io>,<full_duplex>,<do_sound>,<lockup_hack>[,<irq2>[,<irq3>[,<irq4>]]]
diff --combined MAINTAINERS
@@@ -70,6 -70,8 +70,8 @@@ Descriptions of section entries
  
        P: Person (obsolete)
        M: Mail patches to: FullName <address@domain>
+       R: Designated reviewer: FullName <address@domain>
+          These reviewers should be CCed on patches.
        L: Mailing list that is relevant to this area
        W: Web-page with status/info
        Q: Patchwork web based patch tracking system site
@@@ -148,6 -150,14 +150,14 @@@ L:       linux-scsi@vger.kernel.or
  S:    Maintained
  F:    drivers/scsi/53c700*
  
+ 6LOWPAN GENERIC (BTLE/IEEE 802.15.4)
+ M:    Alexander Aring <alex.aring@gmail.com>
+ L:    linux-zigbee-devel@lists.sourceforge.net (moderated for non-subscribers)
+ L:    linux-bluetooth@vger.kernel.org
+ S:    Maintained
+ F:    net/6lowpan/
+ F:    include/net/6lowpan.h
  6PACK NETWORK DRIVER FOR AX.25
  M:    Andreas Koensgen <ajk@comnets.uni-bremen.de>
  L:    linux-hams@vger.kernel.org
@@@ -514,6 -524,16 +524,16 @@@ S:       Supporte
  F:    fs/aio.c
  F:    include/linux/*aio*.h
  
+ AIRSPY MEDIA DRIVER
+ M:    Antti Palosaari <crope@iki.fi>
+ L:    linux-media@vger.kernel.org
+ W:    http://linuxtv.org/
+ W:    http://palosaari.fi/linux/
+ Q:    http://patchwork.linuxtv.org/project/linux-media/list/
+ T:    git git://linuxtv.org/anttip/media_tree.git
+ S:    Maintained
+ F:    drivers/media/usb/airspy/
  ALCATEL SPEEDTOUCH USB DRIVER
  M:    Duncan Sands <duncan.sands@free.fr>
  L:    linux-usb@vger.kernel.org
@@@ -577,7 -597,7 +597,7 @@@ AMD GEODE CS5536 USB DEVICE CONTROLLER 
  M:    Thomas Dahlmann <dahlmann.thomas@arcor.de>
  L:    linux-geode@lists.infradead.org (moderated for non-subscribers)
  S:    Supported
- F:    drivers/usb/gadget/amd5536udc.*
+ F:    drivers/usb/gadget/udc/amd5536udc.*
  
  AMD GEODE PROCESSOR/CHIPSET SUPPORT
  P:    Andres Salomon <dilinger@queued.net>
@@@ -586,7 -606,7 +606,7 @@@ W: http://www.amd.com/us-en/Connectivit
  S:    Supported
  F:    drivers/char/hw_random/geode-rng.c
  F:    drivers/crypto/geode*
- F:    drivers/video/geode/
+ F:    drivers/video/fbdev/geode/
  F:    arch/x86/include/asm/geode.h
  
  AMD IOMMU (AMD-VI)
@@@ -601,7 -621,7 +621,7 @@@ AMD MICROCODE UPDATE SUPPOR
  M:    Andreas Herrmann <herrmann.der.user@googlemail.com>
  L:    amd64-microcode@amd64.org
  S:    Maintained
- F:    arch/x86/kernel/microcode_amd.c
+ F:    arch/x86/kernel/cpu/microcode/amd*
  
  AMD XGBE DRIVER
  M:    Tom Lendacky <thomas.lendacky@amd.com>
@@@ -699,6 -719,14 +719,14 @@@ S:       Maintaine
  F:    drivers/net/appletalk/
  F:    net/appletalk/
  
+ APPLIED MICRO (APM) X-GENE SOC ETHERNET DRIVER
+ M:    Iyappan Subramanian <isubramanian@apm.com>
+ M:    Keyur Chudgar <kchudgar@apm.com>
+ M:    Ravi Patel <rapatel@apm.com>
+ S:    Supported
+ F:    drivers/net/ethernet/apm/xgene/
+ F:    Documentation/devicetree/bindings/net/apm-xgene-enet.txt
  APTINA CAMERA SENSOR PLL
  M:    Laurent Pinchart <Laurent.pinchart@ideasonboard.com>
  L:    linux-media@vger.kernel.org
@@@ -715,8 -743,8 +743,8 @@@ F: drivers/ata/pata_arasan_cf.
  ARC FRAMEBUFFER DRIVER
  M:    Jaya Kumar <jayalk@intworks.biz>
  S:    Maintained
- F:    drivers/video/arcfb.c
- F:    drivers/video/fb_defio.c
+ F:    drivers/video/fbdev/arcfb.c
+ F:    drivers/video/fbdev/core/fb_defio.c
  
  ARM MFM AND FLOPPY DRIVERS
  M:    Ian Molton <spyro@f2s.com>
@@@ -755,7 -783,7 +783,7 @@@ F: sound/arm/aaci.
  ARM PRIMECELL CLCD PL110 DRIVER
  M:    Russell King <linux@arm.linux.org.uk>
  S:    Maintained
- F:    drivers/video/amba-clcd.*
+ F:    drivers/video/fbdev/amba-clcd.*
  
  ARM PRIMECELL KMI PL050 DRIVER
  M:    Russell King <linux@arm.linux.org.uk>
@@@ -891,7 -919,7 +919,7 @@@ L: linux-arm-kernel@lists.infradead.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/baohua/linux.git
  S:    Maintained
  F:    arch/arm/mach-prima2/
- F:    drivers/clk/clk-prima2.c
+ F:    drivers/clk/sirf/
  F:    drivers/clocksource/timer-prima2.c
  F:    drivers/clocksource/timer-marco.c
  N:    [^a-z]sirf
@@@ -965,6 -993,14 +993,14 @@@ F:       arch/arm/mach-pxa/hx4700.
  F:    arch/arm/mach-pxa/include/mach/hx4700.h
  F:    sound/soc/pxa/hx4700.c
  
+ ARM/HISILICON SOC SUPPORT
+ M:    Wei Xu <xuwei5@hisilicon.com>
+ L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+ W:    http://www.hisilicon.com
+ S:    Supported
+ T:    git git://github.com/hisilicon/linux-hisi.git
+ F:    arch/arm/mach-hisi/
  ARM/HP JORNADA 7XX MACHINE SUPPORT
  M:    Kristoffer Ericson <kristoffer.ericson@gmail.com>
  W:    www.jlime.com
@@@ -1096,14 -1132,13 +1132,13 @@@ L:   linux-arm-kernel@lists.infradead.or
  S:    Maintained
  F:    arch/arm/mach-berlin/
  
- ARM/Marvell Dove/Kirkwood/MV78xx0/Orion SOC support
+ ARM/Marvell Dove/MV78xx0/Orion SOC support
  M:    Jason Cooper <jason@lakedaemon.net>
  M:    Andrew Lunn <andrew@lunn.ch>
  M:    Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-dove/
- F:    arch/arm/mach-kirkwood/
  F:    arch/arm/mach-mv78xx0/
  F:    arch/arm/mach-orion5x/
  F:    arch/arm/plat-orion/
@@@ -1137,6 -1172,7 +1172,7 @@@ M:      Linus Walleij <linus.walleij@linaro.
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/mach-nomadik/
+ F:    drivers/pinctrl/nomadik/
  F:    drivers/i2c/busses/i2c-nomadik.c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik.git
  
@@@ -1152,14 -1188,13 +1188,13 @@@ M:   Daniel Walker <dwalker@fifo99.com
  M:    Bryan Huntsman <bryanh@codeaurora.org>
  L:    linux-arm-msm@vger.kernel.org
  F:    arch/arm/mach-msm/
- F:    drivers/video/msm/
+ F:    drivers/video/fbdev/msm/
  F:    drivers/mmc/host/msm_sdcc.c
  F:    drivers/mmc/host/msm_sdcc.h
  F:    drivers/tty/serial/msm_serial.h
  F:    drivers/tty/serial/msm_serial.c
  F:    drivers/*/pm8???-*
- F:    drivers/mfd/ssbi/
- F:    include/linux/mfd/pm8xxx/
+ F:    drivers/mfd/ssbi.c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/davidb/linux-msm.git
  S:    Maintained
  
@@@ -1242,9 -1277,15 +1277,15 @@@ F:    drivers/scsi/arm
  ARM/Rockchip SoC support
  M:    Heiko Stuebner <heiko@sntech.de>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+ L:    linux-rockchip@lists.infradead.org
  S:    Maintained
+ F:    arch/arm/boot/dts/rk3*
  F:    arch/arm/mach-rockchip/
+ F:    drivers/clk/rockchip/
+ F:    drivers/i2c/busses/i2c-rk3x.c
  F:    drivers/*/*rockchip*
+ F:    drivers/*/*/*rockchip*
+ F:    sound/soc/rockchip/
  
  ARM/SAMSUNG ARM ARCHITECTURES
  M:    Ben Dooks <ben-linux@fluff.org>
@@@ -1356,6 -1397,7 +1397,7 @@@ F:      drivers/pinctrl/pinctrl-st.
  F:    drivers/media/rc/st_rc.c
  F:    drivers/i2c/busses/i2c-st.c
  F:    drivers/tty/serial/st-asc.c
+ F:    drivers/mmc/host/sdhci-st.c
  
  ARM/TECHNOLOGIC SYSTEMS TS7250 MACHINE SUPPORT
  M:    Lennert Buytenhek <kernel@wantstofly.org>
@@@ -1386,7 -1428,7 +1428,7 @@@ F:      drivers/mtd/nand/nuc900_nand.
  F:    drivers/rtc/rtc-nuc900.c
  F:    drivers/spi/spi-nuc900.c
  F:    drivers/usb/host/ehci-w90x900.c
- F:    drivers/video/nuc900fb.c
+ F:    drivers/video/fbdev/nuc900fb.c
  
  ARM/U300 MACHINE SUPPORT
  M:    Linus Walleij <linus.walleij@linaro.org>
@@@ -1415,7 -1457,8 +1457,8 @@@ F:      drivers/mfd/abx500
  F:    drivers/mfd/ab8500*
  F:    drivers/mfd/dbx500*
  F:    drivers/mfd/db8500*
- F:    drivers/pinctrl/pinctrl-nomadik*
+ F:    drivers/pinctrl/nomadik/pinctrl-ab*
+ F:    drivers/pinctrl/nomadik/pinctrl-nomadik*
  F:    drivers/rtc/rtc-ab8500.c
  F:    drivers/rtc/rtc-pl031.c
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson.git
@@@ -1455,9 -1498,9 +1498,9 @@@ F:      drivers/rtc/rtc-vt8500.
  F:    drivers/tty/serial/vt8500_serial.c
  F:    drivers/usb/host/ehci-platform.c
  F:    drivers/usb/host/uhci-platform.c
- F:    drivers/video/vt8500lcdfb.*
- F:    drivers/video/wm8505fb*
- F:    drivers/video/wmt_ge_rops.*
+ F:    drivers/video/fbdev/vt8500lcdfb.*
+ F:    drivers/video/fbdev/wm8505fb*
+ F:    drivers/video/fbdev/wmt_ge_rops.*
  
  ARM/ZIPIT Z2 SUPPORT
  M:    Marek Vasut <marek.vasut@gmail.com>
@@@ -1622,6 -1665,12 +1665,12 @@@ M:    Nicolas Ferre <nicolas.ferre@atmel.c
  S:    Supported
  F:    drivers/tty/serial/atmel_serial.c
  
+ ATMEL Audio ALSA driver
+ M:    Bo Shen <voice.shen@atmel.com>
+ L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
+ S:    Supported
+ F:    sound/soc/atmel
  ATMEL DMA DRIVER
  M:    Nicolas Ferre <nicolas.ferre@atmel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -1647,7 -1696,7 +1696,7 @@@ ATMEL LCDFB DRIVE
  M:    Nicolas Ferre <nicolas.ferre@atmel.com>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/atmel_lcdfb.c
+ F:    drivers/video/fbdev/atmel_lcdfb.c
  F:    include/video/atmel_lcdc.h
  
  ATMEL MACB ETHERNET DRIVER
@@@ -1671,7 -1720,7 +1720,7 @@@ ATMEL USBA UDC DRIVE
  M:    Nicolas Ferre <nicolas.ferre@atmel.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Supported
- F:    drivers/usb/gadget/atmel_usba_udc.*
+ F:    drivers/usb/gadget/udc/atmel_usba_udc.*
  
  ATMEL WIRELESS DRIVER
  M:    Simon Kelley <simon@thekelleys.org.uk>
@@@ -1794,11 -1843,24 +1843,24 @@@ W:   http://bcache.evilpiepirate.or
  S:    Maintained:
  F:    drivers/md/bcache/
  
+ BECEEM BCS200/BCS220-3/BCSM250 WIMAX SUPPORT
+ M: Kevin McKinney <klmckinney1@gmail.com>
+ M: Matthias Beyer <mail@beyermatthias.de>
+ L: devel@driverdev.osuosl.org
+ S: Maintained
+ F: drivers/staging/bcm*
  BEFS FILE SYSTEM
  S:    Orphan
  F:    Documentation/filesystems/befs.txt
  F:    fs/befs/
  
+ BECKHOFF CX5020 ETHERCAT MASTER DRIVER
+ M: Dariusz Marcinkiewicz <reksio@newterm.pl>
+ L: netdev@vger.kernel.org
+ S: Maintained
+ F: drivers/net/ethernet/ec_bhf.c
  BFS FILE SYSTEM
  M:    "Tigran A. Aivazian" <tigran@aivazian.fsnet.co.uk>
  S:    Maintained
@@@ -1912,6 -1974,13 +1974,13 @@@ S:    Supporte
  F:    drivers/net/bonding/
  F:    include/uapi/linux/if_bonding.h
  
+ BPF (Safe dynamic programs and tools)
+ M:    Alexei Starovoitov <ast@kernel.org>
+ L:    netdev@vger.kernel.org
+ L:    linux-kernel@vger.kernel.org
+ S:    Supported
+ F:    kernel/bpf/
  BROADCOM B44 10/100 ETHERNET DRIVER
  M:    Gary Zambrano <zambrano@broadcom.com>
  L:    netdev@vger.kernel.org
@@@ -1925,7 -1994,8 +1994,8 @@@ S:      Supporte
  F:    drivers/net/ethernet/broadcom/genet/
  
  BROADCOM BNX2 GIGABIT ETHERNET DRIVER
- M:    Michael Chan <mchan@broadcom.com>
+ M:    Sony Chacko <sony.chacko@qlogic.com>
+ M:    Dept-HSGLinuxNICDev@qlogic.com
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    drivers/net/ethernet/broadcom/bnx2.*
@@@ -1948,7 -2018,7 +2018,7 @@@ F:      arch/arm/boot/dts/bcm113
  F:    arch/arm/boot/dts/bcm216*
  F:    arch/arm/boot/dts/bcm281*
  F:    arch/arm/configs/bcm_defconfig
- F:    drivers/mmc/host/sdhci_bcm_kona.c
+ F:    drivers/mmc/host/sdhci-bcm-kona.c
  F:    drivers/clocksource/bcm_kona_timer.c
  
  BROADCOM BCM2835 ARM ARCHICTURE
@@@ -1969,8 -2039,16 +2039,16 @@@ F:    arch/arm/mach-bcm/bcm_5301x.
  F:    arch/arm/boot/dts/bcm5301x.dtsi
  F:    arch/arm/boot/dts/bcm470*
  
+ BROADCOM BCM7XXX ARM ARCHITECTURE
+ M:    Marc Carino <marc.ceeeee@gmail.com>
+ M:    Brian Norris <computersforpeace@gmail.com>
+ L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
+ S:    Maintained
+ F:    arch/arm/mach-bcm/*brcmstb*
+ F:    arch/arm/boot/dts/bcm7*.dts*
  BROADCOM TG3 GIGABIT ETHERNET DRIVER
- M:    Nithin Nayak Sujir <nsujir@broadcom.com>
+ M:    Prashant Sreedharan <prashant@broadcom.com>
  M:    Michael Chan <mchan@broadcom.com>
  L:    netdev@vger.kernel.org
  S:    Supported
@@@ -1987,19 -2065,19 +2065,19 @@@ S:   Supporte
  F:    drivers/net/wireless/brcm80211/
  
  BROADCOM BNX2FC 10 GIGABIT FCOE DRIVER
- M:    Eddie Wai <eddie.wai@broadcom.com>
+ M:    QLogic-Storage-Upstream@qlogic.com
  L:    linux-scsi@vger.kernel.org
  S:    Supported
  F:    drivers/scsi/bnx2fc/
  
  BROADCOM BNX2I 1/10 GIGABIT iSCSI DRIVER
- M:    Eddie Wai <eddie.wai@broadcom.com>
+ M:    QLogic-Storage-Upstream@qlogic.com
  L:    linux-scsi@vger.kernel.org
  S:    Supported
  F:    drivers/scsi/bnx2i/
  
  BROADCOM KONA GPIO DRIVER
- M:    Markus Mayer <markus.mayer@linaro.org>
+ M:    Ray Jui <rjui@broadcom.com>
  L:    bcm-kernel-feedback-list@broadcom.com
  S:    Supported
  F:    drivers/gpio/gpio-bcm-kona.c
@@@ -2026,7 -2104,7 +2104,7 @@@ S:      Supporte
  F:    drivers/scsi/bfa/
  
  BROCADE BNA 10 GIGABIT ETHERNET DRIVER
- M:    Rasesh Mody <rmody@brocade.com>
+ M:    Rasesh Mody <rasesh.mody@qlogic.com>
  L:    netdev@vger.kernel.org
  S:    Supported
  F:    drivers/net/ethernet/brocade/bna/
@@@ -2290,12 -2368,6 +2368,6 @@@ L:     netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/ethernet/cirrus/ep93xx_eth.c
  
- CIRRUS LOGIC EP93XX OHCI USB HOST DRIVER
- M:    Lennert Buytenhek <kernel@wantstofly.org>
- L:    linux-usb@vger.kernel.org
- S:    Maintained
- F:    drivers/usb/host/ohci-ep93xx.c
  CIRRUS LOGIC AUDIO CODEC DRIVERS
  M:    Brian Austin <brian.austin@cirrus.com>
  M:    Paul Handrigan <Paul.Handrigan@cirrus.com>
@@@ -2380,7 -2452,7 +2452,7 @@@ W:      http://linux-cifs.samba.org
  Q:    http://patchwork.ozlabs.org/project/linux-cifs-client/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
  S:    Supported
- F:    Documentation/filesystems/cifs.txt
+ F:    Documentation/filesystems/cifs/
  F:    fs/cifs/
  
  COMPACTPCI HOTPLUG CORE
@@@ -2521,8 -2593,8 +2593,8 @@@ F:      arch/x86/kernel/cpuid.
  F:    arch/x86/kernel/msr.c
  
  CPU POWER MONITORING SUBSYSTEM
- M:    Dominik Brodowski <linux@dominikbrodowski.net>
  M:    Thomas Renninger <trenn@suse.de>
+ L:    linux-pm@vger.kernel.org
  S:    Maintained
  F:    tools/power/cpupower/
  
@@@ -2657,7 -2729,7 +2729,7 @@@ M:      Russell King <linux@arm.linux.org.uk
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  W:    http://www.arm.linux.org.uk/
  S:    Maintained
- F:    drivers/video/cyber2000fb.*
+ F:    drivers/video/fbdev/cyber2000fb.*
  
  CYCLADES ASYNC MUX DRIVER
  W:    http://www.cyclades.com/
@@@ -2857,6 -2929,7 +2929,7 @@@ F:      drivers/staging/dgnc
  DIGI EPCA PCI PRODUCTS
  M:    Lidza Louina <lidza.louina@gmail.com>
  M:    Mark Hounschell <markh@compro.net>
+ M:    Daeseok Youn <daeseok.youn@gmail.com>
  L:    driverdev-devel@linuxdriverproject.org
  S:    Maintained
  F:    drivers/staging/dgap/
@@@ -2894,7 -2967,7 +2967,7 @@@ M:      Bernie Thompson <bernie@plugable.com
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
  W:    http://plugable.com/category/projects/udlfb/
- F:    drivers/video/udlfb.c
+ F:    drivers/video/fbdev/udlfb.c
  F:    include/video/udlfb.h
  F:    Documentation/fb/udlfb.txt
  
@@@ -2913,8 -2986,10 +2986,10 @@@ S:    Maintaine
  L:    linux-media@vger.kernel.org
  L:    dri-devel@lists.freedesktop.org
  L:    linaro-mm-sig@lists.linaro.org
- F:    drivers/base/dma-buf*
+ F:    drivers/dma-buf/
  F:    include/linux/dma-buf*
+ F:    include/linux/reservation.h
+ F:    include/linux/*fence.h
  F:    Documentation/dma-buf-sharing.txt
  T:    git git://git.linaro.org/people/sumitsemwal/linux-dma-buf.git
  
@@@ -2943,9 -3018,8 +3018,8 @@@ S:      Supporte
  F:    drivers/acpi/dock.c
  
  DOCUMENTATION
- M:    Randy Dunlap <rdunlap@infradead.org>
+ M:    Jiri Kosina <jkosina@suse.cz>
  L:    linux-doc@vger.kernel.org
- T:    quilt http://www.infradead.org/~rdunlap/Doc/patches/
  S:    Maintained
  F:    Documentation/
  X:    Documentation/ABI/
@@@ -3009,7 -3083,6 +3083,6 @@@ L:      dri-devel@lists.freedesktop.or
  T:    git git://people.freedesktop.org/~agd5f/linux
  S:    Supported
  F:    drivers/gpu/drm/radeon/
- F:    include/drm/radeon*
  F:    include/uapi/drm/radeon*
  
  DRM PANEL DRIVERS
@@@ -3059,6 -3132,17 +3132,17 @@@ F:    include/linux/host1x.
  F:    include/uapi/drm/tegra_drm.h
  F:    Documentation/devicetree/bindings/gpu/nvidia,tegra20-host1x.txt
  
+ DRM DRIVERS FOR RENESAS
+ M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+ L:    dri-devel@lists.freedesktop.org
+ L:    linux-sh@vger.kernel.org
+ T:    git git://people.freedesktop.org/~airlied/linux
+ S:    Supported
+ F:    drivers/gpu/drm/rcar-du/
+ F:    drivers/gpu/drm/shmobile/
+ F:    include/linux/platform_data/rcar-du.h
+ F:    include/linux/platform_data/shmob_drm.h
  DSBR100 USB FM RADIO DRIVER
  M:    Alexey Klimov <klimov.linux@gmail.com>
  L:    linux-media@vger.kernel.org
@@@ -3203,26 -3287,12 +3287,12 @@@ T:   git git://linuxtv.org/anttip/media_t
  S:    Maintained
  F:    drivers/media/tuners/e4000*
  
- EATA-DMA SCSI DRIVER
- M:    Michael Neuffer <mike@i-Connect.Net>
- L:    linux-eata@i-connect.net
- L:    linux-scsi@vger.kernel.org
- S:    Maintained
- F:    drivers/scsi/eata*
  EATA ISA/EISA/PCI SCSI DRIVER
  M:    Dario Ballabio <ballabio_dario@emc.com>
  L:    linux-scsi@vger.kernel.org
  S:    Maintained
  F:    drivers/scsi/eata.c
  
- EATA-PIO SCSI DRIVER
- M:    Michael Neuffer <mike@i-Connect.Net>
- L:    linux-eata@i-connect.net
- L:    linux-scsi@vger.kernel.org
- S:    Maintained
- F:    drivers/scsi/eata_pio.*
  EC100 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
  L:    linux-media@vger.kernel.org
@@@ -3350,6 -3420,13 +3420,13 @@@ W:    bluesmoke.sourceforge.ne
  S:    Maintained
  F:    drivers/edac/i82975x_edac.c
  
+ EDAC-IE31200
+ M:    Jason Baron <jbaron@akamai.com>
+ L:    linux-edac@vger.kernel.org
+ W:    bluesmoke.sourceforge.net
+ S:    Maintained
+ F:    drivers/edac/ie31200_edac.c
  EDAC-MPC85XX
  M:    Johannes Thumshirn <johannes.thumshirn@men.de>
  L:    linux-edac@vger.kernel.org
@@@ -3390,7 -3467,7 +3467,7 @@@ M:      Matt Fleming <matt.fleming@intel.com
  L:    linux-efi@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi.git
  S:    Maintained
- F:    Documentation/x86/efi-stub.txt
+ F:    Documentation/efi-stub.txt
  F:    arch/ia64/kernel/efi.c
  F:    arch/x86/boot/compressed/eboot.[ch]
  F:    arch/x86/include/asm/efi.h
@@@ -3411,7 -3488,7 +3488,7 @@@ EFIFB FRAMEBUFFER DRIVE
  L:    linux-fbdev@vger.kernel.org
  M:    Peter Jones <pjones@redhat.com>
  S:    Maintained
- F:    drivers/video/efifb.c
+ F:    drivers/video/fbdev/efifb.c
  
  EFS FILESYSTEM
  W:    http://aeschi.ch.eu.org/efs/
@@@ -3476,7 -3553,7 +3553,7 @@@ EPSON S1D13XXX FRAMEBUFFER DRIVE
  M:    Kristoffer Ericson <kristoffer.ericson@gmail.com>
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kristoffer/linux-hpc.git
- F:    drivers/video/s1d13xxxfb.c
+ F:    drivers/video/fbdev/s1d13xxxfb.c
  F:    include/video/s1d13xxxfb.h
  
  ETHERNET BRIDGE
@@@ -3554,7 -3631,7 +3631,7 @@@ M:      Donghwa Lee <dh09.lee@samsung.com
  M:    Kyungmin Park <kyungmin.park@samsung.com>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/exynos/exynos_mipi*
+ F:    drivers/video/fbdev/exynos/exynos_mipi*
  F:    include/video/exynos_mipi*
  
  F71805F HARDWARE MONITORING DRIVER
@@@ -3733,7 -3810,7 +3810,7 @@@ FREESCALE DIU FRAMEBUFFER DRIVE
  M:    Timur Tabi <timur@tabi.org>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/fsl-diu-fb.*
+ F:    drivers/video/fbdev/fsl-diu-fb.*
  
  FREESCALE DMA DRIVER
  M:    Li Yang <leoli@freescale.com>
@@@ -3755,7 -3832,7 +3832,7 @@@ L:      linux-fbdev@vger.kernel.or
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    include/linux/platform_data/video-imxfb.h
- F:    drivers/video/imxfb.c
+ F:    drivers/video/fbdev/imxfb.c
  
  FREESCALE SOC FS_ENET DRIVER
  M:    Pantelis Antoniou <pantelis.antoniou@gmail.com>
@@@ -3777,7 -3854,7 +3854,7 @@@ M:      Li Yang <leoli@freescale.com
  L:    linux-usb@vger.kernel.org
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
- F:    drivers/usb/gadget/fsl*
+ F:    drivers/usb/gadget/udc/fsl*
  
  FREESCALE QUICC ENGINE UCC ETHERNET DRIVER
  M:    Li Yang <leoli@freescale.com>
@@@ -3794,10 -3871,13 +3871,13 @@@ F:   drivers/tty/serial/ucc_uart.
  
  FREESCALE SOC SOUND DRIVERS
  M:    Timur Tabi <timur@tabi.org>
+ M:    Nicolin Chen <nicoleotsuka@gmail.com>
+ M:    Xiubo Li <Li.Xiubo@freescale.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
  F:    sound/soc/fsl/fsl*
+ F:    sound/soc/fsl/imx*
  F:    sound/soc/fsl/mpc8610_hpcd.c
  
  FREEVXFS FILESYSTEM
@@@ -3976,6 -4056,12 +4056,12 @@@ F:    Documentation/isdn/README.gigase
  F:    drivers/isdn/gigaset/
  F:    include/uapi/linux/gigaset_dev.h
  
+ GO7007 MPEG CODEC
+ M:    Hans Verkuil <hans.verkuil@cisco.com>
+ L:    linux-media@vger.kernel.org
+ S:    Maintained
+ F:    drivers/media/usb/go7007/
  GPIO SUBSYSTEM
  M:    Linus Walleij <linus.walleij@linaro.org>
  M:    Alexandre Courbot <gnurou@gmail.com>
@@@ -3984,7 -4070,8 +4070,8 @@@ T:      git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    Documentation/gpio/
  F:    drivers/gpio/
- F:    include/linux/gpio*
+ F:    include/linux/gpio/
+ F:    include/linux/gpio.h
  F:    include/asm-generic/gpio.h
  
  GRE DEMULTIPLEXER DRIVER
@@@ -4174,7 -4261,7 +4261,7 @@@ M:      Ferenc Bakonyi <fero@drama.obuda.kan
  L:    linux-nvidia@lists.surfsouth.com
  W:    http://drama.obuda.kando.hu/~fero/cgi-bin/hgafb.shtml
  S:    Maintained
- F:    drivers/video/hgafb.c
+ F:    drivers/video/fbdev/hgafb.c
  
  HIBERNATION (aka Software Suspend, aka swsusp)
  M:    "Rafael J. Wysocki" <rjw@rjwysocki.net>
@@@ -4204,7 -4291,7 +4291,7 @@@ L:      linux-kernel@vger.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
  S:    Maintained
  F:    Documentation/timers/
- F:    kernel/hrtimer.c
+ F:    kernel/time/hrtimer.c
  F:    kernel/time/clockevents.c
  F:    kernel/time/tick*.*
  F:    kernel/time/timer_*.c
@@@ -4316,7 -4403,7 +4403,7 @@@ F:      drivers/hv
  F:    drivers/input/serio/hyperv-keyboard.c
  F:    drivers/net/hyperv/
  F:    drivers/scsi/storvsc_drv.c
- F:    drivers/video/hyperv_fb.c
+ F:    drivers/video/fbdev/hyperv_fb.c
  F:    include/linux/hyperv.h
  F:    tools/hv/
  
@@@ -4390,6 -4477,12 +4477,12 @@@ F:    include/linux/i2c-*.
  F:    include/uapi/linux/i2c.h
  F:    include/uapi/linux/i2c-*.h
  
+ I2C ACPI SUPPORT
+ M:    Mika Westerberg <mika.westerberg@linux.intel.com>
+ L:    linux-i2c@vger.kernel.org
+ L:    linux-acpi@vger.kernel.org
+ S:    Maintained
  I2C-TAOS-EVM DRIVER
  M:    Jean Delvare <jdelvare@suse.de>
  L:    linux-i2c@vger.kernel.org
@@@ -4460,10 -4553,7 +4553,7 @@@ S:     Supporte
  F:    drivers/scsi/ibmvscsi/ibmvfc*
  
  IBM ServeRAID RAID DRIVER
- P:    Jack Hammer
- M:    Dave Jeffery <ipslinux@adaptec.com>
- W:    http://www.developer.ibm.com/welcome/netfinity/serveraid.html
- S:    Supported
+ S:    Orphan
  F:    drivers/scsi/ips.*
  
  ICH LPC AND GPIO DRIVER
@@@ -4575,7 -4665,7 +4665,7 @@@ F:      security/integrity/ima
  IMS TWINTURBO FRAMEBUFFER DRIVER
  L:    linux-fbdev@vger.kernel.org
  S:    Orphan
- F:    drivers/video/imsttfb.c
+ F:    drivers/video/fbdev/imsttfb.c
  
  INFINIBAND SUBSYSTEM
  M:    Roland Dreier <roland@kernel.org>
@@@ -4642,13 -4732,13 +4732,13 @@@ M:   Maik Broemme <mbroemme@plusserver.de
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
  F:    Documentation/fb/intelfb.txt
- F:    drivers/video/intelfb/
+ F:    drivers/video/fbdev/intelfb/
  
  INTEL 810/815 FRAMEBUFFER DRIVER
  M:    Antonino Daplas <adaplas@gmail.com>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/i810/
+ F:    drivers/video/fbdev/i810/
  
  INTEL MENLOW THERMAL DRIVER
  M:    Sujith Thomas <sujith.thomas@intel.com>
@@@ -4660,8 -4750,8 +4750,8 @@@ F:      drivers/platform/x86/intel_menlow.
  INTEL IA32 MICROCODE UPDATE SUPPORT
  M:    Tigran Aivazian <tigran@aivazian.fsnet.co.uk>
  S:    Maintained
- F:    arch/x86/kernel/microcode_core.c
- F:    arch/x86/kernel/microcode_intel.c
+ F:    arch/x86/kernel/cpu/microcode/core*
+ F:    arch/x86/kernel/cpu/microcode/intel*
  
  INTEL I/OAT DMA DRIVER
  M:    Dan Williams <dan.j.williams@intel.com>
@@@ -5066,13 -5156,6 +5156,6 @@@ S:     Maintaine
  F:    Documentation/hwmon/k8temp
  F:    drivers/hwmon/k8temp.c
  
- KTAP
- M:    Jovi Zhangwei <jovi.zhangwei@gmail.com>
- W:    http://www.ktap.org
- L:    ktap@freelists.org
- S:    Maintained
- F:    drivers/staging/ktap/
  KCONFIG
  M:    "Yann E. MORIN" <yann.morin.1998@free.fr>
  L:    linux-kbuild@vger.kernel.org
@@@ -5127,7 -5210,6 +5210,6 @@@ L:      linux-nfs@vger.kernel.or
  W:    http://nfs.sourceforge.net/
  S:    Supported
  F:    fs/nfsd/
- F:    include/linux/nfsd/
  F:    include/uapi/linux/nfsd/
  F:    fs/lockd/
  F:    fs/nfs_common/
@@@ -5382,6 -5464,7 +5464,7 @@@ F:      arch/powerpc/boot/rs6000.
  LINUX FOR POWERPC (32-BIT AND 64-BIT)
  M:    Benjamin Herrenschmidt <benh@kernel.crashing.org>
  M:    Paul Mackerras <paulus@samba.org>
+ M:    Michael Ellerman <mpe@ellerman.id.au>
  W:    http://www.penguinppc.org/
  L:    linuxppc-dev@lists.ozlabs.org
  Q:    http://patchwork.ozlabs.org/project/linuxppc-dev/list/
@@@ -5401,7 -5484,7 +5484,7 @@@ F:      drivers/macintosh
  LINUX FOR POWERPC EMBEDDED MPC5XXX
  M:    Anatolij Gustschin <agust@denx.de>
  L:    linuxppc-dev@lists.ozlabs.org
- T:    git git://git.denx.de/linux-2.6-agust.git
+ T:    git git://git.denx.de/linux-denx-agust.git
  S:    Maintained
  F:    arch/powerpc/platforms/512x/
  F:    arch/powerpc/platforms/52xx/
@@@ -5423,16 -5506,17 +5506,17 @@@ F:   arch/powerpc/*/*/*virtex
  
  LINUX FOR POWERPC EMBEDDED PPC8XX
  M:    Vitaly Bordug <vitb@kernel.crashing.org>
- M:    Marcelo Tosatti <marcelo@kvack.org>
  W:    http://www.penguinppc.org/
  L:    linuxppc-dev@lists.ozlabs.org
  S:    Maintained
  F:    arch/powerpc/platforms/8xx/
  
  LINUX FOR POWERPC EMBEDDED PPC83XX AND PPC85XX
+ M:    Scott Wood <scottwood@freescale.com>
  M:    Kumar Gala <galak@kernel.crashing.org>
  W:    http://www.penguinppc.org/
  L:    linuxppc-dev@lists.ozlabs.org
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git
  S:    Maintained
  F:    arch/powerpc/platforms/83xx/
  F:    arch/powerpc/platforms/85xx/
@@@ -5655,16 -5739,6 +5739,6 @@@ F:     Documentation/networking/mac80211-in
  F:    include/net/mac80211.h
  F:    net/mac80211/
  
- MAC80211 PID RATE CONTROL
- M:    Stefano Brivio <stefano.brivio@polimi.it>
- M:    Mattias Nissler <mattias.nissler@gmx.de>
- L:    linux-wireless@vger.kernel.org
- W:    http://wireless.kernel.org/en/developers/Documentation/mac80211/RateControl/PID
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211.git
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git
- S:    Maintained
- F:    net/mac80211/rc80211_pid*
  MACVLAN DRIVER
  M:    Patrick McHardy <kaber@trash.net>
  L:    netdev@vger.kernel.org
@@@ -5709,7 -5783,8 +5783,8 @@@ S:      Maintaine
  F:    drivers/net/ethernet/marvell/mvneta.*
  
  MARVELL MWIFIEX WIRELESS DRIVER
- M:    Bing Zhao <bzhao@marvell.com>
+ M:    Amitkumar Karwar <akarwar@marvell.com>
+ M:    Avinash Patil <patila@marvell.com>
  L:    linux-wireless@vger.kernel.org
  S:    Maintained
  F:    drivers/net/wireless/mwifiex/
@@@ -5728,7 -5803,7 +5803,7 @@@ F:      drivers/mmc/host/mvsdio.
  MATROX FRAMEBUFFER DRIVER
  L:    linux-fbdev@vger.kernel.org
  S:    Orphan
- F:    drivers/video/matrox/matroxfb_*
+ F:    drivers/video/fbdev/matrox/matroxfb_*
  F:    include/uapi/linux/matroxfb.h
  
  MAX16065 HARDWARE MONITOR DRIVER
@@@ -5855,7 -5930,6 +5930,6 @@@ F:      drivers/clocksource/metag_generic.
  F:    drivers/irqchip/irq-metag.c
  F:    drivers/irqchip/irq-metag-ext.c
  F:    drivers/tty/metag_da.c
- F:    fs/imgdafs/
  
  MICROBLAZE ARCHITECTURE
  M:    Michal Simek <monstr@monstr.eu>
@@@ -5935,6 -6009,12 +6009,12 @@@ T:    git git://linuxtv.org/media_tree.gi
  S:    Maintained
  F:    drivers/media/radio/radio-mr800.c
  
+ MRF24J40 IEEE 802.15.4 RADIO DRIVER
+ M:    Alan Ott <alan@signal11.us>
+ L:    linux-wpan@vger.kernel.org
+ S:    Maintained
+ F:    drivers/net/ieee802154/mrf24j40.c
  MSI LAPTOP SUPPORT
  M:    "Lee, Chun-Yi" <jlee@suse.com>
  L:    platform-driver-x86@vger.kernel.org
@@@ -5955,9 -6035,9 +6035,9 @@@ W:      http://palosaari.fi/linux
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  T:    git git://linuxtv.org/anttip/media_tree.git
  S:    Maintained
- F:    drivers/staging/media/msi3101/msi001*
+ F:    drivers/media/tuners/msi001*
  
- MSI3101 MEDIA DRIVER
+ MSI2500 MEDIA DRIVER
  M:    Antti Palosaari <crope@iki.fi>
  L:    linux-media@vger.kernel.org
  W:    http://linuxtv.org/
@@@ -5965,7 -6045,7 +6045,7 @@@ W:      http://palosaari.fi/linux
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  T:    git git://linuxtv.org/anttip/media_tree.git
  S:    Maintained
- F:    drivers/staging/media/msi3101/sdr-msi3101*
+ F:    drivers/media/usb/msi2500/
  
  MT9M032 APTINA SENSOR DRIVER
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
@@@ -6002,8 -6082,7 +6082,7 @@@ F:      include/media/mt9v032.
  MULTIFUNCTION DEVICES (MFD)
  M:    Samuel Ortiz <sameo@linux.intel.com>
  M:    Lee Jones <lee.jones@linaro.org>
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-next.git
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-fixes.git
+ T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git
  S:    Supported
  F:    drivers/mfd/
  F:    include/linux/mfd/
@@@ -6349,7 -6428,8 +6428,8 @@@ F:      Documentation/scsi/NinjaSCSI.tx
  F:    drivers/scsi/nsp32*
  
  NTB DRIVER
- M:    Jon Mason <jon.mason@intel.com>
+ M:    Jon Mason <jdmason@kudzu.us>
+ M:    Dave Jiang <dave.jiang@intel.com>
  S:    Supported
  W:    https://github.com/jonmason/ntb/wiki
  T:    git git://github.com/jonmason/ntb.git
@@@ -6370,8 -6450,8 +6450,8 @@@ NVIDIA (rivafb and nvidiafb) FRAMEBUFFE
  M:    Antonino Daplas <adaplas@gmail.com>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/riva/
- F:    drivers/video/nvidia/
+ F:    drivers/video/fbdev/riva/
+ F:    drivers/video/fbdev/nvidia/
  
  NVM EXPRESS DRIVER
  M:    Matthew Wilcox <willy@linux.intel.com>
@@@ -6441,14 -6521,14 +6521,14 @@@ M:   Tomi Valkeinen <tomi.valkeinen@ti.co
  L:    linux-fbdev@vger.kernel.org
  L:    linux-omap@vger.kernel.org
  S:    Maintained
- F:    drivers/video/omap/
+ F:    drivers/video/fbdev/omap/
  
  OMAP DISPLAY SUBSYSTEM and FRAMEBUFFER SUPPORT (DSS2)
  M:    Tomi Valkeinen <tomi.valkeinen@ti.com>
  L:    linux-omap@vger.kernel.org
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/omap2/
+ F:    drivers/video/fbdev/omap2/
  F:    Documentation/arm/OMAP/DSS
  
  OMAP HARDWARE SPINLOCK SUPPORT
@@@ -6489,11 -6569,12 +6569,12 @@@ L:   linux-omap@vger.kernel.or
  S:    Maintained
  F:    arch/arm/mach-omap2/omap_hwmod_44xx_data.c
  
- OMAP IMAGE SIGNAL PROCESSOR (ISP)
+ OMAP IMAGING SUBSYSTEM (OMAP3 ISP and OMAP4 ISS)
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    linux-media@vger.kernel.org
  S:    Maintained
  F:    drivers/media/platform/omap3isp/
+ F:    drivers/staging/media/omap4iss/
  
  OMAP USB SUPPORT
  M:    Felipe Balbi <balbi@ti.com>
@@@ -6739,7 -6820,7 +6820,7 @@@ F:      drivers/char/agp/parisc-agp.
  F:    drivers/input/serio/gscps2.c
  F:    drivers/parport/parport_gsc.*
  F:    drivers/tty/serial/8250/8250_gsc.c
- F:    drivers/video/sti*
+ F:    drivers/video/fbdev/sti*
  F:    drivers/video/console/sti*
  F:    drivers/video/logo/logo_parisc*
  
@@@ -6799,7 -6880,7 +6880,7 @@@ F:      arch/x86/kernel/quirks.
  
  PCI DRIVER FOR IMX6
  M:    Richard Zhu <r65037@freescale.com>
- M:    Shawn Guo <shawn.guo@freescale.com>
+ M:    Lucas Stach <l.stach@pengutronix.de>
  L:    linux-pci@vger.kernel.org
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
@@@ -6821,6 -6902,14 +6902,14 @@@ S:    Supporte
  F:    Documentation/devicetree/bindings/pci/nvidia,tegra20-pcie.txt
  F:    drivers/pci/host/pci-tegra.c
  
+ PCI DRIVER FOR TI DRA7XX
+ M:    Kishon Vijay Abraham I <kishon@ti.com>
+ L:    linux-omap@vger.kernel.org
+ L:    linux-pci@vger.kernel.org
+ S:    Supported
+ F:    Documentation/devicetree/bindings/pci/ti-pci.txt
+ F:    drivers/pci/host/pci-dra7xx.c
  PCI DRIVER FOR RENESAS R-CAR
  M:    Simon Horman <horms@verge.net.au>
  L:    linux-pci@vger.kernel.org
@@@ -6851,6 -6940,12 +6940,12 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/pci/host-generic-pci.txt
  F:    drivers/pci/host/pci-host-generic.c
  
+ PCIE DRIVER FOR ST SPEAR13XX
+ M:    Mohit Kumar <mohit.kumar@st.com>
+ L:    linux-pci@vger.kernel.org
+ S:    Maintained
+ F:    drivers/pci/host/*spear*
  PCMCIA SUBSYSTEM
  P:    Linux PCMCIA Team
  L:    linux-pcmcia@lists.infradead.org
@@@ -6940,9 -7035,9 +7035,9 @@@ M:      Jamie Iles <jamie@jamieiles.com
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  T:    git git://github.com/jamieiles/linux-2.6-ji.git
  S:    Supported
+ F:    arch/arm/boot/dts/picoxcell*
  F:    arch/arm/mach-picoxcell/
- F:    drivers/*/picoxcell*
- F:    drivers/*/*/picoxcell*
+ F:    drivers/crypto/picoxcell*
  
  PIN CONTROL SUBSYSTEM
  M:    Linus Walleij <linus.walleij@linaro.org>
@@@ -6963,14 -7058,12 +7058,12 @@@ S:   Maintaine
  F:    drivers/pinctrl/sh-pfc/
  
  PIN CONTROLLER - SAMSUNG
- M:    Tomasz Figa <t.figa@samsung.com>
+ M:    Tomasz Figa <tomasz.figa@gmail.com>
  M:    Thomas Abraham <thomas.abraham@linaro.org>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  L:    linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
  S:    Maintained
- F:    drivers/pinctrl/pinctrl-exynos.*
- F:    drivers/pinctrl/pinctrl-s3c*
- F:    drivers/pinctrl/pinctrl-samsung.*
+ F:    drivers/pinctrl/samsung/
  
  PIN CONTROLLER - ST SPEAR
  M:    Viresh Kumar <viresh.linux@gmail.com>
@@@ -6994,7 -7087,7 +7087,7 @@@ S:      Maintaine
  T:    git git://github.com/gxt/linux.git
  F:    drivers/input/serio/i8042-unicore32io.h
  F:    drivers/i2c/busses/i2c-puv3.c
- F:    drivers/video/fb-puv3.c
+ F:    drivers/video/fbdev/fb-puv3.c
  F:    drivers/rtc/rtc-puv3.c
  
  PMBUS HARDWARE MONITORING DRIVERS
@@@ -7018,6 -7111,7 +7111,7 @@@ F:      drivers/scsi/pmcraid.
  PMC SIERRA PM8001 DRIVER
  M:    xjtuwjp@gmail.com
  M:    lindar_liu@usish.com
+ L:    pmchba@pmcs.com
  L:    linux-scsi@vger.kernel.org
  S:    Supported
  F:    drivers/scsi/pm8001/
@@@ -7026,14 -7120,16 +7120,16 @@@ POSIX CLOCKS and TIMER
  M:    Thomas Gleixner <tglx@linutronix.de>
  L:    linux-kernel@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
- S:    Supported
+ S:    Maintained
  F:    fs/timerfd.c
  F:    include/linux/timer*
- F:    kernel/*timer*
+ F:    kernel/time/*timer*
  
  POWER SUPPLY CLASS/SUBSYSTEM and DRIVERS
+ M:    Sebastian Reichel <sre@kernel.org>
  M:    Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
  M:    David Woodhouse <dwmw2@infradead.org>
+ L:    linux-pm@vger.kernel.org
  T:    git git://git.infradead.org/battery-2.6.git
  S:    Maintained
  F:    include/linux/power_supply.h
@@@ -7165,7 -7261,7 +7261,7 @@@ F:      drivers/ptp/
  F:    include/linux/ptp_cl*
  
  PTRACE SUPPORT
- M:    Roland McGrath <roland@redhat.com>
+ M:    Roland McGrath <roland@hack.frob.com>
  M:    Oleg Nesterov <oleg@redhat.com>
  S:    Maintained
  F:    include/asm-generic/syscall.h
@@@ -7215,7 -7311,7 +7311,7 @@@ S:      Maintaine
  F:    arch/arm/mach-pxa/
  F:    drivers/pcmcia/pxa2xx*
  F:    drivers/spi/spi-pxa2xx*
- F:    drivers/usb/gadget/pxa2*
+ F:    drivers/usb/gadget/udc/pxa2*
  F:    include/sound/pxa2xx-lib.h
  F:    sound/arm/pxa*
  F:    sound/soc/pxa/
@@@ -7224,7 -7320,7 +7320,7 @@@ PXA3xx NAND FLASH DRIVE
  M:    Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
  L:    linux-mtd@lists.infradead.org
  S:    Maintained
- F:    drivers/mtd/nand/pxa3xx-nand.c
+ F:    drivers/mtd/nand/pxa3xx_nand.c
  
  MMP SUPPORT
  M:    Eric Miao <eric.y.miao@gmail.com>
@@@ -7243,6 -7339,12 +7339,12 @@@ M:    Robert Jarzmik <robert.jarzmik@free.
  L:    rtc-linux@googlegroups.com
  S:    Maintained
  
+ QAT DRIVER
+ M:      Tadeusz Struk <tadeusz.struk@intel.com>
+ L:      qat-linux@intel.com
+ S:      Supported
+ F:      drivers/crypto/qat/
  QIB DRIVER
  M:    Mike Marciniszyn <infinipath@intel.com>
  L:    linux-rdma@vger.kernel.org
@@@ -7366,7 -7468,7 +7468,7 @@@ RADEON FRAMEBUFFER DISPLAY DRIVE
  M:    Benjamin Herrenschmidt <benh@kernel.crashing.org>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/aty/radeon*
+ F:    drivers/video/fbdev/aty/radeon*
  F:    include/uapi/linux/radeonfb.h
  
  RADIOSHARK RADIO DRIVER
@@@ -7388,7 -7490,7 +7490,7 @@@ RAGE128 FRAMEBUFFER DISPLAY DRIVE
  M:    Paul Mackerras <paulus@samba.org>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/aty/aty128fb.c
+ F:    drivers/video/fbdev/aty/aty128fb.c
  
  RALINK RT2X00 WIRELESS LAN DRIVER
  P:    rt2x00 project
@@@ -7430,10 -7532,14 +7532,14 @@@ L:   linux-kernel@vger.kernel.or
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
  F:    Documentation/RCU/torture.txt
- F:    kernel/rcu/torture.c
+ F:    kernel/rcu/rcutorture.c
  
  RCUTORTURE TEST FRAMEWORK
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
+ M:    Josh Triplett <josh@joshtriplett.org>
+ R:    Steven Rostedt <rostedt@goodmis.org>
+ R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ R:    Lai Jiangshan <laijs@cn.fujitsu.com>
  L:    linux-kernel@vger.kernel.org
  S:    Supported
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
@@@ -7456,8 -7562,11 +7562,11 @@@ S:    Supporte
  F:    net/rds/
  
  READ-COPY UPDATE (RCU)
- M:    Dipankar Sarma <dipankar@in.ibm.com>
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
+ M:    Josh Triplett <josh@joshtriplett.org>
+ R:    Steven Rostedt <rostedt@goodmis.org>
+ R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ R:    Lai Jiangshan <laijs@cn.fujitsu.com>
  L:    linux-kernel@vger.kernel.org
  W:    http://www.rdrop.com/users/paulmck/RCU/
  S:    Supported
@@@ -7467,7 -7576,7 +7576,7 @@@ X:      Documentation/RCU/torture.tx
  F:    include/linux/rcu*
  X:    include/linux/srcu.h
  F:    kernel/rcu/
- X:    kernel/rcu/torture.c
+ X:    kernel/torture.c
  
  REAL TIME CLOCK (RTC) SUBSYSTEM
  M:    Alessandro Zummo <a.zummo@towertech.it>
@@@ -7479,6 -7588,13 +7588,13 @@@ F:    drivers/rtc
  F:    include/linux/rtc.h
  F:    include/uapi/linux/rtc.h
  
+ REALTEK AUDIO CODECS
+ M:    Bard Liao <bardliao@realtek.com>
+ M:    Oder Chiou <oder_chiou@realtek.com>
+ S:    Maintained
+ F:    sound/soc/codecs/rt*
+ F:    include/sound/rt*.h
  REISERFS FILE SYSTEM
  L:    reiserfs-devel@vger.kernel.org
  S:    Supported
@@@ -7588,7 -7704,7 +7704,7 @@@ W:      http://palosaari.fi/linux
  Q:    http://patchwork.linuxtv.org/project/linux-media/list/
  T:    git git://linuxtv.org/anttip/media_tree.git
  S:    Maintained
- F:    drivers/staging/media/rtl2832u_sdr/rtl2832_sdr*
+ F:    drivers/media/dvb-frontends/rtl2832_sdr*
  
  RTL8180 WIRELESS DRIVER
  M:    "John W. Linville" <linville@tuxdriver.com>
@@@ -7622,7 -7738,7 +7738,7 @@@ S3 SAVAGE FRAMEBUFFER DRIVE
  M:    Antonino Daplas <adaplas@gmail.com>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/savage/
+ F:    drivers/video/fbdev/savage/
  
  S390
  M:    Martin Schwidefsky <schwidefsky@de.ibm.com>
@@@ -7745,7 -7861,7 +7861,7 @@@ SAMSUNG FRAMEBUFFER DRIVE
  M:    Jingoo Han <jg1.han@samsung.com>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/s3c-fb.c
+ F:    drivers/video/fbdev/s3c-fb.c
  
  SAMSUNG MULTIFUNCTION DEVICE DRIVERS
  M:    Sangbeom Kim <sbkim73@samsung.com>
@@@ -7788,7 -7904,8 +7904,8 @@@ S:      Supporte
  F:    drivers/media/i2c/s5k5baf.c
  
  SAMSUNG SOC CLOCK DRIVERS
- M:    Tomasz Figa <t.figa@samsung.com>
+ M:    Sylwester Nawrocki <s.nawrocki@samsung.com>
+ M:    Tomasz Figa <tomasz.figa@gmail.com>
  S:    Supported
  L:    linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
  F:    drivers/clk/samsung/
@@@ -7801,6 -7918,19 +7918,19 @@@ S:    Supporte
  L:    netdev@vger.kernel.org
  F:    drivers/net/ethernet/samsung/sxgbe/
  
+ SAMSUNG USB2 PHY DRIVER
+ M:    Kamil Debski <k.debski@samsung.com>
+ L:    linux-kernel@vger.kernel.org
+ S:    Supported
+ F:    Documentation/devicetree/bindings/phy/samsung-phy.txt
+ F:    Documentation/phy/samsung-usb2.txt
+ F:    drivers/phy/phy-exynos4210-usb2.c
+ F:    drivers/phy/phy-exynos4x12-usb2.c
+ F:    drivers/phy/phy-exynos5250-usb2.c
+ F:    drivers/phy/phy-s5pv210-usb2.c
+ F:    drivers/phy/phy-samsung-usb2.c
+ F:    drivers/phy/phy-samsung-usb2.h
  SERIAL DRIVERS
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  L:    linux-serial@vger.kernel.org
@@@ -7822,6 -7952,11 +7952,11 @@@ S:    Maintaine
  F:    include/linux/mmc/dw_mmc.h
  F:    drivers/mmc/host/dw_mmc*
  
+ THUNDERBOLT DRIVER
+ M:    Andreas Noever <andreas.noever@gmail.com>
+ S:    Maintained
+ F:    drivers/thunderbolt/
  TIMEKEEPING, CLOCKSOURCE CORE, NTP
  M:    John Stultz <john.stultz@linaro.org>
  M:    Thomas Gleixner <tglx@linutronix.de>
@@@ -7959,8 -8094,6 +8094,8 @@@ F:      drivers/mmc/host/sdhci-pltfm.[ch
  
  SECURE COMPUTING
  M:    Kees Cook <keescook@chromium.org>
 +R:    Andy Lutomirski <luto@amacapital.net>
 +R:    Will Drewry <wad@chromium.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git seccomp
  S:    Supported
  F:    kernel/seccomp.c
@@@ -8239,7 -8372,7 +8374,7 @@@ M:      Thomas Winischhofer <thomas@winischh
  W:    http://www.winischhofer.net/linuxsisvga.shtml
  S:    Maintained
  F:    Documentation/fb/sisfb.txt
- F:    drivers/video/sis/
+ F:    drivers/video/fbdev/sis/
  F:    include/video/sisfb.h
  
  SIS USB2VGA DRIVER
@@@ -8262,6 -8395,9 +8397,9 @@@ F:      mm/sl?b
  SLEEPABLE READ-COPY UPDATE (SRCU)
  M:    Lai Jiangshan <laijs@cn.fujitsu.com>
  M:    "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
+ M:    Josh Triplett <josh@joshtriplett.org>
+ R:    Steven Rostedt <rostedt@goodmis.org>
+ R:    Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  L:    linux-kernel@vger.kernel.org
  W:    http://www.rdrop.com/users/paulmck/RCU/
  S:    Supported
@@@ -8345,7 -8481,7 +8483,7 @@@ SMSC UFX6000 and UFX7000 USB to VGA DRI
  M:    Steve Glendinning <steve.glendinning@shawell.net>
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
- F:    drivers/video/smscufx.c
+ F:    drivers/video/fbdev/smscufx.c
  
  SOC-CAMERA V4L2 SUBSYSTEM
  M:    Guennadi Liakhovetski <g.liakhovetski@gmx.de>
@@@ -8361,6 -8497,12 +8499,12 @@@ M:    Chris Boot <bootc@bootc.net
  S:    Maintained
  F:    drivers/leds/leds-net48xx.c
  
+ SOFTLOGIC 6x10 MPEG CODEC
+ M:    Ismael Luceno <ismael.luceno@corp.bluecherry.net>
+ L:    linux-media@vger.kernel.org
+ S:    Supported
+ F:    drivers/media/pci/solo6x10/
  SOFTWARE RAID (Multiple Disks) SUPPORT
  M:    Neil Brown <neilb@suse.de>
  L:    linux-raid@vger.kernel.org
@@@ -8551,37 -8693,12 +8695,12 @@@ L:   devel@driverdev.osuosl.or
  S:    Supported
  F:    drivers/staging/
  
- STAGING - AGERE HERMES II and II.5 WIRELESS DRIVERS
- M:    Henk de Groot <pe1dnn@amsat.org>
- S:    Odd Fixes
- F:    drivers/staging/wlags49_h2/
- F:    drivers/staging/wlags49_h25/
- STAGING - ASUS OLED
- M:    Jakub Schmidtke <sjakub@gmail.com>
- S:    Odd Fixes
- F:    drivers/staging/asus_oled/
  STAGING - COMEDI
  M:    Ian Abbott <abbotti@mev.co.uk>
  M:    H Hartley Sweeten <hsweeten@visionengravers.com>
  S:    Odd Fixes
  F:    drivers/staging/comedi/
  
- STAGING - CRYSTAL HD VIDEO DECODER
- M:    Naren Sankar <nsankar@broadcom.com>
- M:    Jarod Wilson <jarod@wilsonet.com>
- M:    Scott Davilla <davilla@4pi.com>
- M:    Manu Abraham <abraham.manu@gmail.com>
- S:    Odd Fixes
- F:    drivers/staging/crystalhd/
- STAGING - ECHO CANCELLER
- M:    Steve Underwood <steveu@coppice.org>
- M:    David Rowe <david@rowetel.com>
- S:    Odd Fixes
- F:    drivers/staging/echo/
  STAGING - ET131X NETWORK DRIVER
  M:    Mark Einon <mark.einon@gmail.com>
  S:    Odd Fixes
@@@ -8592,16 -8709,6 +8711,6 @@@ M:     Marek Belisko <marek.belisko@gmail.c
  S:    Odd Fixes
  F:    drivers/staging/ft1000/
  
- STAGING - FRONTIER TRANZPORT AND ALPHATRACK
- M:    David Täht <d@teklibre.com>
- S:    Odd Fixes
- F:    drivers/staging/frontier/
- STAGING - GO7007 MPEG CODEC
- M:    Hans Verkuil <hans.verkuil@cisco.com>
- S:    Maintained
- F:    drivers/staging/media/go7007/
  STAGING - INDUSTRIAL IO
  M:    Jonathan Cameron <jic23@kernel.org>
  L:    linux-iio@vger.kernel.org
@@@ -8653,52 -8760,27 +8762,27 @@@ L:   linux-wireless@vger.kernel.or
  S:    Maintained
  F:    drivers/staging/rtl8723au/
  
- STAGING - SILICON MOTION SM7XX FRAME BUFFER DRIVER
- M:    Teddy Wang <teddy.wang@siliconmotion.com.cn>
- S:    Odd Fixes
- F:    drivers/staging/sm7xxfb/
  STAGING - SLICOSS
  M:    Lior Dotan <liodot@gmail.com>
  M:    Christopher Harrer <charrer@alacritech.com>
  S:    Odd Fixes
  F:    drivers/staging/slicoss/
  
- STAGING - SOFTLOGIC 6x10 MPEG CODEC
- M:    Ismael Luceno <ismael.luceno@corp.bluecherry.net>
- S:    Supported
- F:    drivers/staging/media/solo6x10/
  STAGING - SPEAKUP CONSOLE SPEECH DRIVER
  M:    William Hubbs <w.d.hubbs@gmail.com>
  M:    Chris Brannon <chris@the-brannons.com>
  M:    Kirk Reiser <kirk@reisers.ca>
  M:    Samuel Thibault <samuel.thibault@ens-lyon.org>
- L:    speakup@braille.uwo.ca
+ L:    speakup@linux-speakup.org
  W:    http://www.linux-speakup.org/
  S:    Odd Fixes
  F:    drivers/staging/speakup/
  
- STAGING - TI DSP BRIDGE DRIVERS
- M:    Omar Ramirez Luna <omar.ramirez@copitl.com>
- S:    Odd Fixes
- F:    drivers/staging/tidspbridge/
- STAGING - USB ENE SM/MS CARD READER DRIVER
- M:    Al Cho <acho@novell.com>
- S:    Odd Fixes
- F:    drivers/staging/keucr/
  STAGING - VIA VT665X DRIVERS
  M:    Forest Bond <forest@alittletooquiet.net>
  S:    Odd Fixes
  F:    drivers/staging/vt665?/
  
- STAGING - WINBOND IS89C35 WLAN USB DRIVER
- M:    Pavel Machek <pavel@ucw.cz>
- S:    Odd Fixes
- F:    drivers/staging/winbond/
  STAGING - XGI Z7,Z9,Z11 PCI DISPLAY DRIVER
  M:    Arnaud Patard <arnaud.patard@rtp-net.org>
  S:    Odd Fixes
@@@ -9056,6 -9138,13 +9140,13 @@@ L:    linux-pm@vger.kernel.or
  S:    Supported
  F:    drivers/thermal/ti-soc-thermal/
  
+ TI CLOCK DRIVER
+ M:    Tero Kristo <t-kristo@ti.com>
+ L:    linux-omap@vger.kernel.org
+ S:    Maintained
+ F:    drivers/clk/ti/
+ F:    include/linux/clk/ti.h
  TI FLASH MEDIA INTERFACE DRIVER
  M:    Alex Dubov <oakad@yahoo.com>
  S:    Maintained
@@@ -9492,6 -9581,14 +9583,14 @@@ S:    Maintaine
  F:    Documentation/usb/ohci.txt
  F:    drivers/usb/host/ohci*
  
+ USB OVER IP DRIVER
+ M:    Valentina Manea <valentina.manea.m@gmail.com>
+ M:    Shuah Khan <shuah.kh@samsung.com>
+ L:    linux-usb@vger.kernel.org
+ S:    Maintained
+ F:    drivers/usb/usbip/
+ F:    tools/usb/usbip/
  USB PEGASUS DRIVER
  M:    Petko Manolov <petkan@nucleusys.com>
  L:    linux-usb@vger.kernel.org
@@@ -9543,15 -9640,6 +9642,6 @@@ L:     netdev@vger.kernel.or
  S:    Maintained
  F:    drivers/net/usb/smsc95xx.*
  
- USB SN9C1xx DRIVER
- M:    Luca Risolia <luca.risolia@studio.unibo.it>
- L:    linux-usb@vger.kernel.org
- L:    linux-media@vger.kernel.org
- T:    git git://linuxtv.org/media_tree.git
- W:    http://www.linux-projects.org
- S:    Maintained
- F:    drivers/staging/media/sn9c102/
  USB SUBSYSTEM
  M:    Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  L:    linux-usb@vger.kernel.org
@@@ -9599,8 -9687,8 +9689,8 @@@ USB WEBCAM GADGE
  M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  L:    linux-usb@vger.kernel.org
  S:    Maintained
- F:    drivers/usb/gadget/*uvc*.c
- F:    drivers/usb/gadget/webcam.c
+ F:    drivers/usb/gadget/function/*uvc*.c
+ F:    drivers/usb/gadget/legacy/webcam.c
  
  USB WIRELESS RNDIS DRIVER (rndis_wlan)
  M:    Jussi Kivilinna <jussi.kivilinna@iki.fi>
@@@ -9665,7 -9753,7 +9755,7 @@@ L:      linux-fbdev@vger.kernel.or
  W:    http://dev.gentoo.org/~spock/projects/uvesafb/
  S:    Maintained
  F:    Documentation/fb/uvesafb.txt
- F:    drivers/video/uvesafb.*
+ F:    drivers/video/fbdev/uvesafb.*
  
  VFAT/FAT/MSDOS FILESYSTEM
  M:    OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
@@@ -9738,7 -9826,7 +9828,7 @@@ S:      Maintaine
  F:    include/linux/via-core.h
  F:    include/linux/via-gpio.h
  F:    include/linux/via_i2c.h
- F:    drivers/video/via/
+ F:    drivers/video/fbdev/via/
  
  VIA VELOCITY NETWORK DRIVER
  M:    Francois Romieu <romieu@fr.zoreil.com>
@@@ -9871,6 -9959,13 +9961,13 @@@ M:    Pierre Ossman <pierre@ossman.eu
  S:    Maintained
  F:    drivers/mmc/host/wbsd.*
  
+ WACOM PROTOCOL 4 SERIAL TABLETS
+ M:    Julian Squires <julian@cipht.net>
+ M:    Hans de Goede <hdegoede@redhat.com>
+ L:    linux-input@vger.kernel.org
+ S:    Maintained
+ F:    drivers/input/tablet/wacom_serial4.c
  WATCHDOG DEVICE DRIVERS
  M:    Wim Van Sebroeck <wim@iguana.be>
  L:    linux-watchdog@vger.kernel.org
@@@ -9994,9 -10089,9 +10091,9 @@@ F:    Documentation/x86
  F:    arch/x86/
  
  X86 PLATFORM DRIVERS
- M:    Matthew Garrett <matthew.garrett@nebula.com>
+ M:    Darren Hart <dvhart@infradead.org>
  L:    platform-driver-x86@vger.kernel.org
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86.git
+ T:    git git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git
  S:    Maintained
  F:    drivers/platform/x86/
  
@@@ -10058,6 -10153,13 +10155,13 @@@ S: Supporte
  F:    arch/x86/pci/*xen*
  F:    drivers/pci/*xen*
  
+ XEN BLOCK SUBSYSTEM
+ M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
+ L:    xen-devel@lists.xenproject.org (moderated for non-subscribers)
+ S:    Supported
+ F:    drivers/block/xen-blkback/*
+ F:    drivers/block/xen*
  XEN SWIOTLB SUBSYSTEM
  M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  L:    xen-devel@lists.xenproject.org (moderated for non-subscribers)
diff --combined fs/namei.c
@@@ -34,6 -34,7 +34,7 @@@
  #include <linux/device_cgroup.h>
  #include <linux/fs_struct.h>
  #include <linux/posix_acl.h>
+ #include <linux/hash.h>
  #include <asm/uaccess.h>
  
  #include "internal.h"
@@@ -643,24 -644,22 +644,22 @@@ static int complete_walk(struct nameida
  
  static __always_inline void set_root(struct nameidata *nd)
  {
-       if (!nd->root.mnt)
-               get_fs_root(current->fs, &nd->root);
+       get_fs_root(current->fs, &nd->root);
  }
  
  static int link_path_walk(const char *, struct nameidata *);
  
- static __always_inline void set_root_rcu(struct nameidata *nd)
+ static __always_inline unsigned set_root_rcu(struct nameidata *nd)
  {
-       if (!nd->root.mnt) {
-               struct fs_struct *fs = current->fs;
-               unsigned seq;
+       struct fs_struct *fs = current->fs;
+       unsigned seq, res;
  
-               do {
-                       seq = read_seqcount_begin(&fs->seq);
-                       nd->root = fs->root;
-                       nd->seq = __read_seqcount_begin(&nd->root.dentry->d_seq);
-               } while (read_seqcount_retry(&fs->seq, seq));
-       }
+       do {
+               seq = read_seqcount_begin(&fs->seq);
+               nd->root = fs->root;
+               res = __read_seqcount_begin(&nd->root.dentry->d_seq);
+       } while (read_seqcount_retry(&fs->seq, seq));
+       return res;
  }
  
  static void path_put_conditional(struct path *path, struct nameidata *nd)
@@@ -860,7 -859,8 +859,8 @@@ follow_link(struct path *link, struct n
                        return PTR_ERR(s);
                }
                if (*s == '/') {
-                       set_root(nd);
+                       if (!nd->root.mnt)
+                               set_root(nd);
                        path_put(&nd->path);
                        nd->path = nd->root;
                        path_get(&nd->root);
@@@ -1091,10 -1091,10 +1091,10 @@@ int follow_down_one(struct path *path
  }
  EXPORT_SYMBOL(follow_down_one);
  
- static inline bool managed_dentry_might_block(struct dentry *dentry)
+ static inline int managed_dentry_rcu(struct dentry *dentry)
  {
-       return (dentry->d_flags & DCACHE_MANAGE_TRANSIT &&
-               dentry->d_op->d_manage(dentry, true) < 0);
+       return (dentry->d_flags & DCACHE_MANAGE_TRANSIT) ?
+               dentry->d_op->d_manage(dentry, true) : 0;
  }
  
  /*
@@@ -1110,11 -1110,18 +1110,18 @@@ static bool __follow_mount_rcu(struct n
                 * Don't forget we might have a non-mountpoint managed dentry
                 * that wants to block transit.
                 */
-               if (unlikely(managed_dentry_might_block(path->dentry)))
+               switch (managed_dentry_rcu(path->dentry)) {
+               case -ECHILD:
+               default:
                        return false;
+               case -EISDIR:
+                       return true;
+               case 0:
+                       break;
+               }
  
                if (!d_mountpoint(path->dentry))
-                       return true;
+                       return !(path->dentry->d_flags & DCACHE_NEED_AUTOMOUNT);
  
                mounted = __lookup_mnt(path->mnt, path->dentry);
                if (!mounted)
                 */
                *inode = path->dentry->d_inode;
        }
-       return read_seqretry(&mount_lock, nd->m_seq);
+       return !read_seqretry(&mount_lock, nd->m_seq) &&
+               !(path->dentry->d_flags & DCACHE_NEED_AUTOMOUNT);
  }
  
  static int follow_dotdot_rcu(struct nameidata *nd)
  {
-       set_root_rcu(nd);
+       struct inode *inode = nd->inode;
+       if (!nd->root.mnt)
+               set_root_rcu(nd);
  
        while (1) {
                if (nd->path.dentry == nd->root.dentry &&
                        struct dentry *parent = old->d_parent;
                        unsigned seq;
  
+                       inode = parent->d_inode;
                        seq = read_seqcount_begin(&parent->d_seq);
                        if (read_seqcount_retry(&old->d_seq, nd->seq))
                                goto failed;
                }
                if (!follow_up_rcu(&nd->path))
                        break;
+               inode = nd->path.dentry->d_inode;
                nd->seq = read_seqcount_begin(&nd->path.dentry->d_seq);
        }
        while (d_mountpoint(nd->path.dentry)) {
                        break;
                nd->path.mnt = &mounted->mnt;
                nd->path.dentry = mounted->mnt.mnt_root;
+               inode = nd->path.dentry->d_inode;
                nd->seq = read_seqcount_begin(&nd->path.dentry->d_seq);
-               if (!read_seqretry(&mount_lock, nd->m_seq))
+               if (read_seqretry(&mount_lock, nd->m_seq))
                        goto failed;
        }
-       nd->inode = nd->path.dentry->d_inode;
+       nd->inode = inode;
        return 0;
  
  failed:
@@@ -1248,7 -1261,8 +1261,8 @@@ static void follow_mount(struct path *p
  
  static void follow_dotdot(struct nameidata *nd)
  {
-       set_root(nd);
+       if (!nd->root.mnt)
+               set_root(nd);
  
        while(1) {
                struct dentry *old = nd->path.dentry;
@@@ -1402,11 -1416,8 +1416,8 @@@ static int lookup_fast(struct nameidat
                }
                path->mnt = mnt;
                path->dentry = dentry;
-               if (unlikely(!__follow_mount_rcu(nd, path, inode)))
-                       goto unlazy;
-               if (unlikely(path->dentry->d_flags & DCACHE_NEED_AUTOMOUNT))
-                       goto unlazy;
-               return 0;
+               if (likely(__follow_mount_rcu(nd, path, inode)))
+                       return 0;
  unlazy:
                if (unlazy_walk(nd, dentry))
                        return -ECHILD;
@@@ -1629,8 -1640,7 +1640,7 @@@ static inline int nested_symlink(struc
  
  static inline unsigned int fold_hash(unsigned long hash)
  {
-       hash += hash >> (8*sizeof(int));
-       return hash;
+       return hash_64(hash, 32);
  }
  
  #else /* 32-bit case */
@@@ -1664,9 -1674,9 +1674,9 @@@ EXPORT_SYMBOL(full_name_hash)
  
  /*
   * Calculate the length and hash of the path component, and
-  * return the length of the component;
+  * return the "hash_len" as the result.
   */
- static inline unsigned long hash_name(const char *name, unsigned int *hashp)
+ static inline u64 hash_name(const char *name)
  {
        unsigned long a, b, adata, bdata, mask, hash, len;
        const struct word_at_a_time constants = WORD_AT_A_TIME_CONSTANTS;
        mask = create_zero_mask(adata | bdata);
  
        hash += a & zero_bytemask(mask);
-       *hashp = fold_hash(hash);
-       return len + find_zero(mask);
+       len += find_zero(mask);
+       return hashlen_create(fold_hash(hash), len);
  }
  
  #else
@@@ -1706,7 -1715,7 +1715,7 @@@ EXPORT_SYMBOL(full_name_hash)
   * We know there's a real path component here of at least
   * one character.
   */
- static inline unsigned long hash_name(const char *name, unsigned int *hashp)
+ static inline u64 hash_name(const char *name)
  {
        unsigned long hash = init_name_hash();
        unsigned long len = 0, c;
                hash = partial_name_hash(c, hash);
                c = (unsigned char)name[len];
        } while (c && c != '/');
-       *hashp = end_name_hash(hash);
-       return len;
+       return hashlen_create(end_name_hash(hash), len);
  }
  
  #endif
@@@ -1743,20 -1751,17 +1751,17 @@@ static int link_path_walk(const char *n
  
        /* At this point we know we have a real path component. */
        for(;;) {
-               struct qstr this;
-               long len;
+               u64 hash_len;
                int type;
  
                err = may_lookup(nd);
                if (err)
                        break;
  
-               len = hash_name(name, &this.hash);
-               this.name = name;
-               this.len = len;
+               hash_len = hash_name(name);
  
                type = LAST_NORM;
-               if (name[0] == '.') switch (len) {
+               if (name[0] == '.') switch (hashlen_len(hash_len)) {
                        case 2:
                                if (name[1] == '.') {
                                        type = LAST_DOTDOT;
                        struct dentry *parent = nd->path.dentry;
                        nd->flags &= ~LOOKUP_JUMPED;
                        if (unlikely(parent->d_flags & DCACHE_OP_HASH)) {
+                               struct qstr this = { { .hash_len = hash_len }, .name = name };
                                err = parent->d_op->d_hash(parent, &this);
                                if (err < 0)
                                        break;
+                               hash_len = this.hash_len;
+                               name = this.name;
                        }
                }
  
-               nd->last = this;
+               nd->last.hash_len = hash_len;
+               nd->last.name = name;
                nd->last_type = type;
  
-               if (!name[len])
+               name += hashlen_len(hash_len);
+               if (!*name)
                        return 0;
                /*
                 * If it wasn't NUL, we know it was '/'. Skip that
                 * slash, and continue until no more slashes.
                 */
                do {
-                       len++;
-               } while (unlikely(name[len] == '/'));
-               if (!name[len])
+                       name++;
+               } while (unlikely(*name == '/'));
+               if (!*name)
                        return 0;
  
-               name += len;
                err = walk_component(nd, &next, LOOKUP_FOLLOW);
                if (err < 0)
                        return err;
@@@ -1847,7 -1855,7 +1855,7 @@@ static int path_init(int dfd, const cha
        if (*name=='/') {
                if (flags & LOOKUP_RCU) {
                        rcu_read_lock();
-                       set_root_rcu(nd);
+                       nd->seq = set_root_rcu(nd);
                } else {
                        set_root(nd);
                        path_get(&nd->root);
        }
  
        nd->inode = nd->path.dentry->d_inode;
-       return 0;
+       if (!(flags & LOOKUP_RCU))
+               return 0;
+       if (likely(!read_seqcount_retry(&nd->path.dentry->d_seq, nd->seq)))
+               return 0;
+       if (!(nd->flags & LOOKUP_ROOT))
+               nd->root.mnt = NULL;
+       rcu_read_unlock();
+       return -ECHILD;
  }
  
  static inline int lookup_last(struct nameidata *nd, struct path *path)
@@@ -3059,7 -3074,7 +3074,7 @@@ opened
        error = open_check_o_direct(file);
        if (error)
                goto exit_fput;
 -      error = ima_file_check(file, op->acc_mode);
 +      error = ima_file_check(file, op->acc_mode, *opened);
        if (error)
                goto exit_fput;
  
@@@ -4019,7 -4034,7 +4034,7 @@@ SYSCALL_DEFINE2(link, const char __use
   * The worst of all namespace operations - renaming directory. "Perverted"
   * doesn't even start to describe it. Somebody in UCB had a heck of a trip...
   * Problems:
-  *    a) we can get into loop creation. Check is done in is_subdir().
+  *    a) we can get into loop creation.
   *    b) race potential - two innocent renames can create a loop together.
   *       That's where 4.4 screws up. Current fix: serialization on
   *       sb->s_vfs_rename_mutex. We might be more accurate, but that's another
@@@ -4075,7 -4090,7 +4090,7 @@@ int vfs_rename(struct inode *old_dir, s
        if (error)
                return error;
  
-       if (!old_dir->i_op->rename)
+       if (!old_dir->i_op->rename && !old_dir->i_op->rename2)
                return -EPERM;
  
        if (flags && !old_dir->i_op->rename2)
                if (error)
                        goto out;
        }
-       if (!flags) {
+       if (!old_dir->i_op->rename2) {
                error = old_dir->i_op->rename(old_dir, old_dentry,
                                              new_dir, new_dentry);
        } else {
+               WARN_ON(old_dir->i_op->rename != NULL);
                error = old_dir->i_op->rename2(old_dir, old_dentry,
                                               new_dir, new_dentry, flags);
        }
diff --combined fs/nfsd/vfs.c
@@@ -189,8 -189,7 +189,7 @@@ nfsd_lookup_dentry(struct svc_rqst *rqs
        dprintk("nfsd: nfsd_lookup(fh %s, %.*s)\n", SVCFH_fmt(fhp), len,name);
  
        dparent = fhp->fh_dentry;
-       exp  = fhp->fh_export;
-       exp_get(exp);
+       exp = exp_get(fhp->fh_export);
  
        /* Lookup the name, but don't follow links */
        if (isdotent(name, len)) {
@@@ -464,7 -463,7 +463,7 @@@ out_put_write_access
        if (size_change)
                put_write_access(inode);
        if (!err)
-               commit_metadata(fhp);
+               err = nfserrno(commit_metadata(fhp));
  out:
        return err;
  }
@@@ -709,7 -708,7 +708,7 @@@ nfsd_open(struct svc_rqst *rqstp, struc
                host_err = PTR_ERR(*filp);
                *filp = NULL;
        } else {
 -              host_err = ima_file_check(*filp, may_flags);
 +              host_err = ima_file_check(*filp, may_flags, 0);
  
                if (may_flags & NFSD_MAY_64BIT_COOKIE)
                        (*filp)->f_mode |= FMODE_64BITHASH;
@@@ -820,7 -819,8 +819,8 @@@ static int nfsd_direct_splice_actor(str
        return __splice_from_pipe(pipe, sd, nfsd_splice_actor);
  }
  
- __be32 nfsd_finish_read(struct file *file, unsigned long *count, int host_err)
+ static __be32
+ nfsd_finish_read(struct file *file, unsigned long *count, int host_err)
  {
        if (host_err >= 0) {
                nfsdstats.io_read += host_err;
                return nfserrno(host_err);
  }
  
int nfsd_splice_read(struct svc_rqst *rqstp,
__be32 nfsd_splice_read(struct svc_rqst *rqstp,
                     struct file *file, loff_t offset, unsigned long *count)
  {
        struct splice_desc sd = {
        return nfsd_finish_read(file, count, host_err);
  }
  
int nfsd_readv(struct file *file, loff_t offset, struct kvec *vec, int vlen,
__be32 nfsd_readv(struct file *file, loff_t offset, struct kvec *vec, int vlen,
                unsigned long *count)
  {
        mm_segment_t oldfs;
@@@ -1121,7 -1121,8 +1121,8 @@@ nfsd_create_setattr(struct svc_rqst *rq
                iap->ia_valid &= ~(ATTR_UID|ATTR_GID);
        if (iap->ia_valid)
                return nfsd_setattr(rqstp, resfhp, iap, 0, (time_t)0);
-       return 0;
+       /* Callers expect file metadata to be committed here */
+       return nfserrno(commit_metadata(resfhp));
  }
  
  /* HPUX client sometimes creates a file in mode 000, and sets size to 0.
@@@ -1253,9 -1254,10 +1254,10 @@@ nfsd_create(struct svc_rqst *rqstp, str
        err = nfsd_create_setattr(rqstp, resfhp, iap);
  
        /*
-        * nfsd_setattr already committed the child.  Transactional filesystems
-        * had a chance to commit changes for both parent and child
-        * simultaneously making the following commit_metadata a noop.
+        * nfsd_create_setattr already committed the child.  Transactional
+        * filesystems had a chance to commit changes for both parent and
+        * child * simultaneously making the following commit_metadata a
+        * noop.
         */
        err2 = nfserrno(commit_metadata(fhp));
        if (err2)
@@@ -1426,7 -1428,8 +1428,8 @@@ do_nfsd_create(struct svc_rqst *rqstp, 
        err = nfsd_create_setattr(rqstp, resfhp, iap);
  
        /*
-        * nfsd_setattr already committed the child (and possibly also the parent).
+        * nfsd_create_setattr already committed the child
+        * (and possibly also the parent).
         */
        if (!err)
                err = nfserrno(commit_metadata(fhp));
@@@ -1504,16 -1507,15 +1507,15 @@@ out_nfserr
  __be32
  nfsd_symlink(struct svc_rqst *rqstp, struct svc_fh *fhp,
                                char *fname, int flen,
-                               char *path,  int plen,
-                               struct svc_fh *resfhp,
-                               struct iattr *iap)
+                               char *path,
+                               struct svc_fh *resfhp)
  {
        struct dentry   *dentry, *dnew;
        __be32          err, cerr;
        int             host_err;
  
        err = nfserr_noent;
-       if (!flen || !plen)
+       if (!flen || path[0] == '\0')
                goto out;
        err = nfserr_exist;
        if (isdotent(fname, flen))
        if (IS_ERR(dnew))
                goto out_nfserr;
  
-       if (unlikely(path[plen] != 0)) {
-               char *path_alloced = kmalloc(plen+1, GFP_KERNEL);
-               if (path_alloced == NULL)
-                       host_err = -ENOMEM;
-               else {
-                       strncpy(path_alloced, path, plen);
-                       path_alloced[plen] = 0;
-                       host_err = vfs_symlink(dentry->d_inode, dnew, path_alloced);
-                       kfree(path_alloced);
-               }
-       } else
-               host_err = vfs_symlink(dentry->d_inode, dnew, path);
+       host_err = vfs_symlink(dentry->d_inode, dnew, path);
        err = nfserrno(host_err);
        if (!err)
                err = nfserrno(commit_metadata(fhp));
@@@ -2093,8 -2084,7 +2084,7 @@@ nfsd_racache_init(int cache_size
        if (raparm_hash[0].pb_head)
                return 0;
        nperbucket = DIV_ROUND_UP(cache_size, RAPARM_HASH_SIZE);
-       if (nperbucket < 2)
-               nperbucket = 2;
+       nperbucket = max(2, nperbucket);
        cache_size = nperbucket * RAPARM_HASH_SIZE;
  
        dprintk("nfsd: allocating %d readahead buffers.\n", cache_size);
diff --combined include/linux/kernel.h
@@@ -470,6 -470,7 +470,7 @@@ extern enum system_states 
  #define TAINT_FIRMWARE_WORKAROUND     11
  #define TAINT_OOT_MODULE              12
  #define TAINT_UNSIGNED_MODULE         13
+ #define TAINT_SOFTLOCKUP              14
  
  extern const char hex_asc[];
  #define hex_asc_lo(x) hex_asc[((x) & 0x0f)]
@@@ -493,16 -494,10 +494,11 @@@ static inline char *hex_byte_pack_upper
        return buf;
  }
  
- static inline char * __deprecated pack_hex_byte(char *buf, u8 byte)
- {
-       return hex_byte_pack(buf, byte);
- }
  extern int hex_to_bin(char ch);
  extern int __must_check hex2bin(u8 *dst, const char *src, size_t count);
 +extern char *bin2hex(char *dst, const void *src, size_t count);
  
int mac_pton(const char *s, u8 *mac);
bool mac_pton(const char *s, u8 *mac);
  
  /*
   * General tracing related utility functions - trace_printk(),
@@@ -850,5 -845,7 +846,7 @@@ static inline void ftrace_dump(enum ftr
         /* User perms >= group perms >= other perms */                 \
         BUILD_BUG_ON_ZERO(((perms) >> 6) < (((perms) >> 3) & 7)) +     \
         BUILD_BUG_ON_ZERO((((perms) >> 3) & 7) < ((perms) & 7)) +      \
+        /* Other writable?  Generally considered a bad idea. */        \
+        BUILD_BUG_ON_ZERO((perms) & 2) +                               \
         (perms))
  #endif
diff --combined net/rxrpc/ar-key.c
@@@ -44,6 -44,7 +44,6 @@@ struct key_type key_type_rxrpc = 
        .preparse       = rxrpc_preparse,
        .free_preparse  = rxrpc_free_preparse,
        .instantiate    = generic_key_instantiate,
 -      .match          = user_match,
        .destroy        = rxrpc_destroy,
        .describe       = rxrpc_describe,
        .read           = rxrpc_read,
@@@ -60,6 -61,7 +60,6 @@@ struct key_type key_type_rxrpc_s = 
        .preparse       = rxrpc_preparse_s,
        .free_preparse  = rxrpc_free_preparse_s,
        .instantiate    = generic_key_instantiate,
 -      .match          = user_match,
        .destroy        = rxrpc_destroy_s,
        .describe       = rxrpc_describe,
  };
@@@ -348,7 -350,7 +348,7 @@@ static int rxrpc_krb5_decode_tagged_arr
  
        n_elem = ntohl(*xdr++);
        toklen -= 4;
-       if (n_elem < 0 || n_elem > max_n_elem)
+       if (n_elem > max_n_elem)
                return -EINVAL;
        *_n_elem = n_elem;
        if (n_elem > 0) {
@@@ -1141,7 -1143,7 +1141,7 @@@ static long rxrpc_read(const struct ke
                if (copy_to_user(xdr, (s), _l) != 0)                    \
                        goto fault;                                     \
                if (_l & 3 &&                                           \
-                   copy_to_user((u8 *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
+                   copy_to_user((u8 __user *)xdr + _l, &zero, 4 - (_l & 3)) != 0) \
                        goto fault;                                     \
                xdr += (_l + 3) >> 2;                                   \
        } while(0)
diff --combined security/keys/key.c
@@@ -27,8 -27,8 +27,8 @@@ DEFINE_SPINLOCK(key_serial_lock)
  struct rb_root        key_user_tree; /* tree of quota records indexed by UID */
  DEFINE_SPINLOCK(key_user_lock);
  
- unsigned int key_quota_root_maxkeys = 200;    /* root's key count quota */
- unsigned int key_quota_root_maxbytes = 20000; /* root's key space quota */
+ unsigned int key_quota_root_maxkeys = 1000000;        /* root's key count quota */
+ unsigned int key_quota_root_maxbytes = 25000000; /* root's key space quota */
  unsigned int key_quota_maxkeys = 200;         /* general key count quota */
  unsigned int key_quota_maxbytes = 20000;      /* general key space quota */
  
@@@ -799,7 -799,7 +799,7 @@@ key_ref_t key_create_or_update(key_ref_
        }
  
        key_ref = ERR_PTR(-EINVAL);
 -      if (!index_key.type->match || !index_key.type->instantiate ||
 +      if (!index_key.type->instantiate ||
            (!index_key.description && !index_key.type->preparse))
                goto error_put_type;
  
  
  #define key_negative_timeout  60      /* default timeout on a negative key's existence */
  
- /*
-  * wait_on_bit() sleep function for uninterruptible waiting
-  */
- static int key_wait_bit(void *flags)
- {
-       schedule();
-       return 0;
- }
- /*
-  * wait_on_bit() sleep function for interruptible waiting
-  */
- static int key_wait_bit_intr(void *flags)
- {
-       schedule();
-       return signal_pending(current) ? -ERESTARTSYS : 0;
- }
  /**
   * complete_request_key - Complete the construction of a key.
   * @cons: The key construction record.
@@@ -531,9 -513,9 +513,9 @@@ struct key *request_key_and_link(struc
                .index_key.type         = type,
                .index_key.description  = description,
                .cred                   = current_cred(),
 -              .match                  = type->match,
 -              .match_data             = description,
 -              .flags                  = KEYRING_SEARCH_LOOKUP_DIRECT,
 +              .match_data.cmp         = key_default_cmp,
 +              .match_data.raw_data    = description,
 +              .match_data.lookup_type = KEYRING_SEARCH_LOOKUP_DIRECT,
        };
        struct key *key;
        key_ref_t key_ref;
               ctx.index_key.type->name, ctx.index_key.description,
               callout_info, callout_len, aux, dest_keyring, flags);
  
 +      if (type->match_preparse) {
 +              ret = type->match_preparse(&ctx.match_data);
 +              if (ret < 0) {
 +                      key = ERR_PTR(ret);
 +                      goto error;
 +              }
 +      }
 +
        /* search all the process keyrings for a key */
        key_ref = search_process_keyrings(&ctx);
  
                        if (ret < 0) {
                                key_put(key);
                                key = ERR_PTR(ret);
 -                              goto error;
 +                              goto error_free;
                        }
                }
        } else if (PTR_ERR(key_ref) != -EAGAIN) {
                 * should consult userspace if we can */
                key = ERR_PTR(-ENOKEY);
                if (!callout_info)
 -                      goto error;
 +                      goto error_free;
  
                key = construct_key_and_link(&ctx, callout_info, callout_len,
                                             aux, dest_keyring, flags);
        }
  
 +error_free:
 +      if (type->match_free)
 +              type->match_free(&ctx.match_data);
  error:
        kleave(" = %p", key);
        return key;
@@@ -603,10 -574,9 +585,9 @@@ int wait_for_key_construction(struct ke
        int ret;
  
        ret = wait_on_bit(&key->flags, KEY_FLAG_USER_CONSTRUCT,
-                         intr ? key_wait_bit_intr : key_wait_bit,
                          intr ? TASK_INTERRUPTIBLE : TASK_UNINTERRUPTIBLE);
-       if (ret < 0)
-               return ret;
+       if (ret)
+               return -ERESTARTSYS;
        if (test_bit(KEY_FLAG_NEGATIVE, &key->flags)) {
                smp_rmb();
                return key->type_data.reject_error;
diff --combined security/selinux/netif.c
@@@ -45,7 -45,6 +45,7 @@@ static struct list_head sel_netif_hash[
  
  /**
   * sel_netif_hashfn - Hashing function for the interface table
 + * @ns: the network namespace
   * @ifindex: the network interface
   *
   * Description:
   * bucket number for the given interface.
   *
   */
 -static inline u32 sel_netif_hashfn(int ifindex)
 +static inline u32 sel_netif_hashfn(const struct net *ns, int ifindex)
  {
 -      return (ifindex & (SEL_NETIF_HASH_SIZE - 1));
 +      return (((uintptr_t)ns + ifindex) & (SEL_NETIF_HASH_SIZE - 1));
  }
  
  /**
   * sel_netif_find - Search for an interface record
 + * @ns: the network namespace
   * @ifindex: the network interface
   *
   * Description:
   * If an entry can not be found in the table return NULL.
   *
   */
 -static inline struct sel_netif *sel_netif_find(int ifindex)
 +static inline struct sel_netif *sel_netif_find(const struct net *ns,
 +                                             int ifindex)
  {
 -      int idx = sel_netif_hashfn(ifindex);
 +      int idx = sel_netif_hashfn(ns, ifindex);
        struct sel_netif *netif;
  
        list_for_each_entry_rcu(netif, &sel_netif_hash[idx], list)
 -              /* all of the devices should normally fit in the hash, so we
 -               * optimize for that case */
 -              if (likely(netif->nsec.ifindex == ifindex))
 +              if (net_eq(netif->nsec.ns, ns) &&
 +                  netif->nsec.ifindex == ifindex)
                        return netif;
  
        return NULL;
@@@ -98,7 -96,7 +98,7 @@@ static int sel_netif_insert(struct sel_
        if (sel_netif_total >= SEL_NETIF_HASH_MAX)
                return -ENOSPC;
  
 -      idx = sel_netif_hashfn(netif->nsec.ifindex);
 +      idx = sel_netif_hashfn(netif->nsec.ns, netif->nsec.ifindex);
        list_add_rcu(&netif->list, &sel_netif_hash[idx]);
        sel_netif_total++;
  
@@@ -122,7 -120,6 +122,7 @@@ static void sel_netif_destroy(struct se
  
  /**
   * sel_netif_sid_slow - Lookup the SID of a network interface using the policy
 + * @ns: the network namespace
   * @ifindex: the network interface
   * @sid: interface SID
   *
   * failure.
   *
   */
 -static int sel_netif_sid_slow(int ifindex, u32 *sid)
 +static int sel_netif_sid_slow(struct net *ns, int ifindex, u32 *sid)
  {
        int ret;
        struct sel_netif *netif;
        /* NOTE: we always use init's network namespace since we don't
         * currently support containers */
  
 -      dev = dev_get_by_index(&init_net, ifindex);
 +      dev = dev_get_by_index(ns, ifindex);
        if (unlikely(dev == NULL)) {
                printk(KERN_WARNING
                       "SELinux: failure in sel_netif_sid_slow(),"
        }
  
        spin_lock_bh(&sel_netif_lock);
 -      netif = sel_netif_find(ifindex);
 +      netif = sel_netif_find(ns, ifindex);
        if (netif != NULL) {
                *sid = netif->nsec.sid;
                ret = 0;
        ret = security_netif_sid(dev->name, &new->nsec.sid);
        if (ret != 0)
                goto out;
 +      new->nsec.ns = ns;
        new->nsec.ifindex = ifindex;
        ret = sel_netif_insert(new);
        if (ret != 0)
@@@ -188,7 -184,6 +188,7 @@@ out
  
  /**
   * sel_netif_sid - Lookup the SID of a network interface
 + * @ns: the network namespace
   * @ifindex: the network interface
   * @sid: interface SID
   *
   * on failure.
   *
   */
 -int sel_netif_sid(int ifindex, u32 *sid)
 +int sel_netif_sid(struct net *ns, int ifindex, u32 *sid)
  {
        struct sel_netif *netif;
  
        rcu_read_lock();
 -      netif = sel_netif_find(ifindex);
 +      netif = sel_netif_find(ns, ifindex);
        if (likely(netif != NULL)) {
                *sid = netif->nsec.sid;
                rcu_read_unlock();
        }
        rcu_read_unlock();
  
 -      return sel_netif_sid_slow(ifindex, sid);
 +      return sel_netif_sid_slow(ns, ifindex, sid);
  }
  
  /**
   * sel_netif_kill - Remove an entry from the network interface table
 + * @ns: the network namespace
   * @ifindex: the network interface
   *
   * Description:
   * table if it exists.
   *
   */
 -static void sel_netif_kill(int ifindex)
 +static void sel_netif_kill(const struct net *ns, int ifindex)
  {
        struct sel_netif *netif;
  
        rcu_read_lock();
        spin_lock_bh(&sel_netif_lock);
 -      netif = sel_netif_find(ifindex);
 +      netif = sel_netif_find(ns, ifindex);
        if (netif)
                sel_netif_destroy(netif);
        spin_unlock_bh(&sel_netif_lock);
@@@ -263,8 -257,11 +263,8 @@@ static int sel_netif_netdev_notifier_ha
  {
        struct net_device *dev = netdev_notifier_info_to_dev(ptr);
  
 -      if (dev_net(dev) != &init_net)
 -              return NOTIFY_DONE;
 -
        if (event == NETDEV_DOWN)
 -              sel_netif_kill(dev->ifindex);
 +              sel_netif_kill(dev_net(dev), dev->ifindex);
  
        return NOTIFY_DONE;
  }
@@@ -275,7 -272,7 +275,7 @@@ static struct notifier_block sel_netif_
  
  static __init int sel_netif_init(void)
  {
-       int i, err;
+       int i;
  
        if (!selinux_enabled)
                return 0;
  
        register_netdevice_notifier(&sel_netif_netdev_notifier);
  
-       return err;
+       return 0;
  }
  
  __initcall(sel_netif_init);