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

Reply via email to