1. 22 Jun, 2014 1 commit
    • Tejun Heo's avatar
      blkcg: fix use-after-free in __blkg_release_rcu() by making blkcg_gq refcnt an atomic_t · a5049a8a
      Tejun Heo authored
      So, this patch should do.  Joe, Vivek, can one of you guys please
      verify that the oops goes away with this patch?
      Jens, the original thread can be read at
      The fix converts blkg->refcnt from int to atomic_t.  It does some
      overhead but it should be minute compared to everything else which is
      going on and the involved cacheline bouncing, so I think it's highly
      unlikely to cause any noticeable difference.  Also, the refcnt in
      question should be converted to a perpcu_ref for blk-mq anyway, so the
      atomic_t is likely to go away pretty soon anyway.
      ------- 8< -------
      __blkg_release_rcu() may be invoked after the associated request_queue
      is released with a RCU grace period inbetween.  As such, the function
      and callbacks invoked from it must not dereference the associated
      request_queue.  This is clearly indicated in the comment above the
      Unfortunately, while trying to fix a different issue, 2a4fd070
      ("blkcg: move bulk of blkcg_gq release operations to the RCU
      callback") ignored this and added [un]locking of @blkg->q->queue_lock
      to __blkg_release_rcu().  This of course can cause oops as the
      request_queue may be long gone by the time this code gets executed.
        general protection fault: 0000 [#1] SMP
        CPU: 21 PID: 30 Comm: rcuos/21 Not tainted 3.15.0 #1
        Hardware name: Stratus ftServer 6400/G7LAZ, BIOS BIOS Version 6.3:57 12/25/2013
        task: ffff880854021de0 ti: ffff88085403c000 task.ti: ffff88085403c000
        RIP: 0010:[<ffffffff8162e9e5>]  [<ffffffff8162e9e5>] _raw_spin_lock_irq+0x15/0x60
        RSP: 0018:ffff88085403fdf0  EFLAGS: 00010086
        RAX: 0000000000020000 RBX: 0000000000000010 RCX: 0000000000000000
        RDX: 000060ef80008248 RSI: 0000000000000286 RDI: 6b6b6b6b6b6b6b6b
        RBP: ffff88085403fdf0 R08: 0000000000000286 R09: 0000000000009f39
        R10: 0000000000020001 R11: 0000000000020001 R12: ffff88103c17a130
        R13: ffff88103c17a080 R14: 0000000000000000 R15: 0000000000000000
        FS:  0000000000000000(0000) GS:ffff88107fca0000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
        CR2: 00000000006e5ab8 CR3: 000000000193d000 CR4: 00000000000407e0
         ffff88085403fe18 ffffffff812cbfc2 ffff88103c17a130 0000000000000000
         ffff88103c17a130 ffff88085403fec0 ffffffff810d1d28 ffff880854021de0
         ffff880854021de0 ffff88107fcaec58 ffff88085403fe80 ffff88107fcaec30
        Call Trace:
         [<ffffffff812cbfc2>] __blkg_release_rcu+0x72/0x150
         [<ffffffff810d1d28>] rcu_nocb_kthread+0x1e8/0x300
         [<ffffffff81091d81>] kthread+0xe1/0x100
         [<ffffffff8163813c>] ret_from_fork+0x7c/0xb0
        Code: ff 47 04 48 8b 7d 08 be 00 02 00 00 e8 55 48 a4 ff 5d c3 0f 1f 00 66 66 66 66 90 55 48 89 e5
        +fa 66 66 90 66 66 90 b8 00 00 02 00 <f0> 0f c1 07 89 c2 c1 ea 10 66 39 c2 75 02 5d c3 83 e2 fe 0f
        RIP  [<ffffffff8162e9e5>] _raw_spin_lock_irq+0x15/0x60
         RSP <ffff88085403fdf0>
      The request_queue locking was added because blkcg_gq->refcnt is an int
      protected with the queue lock and __blkg_release_rcu() needs to put
      the parent.  Let's fix it by making blkcg_gq->refcnt an atomic_t and
      dropping queue locking in the function.
      Given the general heavy weight of the current request_queue and blkcg
      operations, this is unlikely to cause any noticeable overhead.
      Moreover, blkcg_gq->refcnt is likely to be converted to percpu_ref in
      the near future, so whatever (most likely negligible) overhead it may
      add is temporary.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarJoe Lawrence <joe.lawrence@stratus.com>
      Acked-by: default avatarVivek Goyal <vgoyal@redhat.com>
      Link: http://lkml.kernel.org/g/alpine.DEB.2.02.1406081816540.17948@jlaw-desktop.mno.stratus.com
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
  2. 18 Jun, 2014 6 commits
  3. 16 Jun, 2014 1 commit
  4. 13 Jun, 2014 2 commits
  5. 11 Jun, 2014 14 commits
    • Matias Bjørling's avatar
      block: remove WQ_POWER_EFFICIENT from kblockd · 28747fcd
      Matias Bjørling authored
      blk-mq issues async requests through kblockd. To issue a work request on
      a specific CPU, kblockd_schedule_delayed_work_on is used. However, the
      specific CPU choice may not be honored, if the power_efficient option
      for workqueues is set. blk-mq requires that we have strict per-cpu
      scheduling, so it wont work properly if kblockd is marked
      POWER_EFFICIENT and power_efficient is set.
      Remove the kblockd WQ_POWER_EFFICIENT flag to prevent this behavior.
      This essentially reverts part of commit 695588f9
      , which added
      the WQ_POWER_EFFICIENT marker to kblockd.
      Signed-off-by: default avatarMatias Bjørling <m@bjorling.me>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    • Mike Snitzer's avatar
      null_blk: fix name and description of 'queue_mode' module parameter · 54ae81cd
      Mike Snitzer authored
      'use_mq' is not the name of the module parameter, 'queue_mode' is.
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    • Christoph Hellwig's avatar
      block: remove elv_abort_queue and blk_abort_flushes · 2940474a
      Christoph Hellwig authored
      elv_abort_queue has no callers, and blk_abort_flushes is only called by
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    • Linus Torvalds's avatar
      Merge tag 'soc2-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 2dc24b0d
      Linus Torvalds authored
      Pull part two of ARM SoC updates from Arnd Bergmann:
       "This is a small follow-up to the larger ARM SoC updates merged last
        week, almost entirely for the keystone platform.
        The main change here is to use the new dma-ranges parsing code that
        came in through Russell's ARM tree.  This allows the keystone platform
        to do cache-coherent DMA and to finally support all the available
        physical memory when LPAE is enabled.
        Aside from this, the keystone reset driver has been rewritten, and
        there is a small bug fix to allow building the orion5x platform again"
      * tag 'soc2-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
        ARM: keystone: Drop use of meminfo since its not available anymore
        ARM: orion5x: fix mvebu_mbus_dt_init call
        ARM: configs: keystone: enable reset driver support
        ARM: dts: keystone: update reset node to work with reset driver
        ARM: keystone: remove redundant reset stuff
        ARM: keystone: Update the dma offset for non-dt platform devices
        ARM: keystone: Switch over to coherent memory address space
        ARM: configs: keystone: add MTD_SPI_NOR (new dependency for M25P80)
        ARM: configs: keystone: drop CONFIG_COMMON_CLK_DEBUG
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 2840c566
      Linus Torvalds authored
      Pull reiserfs and ext3 changes from Jan Kara:
       "Big reiserfs cleanup from Jeff, an ext3 deadlock fix, and some small
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (34 commits)
        reiserfs: Fix compilation breakage with CONFIG_REISERFS_CHECK
        ext3: Fix deadlock in data=journal mode when fs is frozen
        reiserfs: call truncate_setsize under tailpack mutex
        fs/jbd/revoke.c: replace shift loop by ilog2
        reiserfs: remove obsolete __constant_cpu_to_le32
        reiserfs: balance_leaf refactor, split up balance_leaf_when_delete
        reiserfs: balance_leaf refactor, format balance_leaf_finish_node
        reiserfs: balance_leaf refactor, format balance_leaf_new_nodes_paste
        reiserfs: balance_leaf refactor, format balance_leaf_paste_right
        reiserfs: balance_leaf refactor, format balance_leaf_insert_right
        reiserfs: balance_leaf refactor, format balance_leaf_paste_left
        reiserfs: balance_leaf refactor, format balance_leaf_insert_left
        reiserfs: balance_leaf refactor, pull out balance_leaf{left, right, new_nodes, finish_node}
        reiserfs: balance_leaf refactor, pull out balance_leaf_finish_node_paste
        reiserfs: balance_leaf refactor pull out balance_leaf_finish_node_insert
        reiserfs: balance_leaf refactor, pull out balance_leaf_new_nodes_paste
        reiserfs: balance_leaf refactor, pull out balance_leaf_new_nodes_insert
        reiserfs: balance_leaf refactor, pull out balance_leaf_paste_right
        reiserfs: balance_leaf refactor, pull out balance_leaf_insert_right
        reiserfs: balance_leaf refactor, pull out balance_leaf_paste_left
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 859862dd
      Linus Torvalds authored
      Pull btrfs updates from Chris Mason:
       "The biggest change here is Josef's rework of the btrfs quota
        accounting, which improves the in-memory tracking of delayed extent
        I had been working on Btrfs stack usage for a while, mostly because it
        had become impossible to do long stress runs with slab, lockdep and
        pagealloc debugging turned on without blowing the stack.  Even though
        you upgraded us to a nice king sized stack, I kept most of the
        We also have some very hard to find corruption fixes, an awesome sysfs
        use after free, and the usual assortment of optimizations, cleanups
        and other fixes"
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (80 commits)
        Btrfs: convert smp_mb__{before,after}_clear_bit
        Btrfs: fix scrub_print_warning to handle skinny metadata extents
        Btrfs: make fsync work after cloning into a file
        Btrfs: use right type to get real comparison
        Btrfs: don't check nodes for extent items
        Btrfs: don't release invalid page in btrfs_page_exists_in_range()
        Btrfs: make sure we retry if page is a retriable exception
        Btrfs: make sure we retry if we couldn't get the page
        btrfs: replace EINVAL with EOPNOTSUPP for dev_replace raid56
        trivial: fs/btrfs/ioctl.c: fix typo s/substract/subtract/
        Btrfs: fix leaf corruption after __btrfs_drop_extents
        Btrfs: ensure btrfs_prev_leaf doesn't miss 1 item
        Btrfs: fix clone to deal with holes when NO_HOLES feature is enabled
        btrfs: free delayed node outside of root->inode_lock
        btrfs: replace EINVAL with ERANGE for resize when ULLONG_MAX
        Btrfs: fix transaction leak during fsync call
        btrfs: Avoid trucating page or punching hole in a already existed hole.
        Btrfs: update commit root on snapshot creation after orphan cleanup
        Btrfs: ioctl, don't re-lock extent range when not necessary
        Btrfs: avoid visiting all extent items when cloning a range
    • Linus Torvalds's avatar
      Merge tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs · 412dd3a6
      Linus Torvalds authored
      Pull xfs updates from Dave Chinner:
       "This update contains:
         - cleanup removing unused function args
         - rework of the filestreams allocator to use dentry cache parent
         - new on-disk free inode btree and optimised inode allocator
         - various bug fixes
         - rework of internal attribute API
         - cleanup of superblock feature bit support to remove historic cruft
         - more fixes and minor cleanups
         - added a new directory/attribute geometry abstraction
         - yet more fixes and minor cleanups"
      * tag 'xfs-for-linus-3.16-rc1' of git://oss.sgi.com/xfs/xfs: (86 commits)
        xfs: fix xfs_da_args sparse warning in xfs_readdir
        xfs: Fix rounding in xfs_alloc_fix_len()
        xfs: tone down writepage/releasepage WARN_ONs
        xfs: small cleanup in xfs_lowbit64()
        xfs: kill xfs_buf_geterror()
        xfs: xfs_readsb needs to check for magic numbers
        xfs: block allocation work needs to be kswapd aware
        xfs: remove redundant geometry information from xfs_da_state
        xfs: replace attr LBSIZE with xfs_da_geometry
        xfs: pass xfs_da_args to xfs_attr_leaf_newentsize
        xfs: use xfs_da_geometry for block size in attr code
        xfs: remove mp->m_dir_geo from directory logging
        xfs: reduce direct usage of mp->m_dir_geo
        xfs: move node entry counts to xfs_da_geometry
        xfs: convert dir/attr btree threshold to xfs_da_geometry
        xfs: convert m_dirblksize to xfs_da_geometry
        xfs: convert m_dirblkfsbs to xfs_da_geometry
        xfs: convert directory segment limits to xfs_da_geometry
        xfs: convert directory db conversion to xfs_da_geometry
        xfs: convert directory dablk conversion to xfs_da_geometry
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 23d4ed53
      Linus Torvalds authored
      Pull block layer fixes from Jens Axboe:
       "Final small batch of fixes to be included before -rc1.  Some general
        cleanups in here as well, but some of the blk-mq fixes we need for the
        NVMe conversion and/or scsi-mq.  The pull request contains:
         - Support for not merging across a specified "chunk size", if set by
           the driver.  Some NVMe devices perform poorly for IO that crosses
           such a chunk, so we need to support it generically as part of
           request merging avoid having to do complicated split logic.  From
         - Bump max tag depth to 10Ki tags.  Some scsi devices have a huge
           shared tag space.  Before we failed with EINVAL if a too large tag
           depth was specified, now we truncate it and pass back the actual
           value.  From me.
         - Various blk-mq rq init fixes from me and others.
         - A fix for enter on a dying queue for blk-mq from Keith.  This is
           needed to prevent oopsing on hot device removal.
         - Fixup for blk-mq timer addition from Ming Lei.
         - Small round of performance fixes for mtip32xx from Sam Bradshaw.
         - Minor stack leak fix from Rickard Strandqvist.
         - Two __init annotations from Fabian Frederick"
      * 'for-linus' of git://git.kernel.dk/linux-block:
        block: add __init to blkcg_policy_register
        block: add __init to elv_register
        block: ensure that bio_add_page() always accepts a page for an empty bio
        blk-mq: add timer in blk_mq_start_request
        blk-mq: always initialize request->start_time
        block: blk-exec.c: Cleaning up local variable address returnd
        mtip32xx: minor performance enhancements
        blk-mq: ->timeout should be cleared in blk_mq_rq_ctx_init()
        blk-mq: don't allow queue entering for a dying queue
        blk-mq: bump max tag depth to 10K tags
        block: add blk_rq_set_block_pc()
        block: add notion of a chunk size for request merging
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20140610' of git://git.infradead.org/linux-mtd · e413a19a
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       - refactor m25p80.c driver for use as a general SPI NOR framework for
         other drivers which may speak to SPI NOR flash without providing full
         SPI support (i.e., not part of drivers/spi/)
       - new Freescale QuadSPI driver (utilizing new SPI NOR framework)
       - updates for the STMicro "FSM" SPI NOR driver
       - fix sync/flush behavior on mtd_blkdevs
       - fixup subpage write support on a few NAND drivers
       - correct the MTD OOB test for odd-sized OOB areas
       - add BCH-16 support for OMAP NAND
       - fix warnings and trivial refactoring
       - utilize new ECC DT bindings in pxa3xx NAND driver
       - new LPDDR NVM driver
       - address a few assorted bugs caught by Coverity
       - add new imx6sx support for GPMI NAND
       - use a bounce buffer for NAND when non-DMA-able buffers are used
      * tag 'for-linus-20140610' of git://git.infradead.org/linux-mtd: (77 commits)
        mtd: gpmi: add gpmi support for imx6sx
        mtd: maps: remove check for CONFIG_MTD_SUPERH_RESERVE
        mtd: bf5xx_nand: use the managed version of kzalloc
        mtd: pxa3xx_nand: make the driver work on big-endian systems
        mtd: nand: omap: fix omap_calculate_ecc_bch() for-loop error
        mtd: nand: r852: correct write_buf loop bounds
        mtd: nand_bbt: handle error case for nand_create_badblock_pattern()
        mtd: nand_bbt: remove unused variable
        mtd: maps: sc520cdp: fix warnings
        mtd: slram: fix unused variable warning
        mtd: pfow: remove unused variable
        mtd: lpddr: fix Kconfig dependency, for I/O accessors
        mtd: nand: pxa3xx: Add supported ECC strength and step size to the DT binding
        mtd: nand: pxa3xx: Use ECC strength and step size devicetree binding
        mtd: nand: pxa3xx: Clean pxa_ecc_init() error handling
        mtd: nand: Warn the user if the selected ECC strength is too weak
        mtd: nand: omap: Documentation: How to select correct ECC scheme for your device ?
        mtd: nand: omap: add support for BCH16_ECC - NAND driver updates
        mtd: nand: omap: add support for BCH16_ECC - ELM driver updates
        mtd: nand: omap: add support for BCH16_ECC - GPMC driver updates
    • Linus Torvalds's avatar
      Merge tag 'md/3.16' of git://neil.brown.name/md · 8d0304e6
      Linus Torvalds authored
      Pull md updates from Neil Brown:
       "Assorted md fixes for 3.16
        Mostly performance improvements with a few corner-case bug fixes"
      * tag 'md/3.16' of git://neil.brown.name/md:
        raid5: speedup sync_request processing
        md/raid5: deadlock between retry_aligned_read with barrier io
        raid5: add an option to avoid copy data from bio to stripe cache
        md/bitmap: remove confusing code from filemap_get_page.
        raid5: avoid release list until last reference of the stripe
        md: md_clear_badblocks should return an error code on failure.
        md/raid56: Don't perform reads to support writes until stripe is ready.
        md: refuse to change shape of array if it is active but read-only
    • Jan Kara's avatar
      reiserfs: Fix compilation breakage with CONFIG_REISERFS_CHECK · 19ef1229
      Jan Kara authored
      There was a bug in debug printout when CONFIG_REISERFS_CHECK was
      enabled so one of the assertions in do_balan.c didn't compile. Fix it.
      Fixes: 0080e9f9
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
    • Brian Norris's avatar
      Merge MTD pullreq from 3.15-rc5 · f1900c79
      Brian Norris authored
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · dfb94547
      Linus Torvalds authored
      Pull watchdog updates from Wim Van Sebroeck:
       "This contains:
         - addition of the Intel MID watchdog
         - removal of W83697HF and W83697UG drivers (code was merged into
           w83627hf_wdt driver)
         - addition of Armada 375/380 SoC support
         - conversion of imx2_wdt to regmap API and to watchdog core API
         - lots of other small improvements and fixes"
      [ Wim was also tagged by gmail as a spammer, but not delayed by days
        unlike Ben ]
      * git://www.linux-watchdog.org/linux-watchdog: (25 commits)
        x86: intel-mid: add watchdog platform code for Merrifield
        watchdog: add Intel MID watchdog driver support
        watchdog: sp805: Set watchdog_device->timeout from ->set_timeout()
        booke/watchdog: refine and clean up the codes
        watchdog: iop_wdt only builds for mach-iop13xx
        watchdog: Remove drivers for W83697HF and W83697UG
        watchdog: w83627hf_wdt: Add early_disable module parameter
        ARM: mvebu: Add A375/A380 watchdog binding documentation
        watchdog: orion: Add Armada 375/380 SoC support
        watchdog: orion: Introduce per-SoC enabled() function
        watchdog: orion: Introduce per-SoC stop() function
        watchdog: orion: Remove unneeded atomic access
        watchdog: orion: Introduce a SoC-specific RSTOUT mapping
        watchdog: orion: Move the register ioremap'ing to its own function
        watchdog: xilinx: Make of_device_id array const
        watchdog: imx2_wdt: convert to watchdog core api
        watchdog: imx2_wdt: convert to use regmap API.
        watchdog: imx2_wdt: Sort the header files alphabetically
        watchdog: ath79_wdt: switch to clk_prepare/clk_disable
        watchdog: ath79_wdt: avoid spurious restarts on AR934x
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · c5aec4c7
      Linus Torvalds authored
      Pull powerpc updates from Ben Herrenschmidt:
       "Here is the bulk of the powerpc changes for this merge window.  It got
        a bit delayed in part because I wasn't paying attention, and in part
        because I discovered I had a core PCI change without a PCI maintainer
        ack in it.  Bjorn eventually agreed it was ok to merge it though we'll
        probably improve it later and I didn't want to rebase to add his ack.
        There is going to be a bit more next week, essentially fixes that I
        still want to sort through and test.
        The biggest item this time is the support to build the ppc64 LE kernel
        with our new v2 ABI.  We previously supported v2 userspace but the
        kernel itself was a tougher nut to crack.  This is now sorted mostly
        thanks to Anton and Rusty.
        We also have a fairly big series from Cedric that add support for
        64-bit LE zImage boot wrapper.  This was made harder by the fact that
        traditionally our zImage wrapper was always 32-bit, but our new LE
        toolchains don't really support 32-bit anymore (it's somewhat there
        but not really "supported") so we didn't want to rely on it.  This
        meant more churn that just endian fixes.
        This brings some more LE bits as well, such as the ability to run in
        LE mode without a hypervisor (ie. under OPAL firmware) by doing the
        right OPAL call to reinitialize the CPU to take HV interrupts in the
        right mode and the usual pile of endian fixes.
        There's another series from Gavin adding EEH improvements (one day we
        *will* have a release with less than 20 EEH patches, I promise!).
        Another highlight is the support for the "Split core" functionality on
        P8 by Michael.  This allows a P8 core to be split into "sub cores" of
        4 threads which allows the subcores to run different guests under KVM
        (the HW still doesn't support a partition per thread).
        And then the usual misc bits and fixes ..."
      [ Further delayed by gmail deciding that BenH is a dirty spammer.
        Google knows.  ]
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (155 commits)
        powerpc/powernv: Add missing include to LPC code
        selftests/powerpc: Test the THP bug we fixed in the previous commit
        powerpc/mm: Check paca psize is up to date for huge mappings
        powerpc/powernv: Pass buffer size to OPAL validate flash call
        powerpc/pseries: hcall functions are exported to modules, need _GLOBAL_TOC()
        powerpc: Exported functions __clear_user and copy_page use r2 so need _GLOBAL_TOC()
        powerpc/powernv: Set memory_block_size_bytes to 256MB
        powerpc: Allow ppc_md platform hook to override memory_block_size_bytes
        powerpc/powernv: Fix endian issues in memory error handling code
        powerpc/eeh: Skip eeh sysfs when eeh is disabled
        powerpc: 64bit sendfile is capped at 2GB
        powerpc/powernv: Provide debugfs access to the LPC bus via OPAL
        powerpc/serial: Use saner flags when creating legacy ports
        powerpc: Add cpu family documentation
        powerpc/xmon: Fix up xmon format strings
        powerpc/powernv: Add calls to support little endian host
        powerpc: Document sysfs DSCR interface
        powerpc: Fix regression of per-CPU DSCR setting
        powerpc: Split __SYSFS_SPRSETUP macro
        arch: powerpc/fadump: Cleaning up inconsistent NULL checks
  6. 10 Jun, 2014 16 commits