From bd8ba716276811c87eac0b79476f0fca54a56ddf Mon Sep 17 00:00:00 2001 From: Tad Date: Wed, 28 Oct 2015 10:25:43 -0400 Subject: [PATCH] Linux 3.4.67 -> 3.4.105 --- Documentation/cgroups/cpusets.txt | 6 +- .../devicetree/bindings/mmc/fsl-imx-esdhc.txt | 8 +- .../devicetree/bindings/tty/serial/of-serial.txt | 3 + Documentation/hwmon/coretemp | 12 +- Documentation/i2c/busses/i2c-i801 | 1 + Documentation/i2c/busses/i2c-piix4 | 2 +- Documentation/ja_JP/HOWTO | 2 +- Documentation/ja_JP/stable_kernel_rules.txt | 6 +- Documentation/kernel-parameters.txt | 20 + Documentation/stable_kernel_rules.txt | 3 + Documentation/sysctl/kernel.txt | 25 +- Documentation/x86/x86_64/mm.txt | 2 + Documentation/zh_CN/HOWTO | 2 +- Documentation/zh_CN/stable_kernel_rules.txt | 2 +- Makefile | 2 +- arch/alpha/include/asm/io.h | 5 + arch/alpha/oprofile/common.c | 1 + arch/arm/Kconfig | 1 - arch/arm/boot/dts/imx51-babbage.dts | 4 +- arch/arm/include/asm/a.out-core.h | 45 --- arch/arm/include/asm/a.out.h | 34 -- arch/arm/include/asm/cacheflush.h | 1 + arch/arm/include/asm/div64.h | 2 +- arch/arm/include/asm/outercache.h | 4 +- arch/arm/include/asm/processor.h | 4 - arch/arm/include/asm/uaccess.h | 3 +- arch/arm/kernel/crash_dump.c | 2 +- arch/arm/kernel/entry-header.S | 29 +- arch/arm/kernel/head.S | 3 + arch/arm/kernel/machine_kexec.c | 7 + arch/arm/kernel/process.c | 7 +- arch/arm/kernel/stacktrace.c | 20 +- arch/arm/kernel/topology.c | 2 + arch/arm/mach-at91/sam9_smc.c | 2 +- arch/arm/mach-dove/common.c | 2 +- arch/arm/mach-footbridge/common.c | 3 + arch/arm/mach-footbridge/dc21285.c | 2 - arch/arm/mach-integrator/integrator_cp.c | 3 +- arch/arm/mach-kirkwood/common.c | 4 +- arch/arm/mach-mv78xx0/common.c | 6 +- arch/arm/mach-omap2/irq.c | 8 + arch/arm/mach-omap2/mux.c | 6 +- arch/arm/mach-omap2/omap_hwmod.c | 43 ++- arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 17 +- arch/arm/mach-orion5x/common.c | 3 +- arch/arm/mach-pxa/reset.c | 8 +- arch/arm/mach-pxa/tosa.c | 102 ++--- arch/arm/mach-sa1100/assabet.c | 3 + arch/arm/mach-sa1100/include/mach/collie.h | 2 + arch/arm/mach-shmobile/board-mackerel.c | 4 +- arch/arm/mach-u300/include/mach/u300-regs.h | 2 +- arch/arm/mach-w90x900/include/mach/entry-macro.S | 4 +- arch/arm/mm/abort-ev6.S | 6 - arch/arm/mm/abort-ev7.S | 6 - arch/arm/mm/idmap.c | 7 + arch/arm/plat-orion/common.c | 8 +- arch/arm/plat-orion/include/plat/common.h | 6 +- arch/avr32/Makefile | 2 +- arch/avr32/boards/mimc200/fram.c | 1 + arch/avr32/boot/u-boot/head.S | 35 +- arch/avr32/kernel/entry-avr32b.S | 3 +- arch/avr32/kernel/head.S | 20 - arch/cris/include/asm/io.h | 1 + arch/ia64/include/asm/processor.h | 2 +- arch/mips/boot/compressed/decompress.c | 1 + arch/mips/cavium-octeon/setup.c | 18 +- arch/mips/include/asm/jump_label.h | 2 +- arch/mips/kernel/irq-msc01.c | 2 +- arch/mips/kernel/mcount.S | 12 + arch/mips/kernel/perf_event_mipsxx.c | 5 - arch/mips/mm/c-r4k.c | 5 + arch/mips/mm/dma-default.c | 16 +- arch/mips/power/hibernate.S | 1 + arch/openrisc/kernel/head.S | 1 + arch/parisc/Makefile | 7 +- arch/parisc/kernel/head.S | 4 + arch/parisc/kernel/syscall_table.S | 2 +- arch/powerpc/Makefile | 4 +- arch/powerpc/include/asm/exception-64s.h | 2 +- arch/powerpc/include/asm/jump_label.h | 2 +- arch/powerpc/include/asm/ppc_asm.h | 7 +- arch/powerpc/kernel/cacheinfo.c | 3 + arch/powerpc/kernel/crash_dump.c | 8 +- arch/powerpc/kernel/exceptions-64s.S | 2 +- arch/powerpc/kernel/head_64.S | 1 + arch/powerpc/kernel/lparcfg.c | 24 +- arch/powerpc/kernel/reloc_64.S | 1 + arch/powerpc/kernel/setup_64.c | 2 +- arch/powerpc/kernel/signal_32.c | 6 + arch/powerpc/kernel/signal_64.c | 6 + arch/powerpc/kernel/sysfs.c | 18 +- arch/powerpc/kernel/time.c | 6 +- arch/powerpc/kernel/traps.c | 10 + arch/powerpc/kernel/vio.c | 4 +- arch/powerpc/kvm/book3s_64_mmu_hv.c | 6 +- arch/powerpc/kvm/book3s_hv_rm_mmu.c | 4 + arch/powerpc/kvm/emulate.c | 2 + arch/powerpc/lib/checksum_64.S | 54 ++- arch/powerpc/lib/crtsavres.S | 186 +++++++++ arch/powerpc/lib/sstep.c | 2 +- arch/powerpc/perf/core-book3s.c | 17 +- arch/powerpc/platforms/powernv/pci-ioda.c | 12 +- arch/powerpc/platforms/pseries/eeh_pseries.c | 1 + arch/s390/crypto/aes_s390.c | 50 +-- arch/s390/include/asm/jump_label.h | 2 +- arch/s390/include/asm/lowcore.h | 11 +- arch/s390/kernel/head64.S | 7 +- arch/s390/kernel/ptrace.c | 9 +- arch/s390/kvm/kvm-s390.c | 25 +- arch/s390/mm/page-states.c | 10 + arch/sh/kernel/dumpstack.c | 2 +- arch/sh/lib/Makefile | 2 +- arch/sparc/Kconfig | 2 +- arch/sparc/include/asm/jump_label.h | 2 +- arch/sparc/include/asm/pgtable_64.h | 6 +- arch/sparc/include/asm/tlbflush_64.h | 12 +- arch/sparc/include/asm/uaccess_64.h | 4 +- arch/sparc/kernel/ldc.c | 2 +- arch/sparc/kernel/pci.c | 4 +- arch/sparc/kernel/smp_64.c | 6 +- arch/sparc/kernel/sys32.S | 2 +- arch/sparc/kernel/syscalls.S | 4 +- arch/sparc/kernel/unaligned_64.c | 12 +- arch/sparc/lib/NG2memcpy.S | 1 + arch/sparc/math-emu/math_32.c | 2 +- arch/sparc/mm/fault_64.c | 102 ++--- arch/sparc/mm/init_64.c | 27 ++ arch/sparc/mm/tsb.c | 14 +- arch/um/kernel/exitcode.c | 4 +- arch/unicore32/Kconfig | 1 + arch/unicore32/include/asm/bug.h | 5 - arch/unicore32/include/asm/cmpxchg.h | 2 +- arch/unicore32/kernel/setup.h | 6 + arch/x86/Kconfig | 26 +- arch/x86/boot/Makefile | 6 +- arch/x86/boot/compressed/Makefile | 1 + arch/x86/crypto/ghash-clmulni-intel_asm.S | 28 -- arch/x86/crypto/ghash-clmulni-intel_glue.c | 14 +- arch/x86/include/asm/cpufeature.h | 2 +- arch/x86/include/asm/espfix.h | 16 + arch/x86/include/asm/fpu-internal.h | 13 +- arch/x86/include/asm/hugetlb.h | 1 + arch/x86/include/asm/irqflags.h | 2 +- arch/x86/include/asm/jump_label.h | 2 +- arch/x86/include/asm/kvm_host.h | 4 +- arch/x86/include/asm/pgtable_64_types.h | 2 + arch/x86/include/asm/ptrace.h | 16 + arch/x86/include/asm/setup.h | 2 + arch/x86/include/asm/topology.h | 3 +- arch/x86/kernel/Makefile | 1 + arch/x86/kernel/cpu/perf_event.c | 3 + arch/x86/kernel/cpu/perf_event_amd_ibs.c | 53 ++- arch/x86/kernel/cpu/perf_event_intel.c | 9 + arch/x86/kernel/crash.c | 2 +- arch/x86/kernel/entry_32.S | 30 +- arch/x86/kernel/entry_64.S | 80 +++- arch/x86/kernel/espfix_64.c | 208 +++++++++++ arch/x86/kernel/ldt.c | 5 + arch/x86/kernel/microcode_amd.c | 2 +- arch/x86/kernel/paravirt_patch_64.c | 2 - arch/x86/kernel/quirks.c | 2 +- arch/x86/kernel/reboot.c | 11 +- arch/x86/kernel/setup.c | 4 +- arch/x86/kernel/smpboot.c | 10 + arch/x86/kernel/step.c | 53 ++- arch/x86/kernel/sys_x86_64.c | 2 +- arch/x86/kvm/lapic.c | 27 +- arch/x86/kvm/lapic.h | 4 +- arch/x86/kvm/mmu.c | 3 + arch/x86/kvm/svm.c | 6 +- arch/x86/kvm/vmx.c | 2 +- arch/x86/kvm/x86.c | 33 +- arch/x86/mm/dump_pagetables.c | 39 +- arch/x86/mm/ioremap.c | 26 +- arch/x86/mm/mmap.c | 6 +- arch/x86/net/bpf_jit.S | 2 +- arch/x86/platform/efi/efi.c | 112 +++++- arch/x86/syscalls/syscall_64.tbl | 6 +- arch/x86/xen/enlighten.c | 4 + arch/x86/xen/smp.c | 2 + arch/xtensa/include/asm/ioctls.h | 19 +- arch/xtensa/include/asm/pgtable.h | 7 +- arch/xtensa/kernel/entry.S | 14 +- arch/xtensa/kernel/pci-dma.c | 12 +- arch/xtensa/kernel/signal.c | 2 +- block/blk-core.c | 7 +- block/blk-exec.c | 12 +- block/blk-settings.c | 1 + block/blk-tag.c | 33 +- block/blk-timeout.c | 3 +- block/elevator.c | 16 +- block/genhd.c | 20 +- block/partition-generic.c | 2 +- crypto/af_alg.c | 2 + crypto/algif_hash.c | 5 +- crypto/algif_skcipher.c | 4 +- crypto/ansi_cprng.c | 4 +- crypto/authenc.c | 7 +- crypto/ccm.c | 3 +- crypto/crypto_wq.c | 2 +- crypto/testmgr.h | 38 +- drivers/acpi/acpica/exoparg1.c | 48 ++- drivers/acpi/acpica/exstore.c | 151 +++++--- drivers/acpi/battery.c | 27 +- drivers/acpi/blacklist.c | 13 + drivers/acpi/bus.c | 16 + drivers/acpi/processor_idle.c | 4 +- drivers/acpi/processor_throttling.c | 69 ++-- drivers/acpi/video.c | 24 +- drivers/acpi/video_detect.c | 45 +++ drivers/ata/ahci.c | 52 +++ drivers/ata/ata_piix.c | 16 + drivers/ata/libahci.c | 16 + drivers/ata/libata-core.c | 34 +- drivers/ata/libata-eh.c | 6 +- drivers/ata/libata-pmp.c | 7 +- drivers/ata/libata-transport.c | 16 +- drivers/ata/pata_at91.c | 11 +- drivers/ata/pata_scc.c | 15 +- drivers/ata/sata_sil.c | 1 + drivers/atm/ambassador.c | 2 +- drivers/atm/idt77252.c | 4 +- drivers/base/dd.c | 17 + drivers/base/regmap/regmap.c | 2 +- drivers/block/brd.c | 2 +- drivers/block/floppy.c | 22 +- drivers/block/loop.c | 6 +- drivers/block/nbd.c | 17 +- drivers/block/virtio_blk.c | 29 +- drivers/block/xen-blkback/blkback.c | 16 +- drivers/block/xen-blkback/common.h | 2 + drivers/block/xen-blkback/xenbus.c | 2 + drivers/block/xen-blkfront.c | 5 +- drivers/bluetooth/ath3k.c | 8 + drivers/bluetooth/btusb.c | 7 + drivers/char/applicom.c | 1 - drivers/char/i8k.c | 7 + drivers/char/ipmi/ipmi_bt_sm.c | 2 +- drivers/char/ipmi/ipmi_kcs_sm.c | 5 +- drivers/char/ipmi/ipmi_si_intf.c | 46 ++- drivers/char/raw.c | 2 +- drivers/char/virtio_console.c | 22 +- drivers/connector/cn_proc.c | 90 +++-- drivers/connector/connector.c | 7 +- drivers/cpufreq/powernow-k6.c | 147 ++++++-- drivers/crypto/caam/error.c | 10 +- drivers/dma/Kconfig | 1 + drivers/dma/ste_dma40.c | 4 +- drivers/edac/e752x_edac.c | 4 +- drivers/edac/i7300_edac.c | 38 +- drivers/edac/i7core_edac.c | 9 +- drivers/edac/i82975x_edac.c | 11 +- drivers/edac/sb_edac.c | 7 +- drivers/firewire/core-device.c | 22 +- drivers/firewire/net.c | 6 +- drivers/firewire/sbp2.c | 17 +- drivers/firmware/Kconfig | 18 + drivers/firmware/efivars.c | 256 +++++++++---- drivers/gpio/gpio-mpc8xxx.c | 8 +- drivers/gpio/gpio-mxs.c | 3 +- drivers/gpu/drm/drm_crtc_helper.c | 4 +- drivers/gpu/drm/drm_drv.c | 9 +- drivers/gpu/drm/drm_edid.c | 8 + drivers/gpu/drm/i915/i915_debugfs.c | 6 +- drivers/gpu/drm/i915/i915_dma.c | 37 +- drivers/gpu/drm/i915/i915_drv.h | 4 +- drivers/gpu/drm/i915/i915_gem.c | 23 +- drivers/gpu/drm/i915/i915_irq.c | 4 +- drivers/gpu/drm/i915/intel_bios.c | 2 +- drivers/gpu/drm/i915/intel_crt.c | 10 +- drivers/gpu/drm/i915/intel_display.c | 118 +++++- drivers/gpu/drm/i915/intel_dp.c | 5 - drivers/gpu/drm/i915/intel_drv.h | 5 +- drivers/gpu/drm/i915/intel_lvds.c | 5 +- drivers/gpu/drm/i915/intel_opregion.c | 2 +- drivers/gpu/drm/i915/intel_panel.c | 31 +- drivers/gpu/drm/i915/intel_sdvo.c | 22 +- drivers/gpu/drm/nouveau/nouveau_acpi.c | 3 - drivers/gpu/drm/nouveau/nouveau_bo.c | 2 +- drivers/gpu/drm/nouveau/nouveau_gem.c | 3 +- drivers/gpu/drm/radeon/atombios_crtc.c | 53 +-- drivers/gpu/drm/radeon/atombios_encoders.c | 9 +- drivers/gpu/drm/radeon/evergreen.c | 9 +- drivers/gpu/drm/radeon/evergreen_cs.c | 5 +- drivers/gpu/drm/radeon/ni.c | 23 +- drivers/gpu/drm/radeon/r600.c | 16 +- drivers/gpu/drm/radeon/r600_cs.c | 5 +- drivers/gpu/drm/radeon/r600_hdmi.c | 4 +- drivers/gpu/drm/radeon/r600d.h | 1 + drivers/gpu/drm/radeon/radeon_atombios.c | 11 + drivers/gpu/drm/radeon/radeon_atpx_handler.c | 7 + drivers/gpu/drm/radeon/radeon_combios.c | 125 ++++++- drivers/gpu/drm/radeon/radeon_connectors.c | 36 +- drivers/gpu/drm/radeon/radeon_display.c | 6 + drivers/gpu/drm/radeon/radeon_i2c.c | 3 + drivers/gpu/drm/radeon/radeon_kms.c | 4 + drivers/gpu/drm/radeon/radeon_legacy_crtc.c | 28 ++ drivers/gpu/drm/radeon/radeon_mode.h | 2 + drivers/gpu/drm/radeon/radeon_pm.c | 6 +- drivers/gpu/drm/radeon/rs600.c | 6 +- drivers/gpu/drm/radeon/rv770.c | 3 +- drivers/gpu/drm/radeon/si.c | 14 +- drivers/gpu/drm/radeon/sid.h | 2 +- drivers/gpu/drm/ttm/ttm_bo.c | 40 +- drivers/gpu/drm/ttm/ttm_bo_util.c | 4 +- drivers/gpu/drm/vmwgfx/vmwgfx_fb.c | 4 +- drivers/gpu/drm/vmwgfx/vmwgfx_fifo.c | 3 +- drivers/hid/hid-apple.c | 25 ++ drivers/hid/hid-cherry.c | 2 +- drivers/hid/hid-core.c | 38 +- drivers/hid/hid-ids.h | 10 + drivers/hid/hid-input.c | 12 +- drivers/hid/hid-kye.c | 2 +- drivers/hid/hid-lg.c | 4 +- drivers/hid/hid-logitech-dj.c | 92 +++-- drivers/hid/hid-logitech-dj.h | 1 + drivers/hid/hid-magicmouse.c | 10 + drivers/hid/hid-monterey.c | 2 +- drivers/hid/hid-multitouch.c | 4 +- drivers/hid/hid-petalynx.c | 2 +- drivers/hid/hid-picolcd.c | 8 +- drivers/hid/hid-roccat-kovaplus.c | 4 + drivers/hid/hid-sony.c | 18 +- drivers/hid/hid-sunplus.c | 2 +- drivers/hid/hidraw.c | 98 ++--- drivers/hid/usbhid/hid-quirks.c | 3 + drivers/hv/ring_buffer.c | 4 +- drivers/hv/vmbus_drv.c | 2 +- drivers/hwmon/adm1029.c | 3 + drivers/hwmon/amc6821.c | 2 +- drivers/hwmon/applesmc.c | 13 + drivers/hwmon/coretemp.c | 36 +- drivers/hwmon/emc1403.c | 4 +- drivers/hwmon/lm78.c | 2 + drivers/hwmon/lm90.c | 11 +- drivers/hwmon/max1668.c | 2 +- drivers/hwmon/sis5595.c | 2 + drivers/hwmon/vt8231.c | 2 +- drivers/hwmon/w83l786ng.c | 13 +- drivers/i2c/busses/Kconfig | 2 + drivers/i2c/busses/i2c-designware-core.c | 3 + drivers/i2c/busses/i2c-i801.c | 3 + drivers/i2c/busses/i2c-piix4.c | 3 +- drivers/i2c/busses/i2c-tegra.c | 13 +- drivers/idle/intel_idle.c | 48 ++- drivers/infiniband/core/user_mad.c | 75 ++-- drivers/infiniband/hw/ehca/ehca_cq.c | 1 + drivers/infiniband/hw/ipath/ipath_diag.c | 68 ++-- drivers/infiniband/hw/ipath/ipath_user_sdma.c | 7 +- drivers/infiniband/hw/mthca/mthca_provider.c | 1 + drivers/infiniband/hw/nes/nes_verbs.c | 2 +- drivers/infiniband/hw/qib/qib_iba7322.c | 5 + drivers/infiniband/hw/qib/qib_mad.c | 2 +- drivers/infiniband/hw/qib/qib_ud.c | 9 +- drivers/infiniband/hw/qib/qib_user_sdma.c | 6 +- drivers/infiniband/ulp/srp/ib_srp.c | 6 + drivers/infiniband/ulp/srpt/ib_srpt.c | 16 +- drivers/input/Kconfig | 2 +- drivers/input/input.c | 4 + drivers/input/keyboard/Kconfig | 4 +- drivers/input/mouse/elantech.c | 72 +++- drivers/input/mouse/synaptics.c | 161 +++++++- drivers/input/mouse/synaptics.h | 11 + drivers/input/serio/Kconfig | 6 +- drivers/input/serio/i8042-x86ia64io.h | 17 + drivers/input/serio/serport.c | 45 ++- drivers/input/touchscreen/usbtouchscreen.c | 22 +- drivers/iommu/amd_iommu.c | 10 +- drivers/iommu/dmar.c | 11 +- drivers/iommu/intel-iommu.c | 23 +- drivers/isdn/isdnloop/isdnloop.c | 31 +- drivers/isdn/mISDN/socket.c | 13 +- drivers/md/Kconfig | 4 + drivers/md/Makefile | 1 + drivers/md/dm-bufio.c | 31 +- drivers/md/dm-builtin.c | 50 +++ drivers/md/dm-crypt.c | 20 +- drivers/md/dm-delay.c | 23 +- drivers/md/dm-mpath.c | 25 +- drivers/md/dm-snap-persistent.c | 18 +- drivers/md/dm-snap.c | 73 +++- drivers/md/dm-sysfs.c | 5 +- drivers/md/dm-table.c | 23 +- drivers/md/dm-thin.c | 6 +- drivers/md/dm.c | 15 +- drivers/md/dm.h | 17 + drivers/md/md.c | 21 +- drivers/md/persistent-data/dm-btree-remove.c | 46 +-- drivers/md/persistent-data/dm-space-map-common.c | 6 +- drivers/md/raid1.c | 1 + drivers/md/raid10.c | 21 +- drivers/md/raid5.c | 93 ++--- drivers/media/media-device.c | 1 + drivers/media/video/gspca/kinect.c | 1 + drivers/media/video/hdpvr/hdpvr-core.c | 22 +- drivers/media/video/omap/omap_vout.c | 12 +- drivers/media/video/saa7134/saa7134-alsa.c | 2 + drivers/media/video/saa7164/saa7164-core.c | 4 +- drivers/media/video/v4l2-device.c | 30 +- drivers/mfd/max8925-i2c.c | 9 + drivers/mfd/max8997.c | 18 + drivers/mfd/max8998.c | 4 + drivers/misc/enclosure.c | 7 + drivers/misc/hpilo.c | 11 +- drivers/mmc/host/atmel-mci.c | 13 +- drivers/mmc/host/mxs-mmc.c | 8 +- drivers/mtd/devices/m25p80.c | 19 +- drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 4 +- drivers/mtd/nand/mxc_nand.c | 1 - drivers/mtd/nand/nand_base.c | 15 +- drivers/mtd/nand/nuc900_nand.c | 2 +- drivers/mtd/nand/pxa3xx_nand.c | 4 +- drivers/mtd/sm_ftl.c | 11 +- drivers/mtd/ubi/scan.c | 2 +- drivers/net/bonding/bond_3ad.c | 6 +- drivers/net/bonding/bond_3ad.h | 1 + drivers/net/bonding/bond_main.c | 1 + drivers/net/bonding/bond_sysfs.c | 11 +- drivers/net/can/at91_can.c | 8 +- drivers/net/can/c_can/c_can.c | 12 +- drivers/net/can/dev.c | 10 +- drivers/net/can/flexcan.c | 59 ++- drivers/net/can/sja1000/peak_pci.c | 14 +- drivers/net/can/sja1000/sja1000.c | 17 +- drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c | 14 +- drivers/net/ethernet/broadcom/tg3.c | 88 ++++- drivers/net/ethernet/broadcom/tg3.h | 14 +- drivers/net/ethernet/calxeda/xgmac.c | 2 +- drivers/net/ethernet/emulex/benet/be_main.c | 2 +- drivers/net/ethernet/ibm/ehea/ehea_main.c | 2 +- drivers/net/ethernet/ibm/ibmveth.c | 18 +- drivers/net/ethernet/intel/e1000e/e1000.h | 1 + drivers/net/ethernet/intel/e1000e/netdev.c | 48 ++- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 7 +- drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 12 - drivers/net/ethernet/marvell/mv643xx_eth.c | 6 +- drivers/net/ethernet/mellanox/mlx4/en_cq.c | 1 - drivers/net/ethernet/mellanox/mlx4/en_netdev.c | 6 +- drivers/net/ethernet/mellanox/mlx4/main.c | 172 +++++---- drivers/net/ethernet/mellanox/mlx4/mlx4.h | 7 + drivers/net/ethernet/mellanox/mlx4/mlx4_en.h | 1 - drivers/net/ethernet/realtek/8139cp.c | 1 + drivers/net/ethernet/sun/sunvnet.c | 20 +- drivers/net/ethernet/tehuti/tehuti.c | 1 - drivers/net/ethernet/ti/davinci_emac.c | 3 +- drivers/net/ethernet/via/via-rhine.c | 1 + drivers/net/ethernet/xilinx/ll_temac_main.c | 2 +- drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +- drivers/net/hamradio/hdlcdrv.c | 2 + drivers/net/hamradio/yam.c | 1 + drivers/net/hyperv/netvsc_drv.c | 1 - drivers/net/macvlan.c | 4 +- drivers/net/macvtap.c | 20 +- drivers/net/ppp/pppoe.c | 4 +- drivers/net/team/team.c | 7 +- drivers/net/tun.c | 2 + drivers/net/usb/asix.c | 128 +++++-- drivers/net/usb/dm9601.c | 34 +- drivers/net/usb/gl620a.c | 4 + drivers/net/usb/mcs7830.c | 5 +- drivers/net/usb/net1080.c | 4 + drivers/net/usb/qmi_wwan.c | 8 +- drivers/net/usb/rndis_host.c | 4 + drivers/net/usb/smsc75xx.c | 4 + drivers/net/usb/smsc95xx.c | 4 + drivers/net/usb/usbnet.c | 25 +- drivers/net/virtio_net.c | 3 +- drivers/net/vmxnet3/vmxnet3_drv.c | 19 +- drivers/net/wan/farsync.c | 1 + drivers/net/wan/wanxl.c | 1 + drivers/net/wimax/i2400m/usb-rx.c | 2 +- drivers/net/wireless/ath/ath9k/ar9002_mac.c | 52 ++- drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 8 +- drivers/net/wireless/ath/ath9k/ar9003_hw.c | 15 +- drivers/net/wireless/ath/ath9k/ar9003_phy.c | 27 +- drivers/net/wireless/ath/ath9k/ar9003_phy.h | 2 + .../net/wireless/ath/ath9k/ar9462_2p0_initvals.h | 4 +- drivers/net/wireless/ath/ath9k/calib.c | 1 + drivers/net/wireless/ath/ath9k/htc.h | 1 + drivers/net/wireless/ath/ath9k/htc_drv_main.c | 25 +- drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 18 +- drivers/net/wireless/ath/ath9k/hw.c | 3 +- drivers/net/wireless/ath/ath9k/hw.h | 1 + drivers/net/wireless/ath/ath9k/main.c | 12 +- drivers/net/wireless/ath/ath9k/xmit.c | 8 +- drivers/net/wireless/b43/Kconfig | 4 +- drivers/net/wireless/b43/b43.h | 4 +- drivers/net/wireless/b43/main.c | 27 +- drivers/net/wireless/b43/phy_n.c | 14 +- drivers/net/wireless/b43/xmit.c | 14 +- drivers/net/wireless/b43legacy/main.c | 1 + drivers/net/wireless/iwlwifi/iwl-6000.c | 6 + drivers/net/wireless/iwlwifi/iwl-agn.c | 2 +- drivers/net/wireless/iwlwifi/iwl-cfg.h | 1 + drivers/net/wireless/iwlwifi/iwl-core.c | 5 +- drivers/net/wireless/iwlwifi/iwl-debugfs.c | 3 + drivers/net/wireless/iwlwifi/iwl-pci.c | 10 + drivers/net/wireless/iwlwifi/iwl-trans-pcie-int.h | 11 +- drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c | 37 +- drivers/net/wireless/iwlwifi/iwl-trans-pcie-tx.c | 72 +++- drivers/net/wireless/iwlwifi/iwl-trans-pcie.c | 27 +- drivers/net/wireless/libertas/debugfs.c | 6 +- drivers/net/wireless/mwifiex/11n.c | 3 +- drivers/net/wireless/mwifiex/main.c | 1 + drivers/net/wireless/mwifiex/sdio.c | 3 + drivers/net/wireless/p54/txrx.c | 2 +- drivers/net/wireless/prism54/islpci_dev.c | 7 +- drivers/net/wireless/rt2x00/rt2400pci.c | 2 +- drivers/net/wireless/rt2x00/rt2500pci.c | 7 +- drivers/net/wireless/rt2x00/rt2500usb.c | 2 +- drivers/net/wireless/rt2x00/rt2800usb.c | 14 +- drivers/net/wireless/rt2x00/rt2x00.h | 1 + drivers/net/wireless/rt2x00/rt2x00dev.c | 24 +- drivers/net/wireless/rt2x00/rt2x00mac.c | 27 +- drivers/net/wireless/rt2x00/rt73usb.c | 1 + drivers/net/wireless/rtl818x/rtl8187/rtl8187.h | 10 +- drivers/net/wireless/rtlwifi/base.c | 89 ++--- drivers/net/wireless/rtlwifi/core.c | 1 + drivers/net/wireless/rtlwifi/pci.c | 4 +- drivers/net/wireless/rtlwifi/ps.c | 2 +- drivers/net/wireless/rtlwifi/rtl8192c/dm_common.c | 3 + drivers/net/wireless/rtlwifi/rtl8192ce/hw.c | 18 +- drivers/net/wireless/rtlwifi/rtl8192cu/hw.c | 17 +- drivers/net/wireless/rtlwifi/rtl8192cu/mac.c | 6 +- drivers/net/wireless/rtlwifi/rtl8192cu/rf.c | 29 +- drivers/net/wireless/rtlwifi/rtl8192cu/sw.c | 2 + drivers/net/wireless/rtlwifi/rtl8192cu/trx.c | 11 +- drivers/net/wireless/rtlwifi/rtl8192de/trx.c | 2 +- drivers/net/wireless/rtlwifi/rtl8192se/hw.c | 27 +- drivers/net/wireless/rtlwifi/rtl8192se/rf.c | 2 +- drivers/net/wireless/rtlwifi/rtl8192se/trx.c | 2 +- drivers/net/wireless/rtlwifi/wifi.h | 6 +- drivers/net/xen-netback/common.h | 1 + drivers/net/xen-netback/interface.c | 3 +- drivers/net/xen-netback/netback.c | 303 ++++++++++++--- drivers/net/xen-netfront.c | 17 +- drivers/parport/parport_pc.c | 10 +- drivers/pci/hotplug/shpchp.h | 2 +- drivers/pci/hotplug/shpchp_core.c | 26 +- drivers/pci/hotplug/shpchp_ctrl.c | 10 +- drivers/pci/pci-driver.c | 4 + drivers/pci/pci.c | 16 +- drivers/pci/pcie/aspm.c | 3 + drivers/pci/pcie/portdrv_pci.c | 1 - drivers/pci/quirks.c | 1 + drivers/pci/setup-res.c | 3 +- drivers/platform/x86/hp_accel.c | 1 + drivers/platform/x86/msi-wmi.c | 4 +- drivers/platform/x86/thinkpad_acpi.c | 2 +- drivers/power/max17040_battery.c | 5 +- drivers/pps/clients/pps-ldisc.c | 10 +- drivers/pps/pps.c | 47 ++- drivers/rapidio/devices/tsi721.c | 11 + drivers/regulator/max8997.c | 36 +- drivers/regulator/max8998.c | 2 +- drivers/rtc/rtc-at91rm9200.c | 2 + drivers/rtc/rtc-cmos.c | 52 ++- drivers/rtc/rtc-pl031.c | 10 +- drivers/s390/net/qeth_core_main.c | 6 +- drivers/sbus/char/bbc_envctrl.c | 6 + drivers/sbus/char/bbc_i2c.c | 11 +- drivers/scsi/aacraid/commctrl.c | 3 +- drivers/scsi/aacraid/linit.c | 2 + drivers/scsi/arcmsr/arcmsr_hba.c | 7 +- drivers/scsi/bfa/bfad.c | 6 +- drivers/scsi/hpsa.c | 36 +- drivers/scsi/ibmvscsi/ibmvscsi.c | 3 +- drivers/scsi/isci/host.h | 5 +- drivers/scsi/isci/port_config.c | 7 - drivers/scsi/isci/task.c | 11 +- drivers/scsi/libiscsi.c | 10 + drivers/scsi/libsas/sas_ata.c | 2 +- drivers/scsi/megaraid/megaraid_mm.c | 2 + drivers/scsi/megaraid/megaraid_sas.h | 1 - drivers/scsi/megaraid/megaraid_sas_base.c | 5 +- drivers/scsi/mpt2sas/mpt2sas_base.c | 13 +- drivers/scsi/mpt2sas/mpt2sas_base.h | 3 + drivers/scsi/mpt2sas/mpt2sas_scsih.c | 127 ++++++- drivers/scsi/qla2xxx/qla_def.h | 3 +- drivers/scsi/scsi_error.c | 9 + drivers/scsi/scsi_lib.c | 8 + drivers/scsi/storvsc_drv.c | 3 + drivers/scsi/sym53c8xx_2/sym_hipd.c | 4 + drivers/staging/bcm/Bcmchar.c | 1 + drivers/staging/bcm/InterfaceInit.c | 4 +- drivers/staging/bcm/InterfaceInit.h | 5 +- drivers/staging/comedi/comedi_fops.c | 25 +- drivers/staging/comedi/drivers/cb_pcidio.c | 21 +- drivers/staging/comedi/drivers/das08.c | 2 +- drivers/staging/comedi/drivers/pcmuio.c | 12 +- drivers/staging/comedi/drivers/ssv_dnp.c | 6 +- drivers/staging/et131x/et131x.c | 78 ++-- drivers/staging/iio/adc/ad799x_core.c | 3 +- drivers/staging/line6/pcm.c | 5 +- drivers/staging/media/lirc/lirc_zilog.c | 12 +- drivers/staging/octeon/ethernet-tx.c | 2 +- drivers/staging/ozwpan/ozcdev.c | 3 + drivers/staging/rtl8712/rtl871x_recv.c | 13 +- drivers/staging/rtl8712/usb_intf.c | 5 + drivers/staging/serqt_usb2/serqt_usb2.c | 2 +- drivers/staging/speakup/i18n.c | 12 +- drivers/staging/speakup/i18n.h | 12 +- drivers/staging/speakup/keyhelp.c | 36 +- drivers/staging/speakup/kobjects.c | 80 ++-- drivers/staging/speakup/main.c | 367 +++++++++--------- drivers/staging/speakup/selection.c | 52 ++- drivers/staging/speakup/serialio.c | 6 +- drivers/staging/speakup/speakup.h | 73 ++-- drivers/staging/speakup/speakup_acntpc.c | 6 +- drivers/staging/speakup/speakup_acntsa.c | 2 +- drivers/staging/speakup/speakup_apollo.c | 8 +- drivers/staging/speakup/speakup_audptr.c | 2 +- drivers/staging/speakup/speakup_bns.c | 2 +- drivers/staging/speakup/speakup_decext.c | 6 +- drivers/staging/speakup/speakup_decpc.c | 4 +- drivers/staging/speakup/speakup_dectlk.c | 6 +- drivers/staging/speakup/speakup_dtlk.c | 4 +- drivers/staging/speakup/speakup_dummy.c | 2 +- drivers/staging/speakup/speakup_keypc.c | 6 +- drivers/staging/speakup/speakup_ltlk.c | 2 +- drivers/staging/speakup/speakup_soft.c | 2 +- drivers/staging/speakup/speakup_spkout.c | 2 +- drivers/staging/speakup/speakup_txprt.c | 2 +- drivers/staging/speakup/spk_priv.h | 8 +- drivers/staging/speakup/synth.c | 38 +- drivers/staging/speakup/thread.c | 4 +- drivers/staging/speakup/varhandlers.c | 66 ++-- drivers/staging/tidspbridge/Kconfig | 2 +- drivers/staging/tidspbridge/core/dsp-clock.c | 4 +- drivers/staging/vt6656/baseband.c | 14 +- drivers/staging/vt6656/rndis.h | 1 + drivers/staging/wlags49_h2/wl_priv.c | 9 +- drivers/target/iscsi/iscsi_target.c | 42 ++- drivers/target/iscsi/iscsi_target_auth.c | 15 +- drivers/target/iscsi/iscsi_target_login.c | 8 +- drivers/target/iscsi/iscsi_target_nego.c | 12 +- drivers/target/iscsi/iscsi_target_parameters.c | 2 +- drivers/target/target_core_alua.c | 6 +- drivers/target/target_core_file.c | 90 +++-- drivers/target/target_core_file.h | 2 +- drivers/target/target_core_pscsi.c | 8 +- drivers/target/target_core_rd.c | 2 +- drivers/target/target_core_transport.c | 5 +- drivers/target/tcm_fc/tfc_sess.c | 1 + drivers/tty/hvc/hvc_console.c | 8 +- drivers/tty/n_gsm.c | 89 +++-- drivers/tty/serial/8250/8250.c | 36 +- drivers/tty/serial/8250/8250.h | 1 + drivers/tty/serial/8250/8250_pci.c | 59 ++- drivers/tty/serial/atmel_serial.c | 20 +- drivers/tty/serial/imx.c | 18 +- drivers/tty/serial/of_serial.c | 6 + drivers/tty/serial/pch_uart.c | 5 +- drivers/tty/serial/pmac_zilog.c | 3 + drivers/tty/serial/sunsab.c | 9 + drivers/tty/tty_buffer.c | 11 +- drivers/usb/class/cdc-acm.c | 126 ++++--- drivers/usb/class/cdc-acm.h | 2 +- drivers/usb/class/cdc-wdm.c | 8 +- drivers/usb/core/config.c | 7 - drivers/usb/core/driver.c | 103 +++-- drivers/usb/core/hcd-pci.c | 2 +- drivers/usb/core/hub.c | 81 ++-- drivers/usb/core/quirks.c | 9 + drivers/usb/core/usb.h | 2 +- drivers/usb/dwc3/core.c | 5 +- drivers/usb/dwc3/core.h | 6 +- drivers/usb/dwc3/dwc3-pci.c | 4 + drivers/usb/dwc3/gadget.c | 20 +- drivers/usb/gadget/at91_udc.c | 10 - drivers/usb/gadget/composite.c | 1 + drivers/usb/gadget/f_fs.c | 12 +- drivers/usb/gadget/inode.c | 2 +- drivers/usb/host/ehci-pci.c | 2 +- drivers/usb/host/ehci-q.c | 16 +- drivers/usb/host/ehci-sched.c | 4 +- drivers/usb/host/ohci-pci.c | 2 +- drivers/usb/host/pci-quirks.c | 19 +- drivers/usb/host/uhci-pci.c | 2 +- drivers/usb/host/xhci-hub.c | 8 +- drivers/usb/host/xhci-mem.c | 20 +- drivers/usb/host/xhci-pci.c | 9 +- drivers/usb/host/xhci-ring.c | 5 +- drivers/usb/host/xhci.c | 13 +- drivers/usb/misc/adutux.c | 2 +- drivers/usb/misc/sisusbvga/sisusb.c | 1 + drivers/usb/misc/usbtest.c | 40 +- drivers/usb/musb/musb_gadget.c | 22 +- drivers/usb/serial/ark3116.c | 10 +- drivers/usb/serial/ch341.c | 11 +- drivers/usb/serial/cp210x.c | 2 + drivers/usb/serial/cypress_m8.c | 14 +- drivers/usb/serial/cypress_m8.h | 2 +- drivers/usb/serial/ftdi_sio.c | 125 +++++-- drivers/usb/serial/ftdi_sio_ids.h | 83 ++++- drivers/usb/serial/generic.c | 9 +- drivers/usb/serial/io_edgeport.c | 12 +- drivers/usb/serial/io_ti.c | 64 ++-- drivers/usb/serial/io_usbvend.h | 2 +- drivers/usb/serial/keyspan.c | 2 +- drivers/usb/serial/mct_u232.c | 13 +- drivers/usb/serial/mos7840.c | 96 +++-- drivers/usb/serial/option.c | 415 ++++++++++++++++++++- drivers/usb/serial/oti6858.c | 10 +- drivers/usb/serial/pl2303.c | 57 +-- drivers/usb/serial/pl2303.h | 6 +- drivers/usb/serial/sierra.c | 64 +++- drivers/usb/serial/spcp8x5.c | 49 ++- drivers/usb/serial/ssu100.c | 12 +- drivers/usb/serial/ti_usb_3410_5052.c | 20 +- drivers/usb/serial/usb-serial.c | 36 +- drivers/usb/serial/usb_wwan.c | 80 ++-- drivers/usb/serial/whiteheat.c | 7 +- drivers/usb/storage/Kconfig | 4 +- drivers/usb/storage/scsiglue.c | 6 + drivers/usb/storage/shuttle_usbat.c | 2 +- drivers/usb/storage/unusual_cypress.h | 2 +- drivers/usb/storage/unusual_devs.h | 66 ++++ drivers/usb/wusbcore/wa-rpipe.c | 5 +- drivers/usb/wusbcore/wa-xfer.c | 5 +- drivers/uwb/lc-dev.c | 13 +- drivers/vhost/net.c | 20 +- drivers/video/aty/mach64_accel.c | 3 +- drivers/video/aty/mach64_cursor.c | 22 +- drivers/video/backlight/atmel-pwm-bl.c | 7 +- drivers/video/cfbcopyarea.c | 153 ++++---- drivers/video/console/vgacon.c | 17 +- drivers/video/kyro/fbdev.c | 6 +- drivers/video/matrox/matroxfb_accel.c | 38 +- drivers/video/matrox/matroxfb_base.h | 4 +- drivers/video/omap2/omapfb/omapfb-main.c | 2 +- drivers/video/tgafb.c | 279 ++++---------- drivers/virtio/virtio_balloon.c | 6 + drivers/w1/w1_netlink.c | 25 +- drivers/watchdog/sc1200wdt.c | 3 +- drivers/watchdog/sp805_wdt.c | 4 +- drivers/xen/events.c | 11 + drivers/xen/manage.c | 7 - fs/btrfs/backref.c | 2 +- fs/btrfs/compression.c | 2 + fs/btrfs/extent-tree.c | 2 +- fs/btrfs/extent_io.c | 3 +- fs/btrfs/volumes.c | 5 +- fs/buffer.c | 12 +- fs/cachefiles/rdwr.c | 2 +- fs/ceph/addr.c | 8 +- fs/ceph/mds_client.c | 8 +- fs/ceph/snap.c | 2 +- fs/cifs/cifs_unicode.c | 7 +- fs/cifs/cifsfs.c | 24 ++ fs/cifs/cifsfs.h | 4 + fs/cifs/cifssmb.c | 8 +- fs/cifs/file.c | 45 ++- fs/cifs/inode.c | 6 + fs/cifs/readdir.c | 8 + fs/cifs/transport.c | 7 + fs/configfs/dir.c | 16 +- fs/dcache.c | 16 +- fs/devpts/inode.c | 1 + fs/ecryptfs/keystore.c | 3 +- fs/exec.c | 9 + fs/exofs/ore.c | 37 +- fs/ext2/inode.c | 2 + fs/ext2/xip.c | 1 + fs/ext3/dir.c | 167 ++++++--- fs/ext3/ext3.h | 6 +- fs/ext3/hash.c | 4 +- fs/ext4/ext4.h | 4 +- fs/ext4/extents.c | 44 ++- fs/ext4/file.c | 2 +- fs/ext4/fsync.c | 3 +- fs/ext4/indirect.c | 9 +- fs/ext4/inode.c | 29 +- fs/ext4/mballoc.c | 13 +- fs/ext4/mmp.c | 2 + fs/ext4/namei.c | 32 +- fs/ext4/page-io.c | 9 +- fs/ext4/resize.c | 12 +- fs/ext4/super.c | 27 +- fs/ext4/xattr.c | 4 +- fs/file.c | 2 +- fs/fuse/dir.c | 9 +- fs/fuse/file.c | 8 +- fs/fuse/fuse_i.h | 9 + fs/fuse/inode.c | 4 +- fs/gfs2/aops.c | 30 ++ fs/gfs2/ops_fstype.c | 12 +- fs/hpfs/dir.c | 10 +- fs/hpfs/file.c | 5 +- fs/isofs/inode.c | 15 +- fs/isofs/isofs.h | 23 +- fs/isofs/rock.c | 39 +- fs/jbd2/journal.c | 31 ++ fs/jbd2/transaction.c | 6 +- fs/jffs2/compr_rtime.c | 4 +- fs/jffs2/nodelist.h | 2 +- fs/jffs2/nodemgmt.c | 14 +- fs/jfs/jfs_inode.c | 3 +- fs/lockd/svclock.c | 8 + fs/locks.c | 7 +- fs/namei.c | 30 +- fs/namespace.c | 4 +- fs/ncpfs/dir.c | 9 - fs/nfs/blocklayout/extents.c | 2 +- fs/nfs/callback_xdr.c | 6 +- fs/nfs/delegation.c | 11 +- fs/nfs/inode.c | 2 + fs/nfs/nfs3proc.c | 6 +- fs/nfs/nfs4filelayout.c | 1 - fs/nfs/nfs4proc.c | 87 ++--- fs/nfs/nfs4state.c | 35 +- fs/nfs/nfs4xdr.c | 47 ++- fs/nfs/pnfs.c | 19 +- fs/nfs/proc.c | 43 --- fs/nfs/write.c | 10 +- fs/nfsd/nfs4acl.c | 17 +- fs/nfsd/nfs4proc.c | 26 +- fs/nfsd/nfs4state.c | 15 +- fs/nfsd/nfs4xdr.c | 24 +- fs/nfsd/nfsctl.c | 62 ++- fs/nfsd/nfsd.h | 6 +- fs/nfsd/nfssvc.c | 42 +-- fs/nfsd/vfs.c | 188 ++++++---- fs/nilfs2/inode.c | 7 +- fs/nilfs2/page.c | 2 + fs/nilfs2/segment.c | 21 +- fs/ocfs2/buffer_head_io.c | 2 - fs/ocfs2/dlm/dlmmaster.c | 18 +- fs/ocfs2/dlm/dlmrecovery.c | 29 +- fs/ocfs2/file.c | 8 +- fs/ocfs2/quota_global.c | 27 +- fs/ocfs2/quota_local.c | 4 - fs/pnode.c | 4 +- fs/posix_acl.c | 6 + fs/proc/array.c | 2 +- fs/proc/base.c | 1 + fs/proc/inode.c | 12 +- fs/quota/dquot.c | 14 +- fs/reiserfs/dir.c | 6 +- fs/stat.c | 5 +- fs/ubifs/orphan.c | 5 +- fs/ubifs/shrinker.c | 1 - fs/ubifs/ubifs.h | 2 + fs/xfs/xfs_ioctl.c | 3 +- fs/xfs/xfs_ioctl32.c | 3 +- include/crypto/scatterwalk.h | 3 +- include/drm/drm_mem_util.h | 4 +- include/drm/drm_mode.h | 2 + include/drm/drm_pciids.h | 2 +- include/linux/audit.h | 2 +- include/linux/binfmts.h | 3 - include/linux/bitops.h | 15 + include/linux/cgroup.h | 53 ++- include/linux/compiler-gcc.h | 3 + include/linux/compiler-gcc4.h | 16 + include/linux/compiler-intel.h | 2 - include/linux/cpuset.h | 4 +- include/linux/efi.h | 16 +- include/linux/firewire.h | 1 + include/linux/fs.h | 2 + include/linux/ftrace.h | 2 + include/linux/hid.h | 2 +- include/linux/hidraw.h | 4 +- include/linux/idr.h | 11 + include/linux/if_team.h | 1 + include/linux/irqdesc.h | 4 + include/linux/jbd2.h | 1 + include/linux/jiffies.h | 20 +- include/linux/kernel.h | 1 + include/linux/libata.h | 2 + include/linux/mempolicy.h | 2 +- include/linux/mm_types.h | 1 + include/linux/msg.h | 6 +- include/linux/mtd/map.h | 4 +- include/linux/mv643xx_eth.h | 2 + include/linux/nbd.h | 1 + include/linux/net.h | 56 ++- include/linux/netdevice.h | 9 + include/linux/pci_ids.h | 1 + include/linux/perf_event.h | 12 +- include/linux/pps_kernel.h | 17 +- include/linux/printk.h | 6 +- include/linux/ptrace.h | 3 + include/linux/random.h | 6 +- include/linux/sched.h | 47 ++- include/linux/serial_core.h | 6 +- include/linux/skbuff.h | 45 ++- include/linux/slab.h | 2 +- include/linux/sunrpc/svcsock.h | 1 + include/linux/tracepoint.h | 6 + include/linux/usb.h | 16 + include/linux/usb/hcd.h | 2 +- include/linux/usb/serial.h | 2 + include/linux/virtio_console.h | 2 +- include/net/cipso_ipv4.h | 6 +- include/net/dst.h | 12 + include/net/inetpeer.h | 9 +- include/net/mac80211.h | 5 + include/net/regulatory.h | 2 +- include/scsi/osd_ore.h | 1 + include/sound/memalloc.h | 2 +- include/trace/events/block.h | 33 +- include/trace/events/module.h | 2 +- include/trace/ftrace.h | 5 +- include/trace/syscall.h | 15 + include/xen/interface/io/netif.h | 19 + include/xen/interface/io/ring.h | 5 + init/Kconfig | 1 + init/main.c | 4 + ipc/msg.c | 2 + ipc/msgutil.c | 12 +- ipc/util.h | 4 +- kernel/audit.c | 7 +- kernel/auditsc.c | 27 +- kernel/cgroup.c | 55 ++- kernel/cgroup_freezer.c | 13 +- kernel/cpuset.c | 27 +- kernel/events/core.c | 65 +++- kernel/events/ring_buffer.c | 31 +- kernel/exit.c | 15 +- kernel/fork.c | 16 +- kernel/futex.c | 8 +- kernel/hrtimer.c | 30 +- kernel/irq/irqdesc.c | 1 + kernel/irq/manage.c | 4 +- kernel/irq/spurious.c | 106 +++++- kernel/module.c | 3 + kernel/power/process.c | 1 + kernel/power/snapshot.c | 6 +- kernel/printk.c | 4 +- kernel/ptrace.c | 3 +- kernel/rtmutex-debug.h | 5 + kernel/rtmutex.c | 252 +++++++++++-- kernel/rtmutex.h | 5 + kernel/sched/core.c | 134 +++++-- kernel/sched/cpupri.c | 3 +- kernel/sched/debug.c | 8 + kernel/sched/fair.c | 60 ++- kernel/sched/rt.c | 35 +- kernel/sched/sched.h | 5 +- kernel/sysctl.c | 6 + kernel/time.c | 54 +-- kernel/time/alarmtimer.c | 21 +- kernel/time/clockevents.c | 75 +++- kernel/time/jiffies.c | 6 + kernel/time/tick-sched.c | 1 + kernel/time/timekeeping.c | 12 +- kernel/timer.c | 2 +- kernel/trace/blktrace.c | 20 +- kernel/trace/ftrace.c | 274 +++++++++----- kernel/trace/ring_buffer.c | 7 + kernel/trace/trace.c | 13 +- kernel/trace/trace_event_perf.c | 2 +- kernel/trace/trace_events.c | 10 + kernel/tracepoint.c | 13 +- kernel/workqueue.c | 16 + lib/Makefile | 1 + lib/btree.c | 1 + lib/idr.c | 36 +- lib/lzo/lzo1x_decompress_safe.c | 62 +-- lib/nlattr.c | 15 +- lib/random32.c | 14 +- lib/scatterlist.c | 3 +- lib/vsprintf.c | 36 +- mm/hugetlb.c | 72 ++-- mm/kmemleak.c | 4 +- mm/memory-failure.c | 58 +-- mm/memory.c | 5 + mm/mempolicy.c | 63 ++-- mm/migrate.c | 5 +- mm/mlock.c | 2 + mm/page-writeback.c | 15 +- mm/page_alloc.c | 49 ++- mm/percpu-vm.c | 22 +- mm/percpu.c | 4 +- mm/rmap.c | 29 +- mm/shmem.c | 143 ++++++- mm/slab.c | 8 +- mm/slub.c | 2 +- mm/swap.c | 31 +- mm/truncate.c | 25 -- mm/vmalloc.c | 14 +- mm/vmscan.c | 3 + net/8021q/vlan_core.c | 5 +- net/8021q/vlan_dev.c | 22 +- net/8021q/vlan_netlink.c | 2 +- net/9p/trans_virtio.c | 3 +- net/appletalk/ddp.c | 19 +- net/atm/common.c | 2 - net/ax25/af_ax25.c | 4 +- net/bluetooth/af_bluetooth.c | 2 - net/bluetooth/hci_sock.c | 2 - net/bridge/br_if.c | 2 + net/bridge/br_multicast.c | 10 +- net/bridge/br_stp_if.c | 2 +- net/bridge/netfilter/ebtables.c | 5 +- net/caif/caif_socket.c | 4 - net/ceph/auth_x.c | 256 +++++++------ net/ceph/mon_client.c | 8 + net/ceph/osd_client.c | 30 +- net/compat.c | 17 +- net/core/dev.c | 8 +- net/core/drop_monitor.c | 1 - net/core/fib_rules.c | 7 + net/core/filter.c | 6 +- net/core/iovec.c | 7 +- net/core/pktgen.c | 7 + net/core/rtnetlink.c | 33 +- net/core/skbuff.c | 43 ++- net/core/sock.c | 2 +- net/dns_resolver/dns_query.c | 4 +- net/ieee802154/6lowpan.c | 4 +- net/ipv4/datagram.c | 2 +- net/ipv4/fib_semantics.c | 2 +- net/ipv4/igmp.c | 10 +- net/ipv4/inet_diag.c | 20 +- net/ipv4/inet_hashtables.c | 2 +- net/ipv4/ip_options.c | 4 + net/ipv4/ip_output.c | 2 +- net/ipv4/ipip.c | 1 + net/ipv4/ipmr.c | 7 +- net/ipv4/netfilter/arp_tables.c | 6 +- net/ipv4/netfilter/ip_tables.c | 6 +- net/ipv4/netfilter/nf_defrag_ipv4.c | 5 +- net/ipv4/ping.c | 2 +- net/ipv4/route.c | 62 ++- net/ipv4/tcp_cubic.c | 2 +- net/ipv4/tcp_input.c | 15 +- net/ipv4/tcp_ipv4.c | 2 +- net/ipv4/tcp_output.c | 15 +- net/ipv4/tcp_vegas.c | 3 +- net/ipv4/tcp_veno.c | 2 +- net/ipv4/udp.c | 5 +- net/ipv6/addrconf.c | 19 +- net/ipv6/datagram.c | 1 + net/ipv6/icmp.c | 2 +- net/ipv6/inet6_hashtables.c | 2 +- net/ipv6/ip6_output.c | 35 +- net/ipv6/ip6_tunnel.c | 1 + net/ipv6/ip6mr.c | 7 +- net/ipv6/mcast.c | 11 +- net/ipv6/netfilter/ip6_tables.c | 6 +- net/ipv6/route.c | 21 +- net/ipv6/sit.c | 1 + net/ipv6/udp.c | 2 +- net/ipx/af_ipx.c | 3 +- net/irda/af_irda.c | 4 - net/iucv/af_iucv.c | 2 - net/key/af_key.c | 1 - net/l2tp/l2tp_ppp.c | 11 +- net/llc/af_llc.c | 7 +- net/mac80211/debugfs_netdev.c | 6 +- net/mac80211/ieee80211_i.h | 3 + net/mac80211/rx.c | 6 +- net/mac80211/scan.c | 19 + net/mac80211/sta_info.c | 4 + net/mac80211/sta_info.h | 7 +- net/mac80211/status.c | 9 +- net/mac80211/tx.c | 17 +- net/netfilter/nf_conntrack_sip.c | 2 +- net/netlink/af_netlink.c | 2 - net/netrom/af_netrom.c | 3 +- net/nfc/rawsock.c | 2 - net/packet/af_packet.c | 96 ++--- net/rds/ib.c | 3 +- net/rds/ib_send.c | 5 +- net/rds/iw.c | 3 +- net/rds/recv.c | 2 - net/rose/af_rose.c | 24 +- net/rxrpc/ar-recvmsg.c | 9 +- net/sched/act_mirred.c | 11 +- net/sctp/associola.c | 3 +- net/sctp/output.c | 5 +- net/sctp/sm_make_chunk.c | 4 +- net/sctp/sm_statefuns.c | 10 +- net/sctp/socket.c | 83 ++++- net/sctp/ulpevent.c | 122 +----- net/socket.c | 50 ++- net/sunrpc/clnt.c | 9 +- net/sunrpc/sched.c | 13 +- net/sunrpc/svcsock.c | 16 + net/sunrpc/xprtsock.c | 34 +- net/tipc/bcast.c | 1 + net/tipc/socket.c | 6 - net/unix/af_unix.c | 48 ++- net/unix/diag.c | 1 + net/wireless/radiotap.c | 11 +- net/wireless/sme.c | 3 + net/x25/af_x25.c | 3 +- scripts/mod/file2alias.c | 4 +- scripts/mod/modpost.c | 8 +- scripts/package/builddeb | 9 +- scripts/recordmcount.h | 4 +- scripts/tags.sh | 10 +- security/integrity/evm/evm_main.c | 12 +- security/integrity/ima/ima_policy.c | 1 - security/selinux/hooks.c | 182 +++++++-- security/selinux/include/xfrm.h | 9 +- security/selinux/netlabel.c | 6 +- security/selinux/ss/policydb.c | 22 +- security/selinux/xfrm.c | 53 ++- sound/arm/pxa2xx-pcm-lib.c | 2 + sound/core/compress_offload.c | 2 +- sound/core/pcm_lib.c | 8 +- sound/drivers/aloop.c | 5 +- sound/drivers/pcsp/pcsp.c | 2 +- sound/i2c/other/ak4xxx-adda.c | 2 +- sound/isa/msnd/msnd_pinnacle.c | 4 +- sound/pci/Kconfig | 12 + sound/pci/asihpi/asihpi.c | 3 + sound/pci/atiixp.c | 2 + sound/pci/atiixp_modem.c | 2 + sound/pci/hda/hda_intel.c | 40 +- sound/pci/hda/patch_conexant.c | 134 +++++-- sound/pci/hda/patch_hdmi.c | 57 ++- sound/pci/hda/patch_realtek.c | 34 +- sound/pci/ice1712/ice1712.c | 15 +- sound/pci/oxygen/xonar_dg.c | 12 +- sound/pci/rme9652/rme9652.c | 2 +- sound/soc/blackfin/bf5xx-i2s.c | 1 + sound/soc/codecs/adau1701.c | 2 +- sound/soc/codecs/ak4642.c | 2 +- sound/soc/codecs/cs42l73.c | 6 +- sound/soc/codecs/sgtl5000.c | 2 +- sound/soc/codecs/sta32x.c | 74 ++-- sound/soc/codecs/wm8731.c | 4 +- sound/soc/codecs/wm8770.c | 4 +- sound/soc/codecs/wm8904.c | 2 +- sound/soc/codecs/wm8958-dsp2.c | 2 +- sound/soc/codecs/wm8962.c | 17 +- sound/soc/codecs/wm8962.h | 4 + sound/soc/codecs/wm8990.c | 2 + sound/soc/codecs/wm_hubs.c | 1 + sound/soc/imx/imx-ssi.c | 5 + sound/soc/pxa/pxa-ssp.c | 4 +- sound/soc/s6000/s6000-pcm.c | 2 + sound/soc/samsung/i2s.c | 2 +- sound/soc/soc-dapm.c | 2 +- sound/usb/6fire/chip.c | 2 +- sound/usb/6fire/midi.c | 16 +- sound/usb/6fire/midi.h | 6 +- sound/usb/6fire/pcm.c | 53 ++- sound/usb/6fire/pcm.h | 2 +- sound/usb/mixer.c | 1 + sound/usb/usx2y/usbusx2yaudio.c | 4 + tools/perf/util/parse-events.c | 2 +- tools/power/x86/turbostat/turbostat.c | 11 +- tools/usb/ffs-test.c | 4 +- virt/kvm/coalesced_mmio.c | 8 +- virt/kvm/iommu.c | 23 +- virt/kvm/irq_comm.c | 1 + virt/kvm/kvm_main.c | 28 +- 1152 files changed, 13814 insertions(+), 6068 deletions(-) delete mode 100644 arch/arm/include/asm/a.out-core.h delete mode 100644 arch/arm/include/asm/a.out.h create mode 100644 arch/x86/include/asm/espfix.h create mode 100644 arch/x86/kernel/espfix_64.c create mode 100644 drivers/md/dm-builtin.c diff --git a/Documentation/cgroups/cpusets.txt b/Documentation/cgroups/cpusets.txt index cefd3d8..a52a39f 100644 --- a/Documentation/cgroups/cpusets.txt +++ b/Documentation/cgroups/cpusets.txt @@ -345,14 +345,14 @@ the named feature on. The implementation is simple. Setting the flag 'cpuset.memory_spread_page' turns on a per-process flag -PF_SPREAD_PAGE for each task that is in that cpuset or subsequently +PFA_SPREAD_PAGE for each task that is in that cpuset or subsequently joins that cpuset. The page allocation calls for the page cache -is modified to perform an inline check for this PF_SPREAD_PAGE task +is modified to perform an inline check for this PFA_SPREAD_PAGE task flag, and if set, a call to a new routine cpuset_mem_spread_node() returns the node to prefer for the allocation. Similarly, setting 'cpuset.memory_spread_slab' turns on the flag -PF_SPREAD_SLAB, and appropriately marked slab caches will allocate +PFA_SPREAD_SLAB, and appropriately marked slab caches will allocate pages from the node returned by cpuset_mem_spread_node(). The cpuset_mem_spread_node() routine is also simple. It uses the diff --git a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt index ab22fe6..e39a0c0 100644 --- a/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt +++ b/Documentation/devicetree/bindings/mmc/fsl-imx-esdhc.txt @@ -10,8 +10,8 @@ Required properties: Optional properties: - fsl,card-wired : Indicate the card is wired to host permanently -- fsl,cd-internal : Indicate to use controller internal card detection -- fsl,wp-internal : Indicate to use controller internal write protection +- fsl,cd-controller : Indicate to use controller internal card detection +- fsl,wp-controller : Indicate to use controller internal write protection - cd-gpios : Specify GPIOs for card detection - wp-gpios : Specify GPIOs for write protection @@ -21,8 +21,8 @@ esdhc@70004000 { compatible = "fsl,imx51-esdhc"; reg = <0x70004000 0x4000>; interrupts = <1>; - fsl,cd-internal; - fsl,wp-internal; + fsl,cd-controller; + fsl,wp-controller; }; esdhc@70008000 { diff --git a/Documentation/devicetree/bindings/tty/serial/of-serial.txt b/Documentation/devicetree/bindings/tty/serial/of-serial.txt index b8b27b0..3f89cbd 100644 --- a/Documentation/devicetree/bindings/tty/serial/of-serial.txt +++ b/Documentation/devicetree/bindings/tty/serial/of-serial.txt @@ -10,6 +10,9 @@ Required properties: - "ns16850" - "nvidia,tegra20-uart" - "ibm,qpace-nwp-serial" + - "altr,16550-FIFO32" + - "altr,16550-FIFO64" + - "altr,16550-FIFO128" - "serial" if the port type is unknown. - reg : offset and length of the register set for the device. - interrupts : should contain uart interrupt. diff --git a/Documentation/hwmon/coretemp b/Documentation/hwmon/coretemp index 84d46c0..eb5502e 100644 --- a/Documentation/hwmon/coretemp +++ b/Documentation/hwmon/coretemp @@ -6,7 +6,9 @@ Supported chips: Prefix: 'coretemp' CPUID: family 0x6, models 0xe (Pentium M DC), 0xf (Core 2 DC 65nm), 0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm), - 0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield) + 0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield), + 0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom), + 0x36 (Cedar Trail Atom) Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3A: System Programming Guide http://softwarecommunity.intel.com/Wiki/Mobility/720.htm @@ -65,6 +67,11 @@ Process Processor TjMax(C) U3400 105 P4505/P4500 90 +32nm Atom Processors + Z2460 90 + D2700/2550/2500 100 + N2850/2800/2650/2600 100 + 45nm Xeon Processors 5400 Quad-Core X5492, X5482, X5472, X5470, X5460, X5450 85 E5472, E5462, E5450/40/30/20/10/05 85 @@ -85,6 +92,9 @@ Process Processor TjMax(C) N475/470/455/450 100 N280/270 90 330/230 125 + E680/660/640/620 90 + E680T/660T/640T/620T 110 + CE4170/4150/4110 110 45nm Core2 Processors Solo ULV SU3500/3300 100 diff --git a/Documentation/i2c/busses/i2c-i801 b/Documentation/i2c/busses/i2c-i801 index 99d4e44..8bb57d7 100644 --- a/Documentation/i2c/busses/i2c-i801 +++ b/Documentation/i2c/busses/i2c-i801 @@ -22,6 +22,7 @@ Supported adapters: * Intel Panther Point (PCH) * Intel Lynx Point (PCH) * Intel Lynx Point-LP (PCH) + * Intel Avoton (SOC) Datasheets: Publicly available at the Intel website On Intel Patsburg and later chipsets, both the normal host SMBus controller diff --git a/Documentation/i2c/busses/i2c-piix4 b/Documentation/i2c/busses/i2c-piix4 index 475bb4a..65da157 100644 --- a/Documentation/i2c/busses/i2c-piix4 +++ b/Documentation/i2c/busses/i2c-piix4 @@ -8,7 +8,7 @@ Supported adapters: Datasheet: Only available via NDA from ServerWorks * ATI IXP200, IXP300, IXP400, SB600, SB700 and SB800 southbridges Datasheet: Not publicly available - * AMD Hudson-2 + * AMD Hudson-2, CZ Datasheet: Not publicly available * Standard Microsystems (SMSC) SLC90E66 (Victory66) southbridge Datasheet: Publicly available at the SMSC website http://www.smsc.com diff --git a/Documentation/ja_JP/HOWTO b/Documentation/ja_JP/HOWTO index 050d37f..46ed735 100644 --- a/Documentation/ja_JP/HOWTO +++ b/Documentation/ja_JP/HOWTO @@ -315,7 +315,7 @@ Andrew Morton が Linux-kernel メーリングリストにカーネルリリー もし、2.6.x.y カーネルが存在しない場合には、番号が一番大きい 2.6.x が 最新の安定版カーネルです。 -2.6.x.y は "stable" チーム でメンテされており、必 +2.6.x.y は "stable" チーム でメンテされており、必 要に応じてリリースされます。通常のリリース期間は 2週間毎ですが、差し迫っ た問題がなければもう少し長くなることもあります。セキュリティ関連の問題 の場合はこれに対してだいたいの場合、すぐにリリースがされます。 diff --git a/Documentation/ja_JP/stable_kernel_rules.txt b/Documentation/ja_JP/stable_kernel_rules.txt index 1426583..9dbda9b 100644 --- a/Documentation/ja_JP/stable_kernel_rules.txt +++ b/Documentation/ja_JP/stable_kernel_rules.txt @@ -50,16 +50,16 @@ linux-2.6.29/Documentation/stable_kernel_rules.txt -stable ツリーにパッチを送付する手続き- - - 上記の規則に従っているかを確認した後に、stable@kernel.org にパッチ + - 上記の規則に従っているかを確認した後に、stable@vger.kernel.org にパッチ を送る。 - 送信者はパッチがキューに受け付けられた際には ACK を、却下された場合 には NAK を受け取る。この反応は開発者たちのスケジュールによって、数 日かかる場合がある。 - もし受け取られたら、パッチは他の開発者たちと関連するサブシステムの メンテナーによるレビューのために -stable キューに追加される。 - - パッチに stable@kernel.org のアドレスが付加されているときには、それ + - パッチに stable@vger.kernel.org のアドレスが付加されているときには、それ が Linus のツリーに入る時に自動的に stable チームに email される。 - - セキュリティパッチはこのエイリアス (stable@kernel.org) に送られるべ + - セキュリティパッチはこのエイリアス (stable@vger.kernel.org) に送られるべ きではなく、代わりに security@kernel.org のアドレスに送られる。 レビューサイクル- diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index ae6c99a..719a853 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt @@ -782,6 +782,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted. edd= [EDD] Format: {"off" | "on" | "skip[mbr]"} + efi_no_storage_paranoia [EFI; X86] + Using this parameter you can use more than 50% of + your efi variable storage. Use this parameter only if + you are really sure that your UEFI does sane gc and + fulfills the spec otherwise your board may brick. + eisa_irq_edge= [PARISC,HW] See header of drivers/parisc/eisa.c. @@ -996,6 +1002,20 @@ bytes respectively. Such letter suffixes can also be entirely omitted. i8k.restricted [HW] Allow controlling fans only if SYS_ADMIN capability is set. + i915.invert_brightness= + [DRM] Invert the sense of the variable that is used to + set the brightness of the panel backlight. Normally a + brightness value of 0 indicates backlight switched off, + and the maximum of the brightness value sets the backlight + to maximum brightness. If this parameter is set to 0 + (default) and the machine requires it, or this parameter + is set to 1, a brightness value of 0 sets the backlight + to maximum brightness, and the maximum of the brightness + value switches the backlight off. + -1 -- never invert brightness + 0 -- machine default + 1 -- force brightness inversion + icn= [HW,ISDN] Format: [,[,[,]]] diff --git a/Documentation/stable_kernel_rules.txt b/Documentation/stable_kernel_rules.txt index b0714d8..8dfb6a5 100644 --- a/Documentation/stable_kernel_rules.txt +++ b/Documentation/stable_kernel_rules.txt @@ -29,6 +29,9 @@ Rules on what kind of patches are accepted, and which ones are not, into the Procedure for submitting patches to the -stable tree: + - If the patch covers files in net/ or drivers/net please follow netdev stable + submission guidelines as described in + Documentation/networking/netdev-FAQ.txt - Send the patch, after verifying that it follows the above rules, to stable@vger.kernel.org. You must note the upstream commit ID in the changelog of your submission, as well as the kernel version you wish diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index 8a20b47..839572d 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt @@ -309,13 +309,24 @@ Default value is "/sbin/hotplug". kptr_restrict: This toggle indicates whether restrictions are placed on -exposing kernel addresses via /proc and other interfaces. When -kptr_restrict is set to (0), there are no restrictions. When -kptr_restrict is set to (1), the default, kernel pointers -printed using the %pK format specifier will be replaced with 0's -unless the user has CAP_SYSLOG. When kptr_restrict is set to -(2), kernel pointers printed using %pK will be replaced with 0's -regardless of privileges. +exposing kernel addresses via /proc and other interfaces. + +When kptr_restrict is set to (0), the default, there are no restrictions. + +When kptr_restrict is set to (1), kernel pointers printed using the %pK +format specifier will be replaced with 0's unless the user has CAP_SYSLOG +and effective user and group ids are equal to the real ids. This is +because %pK checks are done at read() time rather than open() time, so +if permissions are elevated between the open() and the read() (e.g via +a setuid binary) then %pK will not leak kernel pointers to unprivileged +users. Note, this is a temporary solution only. The correct long-term +solution is to do the permission checks at open() time. Consider removing +world read permissions from files that use %pK, and using dmesg_restrict +to protect against uses of %pK in dmesg(8) if leaking kernel pointer +values to unprivileged users is a concern. + +When kptr_restrict is set to (2), kernel pointers printed using +%pK will be replaced with 0's regardless of privileges. ============================================================== diff --git a/Documentation/x86/x86_64/mm.txt b/Documentation/x86/x86_64/mm.txt index d6498e3..f33a936 100644 --- a/Documentation/x86/x86_64/mm.txt +++ b/Documentation/x86/x86_64/mm.txt @@ -12,6 +12,8 @@ ffffc90000000000 - ffffe8ffffffffff (=45 bits) vmalloc/ioremap space ffffe90000000000 - ffffe9ffffffffff (=40 bits) hole ffffea0000000000 - ffffeaffffffffff (=40 bits) virtual memory map (1TB) ... unused hole ... +ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks +... unused hole ... ffffffff80000000 - ffffffffa0000000 (=512 MB) kernel text mapping, from phys 0 ffffffffa0000000 - fffffffffff00000 (=1536 MB) module mapping space diff --git a/Documentation/zh_CN/HOWTO b/Documentation/zh_CN/HOWTO index 7fba5aa..7599eb3 100644 --- a/Documentation/zh_CN/HOWTO +++ b/Documentation/zh_CN/HOWTO @@ -237,7 +237,7 @@ kernel.org网站的pub/linux/kernel/v2.6/目录下找到它。它的开发遵循 如果没有2.6.x.y版本内核存在,那么最新的2.6.x版本内核就相当于是当前的稳定 版内核。 -2.6.x.y版本由“稳定版”小组(邮件地址)维护,一般隔周发 +2.6.x.y版本由“稳定版”小组(邮件地址)维护,一般隔周发 布新版本。 内核源码中的Documentation/stable_kernel_rules.txt文件具体描述了可被稳定 diff --git a/Documentation/zh_CN/stable_kernel_rules.txt b/Documentation/zh_CN/stable_kernel_rules.txt index b5b9b0a..26ea5ed 100644 --- a/Documentation/zh_CN/stable_kernel_rules.txt +++ b/Documentation/zh_CN/stable_kernel_rules.txt @@ -42,7 +42,7 @@ Documentation/stable_kernel_rules.txt 的中文翻译 向稳定版代码树提交补丁的过程: - - 在确认了补丁符合以上的规则后,将补丁发送到stable@kernel.org。 + - 在确认了补丁符合以上的规则后,将补丁发送到stable@vger.kernel.org。 - 如果补丁被接受到队列里,发送者会收到一个ACK回复,如果没有被接受,收 到的是NAK回复。回复需要几天的时间,这取决于开发者的时间安排。 - 被接受的补丁会被加到稳定版本队列里,等待其他开发者的审查。 diff --git a/Makefile b/Makefile index f790197..2029ca8 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ VERSION = 3 PATCHLEVEL = 4 -SUBLEVEL = 67 +SUBLEVEL = 105 EXTRAVERSION = NAME = Saber-toothed Squirrel diff --git a/arch/alpha/include/asm/io.h b/arch/alpha/include/asm/io.h index 7a3d38d..5ebab58 100644 --- a/arch/alpha/include/asm/io.h +++ b/arch/alpha/include/asm/io.h @@ -489,6 +489,11 @@ extern inline void writeq(u64 b, volatile void __iomem *addr) } #endif +#define ioread16be(p) be16_to_cpu(ioread16(p)) +#define ioread32be(p) be32_to_cpu(ioread32(p)) +#define iowrite16be(v,p) iowrite16(cpu_to_be16(v), (p)) +#define iowrite32be(v,p) iowrite32(cpu_to_be32(v), (p)) + #define inb_p inb #define inw_p inw #define inl_p inl diff --git a/arch/alpha/oprofile/common.c b/arch/alpha/oprofile/common.c index a0a5d27..b8ce18f 100644 --- a/arch/alpha/oprofile/common.c +++ b/arch/alpha/oprofile/common.c @@ -12,6 +12,7 @@ #include #include #include +#include #include "op_impl.h" diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 272e4a6..37d3c6d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1,7 +1,6 @@ config ARM bool default y - select HAVE_AOUT select HAVE_DMA_API_DEBUG select HAVE_IDE if PCI || ISA || PCMCIA select HAVE_DMA_CONTIGUOUS if (CPU_V6 || CPU_V6K || CPU_V7) diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts index 9949e60..6b34b23 100644 --- a/arch/arm/boot/dts/imx51-babbage.dts +++ b/arch/arm/boot/dts/imx51-babbage.dts @@ -29,8 +29,8 @@ aips@70000000 { /* aips-1 */ spba@70000000 { esdhc@70004000 { /* ESDHC1 */ - fsl,cd-internal; - fsl,wp-internal; + fsl,cd-controller; + fsl,wp-controller; status = "okay"; }; diff --git a/arch/arm/include/asm/a.out-core.h b/arch/arm/include/asm/a.out-core.h deleted file mode 100644 index 92f10cb..0000000 --- a/arch/arm/include/asm/a.out-core.h +++ /dev/null @@ -1,45 +0,0 @@ -/* a.out coredump register dumper - * - * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved. - * Written by David Howells (dhowells@redhat.com) - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public Licence - * as published by the Free Software Foundation; either version - * 2 of the Licence, or (at your option) any later version. - */ - -#ifndef _ASM_A_OUT_CORE_H -#define _ASM_A_OUT_CORE_H - -#ifdef __KERNEL__ - -#include -#include - -/* - * fill in the user structure for an a.out core dump - */ -static inline void aout_dump_thread(struct pt_regs *regs, struct user *dump) -{ - struct task_struct *tsk = current; - - dump->magic = CMAGIC; - dump->start_code = tsk->mm->start_code; - dump->start_stack = regs->ARM_sp & ~(PAGE_SIZE - 1); - - dump->u_tsize = (tsk->mm->end_code - tsk->mm->start_code) >> PAGE_SHIFT; - dump->u_dsize = (tsk->mm->brk - tsk->mm->start_data + PAGE_SIZE - 1) >> PAGE_SHIFT; - dump->u_ssize = 0; - - memset(dump->u_debugreg, 0, sizeof(dump->u_debugreg)); - - if (dump->start_stack < 0x04000000) - dump->u_ssize = (0x04000000 - dump->start_stack) >> PAGE_SHIFT; - - dump->regs = *regs; - dump->u_fpvalid = dump_fpu (regs, &dump->u_fp); -} - -#endif /* __KERNEL__ */ -#endif /* _ASM_A_OUT_CORE_H */ diff --git a/arch/arm/include/asm/a.out.h b/arch/arm/include/asm/a.out.h deleted file mode 100644 index 083894b..0000000 --- a/arch/arm/include/asm/a.out.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef __ARM_A_OUT_H__ -#define __ARM_A_OUT_H__ - -#include -#include - -struct exec -{ - __u32 a_info; /* Use macros N_MAGIC, etc for access */ - __u32 a_text; /* length of text, in bytes */ - __u32 a_data; /* length of data, in bytes */ - __u32 a_bss; /* length of uninitialized data area for file, in bytes */ - __u32 a_syms; /* length of symbol table data in file, in bytes */ - __u32 a_entry; /* start address */ - __u32 a_trsize; /* length of relocation info for text, in bytes */ - __u32 a_drsize; /* length of relocation info for data, in bytes */ -}; - -/* - * This is always the same - */ -#define N_TXTADDR(a) (0x00008000) - -#define N_TRSIZE(a) ((a).a_trsize) -#define N_DRSIZE(a) ((a).a_drsize) -#define N_SYMSIZE(a) ((a).a_syms) - -#define M_ARM 103 - -#ifndef LIBRARY_START_TEXT -#define LIBRARY_START_TEXT (0x00c00000) -#endif - -#endif /* __A_OUT_GNU_H__ */ diff --git a/arch/arm/include/asm/cacheflush.h b/arch/arm/include/asm/cacheflush.h index 6e023f7..1a417b3 100644 --- a/arch/arm/include/asm/cacheflush.h +++ b/arch/arm/include/asm/cacheflush.h @@ -233,6 +233,7 @@ extern void copy_to_user_page(struct vm_area_struct *, struct page *, static inline void __flush_icache_all(void) { __flush_icache_preferred(); + dsb(); } /* diff --git a/arch/arm/include/asm/div64.h b/arch/arm/include/asm/div64.h index fe92ccf..a66061a 100644 --- a/arch/arm/include/asm/div64.h +++ b/arch/arm/include/asm/div64.h @@ -156,7 +156,7 @@ /* Select the best insn combination to perform the */ \ /* actual __m * __n / (__p << 64) operation. */ \ if (!__c) { \ - asm ( "umull %Q0, %R0, %1, %Q2\n\t" \ + asm ( "umull %Q0, %R0, %Q1, %Q2\n\t" \ "mov %Q0, #0" \ : "=&r" (__res) \ : "r" (__m), "r" (__n) \ diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h index 12f71a1..f94784f 100644 --- a/arch/arm/include/asm/outercache.h +++ b/arch/arm/include/asm/outercache.h @@ -37,10 +37,10 @@ struct outer_cache_fns { void (*resume)(void); }; -#ifdef CONFIG_OUTER_CACHE - extern struct outer_cache_fns outer_cache; +#ifdef CONFIG_OUTER_CACHE + static inline void outer_inv_range(phys_addr_t start, phys_addr_t end) { if (outer_cache.inv_range) diff --git a/arch/arm/include/asm/processor.h b/arch/arm/include/asm/processor.h index 3a2cd22..a587d4f 100644 --- a/arch/arm/include/asm/processor.h +++ b/arch/arm/include/asm/processor.h @@ -57,7 +57,6 @@ struct thread_struct { #define start_thread(regs,pc,sp) \ ({ \ - unsigned long *stack = (unsigned long *)sp; \ memset(regs->uregs, 0, sizeof(regs->uregs)); \ if (current->personality & ADDR_LIMIT_32BIT) \ regs->ARM_cpsr = USR_MODE; \ @@ -68,9 +67,6 @@ struct thread_struct { regs->ARM_cpsr |= PSR_ENDSTATE; \ regs->ARM_pc = pc & ~1; /* pc */ \ regs->ARM_sp = sp; /* sp */ \ - regs->ARM_r2 = stack[2]; /* r2 (envp) */ \ - regs->ARM_r1 = stack[1]; /* r1 (argv) */ \ - regs->ARM_r0 = stack[0]; /* r0 (argc) */ \ nommu_start_thread(regs); \ }) diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h index 6f83ad6..508ad5d 100644 --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h @@ -158,8 +158,9 @@ extern int __put_user_8(void *, unsigned long long); #define put_user(x,p) \ ({ \ unsigned long __limit = current_thread_info()->addr_limit - 1; \ + const typeof(*(p)) __user *__tmp_p = (p); \ register const typeof(*(p)) __r2 asm("r2") = (x); \ - register const typeof(*(p)) __user *__p asm("r0") = (p);\ + register const typeof(*(p)) __user *__p asm("r0") = __tmp_p; \ register unsigned long __l asm("r1") = __limit; \ register int __e asm("r0"); \ switch (sizeof(*(__p))) { \ diff --git a/arch/arm/kernel/crash_dump.c b/arch/arm/kernel/crash_dump.c index 90c50d4..5d1286d 100644 --- a/arch/arm/kernel/crash_dump.c +++ b/arch/arm/kernel/crash_dump.c @@ -39,7 +39,7 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf, if (!csize) return 0; - vaddr = ioremap(pfn << PAGE_SHIFT, PAGE_SIZE); + vaddr = ioremap(__pfn_to_phys(pfn), PAGE_SIZE); if (!vaddr) return -ENOMEM; diff --git a/arch/arm/kernel/entry-header.S b/arch/arm/kernel/entry-header.S index 9a8531e..9d95a46 100644 --- a/arch/arm/kernel/entry-header.S +++ b/arch/arm/kernel/entry-header.S @@ -76,26 +76,21 @@ #ifndef CONFIG_THUMB2_KERNEL .macro svc_exit, rpsr msr spsr_cxsf, \rpsr -#if defined(CONFIG_CPU_V6) - ldr r0, [sp] - strex r1, r2, [sp] @ clear the exclusive monitor - ldmib sp, {r1 - pc}^ @ load r1 - pc, cpsr -#elif defined(CONFIG_CPU_32v6K) - clrex @ clear the exclusive monitor - ldmia sp, {r0 - pc}^ @ load r0 - pc, cpsr -#else - ldmia sp, {r0 - pc}^ @ load r0 - pc, cpsr +#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_32v6K) + @ We must avoid clrex due to Cortex-A15 erratum #830321 + sub r0, sp, #4 @ uninhabited address + strex r1, r2, [r0] @ clear the exclusive monitor #endif + ldmia sp, {r0 - pc}^ @ load r0 - pc, cpsr .endm .macro restore_user_regs, fast = 0, offset = 0 ldr r1, [sp, #\offset + S_PSR] @ get calling cpsr ldr lr, [sp, #\offset + S_PC]! @ get pc msr spsr_cxsf, r1 @ save in spsr_svc -#if defined(CONFIG_CPU_V6) +#if defined(CONFIG_CPU_V6) || defined(CONFIG_CPU_32v6K) + @ We must avoid clrex due to Cortex-A15 erratum #830321 strex r1, r2, [sp] @ clear the exclusive monitor -#elif defined(CONFIG_CPU_32v6K) - clrex @ clear the exclusive monitor #endif .if \fast ldmdb sp, {r1 - lr}^ @ get calling r1 - lr @@ -123,7 +118,10 @@ .macro svc_exit, rpsr ldr lr, [sp, #S_SP] @ top of the stack ldrd r0, r1, [sp, #S_LR] @ calling lr and pc - clrex @ clear the exclusive monitor + + @ We must avoid clrex due to Cortex-A15 erratum #830321 + strex r2, r1, [sp, #S_LR] @ clear the exclusive monitor + stmdb lr!, {r0, r1, \rpsr} @ calling lr and rfe context ldmia sp, {r0 - r12} mov sp, lr @@ -132,13 +130,16 @@ .endm .macro restore_user_regs, fast = 0, offset = 0 - clrex @ clear the exclusive monitor mov r2, sp load_user_sp_lr r2, r3, \offset + S_SP @ calling sp, lr ldr r1, [sp, #\offset + S_PSR] @ get calling cpsr ldr lr, [sp, #\offset + S_PC] @ get pc add sp, sp, #\offset + S_SP msr spsr_cxsf, r1 @ save in spsr_svc + + @ We must avoid clrex due to Cortex-A15 erratum #830321 + strex r1, r2, [sp] @ clear the exclusive monitor + .if \fast ldmdb sp, {r1 - r12} @ get calling r1 - r12 .else diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S index ba79688..f4ea736 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S @@ -254,6 +254,7 @@ __create_page_tables: /* * Then map boot params address in r2 or the first 1MB (2MB with LPAE) * of ram if boot params address is not specified. + * We map 2 sections in case the ATAGs/DTB crosses a section boundary. */ mov r0, r2, lsr #SECTION_SHIFT movs r0, r0, lsl #SECTION_SHIFT @@ -262,6 +263,8 @@ __create_page_tables: add r3, r3, #PAGE_OFFSET add r3, r4, r3, lsr #(SECTION_SHIFT - PMD_ORDER) orr r6, r7, r0 + str r6, [r3], #1 << PMD_ORDER + add r6, r6, #1 << SECTION_SHIFT str r6, [r3] #ifdef CONFIG_DEBUG_LL diff --git a/arch/arm/kernel/machine_kexec.c b/arch/arm/kernel/machine_kexec.c index fa27058..357b651 100644 --- a/arch/arm/kernel/machine_kexec.c +++ b/arch/arm/kernel/machine_kexec.c @@ -142,3 +142,10 @@ void machine_kexec(struct kimage *image) soft_restart(reboot_code_buffer_phys); } + +void arch_crash_save_vmcoreinfo(void) +{ +#ifdef CONFIG_ARM_LPAE + VMCOREINFO_CONFIG(ARM_LPAE); +#endif +} diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index 6d69561..ddc9618 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -676,6 +676,7 @@ EXPORT_SYMBOL(kernel_thread); unsigned long get_wchan(struct task_struct *p) { struct stackframe frame; + unsigned long stack_page; int count = 0; if (!p || p == current || p->state == TASK_RUNNING) return 0; @@ -684,9 +685,11 @@ unsigned long get_wchan(struct task_struct *p) frame.sp = thread_saved_sp(p); frame.lr = 0; /* recovered from the stack */ frame.pc = thread_saved_pc(p); + stack_page = (unsigned long)task_stack_page(p); do { - int ret = unwind_frame(&frame); - if (ret < 0) + if (frame.sp < stack_page || + frame.sp >= stack_page + THREAD_SIZE || + unwind_frame(&frame) < 0) return 0; if (!in_sched_functions(frame.pc)) return frame.pc; diff --git a/arch/arm/kernel/stacktrace.c b/arch/arm/kernel/stacktrace.c index 00f79e5..6582c4a 100644 --- a/arch/arm/kernel/stacktrace.c +++ b/arch/arm/kernel/stacktrace.c @@ -31,7 +31,7 @@ int notrace unwind_frame(struct stackframe *frame) high = ALIGN(low, THREAD_SIZE); /* check current frame pointer is within bounds */ - if (fp < (low + 12) || fp + 4 >= high) + if (fp < low + 12 || fp > high - 4) return -EINVAL; /* restore the registers from the stack frame */ @@ -83,13 +83,16 @@ static int save_trace(struct stackframe *frame, void *d) return trace->nr_entries >= trace->max_entries; } -void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) +/* This must be noinline to so that our skip calculation works correctly */ +static noinline void __save_stack_trace(struct task_struct *tsk, + struct stack_trace *trace, unsigned int nosched) { struct stack_trace_data data; struct stackframe frame; data.trace = trace; data.skip = trace->skip; + data.no_sched_functions = nosched; if (tsk != current) { #ifdef CONFIG_SMP @@ -102,7 +105,6 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) trace->entries[trace->nr_entries++] = ULONG_MAX; return; #else - data.no_sched_functions = 1; frame.fp = thread_saved_fp(tsk); frame.sp = thread_saved_sp(tsk); frame.lr = 0; /* recovered from the stack */ @@ -111,11 +113,12 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) } else { register unsigned long current_sp asm ("sp"); - data.no_sched_functions = 0; + /* We don't want this function nor the caller */ + data.skip += 2; frame.fp = (unsigned long)__builtin_frame_address(0); frame.sp = current_sp; frame.lr = (unsigned long)__builtin_return_address(0); - frame.pc = (unsigned long)save_stack_trace_tsk; + frame.pc = (unsigned long)__save_stack_trace; } walk_stackframe(&frame, save_trace, &data); @@ -123,9 +126,14 @@ void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) trace->entries[trace->nr_entries++] = ULONG_MAX; } +void save_stack_trace_tsk(struct task_struct *tsk, struct stack_trace *trace) +{ + __save_stack_trace(tsk, trace, 1); +} + void save_stack_trace(struct stack_trace *trace) { - save_stack_trace_tsk(current, trace); + __save_stack_trace(current, trace, 0); } EXPORT_SYMBOL_GPL(save_stack_trace); #endif diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c index 8200dea..140c817 100644 --- a/arch/arm/kernel/topology.c +++ b/arch/arm/kernel/topology.c @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -42,6 +43,7 @@ #define MPIDR_LEVEL2_SHIFT 16 struct cputopo_arm cpu_topology[NR_CPUS]; +EXPORT_SYMBOL_GPL(cpu_topology); const struct cpumask *cpu_coregroup_mask(int cpu) { diff --git a/arch/arm/mach-at91/sam9_smc.c b/arch/arm/mach-at91/sam9_smc.c index 99a0a1d2..b26156b 100644 --- a/arch/arm/mach-at91/sam9_smc.c +++ b/arch/arm/mach-at91/sam9_smc.c @@ -101,7 +101,7 @@ static void sam9_smc_cs_read(void __iomem *base, /* Pulse register */ val = __raw_readl(base + AT91_SMC_PULSE); - config->nwe_setup = val & AT91_SMC_NWEPULSE; + config->nwe_pulse = val & AT91_SMC_NWEPULSE; config->ncs_write_pulse = (val & AT91_SMC_NCS_WRPULSE) >> 8; config->nrd_pulse = (val & AT91_SMC_NRDPULSE) >> 16; config->ncs_read_pulse = (val & AT91_SMC_NCS_RDPULSE) >> 24; diff --git a/arch/arm/mach-dove/common.c b/arch/arm/mach-dove/common.c index bda7aca..18f9e71 100644 --- a/arch/arm/mach-dove/common.c +++ b/arch/arm/mach-dove/common.c @@ -90,7 +90,7 @@ void __init dove_ge00_init(struct mv643xx_eth_platform_data *eth_data) { orion_ge00_init(eth_data, DOVE_GE00_PHYS_BASE, IRQ_DOVE_GE00_SUM, - 0, get_tclk()); + 0, get_tclk(), 1600); } /***************************************************************************** diff --git a/arch/arm/mach-footbridge/common.c b/arch/arm/mach-footbridge/common.c index 3e6aaa6..909e866 100644 --- a/arch/arm/mach-footbridge/common.c +++ b/arch/arm/mach-footbridge/common.c @@ -15,6 +15,7 @@ #include #include #include +#include