1. 06 Mar, 2013 2 commits
  2. 27 Feb, 2013 10 commits
    • Linus Torvalds's avatar
      sysrq: don't depend on weak undefined arrays to have an address that compares as NULL · adf96e6f
      Linus Torvalds authored
      When taking an address of an extern array, gcc quite naturally should be
      able to say "an address of an object can never be NULL" and just
      optimize away the test entirely.
      
      However, the new alternate sysrq reset code (commit 154b7a48:
      "Input: sysrq - allow specifying alternate reset sequence") did exactly
      that, and declared platform_sysrq_reset_seq[] as a weak array, and
      expecting that testing the address of the array would show whether it
      actually got linked against something or not.
      
      And that doesn't work with all gcc versions.  Clearly it works with
      *some* versions of gcc, and maybe it's even supposed to work, but it
      really is a very fragile concept.
      
      So instead of testing the address of the weak variable, just create a
      weak instance of that array that is empty.  If some platform then has a
      real platform_sysrq_reset_seq[] that overrides our weak one, the linker
      will switch to that one, and it all works without any run-time
      conditionals at all.
      Reported-by: default avatarDave Airlie <airlied@gmail.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Russell King <rmk+kernel@arm.linux.org.uk>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Acked-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      adf96e6f
    • Linus Torvalds's avatar
      mm: do not grow the stack vma just because of an overrun on preceding vma · 09884964
      Linus Torvalds authored
      The stack vma is designed to grow automatically (marked with VM_GROWSUP
      or VM_GROWSDOWN depending on architecture) when an access is made beyond
      the existing boundary.  However, particularly if you have not limited
      your stack at all ("ulimit -s unlimited"), this can cause the stack to
      grow even if the access was really just one past *another* segment.
      
      And that's wrong, especially since we first grow the segment, but then
      immediately later enforce the stack guard page on the last page of the
      segment.  So _despite_ first growing the stack segment as a result of
      the access, the kernel will then make the access cause a SIGSEGV anyway!
      
      So do the same logic as the guard page check does, and consider an
      access to within one page of the next segment to be a bad access, rather
      than growing the stack to abut the next segment.
      Reported-and-tested-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      09884964
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · d895cb1a
      Linus Torvalds authored
      Pull vfs pile (part one) from Al Viro:
       "Assorted stuff - cleaning namei.c up a bit, fixing ->d_name/->d_parent
        locking violations, etc.
      
        The most visible changes here are death of FS_REVAL_DOT (replaced with
        "has ->d_weak_revalidate()") and a new helper getting from struct file
        to inode.  Some bits of preparation to xattr method interface changes.
      
        Misc patches by various people sent this cycle *and* ocfs2 fixes from
        several cycles ago that should've been upstream right then.
      
        PS: the next vfs pile will be xattr stuff."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (46 commits)
        saner proc_get_inode() calling conventions
        proc: avoid extra pde_put() in proc_fill_super()
        fs: change return values from -EACCES to -EPERM
        fs/exec.c: make bprm_mm_init() static
        ocfs2/dlm: use GFP_ATOMIC inside a spin_lock
        ocfs2: fix possible use-after-free with AIO
        ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path
        get_empty_filp()/alloc_file() leave both ->f_pos and ->f_version zero
        target: writev() on single-element vector is pointless
        export kernel_write(), convert open-coded instances
        fs: encode_fh: return FILEID_INVALID if invalid fid_type
        kill f_vfsmnt
        vfs: kill FS_REVAL_DOT by adding a d_weak_revalidate dentry op
        nfsd: handle vfs_getattr errors in acl protocol
        switch vfs_getattr() to struct path
        default SET_PERSONALITY() in linux/elf.h
        ceph: prepopulate inodes only when request is aborted
        d_hash_and_lookup(): export, switch open-coded instances
        9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
        9p: split dropping the acls from v9fs_set_create_acl()
        ...
      d895cb1a
    • Linus Torvalds's avatar
      Merge tag 'xtensa-next-20130225' of git://github.com/czankel/xtensa-linux · 96263573
      Linus Torvalds authored
      Pull xtensa update from Chris Zankel:
       "Added features:
         - add support for thread local storage (TLS)
      
         - add accept4 and finit_module syscalls
      
         - support medium-priority interrupts
      
         - add support for dc232c processor variant
      
         - support file-base simulated disk for ISS simulator
      
        Bug fixes:
      
         - fix return values returned by the str[n]cmp functions
      
         - avoid mmap cache aliasing
      
         - fix handling of 'windowed registers' in ptrace"
      
      * tag 'xtensa-next-20130225' of git://github.com/czankel/xtensa-linux:
        xtensa: add accept4 syscall
        xtensa: add support for TLS
        xtensa: add missing include asm/uaccess.h to checksum.h
        xtensa: do not enable GENERIC_GPIO by default
        xtensa: complete ptrace handling of register windows
        xtensa: add support for oprofile
        xtensa: move spill_registers to traps.h
        xtensa: ISS: add host file-based simulated disk
        xtensa: fix str[n]cmp return value
        xtensa: avoid mmap cache aliasing
        xtensa: add finit_module syscall
        xtensa: pull signal definitions from signal-defs.h
        xtensa: fix ipc_parse_version selection
        xtensa: dispatch medium-priority interrupts
        xtensa: Add config files for Diamond 233L - Rev C processor variant
        xtensa: use new common dtc rule
        xtensa: rename prom_update_property to of_update_property
      96263573
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.monstr.eu/linux-2.6-microblaze · 2b37e9a2
      Linus Torvalds authored
      Pull microblaze update from Michal Simek:
       "Microblaze changes.
      
        After my discussion with Arnd I have also added there asm-generic io
        patch which is Acked by him and Geert."
      
      * 'next' of git://git.monstr.eu/linux-2.6-microblaze:
        asm-generic: io: Fix ioread16/32be and iowrite16/32be
        microblaze: Do not use module.h in files which are not modules
        microblaze: Fix coding style issues
        microblaze: Add missing return from debugfs_tlb
        microblaze: Makefile clean
        microblaze: Add .gitignore entries for auto-generated files
        microblaze: Fix strncpy_from_user macro
      2b37e9a2
    • Linus Torvalds's avatar
      Merge branch 'for-upstream' of git://openrisc.net/jonas/linux · a9a07d40
      Linus Torvalds authored
      Pull OpenRISC updates from Jonas Bonn:
       "An equal number of bug fixes and trivial cleanups; no new features.
      
         - Two patches to fix errors thrown by the updated toolchain.
      
         - Three other bug fixes.
      
         - Four trivial cleanups."
      
      * 'for-upstream' of git://openrisc.net/jonas/linux:
        openrisc: add missing header inclusion
        openrisc: really pass correct arg to schedule_tail
        Add bitops include needed for ext2 filesystem
        openrisc: update DTLB-miss handler last
        openrisc: fix up vmalloc page table loading
        openrisc idle: delete pm_idle
        openrisc: remove CONFIG_SYMBOL_PREFIX
        openrisc: avoid using function parameter regs in reset vector
        openrisc: remove unused current_regs
      a9a07d40
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2003cd90
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar.
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm/pageattr: Prevent PSE and GLOABL leftovers to confuse pmd/pte_present and pmd_huge
        Revert "x86, mm: Make spurious_fault check explicitly check explicitly check the PRESENT bit"
        x86/mm/numa: Don't check if node is NUMA_NO_NODE
        x86, efi: Make "noefi" really disable EFI runtime serivces
        x86/apic: Fix parsing of the 'lapic' cmdline option
      2003cd90
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 24e55910
      Linus Torvalds authored
      Pull timer fixes from Ingo Molnar.
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource : Nomadik-mtu : fix missing irq initialization
        posix-timer: Don't call idr_find() with out-of-range ID
      24e55910
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · dcad0fce
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar.
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        cputime: Use local_clock() for full dynticks cputime accounting
        cputime: Constify timeval_to_cputime(timeval) argument
        sched: Move RR_TIMESLICE from sysctl.h to rt.h
        sched: Fix /proc/sched_debug failure on very very large systems
        sched: Fix /proc/sched_stat failure on very very large systems
        sched/core: Remove the obsolete and unused nr_uninterruptible() function
      dcad0fce
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f8ef15d6
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar.
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Add Intel IvyBridge event scheduling constraints
        ftrace: Call ftrace cleanup module notifier after all other notifiers
        tracing/syscalls: Allow archs to ignore tracing compat syscalls
      f8ef15d6
  3. 26 Feb, 2013 28 commits
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 6515925b
      Linus Torvalds authored
      Pull ext4 updates from Theodore Ts'o:
       "The one new feature added in this patch series is the ability to use
        the "punch hole" functionality for inodes that are not using extent
        maps.
      
        In the bug fix category, we fixed some races in the AIO and fstrim
        code, and some potential NULL pointer dereferences and memory leaks in
        error handling code paths.
      
        In the optimization category, we fixed a performance regression in the
        jbd2 layer introduced by commit d9b01934 ("jbd: fix fsync() tid
        wraparound bug", introduced in v3.0) which shows up in the AIM7
        benchmark.  We also further optimized jbd2 by minimize the amount of
        time that transaction handles are held active.
      
        This patch series also features some additional enhancement of the
        extent status tree, which is now used to cache extent information in a
        more efficient/compact form than what we use on-disk."
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (65 commits)
        ext4: fix free clusters calculation in bigalloc filesystem
        ext4: no need to remove extent if len is 0 in ext4_es_remove_extent()
        ext4: fix xattr block allocation/release with bigalloc
        ext4: reclaim extents from extent status tree
        ext4: adjust some functions for reclaiming extents from extent status tree
        ext4: remove single extent cache
        ext4: lookup block mapping in extent status tree
        ext4: track all extent status in extent status tree
        ext4: let ext4_ext_map_blocks return EXT4_MAP_UNWRITTEN flag
        ext4: rename and improbe ext4_es_find_extent()
        ext4: add physical block and status member into extent status tree
        ext4: refine extent status tree
        ext4: use ERR_PTR() abstraction for ext4_append()
        ext4: refactor code to read directory blocks into ext4_read_dirblock()
        ext4: add debugging context for warning in ext4_da_update_reserve_space()
        ext4: use KERN_WARNING for warning messages
        jbd2: use module parameters instead of debugfs for jbd_debug
        ext4: use module parameters instead of debugfs for mballoc_debug
        ext4: start handle at the last possible moment when creating inodes
        ext4: fix the number of credits needed for acl ops with inline data
        ...
      6515925b
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · bbbd27e6
      Linus Torvalds authored
      Pull ext2, ext3, udf updates from Jan Kara:
       "Several UDF fixes, a support for UDF extent cache, and couple of ext2
        and ext3 cleanups and minor fixes"
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        Ext2: remove the static function release_blocks to optimize the kernel
        Ext2: mark inode dirty after the function dquot_free_block_nodirty is called
        Ext2: remove the overhead check about sb in the function ext2_new_blocks
        udf: Remove unused s_extLength from udf_bitmap
        udf: Make s_block_bitmap standard array
        udf: Fix bitmap overflow on large filesystems with small block size
        udf: add extent cache support in case of file reading
        udf: Write LVID to disk after opening / closing
        Ext3: return ENOMEM rather than EIO if sb_getblk fails
        Ext2: return ENOMEM rather than EIO if sb_getblk fails
        Ext3: use unlikely to improve the efficiency of the kernel
        Ext2: use unlikely to improve the efficiency of the kernel
        Ext3: add necessary check in case IO error happens
        Ext2: free memory allocated and forget buffer head when io error happens
        ext3: Fix memory leak when quota options are specified multiple times
        ext3, ext4, ocfs2: remove unused macro NAMEI_RA_INDEX
      bbbd27e6
    • Linus Torvalds's avatar
      Merge tag 'upstream-3.9-rc1' of git://git.infradead.org/linux-ubifs · a6590b9f
      Linus Torvalds authored
      Pull ubifs updates from Artem Bityutskiy:
       "It's been quite silent and we have only a couple of bug-fixes for the
        orphans handling code plus one cosmetic change."
      
      * tag 'upstream-3.9-rc1' of git://git.infradead.org/linux-ubifs:
        UBIFS: fix double free of ubifs_orphan objects
        UBIFS: fix use of freed ubifs_orphan objects
        UBIFS: rename random32() to prandom_u32()
      a6590b9f
    • Linus Torvalds's avatar
      Merge tag 'f2fs-for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs · 1085db4a
      Linus Torvalds authored
      Pull f2fs update from Jaegeuk Kim:
       "[Major bug fixes]
         o Store device file information correctly
         o Fix -EIO handling with respect to power-off-recovery
         o Allocate blocks with global locks
         o Fix wrong calculation of the SSR cost
      
        [Cleanups]
         o Get rid of fake on-stack dentries
      
        [Enhancement]
         o Support (un)freeze_fs
         o Enhance the f2fs_gc flow
         o Support 32-bit binary execution on 64-bit kernel"
      
      * tag 'f2fs-for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (29 commits)
        f2fs: avoid build warning
        f2fs: add compat_ioctl to provide backward compatability
        f2fs: fix calculation of max. gc cost in the SSR case
        f2fs: clarify and enhance the f2fs_gc flow
        f2fs: optimize the return condition for has_not_enough_free_secs
        f2fs: make an accessor to get sections for particular block type
        f2fs: mark gc_thread as NULL when thread creation is failed
        f2fs: name gc task as per the block device
        f2fs: remove unnecessary gc option check and balance_fs
        f2fs: remove repeated F2FS_SET_SB_DIRT call
        f2fs: when check superblock failed, try to check another superblock
        f2fs: use F2FS_BLKSIZE to judge bloksize and page_cache_size
        f2fs: add device name in debugfs
        f2fs: stop repeated checking if cp is needed
        f2fs: avoid balanc_fs during evict_inode
        f2fs: remove the use of page_cache_release
        f2fs: fix typo mistake for data_version description
        f2fs: reorganize code for ra_node_page
        f2fs: avoid redundant call to has_not_enough_free_secs in f2fs_gc
        f2fs: add un/freeze_fs into super_operations
        ...
      1085db4a
    • Linus Torvalds's avatar
      Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 3c834b6f
      Linus Torvalds authored
      Pull virtio updates from Rusty Russell:
       "All trivial, thanks to the stuff which didn't quite make it time"
      
      * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        virtio_console: Initialize guest_connected=true for rproc_serial
        virtio: use module_virtio_driver.
        virtio: Add module driver macro for virtio drivers.
        virtio_console: Use virtio device index to generate port name
        virtio: make pci_device_id const
        virtio: make config_ops const
        virtio-mmio: fix wrong comment about register offset
        virtio_console: Let unconnected rproc device receive data.
      3c834b6f
    • Linus Torvalds's avatar
      Merge tag 'vfio-v3.9-rc1' of git://github.com/awilliam/linux-vfio · 515d01f7
      Linus Torvalds authored
      Pull VFIO updates from Alex Williamson:
       - Fixes PCIe v1 extended capability support
      
       - Cleans up read/write access functions
      
       - Fix Removal test to properly wait until devices are unused
      
       - Enable pcieport driver usage for non-accessible devices w/in groups
      
       - Extensions for PCI VGA support
      
      * tag 'vfio-v3.9-rc1' of git://github.com/awilliam/linux-vfio:
        drivers/vfio: remove depends on CONFIG_EXPERIMENTAL
        vfio-pci: Add support for VGA region access
        vfio-pci: Manage user power state transitions
        vfio: whitelist pcieport
        vfio: Protect vfio_dev_present against device_del
        vfio-pci: Cleanup BAR access
        vfio-pci: Cleanup read/write functions
        vfio-pci: Enable PCIe extended capabilities on v1
      515d01f7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · 1cef9350
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) ping_err() ICMP error handler looks at wrong ICMP header, from Li
          Wei.
      
       2) TCP socket hash function on ipv6 is too weak, from Eric Dumazet.
      
       3) netif_set_xps_queue() forgets to drop mutex on errors, fix from
          Alexander Duyck.
      
       4) sum_frag_mem_limit() can deadlock due to lack of BH disabling, fix
          from Eric Dumazet.
      
       5) TCP SYN data is miscalculated in tcp_send_syn_data(), because the
          amount of TCP option space was not taken into account properly in
          this code path.  Fix from yuchung Cheng.
      
       6) MLX4 driver allocates device queues with the wrong size, from Kleber
          Sacilotto.
      
       7) sock_diag can access past the end of the sock_diag_handlers[] array,
          from Mathias Krause.
      
       8) vlan_set_encap_proto() makes incorrect assumptions about where
          skb->data points, rework the logic so that it works regardless of
          where skb->data happens to be.  From Jesse Gross.
      
       9) Fix gianfar build failure with NET_POLL enabled, from Paul
          Gortmaker.
      
      10) Fix Ipv4 ID setting and checksum calculations in GRE driver, from
         Pravin B Shelar.
      
      11) bgmac driver does:
      
              int i;
      
              for (i = 0; ...; ...) {
                      ...
                      for (i = 0; ...; ...) {
      
          effectively corrupting the outer loop index, use a seperate
          variable for the inner loops.  From Rafał Miłecki.
      
      12) Fix suspend bugs in smsc95xx driver, from Ming Lei.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (35 commits)
        usbnet: smsc95xx: rename FEATURE_AUTOSUSPEND
        usbnet: smsc95xx: fix broken runtime suspend
        usbnet: smsc95xx: fix suspend failure
        bgmac: fix indexing of 2nd level loops
        b43: Fix lockdep splat on module unload
        Revert "ip_gre: propogate target device GSO capability to the tunnel device"
        IP_GRE: Fix GRE_CSUM case.
        VXLAN: Use tunnel_ip_select_ident() for tunnel IP-Identification.
        IP_GRE: Fix IP-Identification.
        net/pasemi: Fix missing coding style
        vmxnet3: fix ethtool ring buffer size setting
        vmxnet3: make local function static
        bnx2x: remove dead code and make local funcs static
        gianfar: fix compile fail for NET_POLL=y due to struct packing
        vlan: adjust vlan_set_encap_proto() for its callers
        sock_diag: Simplify sock_diag_handlers[] handling in __sock_diag_rcv_msg
        sock_diag: Fix out-of-bounds access to sock_diag_handlers[]
        vxlan: remove depends on CONFIG_EXPERIMENTAL
        mlx4_en: fix allocation of CPU affinity reverse-map
        mlx4_en: fix allocation of device tx_cq
        ...
      1cef9350
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · ecc88efb
      Linus Torvalds authored
      Pull scsi target updates from Nicholas Bellinger:
       "The highlights in this series include:
      
         - Improve sg_table lookup scalability in RAMDISK_MCP (martin)
      
         - Add device attribute to expose config name for INQUIRY model (tregaron)
      
         - Convert tcm_vhost to use lock-less list for cmd completion (asias)
      
         - Add tcm_vhost support for multiple target's per endpoint (asias)
      
         - Add tcm_vhost support for multiple queues per vhost (asias)
      
         - Add missing mapped_lun bounds checking during make_mappedlun setup
           in generic fabric configfs code (jan engelhardt + nab)
      
         - Enforce individual iscsi-target network portal export once per
           TargetName endpoint (grover + nab)
      
         - Add WRITE_SAME w/ UNMAP=0 emulation to FILEIO backend (nab)
      
        Things have been mostly quiet this round, with majority of the work
        being done on the iser-target WIP driver + associated iscsi-target
        refactoring patches currently in flight for v3.10 code.
      
        At this point there is one patch series left outstanding from Asias to
        add support for UNMAP + WRITE_SAME w/ UNMAP=1 to FILEIO awaiting
        feedback from hch & Co, that will likely be included in a post
        v3.9-rc1 PULL request if there are no objections.
      
        Also, there is a regression bug recently reported off-list that seems
        to be effecting v3.5 and v3.6 kernels with MSFT iSCSI initiators that
        is still being tracked down.  No word if this effects >= v3.7 just
        yet, but if so there will likely another PULL request coming your
        way.."
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (26 commits)
        target: Rename spc_get_write_same_sectors -> sbc_get_write_same_sectors
        target/file: Add WRITE_SAME w/ UNMAP=0 emulation support
        iscsi-target: Enforce individual network portal export once per TargetName
        iscsi-target: Refactor iscsit_get_np sockaddr matching into iscsit_check_np_match
        target: Add missing mapped_lun bounds checking during make_mappedlun setup
        target: Fix lookup of dynamic NodeACLs during cached demo-mode operation
        target: Fix parameter list length checking in MODE SELECT
        target: Fix error checking for UNMAP commands
        target: Fix sense data for out-of-bounds IO operations
        target_core_rd: break out unterminated loop during copy
        tcm_vhost: Multi-queue support
        tcm_vhost: Multi-target support
        target: Add device attribute to expose config_item_name for INQUIRY model
        target: don't truncate the fail intr address
        target: don't always say "ipv6" as address type
        target/iblock: Use backend REQ_FLUSH hint for WriteCacheEnabled status
        iscsi-target: make some temporary buffers larger
        tcm_vhost: Optimize gup in vhost_scsi_map_to_sgl
        tcm_vhost: Use iov_num_pages to calculate sgl_count
        tcm_vhost: Introduce iov_num_pages
        ...
      ecc88efb
    • Linus Torvalds's avatar
      Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband · 70a3a06d
      Linus Torvalds authored
      Pull infiniband update from Roland Dreier:
       "Main batch of InfiniBand/RDMA changes for 3.9:
      
         - SRP error handling fixes from Bart Van Assche
      
         - Implementation of memory windows for mlx4 from Shani Michaeli
      
         - Lots of cxgb4 HW driver fixes from Vipul Pandya
      
         - Make iSER work for virtual functions, other fixes from Or Gerlitz
      
         - Fix for bug in qib HW driver from Mike Marciniszyn
      
         - IPoIB fixes from me, Itai Garbi, Shlomo Pongratz, Yan Burman
      
         - Various cleanups and warning fixes from Julia Lawall, Paul Bolle,
           Wei Yongjun"
      
      * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (41 commits)
        IB/mlx4: Advertise MW support
        IB/mlx4: Support memory window binding
        mlx4: Implement memory windows allocation and deallocation
        mlx4_core: Enable memory windows in {INIT, QUERY}_HCA
        mlx4_core: Disable memory windows for virtual functions
        IPoIB: Free ipoib neigh on path record failure so path rec queries are retried
        IB/srp: Fail I/O requests if the transport is offline
        IB/srp: Avoid endless SCSI error handling loop
        IB/srp: Avoid sending a task management function needlessly
        IB/srp: Track connection state properly
        IB/mlx4: Remove redundant NULL check before kfree
        IB/mlx4: Fix compiler warning about uninitialized 'vlan' variable
        IB/mlx4: Convert is_xxx variables in build_mlx_header() to bool
        IB/iser: Enable iser when FMRs are not supported
        IB/iser: Avoid error prints on EAGAIN registration failures
        IB/iser: Use proper define for the commands per LUN value advertised to SCSI ML
        IB/uverbs: Implement memory windows support in uverbs
        IB/core: Add "type 2" memory windows support
        mlx4_core: Propagate MR deregistration failures to caller
        mlx4_core: Rename MPT-related functions to have mpt_ prefix
        ...
      70a3a06d
    • Linus Torvalds's avatar
      Merge tag 'iommu-updates-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · f6c0ffa8
      Linus Torvalds authored
      Pull IOMMU Updates from Joerg Roedel:
       "Besides some fixes and cleanups in the code there are three more
        important changes to point out this time:
      
      	* New IOMMU driver for the ARM SHMOBILE platform
      	* An IOMMU-API extension for non-paging IOMMUs (required for
      	  upcoming PAMU driver)
      	* Rework of the way the Tegra IOMMU driver accesses its
      	  registetrs - register windows are easier to extend now.
      
        There are also a few changes to non-iommu code, but that is acked by
        the respective maintainers."
      
      * tag 'iommu-updates-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (23 commits)
        iommu/tegra: assume CONFIG_OF in SMMU driver
        iommu/tegra: assume CONFIG_OF in gart driver
        iommu/amd: Remove redundant NULL check before dma_ops_domain_free().
        iommu/amd: Initialize device table after dma_ops
        iommu/vt-d: Zero out allocated memory in dmar_enable_qi
        iommu/tegra: smmu: Fix incorrect mask for regbase
        iommu/exynos: Make exynos_sysmmu_disable static
        ARM: mach-shmobile: r8a7740: Add IPMMU device
        ARM: mach-shmobile: sh73a0: Add IPMMU device
        ARM: mach-shmobile: sh7372: Add IPMMU device
        iommu/shmobile: Add iommu driver for Renesas IPMMU modules
        iommu: Add DOMAIN_ATTR_WINDOWS domain attribute
        iommu: Add domain window handling functions
        iommu: Implement DOMAIN_ATTR_PAGING attribute
        iommu: Check for valid pgsize_bitmap in iommu_map/unmap
        iommu: Make sure DOMAIN_ATTR_MAX is really the maximum
        iommu/tegra: smmu: Change SMMU's dependency on ARCH_TEGRA
        iommu/tegra: smmu: Use helper function to check for valid register offset
        iommu/tegra: smmu: Support variable MMIO ranges/blocks
        iommu/tegra: Add missing spinlock initialization
        ...
      f6c0ffa8
    • Linus Torvalds's avatar
      Merge branch 'for-v3.9' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping · 42a0a1b0
      Linus Torvalds authored
      Pull DMA-mapping updates from Marek Szyprowski:
       "This time all patches are related only to ARM DMA-mapping subsystem.
        The main extension provided by this pull request is highmem support.
        Besides that it contains a bunch of small bugfixes and cleanups."
      
      * 'for-v3.9' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
        ARM: DMA-mapping: fix memory leak in IOMMU dma-mapping implementation
        ARM: dma-mapping: Add maximum alignment order for dma iommu buffers
        ARM: dma-mapping: use himem for DMA buffers for IOMMU-mapped devices
        ARM: dma-mapping: add support for CMA regions placed in highmem zone
        arm: dma mapping: export arm iommu functions
        ARM: dma-mapping: Add arm_iommu_detach_device()
        ARM: dma-mapping: Add macro to_dma_iommu_mapping()
        ARM: dma-mapping: Set arm_dma_set_mask() for iommu->set_dma_mask()
        ARM: iommu: Include linux/kref.h in asm/dma-iommu.h
      42a0a1b0
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 52caa59e
      Linus Torvalds authored
      Pull i2c updates from Wolfram Sang:
       "Highlights:
      
         - new drivers for Intel ismt & Broadcom bcm2835
         - a number of drivers got support for more variants and mostly got
           cleaned up on the way (sis630, i801, at91, tegra, designware)
         - i2c got rid of all *_set_drvdata(..., NULL) on remove/probe failure
         - removed the i2c_smbus_process_call from the core since there are no
           users
         - mxs can now switch between PIO and DMA depending on the message
           size and the bus speed can now be arbitrary
      
        In addition, there is the usual bunch of fixes, cleanups, devm_*
        conversions, etc"
      
      Fixed conflict (and buggy devm_* conversion) in i2c-s3c2410.c
      
      * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (39 commits)
        i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls
        i2c: pxa: remove incorrect __exit annotations
        i2c: ocores: Fix pointer to integer cast warning
        i2c: tegra: remove warning dump if timeout happen in transfer
        i2c: fix i2c-ismt.c printk format warning
        i2c: i801: Add Device IDs for Intel Wellsburg PCH
        i2c: add bcm2835 driver
        i2c: ismt: Add Seth and Myself as maintainers
        i2c: sis630: checkpatch cleanup
        i2c: sis630: display unsigned hex
        i2c: sis630: use hex to constants for SMBus commands
        i2c: sis630: fix behavior after collision
        i2c: sis630: clear sticky bits
        i2c: sis630: Add SIS964 support
        i2c: isch: Add module parameter for backbone clock rate if divider is unset
        i2c: at91: fix unsed variable warning when building with !CONFIG_OF
        i2c: Adding support for Intel iSMT SMBus 2.0 host controller
        i2c: sh_mobile: don't send a stop condition by default inside transfers
        i2c: sh_mobile: eliminate an open-coded "goto" loop
        i2c: sh_mobile: fix timeout error handling
        ...
      52caa59e
    • Linus Torvalds's avatar
      Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux · 4c8c225a
      Linus Torvalds authored
      Pull GPIO changes from Grant Likely:
       "This branch contains the usual set of individual driver improvements
        and bug fixes, as well as updates to the core code.  The more notable
        changes include:
      
         - Internally add new API for referencing GPIOs by gpio_desc instead
           of number.  Eventually this will become a public API
      
         - ACPI GPIO binding support"
      
      * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux: (33 commits)
        arm64: select ARCH_WANT_OPTIONAL_GPIOLIB
        gpio: em: Use irq_domain_add_simple() to fix runtime error
        gpio: using common order: let 'static const' instead of 'const static'
        gpio/vt8500: memory cleanup missing
        gpiolib: Fix locking on gpio debugfs files
        gpiolib: let gpio_chip reference its descriptors
        gpiolib: use descriptors internally
        gpiolib: use gpio_chips list in gpiochip_find_base
        gpiolib: use gpio_chips list in sysfs ops
        gpiolib: use gpio_chips list in gpiochip_find
        gpiolib: use gpio_chips list in gpiolib_sysfs_init
        gpiolib: link all gpio_chips using a list
        gpio/langwell: cleanup driver
        gpio/langwell: Add Cloverview ids to pci device table
        gpio/lynxpoint: add chipset gpio driver.
        gpiolib: add missing braces in gpio_direction_show
        gpiolib-acpi: Fix error checks in interrupt requesting
        gpio: mpc8xxx: don't set IRQ_TYPE_NONE when creating irq mapping
        gpiolib: remove gpiochip_reserve()
        arm: pxa: tosa: do not use gpiochip_reserve()
        ...
      4c8c225a
    • Linus Torvalds's avatar
      Merge tag 'for-3.9-rc1' of git://gitorious.org/linux-pwm/linux-pwm · 3eb05225
      Linus Torvalds authored
      Pull PWM changes from Thierry Reding:
       "A new driver has been added to support the PWM mode of the timer
        counter blocks found on Atmel AT91 SoCs.  The VT8500 driver now
        supports changing the PWM signal polarity and the TI drivers (EHRPWM
        and ECAP) gained suspend and resume functionality.
      
        User drivers can now query the core for whether access to a PWM device
        will sleep (if the PWM chip is on a slow bus such as I2C or SPI).
      
        The pwm-backlight driver now handles the backlight BL_CORE_FBBLANK
        state in addition to the FB layer's blanking states.
      
        To round things off, a few fixes and cleanups are also included"
      
      * tag 'for-3.9-rc1' of git://gitorious.org/linux-pwm/linux-pwm:
        pwm: twl: Use to_twl() instead of container_of()
        pwm: tegra: assume CONFIG_OF
        pwm_backlight: Validate dft_brightness in main probe function
        pwm: Export pwm_{set,get}_chip_data()
        pwm: Make Kconfig entries more consistent
        pwm: Add can_sleep property to drivers
        pwm: Add pwm_can_sleep() as exported API to users
        pwm-backlight: handle BL_CORE_FBBLANK state
        pwm: pwm-tiecap: Low power sleep support
        pwm: pwm-tiehrpwm: Low power sleep support
        pwm: pwm-tiehrpwm: Update the clock handling of pwm-tiehrpwm driver
        pwm: vt8500: Add polarity support
        pwm: vt8500: Register write busy test performed incorrectly
        pwm: atmel: add Timer Counter Block PWM driver
      3eb05225
    • Linus Torvalds's avatar
      Merge tag 'mmc-updates-for-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc · ed5dc237
      Linus Torvalds authored
      Pull MMC update from Chris Ball:
       "MMC highlights for 3.9:
      
        Core:
         - Support for packed commands in eMMC 4.5.  (This requires a host
           capability to be turned on.  It increases write throughput by 20%+,
           but may also increase average write latency; more testing needed.)
         - Add DT bindings for capability flags.
         - Add mmc_of_parse() for shared DT parsing between drivers.
      
        Drivers:
         - android-goldfish: New MMC driver for the Android Goldfish emulator.
         - mvsdio: Add DT bindings, pinctrl, use slot-gpio for card detection.
         - omap_hsmmc: Fix boot hangs with RPMB partitions.
         - sdhci-bcm2835: New driver for controller used by Raspberry Pi.
         - sdhci-esdhc-imx: Add 8-bit data, auto CMD23 support, use slot-gpio.
         - sh_mmcif: Add support for eMMC DDR, bundled MMCIF IRQs.
         - tmio_mmc: Add DT bindings, support for vccq regulator"
      
      * tag 'mmc-updates-for-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (92 commits)
        mmc: tegra: assume CONFIG_OF, remove platform data
        mmc: add DT bindings for more MMC capability flags
        mmc: tmio: add support for the VccQ regulator
        mmc: tmio: remove unused and deprecated symbols
        mmc: sh_mobile_sdhi: use managed resource allocations
        mmc: sh_mobile_sdhi: remove unused .pdata field
        mmc: tmio-mmc: parse device-tree bindings
        mmc: tmio-mmc: define device-tree bindings
        mmc: sh_mmcif: use mmc_of_parse() to parse standard MMC DT bindings
        mmc: (cosmetic) remove "extern" from function declarations
        mmc: provide a standard MMC device-tree binding parser centrally
        mmc: detailed definition of CD and WP MMC line polarities in DT
        mmc: sdhi, tmio: only check flags in tmio-mmc driver proper
        mmc: sdhci: Fix parameter of sdhci_do_start_signal_voltage_switch()
        mmc: sdhci: check voltage range only on regulators aware of voltage value
        mmc: bcm2835: set SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK
        mmc: support packed write command for eMMC4.5 devices
        mmc: add packed command feature of eMMC4.5
        mmc: rtsx: remove driving adjustment
        mmc: use regulator_can_change_voltage() instead of regulator_count_voltages
        ...
      ed5dc237
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds · 0512c04a
      Linus Torvalds authored
      Pull LED subsystem update from Bryan Wu.
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: (61 commits)
        leds: leds-sunfire: use dev_err()/pr_err() instead of printk()
        leds: 88pm860x: Add missing of_node_put()
        leds: tca6507: Use of_get_child_count()
        leds: leds-pwm: make it depend on PWM and not HAVE_PWM
        Documentation: leds: update LP55xx family devices
        leds-lp55xx: fix problem on removing LED attributes
        leds-lp5521/5523: add author and copyright description
        leds-lp5521/5523: use new lp55xx common header
        leds-lp55xx: clean up headers
        leds-lp55xx: clean up definitions
        leds-lp55xx: clean up unused data and functions
        leds-lp55xx: clean up _remove()
        leds-lp55xx: add new function for removing device attribtues
        leds-lp55xx: code refactoring on selftest function
        leds-lp55xx: use common device attribute driver function
        leds-lp55xx: support device specific attributes
        leds-lp5523: use generic firmware interface
        leds-lp5521: use generic firmware interface
        leds-lp55xx: support firmware interface
        leds-lp55xx: add new lp55xx_register_sysfs() for the firmware interface
        ...
      0512c04a
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma · 5115f3c1
      Linus Torvalds authored
      Pull slave-dmaengine updates from Vinod Koul:
       "This is fairly big pull by my standards as I had missed last merge
        window.  So we have the support for device tree for slave-dmaengine,
        large updates to dw_dmac driver from Andy for reusing on different
        architectures.  Along with this we have fixes on bunch of the drivers"
      
      Fix up trivial conflicts, usually due to #include line movement next to
      each other.
      
      * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (111 commits)
        Revert "ARM: SPEAr13xx: Pass DW DMAC platform data from DT"
        ARM: dts: pl330: Add #dma-cells for generic dma binding support
        DMA: PL330: Register the DMA controller with the generic DMA helpers
        DMA: PL330: Add xlate function
        DMA: PL330: Add new pl330 filter for DT case.
        dma: tegra20-apb-dma: remove unnecessary assignment
        edma: do not waste memory for dma_mask
        dma: coh901318: set residue only if dma is in progress
        dma: coh901318: avoid unbalanced locking
        dmaengine.h: remove redundant else keyword
        dma: of-dma: protect list write operation by spin_lock
        dmaengine: ste_dma40: do not remove descriptors for cyclic transfers
        dma: of-dma.c: fix memory leakage
        dw_dmac: apply default dma_mask if needed
        dmaengine: ioat - fix spare sparse complain
        dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c
        ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING
        dw_dmac: add support for Lynxpoint DMA controllers
        dw_dmac: return proper residue value
        dw_dmac: fill individual length of descriptor
        ...
      5115f3c1
    • Roland Dreier's avatar
    • Al Viro's avatar
      saner proc_get_inode() calling conventions · d3d009cb
      Al Viro authored
      Make it drop the pde in *all* cases when no new reference to it is
      put into an inode - both when an inode had already been set up
      (as we were already doing) and when inode allocation has failed.
      Makes for simpler logics in callers...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      d3d009cb
    • Maxim Patlasov's avatar
      proc: avoid extra pde_put() in proc_fill_super() · 87e0aab3
      Maxim Patlasov authored
      If proc_get_inode() succeeded, but d_make_root() failed, pde_put() for
      proc_root will be called twice: the first time due to iput() called from
      d_make_root() and the second time directly in the end of
      proc_fill_super().
      Signed-off-by: default avatarMaxim Patlasov <mpatlasov@parallels.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      87e0aab3
    • Zhao Hongjiang's avatar
      fs: change return values from -EACCES to -EPERM · 41735818
      Zhao Hongjiang authored
      According to SUSv3:
      
      [EACCES] Permission denied. An attempt was made to access a file in a way
      forbidden by its file access permissions.
      
      [EPERM] Operation not permitted. An attempt was made to perform an operation
      limited to processes with appropriate privileges or to the owner of a file
      or other resource.
      
      So -EPERM should be returned if capability checks fails.
      
      Strictly speaking this is an API change since the error code user sees is
      altered.
      Signed-off-by: default avatarZhao Hongjiang <zhaohongjiang@huawei.com>
      Acked-by: default avatarJan Kara <jack@suse.cz>
      Acked-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
      Acked-by: default avatarIan Kent <raven@themaw.net>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      41735818
    • Yuanhan Liu's avatar
      fs/exec.c: make bprm_mm_init() static · 9cc64cea
      Yuanhan Liu authored
      There is only one user of bprm_mm_init, and it's inside the same file.
      Signed-off-by: default avatarYuanhan Liu <yuanhan.liu@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9cc64cea
    • Dan Carpenter's avatar
      ocfs2/dlm: use GFP_ATOMIC inside a spin_lock · b24ae0b5
      Dan Carpenter authored
      My static checker complains that this is called with a spin_lock held
      in dlm_master_requery_handler() from dlmrecovery.c.  Probably the reason
      we have not received any bug reports about this is that recovery is not
      a common operation.
      Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
      Signed-off-by: default avatarJoel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b24ae0b5
    • Jan Kara's avatar
      ocfs2: fix possible use-after-free with AIO · 9b171e0c
      Jan Kara authored
      Running AIO is pinning inode in memory using file reference. Once AIO
      is completed using aio_complete(), file reference is put and inode can
      be freed from memory. So we have to be sure that calling aio_complete()
      is the last thing we do with the inode.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Acked-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Acked-by: default avatarJoel Becker <jlbec@evilplan.org>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9b171e0c
    • Sunil Mushran's avatar
      ocfs2: Fix oops in ocfs2_fast_symlink_readpage() code path · 30b9c9e6
      Sunil Mushran authored
      Commit ea022dfb was missing a var init.
      Reported-and-Tested-by: default avatarVincent Etienne <vetienne@aprogsys.com>
      Signed-off-by: default avatarSunil Mushran <sunil.mushran@gmail.com>
      Signed-off-by: default avatarJoel Becker <jlbec@evilplan.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      30b9c9e6
    • Al Viro's avatar
    • Al Viro's avatar
      target: writev() on single-element vector is pointless · 0e9b10a9
      Al Viro authored
      ... in other news:
      	filp_open() can't return a struct file with NULL dentry
      	filp_open() can't return a struct file negative dentry
      	filp_close() of something that never had been in any descriptor
      tables is pointless - fput() is all you need
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      0e9b10a9
    • Al Viro's avatar
      7bb307e8