Push to branch refs/heads/master: b4b6377c16ef0efae2b3915713ffaed8743a7423 --> 9902b824f09a1aa25ebe8b93764600de3d67d918
.mailmap | 1 + CREDITS | 1 + .../ABI/testing/sysfs-bus-iio-proximity-as3935 | 2 +- Documentation/arm/CCN.txt | 2 +- .../devicetree/bindings/ata/ahci-platform.txt | 4 + .../devicetree/bindings/crypto/samsung-sss.txt | 6 +- Documentation/filesystems/00-INDEX | 3 + Documentation/filesystems/porting | 4 +- Documentation/filesystems/wrapfs.txt | 172 ++ Documentation/module-signing.txt | 6 + Documentation/scsi/scsi_eh.txt | 8 +- Documentation/serial/tty.txt | 3 - Documentation/sysctl/fs.txt | 30 + Documentation/x86/exception-tables.txt | 35 + MAINTAINERS | 64 +- Makefile | 11 +- arch/alpha/include/asm/uaccess.h | 19 +- arch/arc/Makefile | 1 - arch/arc/include/asm/entry.h | 17 +- arch/arc/include/asm/irqflags.h | 2 +- arch/arc/include/asm/uaccess.h | 11 +- arch/arc/include/uapi/asm/elf.h | 11 +- arch/arc/kernel/arcksyms.c | 2 + arch/arc/kernel/asm-offsets.c | 2 + arch/arc/kernel/process.c | 2 +- arch/arc/kernel/setup.c | 6 +- arch/arc/kernel/stacktrace.c | 2 +- arch/arc/mm/cache_arc700.c | 9 + arch/arm/boot/dts/kirkwood-ib62x0.dts | 2 +- arch/arm/boot/dts/stih410.dtsi | 12 +- arch/arm/boot/dts/sun4i-a10-a1000.dts | 1 + arch/arm/boot/dts/sun4i-a10-hackberry.dts | 1 + arch/arm/crypto/aes-ce-glue.c | 2 +- arch/arm/include/asm/dma-mapping.h | 2 +- arch/arm/include/asm/kvm_emulate.h | 5 + arch/arm/include/asm/pgtable-2level.h | 1 + arch/arm/include/asm/pgtable-3level.h | 5 +- arch/arm/include/asm/pgtable.h | 1 - arch/arm/kernel/ptrace.c | 2 +- arch/arm/kernel/sys_oabi-compat.c | 73 +- arch/arm/kvm/arm.c | 3 +- arch/arm/kvm/mmu.c | 34 +- arch/arm/mach-imx/pm-imx6.c | 2 +- arch/arm/mach-mvebu/coherency.c | 22 +- arch/arm/mach-omap2/cpuidle34xx.c | 69 +- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 12 + arch/arm/mach-s3c64xx/dev-audio.c | 41 +- arch/arm/mach-s3c64xx/include/mach/dma.h | 52 +- arch/arm/mach-socfpga/headsmp.S | 1 + arch/arm/plat-samsung/devs.c | 11 +- arch/arm64/crypto/aes-glue.c | 2 +- arch/arm64/include/asm/kvm_emulate.h | 16 +- arch/arm64/include/asm/percpu.h | 120 +- arch/arm64/include/asm/pgtable-hwdef.h | 1 - arch/arm64/include/asm/pgtable.h | 4 +- arch/arm64/include/asm/ptrace.h | 35 +- arch/arm64/include/asm/spinlock.h | 10 + arch/arm64/kernel/asm-offsets.c | 1 + arch/arm64/kernel/debug-monitors.c | 1 - arch/arm64/kernel/entry.S | 15 +- arch/arm64/kernel/head.S | 3 +- arch/arm64/kernel/ptrace.c | 81 +- arch/arm64/kernel/signal.c | 4 +- arch/arm64/kernel/signal32.c | 2 +- arch/arm64/kernel/smp.c | 1 - arch/arm64/kvm/inject_fault.c | 2 +- arch/arm64/mm/flush.c | 4 - arch/arm64/mm/proc.S | 2 + arch/avr32/include/asm/uaccess.h | 11 +- arch/avr32/kernel/avr32_ksyms.c | 2 +- arch/avr32/lib/copy_user.S | 8 +- arch/blackfin/include/asm/uaccess.h | 9 +- arch/cris/include/asm/uaccess.h | 71 +- arch/frv/include/asm/uaccess.h | 12 +- arch/hexagon/include/asm/uaccess.h | 3 +- arch/ia64/include/asm/uaccess.h | 20 +- arch/m32r/include/asm/uaccess.h | 2 +- arch/metag/include/asm/cmpxchg_lnkget.h | 2 +- arch/metag/include/asm/uaccess.h | 3 +- arch/microblaze/include/asm/uaccess.h | 11 +- arch/mips/ath79/early_printk.c | 6 +- arch/mips/include/asm/asmmacro.h | 1 + arch/mips/include/asm/cacheflush.h | 6 - arch/mips/include/asm/kvm_host.h | 10 +- .../include/asm/mach-paravirt/kernel-entry-init.h | 2 + arch/mips/include/asm/msa.h | 13 + arch/mips/include/asm/pgtable.h | 29 +- arch/mips/include/asm/processor.h | 2 +- arch/mips/include/asm/uaccess.h | 3 + arch/mips/include/uapi/asm/siginfo.h | 22 +- arch/mips/kernel/csrc-r4k.c | 4 +- arch/mips/kernel/mips-r2-to-r6-emul.c | 107 +- arch/mips/kernel/process.c | 14 +- arch/mips/kernel/ptrace.c | 27 +- arch/mips/kernel/scall64-n32.S | 2 +- arch/mips/kernel/scall64-o32.S | 2 +- arch/mips/kernel/smp.c | 7 +- arch/mips/kernel/traps.c | 8 +- arch/mips/kvm/emulate.c | 161 +- arch/mips/kvm/interrupt.h | 1 + arch/mips/kvm/locore.S | 1 + arch/mips/kvm/mips.c | 11 +- arch/mips/kvm/tlb.c | 70 +- arch/mips/kvm/trap_emul.c | 2 +- arch/mips/math-emu/cp1emu.c | 8 +- arch/mips/mm/cache.c | 41 +- arch/mips/mm/uasm-mips.c | 2 +- arch/mn10300/include/asm/uaccess.h | 1 + arch/mn10300/lib/usercopy.c | 4 +- arch/nios2/include/asm/uaccess.h | 13 +- arch/openrisc/include/asm/uaccess.h | 35 +- arch/parisc/include/asm/uaccess.h | 6 +- arch/parisc/include/uapi/asm/errno.h | 4 +- arch/parisc/kernel/syscall.S | 13 +- arch/parisc/kernel/unaligned.c | 10 +- arch/powerpc/include/asm/reg.h | 6 +- arch/powerpc/include/asm/uaccess.h | 21 +- arch/powerpc/include/asm/word-at-a-time.h | 2 +- arch/powerpc/kernel/eeh.c | 4 +- arch/powerpc/kernel/eeh_driver.c | 26 +- arch/powerpc/kernel/exceptions-64s.S | 16 +- arch/powerpc/kernel/idle_power7.S | 2 +- arch/powerpc/kernel/process.c | 10 + arch/powerpc/kernel/prom.c | 8 +- arch/powerpc/kernel/prom_init.c | 3 +- arch/powerpc/kernel/tm.S | 64 +- arch/powerpc/kvm/book3s_hv_rmhandlers.S | 462 ++-- arch/powerpc/mm/copro_fault.c | 2 + arch/powerpc/mm/hugetlbpage.c | 4 +- arch/powerpc/mm/slb_low.S | 7 +- arch/powerpc/platforms/pseries/eeh_pseries.c | 51 +- arch/powerpc/platforms/pseries/iommu.c | 24 +- arch/s390/include/asm/mmu.h | 2 +- arch/s390/include/asm/mmu_context.h | 28 +- arch/s390/include/asm/pgalloc.h | 4 +- arch/s390/include/asm/processor.h | 2 +- arch/s390/include/asm/tlbflush.h | 9 +- arch/s390/include/asm/uaccess.h | 8 +- arch/s390/kernel/ipl.c | 7 - arch/s390/mm/init.c | 3 +- arch/s390/mm/mmap.c | 6 +- arch/s390/mm/pgtable.c | 89 +- arch/score/include/asm/uaccess.h | 46 +- arch/sh/include/asm/uaccess.h | 5 +- arch/sh/include/asm/uaccess_64.h | 1 + arch/sparc/include/asm/head_64.h | 4 + arch/sparc/include/asm/ttable.h | 8 +- arch/sparc/include/asm/uaccess_32.h | 4 +- arch/sparc/kernel/Makefile | 1 + arch/sparc/kernel/cherrs.S | 14 +- arch/sparc/kernel/entry.S | 17 + arch/sparc/kernel/fpu_traps.S | 11 +- arch/sparc/kernel/head_64.S | 24 +- arch/sparc/kernel/misctrap.S | 12 +- arch/sparc/kernel/pci.c | 17 + arch/sparc/kernel/rtrap_64.S | 57 +- arch/sparc/kernel/signal32.c | 46 +- arch/sparc/kernel/signal_32.c | 41 +- arch/sparc/kernel/signal_64.c | 33 +- arch/sparc/kernel/sigutil_32.c | 9 +- arch/sparc/kernel/sigutil_64.c | 10 +- arch/sparc/kernel/spiterrs.S | 18 +- arch/sparc/kernel/syscalls.S | 36 + arch/sparc/kernel/urtt_fill.S | 98 + arch/sparc/kernel/utrap.S | 3 +- arch/sparc/kernel/vmlinux.lds.S | 4 + arch/sparc/kernel/winfixup.S | 3 +- arch/sparc/mm/init_64.c | 10 +- arch/um/include/asm/common.lds.S | 2 +- arch/x86/boot/Makefile | 3 + arch/x86/include/asm/asm.h | 40 +- arch/x86/include/asm/tlbflush.h | 2 +- arch/x86/include/asm/uaccess.h | 22 +- arch/x86/kernel/amd_nb.c | 4 +- arch/x86/kernel/apic/apic.c | 3 + arch/x86/kernel/cpu/amd.c | 12 + arch/x86/kernel/cpu/mcheck/therm_throt.c | 3 + arch/x86/kernel/cpu/perf_event_intel.c | 2 +- arch/x86/kernel/cpu/perf_event_intel_pt.c | 2 + arch/x86/kernel/early-quirks.c | 105 +- arch/x86/kernel/kprobes/core.c | 14 +- arch/x86/kernel/paravirt.c | 4 +- arch/x86/kernel/sysfb_efi.c | 14 +- arch/x86/kernel/traps.c | 6 +- arch/x86/kernel/tsc_msr.c | 2 +- arch/x86/kvm/cpuid.c | 1 + arch/x86/kvm/ioapic.c | 2 +- arch/x86/kvm/vmx.c | 20 +- arch/x86/kvm/x86.c | 5 + arch/x86/mm/extable.c | 100 +- arch/x86/mm/fault.c | 2 +- arch/x86/mm/kmmio.c | 88 +- arch/x86/pci/xen.c | 7 +- arch/x86/purgatory/Makefile | 1 + arch/x86/syscalls/syscall_32.tbl | 2 +- block/blk-core.c | 4 +- block/genhd.c | 1 + block/ioprio.c | 2 + crypto/ahash.c | 3 +- crypto/asymmetric_keys/Kconfig | 1 + crypto/asymmetric_keys/pkcs7_trust.c | 2 + crypto/blkcipher.c | 3 +- crypto/cryptd.c | 9 +- crypto/gcm.c | 4 +- crypto/scatterwalk.c | 3 +- drivers/acpi/acpi_processor.c | 52 + drivers/acpi/acpica/dsmethod.c | 3 + drivers/acpi/bus.c | 3 + drivers/acpi/internal.h | 6 + drivers/acpi/osl.c | 16 +- drivers/android/binder.c | 35 +- drivers/ata/ahci_platform.c | 3 + drivers/ata/libahci.c | 1 + drivers/ata/libata-core.c | 6 + drivers/ata/libata-eh.c | 2 +- drivers/base/module.c | 8 +- drivers/base/power/main.c | 5 +- drivers/base/power/runtime.c | 9 +- drivers/base/regmap/regmap-spmi.c | 2 +- drivers/bcma/bcma_private.h | 2 - drivers/block/mtip32xx/mtip32xx.c | 26 +- drivers/block/mtip32xx/mtip32xx.h | 5 + drivers/block/nbd.c | 4 +- drivers/block/paride/pd.c | 4 +- drivers/block/paride/pt.c | 4 +- drivers/bluetooth/ath3k.c | 4 + drivers/bluetooth/btusb.c | 2 + drivers/bluetooth/hci_vhci.c | 28 +- drivers/bus/arm-ccn.c | 44 +- drivers/char/ipmi/ipmi_msghandler.c | 8 +- drivers/char/tpm/tpm-chip.c | 4 +- drivers/char/virtio_console.c | 22 +- drivers/clk/qcom/gcc-msm8916.c | 2 + drivers/clk/qcom/gcc-msm8960.c | 4 +- drivers/clk/rockchip/clk-mmc-phase.c | 1 + drivers/clk/rockchip/clk.c | 9 +- drivers/clk/versatile/clk-sp810.c | 4 +- drivers/clocksource/sun4i_timer.c | 9 +- drivers/cpufreq/intel_pstate.c | 7 +- drivers/cpuidle/coupled.c | 4 +- drivers/cpuidle/cpuidle-arm.c | 2 +- drivers/cpuidle/cpuidle.c | 6 +- drivers/cpuidle/cpuidle.h | 7 +- drivers/crypto/caam/caamhash.c | 1 + drivers/crypto/caam/jr.c | 2 +- drivers/crypto/ccp/ccp-crypto-aes-xts.c | 17 +- drivers/crypto/s5p-sss.c | 85 +- drivers/crypto/ux500/hash/hash_core.c | 4 +- drivers/crypto/vmx/aes_cbc.c | 2 +- drivers/crypto/vmx/aes_ctr.c | 2 +- drivers/dma/at_xdmac.c | 82 +- drivers/dma/sh/usb-dmac.c | 19 +- drivers/edac/i7core_edac.c | 2 +- drivers/edac/sb_edac.c | 15 +- drivers/firewire/net.c | 59 +- drivers/firmware/efi/efi.c | 1 + drivers/firmware/efi/vars.c | 37 +- drivers/gpio/Kconfig | 1 + drivers/gpio/gpio-bcm-kona.c | 4 +- drivers/gpio/gpio-intel-mid.c | 19 - drivers/gpio/gpio-pca953x.c | 2 +- drivers/gpio/gpio-sch.c | 21 +- drivers/gpio/gpiolib.c | 2 +- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 12 +- drivers/gpu/drm/drm_crtc.c | 3 + drivers/gpu/drm/drm_dp_helper.c | 10 +- drivers/gpu/drm/drm_dp_mst_topology.c | 34 +- drivers/gpu/drm/drm_fb_helper.c | 5 +- drivers/gpu/drm/drm_ioc32.c | 4 + drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 2 +- drivers/gpu/drm/i915/i915_gem_gtt.c | 1 + drivers/gpu/drm/i915/i915_gem_shrinker.c | 2 +- drivers/gpu/drm/i915/i915_reg.h | 9 +- drivers/gpu/drm/i915/intel_crt.c | 8 +- drivers/gpu/drm/i915/intel_ddi.c | 10 +- drivers/gpu/drm/i915/intel_dp.c | 4 +- drivers/gpu/drm/i915/intel_drv.h | 2 + drivers/gpu/drm/i915/intel_fbdev.c | 6 +- drivers/gpu/drm/i915/intel_pm.c | 2 + drivers/gpu/drm/i915/intel_ringbuffer.c | 24 +- drivers/gpu/drm/msm/msm_gem_submit.c | 27 +- drivers/gpu/drm/nouveau/nouveau_fbcon.c | 2 + drivers/gpu/drm/nouveau/nv04_fbcon.c | 7 +- drivers/gpu/drm/nouveau/nv50_fbcon.c | 6 +- drivers/gpu/drm/nouveau/nvc0_fbcon.c | 6 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/gf100.c | 38 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/nv30.c | 4 +- drivers/gpu/drm/nouveau/nvkm/engine/gr/nv34.c | 4 +- drivers/gpu/drm/radeon/atombios_crtc.c | 17 +- drivers/gpu/drm/radeon/atombios_dp.c | 4 +- drivers/gpu/drm/radeon/atombios_encoders.c | 5 + drivers/gpu/drm/radeon/evergreen.c | 154 +- drivers/gpu/drm/radeon/evergreen_reg.h | 46 + drivers/gpu/drm/radeon/ni.c | 4 +- drivers/gpu/drm/radeon/r600_dpm.c | 15 +- drivers/gpu/drm/radeon/radeon_atombios.c | 4 +- drivers/gpu/drm/radeon/radeon_atpx_handler.c | 5 + drivers/gpu/drm/radeon/radeon_connectors.c | 15 +- drivers/gpu/drm/radeon/radeon_device.c | 21 + drivers/gpu/drm/radeon/radeon_ttm.c | 4 +- drivers/gpu/drm/radeon/si_dpm.c | 44 + drivers/gpu/drm/ttm/ttm_bo.c | 7 +- drivers/gpu/drm/udl/udl_fb.c | 2 +- drivers/gpu/drm/udl/udl_gem.c | 2 +- drivers/hid/hid-core.c | 1 + drivers/hid/hid-elo.c | 2 +- drivers/hid/uhid.c | 33 +- drivers/hid/usbhid/hiddev.c | 10 +- drivers/hv/hv_util.c | 10 +- drivers/hv/ring_buffer.c | 165 +- drivers/hwmon/ads7828.c | 10 + drivers/hwmon/max1111.c | 6 + drivers/i2c/busses/i2c-exynos5.c | 24 +- drivers/iio/accel/kxsd9.c | 6 +- drivers/iio/adc/ad7266.c | 7 +- drivers/iio/industrialio-trigger.c | 23 +- drivers/iio/magnetometer/ak8975.c | 6 +- drivers/iio/pressure/st_pressure_core.c | 80 +- drivers/iio/proximity/as3935.c | 17 +- drivers/infiniband/core/ucm.c | 4 + drivers/infiniband/core/ucma.c | 3 + drivers/infiniband/core/uverbs_main.c | 5 + drivers/infiniband/hw/mlx4/ah.c | 2 +- drivers/infiniband/hw/qib/qib_file_ops.c | 5 + drivers/input/joystick/xpad.c | 3 + drivers/input/keyboard/tegra-kbc.c | 2 +- drivers/input/misc/max8997_haptic.c | 6 +- drivers/input/misc/pmic8xxx-pwrkey.c | 7 +- drivers/input/misc/pwm-beeper.c | 69 +- drivers/input/misc/uinput.c | 6 + drivers/input/mouse/elantech.c | 8 +- drivers/input/mouse/vmmouse.c | 22 +- drivers/input/serio/i8042-x86ia64io.h | 7 + drivers/input/serio/i8042.c | 17 +- drivers/input/serio/libps2.c | 10 +- drivers/input/touchscreen/wacom_w8001.c | 2 +- drivers/input/touchscreen/zforce_ts.c | 4 +- drivers/irqchip/irq-gic-v3.c | 21 +- drivers/irqchip/irq-gic.c | 8 + drivers/mcb/mcb-parse.c | 2 +- drivers/md/bcache/super.c | 11 +- drivers/md/dm-crypt.c | 9 +- drivers/md/dm-flakey.c | 32 +- drivers/md/dm-log-writes.c | 8 +- drivers/md/dm-snap.c | 9 + drivers/md/dm-table.c | 60 +- drivers/md/dm.c | 39 +- drivers/md/md.c | 13 +- drivers/media/dvb-core/dvb_ringbuffer.c | 74 +- drivers/media/platform/coda/coda-common.c | 10 +- drivers/media/platform/s5p-mfc/s5p_mfc.c | 11 + drivers/media/platform/vsp1/vsp1_sru.c | 1 + drivers/media/rc/ir-rc5-decoder.c | 2 +- drivers/media/usb/airspy/airspy.c | 3 +- drivers/media/usb/usbtv/usbtv-audio.c | 5 + drivers/media/usb/uvc/uvc_v4l2.c | 39 +- drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 3 +- drivers/memory/omap-gpmc.c | 2 +- drivers/memstick/host/rtsx_usb_ms.c | 6 + drivers/mfd/intel_quark_i2c_gpio.c | 19 +- drivers/mfd/omap-usb-tll.c | 13 +- drivers/mfd/qcom_rpm.c | 55 +- drivers/misc/Kconfig | 2 +- drivers/misc/ad525x_dpot.c | 2 +- drivers/misc/cxl/irq.c | 1 - drivers/misc/genwqe/card_utils.c | 12 +- drivers/misc/mei/hw-txe.c | 6 +- drivers/mmc/card/block.c | 19 +- drivers/mmc/card/queue.h | 2 +- drivers/mmc/core/core.c | 4 +- drivers/mmc/core/mmc.c | 7 + drivers/mmc/host/rtsx_usb_sdmmc.c | 7 +- drivers/mmc/host/sdhci-acpi.c | 6 +- drivers/mmc/host/sdhci.c | 2 +- drivers/mtd/nand/davinci_nand.c | 3 + drivers/mtd/nand/nand_base.c | 2 +- drivers/mtd/ubi/build.c | 13 +- drivers/mtd/ubi/eba.c | 43 +- drivers/mtd/ubi/fastmap.c | 1 + drivers/mtd/ubi/ubi.h | 2 + drivers/mtd/ubi/vmt.c | 25 +- drivers/net/bonding/bond_main.c | 65 +- drivers/net/can/at91_can.c | 5 +- drivers/net/can/c_can/c_can.c | 38 +- drivers/net/can/dev.c | 92 +- drivers/net/can/flexcan.c | 13 +- drivers/net/can/m_can/m_can.c | 2 +- drivers/net/ethernet/atheros/atlx/atl2.c | 2 +- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 +- drivers/net/ethernet/freescale/fec_main.c | 10 +- drivers/net/ethernet/jme.c | 26 +- drivers/net/ethernet/marvell/mvneta.c | 2 +- drivers/net/ethernet/mellanox/mlx4/en_rx.c | 2 +- drivers/net/ethernet/mellanox/mlx4/en_tx.c | 6 +- .../net/ethernet/mellanox/mlx4/resource_tracker.c | 3 +- drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 3 +- .../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 24 +- .../net/ethernet/qlogic/qlcnic/qlcnic_ethtool.c | 3 +- drivers/net/ethernet/qlogic/qlge/qlge_main.c | 11 + drivers/net/ethernet/qualcomm/qca_spi.c | 2 +- drivers/net/ethernet/renesas/sh_eth.c | 13 +- drivers/net/ethernet/sfc/ef10.c | 16 + drivers/net/macvtap.c | 9 +- drivers/net/ppp/ppp_generic.c | 35 +- drivers/net/tun.c | 6 +- drivers/net/usb/cdc_ncm.c | 13 +- drivers/net/usb/qmi_wwan.c | 7 +- drivers/net/usb/usbnet.c | 7 + drivers/net/vxlan.c | 2 +- drivers/net/wan/farsync.c | 2 +- drivers/net/wireless/ath/ath10k/debug.c | 7 +- drivers/net/wireless/ath/ath10k/mac.c | 5 +- drivers/net/wireless/ath/ath5k/led.c | 2 +- drivers/net/wireless/ath/ath9k/eeprom.c | 7 +- drivers/net/wireless/ath/ath9k/init.c | 7 + drivers/net/wireless/ath/ath9k/main.c | 8 +- drivers/net/wireless/ath/ath9k/pci.c | 10 + drivers/net/wireless/intel/iwlwifi/pcie/trans.c | 2717 -------------------- drivers/net/wireless/iwlwifi/pcie/drv.c | 3 + drivers/net/wireless/iwlwifi/pcie/trans.c | 4 +- drivers/net/wireless/mac80211_hwsim.c | 1 + drivers/net/wireless/rtlwifi/base.c | 4 +- .../wireless/rtlwifi/btcoexist/halbtc8723b2ant.c | 9 +- .../net/wireless/rtlwifi/btcoexist/halbtcoutsrc.c | 27 +- .../net/wireless/rtlwifi/btcoexist/halbtcoutsrc.h | 2 +- drivers/net/wireless/rtlwifi/btcoexist/rtl_btc.c | 5 +- drivers/net/wireless/rtlwifi/pci.c | 2 +- drivers/net/wireless/rtlwifi/rtl8723be/hw.c | 5 + drivers/net/wireless/rtlwifi/rtl8723be/sw.c | 11 +- drivers/net/wireless/rtlwifi/wifi.h | 3 + drivers/of/base.c | 30 +- drivers/of/dynamic.c | 2 +- drivers/of/irq.c | 19 +- drivers/of/of_private.h | 3 + drivers/pci/pci-sysfs.c | 18 +- drivers/pci/pci.c | 4 +- drivers/pci/probe.c | 6 +- drivers/pci/quirks.c | 22 +- drivers/pinctrl/freescale/pinctrl-imx.c | 4 +- drivers/pinctrl/intel/pinctrl-cherryview.c | 78 +- drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 5 +- drivers/pinctrl/nomadik/pinctrl-nomadik.c | 2 +- drivers/pinctrl/pinctrl-amd.c | 20 - drivers/pinctrl/pinctrl-single.c | 9 +- drivers/pinctrl/samsung/pinctrl-exynos5440.c | 15 +- drivers/platform/x86/hp-wmi.c | 7 +- drivers/power/power_supply_core.c | 27 +- drivers/pps/clients/pps_parport.c | 2 +- drivers/regulator/core.c | 115 +- drivers/regulator/s2mps11.c | 28 +- drivers/regulator/s5m8767.c | 13 +- drivers/rtc/rtc-ds1685.c | 8 +- drivers/rtc/rtc-hym8563.c | 2 +- drivers/rtc/rtc-max77686.c | 2 +- drivers/rtc/rtc-s3c.c | 2 + drivers/rtc/rtc-vr41xx.c | 13 +- drivers/s390/block/dasd.c | 10 +- drivers/s390/net/qeth_l2_main.c | 1 + drivers/s390/net/qeth_l3_main.c | 1 + drivers/scsi/aacraid/aacraid.h | 1 + drivers/scsi/aacraid/commctrl.c | 13 +- drivers/scsi/aacraid/comminit.c | 24 + drivers/scsi/aacraid/commsup.c | 12 +- drivers/scsi/arcmsr/arcmsr_hba.c | 17 +- drivers/scsi/constants.c | 5 +- drivers/scsi/ipr.c | 1 + drivers/scsi/lpfc/lpfc_init.c | 5 +- drivers/scsi/megaraid/megaraid_sas.h | 2 +- drivers/scsi/megaraid/megaraid_sas_base.c | 16 +- drivers/scsi/scsi_debug.c | 1 + drivers/scsi/scsi_devinfo.c | 1 + drivers/scsi/scsi_error.c | 4 +- drivers/scsi/scsi_lib.c | 7 +- drivers/scsi/scsi_scan.c | 2 +- drivers/spi/spi-pxa2xx.c | 9 +- drivers/spi/spi-rockchip.c | 7 +- drivers/spi/spi-sun4i.c | 23 +- drivers/spi/spi-sun6i.c | 10 +- drivers/staging/comedi/drivers/comedi_test.c | 24 +- drivers/staging/comedi/drivers/daqboard2000.c | 2 +- drivers/staging/comedi/drivers/das1800.c | 22 +- drivers/staging/comedi/drivers/ni_mio_common.c | 12 +- drivers/staging/iio/accel/sca3000_core.c | 2 +- drivers/staging/lustre/lustre/llite/llite_lib.c | 2 +- drivers/target/iscsi/iscsi_target.c | 22 +- drivers/target/iscsi/iscsi_target_login.c | 5 +- drivers/target/target_core_transport.c | 14 +- drivers/target/target_core_xcopy.c | 15 +- drivers/thermal/cpu_cooling.c | 26 +- drivers/thunderbolt/eeprom.c | 1 + drivers/tty/n_gsm.c | 4 +- drivers/tty/n_hdlc.c | 4 +- drivers/tty/n_tty.c | 70 +- drivers/tty/pty.c | 4 +- drivers/tty/serial/8250/8250_core.c | 18 +- drivers/tty/serial/8250/8250_pci.c | 142 + drivers/tty/serial/atmel_serial.c | 325 +-- drivers/tty/serial/samsung.c | 22 +- drivers/tty/serial/ucc_uart.c | 3 + drivers/tty/tty_buffer.c | 34 +- drivers/tty/vt/keyboard.c | 30 +- drivers/tty/vt/vt.c | 10 +- drivers/usb/chipidea/udc.c | 16 +- drivers/usb/class/cdc-acm.c | 5 +- drivers/usb/class/cdc-acm.h | 1 - drivers/usb/common/usb-otg-fsm.c | 2 + drivers/usb/core/config.c | 28 +- drivers/usb/core/devio.c | 16 +- drivers/usb/core/driver.c | 40 +- drivers/usb/core/hcd.c | 26 +- drivers/usb/core/hub.c | 18 +- drivers/usb/core/quirks.c | 29 +- drivers/usb/dwc3/dwc3-exynos.c | 19 +- drivers/usb/dwc3/dwc3-pci.c | 22 +- drivers/usb/dwc3/gadget.c | 47 +- drivers/usb/gadget/function/f_fs.c | 2 +- drivers/usb/gadget/function/f_mass_storage.c | 180 +- drivers/usb/gadget/function/f_mass_storage.h | 8 +- drivers/usb/gadget/function/u_ether.c | 5 +- drivers/usb/gadget/legacy/acm_ms.c | 10 - drivers/usb/gadget/legacy/inode.c | 17 +- drivers/usb/gadget/legacy/mass_storage.c | 10 - drivers/usb/gadget/legacy/multi.c | 18 - drivers/usb/host/ehci-hcd.c | 4 +- drivers/usb/host/ehci-tegra.c | 2 +- drivers/usb/host/ohci-hcd.c | 2 +- drivers/usb/host/ohci-q.c | 3 +- drivers/usb/host/xhci-hub.c | 85 +- drivers/usb/host/xhci-pci.c | 15 +- drivers/usb/host/xhci-plat.c | 3 + drivers/usb/host/xhci-ring.c | 49 +- drivers/usb/host/xhci.h | 3 + drivers/usb/misc/usbtest.c | 44 +- drivers/usb/musb/musb_host.c | 21 +- drivers/usb/renesas_usbhs/fifo.c | 22 +- drivers/usb/renesas_usbhs/mod.c | 11 +- drivers/usb/renesas_usbhs/mod_gadget.c | 16 +- drivers/usb/serial/cp210x.c | 53 +- drivers/usb/serial/ftdi_sio.c | 6 +- drivers/usb/serial/ftdi_sio_ids.h | 17 +- drivers/usb/serial/io_edgeport.c | 56 +- drivers/usb/serial/keyspan.c | 4 + drivers/usb/serial/mos7720.c | 2 +- drivers/usb/serial/mos7840.c | 4 +- drivers/usb/serial/mxuport.c | 10 + drivers/usb/serial/option.c | 189 +- drivers/usb/serial/quatech2.c | 1 + drivers/usb/serial/usb-serial-simple.c | 3 +- drivers/usb/serial/usb-serial.c | 7 +- drivers/usb/usbip/usbip_common.c | 11 + drivers/vhost/scsi.c | 6 +- drivers/video/fbdev/Kconfig | 1 - drivers/video/fbdev/da8xx-fb.c | 7 +- drivers/virtio/virtio_balloon.c | 30 +- drivers/xen/events/events_base.c | 6 +- drivers/xen/xen-acpi-processor.c | 35 +- drivers/xen/xen-pciback/conf_space.c | 6 +- drivers/xen/xenbus/xenbus_dev_frontend.c | 14 +- drivers/xen/xenbus/xenbus_xs.c | 3 - fs/9p/acl.c | 40 +- fs/9p/vfs_inode.c | 2 +- fs/9p/vfs_inode_dotl.c | 2 +- fs/Kconfig | 1 + fs/Makefile | 1 + fs/adfs/inode.c | 2 +- fs/affs/inode.c | 2 +- fs/affs/super.c | 5 +- fs/attr.c | 35 +- fs/autofs4/autofs_i.h | 8 +- fs/autofs4/expire.c | 80 +- fs/autofs4/root.c | 2 +- fs/btrfs/acl.c | 6 +- fs/btrfs/ctree.c | 5 +- fs/btrfs/ctree.h | 1 + fs/btrfs/extent-tree.c | 2 +- fs/btrfs/file.c | 2 +- fs/btrfs/inode.c | 4 +- fs/btrfs/ioctl.c | 35 +- fs/btrfs/super.c | 2 +- fs/btrfs/transaction.c | 1 - fs/btrfs/transaction.h | 2 +- fs/btrfs/tree-log.c | 21 +- fs/ceph/acl.c | 6 +- fs/ceph/file.c | 3 +- fs/ceph/inode.c | 2 +- fs/cifs/cifs_fs_sb.h | 4 + fs/cifs/cifs_spnego.c | 67 + fs/cifs/cifs_unicode.c | 33 +- fs/cifs/cifs_unicode.h | 2 + fs/cifs/cifsencrypt.c | 16 +- fs/cifs/cifsfs.c | 18 +- fs/cifs/cifsproto.h | 2 + fs/cifs/connect.c | 53 +- fs/cifs/dir.c | 44 +- fs/cifs/inode.c | 26 +- fs/cifs/ntlmssp.h | 2 +- fs/cifs/sess.c | 203 +- fs/cifs/smb2glob.h | 1 + fs/cifs/smb2inode.c | 8 +- fs/cifs/smb2ops.c | 30 +- fs/cifs/smb2pdu.c | 53 +- fs/cifs/smb2proto.h | 2 + fs/dcache.c | 11 +- fs/ecryptfs/file.c | 15 +- fs/ecryptfs/inode.c | 2 +- fs/exofs/inode.c | 2 +- fs/ext2/acl.c | 12 +- fs/ext2/inode.c | 2 +- fs/ext3/inode.c | 2 +- fs/ext4/acl.c | 12 +- fs/ext4/balloc.c | 3 + fs/ext4/ext4.h | 1 + fs/ext4/extents.c | 12 +- fs/ext4/ialloc.c | 56 +- fs/ext4/inode.c | 43 +- fs/ext4/ioctl.c | 6 + fs/ext4/mballoc.c | 10 +- fs/ext4/namei.c | 2 +- fs/ext4/super.c | 38 +- fs/ext4/xattr.c | 32 +- fs/f2fs/acl.c | 6 +- fs/f2fs/file.c | 2 +- fs/fat/file.c | 2 +- fs/fuse/dir.c | 9 +- fs/fuse/file.c | 33 +- fs/fuse/fuse_i.h | 2 +- fs/fuse/inode.c | 2 +- fs/gfs2/acl.c | 12 +- fs/gfs2/inode.c | 2 +- fs/hfs/inode.c | 2 +- fs/hfsplus/inode.c | 2 +- fs/hfsplus/posix_acl.c | 4 +- fs/hostfs/hostfs_kern.c | 2 +- fs/hpfs/inode.c | 2 +- fs/hpfs/super.c | 42 +- fs/hugetlbfs/inode.c | 2 +- fs/isofs/inode.c | 8 +- fs/isofs/rock.c | 13 +- fs/jbd2/transaction.c | 3 +- fs/jffs2/acl.c | 9 +- fs/jffs2/fs.c | 2 +- fs/jfs/acl.c | 6 +- fs/jfs/file.c | 2 +- fs/kernfs/file.c | 28 +- fs/kernfs/inode.c | 2 +- fs/libfs.c | 2 +- fs/locks.c | 2 +- fs/logfs/file.c | 2 +- fs/minix/file.c | 2 +- fs/mount.h | 2 + fs/namei.c | 20 +- fs/namespace.c | 56 +- fs/ncpfs/inode.c | 2 +- fs/nfs/callback.c | 1 + fs/nfs/dir.c | 2 +- fs/nfs/nfs4proc.c | 17 +- fs/nfs/pnfs.c | 1 + fs/nfs/pnfs_nfs.c | 86 +- fs/nfs/write.c | 9 +- fs/nfsd/nfs2acl.c | 20 +- fs/nfsd/nfs3acl.c | 16 +- fs/nfsd/nfs4acl.c | 16 +- fs/nfsd/nfs4callback.c | 18 +- fs/nfsd/nfsproc.c | 50 +- fs/nfsd/vfs.c | 36 - fs/nilfs2/inode.c | 2 +- fs/nilfs2/the_nilfs.c | 2 +- fs/notify/fanotify/fanotify.c | 13 +- fs/notify/fanotify/fanotify_user.c | 36 +- fs/notify/group.c | 19 + fs/notify/notification.c | 23 +- fs/ntfs/inode.c | 2 +- fs/ocfs2/acl.c | 97 +- fs/ocfs2/acl.h | 5 + fs/ocfs2/dlm/dlmconvert.c | 12 +- fs/ocfs2/dlmfs/dlmfs.c | 2 +- fs/ocfs2/file.c | 40 +- fs/ocfs2/namei.c | 25 +- fs/ocfs2/refcounttree.c | 17 +- fs/ocfs2/xattr.c | 14 +- fs/ocfs2/xattr.h | 4 +- fs/omfs/file.c | 2 +- fs/overlayfs/copy_up.c | 4 + fs/overlayfs/dir.c | 113 +- fs/overlayfs/inode.c | 29 +- fs/overlayfs/overlayfs.h | 2 + fs/overlayfs/super.c | 19 + fs/pipe.c | 47 +- fs/pnode.c | 34 +- fs/pnode.h | 1 + fs/posix_acl.c | 69 +- fs/proc/base.c | 5 +- fs/proc/generic.c | 2 +- fs/proc/proc_sysctl.c | 2 +- fs/proc/root.c | 7 + fs/proc/task_mmu.c | 2 +- fs/ramfs/file-nommu.c | 2 +- fs/reiserfs/inode.c | 2 +- fs/reiserfs/xattr_acl.c | 8 +- fs/seq_file.c | 4 +- fs/sysfs/file.c | 12 +- fs/sysv/file.c | 2 +- fs/ubifs/dir.c | 21 +- fs/ubifs/file.c | 26 +- fs/ubifs/tnc_commit.c | 2 +- fs/ubifs/xattr.c | 2 + fs/udf/file.c | 2 +- fs/ufs/truncate.c | 2 +- fs/utimes.c | 4 +- fs/wrapfs/Kconfig | 8 + fs/wrapfs/Makefile | 7 + fs/wrapfs/dentry.c | 49 + fs/wrapfs/file.c | 381 +++ fs/wrapfs/inode.c | 584 +++++ fs/wrapfs/lookup.c | 325 +++ fs/wrapfs/main.c | 176 ++ fs/wrapfs/mmap.c | 93 + fs/wrapfs/super.c | 208 ++ fs/wrapfs/wrapfs.h | 207 ++ fs/xfs/libxfs/xfs_alloc.c | 2 + fs/xfs/libxfs/xfs_alloc_btree.c | 1 + fs/xfs/libxfs/xfs_attr_leaf.c | 1 + fs/xfs/libxfs/xfs_attr_remote.c | 1 + fs/xfs/libxfs/xfs_bmap_btree.c | 1 + fs/xfs/libxfs/xfs_da_btree.c | 1 + fs/xfs/libxfs/xfs_dir2_block.c | 1 + fs/xfs/libxfs/xfs_dir2_data.c | 2 + fs/xfs/libxfs/xfs_dir2_leaf.c | 2 + fs/xfs/libxfs/xfs_dir2_node.c | 1 + fs/xfs/libxfs/xfs_dquot_buf.c | 4 +- fs/xfs/libxfs/xfs_format.h | 2 +- fs/xfs/libxfs/xfs_ialloc.c | 1 + fs/xfs/libxfs/xfs_ialloc_btree.c | 1 + fs/xfs/libxfs/xfs_inode_buf.c | 2 + fs/xfs/libxfs/xfs_sb.c | 5 +- fs/xfs/libxfs/xfs_symlink_remote.c | 1 + fs/xfs/xfs_acl.c | 13 +- fs/xfs/xfs_buf.c | 2 +- fs/xfs/xfs_buf.h | 1 + fs/xfs/xfs_error.c | 4 +- fs/xfs/xfs_file.c | 2 +- fs/xfs/xfs_fsops.c | 4 +- fs/xfs/xfs_inode.c | 28 +- fs/xfs/xfs_ioctl.c | 2 +- fs/xfs/xfs_iops.c | 94 +- fs/xfs/xfs_iops.h | 3 +- fs/xfs/xfs_super.c | 10 + include/asm-generic/siginfo.h | 15 - include/asm-generic/uaccess.h | 30 +- include/asm-generic/vmlinux.lds.h | 4 + include/drm/drm_dp_helper.h | 4 + include/drm/ttm/ttm_bo_api.h | 14 + include/linux/bcma/bcma.h | 1 + include/linux/can/dev.h | 25 +- include/linux/device-mapper.h | 2 + include/linux/fs.h | 2 +- include/linux/fsnotify_backend.h | 6 +- include/linux/hash.h | 20 +- include/linux/i8042.h | 6 - include/linux/irq.h | 10 + include/linux/irqchip/arm-gic-v3.h | 4 +- include/linux/mfd/samsung/s2mps11.h | 2 + include/linux/mm.h | 1 + include/linux/mount.h | 2 + include/linux/namei.h | 2 + include/linux/netdevice.h | 45 +- include/linux/netfilter/x_tables.h | 16 +- include/linux/page-flags.h | 10 +- include/linux/pagemap.h | 38 +- include/linux/pci_ids.h | 7 + include/linux/pipe_fs_i.h | 4 + include/linux/platform_data/asoc-s3c.h | 4 + include/linux/posix_acl.h | 1 + include/linux/radix-tree.h | 1 + include/linux/sched.h | 1 + include/linux/serio.h | 24 +- include/linux/signal.h | 15 + include/linux/skbuff.h | 24 + include/linux/sunrpc/clnt.h | 2 - include/linux/tty.h | 2 +- include/linux/uio.h | 2 +- include/linux/usb.h | 5 +- include/linux/usb/ehci_def.h | 4 +- include/linux/usb/hcd.h | 1 + include/net/bonding.h | 1 + include/net/codel.h | 4 + include/net/ip_vs.h | 17 + include/net/sch_generic.h | 20 +- include/net/tcp.h | 2 + include/rdma/ib.h | 16 + include/sound/hda_regmap.h | 2 + include/trace/events/sunrpc.h | 47 +- include/uapi/linux/magic.h | 2 + include/uapi/linux/v4l2-dv-timings.h | 30 +- ipc/msg.c | 2 +- ipc/sem.c | 12 +- kernel/auditsc.c | 333 ++- kernel/bpf/verifier.c | 2 +- kernel/cgroup.c | 13 +- kernel/cpuset.c | 32 +- kernel/events/ring_buffer.c | 10 +- kernel/events/uprobes.c | 5 +- kernel/exit.c | 29 +- kernel/futex.c | 2 +- kernel/locking/mutex.c | 9 +- kernel/module.c | 13 +- kernel/ptrace.c | 33 +- kernel/sched/core.c | 28 +- kernel/sched/proc.c | 11 +- kernel/sysctl.c | 23 + kernel/time/posix-cpu-timers.c | 1 + kernel/time/timekeeping.c | 33 +- kernel/time/timekeeping_debug.c | 9 +- kernel/trace/ring_buffer.c | 80 +- kernel/trace/trace.c | 29 +- kernel/trace/trace_events.c | 9 +- kernel/trace/trace_printk.c | 7 +- kernel/workqueue.c | 40 + lib/dma-debug.c | 2 +- lib/iov_iter.c | 24 +- mm/compaction.c | 117 +- mm/gup.c | 14 +- mm/huge_memory.c | 13 +- mm/hugetlb.c | 4 + mm/ksm.c | 3 +- mm/list_lru.c | 2 + mm/memory-failure.c | 22 - mm/migrate.c | 14 +- mm/page_alloc.c | 6 +- mm/page_isolation.c | 8 +- mm/percpu.c | 73 +- mm/shmem.c | 10 +- mm/swap.c | 9 +- mm/vmscan.c | 2 +- net/ax25/ax25_ip.c | 15 + net/batman-adv/routing.c | 9 + net/batman-adv/send.c | 6 + net/batman-adv/soft-interface.c | 8 +- net/bluetooth/l2cap_sock.c | 2 +- net/bluetooth/rfcomm/sock.c | 20 +- net/bridge/br_ioctl.c | 5 +- net/ceph/osdmap.c | 156 +- net/core/dev.c | 1 + net/core/rtnetlink.c | 22 +- net/decnet/dn_route.c | 9 +- net/ethernet/eth.c | 2 +- net/ipv4/af_inet.c | 2 +- net/ipv4/devinet.c | 4 + net/ipv4/fib_frontend.c | 10 +- net/ipv4/fou.c | 4 +- net/ipv4/gre_offload.c | 2 +- net/ipv4/igmp.c | 3 +- net/ipv4/ip_tunnel.c | 3 +- net/ipv4/netfilter/arp_tables.c | 336 +-- net/ipv4/netfilter/ip_tables.c | 371 +-- net/ipv4/netfilter/nf_nat_masquerade_ipv4.c | 12 +- net/ipv4/ping.c | 4 + net/ipv4/route.c | 12 + net/ipv4/tcp_input.c | 54 +- net/ipv4/tcp_metrics.c | 2 +- net/ipv4/tcp_output.c | 6 +- net/ipv4/udp.c | 12 +- net/ipv4/udp_offload.c | 9 +- net/ipv4/udp_tunnel.c | 2 + net/ipv6/addrconf.c | 2 + net/ipv6/exthdrs_core.c | 6 +- net/ipv6/ip6_gre.c | 2 + net/ipv6/ip6_offload.c | 2 +- net/ipv6/ip6_tunnel.c | 4 +- net/ipv6/mcast.c | 3 +- net/ipv6/netfilter/ip6_tables.c | 365 +-- net/ipv6/tcp_ipv6.c | 4 +- net/ipv6/udp.c | 10 +- net/irda/af_irda.c | 7 +- net/l2tp/l2tp_ip.c | 8 +- net/l2tp/l2tp_ip6.c | 8 +- net/llc/af_llc.c | 1 + net/mac80211/cfg.c | 2 +- net/mac80211/ibss.c | 22 +- net/mac80211/iface.c | 3 + net/mac80211/mesh.c | 4 + net/mac80211/rx.c | 29 +- net/mac80211/sta_info.c | 24 +- net/mac80211/tx.c | 6 +- net/netfilter/ipvs/ip_vs_core.c | 37 +- net/netfilter/ipvs/ip_vs_pe_sip.c | 2 +- net/netfilter/nf_conntrack_core.c | 4 +- net/netfilter/nf_nat_redirect.c | 2 +- net/netfilter/x_tables.c | 295 ++- net/netlabel/netlabel_kapi.c | 12 +- net/netlink/af_netlink.c | 7 +- net/openvswitch/actions.c | 4 +- net/packet/af_packet.c | 56 +- net/sched/sch_api.c | 8 +- net/sched/sch_cbq.c | 12 +- net/sched/sch_choke.c | 6 +- net/sched/sch_codel.c | 10 +- net/sched/sch_drr.c | 9 +- net/sched/sch_dsmark.c | 11 +- net/sched/sch_fq.c | 4 +- net/sched/sch_fq_codel.c | 17 +- net/sched/sch_generic.c | 5 +- net/sched/sch_hfsc.c | 9 +- net/sched/sch_hhf.c | 10 +- net/sched/sch_htb.c | 24 +- net/sched/sch_multiq.c | 16 +- net/sched/sch_netem.c | 74 +- net/sched/sch_pie.c | 5 +- net/sched/sch_prio.c | 15 +- net/sched/sch_qfq.c | 9 +- net/sched/sch_red.c | 10 +- net/sched/sch_sfb.c | 10 +- net/sched/sch_sfq.c | 16 +- net/sched/sch_tbf.c | 15 +- net/sctp/ipv6.c | 2 + net/socket.c | 38 +- net/sunrpc/auth_gss/svcauth_gss.c | 4 +- net/sunrpc/cache.c | 6 +- net/sunrpc/clnt.c | 12 +- net/tipc/bearer.c | 11 +- net/tipc/bearer.h | 13 + net/tipc/netlink_compat.c | 2 +- net/tipc/socket.c | 3 + net/tipc/udp_media.c | 5 + net/unix/af_unix.c | 66 +- net/vmw_vsock/af_vsock.c | 21 +- net/wireless/nl80211.c | 2 +- net/x25/x25_facilities.c | 1 + net/xfrm/xfrm_input.c | 3 + scripts/Makefile.extrawarn | 1 + scripts/gcc-x86_64-has-stack-protector.sh | 2 +- scripts/mod/file2alias.c | 2 +- scripts/recordmcount.c | 9 +- scripts/sortextable.c | 32 + security/keys/key.c | 2 +- security/keys/proc.c | 2 +- sound/core/control.c | 2 + sound/core/pcm.c | 14 +- sound/core/pcm_lib.c | 2 +- sound/core/rawmidi.c | 4 +- sound/core/timer.c | 261 +- sound/drivers/dummy.c | 1 + sound/firewire/fireworks/fireworks.h | 1 - sound/firewire/fireworks/fireworks_hwdep.c | 71 +- sound/firewire/fireworks/fireworks_proc.c | 4 +- sound/firewire/fireworks/fireworks_transaction.c | 5 +- sound/hda/array.c | 4 +- sound/hda/hdac_device.c | 10 +- sound/hda/hdac_regmap.c | 42 +- sound/pci/au88x0/au88x0_core.c | 5 +- sound/pci/echoaudio/echoaudio.c | 4 +- sound/pci/hda/hda_controller.c | 2 +- sound/pci/hda/hda_controller.h | 2 +- sound/pci/hda/hda_generic.c | 2 + sound/pci/hda/hda_intel.c | 14 +- sound/pci/hda/hda_sysfs.c | 8 - sound/pci/hda/patch_realtek.c | 261 +- sound/soc/atmel/atmel_ssc_dai.c | 5 +- sound/soc/codecs/ak4642.c | 36 +- sound/soc/codecs/rt5640.c | 2 +- sound/soc/codecs/rt5640.h | 36 +- sound/soc/codecs/ssm4567.c | 5 + sound/soc/samsung/ac97.c | 26 +- sound/soc/samsung/dma.h | 2 +- sound/soc/samsung/dmaengine.c | 4 +- sound/soc/samsung/i2s.c | 26 +- sound/soc/samsung/pcm.c | 20 +- sound/soc/samsung/s3c-i2s-v2.c | 2 +- sound/soc/samsung/s3c-i2s-v2.h | 2 +- sound/soc/samsung/s3c2412-i2s.c | 4 +- sound/soc/samsung/s3c24xx-i2s.c | 4 +- sound/soc/samsung/spdif.c | 10 +- sound/usb/line6/pcm.c | 3 +- sound/usb/line6/pod.c | 12 +- sound/usb/quirks-table.h | 17 + sound/usb/quirks.c | 30 +- sound/usb/stream.c | 6 +- tools/lib/traceevent/parse-filter.c | 4 +- tools/perf/Documentation/perf-stat.txt | 8 + tools/perf/util/event.c | 2 +- virt/kvm/irqchip.c | 2 +- virt/kvm/kvm_main.c | 4 +- 982 files changed, 13240 insertions(+), 8818 deletions(-) commit 9902b824f09a1aa25ebe8b93764600de3d67d918 Author: Erez Zadok <[email protected]> Date: Tue Dec 27 18:19:41 2016 -0500 Wrapfs: inode_change_ok renamed setattr_prepare Signed-off-by: Erez Zadok <[email protected]> commit 375e07d04abbbfebb88a8da312eb230bcf1f7da0 Author: Erez Zadok <[email protected]> Date: Sat May 21 23:59:03 2016 -0400 Wrapfs: support NFS exports Based on patch from Sandeep Joshi <[email protected]>. Signed-off-by: Erez Zadok <[email protected]> commit 7dc173dd10d099560988e29dc863fa28df1e9160 Author: Erez Zadok <[email protected]> Date: Sat May 21 23:59:03 2016 -0400 Wrapfs: use d_splice_alias Refactor interpose code to allow lookup to use d_splice_alias. Signed-off-by: Erez Zadok <[email protected]> commit 33a2cbd134bc03c1f657b6b7f975fd4871631078 Author: Erez Zadok <[email protected]> Date: Tue Nov 3 21:31:17 2015 -0500 Wrapfs: update copyright year to 2015 commit 73d0ad2a1b594cd190a4ed4f102716d88dcdf4a8 Author: Erez Zadok <[email protected]> Date: Tue Nov 3 21:31:17 2015 -0500 Wrapfs: use vfs xattr helpers Signed-off-by: Erez Zadok <[email protected]> commit 6343e7064d5c9c9ee1bb6492f5f0dcb4cadf23ad Author: Erez Zadok <[email protected]> Date: Fri Sep 4 22:11:34 2015 -0400 Wrapfs: update ->direct_IO op prototype Signed-off-by: Erez Zadok <[email protected]> commit df8e7e879711a3ea54ee409bcae2c108bc23a064 Author: Erez Zadok <[email protected]> Date: Fri Sep 4 22:10:34 2015 -0400 Wrapfs: use d_inode macro Signed-off-by: Erez Zadok <[email protected]> commit 970bdfdd0c0ee5301c1dc7c6491ce5d87b2b76ea Author: Erez Zadok <[email protected]> Date: Fri Sep 4 22:09:34 2015 -0400 Wrapfs: remove aio_read/write ops Signed-off-by: Erez Zadok <[email protected]> commit fd73e16841e834be673d612754966661195852aa Author: Erez Zadok <[email protected]> Date: Fri Aug 15 22:48:32 2014 -0400 Wrapfs: properly copy meta-data after AIO operations from lower inode Signed-off-by: Mengyang Li <[email protected]> Signed-off-by: Erez Zadok <[email protected]> commit ff414f9bdc6450e4ab861d16c035836f21512487 Author: Erez Zadok <[email protected]> Date: Mon Aug 11 18:10:35 2014 -0400 Wrapfs: leave placeholders for updating upper inode after AIO Signed-off-by: Erez Zadok <[email protected]> commit 9ee0b4399f1bf1305ee306d8ef4ee32e631f6ba0 Author: Erez Zadok <[email protected]> Date: Sun Aug 10 00:40:56 2014 -0400 Wrapfs: protect lower_file by ref-count during aio operation Signed-off-by: Erez Zadok <[email protected]> Signed-off-by: Mengyang Li <[email protected]> commit 204a664896c6d0b01d0f8390bf20841aecdabcd7 Author: Erez Zadok <[email protected]> Date: Sun Aug 10 00:40:56 2014 -0400 Wrapfs: add read_iter/write_iter opeations Signed-off-by: Erez Zadok <[email protected]> Signed-off-by: Mengyang Li <[email protected]> commit 7359b369353fba8a567e69c9e49c4d7bfbe70ad7 Author: Erez Zadok <[email protected]> Date: Sun Aug 10 00:40:56 2014 -0400 Wrapfs: update to new direct_IO interface Signed-off-by: Mengyang Li <[email protected]> Signed-off-by: Erez Zadok <[email protected]> commit b17aca61f05377c8e302ec76fee83069dc847c6a Author: Erez Zadok <[email protected]> Date: Sat Jul 26 19:06:53 2014 -0400 Wrapfs: update wrapfs_fsync In v3.16 generic_file_fsync will access ->i_sb->s_bdev->bd_disk, but s_bdev is NULL for wrapfs inode. This will trigger a kernel panic in xfstests generic/075, generic/091, etc. as of kernel v3.16-rc1. This patch fixes this issue by using __generic_file_fsync, a new interface introduced in v3.16. Signed-off-by: Mengyang Li <[email protected]> Signed-off-by: Erez Zadok <[email protected]> commit 47e16ca7fae106349afe422eba7e406e7b1a77c4 Author: Erez Zadok <[email protected]> Date: Wed Jun 25 22:37:16 2014 -0400 Wrapfs: fix ->llseek to update upper and lower offsets Fixes bug: xfstests generic/257. f_pos consistently is required by and only by dir_ops->wrapfs_readdir, main_ops is not affected. Signed-off-by: Erez Zadok <[email protected]> Signed-off-by: Mengyang Li <[email protected]> commit 8edf15d1709002ede11248e92793a7b55f6745ca Author: Erez Zadok <[email protected]> Date: Wed Jun 25 22:30:27 2014 -0400 Wrapfs: support extended attributes (xattr) operations Signed-off-by: Erez Zadok <[email protected]> Signed-off-by: Mengyang Li <[email protected]> commit 2f7676ea537c6f1412e733bebf0d69758e75ebdc Author: Erez Zadok <[email protected]> Date: Fri Jun 20 19:40:04 2014 -0400 Wrapfs: support asynchronous-IO (AIO) operations Signed-off-by: Li Mengyang <[email protected]> Signed-off-by: Erez Zadok <[email protected]> commit b97349847280e29358fb7c7ae5b5b2829af9e092 Author: Erez Zadok <[email protected]> Date: Fri Jun 20 19:39:40 2014 -0400 Wrapfs: support direct-IO (DIO) operations Signed-off-by: Li Mengyang <[email protected]> Signed-off-by: Erez Zadok <[email protected]> commit 21e9ce7daeb07d29e3e477cbc65962715e7d7e59 Author: Erez Zadok <[email protected]> Date: Wed May 14 23:45:28 2014 -0400 Wrapfs: implement vm_ops->page_mkwrite Some file systems (e.g., ext4) require it. Reported by Ted Ts'o. Signed-off-by: Erez Zadok <[email protected]> commit 88d2d25e45b5355dda3f1f4fb92349e5a0bdd0f5 Author: Erez Zadok <[email protected]> Date: Sat Apr 26 22:43:20 2014 -0400 Wrapfs: use new vfs_rename prototype Signed-off-by: Erez Zadok <[email protected]> commit 0c5aa58fd10a6bcec9a966b543f1154f84ddfef4 Author: Erez Zadok <[email protected]> Date: Thu Apr 3 13:24:28 2014 -0400 Wrapfs: update documentation Signed-off-by: Erez Zadok <[email protected]> commit 26e4f044514b8b29e00ddfa1c5cc595370905a05 Author: Erez Zadok <[email protected]> Date: Thu Apr 3 13:17:55 2014 -0400 Wrapfs: update maintainers Signed-off-by: Erez Zadok <[email protected]> commit 3153fa3de0bed910e2b97884b452a9972afee590 Author: Erez Zadok <[email protected]> Date: Tue Jan 21 03:03:00 2014 -0500 Wrapfs: update documentation Signed-off-by: Erez Zadok <[email protected]> commit 620ddb15ff7215f61d4f0e0e59a38164f58a8294 Author: Erez Zadok <[email protected]> Date: Tue Jan 21 01:25:54 2014 -0500 Wrapfs: 2014 Copyright update Signed-off-by: Erez Zadok <[email protected]> commit 81260a69c43c6b9385d0ae95594a359769f8f849 Author: Erez Zadok <[email protected]> Date: Tue Nov 26 23:05:22 2013 -0500 Wrapfs: use generic put_link helper Signed-off-by: Erez Zadok <[email protected]> commit 7f287addbac2730e209adeb5bf5fc7bf1b99754e Author: Erez Zadok <[email protected]> Date: Tue Nov 26 23:03:46 2013 -0500 Wrapfs: remove unnecessary initializations Signed-off-by: Erez Zadok <[email protected]> commit ade3dacd9577ab3142fb8433806247f835230dc7 Author: Erez Zadok <[email protected]> Date: Sun Nov 24 11:12:07 2013 -0500 Wrapfs: remove deprecated init_lower_nd Signed-off-by: Erez Zadok <[email protected]> commit dde38754d8402af380a9024ce1368012e6a51fa5 Author: Erez Zadok <[email protected]> Date: Tue Nov 19 19:00:00 2013 -0500 Wrapfs: update MAINTAINERS info Signed-off-by: Erez Zadok <[email protected]> commit 5dd4458cedc0e6513b39eaa09851b05eec221081 Author: Erez Zadok <[email protected]> Date: Tue Nov 19 18:59:47 2013 -0500 patch wrapfs-copyright-update.patch commit b972896c446f73771eb12a96865d1ad9b348d911 Author: Erez Zadok <[email protected]> Date: Tue Nov 19 17:23:31 2013 -0500 Wrapfs: use DCACHE_OP_REVALIDATE flag in ->d_revalidate Signed-off-by: Erez Zadok <[email protected]> commit 929a96f095b7f8fad2d317b7cb2fe8eda9c849b7 Author: Erez Zadok <[email protected]> Date: Tue Nov 19 17:22:31 2013 -0500 Wrapfs: implement ->getattr Signed-off-by: Erez Zadok <[email protected]> commit 5779b81d570be89688db785e4a1a8f1510335829 Author: Erez Zadok <[email protected]> Date: Tue Nov 19 17:21:31 2013 -0500 Wrapfs: use file_inode helper Signed-off-by: Erez Zadok <[email protected]> commit 0b6510d43a4d2426bcb6f6e66240176454f4d43f Author: Erez Zadok <[email protected]> Date: Tue Nov 19 17:20:31 2013 -0500 Wrapfs: call filemap_write_and_wait in ->flush Signed-off-by: Erez Zadok <[email protected]> commit cc740731e9a44f10c3649325239e5a3d5ace5d39 Author: Erez Zadok <[email protected]> Date: Tue Nov 19 17:19:31 2013 -0500 Wrapfs: handle new VFS API with delegation support For now, wrapfs isn't supporting NFS delegations. Signed-off-by: Erez Zadok <[email protected]> commit b9842cc7c3c4dc04251ee772a87697cde54f9c01 Author: Erez Zadok <[email protected]> Date: Tue Nov 19 17:18:31 2013 -0500 VFS: export vfs_path_lookup In 3.12, this useful function was unexported: wrapfs needs a way to lookup relative to a struct path and use a proper vfsmount, unlike lookup_one_len. Signed-off-by: Erez Zadok <[email protected]> commit 0432a1abf4ab78d952848d770aa936328a5aad2a Author: Erez Zadok <[email protected]> Date: Tue Nov 19 17:17:31 2013 -0500 Wrapfs: ->readdir op now ->iterate Signed-off-by: Erez Zadok <[email protected]> commit e9841c396f62e78c51e665e3d63c51c24a9eb4c1 Author: Erez Zadok <[email protected]> Date: Wed Jun 5 01:36:58 2013 -0400 Wrapfs: copy lower inode attributes in ->ioctl Some ioctls (e.g., EXT2_IOC_SETFLAGS) can change inode attributes, so copy them from lower inode. Signed-off-by: Erez Zadok <[email protected]> commit 321ef1bc6788a7716dfa9afef271ddf1e956c3d9 Author: Erez Zadok <[email protected]> Date: Wed Jun 5 01:36:58 2013 -0400 Wrapfs: remove unnecessary call to vm_unmap in ->mmap Code is unnecessary and causes deadlocks in newer kernels. Signed-off-by: Erez Zadok <[email protected]> commit 7c52513c0b0d2fca085a7458b871ef991293dabc Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:32 2013 -0400 Wrapfs: declare MODULE_ALIAS_FS Signed-off-by: Erez Zadok <[email protected]> commit 93caaafdf79fbaf3db3057509a1e8be91c2c8fb5 Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:32 2013 -0400 Wrapfs: don't use FS_REVAL_DOT in fs_flags Signed-off-by: Erez Zadok <[email protected]> commit d400e52748c1f0fd9dd06a113af47b44c68f734d Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:31 2013 -0400 Wrapfs: remove dependency on now-defunct CONFIG_EXPERIMENTAL Signed-off-by: Erez Zadok <[email protected]> commit d454e74aa70da1d93b1fed63359338c70b8749e2 Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:31 2013 -0400 Wrapfs: dentry_open() no longer does mntput/dput We need to grab a reference on the path before dentry_open, and drop it after. Signed-off-by: Erez Zadok <[email protected]> commit d5aaed9f0ea653f52b8cb46172466d9100a9fa8f Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:30 2013 -0400 Wrapfs: no need to call mnt_want_write any longer Apparently this is now being done by the VFS. Signed-off-by: Erez Zadok <[email protected]> commit 2aee7181509f94bae07fc6d2e8ec4a1405a71c5b Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:30 2013 -0400 Wrapfs: remove VM_CAN_NONLINEAR flag use in ->mmap Signed-off-by: Erez Zadok <[email protected]> commit 67f73db1fd8726b1f25951b4bf7cb323efca69f0 Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:29 2013 -0400 Wrapfs: ->lookup takes flags not a nameidata Signed-off-by: Erez Zadok <[email protected]> commit da56903f0d851d67fb8a88a44fd8c8a710b8cf87 Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:29 2013 -0400 Wrapfs: ->create no longer takes a nameidata, only a flag Signed-off-by: Erez Zadok <[email protected]> commit 4527c7e350d98087731f3b856bfd50c09c5124aa Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:29 2013 -0400 Wrapfs: ->d_revalidate now takes namei flags, not nameidata Signed-off-by: Erez Zadok <[email protected]> commit a008ef8c7f7d1918e6008594b6f7591d0650174a Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:28 2013 -0400 Wrapfs: struct nameidata no longer has an open-intent data Signed-off-by: Erez Zadok <[email protected]> commit 5dd148e148d6a4d11e9fe578f57b80df97ed9ac8 Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:28 2013 -0400 Wrapfs: dentry_open now takes a struct path Signed-off-by: Erez Zadok <[email protected]> commit df7a002aa87ef8470ce7016525bdd662dbfdd970 Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:27 2013 -0400 Wrapfs: use vm_munmap in ->mmap Signed-off-by: Erez Zadok <[email protected]> commit baf0ede14c1d4fc83e97e0990ae7ab5f17599410 Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:27 2013 -0400 Wrapfs: use clear_inode in evict_inode Signed-off-by: Erez Zadok <[email protected]> commit 0e66f57fb3313c6b3726e69768459f2bfaa8f0b3 Author: Erez Zadok <[email protected]> Date: Tue Jun 4 23:19:26 2013 -0400 Wrapfs: use d_make_root Signed-off-by: Erez Zadok <[email protected]> commit 60bc6ac5626918a4e7c87e2ba3fbcf98efe32ed2 Author: Erez Zadok <[email protected]> Date: Tue Jan 31 04:40:19 2012 -0500 Wrapfs: use mode_t Signed-off-by: Erez Zadok <[email protected]> commit b45cd61fcd5472656e703b12e473ec636700c846 Author: Erez Zadok <[email protected]> Date: Sun Jan 29 20:34:27 2012 -0500 Wrapfs: use set_nlink() Signed-off-by: Erez Zadok <[email protected]> commit e7f4224e49cbed3a9fc97bca2ae490ea4a7e481c Author: Erez Zadok <[email protected]> Date: Fri Sep 9 00:47:49 2011 -0400 Wrapfs: drop our dentry in ->rmdir Also clear nlinks on our inode. Signed-off-by: Erez Zadok <[email protected]> commit efb93be711fe84c78943b3ec68eb10618fc8ca5e Author: Erez Zadok <[email protected]> Date: Tue Sep 6 00:10:32 2011 -0400 Wrapfs: use d_alloc_root Signed-off-by: Erez Zadok <[email protected]> commit 5bfa3e33ecc127217271b66cabbe962c74d8292a Author: Erez Zadok <[email protected]> Date: Tue Sep 6 00:10:31 2011 -0400 Wrapfs: use d_set_d_op Signed-off-by: Erez Zadok <[email protected]> commit f41a975534f01627c8cd24e3d9a88e55b735f05e Author: Erez Zadok <[email protected]> Date: Tue Sep 6 00:10:30 2011 -0400 Wrapfs: use updated vfs_path_lookup prototype Signed-off-by: Erez Zadok <[email protected]> commit 29585f2dfabf498d38d0d0cf549285dfe3f11c4a Author: Erez Zadok <[email protected]> Date: Tue Sep 6 00:10:30 2011 -0400 Wrapfs: ->fsync updates for new prototype Signed-off-by: Erez Zadok <[email protected]> commit b8e86eeeb6536d443fe5414fdc217d1407646599 Author: Erez Zadok <[email protected]> Date: Tue Sep 6 00:10:29 2011 -0400 Wrapfs: support LOOKUP_RCU in ->d_revalidate Signed-off-by: Erez Zadok <[email protected]> commit 4b2f88649e3f028f48b445b56c8a91b232906b57 Author: Erez Zadok <[email protected]> Date: Tue Sep 6 00:10:28 2011 -0400 Wrapfs: new ->permission prototype and fixes. Signed-off-by: Erez Zadok <[email protected]> commit 87b4d585ce983b4e6fdf778c7f95edb1a754dbf1 Author: Erez Zadok <[email protected]> Date: Mon May 2 02:00:02 2011 -0400 Wrapfs: lookup fixes Don't use lookup_one_len any longer (doesn't work for NFS). Initialize lower wrapfs_dentry_info so lower_path is NULL. Signed-off-by: Erez Zadok <[email protected]> commit f54e74a0746007f22b8596c9e63c299cdfbe8f38 Author: Erez Zadok <[email protected]> Date: Fri Mar 18 13:14:28 2011 -0400 Wrapfs: remove extra debug in rmdir Signed-off-by: Erez Zadok <[email protected]> commit 492548acf2d542caa4f78d145fa6902efedc2e97 Author: Erez Zadok <[email protected]> Date: Fri Mar 18 12:38:01 2011 -0400 Wrapfs: checkpatch fixes Signed-off-by: Erez Zadok <[email protected]> commit 53edf5937989a72b81b09567aec20df82f414d5a Author: Erez Zadok <[email protected]> Date: Fri Mar 18 00:45:17 2011 -0400 Wrapfs: port to 2.6.39 Remove lock/unlock_kernel in ->fasync. Convert from ->get_sb to ->mount op. Remove include to smp_lock.h, added sched.h. Signed-off-by: Erez Zadok <[email protected]> commit 61807b309b7fdf8c57210c3237fcc533bdea1bd7 Author: Erez Zadok <[email protected]> Date: Thu Mar 17 23:21:55 2011 -0400 Wrapfs: copyright update for 2011 Signed-off-by: Erez Zadok <[email protected]> commit 3f26224c039ad618d8948d91ea8bf51e4927535f Author: Erez Zadok <[email protected]> Date: Thu Mar 17 23:21:55 2011 -0400 Wrapfs: better handling of NFS silly-renamed files In ->unlink, if we try to unlink an NFS silly-renamed file, NFS returns -EBUSY. We have to treat it as a success and return 0 to the VFS. NFS will remove silly-deleted files later on anyway. Signed-off-by: Erez Zadok <[email protected]> commit c406ac1e3d8c92fb700d371fbc9db71956cf96fc Author: Erez Zadok <[email protected]> Date: Thu Mar 17 23:21:55 2011 -0400 Wrapfs: update parent directory inode size in inode ops After ->unlink, ->rmdir, and ->rename, we need to copy the (possibly changed) inode size of the parent directory(ies) where the operation took place. Signed-off-by: Erez Zadok <[email protected]> commit f42b063bc9cfe3d91d252e9c2f6811bf8caf043d Author: Erez Zadok <[email protected]> Date: Thu Mar 17 23:21:55 2011 -0400 Wrapfs: remove unnecessary calls to copy lower inode->n_links Removed from ->create, ->symlink, and ->mknod. Signed-off-by: Erez Zadok <[email protected]> commit dfc5edde50d912cb75a1fbe615ea55d426e432fd Author: Erez Zadok <[email protected]> Date: Mon Mar 7 23:20:33 2011 -0500 Wrapfs: ->setattr fixes Call inode_change_ok on our inode, not lower. Don't copy inode sizes (VFS does it). Pass lower file in struct iattr passed to notify_change on lower inode. Signed-off-by: Erez Zadok <[email protected]> commit 8945318b055a36fcb1b2e77d9a0d5660fd64f5f7 Author: Erez Zadok <[email protected]> Date: Sun Mar 6 16:23:16 2011 -0500 Wrapfs: update ->permission prototye and code for new iperm flag Signed-off-by: Erez Zadok <[email protected]> commit dfca9b3d738bbf223ca46d1b3811ff16079c4d92 Author: Erez Zadok <[email protected]> Date: Fri Nov 12 18:15:05 2010 -0500 Wrapfs: handle maxbytes properly Signed-off-by: Erez Zadok <[email protected]> commit b9b6df4edd61ca0c558d4cd084ab3d200c24a2ab Author: Erez Zadok <[email protected]> Date: Sat Sep 11 15:49:33 2010 -0400 Wrapfs: support ->unlocked_ioctl and ->compat_ioctl Old ->ioctl was split into ->unlocked_ioctl and ->compat_ioctl. Compat version doesn't need to lock_kernel any longer. Signed-off-by: Erez Zadok <[email protected]> commit 07f036da435b45689319d7b1423806b21f886b22 Author: Erez Zadok <[email protected]> Date: Tue Aug 10 23:50:14 2010 -0400 Wrapfs: new vfs_statfs and ->evict_inode prototypes Signed-off-by: Erez Zadok <[email protected]> commit 993182f8a978d9ef722b8c8faa15a36a5bf7ef87 Author: Erez Zadok <[email protected]> Date: Fri Aug 6 23:37:29 2010 -0400 Wrapfs: update ->fsync prototype Signed-off-by: Erez Zadok <[email protected]> commit a5257d82495650a813f19988f657d5f17bb4b33a Author: Erez Zadok <[email protected]> Date: Tue Apr 20 21:22:02 2010 -0400 Wrapfs: update documentation Signed-off-by: Erez Zadok <[email protected]> commit c87cc4398d4e3db123c65feb1b7269af4b1ee511 Author: Erez Zadok <[email protected]> Date: Tue Apr 20 15:32:09 2010 -0400 Wrapfs: include slab.h Signed-off-by: Erez Zadok <[email protected]> commit 7cc8e7026accea0479756f40bb6c81f3c19ffb6d Author: Erez Zadok <[email protected]> Date: Tue Apr 20 15:26:02 2010 -0400 Wrapfs: avoid an extra path_get/put pair in wrapfs_open Signed-off-by: Erez Zadok <[email protected]> commit 74c5c0ffdf207d8ef04049fac4bd6af41fbd650d Author: Erez Zadok <[email protected]> Date: Fri Feb 26 03:18:04 2010 -0500 Wrapfs: decrement nd_path on follow_link error Signed-off-by: Erez Zadok <[email protected]> commit 3d79b649f6058878ea6e05537002004176cb04a5 Author: Erez Zadok <[email protected]> Date: Tue Jan 5 04:27:00 2010 -0500 Wrapfs: don't mention kernel version in modload message Signed-off-by: Erez Zadok <[email protected]> commit 247962e73c5b7a89eacce0a480d766a890224d97 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Kconfig: hook to configure Wrapfs Signed-off-by: Erez Zadok <[email protected]> commit 20c58fcb17ab184f32b34ea6bddbb7029d1bcacb Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Makefile: hook to compile Wrapfs Signed-off-by: Erez Zadok <[email protected]> commit 6144a770fc745136d7d8d114bb02d6138484e2ca Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: file system magic number Signed-off-by: Erez Zadok <[email protected]> commit 61b5e52545e660f2c4dc0cf329caba41cfbe8671 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: Kconfig options Signed-off-by: Erez Zadok <[email protected]> commit 878f08b84908926d6ccee840f7b552b8cd9a2cd4 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: main Makefile Signed-off-by: Erez Zadok <[email protected]> commit e4fd9b898020285d6c7477bc80d324a3dbd13487 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: vm_ops operations Includes necessary address_space workaround ops. Signed-off-by: Erez Zadok <[email protected]> commit 25e86572c2a0dcc7eeef5597662a990bd9b24e12 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: mount-time and module-linkage functions Signed-off-by: Erez Zadok <[email protected]> commit 7506a955f5582c9f593e20642c3eb4a556929982 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: lookup-related functions Main lookup function, nameidata helpers, and stacking-interposition functions. Signed-off-by: Erez Zadok <[email protected]> commit c26b35ae6e3ed54215ef314f64e07e551a7bfec5 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: file operations Signed-off-by: Erez Zadok <[email protected]> commit ddf322513955d290997a06cd99b5befed1271766 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: dentry operations Signed-off-by: Erez Zadok <[email protected]> commit 095ab780768264fe259362d6a6420fa29c6a02ae Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: inode operations Signed-off-by: Erez Zadok <[email protected]> commit e25f5115e79ecc3c4c9b469ebff685d4525ac246 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: superblock operations Signed-off-by: Erez Zadok <[email protected]> commit b0b88a8f5863d973d3ab0db7afe55cefba1112e5 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: main header file Signed-off-by: Erez Zadok <[email protected]> commit 66ba2a04915c084bc601feeacd92d68061b470a3 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: Maintainers Signed-off-by: Erez Zadok <[email protected]> commit 415ba52297c1c8e7985c2f2f6a1987fead15f4c1 Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Documentation: index entry for Wrapfs Signed-off-by: Erez Zadok <[email protected]> commit c7b1379a838c5c468f0672bb9e0b8261d0c9eaaa Author: Erez Zadok <[email protected]> Date: Mon Jan 4 20:45:06 2010 -0500 Wrapfs: introduction and usage documentation Signed-off-by: Erez Zadok <[email protected]> commit 35327468a79dd9e343eaf7e66cc372f8277b2a84 Author: Sasha Levin <[email protected]> Date: Sat Dec 24 11:09:44 2016 -0500 Linux 4.1.37 Signed-off-by: Sasha Levin <[email protected]> commit c27edfb64bbff3cd5d8fc723161128dd4bb57789 Author: Sumit Saxena <[email protected]> Date: Wed Nov 9 02:59:42 2016 -0800 scsi: megaraid_sas: fix macro MEGASAS_IS_LOGICAL to avoid regression [ Upstream commit 5e5ec1759dd663a1d5a2f10930224dd009e500e8 ] This patch will fix regression caused by commit 1e793f6fc0db ("scsi: megaraid_sas: Fix data integrity failure for JBOD (passthrough) devices"). The problem was that the MEGASAS_IS_LOGICAL macro did not have braces and as a result the driver ended up exposing a lot of non-existing SCSI devices (all SCSI commands to channels 1,2,3 were returned as SUCCESS-DID_OK by driver). [mkp: clarified patch description] Fixes: 1e793f6fc0db920400574211c48f9157a37e3945 Reported-by: Jens Axboe <[email protected]> CC: [email protected] Signed-off-by: Kashyap Desai <[email protected]> Signed-off-by: Sumit Saxena <[email protected]> Tested-by: Sumit Saxena <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Tested-by: Jens Axboe <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]> Signed-off-by: Sasha Levin <[email protected]> commit 016d02981cceb7b0f3436278b71fe3ea87542e20 Author: Michal KubeÄek <[email protected]> Date: Wed Dec 14 13:24:58 2016 +0100 tipc: check minimum bearer MTU [ Upstream commit 3de81b758853f0b29c61e246679d20b513c4cfec ] Qian Zhang (å¼ è°¦) reported a potential socket buffer overflow in tipc_msg_build() which is also known as CVE-2016-8632: due to insufficient checks, a buffer overflow can occur if MTU is too short for even tipc headers. As anyone can set device MTU in a user/net namespace, this issue can be abused by a regular user. As agreed in the discussion on Ben Hutchings' original patch, we should check the MTU at the moment a bearer is attached rather than for each processed packet. We also need to repeat the check when bearer MTU is adjusted to new device MTU. UDP case also needs a check to avoid overflow when calculating bearer MTU. References: CVE-2016-8632 Fixes: b97bf3fd8f6a ("[TIPC] Initial merge") Signed-off-by: Michal Kubecek <[email protected]> Reported-by: Qian Zhang (å¼ è°¦) <[email protected]> Acked-by: Ying Xue <[email protected]> Signed-off-by: David S. Miller <[email protected]> Conflicts: net/tipc/bearer.c net/tipc/bearer.h due to 1a90632da8c17a27e0c93538ee987764adee43a5: tipc: eliminate remnants of hungarian notation and b1c29f6b10d5981c89d3ea9b9991ca97141ed6d0 tipc: simplify resetting and disabling of bearers Signed-off-by: Philipp Hahn <[email protected]> Signed-off-by: Sasha Levin <[email protected]> commit efcf38bd40200212ef3de3d38e11c42958f8afaa Author: Kees Cook <[email protected]> Date: Wed Dec 14 13:24:57 2016 +0100 net: ping: check minimum size on ICMP header length [ Upstream commit 0eab121ef8750a5c8637d51534d5e9143fb0633f ] Prior to commit c0371da6047a ("put iov_iter into msghdr") in v3.19, there was no check that the iovec contained enough bytes for an ICMP header, and the read loop would walk across neighboring stack contents. Since the iov_iter conversion, bad arguments are noticed, but the returned error is EFAULT. Returning EINVAL is a clearer error and also solves the problem prior to v3.19. This was found using trinity with KASAN on v3.18: BUG: KASAN: stack-out-of-bounds in memcpy_fromiovec+0x60/0x114 at addr ffffffc071077da0 Read of size 8 by task trinity-c2/9623 page:ffffffbe034b9a08 count:0 mapcount:0 mapping: (null) index:0x0 flags: 0x0() page dumped because: kasan: bad access detected CPU: 0 PID: 9623 Comm: trinity-c2 Tainted: G BU 3.18.0-dirty #15 Hardware name: Google Tegra210 Smaug Rev 1,3+ (DT) Call trace: [<ffffffc000209c98>] dump_backtrace+0x0/0x1ac arch/arm64/kernel/traps.c:90 [<ffffffc000209e54>] show_stack+0x10/0x1c arch/arm64/kernel/traps.c:171 [< inline >] __dump_stack lib/dump_stack.c:15 [<ffffffc000f18dc4>] dump_stack+0x7c/0xd0 lib/dump_stack.c:50 [< inline >] print_address_description mm/kasan/report.c:147 [< inline >] kasan_report_error mm/kasan/report.c:236 [<ffffffc000373dcc>] kasan_report+0x380/0x4b8 mm/kasan/report.c:259 [< inline >] check_memory_region mm/kasan/kasan.c:264 [<ffffffc00037352c>] __asan_load8+0x20/0x70 mm/kasan/kasan.c:507 [<ffffffc0005b9624>] memcpy_fromiovec+0x5c/0x114 lib/iovec.c:15 [< inline >] memcpy_from_msg include/linux/skbuff.h:2667 [<ffffffc000ddeba0>] ping_common_sendmsg+0x50/0x108 net/ipv4/ping.c:674 [<ffffffc000dded30>] ping_v4_sendmsg+0xd8/0x698 net/ipv4/ping.c:714 [<ffffffc000dc91dc>] inet_sendmsg+0xe0/0x12c net/ipv4/af_inet.c:749 [< inline >] __sock_sendmsg_nosec net/socket.c:624 [< inline >] __sock_sendmsg net/socket.c:632 [<ffffffc000cab61c>] sock_sendmsg+0x124/0x164 net/socket.c:643 [< inline >] SYSC_sendto net/socket.c:1797 [<ffffffc000cad270>] SyS_sendto+0x178/0x1d8 net/socket.c:1761 CVE-2016-8399 Reported-by: Qidan He <[email protected]> Fixes: c319b4d76b9e ("net: ipv4: add IPPROTO_ICMP socket kind") Cc: [email protected] Signed-off-by: Kees Cook <[email protected]> Signed-off-by: David S. Miller <[email protected]> Signed-off-by: Philipp Hahn <[email protected]> Signed-off-by: Sasha Levin <[email protected]> diff --git a/.mailmap b/.mailmap index 6287004..d4b4748 100644 --- a/.mailmap +++ b/.mailmap @@ -80,6 +80,7 @@ Leonid I Ananiev <[email protected]> Linas Vepstas <[email protected]> Mark Brown <[email protected]> Matthieu CASTET <[email protected]> +Mauro Carvalho Chehab <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> Mayuresh Janorkar <[email protected]> Michael Buesch <[email protected]> Michel Dänzer <[email protected]> diff --git a/CREDITS b/CREDITS index ec7e6c7..a830a86 100644 --- a/CREDITS +++ b/CREDITS @@ -644,6 +644,7 @@ D: Configure, Menuconfig, xconfig N: Mauro Carvalho Chehab E: [email protected] +E: [email protected] E: [email protected] D: Media subsystem (V4L/DVB) drivers and core D: EDAC drivers and EDAC 3.0 core rework diff --git a/Documentation/ABI/testing/sysfs-bus-iio-proximity-as3935 b/Documentation/ABI/testing/sysfs-bus-iio-proximity-as3935 index 6708c5e..33e96f7 100644 --- a/Documentation/ABI/testing/sysfs-bus-iio-proximity-as3935 +++ b/Documentation/ABI/testing/sysfs-bus-iio-proximity-as3935 @@ -1,4 +1,4 @@ -What /sys/bus/iio/devices/iio:deviceX/in_proximity_raw +What /sys/bus/iio/devices/iio:deviceX/in_proximity_input Date: March 2014 KernelVersion: 3.15 Contact: Matt Ranostay <[email protected]> diff --git a/Documentation/arm/CCN.txt b/Documentation/arm/CCN.txt index 0632b3a..715776f 100644 --- a/Documentation/arm/CCN.txt +++ b/Documentation/arm/CCN.txt @@ -38,7 +38,7 @@ Example of perf tool use: / # perf list | grep ccn ccn/cycles/ [Kernel PMU event] <...> - ccn/xp_valid_flit/ [Kernel PMU event] + ccn/xp_valid_flit,xp=?,port=?,vc=?,dir=?/ [Kernel PMU event] <...> / # perf stat -C 0 -e ccn/cycles/,ccn/xp_valid_flit,xp=1,port=0,vc=1,dir=1/ \ diff --git a/Documentation/devicetree/bindings/ata/ahci-platform.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt index c2340ee..c000832 100644 --- a/Documentation/devicetree/bindings/ata/ahci-platform.txt +++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt @@ -30,6 +30,10 @@ Optional properties: - target-supply : regulator for SATA target power - phys : reference to the SATA PHY node - phy-names : must be "sata-phy" +- ports-implemented : Mask that indicates which ports that the HBA supports + are available for software to use. Useful if PORTS_IMPL + is not programmed by the BIOS, which is true with + some embedded SOC's. Required properties when using sub-nodes: - #address-cells : number of cells to encode an address diff --git a/Documentation/devicetree/bindings/crypto/samsung-sss.txt b/Documentation/devicetree/bindings/crypto/samsung-sss.txt index a6dafa8..7a5ca56 100644 --- a/Documentation/devicetree/bindings/crypto/samsung-sss.txt +++ b/Documentation/devicetree/bindings/crypto/samsung-sss.txt @@ -23,10 +23,8 @@ Required properties: - "samsung,exynos4210-secss" for Exynos4210, Exynos4212, Exynos4412, Exynos5250, Exynos5260 and Exynos5420 SoCs. - reg : Offset and length of the register set for the module -- interrupts : interrupt specifiers of SSS module interrupts, should contain - following entries: - - first : feed control interrupt (required for all variants), - - second : hash interrupt (required only for samsung,s5pv210-secss). +- interrupts : interrupt specifiers of SSS module interrupts (one feed + control interrupt). - clocks : list of clock phandle and specifier pairs for all clocks listed in clock-names property. diff --git a/Documentation/filesystems/porting b/Documentation/filesystems/porting index e69274d..0500895b 100644 --- a/Documentation/filesystems/porting +++ b/Documentation/filesystems/porting @@ -287,8 +287,8 @@ implementing on-disk size changes. Start with a copy of the old inode_setattr and vmtruncate, and the reorder the vmtruncate + foofs_vmtruncate sequence to be in order of zeroing blocks using block_truncate_page or similar helpers, size update and on finally on-disk truncation which should not fail. -inode_change_ok now includes the size checks for ATTR_SIZE and must be called -in the beginning of ->setattr unconditionally. +setattr_prepare (which used to be inode_change_ok) now includes the size checks +for ATTR_SIZE and must be called in the beginning of ->setattr unconditionally. [mandatory] diff --git a/Documentation/module-signing.txt b/Documentation/module-signing.txt index c72702e..aacf1ce 100644 --- a/Documentation/module-signing.txt +++ b/Documentation/module-signing.txt @@ -239,3 +239,9 @@ Since the private key is used to sign modules, viruses and malware could use the private key to sign modules and compromise the operating system. The private key must be either destroyed or moved to a secure location and not kept in the root node of the kernel source tree. + +If you use the same private key to sign modules for multiple kernel +configurations, you must ensure that the module version information is +sufficient to prevent loading a module into a different kernel. Either +set CONFIG_MODVERSIONS=y or ensure that each configuration has a different +kernel release string by changing EXTRAVERSION or CONFIG_LOCALVERSION. diff --git a/Documentation/scsi/scsi_eh.txt b/Documentation/scsi/scsi_eh.txt index 8638f61..37eca00 100644 --- a/Documentation/scsi/scsi_eh.txt +++ b/Documentation/scsi/scsi_eh.txt @@ -263,19 +263,23 @@ scmd->allowed. 3. scmd recovered ACTION: scsi_eh_finish_cmd() is invoked to EH-finish scmd - - shost->host_failed-- - clear scmd->eh_eflags - scsi_setup_cmd_retry() - move from local eh_work_q to local eh_done_q LOCKING: none + CONCURRENCY: at most one thread per separate eh_work_q to + keep queue manipulation lockless 4. EH completes ACTION: scsi_eh_flush_done_q() retries scmds or notifies upper - layer of failure. + layer of failure. May be called concurrently but must have + a no more than one thread per separate eh_work_q to + manipulate the queue locklessly - scmd is removed from eh_done_q and scmd->eh_entry is cleared - if retry is necessary, scmd is requeued using scsi_queue_insert() - otherwise, scsi_finish_command() is invoked for scmd + - zero shost->host_failed LOCKING: queue or finish function performs appropriate locking diff --git a/Documentation/serial/tty.txt b/Documentation/serial/tty.txt index dbe6623..1e52d67 100644 --- a/Documentation/serial/tty.txt +++ b/Documentation/serial/tty.txt @@ -198,9 +198,6 @@ TTY_IO_ERROR If set, causes all subsequent userspace read/write TTY_OTHER_CLOSED Device is a pty and the other side has closed. -TTY_OTHER_DONE Device is a pty and the other side has closed and - all pending input processing has been completed. - TTY_NO_WRITE_SPLIT Prevent driver from splitting up writes into smaller chunks. diff --git a/Documentation/sysctl/fs.txt b/Documentation/sysctl/fs.txt index 88152f2..35e17f7 100644 --- a/Documentation/sysctl/fs.txt +++ b/Documentation/sysctl/fs.txt @@ -32,6 +32,8 @@ Currently, these files are in /proc/sys/fs: - nr_open - overflowuid - overflowgid +- pipe-user-pages-hard +- pipe-user-pages-soft - protected_hardlinks - protected_symlinks - suid_dumpable @@ -159,6 +161,27 @@ The default is 65534. ============================================================== +pipe-user-pages-hard: + +Maximum total number of pages a non-privileged user may allocate for pipes. +Once this limit is reached, no new pipes may be allocated until usage goes +below the limit again. When set to 0, no limit is applied, which is the default +setting. + +============================================================== + +pipe-user-pages-soft: + +Maximum total number of pages a non-privileged user may allocate for pipes +before the pipe size gets limited to a single page. Once this limit is reached, +new pipes will be limited to a single page in size for this user in order to +limit total memory usage, and trying to increase them using fcntl() will be +denied until usage goes below the limit again. The default value allows to +allocate up to 1024 pipes at their default size. When set to 0, no limit is +applied. + +============================================================== + protected_hardlinks: A long-standing class of security issues is the hardlink-based @@ -242,6 +265,13 @@ aio-nr can grow to. ============================================================== +mount-max: + +This denotes the maximum number of mounts that may exist +in a mount namespace. + +============================================================== + 2. /proc/sys/fs/binfmt_misc ---------------------------------------------------------- diff --git a/Documentation/x86/exception-tables.txt b/Documentation/x86/exception-tables.txt index 32901aa..e396bcd 100644 --- a/Documentation/x86/exception-tables.txt +++ b/Documentation/x86/exception-tables.txt @@ -290,3 +290,38 @@ Due to the way that the exception table is built and needs to be ordered, only use exceptions for code in the .text section. Any other section will cause the exception table to not be sorted correctly, and the exceptions will fail. + +Things changed when 64-bit support was added to x86 Linux. Rather than +double the size of the exception table by expanding the two entries +from 32-bits to 64 bits, a clever trick was used to store addresses +as relative offsets from the table itself. The assembly code changed +from: + .long 1b,3b +to: + .long (from) - . + .long (to) - . + +and the C-code that uses these values converts back to absolute addresses +like this: + + ex_insn_addr(const struct exception_table_entry *x) + { + return (unsigned long)&x->insn + x->insn; + } + +In v4.6 the exception table entry was expanded with a new field "handler". +This is also 32-bits wide and contains a third relative function +pointer which points to one of: + +1) int ex_handler_default(const struct exception_table_entry *fixup) + This is legacy case that just jumps to the fixup code +2) int ex_handler_fault(const struct exception_table_entry *fixup) + This case provides the fault number of the trap that occurred at + entry->insn. It is used to distinguish page faults from machine + check. +3) int ex_handler_ext(const struct exception_table_entry *fixup) + This case is used for uaccess_err ... we need to set a flag + in the task structure. Before the handler functions existed this + case was handled by adding a large offset to the fixup to tag + it as special. +More functions can easily be added. diff --git a/MAINTAINERS b/MAINTAINERS index 326fac8..0a822de 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1913,7 +1913,8 @@ F: include/net/ax25.h F: net/ax25/ AZ6007 DVB DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git @@ -2318,7 +2319,8 @@ F: Documentation/filesystems/btrfs.txt F: fs/btrfs/ BTTV VIDEO4LINUX DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git @@ -2882,7 +2884,8 @@ F: drivers/media/common/cx2341x* F: include/media/cx2341x* CX88 VIDEO4LINUX DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git @@ -3614,7 +3617,8 @@ F: fs/ecryptfs/ EDAC-CORE M: Doug Thompson <[email protected]> M: Borislav Petkov <[email protected]> -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: bluesmoke.sourceforge.net T: git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp.git#for-next @@ -3665,7 +3669,8 @@ S: Maintained F: drivers/edac/e7xxx_edac.c EDAC-GHES -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: bluesmoke.sourceforge.net S: Maintained @@ -3693,21 +3698,24 @@ S: Maintained F: drivers/edac/i5000_edac.c EDAC-I5400 -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: bluesmoke.sourceforge.net S: Maintained F: drivers/edac/i5400_edac.c EDAC-I7300 -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: bluesmoke.sourceforge.net S: Maintained F: drivers/edac/i7300_edac.c EDAC-I7CORE -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: bluesmoke.sourceforge.net S: Maintained @@ -3750,7 +3758,8 @@ S: Maintained F: drivers/edac/r82600_edac.c EDAC-SBRIDGE -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: bluesmoke.sourceforge.net S: Maintained @@ -3772,8 +3781,8 @@ 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 -F: arch/x86/platform/efi/* -F: drivers/firmware/efi/* +F: arch/x86/platform/efi/ +F: drivers/firmware/efi/ F: include/linux/efi*.h EFI VARIABLE FILESYSTEM @@ -3810,7 +3819,8 @@ S: Maintained F: drivers/net/ethernet/ibm/ehea/ EM28XX VIDEO4LINUX DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git @@ -6345,7 +6355,8 @@ S: Maintained F: drivers/media/radio/radio-maxiradio* MEDIA INPUT INFRASTRUCTURE (V4L/DVB) -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> P: LinuxTV.org Project L: [email protected] W: http://linuxtv.org @@ -8502,7 +8513,8 @@ S: Odd Fixes F: drivers/media/i2c/saa6588* SAA7134 VIDEO4LINUX DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git @@ -8947,7 +8959,8 @@ S: Maintained F: drivers/media/radio/si4713/radio-usb-si4713.c SIANO DVB DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git @@ -9695,7 +9708,8 @@ S: Maintained F: drivers/media/i2c/tda9840* TEA5761 TUNER DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git @@ -9703,7 +9717,8 @@ S: Odd fixes F: drivers/media/tuners/tea5761.* TEA5767 TUNER DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git @@ -10042,7 +10057,8 @@ F: include/linux/shmem_fs.h F: mm/shmem.c TM6000 VIDEO4LINUX DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git @@ -10909,7 +10925,8 @@ S: Maintained F: arch/x86/vdso/ XC2028/3028 TUNER DRIVER -M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> +M: Mauro Carvalho Chehab <[email protected]> L: [email protected] W: http://linuxtv.org T: git git://linuxtv.org/media_tree.git diff --git a/Makefile b/Makefile index df1d8b1..df72b64 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VERSION = 4 PATCHLEVEL = 1 -SUBLEVEL = 24 +SUBLEVEL = 37 EXTRAVERSION = NAME = Series 4800 @@ -374,7 +374,7 @@ AFLAGS_MODULE = LDFLAGS_MODULE = CFLAGS_KERNEL = AFLAGS_KERNEL = -CFLAGS_GCOV = -fprofile-arcs -ftest-coverage +CFLAGS_GCOV = -fprofile-arcs -ftest-coverage -fno-tree-loop-im # Use USERINCLUDE when you must reference the UAPI directories only. @@ -610,6 +610,8 @@ all: vmlinux include arch/$(SRCARCH)/Makefile KBUILD_CFLAGS += $(call cc-option,-fno-delete-null-pointer-checks,) +KBUILD_CFLAGS += $(call cc-option,-fno-PIE) +KBUILD_AFLAGS += $(call cc-option,-fno-PIE) ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE KBUILD_CFLAGS += -Os $(call cc-disable-warning,maybe-uninitialized,) @@ -686,9 +688,10 @@ KBUILD_CFLAGS += $(call cc-option, -mno-global-merge,) KBUILD_CFLAGS += $(call cc-option, -fcatch-undefined-behavior) else -# This warning generated too much noise in a regular build. -# Use make W=1 to enable this warning (see scripts/Makefile.build) +# These warnings generated too much noise in a regular build. +# Use make W=1 to enable them (see scripts/Makefile.build) KBUILD_CFLAGS += $(call cc-disable-warning, unused-but-set-variable) +KBUILD_CFLAGS += $(call cc-disable-warning, unused-const-variable) endif ifdef CONFIG_FRAME_POINTER diff --git a/arch/alpha/include/asm/uaccess.h b/arch/alpha/include/asm/uaccess.h index 9b0d400..c0ddbbf 100644 --- a/arch/alpha/include/asm/uaccess.h +++ b/arch/alpha/include/asm/uaccess.h @@ -371,14 +371,6 @@ __copy_tofrom_user_nocheck(void *to, const void *from, long len) return __cu_len; } -extern inline long -__copy_tofrom_user(void *to, const void *from, long len, const void __user *validate) -{ - if (__access_ok((unsigned long)validate, len, get_fs())) - len = __copy_tofrom_user_nocheck(to, from, len); - return len; -} - #define __copy_to_user(to, from, n) \ ({ \ __chk_user_ptr(to); \ @@ -393,17 +385,22 @@ __copy_tofrom_user(void *to, const void *from, long len, const void __user *vali #define __copy_to_user_inatomic __copy_to_user #define __copy_from_user_inatomic __copy_from_user - extern inline long copy_to_user(void __user *to, const void *from, long n) { - return __copy_tofrom_user((__force void *)to, from, n, to); + if (likely(__access_ok((unsigned long)to, n, get_fs()))) + n = __copy_tofrom_user_nocheck((__force void *)to, from, n); + return n; } extern inline long copy_from_user(void *to, const void __user *from, long n) { - return __copy_tofrom_user(to, (__force void *)from, n, from); + if (likely(__access_ok((unsigned long)from, n, get_fs()))) + n = __copy_tofrom_user_nocheck(to, (__force void *)from, n); + else + memset(to, 0, n); + return n; } extern void __do_clear_user(void); diff --git a/arch/arc/Makefile b/arch/arc/Makefile index 2f21e1e..305dbdf 100644 --- a/arch/arc/Makefile +++ b/arch/arc/Makefile @@ -34,7 +34,6 @@ cflags-$(atleast_gcc44) += -fsection-anchors cflags-$(CONFIG_ARC_HAS_LLSC) += -mlock cflags-$(CONFIG_ARC_HAS_SWAPE) += -mswape cflags-$(CONFIG_ARC_HAS_RTSC) += -mrtsc -cflags-$(CONFIG_ARC_DW2_UNWIND) += -fasynchronous-unwind-tables # By default gcc 4.8 generates dwarf4 which kernel unwinder can't grok ifeq ($(atleast_gcc48),y) diff --git a/arch/arc/include/asm/entry.h b/arch/arc/include/asm/entry.h index 8840810..81cdbc3 100644 --- a/arch/arc/include/asm/entry.h +++ b/arch/arc/include/asm/entry.h @@ -143,8 +143,6 @@ POP r13 .endm -#define OFF_USER_R25_FROM_R24 (SZ_CALLEE_REGS + SZ_PT_REGS - 8)/4 - /*-------------------------------------------------------------- * Collect User Mode callee regs as struct callee_regs - needed by * fork/do_signal/unaligned-access-emulation. @@ -157,12 +155,13 @@ *-------------------------------------------------------------*/ .macro SAVE_CALLEE_SAVED_USER + mov r12, sp ; save SP as ref to pt_regs SAVE_R13_TO_R24 #ifdef CONFIG_ARC_CURR_IN_REG - ; Retrieve orig r25 and save it on stack - ld.as r12, [sp, OFF_USER_R25_FROM_R24] - st.a r12, [sp, -4] + ; Retrieve orig r25 and save it with rest of callee_regs + ld r12, [r12, PT_user_r25] + PUSH r12 #else PUSH r25 #endif @@ -209,12 +208,16 @@ .macro RESTORE_CALLEE_SAVED_USER #ifdef CONFIG_ARC_CURR_IN_REG - ld.ab r12, [sp, 4] - st.as r12, [sp, OFF_USER_R25_FROM_R24] + POP r12 #else POP r25 #endif RESTORE_R24_TO_R13 + + ; SP is back to start of pt_regs +#ifdef CONFIG_ARC_CURR_IN_REG + st r12, [sp, PT_user_r25] +#endif .endm /*-------------------------------------------------------------- diff --git a/arch/arc/include/asm/irqflags.h b/arch/arc/include/asm/irqflags.h index 27ecc69..853a80e 100644 --- a/arch/arc/include/asm/irqflags.h +++ b/arch/arc/include/asm/irqflags.h @@ -168,10 +168,10 @@ static inline int arch_irqs_disabled(void) .endm .macro IRQ_ENABLE scratch + TRACE_ASM_IRQ_ENABLE lr \scratch, [status32] or \scratch, \scratch, (STATUS_E1_MASK | STATUS_E2_MASK) flag \scratch - TRACE_ASM_IRQ_ENABLE .endm #endif /* __ASSEMBLY__ */ diff --git a/arch/arc/include/asm/uaccess.h b/arch/arc/include/asm/uaccess.h index 30c9baf..08770c7 100644 --- a/arch/arc/include/asm/uaccess.h +++ b/arch/arc/include/asm/uaccess.h @@ -83,7 +83,10 @@ "2: ;nop\n" \ " .section .fixup, \"ax\"\n" \ " .align 4\n" \ - "3: mov %0, %3\n" \ + "3: # return -EFAULT\n" \ + " mov %0, %3\n" \ + " # zero out dst ptr\n" \ + " mov %1, 0\n" \ " j 2b\n" \ " .previous\n" \ " .section __ex_table, \"a\"\n" \ @@ -101,7 +104,11 @@ "2: ;nop\n" \ " .section .fixup, \"ax\"\n" \ " .align 4\n" \ - "3: mov %0, %3\n" \ + "3: # return -EFAULT\n" \ + " mov %0, %3\n" \ + " # zero out dst ptr\n" \ + " mov %1, 0\n" \ + " mov %R1, 0\n" \ " j 2b\n" \ " .previous\n" \ " .section __ex_table, \"a\"\n" \ diff --git a/arch/arc/include/uapi/asm/elf.h b/arch/arc/include/uapi/asm/elf.h index 0f99ac8..0037a58 100644 --- a/arch/arc/include/uapi/asm/elf.h +++ b/arch/arc/include/uapi/asm/elf.h @@ -13,8 +13,15 @@ /* Machine specific ELF Hdr flags */ #define EF_ARC_OSABI_MSK 0x00000f00 -#define EF_ARC_OSABI_ORIG 0x00000000 /* MUST be zero for back-compat */ -#define EF_ARC_OSABI_CURRENT 0x00000300 /* v3 (no legacy syscalls) */ + +#define EF_ARC_OSABI_V3 0x00000300 /* v3 (no legacy syscalls) */ +#define EF_ARC_OSABI_V4 0x00000400 /* v4 (64bit data any reg align) */ + +#if __GNUC__ < 6 +#define EF_ARC_OSABI_CURRENT EF_ARC_OSABI_V3 +#else +#define EF_ARC_OSABI_CURRENT EF_ARC_OSABI_V4 +#endif typedef unsigned long elf_greg_t; typedef unsigned long elf_fpregset_t; diff --git a/arch/arc/kernel/arcksyms.c b/arch/arc/kernel/arcksyms.c index 4d9e777..000dd04 100644 --- a/arch/arc/kernel/arcksyms.c +++ b/arch/arc/kernel/arcksyms.c @@ -28,6 +28,7 @@ extern void __muldf3(void); extern void __divdf3(void); extern void __floatunsidf(void); extern void __floatunsisf(void); +extern void __udivdi3(void); EXPORT_SYMBOL(__ashldi3); EXPORT_SYMBOL(__ashrdi3); @@ -45,6 +46,7 @@ EXPORT_SYMBOL(__muldf3); EXPORT_SYMBOL(__divdf3); EXPORT_SYMBOL(__floatunsidf); EXPORT_SYMBOL(__floatunsisf); +EXPORT_SYMBOL(__udivdi3); /* ARC optimised assembler routines */ EXPORT_SYMBOL(memset); diff --git a/arch/arc/kernel/asm-offsets.c b/arch/arc/kernel/asm-offsets.c index 6c3aa0e..5f14311 100644 --- a/arch/arc/kernel/asm-offsets.c +++ b/arch/arc/kernel/asm-offsets.c @@ -59,5 +59,7 @@ int main(void) DEFINE(SZ_CALLEE_REGS, sizeof(struct callee_regs)); DEFINE(SZ_PT_REGS, sizeof(struct pt_regs)); + DEFINE(PT_user_r25, offsetof(struct pt_regs, user_r25)); + return 0; } diff --git a/arch/arc/kernel/process.c b/arch/arc/kernel/process.c index e095c55..72d3990 100644 --- a/arch/arc/kernel/process.c +++ b/arch/arc/kernel/process.c @@ -201,7 +201,7 @@ int elf_check_arch(const struct elf32_hdr *x) return 0; eflags = x->e_flags; - if ((eflags & EF_ARC_OSABI_MSK) < EF_ARC_OSABI_CURRENT) { + if ((eflags & EF_ARC_OSABI_MSK) != EF_ARC_OSABI_CURRENT) { pr_err("ABI mismatch - you need newer toolchain\n"); force_sigsegv(SIGSEGV, current); return 0; diff --git a/arch/arc/kernel/setup.c b/arch/arc/kernel/setup.c index 1d167c6..321a4b6 100644 --- a/arch/arc/kernel/setup.c +++ b/arch/arc/kernel/setup.c @@ -237,8 +237,10 @@ static char *arc_extn_mumbojumbo(int cpu_id, char *buf, int len) cpu->dccm.base_addr, TO_KB(cpu->dccm.sz), cpu->iccm.base_addr, TO_KB(cpu->iccm.sz)); - n += scnprintf(buf + n, len - n, - "OS ABI [v3]\t: no-legacy-syscalls\n"); + n += scnprintf(buf + n, len - n, "OS ABI [v%d]\t: %s\n", + EF_ARC_OSABI_CURRENT >> 8, + EF_ARC_OSABI_CURRENT == EF_ARC_OSABI_V3 ? + "no-legacy-syscalls" : "64-bit data any register aligned"); return buf; } diff --git a/arch/arc/kernel/stacktrace.c b/arch/arc/kernel/stacktrace.c index 92320d6..5086cc7 100644 --- a/arch/arc/kernel/stacktrace.c +++ b/arch/arc/kernel/stacktrace.c @@ -144,7 +144,7 @@ arc_unwind_core(struct task_struct *tsk, struct pt_regs *regs, * prelogue is setup (callee regs saved and then fp set and not other * way around */ - pr_warn("CONFIG_ARC_DW2_UNWIND needs to be enabled\n"); + pr_warn_once("CONFIG_ARC_DW2_UNWIND needs to be enabled\n"); return 0; #endif diff --git a/arch/arc/mm/cache_arc700.c b/arch/arc/mm/cache_arc700.c index 12b2100..9cfaae9 100644 --- a/arch/arc/mm/cache_arc700.c +++ b/arch/arc/mm/cache_arc700.c @@ -155,6 +155,15 @@ void arc_cache_init(void) printk(arc_cache_mumbojumbo(0, str, sizeof(str))); + /* + * Only master CPU needs to execute rest of function: + * - Assume SMP so all cores will have same cache config so + * any geomtry checks will be same for all + * - IOC setup / dma callbacks only need to be setup once + */ + if (cpu) + return; + if (IS_ENABLED(CONFIG_ARC_HAS_ICACHE)) { struct cpuinfo_arc_cache *ic = &cpuinfo_arc700[cpu].icache; diff --git a/arch/arm/boot/dts/kirkwood-ib62x0.dts b/arch/arm/boot/dts/kirkwood-ib62x0.dts index bfa5edd..2c1e7f0 100644 --- a/arch/arm/boot/dts/kirkwood-ib62x0.dts +++ b/arch/arm/boot/dts/kirkwood-ib62x0.dts @@ -113,7 +113,7 @@ partition@e0000 { label = "u-boot environment"; - reg = <0xe0000 0x100000>; + reg = <0xe0000 0x20000>; }; partition@100000 { diff --git a/arch/arm/boot/dts/stih410.dtsi b/arch/arm/boot/dts/stih410.dtsi index 208b5e8..f7b2c8d 100644 --- a/arch/arm/boot/dts/stih410.dtsi +++ b/arch/arm/boot/dts/stih410.dtsi @@ -33,7 +33,8 @@ compatible = "st,st-ohci-300x"; reg = <0x9a03c00 0x100>; interrupts = <GIC_SPI 180 IRQ_TYPE_NONE>; - clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>; + clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>, + <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>; resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>, <&softreset STIH407_USB2_PORT0_SOFTRESET>; reset-names = "power", "softreset"; @@ -47,7 +48,8 @@ interrupts = <GIC_SPI 151 IRQ_TYPE_NONE>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb0>; - clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>; + clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>, + <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>; resets = <&powerdown STIH407_USB2_PORT0_POWERDOWN>, <&softreset STIH407_USB2_PORT0_SOFTRESET>; reset-names = "power", "softreset"; @@ -59,7 +61,8 @@ compatible = "st,st-ohci-300x"; reg = <0x9a83c00 0x100>; interrupts = <GIC_SPI 181 IRQ_TYPE_NONE>; - clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>; + clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>, + <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>; resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>, <&softreset STIH407_USB2_PORT1_SOFTRESET>; reset-names = "power", "softreset"; @@ -73,7 +76,8 @@ interrupts = <GIC_SPI 153 IRQ_TYPE_NONE>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb1>; - clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>; + clocks = <&clk_s_c0_flexgen CLK_TX_ICN_DISP_0>, + <&clk_s_c0_flexgen CLK_RX_ICN_DISP_0>; resets = <&powerdown STIH407_USB2_PORT1_POWERDOWN>, <&softreset STIH407_USB2_PORT1_SOFTRESET>; reset-names = "power", "softreset"; diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts index b67e5be..28b6b0e 100644 --- a/arch/arm/boot/dts/sun4i-a10-a1000.dts +++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts @@ -178,6 +178,7 @@ regulator-name = "emac-3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; + startup-delay-us = <20000>; enable-active-high; gpio = <&pio 7 15 GPIO_ACTIVE_HIGH>; }; diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts index d3f73ea..864acaa 100644 --- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts +++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts @@ -159,6 +159,7 @@ regulator-name = "emac-3v3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; + startup-delay-us = <20000>; enable-active-high; gpio = <&pio 7 19 GPIO_ACTIVE_HIGH>; }; diff --git a/arch/arm/crypto/aes-ce-glue.c b/arch/arm/crypto/aes-ce-glue.c index b445a5d..593da7f 100644 --- a/arch/arm/crypto/aes-ce-glue.c +++ b/arch/arm/crypto/aes-ce-glue.c @@ -279,7 +279,7 @@ static int ctr_encrypt(struct blkcipher_desc *desc, struct scatterlist *dst, err = blkcipher_walk_done(desc, &walk, walk.nbytes % AES_BLOCK_SIZE); } - if (nbytes) { + if (walk.nbytes % AES_BLOCK_SIZE) { u8 *tdst = walk.dst.virt.addr + blocks * AES_BLOCK_SIZE; u8 *tsrc = walk.src.virt.addr + blocks * AES_BLOCK_SIZE; u8 __aligned(8) tail[AES_BLOCK_SIZE]; diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h index b52101d..ee21eec 100644 --- a/arch/arm/include/asm/dma-mapping.h +++ b/arch/arm/include/asm/dma-mapping.h @@ -117,7 +117,7 @@ static inline dma_addr_t virt_to_dma(struct device *dev, void *addr) /* The ARM override for dma_max_pfn() */ static inline unsigned long dma_max_pfn(struct device *dev) { - return PHYS_PFN_OFFSET + dma_to_pfn(dev, *dev->dma_mask); + return dma_to_pfn(dev, *dev->dma_mask); } #define dma_max_pfn(dev) dma_max_pfn(dev) diff --git a/arch/arm/include/asm/kvm_emulate.h b/arch/arm/include/asm/kvm_emulate.h index a9c80a2..642934a 100644 --- a/arch/arm/include/asm/kvm_emulate.h +++ b/arch/arm/include/asm/kvm_emulate.h @@ -131,6 +131,11 @@ static inline bool kvm_vcpu_dabt_iss1tw(struct kvm_vcpu *vcpu) return kvm_vcpu_get_hsr(vcpu) & HSR_DABT_S1PTW; } +static inline bool kvm_vcpu_dabt_is_cm(struct kvm_vcpu *vcpu) +{ + return !!(kvm_vcpu_get_hsr(vcpu) & HSR_DABT_CM); +} + /* Get Access Size from a data abort */ static inline int kvm_vcpu_dabt_get_as(struct kvm_vcpu *vcpu) { diff --git a/arch/arm/include/asm/pgtable-2level.h b/arch/arm/include/asm/pgtable-2level.h index bfd662e..89b5a0a 100644 --- a/arch/arm/include/asm/pgtable-2level.h +++ b/arch/arm/include/asm/pgtable-2level.h @@ -164,6 +164,7 @@ static inline pmd_t *pmd_offset(pud_t *pud, unsigned long addr) #define pmd_large(pmd) (pmd_val(pmd) & 2) #define pmd_bad(pmd) (pmd_val(pmd) & 2) +#define pmd_present(pmd) (pmd_val(pmd)) #define copy_pmd(pmdpd,pmdps) \ do { \ diff --git a/arch/arm/include/asm/pgtable-3level.h b/arch/arm/include/asm/pgtable-3level.h index a745a2a..fd929b5 100644 --- a/arch/arm/include/asm/pgtable-3level.h +++ b/arch/arm/include/asm/pgtable-3level.h @@ -212,6 +212,7 @@ static inline pmd_t *pmd_offset(pud_t *pud, unsigned long addr) : !!(pmd_val(pmd) & (val))) #define pmd_isclear(pmd, val) (!(pmd_val(pmd) & (val))) +#define pmd_present(pmd) (pmd_isset((pmd), L_PMD_SECT_VALID)) #define pmd_young(pmd) (pmd_isset((pmd), PMD_SECT_AF)) #define pte_special(pte) (pte_isset((pte), L_PTE_SPECIAL)) static inline pte_t pte_mkspecial(pte_t pte) @@ -257,10 +258,10 @@ PMD_BIT_FUNC(mkyoung, |= PMD_SECT_AF); #define pfn_pmd(pfn,prot) (__pmd(((phys_addr_t)(pfn) << PAGE_SHIFT) | pgprot_val(prot))) #define mk_pmd(page,prot) pfn_pmd(page_to_pfn(page),prot) -/* represent a notpresent pmd by zero, this is used by pmdp_invalidate */ +/* represent a notpresent pmd by faulting entry, this is used by pmdp_invalidate */ static inline pmd_t pmd_mknotpresent(pmd_t pmd) { - return __pmd(0); + return __pmd(pmd_val(pmd) & ~L_PMD_SECT_VALID); } static inline pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot) diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h index f403541..7fa12e0 100644 --- a/arch/arm/include/asm/pgtable.h +++ b/arch/arm/include/asm/pgtable.h @@ -182,7 +182,6 @@ extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; #define pgd_offset_k(addr) pgd_offset(&init_mm, addr) #define pmd_none(pmd) (!pmd_val(pmd)) -#define pmd_present(pmd) (pmd_val(pmd)) static inline pte_t *pmd_page_vaddr(pmd_t pmd) { diff --git a/arch/arm/kernel/ptrace.c b/arch/arm/kernel/ptrace.c index ef9119f..4d93758 100644 --- a/arch/arm/kernel/ptrace.c +++ b/arch/arm/kernel/ptrace.c @@ -733,8 +733,8 @@ static int vfp_set(struct task_struct *target, if (ret) return ret; - vfp_flush_hwstate(thread); thread->vfpstate.hard = new_vfp; + vfp_flush_hwstate(thread); return 0; } diff --git a/arch/arm/kernel/sys_oabi-compat.c b/arch/arm/kernel/sys_oabi-compat.c index b83f3b7..087acb5 100644 --- a/arch/arm/kernel/sys_oabi-compat.c +++ b/arch/arm/kernel/sys_oabi-compat.c @@ -193,15 +193,44 @@ struct oabi_flock64 { pid_t l_pid; } __attribute__ ((packed,aligned(4))); -asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd, +static long do_locks(unsigned int fd, unsigned int cmd, unsigned long arg) { - struct oabi_flock64 user; struct flock64 kernel; - mm_segment_t fs = USER_DS; /* initialized to kill a warning */ - unsigned long local_arg = arg; - int ret; + struct oabi_flock64 user; + mm_segment_t fs; + long ret; + + if (copy_from_user(&user, (struct oabi_flock64 __user *)arg, + sizeof(user))) + return -EFAULT; + kernel.l_type = user.l_type; + kernel.l_whence = user.l_whence; + kernel.l_start = user.l_start; + kernel.l_len = user.l_len; + kernel.l_pid = user.l_pid; + + fs = get_fs(); + set_fs(KERNEL_DS); + ret = sys_fcntl64(fd, cmd, (unsigned long)&kernel); + set_fs(fs); + + if (!ret && (cmd == F_GETLK64 || cmd == F_OFD_GETLK)) { + user.l_type = kernel.l_type; + user.l_whence = kernel.l_whence; + user.l_start = kernel.l_start; + user.l_len = kernel.l_len; + user.l_pid = kernel.l_pid; + if (copy_to_user((struct oabi_flock64 __user *)arg, + &user, sizeof(user))) + ret = -EFAULT; + } + return ret; +} +asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd, + unsigned long arg) +{ switch (cmd) { case F_OFD_GETLK: case F_OFD_SETLK: @@ -209,39 +238,11 @@ asmlinkage long sys_oabi_fcntl64(unsigned int fd, unsigned int cmd, case F_GETLK64: case F_SETLK64: case F_SETLKW64: - if (copy_from_user(&user, (struct oabi_flock64 __user *)arg, - sizeof(user))) - return -EFAULT; - kernel.l_type = user.l_type; - kernel.l_whence = user.l_whence; - kernel.l_start = user.l_start; - kernel.l_len = user.l_len; - kernel.l_pid = user.l_pid; - local_arg = (unsigned long)&kernel; - fs = get_fs(); - set_fs(KERNEL_DS); - }
_______________________________________________ unionfs-cvs mailing list: http://unionfs.filesystems.org/ [email protected] http://www.fsl.cs.sunysb.edu/mailman/listinfo/unionfs-cvs
