Merge branch 'master' of git://git.infradead.org/users/eparis/selinux into for-linus
authorJames Morris <jmorris@namei.org>
Tue, 24 May 2011 13:20:19 +0000 (23:20 +1000)
committerJames Morris <jmorris@namei.org>
Tue, 24 May 2011 13:20:19 +0000 (23:20 +1000)
Conflicts:
lib/flex_array.c
security/selinux/avc.c
security/selinux/hooks.c
security/selinux/ss/policydb.c
security/smack/smack_lsm.c

Manually resolve conflicts.

Signed-off-by: James Morris <jmorris@namei.org>
1  2 
MAINTAINERS
security/selinux/avc.c
security/selinux/hooks.c
security/selinux/selinuxfs.c
security/selinux/ss/services.c
security/smack/smack_lsm.c

diff --combined MAINTAINERS
@@@ -72,7 -72,7 +72,7 @@@ Descriptions of section entries
        L: Mailing list that is relevant to this area
        W: Web-page with status/info
        Q: Patchwork web based patch tracking system site
 -      T: SCM tree type and location.  Type is one of: git, hg, quilt, stgit.
 +      T: SCM tree type and location.  Type is one of: git, hg, quilt, stgit, topgit.
        S: Status, one of the following:
           Supported:   Someone is actually paid to look after this.
           Maintained:  Someone actually looks after it.
@@@ -151,7 -151,6 +151,7 @@@ S: Maintaine
  F:    drivers/net/hamradio/6pack.c
  
  8169 10/100/1000 GIGABIT ETHERNET DRIVER
 +M:    Realtek linux nic maintainers <nic_swsd@realtek.com>
  M:    Francois Romieu <romieu@fr.zoreil.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
@@@ -185,9 -184,10 +185,9 @@@ F:        Documentation/filesystems/9p.tx
  F:    fs/9p/
  
  A2232 SERIAL BOARD DRIVER
 -M:    Enver Haase <A2232@gmx.net>
  L:    linux-m68k@lists.linux-m68k.org
 -S:    Maintained
 -F:    drivers/char/ser_a2232*
 +S:    Orphan
 +F:    drivers/staging/generic_serial/ser_a2232*
  
  AACRAID SCSI RAID DRIVER
  M:    Adaptec OEM Raid Solutions <aacraid@adaptec.com>
@@@ -198,7 -198,7 +198,7 @@@ F: Documentation/scsi/aacraid.tx
  F:    drivers/scsi/aacraid/
  
  ABIT UGURU 1,2 HARDWARE MONITOR DRIVER
 -M:    Hans de Goede <j.w.r.degoede@hhs.nl>
 +M:    Hans de Goede <hdegoede@redhat.com>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    drivers/hwmon/abituguru.c
@@@ -288,35 -288,35 +288,35 @@@ F:      sound/pci/ad1889.
  AD525X ANALOG DEVICES DIGITAL POTENTIOMETERS DRIVER
  M:    Michael Hennerich <michael.hennerich@analog.com>
  L:    device-driver-devel@blackfin.uclinux.org
 -W:    http://wiki-analog.com/AD5254
 +W:    http://wiki.analog.com/AD5254
  S:    Supported
  F:    drivers/misc/ad525x_dpot.c
  
  AD5398 CURRENT REGULATOR DRIVER (AD5398/AD5821)
  M:    Michael Hennerich <michael.hennerich@analog.com>
  L:    device-driver-devel@blackfin.uclinux.org
 -W:    http://wiki-analog.com/AD5398
 +W:    http://wiki.analog.com/AD5398
  S:    Supported
  F:    drivers/regulator/ad5398.c
  
  AD714X CAPACITANCE TOUCH SENSOR DRIVER (AD7142/3/7/8/7A)
  M:    Michael Hennerich <michael.hennerich@analog.com>
  L:    device-driver-devel@blackfin.uclinux.org
 -W:    http://wiki-analog.com/AD7142
 +W:    http://wiki.analog.com/AD7142
  S:    Supported
  F:    drivers/input/misc/ad714x.c
  
  AD7877 TOUCHSCREEN DRIVER
  M:    Michael Hennerich <michael.hennerich@analog.com>
  L:    device-driver-devel@blackfin.uclinux.org
 -W:    http://wiki-analog.com/AD7877
 +W:    http://wiki.analog.com/AD7877
  S:    Supported
  F:    drivers/input/touchscreen/ad7877.c
  
  AD7879 TOUCHSCREEN DRIVER (AD7879/AD7889)
  M:    Michael Hennerich <michael.hennerich@analog.com>
  L:    device-driver-devel@blackfin.uclinux.org
 -W:    http://wiki-analog.com/AD7879
 +W:    http://wiki.analog.com/AD7879
  S:    Supported
  F:    drivers/input/touchscreen/ad7879.c
  
@@@ -342,18 -342,18 +342,18 @@@ F:      drivers/net/wireless/adm8211.
  ADP5520 BACKLIGHT DRIVER WITH IO EXPANDER (ADP5520/ADP5501)
  M:    Michael Hennerich <michael.hennerich@analog.com>
  L:    device-driver-devel@blackfin.uclinux.org
 -W:    http://wiki-analog.com/ADP5520
 +W:    http://wiki.analog.com/ADP5520
  S:    Supported
  F:    drivers/mfd/adp5520.c
  F:    drivers/video/backlight/adp5520_bl.c
 -F:    drivers/led/leds-adp5520.c
 +F:    drivers/leds/leds-adp5520.c
  F:    drivers/gpio/adp5520-gpio.c
  F:    drivers/input/keyboard/adp5520-keys.c
  
  ADP5588 QWERTY KEYPAD AND IO EXPANDER DRIVER (ADP5588/ADP5587)
  M:    Michael Hennerich <michael.hennerich@analog.com>
  L:    device-driver-devel@blackfin.uclinux.org
 -W:    http://wiki-analog.com/ADP5588
 +W:    http://wiki.analog.com/ADP5588
  S:    Supported
  F:    drivers/input/keyboard/adp5588-keys.c
  F:    drivers/gpio/adp5588-gpio.c
  ADP8860 BACKLIGHT DRIVER (ADP8860/ADP8861/ADP8863)
  M:    Michael Hennerich <michael.hennerich@analog.com>
  L:    device-driver-devel@blackfin.uclinux.org
 -W:    http://wiki-analog.com/ADP8860
 +W:    http://wiki.analog.com/ADP8860
  S:    Supported
  F:    drivers/video/backlight/adp8860_bl.c
  
 +ADS1015 HARDWARE MONITOR DRIVER
 +M:    Dirk Eibach <eibach@gdsys.de>
 +L:    lm-sensors@lm-sensors.org
 +S:    Maintained
 +F:    Documentation/hwmon/ads1015
 +F:    drivers/hwmon/ads1015.c
 +F:    include/linux/i2c/ads1015.h
 +
  ADT746X FAN DRIVER
  M:    Colin Leroy <colin@colino.net>
  S:    Maintained
@@@ -388,7 -380,7 +388,7 @@@ F: drivers/hwmon/adt7475.
  ADXL34X THREE-AXIS DIGITAL ACCELEROMETER DRIVER (ADXL345/ADXL346)
  M:    Michael Hennerich <michael.hennerich@analog.com>
  L:    device-driver-devel@blackfin.uclinux.org
 -W:    http://wiki-analog.com/ADXL345
 +W:    http://wiki.analog.com/ADXL345
  S:    Supported
  F:    drivers/input/misc/adxl34x.c
  
@@@ -405,8 -397,8 +405,8 @@@ S: Maintaine
  F:    sound/oss/aedsp16.c
  
  AFFS FILE SYSTEM
 -M:    Roman Zippel <zippel@linux-m68k.org>
 -S:    Maintained
 +L:    linux-fsdevel@vger.kernel.org
 +S:    Orphan
  F:    Documentation/filesystems/affs.txt
  F:    fs/affs/
  
@@@ -473,16 -465,6 +473,16 @@@ M:       Matt Turner <mattst88@gmail.com
  L:    linux-alpha@vger.kernel.org
  F:    arch/alpha/
  
 +ALTERA UART/JTAG UART SERIAL DRIVERS
 +M:    Tobias Klauser <tklauser@distanz.ch>
 +L:    linux-serial@vger.kernel.org
 +L:    nios2-dev@sopc.et.ntust.edu.tw (moderated for non-subscribers)
 +S:    Maintained
 +F:    drivers/tty/serial/altera_uart.c
 +F:    drivers/tty/serial/altera_jtaguart.c
 +F:    include/linux/altera_uart.h
 +F:    include/linux/altera_jtaguart.h
 +
  AMD GEODE CS5536 USB DEVICE CONTROLLER DRIVER
  M:    Thomas Dahlmann <dahlmann.thomas@arcor.de>
  L:    linux-geode@lists.infradead.org (moderated for non-subscribers)
@@@ -528,9 -510,11 +528,9 @@@ F:        drivers/infiniband/hw/amso1100
  ANALOG DEVICES INC ASOC CODEC DRIVERS
  L:    device-driver-devel@blackfin.uclinux.org
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
 -W:    http://wiki-analog.com/
 +W:    http://wiki.analog.com/
  S:    Supported
  F:    sound/soc/codecs/ad1*
 -F:    sound/soc/codecs/adau*
 -F:    sound/soc/codecs/adav*
  F:    sound/soc/codecs/ssm*
  
  ANALOG DEVICES INC ASOC DRIVERS
@@@ -548,11 -532,12 +548,11 @@@ S:      Maintaine
  F:    sound/aoa/
  
  APM DRIVER
 -M:    Stephen Rothwell <sfr@canb.auug.org.au>
 -L:    linux-laptop@vger.kernel.org
 -W:    http://www.canb.auug.org.au/~sfr/
 -S:    Supported
 +M:    Jiri Kosina <jkosina@suse.cz>
 +S:    Odd fixes
  F:    arch/x86/kernel/apm_32.c
  F:    include/linux/apm_bios.h
 +F:    drivers/char/apm-emulation.c
  
  APPLE BCM5974 MULTITOUCH DRIVER
  M:    Henrik Rydberg <rydberg@euromail.se>
@@@ -572,13 -557,6 +572,13 @@@ S:       Maintaine
  F:    drivers/net/appletalk/
  F:    net/appletalk/
  
 +ARASAN COMPACT FLASH PATA CONTROLLER
 +M:    Viresh Kumar <viresh.kumar@st.com>
 +L:    linux-ide@vger.kernel.org
 +S:    Maintained
 +F:    include/linux/pata_arasan_cf_data.h
 +F:    drivers/ata/pata_arasan_cf.c
 +
  ARC FRAMEBUFFER DRIVER
  M:    Jaya Kumar <jayalk@intworks.biz>
  S:    Maintained
@@@ -694,8 -672,8 +694,8 @@@ S: Maintaine
  ARM/CLKDEV SUPPORT
  M:    Russell King <linux@arm.linux.org.uk>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -F:    arch/arm/common/clkdev.c
  F:    arch/arm/include/asm/clkdev.h
 +F:    drivers/clk/clkdev.c
  
  ARM/COMPULAB CM-X270/EM-X270 and CM-X300 MACHINE SUPPORT
  M:    Mike Rapoport <mike@compulab.co.il>
@@@ -730,7 -708,7 +730,7 @@@ ARM/EZX SMARTPHONES (A780, A910, A1200
  M:    Daniel Ribeiro <drwyrm@gmail.com>
  M:    Stefan Schmidt <stefan@openezx.org>
  M:    Harald Welte <laforge@openezx.org>
 -L:    openezx-devel@lists.openezx.org (subscribers-only)
 +L:    openezx-devel@lists.openezx.org (moderated for non-subscribers)
  W:    http://www.openezx.org/
  S:    Maintained
  T:    topgit git://git.openezx.org/openezx.git
@@@ -878,13 -856,6 +878,13 @@@ F:       arch/arm/mach-mv78xx0
  F:    arch/arm/mach-orion5x/
  F:    arch/arm/plat-orion/
  
 +ARM/Orion SoC/Technologic Systems TS-78xx platform support
 +M:    Alexander Clouter <alex@digriz.org.uk>
 +L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 +W:    http://www.digriz.org.uk/ts78xx/kernel
 +S:    Maintained
 +F:    arch/arm/mach-orion5x/ts78xx-*
 +
  ARM/MIOA701 MACHINE SUPPORT
  M:    Robert Jarzmik <robert.jarzmik@free.fr>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
@@@ -923,7 -894,6 +923,7 @@@ F: drivers/mmc/host/msm_sdcc.
  F:    drivers/mmc/host/msm_sdcc.h
  F:    drivers/tty/serial/msm_serial.h
  F:    drivers/tty/serial/msm_serial.c
 +F:    drivers/platform/msm/
  T:    git git://codeaurora.org/quic/kernel/davidb/linux-msm.git
  S:    Maintained
  
@@@ -1033,13 -1003,12 +1033,13 @@@ W:   http://www.fluff.org/ben/linux
  S:    Maintained
  F:    arch/arm/mach-s3c64xx/
  
 -ARM/S5P ARM ARCHITECTURES
 +ARM/S5P EXYNOS ARM ARCHITECTURES
  M:    Kukjin Kim <kgene.kim@samsung.com>
  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:    arch/arm/mach-s5p*/
 +F:    arch/arm/mach-exynos*/
  
  ARM/SAMSUNG MOBILE MACHINE SUPPORT
  M:    Kyungmin Park <kyungmin.park@samsung.com>
@@@ -1072,7 -1041,7 +1072,7 @@@ F:      arch/arm/mach-shmobile
  F:    drivers/sh/
  
  ARM/TELECHIPS ARM ARCHITECTURE
 -M:    "Hans J. Koch" <hjk@linutronix.de>
 +M:    "Hans J. Koch" <hjk@hansjkoch.de>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  F:    arch/arm/plat-tcc/
@@@ -1084,7 -1053,7 +1084,7 @@@ L:      linux-arm-kernel@lists.infradead.or
  S:    Maintained
  
  ARM/TETON BGA MACHINE SUPPORT
 -M:    Mark F. Brown <mark.brown314@gmail.com>
 +M:    "Mark F. Brown" <mark.brown314@gmail.com>
  L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
  S:    Maintained
  
@@@ -1166,14 -1135,14 +1166,14 @@@ S:   Maintaine
  F:    Documentation/hwmon/asc7621
  F:    drivers/hwmon/asc7621.c
  
 -ASUS ACPI EXTRAS DRIVER
 +ASUS NOTEBOOKS AND EEEPC ACPI/WMI EXTRAS DRIVERS
  M:    Corentin Chary <corentincj@iksaif.net>
 -M:    Karol Kozimor <sziwan@users.sourceforge.net>
  L:    acpi4asus-user@lists.sourceforge.net
  L:    platform-driver-x86@vger.kernel.org
  W:    http://acpi4asus.sf.net
  S:    Maintained
 -F:    drivers/platform/x86/asus_acpi.c
 +F:    drivers/platform/x86/asus*.c
 +F:    drivers/platform/x86/eeepc*.c
  
  ASUS ASB100 HARDWARE MONITOR DRIVER
  M:    "Mark M. Hoffman" <mhoffman@lightlink.com>
@@@ -1181,6 -1150,14 +1181,6 @@@ L:     lm-sensors@lm-sensors.or
  S:    Maintained
  F:    drivers/hwmon/asb100.c
  
 -ASUS LAPTOP EXTRAS DRIVER
 -M:    Corentin Chary <corentincj@iksaif.net>
 -L:    acpi4asus-user@lists.sourceforge.net
 -L:    platform-driver-x86@vger.kernel.org
 -W:    http://acpi4asus.sf.net
 -S:    Maintained
 -F:    drivers/platform/x86/asus-laptop.c
 -
  ASYNCHRONOUS TRANSFERS/TRANSFORMS (IOAT) API
  M:    Dan Williams <dan.j.williams@intel.com>
  W:    http://sourceforge.net/projects/xscaleiop
@@@ -1233,6 -1210,13 +1233,6 @@@ W:     http://wireless.kernel.org/en/users/
  S:    Supported
  F:    drivers/net/wireless/ath/ath9k/
  
 -ATHEROS AR9170 WIRELESS DRIVER
 -M:    Christian Lamparter <chunkeey@web.de>
 -L:    linux-wireless@vger.kernel.org
 -W:    http://wireless.kernel.org/en/users/Drivers/ar9170
 -S:    Maintained
 -F:    drivers/net/wireless/ath/ar9170/
 -
  CARL9170 LINUX COMMUNITY WIRELESS DRIVER
  M:    Christian Lamparter <chunkeey@googlemail.com>
  L:    linux-wireless@vger.kernel.org
@@@ -1473,7 -1457,7 +1473,7 @@@ F:      drivers/mtd/devices/block2mtd.
  
  BLUETOOTH DRIVERS
  M:    Marcel Holtmann <marcel@holtmann.org>
 -M:    Gustavo F. Padovan <padovan@profusion.mobi>
 +M:    "Gustavo F. Padovan" <padovan@profusion.mobi>
  L:    linux-bluetooth@vger.kernel.org
  W:    http://www.bluez.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git
@@@ -1482,7 -1466,7 +1482,7 @@@ F:      drivers/bluetooth
  
  BLUETOOTH SUBSYSTEM
  M:    Marcel Holtmann <marcel@holtmann.org>
 -M:    Gustavo F. Padovan <padovan@profusion.mobi>
 +M:    "Gustavo F. Padovan" <padovan@profusion.mobi>
  L:    linux-bluetooth@vger.kernel.org
  W:    http://www.bluez.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-2.6.git
@@@ -1726,7 -1710,6 +1726,7 @@@ S:      Maintaine
  F:    Documentation/zh_CN/
  
  CISCO VIC ETHERNET NIC DRIVER
 +M:    Christian Benvenuti <benve@cisco.com>
  M:    Vasanthy Kolluri <vkolluri@cisco.com>
  M:    Roopa Prabhu <roprabhu@cisco.com>
  M:    David Wang <dwang2@cisco.com>
@@@ -1825,10 -1808,11 +1825,10 @@@ S:   Maintaine
  F:    drivers/platform/x86/compal-laptop.c
  
  COMPUTONE INTELLIPORT MULTIPORT CARD
 -M:    "Michael H. Warfield" <mhw@wittsend.com>
  W:    http://www.wittsend.com/computone.html
 -S:    Maintained
 +S:    Orphan
  F:    Documentation/serial/computone.txt
 -F:    drivers/char/ip2/
 +F:    drivers/staging/tty/ip2/
  
  CONEXANT ACCESSRUNNER USB DRIVER
  M:    Simon Arlott <cxacru@fire.lp0.eu>
@@@ -2011,7 -1995,7 +2011,7 @@@ F:      drivers/net/wan/cycx
  CYCLADES ASYNC MUX DRIVER
  W:    http://www.cyclades.com/
  S:    Orphan
 -F:    drivers/char/cyclades.c
 +F:    drivers/tty/cyclades.c
  F:    include/linux/cyclades.h
  
  CYCLADES PC300 DRIVER
@@@ -2125,14 -2109,8 +2125,14 @@@ L:    Eng.Linux@digi.co
  W:    http://www.digi.com
  S:    Orphan
  F:    Documentation/serial/digiepca.txt
 -F:    drivers/char/epca*
 -F:    drivers/char/digi*
 +F:    drivers/staging/tty/epca*
 +F:    drivers/staging/tty/digi*
 +
 +DIOLAN U2C-12 I2C DRIVER
 +M:    Guenter Roeck <guenter.roeck@ericsson.com>
 +L:    linux-i2c@vger.kernel.org
 +S:    Maintained
 +F:    drivers/i2c/busses/i2c-diolan-u2c.c
  
  DIRECTORY NOTIFICATION (DNOTIFY)
  M:    Eric Paris <eparis@parisplace.org>
@@@ -2380,7 -2358,7 +2380,7 @@@ F:      include/linux/edac_mce.
  
  EDAC-I82975X
  M:    Ranganathan Desikan <ravi@jetztechnologies.com>
 -M:    "Arvind R." <arvind@jetztechnologies.com>
 +M:    "Arvind R." <arvino55@gmail.com>
  L:    bluesmoke-devel@lists.sourceforge.net (moderated for non-subscribers)
  W:    bluesmoke.sourceforge.net
  S:    Maintained
@@@ -2407,6 -2385,22 +2407,6 @@@ T:     git git://git.alsa-project.org/alsa-
  S:    Maintained
  F:    sound/usb/misc/ua101.c
  
 -EEEPC LAPTOP EXTRAS DRIVER
 -M:    Corentin Chary <corentincj@iksaif.net>
 -L:    acpi4asus-user@lists.sourceforge.net
 -L:    platform-driver-x86@vger.kernel.org
 -W:    http://acpi4asus.sf.net
 -S:    Maintained
 -F:    drivers/platform/x86/eeepc-laptop.c
 -
 -EEEPC WMI EXTRAS DRIVER
 -M:    Corentin Chary <corentincj@iksaif.net>
 -L:    acpi4asus-user@lists.sourceforge.net
 -L:    platform-driver-x86@vger.kernel.org
 -W:    http://acpi4asus.sf.net
 -S:    Maintained
 -F:    drivers/platform/x86/eeepc-wmi.c
 -
  EFIFB FRAMEBUFFER DRIVER
  L:    linux-fbdev@vger.kernel.org
  M:    Peter Jones <pjones@redhat.com>
@@@ -2455,7 -2449,8 +2455,7 @@@ F:      include/linux/cb710.
  ENE KB2426 (ENE0100/ENE020XX) INFRARED RECEIVER
  M:    Maxim Levitsky <maximlevitsky@gmail.com>
  S:    Maintained
 -F:    drivers/media/IR/ene_ir.c
 -F:    drivers/media/IR/ene_ir.h
 +F:    drivers/media/rc/ene_ir.*
  
  EPSON 1355 FRAMEBUFFER DRIVER
  M:    Christopher Hoover <ch@murgatroid.com>
@@@ -2606,14 -2601,12 +2606,14 @@@ F:   drivers/net/wan/dlci.
  F:    drivers/net/wan/sdla.c
  
  FRAMEBUFFER LAYER
 +M:    Paul Mundt <lethal@linux-sh.org>
  L:    linux-fbdev@vger.kernel.org
  W:    http://linux-fbdev.sourceforge.net/
  Q:    http://patchwork.kernel.org/project/linux-fbdev/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lethal/fbdev-2.6.git
 -S:    Orphan
 +S:    Maintained
  F:    Documentation/fb/
 +F:    Documentation/devicetree/bindings/fb/
  F:    drivers/video/
  F:    include/video/
  F:    include/linux/fb.h
@@@ -2801,25 -2794,46 +2801,25 @@@ F:   include/linux/gigaset_dev.
  
  GPIO SUBSYSTEM
  M:    Grant Likely <grant.likely@secretlab.ca>
 -L:    linux-kernel@vger.kernel.org
  S:    Maintained
  T:    git git://git.secretlab.ca/git/linux-2.6.git
 -F:    Documentation/gpio/gpio.txt
 +F:    Documentation/gpio.txt
  F:    drivers/gpio/
  F:    include/linux/gpio*
  
 +GRE DEMULTIPLEXER DRIVER
 +M:    Dmitry Kozlov <xeb@mail.ru>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    net/ipv4/gre.c
 +F:    include/net/gre.h
 +
  GRETH 10/100/1G Ethernet MAC device driver
  M:    Kristoffer Glembo <kristoffer@gaisler.com>
  L:    netdev@vger.kernel.org
  S:    Maintained
  F:    drivers/net/greth*
  
 -HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
 -M:    Frank Seidel <frank@f-seidel.de>
 -L:    platform-driver-x86@vger.kernel.org
 -W:    http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
 -S:    Maintained
 -F:    drivers/platform/x86/hdaps.c
 -
 -HWPOISON MEMORY FAILURE HANDLING
 -M:    Andi Kleen <andi@firstfloor.org>
 -L:    linux-mm@kvack.org
 -L:    linux-kernel@vger.kernel.org
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git hwpoison
 -S:    Maintained
 -F:    mm/memory-failure.c
 -F:    mm/hwpoison-inject.c
 -
 -HYPERVISOR VIRTUAL CONSOLE DRIVER
 -L:    linuxppc-dev@lists.ozlabs.org
 -S:    Odd Fixes
 -F:    drivers/char/hvc_*
 -
 -iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
 -M:    Peter Jones <pjones@redhat.com>
 -M:    Konrad Rzeszutek Wilk <konrad@kernel.org>
 -S:    Maintained
 -F:    drivers/firmware/iscsi_ibft*
 -
  GSPCA FINEPIX SUBDRIVER
  M:    Frank Zago <frank@zago.net>
  L:    linux-media@vger.kernel.org
@@@ -2870,26 -2884,6 +2870,26 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    drivers/media/video/gspca/
  
 +HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
 +M:    Frank Seidel <frank@f-seidel.de>
 +L:    platform-driver-x86@vger.kernel.org
 +W:    http://www.kernel.org/pub/linux/kernel/people/fseidel/hdaps/
 +S:    Maintained
 +F:    drivers/platform/x86/hdaps.c
 +
 +HWPOISON MEMORY FAILURE HANDLING
 +M:    Andi Kleen <andi@firstfloor.org>
 +L:    linux-mm@kvack.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-mce-2.6.git hwpoison
 +S:    Maintained
 +F:    mm/memory-failure.c
 +F:    mm/hwpoison-inject.c
 +
 +HYPERVISOR VIRTUAL CONSOLE DRIVER
 +L:    linuxppc-dev@lists.ozlabs.org
 +S:    Odd Fixes
 +F:    drivers/tty/hvc/
 +
  HARDWARE MONITORING
  M:    Jean Delvare <khali@linux-fr.org>
  M:    Guenter Roeck <guenter.roeck@ericsson.com>
@@@ -2924,7 -2918,7 +2924,7 @@@ F:      Documentation/blockdev/cpqarray.tx
  F:    drivers/block/cpqarray.*
  
  HEWLETT-PACKARD SMART ARRAY RAID DRIVER (hpsa)
 -M:    Stephen M. Cameron <scameron@beardog.cce.hp.com>
 +M:    "Stephen M. Cameron" <scameron@beardog.cce.hp.com>
  L:    iss_storagedev@hp.com
  S:    Supported
  F:    Documentation/scsi/hpsa.txt
@@@ -2940,8 -2934,8 +2940,8 @@@ F:      drivers/block/cciss
  F:    include/linux/cciss_ioctl.h
  
  HFS FILESYSTEM
 -M:    Roman Zippel <zippel@linux-m68k.org>
 -S:    Maintained
 +L:    linux-fsdevel@vger.kernel.org
 +S:    Orphan
  F:    Documentation/filesystems/hfs.txt
  F:    fs/hfs/
  
@@@ -2981,7 -2975,7 +2981,7 @@@ F:      kernel/hrtimer.
  F:    kernel/time/clockevents.c
  F:    kernel/time/tick*.*
  F:    kernel/time/timer_*.c
 -F     include/linux/clockevents.h
 +F:    include/linux/clockevents.h
  F:    include/linux/hrtimer.h
  
  HIGH-SPEED SCC DRIVER FOR AX.25
@@@ -3154,6 -3148,15 +3154,6 @@@ L:     linux-pm@lists.linux-foundation.or
  S:    Supported
  F:    drivers/idle/i7300_idle.c
  
 -IEEE 1394 SUBSYSTEM
 -M:    Stefan Richter <stefanr@s5r6.in-berlin.de>
 -L:    linux1394-devel@lists.sourceforge.net
 -W:    http://ieee1394.wiki.kernel.org/
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git
 -S:    Obsolete
 -F:    Documentation/debugging-via-ohci1394.txt
 -F:    drivers/ieee1394/
 -
  IEEE 802.15.4 SUBSYSTEM
  M:    Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
  M:    Sergey Lapin <slapin@ossfans.org>
@@@ -3357,12 -3360,6 +3357,12 @@@ F:    Documentation/wimax/README.i2400
  F:    drivers/net/wimax/i2400m/
  F:    include/linux/wimax/i2400m.h
  
 +INTEL WIRELESS 3945ABG/BG, 4965AGN (iwlegacy)
 +M:    Stanislaw Gruszka <sgruszka@redhat.com>
 +L:    linux-wireless@vger.kernel.org
 +S:    Supported
 +F:    drivers/net/wireless/iwlegacy/
 +
  INTEL WIRELESS WIFI LINK (iwlwifi)
  M:    Wey-Yi Guy <wey-yi.w.guy@intel.com>
  M:    Intel Linux Wireless <ilw@linux.intel.com>
@@@ -3444,7 -3441,7 +3444,7 @@@ M:      Jiri Kosina <jkosina@suse.cz
  M:    David Sterba <dsterba@suse.cz>
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/ipwireless_cs.git
 -F:    drivers/char/pcmcia/ipwireless/
 +F:    drivers/tty/ipwireless/
  
  IPX NETWORK LAYER
  M:    Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
@@@ -3457,7 -3454,6 +3457,7 @@@ F:      net/ipx
  IRDA SUBSYSTEM
  M:    Samuel Ortiz <samuel@sortiz.org>
  L:    irda-users@lists.sourceforge.net (subscribers-only)
 +L:    netdev@vger.kernel.org
  W:    http://irda.sourceforge.net/
  S:    Maintained
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sameo/irda-2.6.git
@@@ -3479,12 -3475,6 +3479,12 @@@ F:    Documentation/isapnp.tx
  F:    drivers/pnp/isapnp/
  F:    include/linux/isapnp.h
  
 +iSCSI BOOT FIRMWARE TABLE (iBFT) DRIVER
 +M:    Peter Jones <pjones@redhat.com>
 +M:    Konrad Rzeszutek Wilk <konrad@kernel.org>
 +S:    Maintained
 +F:    drivers/firmware/iscsi_ibft*
 +
  ISCSI
  M:    Mike Christie <michaelc@cs.wisc.edu>
  L:    open-iscsi@googlegroups.com
@@@ -3606,6 -3596,12 +3606,6 @@@ W:     http://lse.sourceforge.net/kdump
  S:    Maintained
  F:    Documentation/kdump/
  
 -KERNEL AUTOMOUNTER (AUTOFS)
 -M:    "H. Peter Anvin" <hpa@zytor.com>
 -L:    autofs@linux.kernel.org
 -S:    Obsolete
 -F:    drivers/staging/autofs/
 -
  KERNEL AUTOMOUNTER v4 (AUTOFS4)
  M:    Ian Kent <raven@themaw.net>
  L:    autofs@linux.kernel.org
@@@ -3814,7 -3810,7 +3814,7 @@@ M:      Rusty Russell <rusty@rustcorp.com.au
  L:    lguest@lists.ozlabs.org
  W:    http://lguest.ozlabs.org/
  S:    Odd Fixes
 -F:    Documentation/lguest/
 +F:    Documentation/virtual/lguest/
  F:    arch/x86/lguest/
  F:    drivers/lguest/
  F:    include/linux/lguest*.h
@@@ -3901,12 -3897,6 +3901,12 @@@ L:    linux-security-module@vger.kernel.or
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/chrisw/lsm-2.6.git
  S:    Supported
  
 +LIS3LV02D ACCELEROMETER DRIVER
 +M:    Eric Piel <eric.piel@tremplin-utc.net>
 +S:    Maintained
 +F:    Documentation/misc-devices/lis3lv02d
 +F:    drivers/misc/lis3lv02d/
 +
  LLC (802.2)
  M:    Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
  S:    Maintained
@@@ -3914,6 -3904,12 +3914,6 @@@ F:     include/linux/llc.
  F:    include/net/llc*
  F:    net/llc/
  
 -LIS3LV02D ACCELEROMETER DRIVER
 -M:    Eric Piel <eric.piel@tremplin-utc.net>
 -S:    Maintained
 -F:    Documentation/hwmon/lis3lv02d
 -F:    drivers/hwmon/lis3lv02d.*
 -
  LM73 HARDWARE MONITOR DRIVER
  M:    Guillaume Ligneul <guillaume.ligneul@gmail.com>
  L:    lm-sensors@lm-sensors.org
@@@ -4001,6 -3997,7 +4001,6 @@@ F:      arch/m32r
  
  M68K ARCHITECTURE
  M:    Geert Uytterhoeven <geert@linux-m68k.org>
 -M:    Roman Zippel <zippel@linux-m68k.org>
  L:    linux-m68k@lists.linux-m68k.org
  W:    http://www.linux-m68k.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k.git
@@@ -4090,7 -4087,7 +4090,7 @@@ F:      drivers/video/matrox/matroxfb_
  F:    include/linux/matroxfb.h
  
  MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
 -M:    "Hans J. Koch" <hjk@linutronix.de>
 +M:    "Hans J. Koch" <hjk@hansjkoch.de>
  L:    lm-sensors@lm-sensors.org
  S:    Maintained
  F:    Documentation/hwmon/max6650
@@@ -4205,10 -4202,10 +4205,10 @@@ MOXA SMARTIO/INDUSTIO/INTELLIO SERIAL C
  M:    Jiri Slaby <jirislaby@gmail.com>
  S:    Maintained
  F:    Documentation/serial/moxa-smartio
 -F:    drivers/char/mxser.*
 +F:    drivers/tty/mxser.*
  
  MSI LAPTOP SUPPORT
 -M:    Lee, Chun-Yi <jlee@novell.com>
 +M:    "Lee, Chun-Yi" <jlee@novell.com>
  L:    platform-driver-x86@vger.kernel.org
  S:    Maintained
  F:    drivers/platform/x86/msi-laptop.c
@@@ -4247,13 -4244,13 +4247,13 @@@ F:   sound/oss/msnd
  
  MULTITECH MULTIPORT CARD (ISICOM)
  S:    Orphan
 -F:    drivers/char/isicom.c
 +F:    drivers/tty/isicom.c
  F:    include/linux/isicom.h
  
  MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
  M:    Felipe Balbi <balbi@ti.com>
  L:    linux-usb@vger.kernel.org
 -T:    git git://gitorious.org/usb/usb.git
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
  S:    Maintained
  F:    drivers/usb/musb/
  
@@@ -4270,13 -4267,6 +4270,13 @@@ M:    Tim Hockin <thockin@hockin.org
  S:    Maintained
  F:    drivers/net/natsemi.c
  
 +NATIVE INSTRUMENTS USB SOUND INTERFACE DRIVER
 +M:    Daniel Mack <zonque@gmail.com>
 +S:    Maintained
 +L:    alsa-devel@alsa-project.org
 +W:    http://www.native-instruments.com
 +F:    sound/usb/caiaq/
 +
  NCP FILESYSTEM
  M:    Petr Vandrovec <petr@vandrovec.name>
  S:    Odd Fixes
@@@ -4302,7 -4292,10 +4302,7 @@@ S:     Maintaine
  F:    net/sched/sch_netem.c
  
  NETERION 10GbE DRIVERS (s2io/vxge)
 -M:    Ramkrishna Vepa <ramkrishna.vepa@exar.com>
 -M:    Sivakumar Subramani <sivakumar.subramani@exar.com>
 -M:    Sreenivasa Honnur <sreenivasa.honnur@exar.com>
 -M:    Jon Mason <jon.mason@exar.com>
 +M:    Jon Mason <jdmason@kudzu.us>
  L:    netdev@vger.kernel.org
  W:    http://trac.neterion.com/cgi-bin/trac.cgi/wiki/Linux?Anonymous
  W:    http://trac.neterion.com/cgi-bin/trac.cgi/wiki/X3100Linux?Anonymous
@@@ -4392,7 -4385,6 +4392,7 @@@ S:      Maintaine
  F:    net/ipv4/
  F:    net/ipv6/
  F:    include/net/ip*
 +F:    arch/x86/net/*
  
  NETWORKING [LABELED] (NetLabel, CIPSO, Labeled IPsec, SECMARK)
  M:    Paul Moore <paul.moore@hp.com>
@@@ -4509,21 -4501,11 +4509,21 @@@ S:   Maintaine
  F:    arch/arm/*omap*/*clock*
  
  OMAP POWER MANAGEMENT SUPPORT
 -M:    Kevin Hilman <khilman@deeprootsystems.com>
 +M:    Kevin Hilman <khilman@ti.com>
  L:    linux-omap@vger.kernel.org
  S:    Maintained
  F:    arch/arm/*omap*/*pm*
  
 +OMAP POWERDOMAIN/CLOCKDOMAIN SOC ADAPTATION LAYER SUPPORT
 +M:    Rajendra Nayak <rnayak@ti.com>
 +M:    Paul Walmsley <paul@pwsan.com>
 +L:    linux-omap@vger.kernel.org
 +S:    Maintained
 +F:    arch/arm/mach-omap2/powerdomain2xxx_3xxx.c
 +F:    arch/arm/mach-omap2/powerdomain44xx.c
 +F:    arch/arm/mach-omap2/clockdomain2xxx_3xxx.c
 +F:    arch/arm/mach-omap2/clockdomain44xx.c
 +
  OMAP AUDIO SUPPORT
  M:    Jarkko Nikula <jhnikula@gmail.com>
  L:    alsa-devel@alsa-project.org (subscribers-only)
@@@ -4532,14 -4514,14 +4532,14 @@@ S:   Maintaine
  F:    sound/soc/omap/
  
  OMAP FRAMEBUFFER SUPPORT
 -M:    Tomi Valkeinen <tomi.valkeinen@nokia.com>
 +M:    Tomi Valkeinen <tomi.valkeinen@ti.com>
  L:    linux-fbdev@vger.kernel.org
  L:    linux-omap@vger.kernel.org
  S:    Maintained
  F:    drivers/video/omap/
  
  OMAP DISPLAY SUBSYSTEM and FRAMEBUFFER SUPPORT (DSS2)
 -M:    Tomi Valkeinen <tomi.valkeinen@nokia.com>
 +M:    Tomi Valkeinen <tomi.valkeinen@ti.com>
  L:    linux-omap@vger.kernel.org
  L:    linux-fbdev@vger.kernel.org
  S:    Maintained
@@@ -4577,18 -4559,11 +4577,18 @@@ L:   linux-omap@vger.kernel.or
  S:    Maintained
  F:    arch/arm/mach-omap2/omap_hwmod_44xx_data.c
  
 +OMAP IMAGE SIGNAL PROCESSOR (ISP)
 +M:    Laurent Pinchart <laurent.pinchart@ideasonboard.com>
 +L:    linux-media@vger.kernel.org
 +S:    Maintained
 +F:    drivers/media/video/omap3isp/*
 +
  OMAP USB SUPPORT
  M:    Felipe Balbi <balbi@ti.com>
  M:    David Brownell <dbrownell@users.sourceforge.net>
  L:    linux-usb@vger.kernel.org
  L:    linux-omap@vger.kernel.org
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
  S:    Maintained
  F:    drivers/usb/*/*omap*
  F:    arch/arm/*omap*/usb*
@@@ -4718,6 -4693,7 +4718,6 @@@ F:      drivers/i2c/busses/i2c-pasemi.
  
  PADATA PARALLEL EXECUTION MECHANISM
  M:    Steffen Klassert <steffen.klassert@secunet.com>
 -L:    linux-kernel@vger.kernel.org
  L:    linux-crypto@vger.kernel.org
  S:    Maintained
  F:    kernel/padata.c
@@@ -4867,6 -4843,7 +4867,6 @@@ F:      include/crypto/pcrypt.
  PER-CPU MEMORY ALLOCATOR
  M:    Tejun Heo <tj@kernel.org>
  M:    Christoph Lameter <cl@linux-foundation.org>
 -L:    linux-kernel@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu.git
  S:    Maintained
  F:    include/linux/percpu*.h
@@@ -4921,15 -4898,6 +4921,15 @@@ S:    Maintaine
  F:    drivers/block/pktcdvd.c
  F:    include/linux/pktcdvd.h
  
 +PKUNITY SOC DRIVERS
 +M:    Guan Xuetao <gxt@mprc.pku.edu.cn>
 +W:    http://mprc.pku.edu.cn/~guanxuetao/linux
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32.git
 +F:    drivers/input/serio/i8042-unicore32io.h
 +F:    drivers/i2c/busses/i2c-puv3.c
 +F:    drivers/video/fb-puv3.c
 +
  PMC SIERRA MaxRAID DRIVER
  M:    Anil Ravindranath <anil_ravindranath@pmc-sierra.com>
  L:    linux-scsi@vger.kernel.org
@@@ -5004,13 -4972,6 +5004,13 @@@ F:    Documentation/pps
  F:    drivers/pps/
  F:    include/linux/pps*.h
  
 +PPTP DRIVER
 +M:    Dmitry Kozlov <xeb@mail.ru>
 +L:    netdev@vger.kernel.org
 +S:    Maintained
 +F:    drivers/net/pptp.c
 +W:    http://sourceforge.net/projects/accel-pptp
 +
  PREEMPTIBLE KERNEL
  M:    Robert Love <rml@tech9.net>
  L:    kpreempt-tech@lists.sourceforge.net
@@@ -5200,7 -5161,6 +5200,7 @@@ RALINK RT2X00 WIRELESS LAN DRIVE
  P:    rt2x00 project
  M:    Ivo van Doorn <IvDoorn@gmail.com>
  M:    Gertjan van Wingerde <gwingerde@gmail.com>
 +M:    Helmut Schaa <helmut.schaa@googlemail.com>
  L:    linux-wireless@vger.kernel.org
  L:    users@rt2x00.serialmonkey.com (moderated for non-subscribers)
  W:    http://rt2x00.serialmonkey.com/
@@@ -5294,22 -5254,17 +5294,22 @@@ S:   Maintaine
  F:    drivers/mtd/nand/r852.c
  F:    drivers/mtd/nand/r852.h
  
 +RICOH R5C592 MEMORYSTICK DRIVER
 +M:    Maxim Levitsky <maximlevitsky@gmail.com>
 +S:    Maintained
 +F:    drivers/memstick/host/r592.*
 +
  RISCOM8 DRIVER
  S:    Orphan
  F:    Documentation/serial/riscom8.txt
 -F:    drivers/char/riscom8*
 +F:    drivers/staging/tty/riscom8*
  
  ROCKETPORT DRIVER
  P:    Comtrol Corp.
  W:    http://www.comtrol.com
  S:    Maintained
  F:    Documentation/serial/rocket.txt
 -F:    drivers/char/rocket*
 +F:    drivers/tty/rocket*
  
  ROSE NETWORK LAYER
  M:    Ralf Baechle <ralf@linux-mips.org>
@@@ -5385,7 -5340,8 +5385,7 @@@ S:      Supporte
  F:    drivers/s390/crypto/
  
  S390 ZFCP DRIVER
 -M:    Christof Schmitt <christof.schmitt@de.ibm.com>
 -M:    Swen Schillig <swen@vnet.ibm.com>
 +M:    Steffen Maier <maier@linux.vnet.ibm.com>
  M:    linux390@de.ibm.com
  L:    linux-s390@vger.kernel.org
  W:    http://www.ibm.com/developerworks/linux/linux390/
@@@ -5419,17 -5375,11 +5419,17 @@@ F:   drivers/media/video/*7146
  F:    include/media/*7146*
  
  SAMSUNG AUDIO (ASoC) DRIVERS
 -M:    Jassi Brar <jassi.brar@samsung.com>
 +M:    Jassi Brar <jassisinghbrar@gmail.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Supported
  F:    sound/soc/samsung
  
 +SERIAL DRIVERS
 +M:    Alan Cox <alan@linux.intel.com>
 +L:    linux-serial@vger.kernel.org
 +S:    Maintained
 +F:    drivers/tty/serial
 +
  TIMEKEEPING, NTP
  M:    John Stultz <johnstul@us.ibm.com>
  M:    Thomas Gleixner <tglx@linutronix.de>
@@@ -5437,10 -5387,10 +5437,10 @@@ S:   Supporte
  F:    include/linux/clocksource.h
  F:    include/linux/time.h
  F:    include/linux/timex.h
 -F:    include/linux/timekeeping.h
  F:    kernel/time/clocksource.c
  F:    kernel/time/time*.c
  F:    kernel/time/ntp.c
 +F:    drivers/clocksource
  
  TLG2300 VIDEO4LINUX-2 DRIVER
  M:    Huang Shijie <shijie8@gmail.com>
@@@ -5525,7 -5475,7 +5525,7 @@@ SCx200 CPU SUPPOR
  M:    Jim Cromie <jim.cromie@gmail.com>
  S:    Odd Fixes
  F:    Documentation/i2c/busses/scx200_acb
 -F:    arch/x86/kernel/scx200_32.c
 +F:    arch/x86/platform/scx200/
  F:    drivers/watchdog/scx200_wdt.c
  F:    drivers/i2c/busses/scx200*
  F:    drivers/mtd/maps/scx200_docflash.c
@@@ -5592,10 -5542,11 +5592,11 @@@ M:   James Morris <jmorris@namei.org
  M:    Eric Paris <eparis@parisplace.org>
  L:    selinux@tycho.nsa.gov (subscribers-only, general discussion)
  W:    http://selinuxproject.org
- T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6.git
+ T:    git git://git.infradead.org/users/eparis/selinux.git
  S:    Supported
  F:    include/linux/selinux*
  F:    security/selinux/
+ F:    scripts/selinux/
  
  APPARMOR SECURITY MODULE
  M:    John Johansen <john.johansen@canonical.com>
@@@ -5621,9 -5572,9 +5622,9 @@@ F:      include/linux/ata.
  F:    include/linux/libata.h
  
  SERVER ENGINES 10Gbps iSCSI - BladeEngine 2 DRIVER
 -M:    Jayamohan Kallickal <jayamohank@serverengines.com>
 +M:    Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
  L:    linux-scsi@vger.kernel.org
 -W:    http://www.serverengines.com
 +W:    http://www.emulex.com
  S:    Supported
  F:    drivers/scsi/be2iscsi/
  
@@@ -5669,13 -5620,24 +5670,13 @@@ M:   Robin Holt <holt@sgi.com
  S:    Maintained
  F:    drivers/misc/sgi-xp/
  
 -SHARP LH SUPPORT (LH7952X & LH7A40X)
 -M:    Marc Singer <elf@buici.com>
 -W:    http://projects.buici.com/arm
 -L:    linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
 -S:    Maintained
 -F:    Documentation/arm/Sharp-LH/ADC-LH7-Touchscreen
 -F:    arch/arm/mach-lh7a40x/
 -F:    drivers/tty/serial/serial_lh7a40x.c
 -F:    drivers/usb/gadget/lh7a40*
 -F:    drivers/usb/host/ohci-lh7a40*
 -
  SIMPLE FIRMWARE INTERFACE (SFI)
  M:    Len Brown <lenb@kernel.org>
  L:    sfi-devel@simplefirmware.org
  W:    http://simplefirmware.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-sfi-2.6.git
  S:    Supported
 -F:    arch/x86/kernel/*sfi*
 +F:    arch/x86/platform/sfi/
  F:    drivers/sfi/
  F:    include/linux/sfi*.h
  
@@@ -5697,8 -5659,7 +5698,8 @@@ F:      arch/arm/mach-s3c2410/bast-ide.
  F:    arch/arm/mach-s3c2410/bast-irq.c
  
  TI DAVINCI MACHINE SUPPORT
 -M:    Kevin Hilman <khilman@deeprootsystems.com>
 +M:    Sekhar Nori <nsekhar@ti.com>
 +M:    Kevin Hilman <khilman@ti.com>
  L:    davinci-linux-open-source@linux.davincidsp.com (subscribers-only)
  Q:    http://patchwork.kernel.org/project/linux-davinci/list/
  S:    Supported
@@@ -5773,13 -5734,6 +5774,13 @@@ S:    Supporte
  F:    Documentation/hwmon/emc2103
  F:    drivers/hwmon/emc2103.c
  
 +SMSC SCH5627 HARDWARE MONITOR DRIVER
 +M:    Hans de Goede <hdegoede@redhat.com>
 +L:    lm-sensors@lm-sensors.org
 +S:    Supported
 +F:    Documentation/hwmon/sch5627
 +F:    drivers/hwmon/sch5627.c
 +
  SMSC47B397 HARDWARE MONITOR DRIVER
  M:    "Mark M. Hoffman" <mhoffman@lightlink.com>
  L:    lm-sensors@lm-sensors.org
@@@ -5841,13 -5795,6 +5842,13 @@@ S:    Maintaine
  F:    drivers/ssb/
  F:    include/linux/ssb/
  
 +BROADCOM SPECIFIC AMBA DRIVER (BCMA)
 +M:    RafaÅ‚ MiÅ‚ecki <zajec5@gmail.com>
 +L:    linux-wireless@vger.kernel.org
 +S:    Maintained
 +F:    drivers/bcma/
 +F:    include/linux/bcma/
 +
  SONY VAIO CONTROL DEVICE DRIVER
  M:    Mattia Dongili <malattia@linux.it>
  L:    platform-driver-x86@vger.kernel.org
@@@ -5877,7 -5824,7 +5878,7 @@@ F:      include/sound
  F:    sound/
  
  SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
 -M:    Liam Girdwood <lrg@slimlogic.co.uk>
 +M:    Liam Girdwood <lrg@ti.com>
  M:    Mark Brown <broonie@opensource.wolfsonmicro.com>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound-2.6.git
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
@@@ -5953,9 -5900,10 +5954,9 @@@ F:     arch/arm/mach-spear6xx/spear600.
  F:    arch/arm/mach-spear6xx/spear600_evb.c
  
  SPECIALIX IO8+ MULTIPORT SERIAL CARD DRIVER
 -M:    Roger Wolff <R.E.Wolff@BitWizard.nl>
 -S:    Supported
 +S:    Orphan
  F:    Documentation/serial/specialix.txt
 -F:    drivers/char/specialix*
 +F:    drivers/staging/tty/specialix*
  
  SPI SUBSYSTEM
  M:    David Brownell <dbrownell@users.sourceforge.net>
@@@ -6000,6 -5948,7 +6001,6 @@@ F:      arch/alpha/kernel/srm_env.
  
  STABLE BRANCH
  M:    Greg Kroah-Hartman <greg@kroah.com>
 -M:    Chris Wright <chrisw@sous-sol.org>
  L:    stable@kernel.org
  S:    Maintained
  
@@@ -6128,7 -6077,7 +6129,7 @@@ F:      drivers/mmc/host/tifm_sd.
  F:    include/linux/tifm.h
  
  TI TWL4030 SERIES SOC CODEC DRIVER
 -M:    Peter Ujfalusi <peter.ujfalusi@nokia.com>
 +M:    Peter Ujfalusi <peter.ujfalusi@ti.com>
  L:    alsa-devel@alsa-project.org (moderated for non-subscribers)
  S:    Maintained
  F:    sound/soc/codecs/twl4030*
  TIPC NETWORK LAYER
  M:    Jon Maloy <jon.maloy@ericsson.com>
  M:    Allan Stephens <allan.stephens@windriver.com>
 -L:    tipc-discussion@lists.sourceforge.net
 +L:    netdev@vger.kernel.org (core kernel code)
 +L:    tipc-discussion@lists.sourceforge.net (user apps, general discussion)
  W:    http://tipc.sourceforge.net/
 -W:    http://tipc.cslab.ericsson.net/
 -T:    git git://tipc.cslab.ericsson.net/pub/git/tipc.git
  S:    Maintained
  F:    include/linux/tipc*.h
 -F:    include/net/tipc/
  F:    net/tipc/
  
  TILE ARCHITECTURE
@@@ -6148,9 -6099,8 +6149,9 @@@ M:      Chris Metcalf <cmetcalf@tilera.com
  W:    http://www.tilera.com/scm/
  S:    Supported
  F:    arch/tile/
 -F:    drivers/char/hvc_tile.c
 +F:    drivers/tty/hvc/hvc_tile.c
  F:    drivers/net/tile/
 +F:    drivers/edac/tile_edac.c
  
  TLAN NETWORK DRIVER
  M:    Samuel Chessman <chessman@tux.org>
@@@ -6231,7 -6181,6 +6232,7 @@@ TRIVIAL PATCHE
  M:    Jiri Kosina <trivial@kernel.org>
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial.git
  S:    Maintained
 +K:    ^Subject:.*(?i)trivial
  
  TTY LAYER
  M:    Greg Kroah-Hartman <gregkh@suse.de>
@@@ -6284,8 -6233,7 +6285,8 @@@ M:      Greg Ungerer <gerg@uclinux.org
  W:    http://www.uclinux.org/
  L:    uclinux-dev@uclinux.org  (subscribers-only)
  S:    Maintained
 -F:    arch/m68knommu/
 +F:    arch/m68k/*/*_no.*
 +F:    arch/m68k/include/asm/*_no.*
  
  UCLINUX FOR RENESAS H8/300 (H8300)
  M:    Yoshinori Sato <ysato@users.sourceforge.jp>
@@@ -6315,13 -6263,6 +6316,13 @@@ F:    drivers/uwb
  F:    include/linux/uwb.h
  F:    include/linux/uwb/
  
 +UNICORE32 ARCHITECTURE:
 +M:    Guan Xuetao <gxt@mprc.pku.edu.cn>
 +W:    http://mprc.pku.edu.cn/~guanxuetao/linux
 +S:    Maintained
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/epip/linux-2.6-unicore32.git
 +F:    arch/unicore32/
 +
  UNIFDEF
  M:    Tony Finch <dot@dotat.at>
  W:    http://dotat.at/prog/unifdef
@@@ -6490,11 -6431,12 +6491,11 @@@ S:   Maintaine
  F:    drivers/net/usb/rtl8150.c
  
  USB SE401 DRIVER
 -M:    Jeroen Vreeken <pe1rxq@amsat.org>
  L:    linux-usb@vger.kernel.org
  W:    http://www.chello.nl/~j.vreeken/se401/
 -S:    Maintained
 +S:    Orphan
  F:    Documentation/video4linux/se401.txt
 -F:    drivers/media/video/se401.*
 +F:    drivers/staging/se401/
  
  USB SERIAL BELKIN F5U103 DRIVER
  M:    William Greathouse <wgreathouse@smva.com>
@@@ -6587,7 -6529,7 +6588,7 @@@ S:      Maintaine
  F:    drivers/usb/host/uhci*
  
  USB "USBNET" DRIVER FRAMEWORK
 -M:    David Brownell <dbrownell@users.sourceforge.net>
 +M:    Oliver Neukum <oneukum@suse.de>
  L:    netdev@vger.kernel.org
  W:    http://www.linux-usb.org/usbnet
  S:    Maintained
@@@ -6644,18 -6586,17 +6645,18 @@@ F:   drivers/media/video/zr364xx.
  
  USER-MODE LINUX (UML)
  M:    Jeff Dike <jdike@addtoit.com>
 +M:    Richard Weinberger <richard@nod.at>
  L:    user-mode-linux-devel@lists.sourceforge.net
  L:    user-mode-linux-user@lists.sourceforge.net
  W:    http://user-mode-linux.sourceforge.net
  S:    Maintained
 -F:    Documentation/uml/
 +F:    Documentation/virtual/uml/
  F:    arch/um/
  F:    fs/hostfs/
  F:    fs/hppfs/
  
  USERSPACE I/O (UIO)
 -M:    "Hans J. Koch" <hjk@linutronix.de>
 +M:    "Hans J. Koch" <hjk@hansjkoch.de>
  M:    Greg Kroah-Hartman <gregkh@suse.de>
  S:    Maintained
  F:    Documentation/DocBook/uio-howto.tmpl
@@@ -6773,7 -6714,7 +6774,7 @@@ F:      drivers/scsi/vmw_pvscsi.
  F:    drivers/scsi/vmw_pvscsi.h
  
  VOLTAGE AND CURRENT REGULATOR FRAMEWORK
 -M:    Liam Girdwood <lrg@slimlogic.co.uk>
 +M:    Liam Girdwood <lrg@ti.com>
  M:    Mark Brown <broonie@opensource.wolfsonmicro.com>
  W:    http://opensource.wolfsonmicro.com/node/15
  W:    http://www.slimlogic.co.uk/?p=48
@@@ -6845,7 -6786,7 +6846,7 @@@ F:      drivers/scsi/wd7000.
  WINBOND CIR DRIVER
  M:    David Härdeman <david@hardeman.nu>
  S:    Maintained
 -F:    drivers/input/misc/winbond-cir.c
 +F:    drivers/media/rc/winbond-cir.c
  
  WIMAX STACK
  M:    Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
@@@ -6922,6 -6863,7 +6923,6 @@@ F:      sound/soc/codecs/wm
  
  WORKQUEUE
  M:    Tejun Heo <tj@kernel.org>
 -L:    linux-kernel@vger.kernel.org
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git
  S:    Maintained
  F:    include/linux/workqueue.h
@@@ -6953,25 -6895,6 +6954,25 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    drivers/platform/x86
  
 +XEN HYPERVISOR INTERFACE
 +M:    Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
 +M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
 +L:    xen-devel@lists.xensource.com (moderated for non-subscribers)
 +L:    virtualization@lists.linux-foundation.org
 +S:    Supported
 +F:    arch/x86/xen/
 +F:    drivers/*/xen-*front.c
 +F:    drivers/xen/
 +F:    arch/x86/include/asm/xen/
 +F:    include/xen/
 +
 +XEN NETWORK BACKEND DRIVER
 +M:    Ian Campbell <ian.campbell@citrix.com>
 +L:    xen-devel@lists.xensource.com (moderated for non-subscribers)
 +L:    netdev@vger.kernel.org
 +S:    Supported
 +F:    drivers/net/xen-netback/*
 +
  XEN PCI SUBSYSTEM
  M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
  L:    xen-devel@lists.xensource.com (moderated for non-subscribers)
@@@ -6986,6 -6909,18 +6987,6 @@@ S:     Supporte
  F:    arch/x86/xen/*swiotlb*
  F:    drivers/xen/*swiotlb*
  
 -XEN HYPERVISOR INTERFACE
 -M:    Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
 -M:    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
 -L:    xen-devel@lists.xensource.com (moderated for non-subscribers)
 -L:    virtualization@lists.linux-foundation.org
 -S:    Supported
 -F:    arch/x86/xen/
 -F:    drivers/*/xen-*front.c
 -F:    drivers/xen/
 -F:    arch/x86/include/asm/xen/
 -F:    include/xen/
 -
  XFS FILESYSTEM
  P:    Silicon Graphics Inc
  M:    Alex Elder <aelder@sgi.com>
@@@ -7055,6 -6990,20 +7056,6 @@@ M:     "Maciej W. Rozycki" <macro@linux-mip
  S:    Maintained
  F:    drivers/tty/serial/zs.*
  
 -GRE DEMULTIPLEXER DRIVER
 -M:    Dmitry Kozlov <xeb@mail.ru>
 -L:    netdev@vger.kernel.org
 -S:    Maintained
 -F:    net/ipv4/gre.c
 -F:    include/net/gre.h
 -
 -PPTP DRIVER
 -M:    Dmitry Kozlov <xeb@mail.ru>
 -L:    netdev@vger.kernel.org
 -S:    Maintained
 -F:    drivers/net/pptp.c
 -W:    http://sourceforge.net/projects/accel-pptp
 -
  THE REST
  M:    Linus Torvalds <torvalds@linux-foundation.org>
  L:    linux-kernel@vger.kernel.org
diff --combined security/selinux/avc.c
  #define AVC_CACHE_RECLAIM             16
  
  #ifdef CONFIG_SECURITY_SELINUX_AVC_STATS
 -#define avc_cache_stats_incr(field)                           \
 -do {                                                          \
 -      per_cpu(avc_cache_stats, get_cpu()).field++;            \
 -      put_cpu();                                              \
 -} while (0)
 +#define avc_cache_stats_incr(field)   this_cpu_inc(avc_cache_stats.field)
  #else
  #define avc_cache_stats_incr(field)   do {} while (0)
  #endif
@@@ -343,10 -347,11 +343,10 @@@ static struct avc_node *avc_lookup(u32 
        node = avc_search_node(ssid, tsid, tclass);
  
        if (node)
 -              avc_cache_stats_incr(hits);
 -      else
 -              avc_cache_stats_incr(misses);
 +              return node;
  
 -      return node;
 +      avc_cache_stats_incr(misses);
 +      return NULL;
  }
  
  static int avc_latest_notif_update(int seqno, int is_insert)
@@@ -526,7 -531,7 +526,7 @@@ int avc_audit(u32 ssid, u32 tsid
         * during retry. However this is logically just as if the operation
         * happened a little later.
         */
-       if ((a->type == LSM_AUDIT_DATA_FS) &&
+       if ((a->type == LSM_AUDIT_DATA_INODE) &&
            (flags & IPERM_FLAG_RCU))
                return -ECHILD;
  
@@@ -764,7 -769,7 +764,7 @@@ int avc_has_perm_noaudit(u32 ssid, u32 
        rcu_read_lock();
  
        node = avc_lookup(ssid, tsid, tclass);
 -      if (!node) {
 +      if (unlikely(!node)) {
                rcu_read_unlock();
  
                if (in_avd)
diff --combined security/selinux/hooks.c
@@@ -79,7 -79,6 +79,7 @@@
  #include <linux/mutex.h>
  #include <linux/posix-timers.h>
  #include <linux/syslog.h>
 +#include <linux/user_namespace.h>
  
  #include "avc.h"
  #include "objsec.h"
@@@ -990,6 -989,7 +990,7 @@@ static void selinux_write_opts(struct s
                        continue;
                default:
                        BUG();
+                       return;
                };
                /* we need a comma before each option */
                seq_putc(m, ',');
@@@ -1443,6 -1443,7 +1444,7 @@@ static int task_has_capability(struct t
                printk(KERN_ERR
                       "SELinux:  out of range capability %d\n", cap);
                BUG();
+               return -EINVAL;
        }
  
        rc = avc_has_perm_noaudit(sid, sid, sclass, av, 0, &avd);
@@@ -1487,8 -1488,8 +1489,8 @@@ static int inode_has_perm(const struct 
  
        if (!adp) {
                adp = &ad;
-               COMMON_AUDIT_DATA_INIT(&ad, FS);
-               ad.u.fs.inode = inode;
+               COMMON_AUDIT_DATA_INIT(&ad, INODE);
+               ad.u.inode = inode;
        }
  
        return avc_has_perm_flags(sid, isec->sid, isec->sclass, perms, adp, flags);
     the dentry to help the auditing code to more easily generate the
     pathname if needed. */
  static inline int dentry_has_perm(const struct cred *cred,
-                                 struct vfsmount *mnt,
                                  struct dentry *dentry,
                                  u32 av)
  {
        struct inode *inode = dentry->d_inode;
        struct common_audit_data ad;
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
-       ad.u.fs.path.mnt = mnt;
-       ad.u.fs.path.dentry = dentry;
+       COMMON_AUDIT_DATA_INIT(&ad, DENTRY);
+       ad.u.dentry = dentry;
+       return inode_has_perm(cred, inode, av, &ad, 0);
+ }
+ /* Same as inode_has_perm, but pass explicit audit data containing
+    the path to help the auditing code to more easily generate the
+    pathname if needed. */
+ static inline int path_has_perm(const struct cred *cred,
+                               struct path *path,
+                               u32 av)
+ {
+       struct inode *inode = path->dentry->d_inode;
+       struct common_audit_data ad;
+       COMMON_AUDIT_DATA_INIT(&ad, PATH);
+       ad.u.path = *path;
        return inode_has_perm(cred, inode, av, &ad, 0);
  }
  
@@@ -1529,8 -1543,8 +1544,8 @@@ static int file_has_perm(const struct c
        u32 sid = cred_sid(cred);
        int rc;
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
-       ad.u.fs.path = file->f_path;
+       COMMON_AUDIT_DATA_INIT(&ad, PATH);
+       ad.u.path = file->f_path;
  
        if (sid != fsec->sid) {
                rc = avc_has_perm(sid, fsec->sid,
@@@ -1568,8 -1582,8 +1583,8 @@@ static int may_create(struct inode *dir
        sid = tsec->sid;
        newsid = tsec->create_sid;
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
-       ad.u.fs.path.dentry = dentry;
+       COMMON_AUDIT_DATA_INIT(&ad, DENTRY);
+       ad.u.dentry = dentry;
  
        rc = avc_has_perm(sid, dsec->sid, SECCLASS_DIR,
                          DIR__ADD_NAME | DIR__SEARCH,
@@@ -1621,8 -1635,8 +1636,8 @@@ static int may_link(struct inode *dir
        dsec = dir->i_security;
        isec = dentry->d_inode->i_security;
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
-       ad.u.fs.path.dentry = dentry;
+       COMMON_AUDIT_DATA_INIT(&ad, DENTRY);
+       ad.u.dentry = dentry;
  
        av = DIR__SEARCH;
        av |= (kind ? DIR__REMOVE_NAME : DIR__ADD_NAME);
@@@ -1667,9 -1681,9 +1682,9 @@@ static inline int may_rename(struct ino
        old_is_dir = S_ISDIR(old_dentry->d_inode->i_mode);
        new_dsec = new_dir->i_security;
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
+       COMMON_AUDIT_DATA_INIT(&ad, DENTRY);
  
-       ad.u.fs.path.dentry = old_dentry;
+       ad.u.dentry = old_dentry;
        rc = avc_has_perm(sid, old_dsec->sid, SECCLASS_DIR,
                          DIR__REMOVE_NAME | DIR__SEARCH, &ad);
        if (rc)
                        return rc;
        }
  
-       ad.u.fs.path.dentry = new_dentry;
+       ad.u.dentry = new_dentry;
        av = DIR__ADD_NAME | DIR__SEARCH;
        if (new_dentry->d_inode)
                av |= DIR__REMOVE_NAME;
@@@ -1852,11 -1866,11 +1867,11 @@@ static int selinux_capset(struct cred *
   */
  
  static int selinux_capable(struct task_struct *tsk, const struct cred *cred,
 -                         int cap, int audit)
 +                         struct user_namespace *ns, int cap, int audit)
  {
        int rc;
  
 -      rc = cap_capable(tsk, cred, cap, audit);
 +      rc = cap_capable(tsk, cred, ns, cap, audit);
        if (rc)
                return rc;
  
@@@ -1895,7 -1909,7 +1910,7 @@@ static int selinux_quota_on(struct dent
  {
        const struct cred *cred = current_cred();
  
-       return dentry_has_perm(cred, NULL, dentry, FILE__QUOTAON);
+       return dentry_has_perm(cred, dentry, FILE__QUOTAON);
  }
  
  static int selinux_syslog(int type)
@@@ -1937,8 -1951,7 +1952,8 @@@ static int selinux_vm_enough_memory(str
  {
        int rc, cap_sys_admin = 0;
  
 -      rc = selinux_capable(current, current_cred(), CAP_SYS_ADMIN,
 +      rc = selinux_capable(current, current_cred(),
 +                           &init_user_ns, CAP_SYS_ADMIN,
                             SECURITY_CAP_NOAUDIT);
        if (rc == 0)
                cap_sys_admin = 1;
@@@ -1992,8 -2005,8 +2007,8 @@@ static int selinux_bprm_set_creds(struc
                        return rc;
        }
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
-       ad.u.fs.path = bprm->file->f_path;
+       COMMON_AUDIT_DATA_INIT(&ad, PATH);
+       ad.u.path = bprm->file->f_path;
  
        if (bprm->file->f_path.mnt->mnt_flags & MNT_NOSUID)
                new_tsec->sid = old_tsec->sid;
@@@ -2121,7 -2134,7 +2136,7 @@@ static inline void flush_unauthorized_f
  
        /* Revalidate access to inherited open files. */
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
+       COMMON_AUDIT_DATA_INIT(&ad, INODE);
  
        spin_lock(&files->file_lock);
        for (;;) {
@@@ -2469,8 -2482,8 +2484,8 @@@ static int selinux_sb_kern_mount(struc
        if (flags & MS_KERNMOUNT)
                return 0;
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
-       ad.u.fs.path.dentry = sb->s_root;
+       COMMON_AUDIT_DATA_INIT(&ad, DENTRY);
+       ad.u.dentry = sb->s_root;
        return superblock_has_perm(cred, sb, FILESYSTEM__MOUNT, &ad);
  }
  
@@@ -2479,8 -2492,8 +2494,8 @@@ static int selinux_sb_statfs(struct den
        const struct cred *cred = current_cred();
        struct common_audit_data ad;
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
-       ad.u.fs.path.dentry = dentry->d_sb->s_root;
+       COMMON_AUDIT_DATA_INIT(&ad, DENTRY);
+       ad.u.dentry = dentry->d_sb->s_root;
        return superblock_has_perm(cred, dentry->d_sb, FILESYSTEM__GETATTR, &ad);
  }
  
@@@ -2496,8 -2509,7 +2511,7 @@@ static int selinux_mount(char *dev_name
                return superblock_has_perm(cred, path->mnt->mnt_sb,
                                           FILESYSTEM__REMOUNT, NULL);
        else
-               return dentry_has_perm(cred, path->mnt, path->dentry,
-                                      FILE__MOUNTON);
+               return path_has_perm(cred, path, FILE__MOUNTON);
  }
  
  static int selinux_umount(struct vfsmount *mnt, int flags)
@@@ -2630,14 -2642,14 +2644,14 @@@ static int selinux_inode_readlink(struc
  {
        const struct cred *cred = current_cred();
  
-       return dentry_has_perm(cred, NULL, dentry, FILE__READ);
+       return dentry_has_perm(cred, dentry, FILE__READ);
  }
  
  static int selinux_inode_follow_link(struct dentry *dentry, struct nameidata *nameidata)
  {
        const struct cred *cred = current_cred();
  
-       return dentry_has_perm(cred, NULL, dentry, FILE__READ);
+       return dentry_has_perm(cred, dentry, FILE__READ);
  }
  
  static int selinux_inode_permission(struct inode *inode, int mask, unsigned flags)
        if (!mask)
                return 0;
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
-       ad.u.fs.inode = inode;
+       COMMON_AUDIT_DATA_INIT(&ad, INODE);
+       ad.u.inode = inode;
  
        if (from_access)
                ad.selinux_audit_data.auditdeny |= FILE__AUDIT_ACCESS;
@@@ -2680,16 -2692,20 +2694,20 @@@ static int selinux_inode_setattr(struc
  
        if (ia_valid & (ATTR_MODE | ATTR_UID | ATTR_GID |
                        ATTR_ATIME_SET | ATTR_MTIME_SET | ATTR_TIMES_SET))
-               return dentry_has_perm(cred, NULL, dentry, FILE__SETATTR);
+               return dentry_has_perm(cred, dentry, FILE__SETATTR);
  
-       return dentry_has_perm(cred, NULL, dentry, FILE__WRITE);
+       return dentry_has_perm(cred, dentry, FILE__WRITE);
  }
  
  static int selinux_inode_getattr(struct vfsmount *mnt, struct dentry *dentry)
  {
        const struct cred *cred = current_cred();
+       struct path path;
+       path.dentry = dentry;
+       path.mnt = mnt;
  
-       return dentry_has_perm(cred, mnt, dentry, FILE__GETATTR);
+       return path_has_perm(cred, &path, FILE__GETATTR);
  }
  
  static int selinux_inode_setotherxattr(struct dentry *dentry, const char *name)
  
        /* Not an attribute we recognize, so just check the
           ordinary setattr permission. */
-       return dentry_has_perm(cred, NULL, dentry, FILE__SETATTR);
+       return dentry_has_perm(cred, dentry, FILE__SETATTR);
  }
  
  static int selinux_inode_setxattr(struct dentry *dentry, const char *name,
        if (!(sbsec->flags & SE_SBLABELSUPP))
                return -EOPNOTSUPP;
  
 -      if (!is_owner_or_cap(inode))
 +      if (!inode_owner_or_capable(inode))
                return -EPERM;
  
-       COMMON_AUDIT_DATA_INIT(&ad, FS);
-       ad.u.fs.path.dentry = dentry;
+       COMMON_AUDIT_DATA_INIT(&ad, DENTRY);
+       ad.u.dentry = dentry;
  
        rc = avc_has_perm(sid, isec->sid, isec->sclass,
                          FILE__RELABELFROM, &ad);
@@@ -2797,14 -2813,14 +2815,14 @@@ static int selinux_inode_getxattr(struc
  {
        const struct cred *cred = current_cred();
  
-       return dentry_has_perm(cred, NULL, dentry, FILE__GETATTR);
+       return dentry_has_perm(cred, dentry, FILE__GETATTR);
  }
  
  static int selinux_inode_listxattr(struct dentry *dentry)
  {
        const struct cred *cred = current_cred();
  
-       return dentry_has_perm(cred, NULL, dentry, FILE__GETATTR);
+       return dentry_has_perm(cred, dentry, FILE__GETATTR);
  }
  
  static int selinux_inode_removexattr(struct dentry *dentry, const char *name)
@@@ -2841,8 -2857,7 +2859,8 @@@ static int selinux_inode_getsecurity(co
         * and lack of permission just means that we fall back to the
         * in-core context value, not a denial.
         */
 -      error = selinux_capable(current, current_cred(), CAP_MAC_ADMIN,
 +      error = selinux_capable(current, current_cred(),
 +                              &init_user_ns, CAP_MAC_ADMIN,
                                SECURITY_CAP_NOAUDIT);
        if (!error)
                error = security_sid_to_context_force(isec->sid, &context,
@@@ -2976,7 -2991,7 +2994,7 @@@ static int selinux_file_ioctl(struct fi
        case KDSKBENT:
        case KDSKBSENT:
                error = task_has_capability(current, cred, CAP_SYS_TTY_CONFIG,
 -                                          SECURITY_CAP_AUDIT);
 +                                      SECURITY_CAP_AUDIT);
                break;
  
        /* default case assumes that the command will go
@@@ -4354,7 -4369,7 +4372,7 @@@ static void selinux_secmark_refcount_de
  static void selinux_req_classify_flow(const struct request_sock *req,
                                      struct flowi *fl)
  {
 -      fl->secid = req->secid;
 +      fl->flowi_secid = req->secid;
  }
  
  static int selinux_tun_dev_create(void)
@@@ -4703,7 -4718,6 +4721,7 @@@ static int selinux_netlink_recv(struct 
  {
        int err;
        struct common_audit_data ad;
 +      u32 sid;
  
        err = cap_netlink_recv(skb, capability);
        if (err)
        COMMON_AUDIT_DATA_INIT(&ad, CAP);
        ad.u.cap = capability;
  
 -      return avc_has_perm(NETLINK_CB(skb).sid, NETLINK_CB(skb).sid,
 -                          SECCLASS_CAPABILITY, CAP_TO_MASK(capability), &ad);
 +      security_task_getsecid(current, &sid);
 +      return avc_has_perm(sid, sid, SECCLASS_CAPABILITY,
 +                          CAP_TO_MASK(capability), &ad);
  }
  
  static int ipc_alloc_security(struct task_struct *task,
@@@ -28,6 -28,7 +28,7 @@@
  #include <linux/percpu.h>
  #include <linux/audit.h>
  #include <linux/uaccess.h>
+ #include <linux/kobject.h>
  
  /* selinuxfs pseudo filesystem for exporting the security policy API.
     Based on the proc code and the fs/nfsd/nfsctl.c code. */
@@@ -280,7 -281,7 +281,7 @@@ static ssize_t sel_write_disable(struc
  
        length = -ENOMEM;
        if (count >= PAGE_SIZE)
 -              goto out;;
 +              goto out;
  
        /* No partial writes. */
        length = -EINVAL;
@@@ -753,11 -754,13 +754,13 @@@ out
  static ssize_t sel_write_create(struct file *file, char *buf, size_t size)
  {
        char *scon = NULL, *tcon = NULL;
+       char *namebuf = NULL, *objname = NULL;
        u32 ssid, tsid, newsid;
        u16 tclass;
        ssize_t length;
        char *newcon = NULL;
        u32 len;
+       int nargs;
  
        length = task_has_security(current, SECURITY__COMPUTE_CREATE);
        if (length)
        if (!tcon)
                goto out;
  
+       length = -ENOMEM;
+       namebuf = kzalloc(size + 1, GFP_KERNEL);
+       if (!namebuf)
+               goto out;
        length = -EINVAL;
-       if (sscanf(buf, "%s %s %hu", scon, tcon, &tclass) != 3)
+       nargs = sscanf(buf, "%s %s %hu %s", scon, tcon, &tclass, namebuf);
+       if (nargs < 3 || nargs > 4)
                goto out;
+       if (nargs == 4)
+               objname = namebuf;
  
        length = security_context_to_sid(scon, strlen(scon) + 1, &ssid);
        if (length)
        if (length)
                goto out;
  
-       length = security_transition_sid_user(ssid, tsid, tclass, &newsid);
+       length = security_transition_sid_user(ssid, tsid, tclass,
+                                             objname, &newsid);
        if (length)
                goto out;
  
        length = len;
  out:
        kfree(newcon);
+       kfree(namebuf);
        kfree(tcon);
        kfree(scon);
        return length;
@@@ -876,12 -889,12 +889,12 @@@ static ssize_t sel_write_user(struct fi
  
        length = task_has_security(current, SECURITY__COMPUTE_USER);
        if (length)
 -              goto out;;
 +              goto out;
  
        length = -ENOMEM;
        con = kzalloc(size + 1, GFP_KERNEL);
        if (!con)
 -              goto out;;
 +              goto out;
  
        length = -ENOMEM;
        user = kzalloc(size + 1, GFP_KERNEL);
@@@ -941,7 -954,7 +954,7 @@@ static ssize_t sel_write_member(struct 
        length = -ENOMEM;
        scon = kzalloc(size + 1, GFP_KERNEL);
        if (!scon)
 -              goto out;;
 +              goto out;
  
        length = -ENOMEM;
        tcon = kzalloc(size + 1, GFP_KERNEL);
@@@ -1380,14 -1393,10 +1393,14 @@@ static int sel_avc_stats_seq_show(struc
        if (v == SEQ_START_TOKEN)
                seq_printf(seq, "lookups hits misses allocations reclaims "
                           "frees\n");
 -      else
 -              seq_printf(seq, "%u %u %u %u %u %u\n", st->lookups,
 -                         st->hits, st->misses, st->allocations,
 +      else {
 +              unsigned int lookups = st->lookups;
 +              unsigned int misses = st->misses;
 +              unsigned int hits = lookups - misses;
 +              seq_printf(seq, "%u %u %u %u %u %u\n", lookups,
 +                         hits, misses, st->allocations,
                           st->reclaims, st->frees);
 +      }
        return 0;
  }
  
@@@ -1901,6 -1910,7 +1914,7 @@@ static struct file_system_type sel_fs_t
  };
  
  struct vfsmount *selinuxfs_mount;
+ static struct kobject *selinuxfs_kobj;
  
  static int __init init_sel_fs(void)
  {
  
        if (!selinux_enabled)
                return 0;
+       selinuxfs_kobj = kobject_create_and_add("selinux", fs_kobj);
+       if (!selinuxfs_kobj)
+               return -ENOMEM;
        err = register_filesystem(&sel_fs_type);
-       if (err)
+       if (err) {
+               kobject_put(selinuxfs_kobj);
                return err;
+       }
  
        selinuxfs_mount = kern_mount(&sel_fs_type);
        if (IS_ERR(selinuxfs_mount)) {
@@@ -1927,6 -1944,7 +1948,7 @@@ __initcall(init_sel_fs)
  #ifdef CONFIG_SECURITY_SELINUX_DISABLE
  void exit_sel_fs(void)
  {
+       kobject_put(selinuxfs_kobj);
        unregister_filesystem(&sel_fs_type);
  }
  #endif
  }
  
  static void filename_compute_type(struct policydb *p, struct context *newcontext,
-                                 u32 scon, u32 tcon, u16 tclass,
-                                 const struct qstr *qstr)
- {
-       struct filename_trans *ft;
-       for (ft = p->filename_trans; ft; ft = ft->next) {
-               if (ft->stype == scon &&
-                   ft->ttype == tcon &&
-                   ft->tclass == tclass &&
-                   !strcmp(ft->name, qstr->name)) {
-                       newcontext->type = ft->otype;
-                       return;
-               }
-       }
+                                 u32 stype, u32 ttype, u16 tclass,
+                                 const char *objname)
+ {
+       struct filename_trans ft;
+       struct filename_trans_datum *otype;
+       /*
+        * Most filename trans rules are going to live in specific directories
+        * like /dev or /var/run.  This bitmap will quickly skip rule searches
+        * if the ttype does not contain any rules.
+        */
+       if (!ebitmap_get_bit(&p->filename_trans_ttypes, ttype))
+               return;
+       ft.stype = stype;
+       ft.ttype = ttype;
+       ft.tclass = tclass;
+       ft.name = objname;
+       otype = hashtab_search(p->filename_trans, &ft);
+       if (otype)
+               newcontext->type = otype->otype;
  }
  
  static int security_compute_sid(u32 ssid,
                                u32 tsid,
                                u16 orig_tclass,
                                u32 specified,
-                               const struct qstr *qstr,
+                               const char *objname,
                                u32 *out_sid,
                                bool kern)
  {
                newcontext.type = avdatum->data;
        }
  
-       /* if we have a qstr this is a file trans check so check those rules */
-       if (qstr)
+       /* if we have a objname this is a file trans check so check those rules */
+       if (objname)
                filename_compute_type(&policydb, &newcontext, scontext->type,
-                                     tcontext->type, tclass, qstr);
+                                     tcontext->type, tclass, objname);
  
        /* Check for class-specific changes. */
-       if  (tclass == policydb.process_class) {
-               if (specified & AVTAB_TRANSITION) {
-                       /* Look for a role transition rule. */
-                       for (roletr = policydb.role_tr; roletr;
-                            roletr = roletr->next) {
-                               if (roletr->role == scontext->role &&
-                                   roletr->type == tcontext->type) {
-                                       /* Use the role transition rule. */
-                                       newcontext.role = roletr->new_role;
-                                       break;
-                               }
+       if (specified & AVTAB_TRANSITION) {
+               /* Look for a role transition rule. */
+               for (roletr = policydb.role_tr; roletr; roletr = roletr->next) {
+                       if ((roletr->role == scontext->role) &&
+                           (roletr->type == tcontext->type) &&
+                           (roletr->tclass == tclass)) {
+                               /* Use the role transition rule. */
+                               newcontext.role = roletr->new_role;
+                               break;
                        }
                }
        }
@@@ -1541,13 -1548,14 +1548,14 @@@ int security_transition_sid(u32 ssid, u
                            const struct qstr *qstr, u32 *out_sid)
  {
        return security_compute_sid(ssid, tsid, tclass, AVTAB_TRANSITION,
-                                   qstr, out_sid, true);
+                                   qstr ? qstr->name : NULL, out_sid, true);
  }
  
- int security_transition_sid_user(u32 ssid, u32 tsid, u16 tclass, u32 *out_sid)
+ int security_transition_sid_user(u32 ssid, u32 tsid, u16 tclass,
+                                const char *objname, u32 *out_sid)
  {
        return security_compute_sid(ssid, tsid, tclass, AVTAB_TRANSITION,
-                                   NULL, out_sid, false);
+                                   objname, out_sid, false);
  }
  
  /**
@@@ -2806,7 -2814,7 +2814,7 @@@ int selinux_audit_rule_init(u32 field, 
        case AUDIT_SUBJ_CLR:
        case AUDIT_OBJ_LEV_LOW:
        case AUDIT_OBJ_LEV_HIGH:
 -              /* we do not allow a range, indicated by the presense of '-' */
 +              /* we do not allow a range, indicated by the presence of '-' */
                if (strchr(rulestr, '-'))
                        return -EINVAL;
                break;
@@@ -3075,7 -3083,7 +3083,7 @@@ static void security_netlbl_cache_add(s
   * Description:
   * Convert the given NetLabel security attributes in @secattr into a
   * SELinux SID.  If the @secattr field does not contain a full SELinux
 - * SID/context then use SECINITSID_NETMSG as the foundation.  If possibile the
 + * SID/context then use SECINITSID_NETMSG as the foundation.  If possible the
   * 'cache' field of @secattr is set and the CACHE flag is set; this is to
   * allow the @secattr to be used by NetLabel to cache the secattr to SID
   * conversion for future lookups.  Returns zero on success, negative values on
@@@ -3190,7 -3198,7 +3198,7 @@@ out
   * @len: length of data in bytes
   *
   */
- int security_read_policy(void **data, ssize_t *len)
+ int security_read_policy(void **data, size_t *len)
  {
        int rc;
        struct policy_file fp;
@@@ -383,7 -383,7 +383,7 @@@ static int smack_sb_statfs(struct dentr
        int rc;
        struct smk_audit_info ad;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_DENTRY);
        smk_ad_setfield_u_fs_path_dentry(&ad, dentry);
  
        rc = smk_curacc(sbp->smk_floor, MAY_READ, &ad);
@@@ -407,7 -407,7 +407,7 @@@ static int smack_sb_mount(char *dev_nam
        struct superblock_smack *sbp = path->mnt->mnt_sb->s_security;
        struct smk_audit_info ad;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH);
        smk_ad_setfield_u_fs_path(&ad, *path);
  
        return smk_curacc(sbp->smk_floor, MAY_WRITE, &ad);
@@@ -425,10 -425,13 +425,13 @@@ static int smack_sb_umount(struct vfsmo
  {
        struct superblock_smack *sbp;
        struct smk_audit_info ad;
+       struct path path;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
-       smk_ad_setfield_u_fs_path_dentry(&ad, mnt->mnt_root);
-       smk_ad_setfield_u_fs_path_mnt(&ad, mnt);
+       path.dentry = mnt->mnt_root;
+       path.mnt = mnt;
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH);
+       smk_ad_setfield_u_fs_path(&ad, path);
  
        sbp = mnt->mnt_sb->s_security;
        return smk_curacc(sbp->smk_floor, MAY_WRITE, &ad);
@@@ -563,7 -566,7 +566,7 @@@ static int smack_inode_link(struct dent
        struct smk_audit_info ad;
        int rc;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_DENTRY);
        smk_ad_setfield_u_fs_path_dentry(&ad, old_dentry);
  
        isp = smk_of_inode(old_dentry->d_inode);
@@@ -592,7 -595,7 +595,7 @@@ static int smack_inode_unlink(struct in
        struct smk_audit_info ad;
        int rc;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_DENTRY);
        smk_ad_setfield_u_fs_path_dentry(&ad, dentry);
  
        /*
@@@ -623,7 -626,7 +626,7 @@@ static int smack_inode_rmdir(struct ino
        struct smk_audit_info ad;
        int rc;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_DENTRY);
        smk_ad_setfield_u_fs_path_dentry(&ad, dentry);
  
        /*
@@@ -663,7 -666,7 +666,7 @@@ static int smack_inode_rename(struct in
        char *isp;
        struct smk_audit_info ad;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_DENTRY);
        smk_ad_setfield_u_fs_path_dentry(&ad, old_dentry);
  
        isp = smk_of_inode(old_dentry->d_inode);
@@@ -700,7 -703,7 +703,7 @@@ static int smack_inode_permission(struc
        /* May be droppable after audit */
        if (flags & IPERM_FLAG_RCU)
                return -ECHILD;
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_INODE);
        smk_ad_setfield_u_fs_inode(&ad, inode);
        return smk_curacc(smk_of_inode(inode), mask, &ad);
  }
@@@ -720,7 -723,7 +723,7 @@@ static int smack_inode_setattr(struct d
         */
        if (iattr->ia_valid & ATTR_FORCE)
                return 0;
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_DENTRY);
        smk_ad_setfield_u_fs_path_dentry(&ad, dentry);
  
        return smk_curacc(smk_of_inode(dentry->d_inode), MAY_WRITE, &ad);
  static int smack_inode_getattr(struct vfsmount *mnt, struct dentry *dentry)
  {
        struct smk_audit_info ad;
+       struct path path;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
-       smk_ad_setfield_u_fs_path_dentry(&ad, dentry);
-       smk_ad_setfield_u_fs_path_mnt(&ad, mnt);
+       path.dentry = dentry;
+       path.mnt = mnt;
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH);
+       smk_ad_setfield_u_fs_path(&ad, path);
        return smk_curacc(smk_of_inode(dentry->d_inode), MAY_READ, &ad);
  }
  
@@@ -784,7 -790,7 +790,7 @@@ static int smack_inode_setxattr(struct 
        } else
                rc = cap_inode_setxattr(dentry, name, value, size, flags);
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_DENTRY);
        smk_ad_setfield_u_fs_path_dentry(&ad, dentry);
  
        if (rc == 0)
@@@ -845,7 -851,7 +851,7 @@@ static int smack_inode_getxattr(struct 
  {
        struct smk_audit_info ad;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_DENTRY);
        smk_ad_setfield_u_fs_path_dentry(&ad, dentry);
  
        return smk_curacc(smk_of_inode(dentry->d_inode), MAY_READ, &ad);
@@@ -877,7 -883,7 +883,7 @@@ static int smack_inode_removexattr(stru
        } else
                rc = cap_inode_removexattr(dentry, name);
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_DENTRY);
        smk_ad_setfield_u_fs_path_dentry(&ad, dentry);
        if (rc == 0)
                rc = smk_curacc(smk_of_inode(dentry->d_inode), MAY_WRITE, &ad);
@@@ -1047,7 -1053,7 +1053,7 @@@ static int smack_file_ioctl(struct fil
        int rc = 0;
        struct smk_audit_info ad;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH);
        smk_ad_setfield_u_fs_path(&ad, file->f_path);
  
        if (_IOC_DIR(cmd) & _IOC_WRITE)
@@@ -1070,8 -1076,8 +1076,8 @@@ static int smack_file_lock(struct file 
  {
        struct smk_audit_info ad;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
-       smk_ad_setfield_u_fs_path_dentry(&ad, file->f_path.dentry);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH);
+       smk_ad_setfield_u_fs_path(&ad, file->f_path);
        return smk_curacc(file->f_security, MAY_WRITE, &ad);
  }
  
@@@ -1089,7 -1095,7 +1095,7 @@@ static int smack_file_fcntl(struct fil
        struct smk_audit_info ad;
        int rc;
  
-       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_FS);
+       smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH);
        smk_ad_setfield_u_fs_path(&ad, file->f_path);
  
        switch (cmd) {
@@@ -1798,7 -1804,7 +1804,7 @@@ static void smack_set_catset(char *cats
   * Casey says that CIPSO is good enough for now.
   * It can be used to effect.
   * It can also be abused to effect when necessary.
 - * Appologies to the TSIG group in general and GW in particular.
 + * Apologies to the TSIG group in general and GW in particular.
   */
  static void smack_to_secattr(char *smack, struct netlbl_lsm_secattr *nlsp)
  {
@@@ -2534,7 -2540,7 +2540,7 @@@ static void smack_d_instantiate(struct 
        switch (sbp->s_magic) {
        case SMACK_MAGIC:
                /*
 -               * Casey says that it's a little embarassing
 +               * Casey says that it's a little embarrassing
                 * that the smack file system doesn't do
                 * extended attributes.
                 */
@@@ -3088,7 -3094,7 +3094,7 @@@ static int smack_inet_conn_request(stru
        /*
         * We need to decide if we want to label the incoming connection here
         * if we do we only need to label the request_sock and the stack will
 -       * propogate the wire-label to the sock when it is created.
 +       * propagate the wire-label to the sock when it is created.
         */
        hdr = ip_hdr(skb);
        addr.sin_addr.s_addr = hdr->saddr;