1. 28 Feb, 2013 26 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 4 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