06 Oct, 2012

12 commits


05 Oct, 2012

2 commits

  • Pull KVM updates from Avi Kivity:
    "Highlights of the changes for this release include support for vfio
    level triggered interrupts, improved big real mode support on older
    Intels, a streamlines guest page table walker, guest APIC speedups,
    PIO optimizations, better overcommit handling, and read-only memory."

    * tag 'kvm-3.7-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (138 commits)
    KVM: s390: Fix vcpu_load handling in interrupt code
    KVM: x86: Fix guest debug across vcpu INIT reset
    KVM: Add resampling irqfds for level triggered interrupts
    KVM: optimize apic interrupt delivery
    KVM: MMU: Eliminate pointless temporary 'ac'
    KVM: MMU: Avoid access/dirty update loop if all is well
    KVM: MMU: Eliminate eperm temporary
    KVM: MMU: Optimize is_last_gpte()
    KVM: MMU: Simplify walk_addr_generic() loop
    KVM: MMU: Optimize pte permission checks
    KVM: MMU: Update accessed and dirty bits after guest pagetable walk
    KVM: MMU: Move gpte_access() out of paging_tmpl.h
    KVM: MMU: Optimize gpte_access() slightly
    KVM: MMU: Push clean gpte write protection out of gpte_access()
    KVM: clarify kvmclock documentation
    KVM: make processes waiting on vcpu mutex killable
    KVM: SVM: Make use of asm.h
    KVM: VMX: Make use of asm.h
    KVM: VMX: Make lto-friendly
    KVM: x86: lapic: Clean up find_highest_vector() and count_vectors()
    ...

    Conflicts:
    arch/s390/include/asm/processor.h
    arch/x86/kvm/i8259.c

    Linus Torvalds
     
  • Pull crypto update from Herbert Xu:
    - Optimised AES/SHA1 for ARM.
    - IPsec ESN support in talitos and caam.
    - x86_64/avx implementation of cast5/cast6.
    - Add/use multi-algorithm registration helpers where possible.
    - Added IBM Power7+ in-Nest support.
    - Misc fixes.

    Fix up trivial conflicts in crypto/Kconfig due to the sparc64 crypto
    config options being added next to the new ARM ones.

    [ Side note: cut-and-paste duplicate help texts make those conflicts
    harder to read than necessary, thanks to git being smart about
    minimizing conflicts and maximizing the common parts... ]

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (71 commits)
    crypto: x86/glue_helper - fix storing of new IV in CBC encryption
    crypto: cast5/avx - fix storing of new IV in CBC encryption
    crypto: tcrypt - add missing tests for camellia and ghash
    crypto: testmgr - make test_aead also test 'dst != src' code paths
    crypto: testmgr - make test_skcipher also test 'dst != src' code paths
    crypto: testmgr - add test vectors for CTR mode IV increasement
    crypto: testmgr - add test vectors for partial ctr(cast5) and ctr(cast6)
    crypto: testmgr - allow non-multi page and multi page skcipher tests from same test template
    crypto: caam - increase TRNG clocks per sample
    crypto, tcrypt: remove local_bh_disable/enable() around local_irq_disable/enable()
    crypto: tegra-aes - fix error return code
    crypto: crypto4xx - fix error return code
    crypto: hifn_795x - fix error return code
    crypto: ux500 - fix error return code
    crypto: caam - fix error IDs for SEC v5.x RNG4
    hwrng: mxc-rnga - Access data via structure
    hwrng: mxc-rnga - Adapt clocks to new i.mx clock framework
    crypto: caam - add IPsec ESN support
    crypto: 842 - remove .cra_list initialization
    Revert "[CRYPTO] cast6: inline bloat--"
    ...

    Linus Torvalds
     

04 Oct, 2012

2 commits

  • Glue_helper incorrectly XORs new IV over old IV at end of CBC encryption
    function when it should store. This causes CBC encryption to give
    incorrect output on multi-page encryption requests.

    Signed-off-by: Jussi Kivilinna
    Signed-off-by: Herbert Xu

    Jussi Kivilinna
     
  • Pull preparatory patches for user API disintegration from David Howells:
    "The patches herein prepare for the extraction of the Userspace API
    bits from the various header files named in the Kbuild files.

    New subdirectories are created under either include/uapi/ or
    arch/x/include/uapi/ that correspond to the subdirectory containing
    that file under include/ or arch/x/include/.

    The new subdirs under the uapi/ directory are populated with Kbuild
    files that mostly do nothing at this time. Further patches will
    disintegrate the headers in each original directory and fill in the
    Kbuild files as they do it.

    These patches also:

    (1) fix up #inclusions of "foo.h" rather than .

    (2) Remove some redundant #includes from the DRM code.

    (3) Make the kernel build infrastructure handle Kbuild files both in
    the old places and the new UAPI place that both specify headers
    to be exported.

    (4) Fix some kernel tools that #include kernel headers during their
    build.

    I have compile tested this with allyesconfig against x86_64,
    allmodconfig against i386 and a scattering of additional defconfigs of
    other arches. Prepared for main script

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Michael Kerrisk
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones
    Acked-by: H. Peter Anvin "

    * tag 'uapi-prep-20121002' of git://git.infradead.org/users/dhowells/linux-headers:
    UAPI: Plumb the UAPI Kbuilds into the user header installation and checking
    UAPI: x86: Differentiate the generated UAPI and internal headers
    UAPI: Remove the objhdr-y export list
    UAPI: Move linux/version.h
    UAPI: Set up uapi/asm/Kbuild.asm
    UAPI: x86: Fix insn_sanity build failure after UAPI split
    UAPI: x86: Fix the test_get_len tool
    UAPI: (Scripted) Set up UAPI Kbuild files
    UAPI: Partition the header include path sets and add uapi/ header directories
    UAPI: (Scripted) Convert #include "..." to #include in kernel system headers
    UAPI: (Scripted) Convert #include "..." to #include in drivers/gpu/
    UAPI: (Scripted) Remove redundant DRM UAPI header #inclusions from drivers/gpu/.
    UAPI: Refer to the DRM UAPI headers with and from certain headers only

    Linus Torvalds
     

03 Oct, 2012

24 commits

  • Pull CRIS changes from Jesper Nilsson:
    "Removal of some unused code from the CRIS port"

    * tag 'cris-for-linus-3.7' of git://jni.nu/cris:
    CRIS: Remove VCS simulator specific code
    cris/PCI: remove pcibios_assign_resources()

    Linus Torvalds
     
  • Pull sparc fixes from David Miller:
    "Some quick fixes after today's merge-window pull"

    1) Add missing dependency on Sparc DES driver, oops. From Dave Jones.

    2) Tell GCC that prom_printf() is printf-like and fix the few
    resultiing warnings. From Akinobu Mita.

    3) Niagara-2 memcpy doesn't provide it's return value correctly in some
    circumstances.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
    sparc: fix format string argument for prom_printf()
    crypto: Build SPARC DES algorithms on SPARC only.
    sparc64: Fix return value of Niagara-2 memcpy.

    Linus Torvalds
     
  • The VCS simulator was a tool used in the development of the chip
    and is no longer used or necessary.

    Signed-off-by: Jesper Nilsson

    Jesper Nilsson
     
  • There's no caller of pcibios_assign_resources() in the tree. It is
    exported, so an out-of-tree module *could* call it, but no other arch
    exports pcibios_assign_resources(), so it would have to be a CRIS-specific
    module. I doubt such a caller exists.

    CC: Mikael Starvik
    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Jesper Nilsson

    Bjorn Helgaas
     
  • Pull Xen update from Konrad Rzeszutek Wilk:
    "Features:
    - When hotplugging PCI devices in a PV guest we can allocate
    Xen-SWIOTLB later.
    - Cleanup Xen SWIOTLB.
    - Support pages out grants from HVM domains in the backends.
    - Support wild cards in xen-pciback.hide=(BDF) arguments.
    - Update grant status updates with upstream hypervisor.
    - Boot PV guests with more than 128GB.
    - Cleanup Xen MMU code/add comments.
    - Obtain XENVERS using a preferred method.
    - Lay out generic changes to support Xen ARM.
    - Allow privcmd ioctl for HVM (used to do only PV).
    - Do v2 of mmap_batch for privcmd ioctls.
    - If hypervisor saves the LED keyboard light - we will now instruct
    the kernel about its state.
    Fixes:
    - More fixes to Xen PCI backend for various calls/FLR/etc.
    - With more than 4GB in a 64-bit PV guest disable native SWIOTLB.
    - Fix up smatch warnings.
    - Fix up various return values in privmcmd and mm."

    * tag 'stable/for-linus-3.7-x86-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (48 commits)
    xen/pciback: Restore the PCI config space after an FLR.
    xen-pciback: properly clean up after calling pcistub_device_find()
    xen/vga: add the xen EFI video mode support
    xen/x86: retrieve keyboard shift status flags from hypervisor.
    xen/gndev: Xen backend support for paged out grant targets V4.
    xen-pciback: support wild cards in slot specifications
    xen/swiotlb: Fix compile warnings when using plain integer instead of NULL pointer.
    xen/swiotlb: Remove functions not needed anymore.
    xen/pcifront: Use Xen-SWIOTLB when initting if required.
    xen/swiotlb: For early initialization, return zero on success.
    xen/swiotlb: Use the swiotlb_late_init_with_tbl to init Xen-SWIOTLB late when PV PCI is used.
    xen/swiotlb: Move the error strings to its own function.
    xen/swiotlb: Move the nr_tbl determination in its own function.
    xen/arm: compile and run xenbus
    xen: resynchronise grant table status codes with upstream
    xen/privcmd: return -EFAULT on error
    xen/privcmd: Fix mmap batch ioctl error status copy back.
    xen/privcmd: add PRIVCMD_MMAPBATCH_V2 ioctl
    xen/mm: return more precise error from xen_remap_domain_range()
    xen/mmu: If the revector fails, don't attempt to revector anything else.
    ...

    Linus Torvalds
     
  • Pull security subsystem updates from James Morris:
    "Highlights:

    - Integrity: add local fs integrity verification to detect offline
    attacks
    - Integrity: add digital signature verification
    - Simple stacking of Yama with other LSMs (per LSS discussions)
    - IBM vTPM support on ppc64
    - Add new driver for Infineon I2C TIS TPM
    - Smack: add rule revocation for subject labels"

    Fixed conflicts with the user namespace support in kernel/auditsc.c and
    security/integrity/ima/ima_policy.c.

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (39 commits)
    Documentation: Update git repository URL for Smack userland tools
    ima: change flags container data type
    Smack: setprocattr memory leak fix
    Smack: implement revoking all rules for a subject label
    Smack: remove task_wait() hook.
    ima: audit log hashes
    ima: generic IMA action flag handling
    ima: rename ima_must_appraise_or_measure
    audit: export audit_log_task_info
    tpm: fix tpm_acpi sparse warning on different address spaces
    samples/seccomp: fix 31 bit build on s390
    ima: digital signature verification support
    ima: add support for different security.ima data types
    ima: add ima_inode_setxattr/removexattr function and calls
    ima: add inode_post_setattr call
    ima: replace iint spinblock with rwlock/read_lock
    ima: allocating iint improvements
    ima: add appraise action keywords and default rules
    ima: integrity appraisal extension
    vfs: move ima_file_free before releasing the file
    ...

    Linus Torvalds
     
  • Pull UBI changes from Artem Bityutskiy:
    "The main change is the way we reserve eraseblocks for bad blocks
    handling. We used to reserve 2% of the partition, but now we are more
    aggressive and we reserve 2% of the entire chip, which is what
    actually manufacturers specify in data sheets. We introduced an
    option to users to override the default, though.

    There are a couple of fixes as well, and a number of cleanups."

    * tag 'upstream-3.7-rc1' of git://git.infradead.org/linux-ubi: (24 commits)
    UBI: fix trivial typo 'it' => 'is'
    UBI: load after mtd device drivers
    UBI: print less
    UBI: use pr_ helper instead of printk
    UBI: comply with coding style
    UBI: erase free PEB with bitflip in EC header
    UBI: fix autoresize handling in R/O mode
    UBI: add max_beb_per1024 to attach ioctl
    UBI: allow specifying bad PEBs limit using module parameter
    UBI: check max_beb_per1024 value in ubi_attach_mtd_dev
    UBI: prepare for max_beb_per1024 module parameter addition
    UBI: introduce MTD_PARAM_MAX_COUNT
    UBI: separate bad_peb_limit in a function
    arm: sam9_l9260_defconfig: correct CONFIG_MTD_UBI_BEB_LIMIT
    UBI: use the whole MTD device size to get bad_peb_limit
    mtd: mtdparts: introduce mtd_get_device_size
    mtd: mark mtd_is_partition argument as constant
    arm: sam9_l9260_defconfig: remove non-existing config option
    UBI: kill CONFIG_MTD_UBI_BEB_RESERVE
    UBI: limit amount of reserved eraseblocks for bad PEB handling
    ...

    Linus Torvalds
     
  • Pull vfs update from Al Viro:

    - big one - consolidation of descriptor-related logics; almost all of
    that is moved to fs/file.c

    (BTW, I'm seriously tempted to rename the result to fd.c. As it is,
    we have a situation when file_table.c is about handling of struct
    file and file.c is about handling of descriptor tables; the reasons
    are historical - file_table.c used to be about a static array of
    struct file we used to have way back).

    A lot of stray ends got cleaned up and converted to saner primitives,
    disgusting mess in android/binder.c is still disgusting, but at least
    doesn't poke so much in descriptor table guts anymore. A bunch of
    relatively minor races got fixed in process, plus an ext4 struct file
    leak.

    - related thing - fget_light() partially unuglified; see fdget() in
    there (and yes, it generates the code as good as we used to have).

    - also related - bits of Cyrill's procfs stuff that got entangled into
    that work; _not_ all of it, just the initial move to fs/proc/fd.c and
    switch of fdinfo to seq_file.

    - Alex's fs/coredump.c spiltoff - the same story, had been easier to
    take that commit than mess with conflicts. The rest is a separate
    pile, this was just a mechanical code movement.

    - a few misc patches all over the place. Not all for this cycle,
    there'll be more (and quite a few currently sit in akpm's tree)."

    Fix up trivial conflicts in the android binder driver, and some fairly
    simple conflicts due to two different changes to the sock_alloc_file()
    interface ("take descriptor handling from sock_alloc_file() to callers"
    vs "net: Providing protocol type via system.sockprotoname xattr of
    /proc/PID/fd entries" adding a dentry name to the socket)

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (72 commits)
    MAX_LFS_FILESIZE should be a loff_t
    compat: fs: Generic compat_sys_sendfile implementation
    fs: push rcu_barrier() from deactivate_locked_super() to filesystems
    btrfs: reada_extent doesn't need kref for refcount
    coredump: move core dump functionality into its own file
    coredump: prevent double-free on an error path in core dumper
    usb/gadget: fix misannotations
    fcntl: fix misannotations
    ceph: don't abuse d_delete() on failure exits
    hypfs: ->d_parent is never NULL or negative
    vfs: delete surplus inode NULL check
    switch simple cases of fget_light to fdget
    new helpers: fdget()/fdput()
    switch o2hb_region_dev_write() to fget_light()
    proc_map_files_readdir(): don't bother with grabbing files
    make get_file() return its argument
    vhost_set_vring(): turn pollstart/pollstop into bool
    switch prctl_set_mm_exe_file() to fget_light()
    switch xfs_find_handle() to fget_light()
    switch xfs_swapext() to fget_light()
    ...

    Linus Torvalds
     
  • prom_printf() takes printf style arguments. Specifing GCC's format
    attribute reveals that there are several wrong usages of prom_printf().

    This fixes those wrong format strings and arguments, and also leaves
    format attributes in order to detect similar mistakes at compile time.

    Signed-off-by: Akinobu Mita
    Cc: "David S. Miller"
    Cc: sparclinux@vger.kernel.org
    Signed-off-by: David S. Miller

    Akinobu Mita
     
  • There's a Niagara 2 memcpy fix in this tree and I have
    a Kconfig fix from Dave Jones which requires the sparc-next
    changes which went upstream yesterday.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull CMA and DMA-mapping updates from Marek Szyprowski:
    "This time the pull request is rather small, because the further
    redesign patches were not ready on time.

    This pull request consists of the patches which extend ARM DMA-mapping
    subsystem with support for CPU coherent (ACP) DMA busses. The first
    client of the new version is HighBank SATA driver. The second part of
    the pull request includes various cleanup for both CMA common code and
    ARM DMA-mapping subsystem."

    Fix up trivial add-add conflict due to the "dma-coherent" DT property
    being added next to the "calxeda,port-phys" property for the Calxeda
    AHCI controller.

    * 'for-v3.7' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    ARM: dma-mapping: Remove unsed var at arm_coherent_iommu_unmap_page
    ARM: highbank: add coherent DMA setup
    ARM: kill off arch_is_coherent
    ARM: add coherent iommu dma ops
    ARM: add coherent dma ops
    ARM: dma-mapping: Refrain noisy console message
    ARM: dma-mapping: Small logical clean up
    drivers: dma-contiguous: refactor dma_alloc_from_contiguous()

    Linus Torvalds
     
  • This function is used by sparc, powerpc and arm64 for compat support.
    The patch adds a generic implementation which calls do_sendfile()
    directly and avoids set_fs().

    The sparc architecture has wrappers for the sign extensions while
    powerpc relies on the compiler to do the this. The patch adds wrappers
    for powerpc to handle the u32->int type conversion.

    compat_sys_sendfile64() can be replaced by a sys_sendfile() call since
    compat_loff_t has the same size as off_t on a 64-bit system.

    On powerpc, the patch also changes the 64-bit sendfile call from
    sys_sendile64 to sys_sendfile.

    Signed-off-by: Catalin Marinas
    Acked-by: David S. Miller
    Cc: Arnd Bergmann
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Alexander Viro
    Cc: Andrew Morton
    Signed-off-by: Al Viro

    Catalin Marinas
     
  • Pull power management updates from Rafael J Wysocki:

    - Improved system suspend/resume and runtime PM handling for the SH
    TMU, CMT and MTU2 clock event devices (also used by ARM/shmobile).

    - Generic PM domains framework extensions related to cpuidle support
    and domain objects lookup using names.

    - ARM/shmobile power management updates including improved support for
    the SH7372's A4S power domain containing the CPU core.

    - cpufreq changes related to AMD CPUs support from Matthew Garrett,
    Andre Przywara and Borislav Petkov.

    - cpu0 cpufreq driver from Shawn Guo.

    - cpufreq governor fixes related to the relaxing of limit from Michal
    Pecio.

    - OMAP cpufreq updates from Axel Lin and Richard Zhao.

    - cpuidle ladder governor fixes related to the disabling of states from
    Carsten Emde and me.

    - Runtime PM core updates related to the interactions with the system
    suspend core from Alan Stern and Kevin Hilman.

    - Wakeup sources modification allowing more helper functions to be
    called from interrupt context from John Stultz and additional
    diagnostic code from Todd Poynor.

    - System suspend error code path fix from Feng Hong.

    Fixed up conflicts in cpufreq/powernow-k8 that stemmed from the
    workqueue fixes conflicting fairly badly with the removal of support for
    hardware P-state chips. The changes were independent but somewhat
    intertwined.

    * tag 'pm-for-3.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
    Revert "PM QoS: Use spinlock in the per-device PM QoS constraints code"
    PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE, even when disabled, v2
    cpuidle: rename function name "__cpuidle_register_driver", v2
    cpufreq: OMAP: Check IS_ERR() instead of NULL for omap_device_get_by_hwmod_name
    cpuidle: remove some empty lines
    PM: Prevent runtime suspend during system resume
    PM QoS: Use spinlock in the per-device PM QoS constraints code
    PM / Sleep: use resume event when call dpm_resume_early
    cpuidle / ACPI : move cpuidle_device field out of the acpi_processor_power structure
    ACPI / processor: remove pointless variable initialization
    ACPI / processor: remove unused function parameter
    cpufreq: OMAP: remove loops_per_jiffy recalculate for smp
    sections: fix section conflicts in drivers/cpufreq
    cpufreq: conservative: update frequency when limits are relaxed
    cpufreq / ondemand: update frequency when limits are relaxed
    properly __init-annotate pm_sysrq_init()
    cpufreq: Add a generic cpufreq-cpu0 driver
    PM / OPP: Initialize OPP table from device tree
    ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp
    cpufreq: Remove support for hardware P-state chips from powernow-k8
    ...

    Linus Torvalds
     
  • Pull libata changes from Jeff Garzik:
    "Minor libata updates, nothing notable.

    1) Apply -- and then revert -- the FUA feature. Caused disk
    corruption in linux-next, proving it cannot be turned on by
    default.

    Net effect to upstream tree: zero

    2) New AHCI platform driver sata_highbank

    3) Improve SCSI MODE SENSE handling; support MODE SELECT

    4) AHCI: support aggressive device sleep (power mgmt)

    5) sata_fsl: minor fix

    6) pata_arasan: clk support"

    * tag 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:
    sata_mv: Fix warnings when no PCI
    [libata] Makefile: Fix build error in sata_highbank
    [libata] export ata_dev_set_feature()
    libata-core: use ATA_LBA in ata_build_rw_tf()
    ata/ahci_platform: Add clock framework support
    pata_arasan: add Device Tree probing capability
    pata_arasan: Add clk_{un}prepare() support
    ata: add platform driver for Calxeda AHCI controller
    sata_fsl: add workaround for data length mismatch on freescale V2 controller
    ahci: implement aggressive SATA device sleep support
    ata: define enum constants for IDENTIFY DEVICE
    Revert "libata: enable SATA disk fua detection on default"
    [libata] scsi: implement MODE SELECT command
    [libata] scsi: support MODE SENSE request for changeable and default parameters
    [libata] scsi: Remove unlikely() from FUA check
    libata: enable SATA disk fua detection on default

    Linus Torvalds
     
  • Pull spi updates from Mark Brown:
    "No framework work here, only a bunch of driver updates of varying
    sizes:

    - Factoring out of the core hardware support from the MXS MMC driver
    by Marek Vasut to allow the hardware to also be used for SPI.
    - Lots of error handling cleanups from Guenter Roeck
    - Removal of the existing Tegra driver which is quite comprehensively
    broken as detailed in the changelog for the removal.
    - DT suppport for the PL022 and GPIO drivers.
    - pinctrl support for OMAP and PL022."

    Pulling from Mark Brown as Grant Likely is still busy moving.

    * tag 'spi-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc: (53 commits)
    spi: remove completely broken Tegra driver
    spi/imx: set the inactive state of the clock according to the clock polarity
    spi/pl022: get/put resources on suspend/resume
    spi/pl022: use more managed resources
    spi/pl022: Devicetree support w/o platform data
    spi/s3c64xx: Don't free controller_data on non-dt platforms
    spi: omap2-mcspi: add pinctrl support
    spi/pl022: adopt pinctrl support
    spi: omap2-mcspi: Cleanup the omap2_mcspi_txrx_dma function
    spi/gpio: Fix stub for spi_gpio_probe_dt()
    spi/mxs: Make the SPI block clock speed configurable via DT
    spi: spi-sh-hspi: drop frees of devm_ alloc'd data
    spi/pl022: Fix chipselects pointer computation
    spi: spi-tle62x0: Use module_spi_driver macro
    mxs/spi: Rework the mxs_ssp_timeout to be more readable
    mxs/spi: Decrement the DMA/PIO border
    mxs/spi: Increment the transfer length only if transfer succeeded
    mxs/spi: Fix issues when doing long continuous transfer
    spi: spi-gpio: Add DT bindings
    spi: spi-gpio: store chipselect information in private structure
    ...

    Linus Torvalds
     
  • Pull input updates from Dmitry Torokhov:
    "A few drivers were updated with device tree bindings and others got a
    few small cleanups and fixes."

    Fix trivial conflict in drivers/input/keyboard/omap-keypad.c due to
    changes clashing with a whitespace cleanup.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (28 commits)
    Input: wacom - mark Intuos5 pad as in-prox when touching buttons
    Input: synaptics - adjust threshold for treating position values as negative
    Input: hgpk - use %*ph to dump small buffer
    Input: gpio_keys_polled - fix dt pdata->nbuttons
    Input: Add KD[GS]KBDIACRUC ioctls to the compatible list
    Input: omap-keypad - fixed formatting
    Input: tegra - move platform data header
    Input: wacom - add support for EMR on Cintiq 24HD touch
    Input: s3c2410_ts - make s3c_ts_pmops const
    Input: samsung-keypad - use of_get_child_count() helper
    Input: samsung-keypad - use of_match_ptr()
    Input: uinput - fix formatting
    Input: uinput - specify exact bit sizes on userspace APIs
    Input: uinput - mark failed submission requests as free
    Input: uinput - fix race that can block nonblocking read
    Input: uinput - return -EINVAL when read buffer size is too small
    Input: uinput - take event lock when fetching events from buffer
    Input: get rid of MATCH_BIT() macro
    Input: rotary-encoder - add DT bindings
    Input: rotary-encoder - constify platform data pointers
    ...

    Linus Torvalds
     
  • Pull pinctrl changes from Linus Walleij:
    "Some of this stuff is hitting arch/arm/* and have been ACKed by the
    ARM SoC folks, or it's device tree bindings pertaining to the specific
    driver.

    These are the bulk pinctrl changes for kernel v3.7:
    - Add subdrivers for the DB8540 and NHK8815 Nomadik-type ASICs,
    provide platform config for the Nomadik.
    - Add a driver for the i.MX35.
    - Add a driver for the BCM2835, an advanced GPIO expander.
    - Various fixes and clean-ups and minor improvements for the core,
    Nomadik, pinctr-single, sirf drivers.
    - Some platform config for the ux500."

    * tag 'pinctrl-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (27 commits)
    pinctrl: add bcm2835 driver
    pinctrl: clarify idle vs sleep states
    pinctrl/nomadik: use irq_find_mapping()
    pinctrl: sirf: add lost chained_irq_enter and exit in sirfsoc_gpio_handle_irq
    pinctrl: sirf: initialize the irq_chip pointer of pinctrl_gpio_range
    pinctrl: sirf: fix spinlock deadlock in sirfsoc_gpio_set_input
    pinctrl: sirf: add missing pins to pinctrl list
    pinctrl: sirf: fix a typo in sirfsoc_gpio_probe
    pinctrl: pinctrl-single: add debugfs pin h/w state info
    ARM: ux500: 8500: update I2C sleep states pinctrl
    pinctrl: Fix potential memory leak in pinctrl_register_one_pin()
    ARM: ux500: tidy up pin sleep modes
    ARM: ux500: fix spi2 pin group
    pinctrl: imx: remove duplicated const
    pinctrl: document semantics vs GPIO
    ARM: ux500: 8500: use hsit_a_2 group for HSI
    pinctrl: use kasprintf() in pinmux_request_gpio()
    pinctrl: pinctrl-single: Add pinctrl-single,bits type of mux
    pinctrl/nomadik : add MC1_a_2 pin MC1 function group list
    pinctrl: pinctrl-single: Make sure we do not change bits outside of mask
    ...

    Linus Torvalds
     
  • Pull GPIO changes from Linus Walleij:
    "So this is the LW GPIO patch stack for v3.7:
    - refactoring from Thierry Redding at Arnd Bergmann's request to use
    the seq_file iterator interface in gpiolib.
    - A new driver for Avionic Design's N-bit GPIO expander.
    - Two instances of mutexes replaced by spinlocks from Axel Lin to
    code that is supposed to be fastpath compliant.
    - IRQ demuxer and gpio_to_irq() support for pcf857x by Kuninori
    Morimoto.
    - Dynamic GPIO numbers, device tree support, daisy chaining and some
    other fixes for the 74x164 driver by Maxime Ripard.
    - IRQ domain and device tree support for the tc3589x driver by Lee
    Jones.
    - Some conversion to use managed resources devm_* code.
    - Some instances of clk_prepare() or clk_prepare_enable() added to
    support the new, stricter common clock framework.
    - Some for_each_set_bit() simplifications.
    - Then a lot of fixes as we fixed up all of the above tripping over
    our own shoelaces and that kind of thing."

    * tag 'gpio-for-v3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (34 commits)
    gpio: pcf857x: select IRQ_DOMAIN
    gpio: Document device_node's det_debounce
    gpio-lpc32xx: Add GPI_28
    gpio: adnp: dt: Reference generic interrupt binding
    gpio: Add Avionic Design N-bit GPIO expander support
    gpio: pxa: using for_each_set_bit to simplify the code
    gpio_msm: using for_each_set_bit to simplify the code
    gpio: Enable the tc3298x GPIO expander driver for Device Tree
    gpio: Provide the tc3589x GPIO expander driver with an IRQ domain
    ARM: shmobile: kzm9g: use gpio-keys instead of gpio-keys-polled
    gpio: pcf857x: fixup smatch WARNING
    gpio: 74x164: Add support for the daisy-chaining
    gpio: 74x164: dts: Add documentation for the dt binding
    dt: Fix incorrect reference in gpio-led documentation
    gpio: 74x164: Add device tree support
    gpio: 74x164: Use dynamic gpio number assignment if no pdata is present
    gpio: 74x164: Use devm_kzalloc
    gpio: 74x164: Use module_spi_driver boiler plate function
    gpio: sx150x: Use irq_data_get_irq_chip_data() at appropriate places
    gpio: em: Use irq_data_get_irq_chip_data() at appropriate places
    ...

    Linus Torvalds
     
  • Pull networking changes from David Miller:

    1) GRE now works over ipv6, from Dmitry Kozlov.

    2) Make SCTP more network namespace aware, from Eric Biederman.

    3) TEAM driver now works with non-ethernet devices, from Jiri Pirko.

    4) Make openvswitch network namespace aware, from Pravin B Shelar.

    5) IPV6 NAT implementation, from Patrick McHardy.

    6) Server side support for TCP Fast Open, from Jerry Chu and others.

    7) Packet BPF filter supports MOD and XOR, from Eric Dumazet and Daniel
    Borkmann.

    8) Increate the loopback default MTU to 64K, from Eric Dumazet.

    9) Use a per-task rather than per-socket page fragment allocator for
    outgoing networking traffic. This benefits processes that have very
    many mostly idle sockets, which is quite common.

    From Eric Dumazet.

    10) Use up to 32K for page fragment allocations, with fallbacks to
    smaller sizes when higher order page allocations fail. Benefits are
    a) less segments for driver to process b) less calls to page
    allocator c) less waste of space.

    From Eric Dumazet.

    11) Allow GRO to be used on GRE tunnels, from Eric Dumazet.

    12) VXLAN device driver, one way to handle VLAN issues such as the
    limitation of 4096 VLAN IDs yet still have some level of isolation.
    From Stephen Hemminger.

    13) As usual there is a large boatload of driver changes, with the scale
    perhaps tilted towards the wireless side this time around.

    Fix up various fairly trivial conflicts, mostly caused by the user
    namespace changes.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1012 commits)
    hyperv: Add buffer for extended info after the RNDIS response message.
    hyperv: Report actual status in receive completion packet
    hyperv: Remove extra allocated space for recv_pkt_list elements
    hyperv: Fix page buffer handling in rndis_filter_send_request()
    hyperv: Fix the missing return value in rndis_filter_set_packet_filter()
    hyperv: Fix the max_xfer_size in RNDIS initialization
    vxlan: put UDP socket in correct namespace
    vxlan: Depend on CONFIG_INET
    sfc: Fix the reported priorities of different filter types
    sfc: Remove EFX_FILTER_FLAG_RX_OVERRIDE_IP
    sfc: Fix loopback self-test with separate_tx_channels=1
    sfc: Fix MCDI structure field lookup
    sfc: Add parentheses around use of bitfield macro arguments
    sfc: Fix null function pointer in efx_sriov_channel_type
    vxlan: virtual extensible lan
    igmp: export symbol ip_mc_leave_group
    netlink: add attributes to fdb interface
    tg3: unconditionally select HWMON support when tg3 is enabled.
    Revert "net: ti cpsw ethernet: allow reading phy interface mode from DT"
    gre: fix sparse warning
    ...

    Linus Torvalds
     
  • Pull sparc updates from David Miller:
    "Largely this is simply adding support for the Niagara 4 cpu.

    Major areas are perf events (chip now supports 4 counters and can
    monitor any event on each counter), crypto (opcodes are availble for
    sha1, sha256, sha512, md5, crc32c, AES, DES, CAMELLIA, and Kasumi
    although the last is unsupported since we lack a generic crypto layer
    Kasumi implementation), and an optimized memcpy.

    Finally some cleanups by Peter Senna Tschudin."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next: (47 commits)
    sparc64: Fix trailing whitespace in NG4 memcpy.
    sparc64: Fix comment type in NG4 copy from user.
    sparc64: Add SPARC-T4 optimized memcpy.
    drivers/sbus/char: removes unnecessary semicolon
    arch/sparc/kernel/pci_sun4v.c: removes unnecessary semicolon
    sparc64: Fix function argument comment in camellia_sparc64_key_expand asm.
    sparc64: Fix IV handling bug in des_sparc64_cbc_decrypt
    sparc64: Add auto-loading mechanism to crypto-opcode drivers.
    sparc64: Add missing pr_fmt define to crypto opcode drivers.
    sparc64: Adjust crypto priorities.
    sparc64: Use cpu_pgsz_mask for linear kernel mapping config.
    sparc64: Probe cpu page size support more portably.
    sparc64: Support 2GB and 16GB page sizes for kernel linear mappings.
    sparc64: Fix bugs in unrolled 256-bit loops.
    sparc64: Avoid code duplication in crypto assembler.
    sparc64: Unroll CTR crypt loops in AES driver.
    sparc64: Unroll ECB decryption loops in AES driver.
    sparc64: Unroll ECB encryption loops in AES driver.
    sparc64: Add ctr mode support to AES driver.
    sparc64: Move AES driver over to a methods based implementation.
    ...

    Linus Torvalds
     
  • Pull user namespace changes from Eric Biederman:
    "This is a mostly modest set of changes to enable basic user namespace
    support. This allows the code to code to compile with user namespaces
    enabled and removes the assumption there is only the initial user
    namespace. Everything is converted except for the most complex of the
    filesystems: autofs4, 9p, afs, ceph, cifs, coda, fuse, gfs2, ncpfs,
    nfs, ocfs2 and xfs as those patches need a bit more review.

    The strategy is to push kuid_t and kgid_t values are far down into
    subsystems and filesystems as reasonable. Leaving the make_kuid and
    from_kuid operations to happen at the edge of userspace, as the values
    come off the disk, and as the values come in from the network.
    Letting compile type incompatible compile errors (present when user
    namespaces are enabled) guide me to find the issues.

    The most tricky areas have been the places where we had an implicit
    union of uid and gid values and were storing them in an unsigned int.
    Those places were converted into explicit unions. I made certain to
    handle those places with simple trivial patches.

    Out of that work I discovered we have generic interfaces for storing
    quota by projid. I had never heard of the project identifiers before.
    Adding full user namespace support for project identifiers accounts
    for most of the code size growth in my git tree.

    Ultimately there will be work to relax privlige checks from
    "capable(FOO)" to "ns_capable(user_ns, FOO)" where it is safe allowing
    root in a user names to do those things that today we only forbid to
    non-root users because it will confuse suid root applications.

    While I was pushing kuid_t and kgid_t changes deep into the audit code
    I made a few other cleanups. I capitalized on the fact we process
    netlink messages in the context of the message sender. I removed
    usage of NETLINK_CRED, and started directly using current->tty.

    Some of these patches have also made it into maintainer trees, with no
    problems from identical code from different trees showing up in
    linux-next.

    After reading through all of this code I feel like I might be able to
    win a game of kernel trivial pursuit."

    Fix up some fairly trivial conflicts in netfilter uid/git logging code.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (107 commits)
    userns: Convert the ufs filesystem to use kuid/kgid where appropriate
    userns: Convert the udf filesystem to use kuid/kgid where appropriate
    userns: Convert ubifs to use kuid/kgid
    userns: Convert squashfs to use kuid/kgid where appropriate
    userns: Convert reiserfs to use kuid and kgid where appropriate
    userns: Convert jfs to use kuid/kgid where appropriate
    userns: Convert jffs2 to use kuid and kgid where appropriate
    userns: Convert hpfs to use kuid and kgid where appropriate
    userns: Convert btrfs to use kuid/kgid where appropriate
    userns: Convert bfs to use kuid/kgid where appropriate
    userns: Convert affs to use kuid/kgid wherwe appropriate
    userns: On alpha modify linux_to_osf_stat to use convert from kuids and kgids
    userns: On ia64 deal with current_uid and current_gid being kuid and kgid
    userns: On ppc convert current_uid from a kuid before printing.
    userns: Convert s390 getting uid and gid system calls to use kuid and kgid
    userns: Convert s390 hypfs to use kuid and kgid where appropriate
    userns: Convert binder ipc to use kuids
    userns: Teach security_path_chown to take kuids and kgids
    userns: Add user namespace support to IMA
    userns: Convert EVM to deal with kuids and kgids in it's hmac computation
    ...

    Linus Torvalds
     
  • Plumb the UAPI Kbuilds into the user header installation and checking system.
    As the headers are split the entries will be transferred across from the old
    Kbuild files to the UAPI Kbuild files.

    The changes made in this commit are:

    (1) Exported generated files (of which there are currently four) are moved to
    uapi/ directories under the appropriate generated/ directory, thus we
    get:

    include/generated/uapi/linux/version.h
    arch/x86/include/generated/uapi/asm/unistd_32.h
    arch/x86/include/generated/uapi/asm/unistd_64.h
    arch/x86/include/generated/uapi/asm/unistd_x32.h

    These paths were added to the build as -I flags in a previous patch.

    (2) scripts/Makefile.headersinst is now given the UAPI path to install from
    rather than the old path.

    It then determines the old path from that and includes that Kbuild also
    if it exists, thus permitting the headers to exist in either directory
    during the changeover.

    I also renamed the "install" variable to "installdir" as it refers to a
    directory not the install program.

    (3) scripts/headers_install.pl is altered to take a list of source file paths
    instead of just their names so that the makefile can tell it exactly
    where to find each file.

    For the moment, files can be obtained from one of four places for each
    output directory:

    .../include/uapi/foo/
    .../include/generated/uapi/foo/
    .../include/foo/
    .../include/generated/foo/

    The non-UAPI paths will be dropped later.

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones

    David Howells
     
  • Differentiate the generated UAPI and internal headers during generation such
    that the UAPI headers can be installed elsewhere.

    A later patch will use this to move the UAPI headers to:

    arch/x86/include/generated/uapi/asm/

    to make them easier to handle.

    A previous patch added a -I for this path.

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones

    David Howells
     
  • Fix a build failure in the x86 insn_sanity program after the UAPI split. The
    problem is that insn_sanity.c #includes arch/x86/lib/insn.c - which uses the
    kernel string header. This leads to conflicts for various definitions against
    the /usr/include/ headers.

    linux/string.h can be replaced with the normal userspace string.h if __KERNEL__
    is not specified.

    HOSTCC arch/x86/tools/insn_sanity
    In file included from /data/fs/linux-2.6-hdr/include/linux/string.h:6:0,
    from /data/fs/linux-2.6-hdr/arch/x86/lib/insn.c:21,
    from arch/x86/tools/insn_sanity.c:36:
    /data/fs/linux-2.6-hdr/include/linux/types.h:14:26: error: conflicting types for 'fd_set'
    /usr/include/sys/select.h:76:5: note: previous declaration of 'fd_set' was here
    /data/fs/linux-2.6-hdr/include/linux/types.h:15:25: error: conflicting types for 'dev_t'
    /usr/include/sys/types.h:61:17: note: previous declaration of 'dev_t' was here
    /data/fs/linux-2.6-hdr/include/linux/types.h:25:26: error: conflicting types for 'timer_t'
    /usr/include/time.h:104:19: note: previous declaration of 'timer_t' was here
    /data/fs/linux-2.6-hdr/include/linux/types.h:45:26: error: conflicting types for 'loff_t'
    /usr/include/sys/types.h:45:18: note: previous declaration of 'loff_t' was here
    /data/fs/linux-2.6-hdr/include/linux/types.h:112:17: error: conflicting types for 'u_int64_t'
    /usr/include/sys/types.h:204:1: note: previous declaration of 'u_int64_t' was here
    /data/fs/linux-2.6-hdr/include/linux/types.h:113:17: error: conflicting types for 'int64_t'
    /usr/include/sys/types.h:198:1: note: previous declaration of 'int64_t' was here
    /data/fs/linux-2.6-hdr/include/linux/types.h:134:23: error: conflicting types for 'blkcnt_t'
    /usr/include/sys/types.h:236:20: note: previous declaration of 'blkcnt_t' was here
    In file included from /data/fs/linux-2.6-hdr/arch/x86/lib/insn.c:21:0,
    from arch/x86/tools/insn_sanity.c:36:
    /data/fs/linux-2.6-hdr/include/linux/string.h:38:12: error: expected identifier or '(' before '__extension__'
    /data/fs/linux-2.6-hdr/include/linux/string.h:38:12: error: expected identifier or '(' before ')' token
    /data/fs/linux-2.6-hdr/include/linux/string.h:41:12: error: expected identifier or '(' before '__extension__'
    /data/fs/linux-2.6-hdr/include/linux/string.h:53:15: error: expected identifier or '(' before '__extension__'
    /data/fs/linux-2.6-hdr/include/linux/string.h:61:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'skip_spaces'
    /data/fs/linux-2.6-hdr/include/linux/string.h:65:28: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'char'
    /data/fs/linux-2.6-hdr/include/linux/string.h:83:15: error: expected identifier or '(' before '__extension__'
    /data/fs/linux-2.6-hdr/include/linux/string.h:83:15: error: expected identifier or '(' before ')' token
    /data/fs/linux-2.6-hdr/include/linux/string.h:86:15: error: expected identifier or '(' before '__extension__'
    /data/fs/linux-2.6-hdr/include/linux/string.h:86:15: error: expected identifier or '(' before ')' token
    /data/fs/linux-2.6-hdr/include/linux/string.h:89:24: error: expected identifier or '(' before '__extension__'
    /data/fs/linux-2.6-hdr/include/linux/string.h:89:24: error: expected identifier or '(' before ')' token
    /data/fs/linux-2.6-hdr/include/linux/string.h:92:24: error: expected identifier or '(' before '__extension__'
    /data/fs/linux-2.6-hdr/include/linux/string.h:92:24: error: expected identifier or '(' before ')' token

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    Acked-by: Thomas Gleixner
    Acked-by: Paul E. McKenney
    Acked-by: Dave Jones

    David Howells