02 Aug, 2012

1 commit

  • Pull second vfs pile from Al Viro:
    "The stuff in there: fsfreeze deadlock fixes by Jan (essentially, the
    deadlock reproduced by xfstests 068), symlink and hardlink restriction
    patches, plus assorted cleanups and fixes.

    Note that another fsfreeze deadlock (emergency thaw one) is *not*
    dealt with - the series by Fernando conflicts a lot with Jan's, breaks
    userland ABI (FIFREEZE semantics gets changed) and trades the deadlock
    for massive vfsmount leak; this is going to be handled next cycle.
    There probably will be another pull request, but that stuff won't be
    in it."

    Fix up trivial conflicts due to unrelated changes next to each other in
    drivers/{staging/gdm72xx/usb_boot.c, usb/gadget/storage_common.c}

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (54 commits)
    delousing target_core_file a bit
    Documentation: Correct s_umount state for freeze_fs/unfreeze_fs
    fs: Remove old freezing mechanism
    ext2: Implement freezing
    btrfs: Convert to new freezing mechanism
    nilfs2: Convert to new freezing mechanism
    ntfs: Convert to new freezing mechanism
    fuse: Convert to new freezing mechanism
    gfs2: Convert to new freezing mechanism
    ocfs2: Convert to new freezing mechanism
    xfs: Convert to new freezing code
    ext4: Convert to new freezing mechanism
    fs: Protect write paths by sb_start_write - sb_end_write
    fs: Skip atime update on frozen filesystem
    fs: Add freezing handling to mnt_want_write() / mnt_drop_write()
    fs: Improve filesystem freezing handling
    switch the protection of percpu_counter list to spinlock
    nfsd: Push mnt_want_write() outside of i_mutex
    btrfs: Push mnt_want_write() outside of i_mutex
    fat: Push mnt_want_write() outside of i_mutex
    ...

    Linus Torvalds
     

31 Jul, 2012

19 commits

  • ... making percpu_counter_destroy() non-blocking

    Signed-off-by: Al Viro

    Al Viro
     
  • Pull writeback updates from Wu Fengguang:
    "Use time based periods to age the writeback proportions, which can
    adapt equally well to fast/slow devices."

    Fix up trivial conflict in comment in fs/sync.c

    * tag 'writeback-proportions' of git://git.kernel.org/pub/scm/linux/kernel/git/wfg/linux:
    writeback: Fix some comment errors
    block: Convert BDI proportion calculations to flexible proportions
    lib: Fix possible deadlock in flexible proportion code
    lib: Proportions with flexible period

    Linus Torvalds
     
  • Merge Andrew's first set of patches:
    "Non-MM patches:

    - lots of misc bits

    - tree-wide have_clk() cleanups

    - quite a lot of printk tweaks. I draw your attention to "printk:
    convert the format for KERN_ to a 2 byte pattern" which
    looks a bit scary. But afaict it's solid.

    - backlight updates

    - lib/ feature work (notably the addition and use of memweight())

    - checkpatch updates

    - rtc updates

    - nilfs updates

    - fatfs updates (partial, still waiting for acks)

    - kdump, proc, fork, IPC, sysctl, taskstats, pps, etc

    - new fault-injection feature work"

    * Merge emailed patches from Andrew Morton : (128 commits)
    drivers/misc/lkdtm.c: fix missing allocation failure check
    lib/scatterlist: do not re-write gfp_flags in __sg_alloc_table()
    fault-injection: add tool to run command with failslab or fail_page_alloc
    fault-injection: add selftests for cpu and memory hotplug
    powerpc: pSeries reconfig notifier error injection module
    memory: memory notifier error injection module
    PM: PM notifier error injection module
    cpu: rewrite cpu-notifier-error-inject module
    fault-injection: notifier error injection
    c/r: fcntl: add F_GETOWNER_UIDS option
    resource: make sure requested range is included in the root range
    include/linux/aio.h: cpp->C conversions
    fs: cachefiles: add support for large files in filesystem caching
    pps: return PTR_ERR on error in device_create
    taskstats: check nla_reserve() return
    sysctl: suppress kmemleak messages
    ipc: use Kconfig options for __ARCH_WANT_[COMPAT_]IPC_PARSE_VERSION
    ipc: compat: use signed size_t types for msgsnd and msgrcv
    ipc: allow compat IPC version field parsing if !ARCH_WANT_OLD_COMPAT_IPC
    ipc: add COMPAT_SHMLBA support
    ...

    Linus Torvalds
     
  • We are seeing a lot of sg_alloc_table allocation failures using the new
    drm prime infrastructure. We isolated the cause to code in
    __sg_alloc_table that was re-writing the gfp_flags.

    There is a comment in the code that suggest that there is an assumption
    about the allocation coming from a memory pool. This was likely true
    when sg lists were primarily used for disk I/O.

    Signed-off-by: Mandeep Singh Baines
    Cc: Jens Axboe
    Cc: Paul Gortmaker
    Cc: Cong Wang
    Cc: Daniel Vetter
    Cc: Rob Clark
    Cc: Sumit Semwal
    Cc: Inki Dae
    Cc: Dave Airlie
    Cc: Sonny Rao
    Cc: Olof Johansson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mandeep Singh Baines
     
  • This provides the ability to inject artifical errors to pSeries reconfig
    notifier chain callbacks. It is controlled through debugfs interface
    under /sys/kernel/debug/notifier-error-inject/pSeries-reconfig

    If the notifier call chain should be failed with some events
    notified, write the error code to "actions//error".

    Signed-off-by: Akinobu Mita
    Cc: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Cc: Greg KH
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This provides the ability to inject artifical errors to memory hotplug
    notifier chain callbacks. It is controlled through debugfs interface
    under /sys/kernel/debug/notifier-error-inject/memory

    If the notifier call chain should be failed with some events notified,
    write the error code to "actions//error".

    Example: Inject memory hotplug offline error (-12 == -ENOMEM)

    # cd /sys/kernel/debug/notifier-error-inject/memory
    # echo -12 > actions/MEM_GOING_OFFLINE/error
    # echo offline > /sys/devices/system/memory/memoryXXX/state
    bash: echo: write error: Cannot allocate memory

    Signed-off-by: Akinobu Mita
    Cc: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Cc: Greg KH
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This provides the ability to inject artifical errors to PM notifier chain
    callbacks. It is controlled through debugfs interface under
    /sys/kernel/debug/notifier-error-inject/pm

    Each of the files in "error" directory represents an event which can be
    failed and contains the error code. If the notifier call chain should be
    failed with some events notified, write the error code to the files.

    If the notifier call chain should be failed with some events notified,
    write the error code to "actions//error".

    Example: Inject PM suspend error (-12 = -ENOMEM)

    # cd /sys/kernel/debug/notifier-error-inject/pm
    # echo -12 > actions/PM_SUSPEND_PREPARE/error
    # echo mem > /sys/power/state
    bash: echo: write error: Cannot allocate memory

    Signed-off-by: Akinobu Mita
    Acked-by: "Rafael J. Wysocki"
    Cc: Pavel Machek
    Cc: Greg KH
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • Rewrite existing cpu-notifier-error-inject module to use debugfs based new
    framework.

    This change removes cpu_up_prepare_error and cpu_down_prepare_error module
    parameters which were used to specify error code to be injected. We could
    keep these module parameters for backward compatibility by module_param_cb
    but it seems overkill for this module.

    This provides the ability to inject artifical errors to CPU notifier chain
    callbacks. It is controlled through debugfs interface under
    /sys/kernel/debug/notifier-error-inject/cpu

    If the notifier call chain should be failed with some events notified,
    write the error code to "actions//error".

    Example1: inject CPU offline error (-1 == -EPERM)

    # cd /sys/kernel/debug/notifier-error-inject/cpu
    # echo -1 > actions/CPU_DOWN_PREPARE/error
    # echo 0 > /sys/devices/system/cpu/cpu1/online
    bash: echo: write error: Operation not permitted

    Example2: inject CPU online error (-2 == -ENOENT)

    # cd /sys/kernel/debug/notifier-error-inject/cpu
    # echo -2 > actions/CPU_UP_PREPARE/error
    # echo 1 > /sys/devices/system/cpu/cpu1/online
    bash: echo: write error: No such file or directory

    Signed-off-by: Akinobu Mita
    Cc: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Cc: Greg KH
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • This patchset provides kernel modules that can be used to test the error
    handling of notifier call chain failures by injecting artifical errors to
    the following notifier chain callbacks.

    * CPU notifier
    * PM notifier
    * memory hotplug notifier
    * powerpc pSeries reconfig notifier

    Example: Inject CPU offline error (-1 == -EPERM)

    # cd /sys/kernel/debug/notifier-error-inject/cpu
    # echo -1 > actions/CPU_DOWN_PREPARE/error
    # echo 0 > /sys/devices/system/cpu/cpu1/online
    bash: echo: write error: Operation not permitted

    The patchset also adds cpu and memory hotplug tests to
    tools/testing/selftests These tests first do simple online and offline
    test and then do fault injection tests if notifier error injection
    module is available.

    This patch:

    The notifier error injection provides the ability to inject artifical
    errors to specified notifier chain callbacks. It is useful to test the
    error handling of notifier call chain failures.

    This adds common basic functions to define which type of events can be
    fail and to initialize the debugfs interface to control what error code
    should be returned and which event should be failed.

    Signed-off-by: Akinobu Mita
    Cc: Pavel Machek
    Cc: "Rafael J. Wysocki"
    Cc: Greg KH
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Michael Ellerman
    Cc: Dave Jones
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • Variables t4, t5, t6 and t7 are only used when CRC_LE_BITS != 32. Fix
    the following compilation warnings:

    lib/crc32.c: In function 'crc32_body':
    lib/crc32.c:77:55: warning: unused variable 't7'
    lib/crc32.c:77:41: warning: unused variable 't6'
    lib/crc32.c:77:27: warning: unused variable 't5'
    lib/crc32.c:77:13: warning: unused variable 't4'

    Signed-off-by: Thiago Rafael Becker
    Cc: "Darrick J. Wong"
    Cc: Bob Pearson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thiago Rafael Becker
     
  • If there are two spinlocks embedded in a structure that kallsyms knows
    about and one of the spinlocks locks up we will print the name of the
    containing structure instead of the address of the lock. This is quite
    bad, so let's use %pS instead of %ps so we get an offset in addition to
    the symbol so we can determine which particular lock is having problems.

    Signed-off-by: Stephen Boyd
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Boyd
     
  • Introduce CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE and use this instead
    of the multitude of #if defined() checks in atomic64_test.c

    Signed-off-by: Catalin Marinas
    Cc: Russell King
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Catalin Marinas
     
  • memweight() is the function that counts the total number of bits set in
    memory area. Unlike bitmap_weight(), memweight() takes pointer and size
    in bytes to specify a memory area which does not need to be aligned to
    long-word boundary.

    [akpm@linux-foundation.org: rename `w' to `ret']
    Signed-off-by: Akinobu Mita
    Cc: Anders Larsen
    Cc: Alasdair Kergon
    Cc: Laurent Pinchart
    Cc: Mark Fasheh
    Cc: Joel Becker
    Cc: Jan Kara
    Cc: Andreas Dilger
    Cc: "Theodore Ts'o"
    Cc: Matthew Wilcox
    Cc: Mauro Carvalho Chehab
    Cc: Tony Luck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • There are many places in the kernel where the drivers print small buffers
    as a hex string. This patch adds a support of the variable width buffer
    to print it as a hex string with a delimiter. The idea came from Pavel
    Roskin here: http://www.digipedia.pl/usenet/thread/18835/17449/

    Sample output of
    pr_info("buf[%d:%d] %*phC\n", from, len, len, &buf[from]);
    could be look like this:
    [ 0.726130] buf[51:8] e8:16:b6:ef:e3:74:45:6e
    [ 0.750736] buf[59:15] 31:81:b8:3f:35:49:06:ae:df:32:06:05:4a:af:55
    [ 0.757602] buf[17:5] ac:16:d5:2c:ef

    Signed-off-by: Andy Shevchenko
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • When using ALT+SysRq+Q all the pointers are replaced with "pK-error" like
    this:

    [23153.208033] .base: pK-error

    with echo h > /proc/sysrq-trigger it works:

    [23107.776363] .base: ffff88023e60d540

    The intent behind this behavior was to return "pK-error" in cases where
    the %pK format specifier was used in interrupt context, because the
    CAP_SYSLOG check wouldn't be meaningful. Clearly this should only apply
    when kptr_restrict is actually enabled though.

    Reported-by: Stevie Trujillo
    Signed-off-by: Dan Rosenberg
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Rosenberg
     
  • Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • Bluetooth uses mostly LE byte order which is reversed for visual
    interpretation. Currently in Bluetooth in use unsafe batostr function.

    This is a slightly modified version of Joe's patch (sent Sat, Dec 4,
    2010).

    Signed-off-by: Andrei Emeltchenko
    Cc: Joe Perches
    Cc: Marcel Holtmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrei Emeltchenko
     
  • Pull MIPS updates from Ralf Baechle:
    "More hardware support across the field including a bunch of device
    drivers. The highlight however really are further steps towards
    device tree.

    This has been sitting in -next for ages. All MIPS _defconfigs have
    been tested to boot or where I don't have hardware available, to at
    least build fine."

    * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (77 commits)
    MIPS: Loongson 1B: Add defconfig
    MIPS: Loongson 1B: Add board support
    MIPS: Netlogic: early console fix
    MIPS: Netlogic: Fix indentation of smpboot.S
    MIPS: Netlogic: remove cpu_has_dc_aliases define for XLP
    MIPS: Netlogic: Remove unused pcibios_fixups
    MIPS: Netlogic: Add XLP SoC devices in FDT
    MIPS: Netlogic: Add IRQ mappings for more devices
    MIPS: Netlogic: USB support for XLP
    MIPS: Netlogic: XLP PCIe controller support.
    MIPS: Netlogic: Platform changes for XLR/XLS I2C
    MIPS: Netlogic: Platform NAND/NOR flash support
    MIPS: Netlogic: Platform changes for XLS USB
    MIPS: Netlogic: Remove NETLOGIC_ prefix
    MIPS: Netlogic: SMP wakeup code update
    MIPS: Netlogic: Update comments in smpboot.S
    MIPS: BCM63XX: Add 96328avng reference board
    MIPS: Expose PCIe drivers for MIPS
    MIPS: BCM63XX: Add PCIe Support for BCM6328
    MIPS: BCM63XX: Move the PCI initialization into its own function
    ...

    Linus Torvalds
     
  • Pull DMA-mapping updates from Marek Szyprowski:
    "Those patches are continuation of my earlier work.

    They contains extensions to DMA-mapping framework to remove limitation
    of the current ARM implementation (like limited total size of DMA
    coherent/write combine buffers), improve performance of buffer sharing
    between devices (attributes to skip cpu cache operations or creation
    of additional kernel mapping for some specific use cases) as well as
    some unification of the common code for dma_mmap_attrs() and
    dma_mmap_coherent() functions. All extensions have been implemented
    and tested for ARM architecture."

    * 'for-linus-for-3.6-rc1' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    ARM: dma-mapping: add support for DMA_ATTR_SKIP_CPU_SYNC attribute
    common: DMA-mapping: add DMA_ATTR_SKIP_CPU_SYNC attribute
    ARM: dma-mapping: add support for dma_get_sgtable()
    common: dma-mapping: introduce dma_get_sgtable() function
    ARM: dma-mapping: add support for DMA_ATTR_NO_KERNEL_MAPPING attribute
    common: DMA-mapping: add DMA_ATTR_NO_KERNEL_MAPPING attribute
    common: dma-mapping: add support for generic dma_mmap_* calls
    ARM: dma-mapping: fix error path for memory allocation failure
    ARM: dma-mapping: add more sanity checks in arm_dma_mmap()
    ARM: dma-mapping: remove custom consistent dma region
    mm: vmalloc: use const void * for caller argument
    scatterlist: add sg_alloc_table_from_pages function

    Linus Torvalds
     

30 Jul, 2012

1 commit

  • This patch adds a new constructor for an sg table. The table is constructed
    from an array of struct pages. All contiguous chunks of the pages are merged
    into a single sg nodes. A user may provide an offset and a size of a buffer if
    the buffer is not page-aligned.

    The function is dedicated for DMABUF exporters which often perform conversion
    from an page array to a scatterlist. Moreover the scatterlist should be
    squashed in order to save memory and to speed-up the process of DMA mapping
    using dma_map_sg.

    The code is based on the patch 'v4l: vb2-dma-contig: add support for
    scatterlist in userptr mode' and hints from Laurent Pinchart.

    Signed-off-by: Tomasz Stanislawski
    Signed-off-by: Kyungmin Park
    Acked-by: Daniel Vetter
    Acked-by: Laurent Pinchart
    Signed-off-by: Marek Szyprowski
    CC: Andrew Morton

    Tomasz Stanislawski
     

25 Jul, 2012

2 commits

  • Pull trivial tree from Jiri Kosina:
    "Trivial updates all over the place as usual."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (29 commits)
    Fix typo in include/linux/clk.h .
    pci: hotplug: Fix typo in pci
    iommu: Fix typo in iommu
    video: Fix typo in drivers/video
    Documentation: Add newline at end-of-file to files lacking one
    arm,unicore32: Remove obsolete "select MISC_DEVICES"
    module.c: spelling s/postition/position/g
    cpufreq: Fix typo in cpufreq driver
    trivial: typo in comment in mksysmap
    mach-omap2: Fix typo in debug message and comment
    scsi: aha152x: Fix sparse warning and make printing pointer address more portable.
    Change email address for Steve Glendinning
    Btrfs: fix typo in convert_extent_bit
    via: Remove bogus if check
    netprio_cgroup.c: fix comment typo
    backlight: fix memory leak on obscure error path
    Documentation: asus-laptop.txt references an obsolete Kconfig item
    Documentation: ManagementStyle: fixed typo
    mm/vmscan: cleanup comment error in balance_pgdat
    mm: cleanup on the comments of zone_reclaim_stat
    ...

    Linus Torvalds
     
  • Pull networking changes from David S Miller:

    1) Remove the ipv4 routing cache. Now lookups go directly into the FIB
    trie and use prebuilt routes cached there.

    No more garbage collection, no more rDOS attacks on the routing
    cache. Instead we now get predictable and consistent performance,
    no matter what the pattern of traffic we service.

    This has been almost 2 years in the making. Special thanks to
    Julian Anastasov, Eric Dumazet, Steffen Klassert, and others who
    have helped along the way.

    I'm sure that with a change of this magnitude there will be some
    kind of fallout, but such things ought the be simple to fix at this
    point. Luckily I'm not European so I'll be around all of August to
    fix things :-)

    The major stages of this work here are each fronted by a forced
    merge commit whose commit message contains a top-level description
    of the motivations and implementation issues.

    2) Pre-demux of established ipv4 TCP sockets, saves a route demux on
    input.

    3) TCP SYN/ACK performance tweaks from Eric Dumazet.

    4) Add namespace support for netfilter L4 conntrack helpers, from Gao
    Feng.

    5) Add config mechanism for Energy Efficient Ethernet to ethtool, from
    Yuval Mintz.

    6) Remove quadratic behavior from /proc/net/unix, from Eric Dumazet.

    7) Support for connection tracker helpers in userspace, from Pablo
    Neira Ayuso.

    8) Allow userspace driven TX load balancing functions in TEAM driver,
    from Jiri Pirko.

    9) Kill off NLMSG_PUT and RTA_PUT macros, more gross stuff with
    embedded gotos.

    10) TCP Small Queues, essentially minimize the amount of TCP data queued
    up in the packet scheduler layer. Whereas the existing BQL (Byte
    Queue Limits) limits the pkt_sched --> netdevice queuing levels,
    this controls the TCP --> pkt_sched queueing levels.

    From Eric Dumazet.

    11) Reduce the number of get_page/put_page ops done on SKB fragments,
    from Alexander Duyck.

    12) Implement protection against blind resets in TCP (RFC 5961), from
    Eric Dumazet.

    13) Support the client side of TCP Fast Open, basically the ability to
    send data in the SYN exchange, from Yuchung Cheng.

    Basically, the sender queues up data with a sendmsg() call using
    MSG_FASTOPEN, then they do the connect() which emits the queued up
    fastopen data.

    14) Avoid all the problems we get into in TCP when timers or PMTU events
    hit a locked socket. The TCP Small Queues changes added a
    tcp_release_cb() that allows us to queue work up to the
    release_sock() caller, and that's what we use here too. From Eric
    Dumazet.

    15) Zero copy on TX support for TUN driver, from Michael S. Tsirkin.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1870 commits)
    genetlink: define lockdep_genl_is_held() when CONFIG_LOCKDEP
    r8169: revert "add byte queue limit support".
    ipv4: Change rt->rt_iif encoding.
    net: Make skb->skb_iif always track skb->dev
    ipv4: Prepare for change of rt->rt_iif encoding.
    ipv4: Remove all RTCF_DIRECTSRC handliing.
    ipv4: Really ignore ICMP address requests/replies.
    decnet: Don't set RTCF_DIRECTSRC.
    net/ipv4/ip_vti.c: Fix __rcu warnings detected by sparse.
    ipv4: Remove redundant assignment
    rds: set correct msg_namelen
    openvswitch: potential NULL deref in sample()
    tcp: dont drop MTU reduction indications
    bnx2x: Add new 57840 device IDs
    tcp: avoid oops in tcp_metrics and reset tcpm_stamp
    niu: Change niu_rbr_fill() to use unlikely() to check niu_rbr_add_page() return value
    niu: Fix to check for dma mapping errors.
    net: Fix references to out-of-scope variables in put_cmsg_compat()
    net: ethernet: davinci_emac: add pm_runtime support
    net: ethernet: davinci_emac: Remove unnecessary #include
    ...

    Linus Torvalds
     

24 Jul, 2012

2 commits

  • Pull misc Itanium fixes from Tony Luck.

    * tag 'please-pull-misc-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    debug: Do not permit CONFIG_DEBUG_STACK_USAGE=y on IA64 or PARISC
    [IA64] Port OOM changes to ia64_do_page_fault

    Linus Torvalds
     
  • Pull security subsystem updates from James Morris:
    "Nothing groundbreaking for this kernel, just cleanups and fixes, and a
    couple of Smack enhancements."

    * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (21 commits)
    Smack: Maintainer Record
    Smack: don't show empty rules when /smack/load or /smack/load2 is read
    Smack: user access check bounds
    Smack: onlycap limits on CAP_MAC_ADMIN
    Smack: fix smack_new_inode bogosities
    ima: audit is compiled only when enabled
    ima: ima_initialized is set only if successful
    ima: add policy for pseudo fs
    ima: remove unused cleanup functions
    ima: free securityfs violations file
    ima: use full pathnames in measurement list
    security: Fix nommu build.
    samples: seccomp: add .gitignore for untracked executables
    tpm: check the chip reference before using it
    TPM: fix memleak when register hardware fails
    TPM: chip disabled state erronously being reported as error
    MAINTAINERS: TPM maintainers' contacts update
    Merge branches 'next-queue' and 'next' into next
    Remove unused code from MPI library
    Revert "crypto: GnuPG based MPI lib - additional sources (part 4)"
    ...

    Linus Torvalds
     

23 Jul, 2012

2 commits

  • libfdt is part of the device tree support in scripts/dtc/libfdt. For
    some platforms that use the Device Tree, we want to be able to edit
    the flattened device tree form.

    We don't want to burden kernel builds that do not require it, so we
    gate compilation of libfdt files with CONFIG_LIBFDT. So if it is
    needed, you need to do this in your Kconfig:

    select LIBFDT

    And in the Makefile of the code using libfdt something like:

    ccflags-y := -I$(src)/../../../scripts/dtc/libfdt

    Signed-off-by: David Daney
    Cc: linux-mips@linux-mips.org
    Cc: devicetree-discuss@lists.ozlabs.org
    Cc: Grant Likely
    Cc: linux-kernel@vger.kernel.org
    Acked-by: Rob Herring
    Signed-off-by: Ralf Baechle

    David Daney
     
  • Pull RCU changes from Ingo Molnar:
    "Quoting from Paul, the major features of this series are:

    1. Preventing latency spikes of more than 200 microseconds for
    kernels built with NR_CPUS=4096, which is reportedly becoming the
    default for some distros. This is a first step, as it does not
    help with systems that actually -have- 4096 CPUs (work on this case
    is in progress, but is not yet ready for mainline).

    This category also includes improving concurrency of rcu_barrier(),
    placed here due to conflicts. Posted to LKML at:

    https://lkml.org/lkml/2012/6/22/381

    Note that patches 18-22 of that series have been defered to 3.7, as
    they have not yet proven themselves to be mainline-ready (and yes,
    these are the ones intended to get rid of RCU's latency spikes for
    systems that actually have 4096 CPUs).

    2. Updates to documentation and rcutorture fixes, the latter category
    including improvements to rcu_barrier() testing. Posted to LKML at

    http://lkml.indiana.edu/hypermail/linux/kernel/1206.1/04094.html.

    3. Miscellaneous fixes posted to LKML at:

    https://lkml.org/lkml/2012/6/22/500

    with the exception of the last commit, which was posted here:

    http://www.gossamer-threads.com/lists/linux/kernel/1561830

    4. RCU_FAST_NO_HZ fixes and improvements. Posted to LKML at:

    http://lkml.indiana.edu/hypermail/linux/kernel/1206.1/00006.html
    http://www.gossamer-threads.com/lists/linux/kernel/1561833

    The first four patches of the first series went into 3.5 to fix a
    regression.

    5. Code-style fixes. These were posted to LKML at

    http://lkml.indiana.edu/hypermail/linux/kernel/1205.2/01180.html
    http://lkml.indiana.edu/hypermail/linux/kernel/1205.2/01181.html"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (48 commits)
    rcu: Fix broken strings in RCU's source code.
    rcu: Fix code-style issues involving "else"
    rcu: Introduce check for callback list/count mismatch
    rcu: Make RCU_FAST_NO_HZ respect nohz= boot parameter
    rcu: Fix qlen_lazy breakage
    rcu: Round FAST_NO_HZ lazy timeout to nearest second
    rcu: The rcu_needs_cpu() function is not a quiescent state
    rcu: Dump only the current CPU's buffers for idle-entry/exit warnings
    rcu: Add check for CPUs going offline with callbacks queued
    rcu: Disable preemption in rcu_blocking_is_gp()
    rcu: Prevent uninitialized string in RCU CPU stall info
    rcu: Fix rcu_is_cpu_idle() #ifdef in TINY_RCU
    rcu: Split RCU core processing out of __call_rcu()
    rcu: Prevent __call_rcu() from invoking RCU core on offline CPUs
    rcu: Make __call_rcu() handle invocation from idle
    rcu: Remove function versions of __kfree_rcu and __is_kfree_rcu_offset
    rcu: Consolidate tree/tiny __rcu_read_{,un}lock() implementations
    rcu: Remove return value from rcu_assign_pointer()
    key: Remove extraneous parentheses from rcu_assign_keypointer()
    rcu: Remove return value from RCU_INIT_POINTER()
    ...

    Linus Torvalds
     

20 Jul, 2012

2 commits


10 Jul, 2012

1 commit

  • Pull IOMMU fixes from Joerg Roedel:
    "The patches fix several issues in the AMD IOMMU driver, the NVidia
    SMMU driver, and the DMA debug code.

    The most important fix for the AMD IOMMU solves a problem with SR-IOV
    devices where virtual functions did not work with IOMMU enabled. The
    NVidia SMMU patch fixes a possible sleep while spin-lock situation
    (queued the small fix for v3.5, a better but more intrusive fix is
    coming for v3.6). The DMA debug patches fix a possible data
    corruption issue due to bool vs u32 usage."

    * tag 'iommu-fixes-v3.5-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
    iommu/amd: fix type bug in flush code
    dma-debug: debugfs_create_bool() takes a u32 pointer
    iommu/tegra: smmu: Fix unsleepable memory allocation
    iommu/amd: Initialize dma_ops for hotplug and sriov devices
    iommu/amd: Fix missing iommu_shutdown initialization in passthrough mode

    Linus Torvalds
     

06 Jul, 2012

1 commit

  • Although the C language allows you to break strings across lines, doing
    this makes it hard for people to find the Linux kernel code corresponding
    to a given console message. This commit therefore fixes broken strings
    throughout RCU's source code.

    Suggested-by: Josh Triplett
    Suggested-by: Ingo Molnar
    Signed-off-by: Paul E. McKenney

    Paul E. McKenney
     

02 Jul, 2012

1 commit

  • Even though it has "bool" in the name, you have pass a u32 pointer to
    debugfs_create_bool(). Otherwise you get memory corruption in
    write_file_bool(). Fortunately in this case the corruption happens in
    an alignment hole between variables so it doesn't cause any problems.

    Signed-off-by: Dan Carpenter
    Signed-off-by: Joerg Roedel

    Dan Carpenter
     

30 Jun, 2012

1 commit

  • This patch adds the following structure:

    struct netlink_kernel_cfg {
    unsigned int groups;
    void (*input)(struct sk_buff *skb);
    struct mutex *cb_mutex;
    };

    That can be passed to netlink_kernel_create to set optional configurations
    for netlink kernel sockets.

    I've populated this structure by looking for NULL and zero parameters at the
    existing code. The remaining parameters that always need to be set are still
    left in the original interface.

    That includes optional parameters for the netlink socket creation. This allows
    easy extensibility of this interface in the future.

    This patch also adapts all callers to use this new interface.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Pablo Neira Ayuso
     

29 Jun, 2012

1 commit


28 Jun, 2012

1 commit


21 Jun, 2012

1 commit


16 Jun, 2012

1 commit

  • Pull core updates (RCU and locking) from Ingo Molnar:
    "Most of the diffstat comes from the RCU slow boot regression fixes,
    but there's also a debuggability improvements/fixes."

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    memblock: Document memblock_is_region_{memory,reserved}()
    rcu: Precompute RCU_FAST_NO_HZ timer offsets
    rcu: Move RCU_FAST_NO_HZ per-CPU variables to rcu_dynticks structure
    rcu: Update RCU_FAST_NO_HZ tracing for lazy callbacks
    rcu: RCU_FAST_NO_HZ detection of callback adoption
    spinlock: Indicate that a lockup is only suspected
    kdump: Execute kmsg_dump(KMSG_DUMP_PANIC) after smp_send_stop()
    panic: Make panic_on_oops configurable

    Linus Torvalds
     

10 Jun, 2012

1 commit


09 Jun, 2012

2 commits

  • When percpu counter function in fprop_new_period() is interrupted by an
    interrupt while holding counter lock, it can cause deadlock when the
    interrupt wants to take the lock as well. Fix the problem by disabling
    interrupts when calling percpu counter functions.

    Signed-off-by: Jan Kara
    Signed-off-by: Fengguang Wu

    Jan Kara
     
  • Implement code computing proportions of events of different type (like code in
    lib/proportions.c) but allowing periods to have different lengths. This allows
    us to have aging periods of fixed wallclock time which gives better proportion
    estimates given the hugely varying throughput of different devices - previous
    measuring of aging period by number of events has the problem that a reasonable
    period length for a system with low-end USB stick is not a reasonable period
    length for a system with high-end storage array resulting either in too slow
    proportion updates or too fluctuating proportion updates.

    Acked-by: Peter Zijlstra
    Signed-off-by: Jan Kara
    Signed-off-by: Fengguang Wu

    Jan Kara