1. 31 Oct, 2015 1 commit
  2. 30 Oct, 2015 2 commits
  3. 29 Oct, 2015 1 commit
  4. 28 Oct, 2015 7 commits
  5. 27 Oct, 2015 5 commits
  6. 26 Oct, 2015 4 commits
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 858e904b
      Linus Torvalds authored
      Pull iommu fixes from Joerg Roedel:
       "Two late fixes for the AMD IOMMU driver:
      
         - add an additional check to the io page-fault handler to avoid a
           BUG_ON being hit in handle_mm_fault()
      
         - fix a problem with devices writing to the system management area
           and were blocked by the IOMMU because the driver wrongly cleared
           out the DTE flags allowing that access"
      
      * tag 'iommu-fixes-v4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        iommu/amd: Don't clear DTE flags when modifying it
        iommu/amd: Fix BUG when faulting a PROT_NONE VMA
      858e904b
    • Linus Torvalds's avatar
      Merge tag 'md/4.3-rc6-fixes' of git://neil.brown.name/md · ce6f9886
      Linus Torvalds authored
      Pull md fixes from Neil Brown:
       "Some raid1/raid10 fixes.
      
        I meant to get this to you before -rc7, but what with all the travel
        plans..
      
        Two fixes for bugs that are in both raid1 and raid10.  Both related to
        bad-block-lists and at least one needs to be back ported to 3.1.
      
        Also a revision for the "new" layout in raid10.  This "new" code
        (which aims to improve robustness) actually reduces robustness in some
        cases.  It probably isn't in use at all as not public user-space code
        makes use of these new layouts.  However just in case someone has
        their own code, it would be good to get the WARNing out for them
        sooner"
      
      * tag 'md/4.3-rc6-fixes' of git://neil.brown.name/md:
        md/raid10: fix the 'new' raid10 layout to work correctly.
        md/raid10: don't clear bitmap bit when bad-block-list write fails.
        md/raid1: don't clear bitmap bit when bad-block-list write fails.
        md/raid10: submit_bio_wait() returns 0 on success
        md/raid1: submit_bio_wait() returns 0 on success
      ce6f9886
    • Linus Torvalds's avatar
      Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux · 896066ee
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Last fixes from me: one amdgpu/radeon suspend resume and one leak fix,
        along with one vmware fix for some issues when command submission
        fails"
      
      * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
        drm/amdgpu: don't try to recreate sysfs entries on resume
        drm/radeon: don't try to recreate sysfs entries on resume
        drm/amdgpu: stop leaking page flip fence
        drm/vmwgfx: Stabilize the command buffer submission code
      896066ee
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 85051e29
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Two driver bugfixes for the I2C subsystem"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: pnx: fix runtime warnings caused by enabling unprepared clock
        i2c: mv64xxx: really allow I2C offloading
      85051e29
  7. 25 Oct, 2015 1 commit
  8. 24 Oct, 2015 5 commits
    • Dave Airlie's avatar
      Merge branch 'vmwgfx-fixes-4.3' of git://people.freedesktop.org/~thomash/linux · 22ca7ca5
      Dave Airlie authored
      I'm not sure whether this patch comes in too late, but it would be good to
      have it in. It stabilizes command submission in case of command buffer errors.
      
      * 'vmwgfx-fixes-4.3' of git://people.freedesktop.org/~thomash/linux:
        drm/vmwgfx: Stabilize the command buffer submission code
      22ca7ca5
    • Dave Airlie's avatar
      Merge branch 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux · aef8cc90
      Dave Airlie authored
      Two regression fixes and a memory leak fix for amdgpu and radeon.
      
      * 'drm-fixes-4.3' of git://people.freedesktop.org/~agd5f/linux:
        drm/amdgpu: don't try to recreate sysfs entries on resume
        drm/radeon: don't try to recreate sysfs entries on resume
        drm/amdgpu: stop leaking page flip fence
      aef8cc90
    • NeilBrown's avatar
      md/raid10: fix the 'new' raid10 layout to work correctly. · 8bce6d35
      NeilBrown authored
      In Linux 3.9 we introduce a new 'far' layout for RAID10 which was
      supposed to rotate the replicas differently and so provide better
      resilience.  In particular it could survive more combinations of 2
      drive failures.
      
      Unfortunately. due to a coding error, this some did what was wanted,
      sometimes improved less than we hoped, and sometimes - in very
      unlikely circumstances - put multiple replicas on the same device so
      the redundancy was harmed.
      
      No public user-space tool has created arrays using this layout so it
      is very unlikely that zero-redundancy arrays actually exist.  Probably
      no arrays using any form of the new layout exist.  But we cannot be
      certain.
      
      So use another bit in the 'layout' number and introduce a bug-fixed
      version of the layout.
      Also when assembling an array, if it has a zero-redundancy layout,
      give a warning.
      Reported-by: default avatarHeinz Mauelshagen <heinzm@redhat.com>
      Signed-off-by: default avatarNeilBrown <neilb@suse.com>
      8bce6d35
    • NeilBrown's avatar
      md/raid10: don't clear bitmap bit when bad-block-list write fails. · c340702c
      NeilBrown authored
      When a write fails and a bad-block-list is present, we can
      update the bad-block-list instead of writing the data.  If
      this succeeds then it is OK clear the relevant bitmap-bit as
      no further 'sync' of the block is needed.
      
      However if writing the bad-block-list fails then we need to
      treat the write as failed and particularly must not clear
      the bitmap bit.  Otherwise the device can be re-added (after
      any hardware connection issues are resolved) and because the
      relevant bit in the bitmap is clear, that block will not be
      resynced.  This leads to data corruption.
      
      We already delay the final bio_endio() on the write until
      the bad-block-list is written so that when the write
      returns: either that data is safe, the bad-block record is
      safe, or the fact that the device is faulty is safe.
      However we *don't* delay the clearing of the bitmap, so the
      bitmap bit can be recorded as cleared before we know if the
      bad-block-list was written safely.
      
      So: delay that until the write really is safe.
      i.e. move the call to close_write() until just before
      calling bio_endio(), and recheck the 'is array degraded'
      status before making that call.
      
      This bug goes back to v3.1 when bad-block-lists were
      introduced, though it only affects arrays created with
      mdadm-3.3 or later as only those have bad-block lists.
      
      Backports will require at least
      Commit: 95af587e ("md/raid10: ensure device failure recorded before write request returns.")
      as well.  I'll send that to 'stable' separately.
      
      Note that of the two tests of R10BIO_WriteError that this
      patch adds, the first is certain to fail and the second is
      certain to succeed.  However doing it this way makes the
      patch more obviously correct.  I will tidy the code up in a
      future merge window.
      Reported-by: default avatarNate Dailey <nate.dailey@stratus.com>
      Fixes: bd870a16 ("md/raid10:  Handle write errors by updating badblock log.")
      Signed-off-by: default avatarNeilBrown <neilb@suse.com>
      c340702c
    • NeilBrown's avatar
      md/raid1: don't clear bitmap bit when bad-block-list write fails. · bd8688a1
      NeilBrown authored
      When a write fails and a bad-block-list is present, we can
      update the bad-block-list instead of writing the data.  If
      this succeeds then it is OK clear the relevant bitmap-bit as
      no further 'sync' of the block is needed.
      
      However if writing the bad-block-list fails then we need to
      treat the write as failed and particularly must not clear
      the bitmap bit.  Otherwise the device can be re-added (after
      any hardware connection issues are resolved) and because the
      relevant bit in the bitmap is clear, that block will not be
      resynced.  This leads to data corruption.
      
      We already delay the final bio_endio() on the write until
      the bad-block-list is written so that when the write
      returns: either that data is safe, the bad-block record is
      safe, or the fact that the device is faulty is safe.
      However we *don't* delay the clearing of the bitmap, so the
      bitmap bit can be recorded as cleared before we know if the
      bad-block-list was written safely.
      
      So: delay that until the write really is safe.
      i.e. move the call to close_write() until just before
      calling bio_endio(), and recheck the 'is array degraded'
      status before making that call.
      
      This bug goes back to v3.1 when bad-block-lists were
      introduced, though it only affects arrays created with
      mdadm-3.3 or later as only those have bad-block lists.
      
      Backports will require at least
      Commit: 55ce74d4 ("md/raid1: ensure device failure recorded before write request returns.")
      as well.  I'll send that to 'stable' separately.
      
      Note that of the two tests of R1BIO_WriteError that this
      patch adds, the first is certain to fail and the second is
      certain to succeed.  However doing it this way makes the
      patch more obviously correct.  I will tidy the code up in a
      future merge window.
      Reported-and-tested-by: default avatarNate Dailey <nate.dailey@stratus.com>
      Cc: Jes Sorensen <Jes.Sorensen@redhat.com>
      Fixes: cd5ff9a1 ("md/raid1:  Handle write errors by updating badblock log.")
      Signed-off-by: default avatarNeilBrown <neilb@suse.com>
      bd8688a1
  9. 23 Oct, 2015 14 commits
    • Linus Torvalds's avatar
      Merge tag 'usb-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 01815536
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here are three xhci driver fixes for reported issues for 4.3-rc7
      
        All have been in linux-next for a while with no problems"
      
      * tag 'usb-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        xhci: Add spurious wakeup quirk for LynxPoint-LP controllers
        xhci: handle no ping response error properly
        xhci: don't finish a TD if we get a short transfer event mid TD
      01815536
    • Linus Torvalds's avatar
      Merge tag 'tty-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · dd5ae681
      Linus Torvalds authored
      Pull tty/serial fixes from Greg KH:
       "Here are two fixes that resolve reported issues, one with the 8250
        driver, and the other with the generic fbcon driver.
      
        Both have been in linux-next for a while"
      
      * tag 'tty-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        fbcon: initialize blink interval before calling fb_set_par
        Revert "serial: 8250_dma: don't bother DMA with small transfers"
      dd5ae681
    • Linus Torvalds's avatar
      Merge tag 'staging-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 4ee8019d
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are four iio driver fixes for 4.3-rc7, fixing some reported
        issues.  All of these have been in linux-next for a while"
      
      * tag 'staging-4.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        iio: mxs-lradc: Fix temperature offset
        iio: accel: sca3000: memory corruption in sca3000_read_first_n_hw_rb()
        iio: st_accel: fix interrupt handling on LIS3LV02
        iio: adc: twl4030: Fix ADC[3:6] readings
      4ee8019d
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma · 410694e2
      Linus Torvalds authored
      Pull infiniband fixes from Doug Ledford:
       "It's late in the game, I know, but these fixes seemed important enough
        to warrant a late pull request.  They all involve oopses or use after
        frees or corruptions.
      
        Six serious fixes:
      
         - Hold the mutex around the find and corresponding update of our gid
      
         - The ifa list is rcu protected, copy its contents under rcu to avoid
           using a freed structure
      
         - On error, netdev might be null, so check it before trying to
           release it
      
         - On init, if workqueue alloc fails, fail init
      
         - The new demux patches exposed a bug in mlx5 and ipath drivers, we
           need to use the payload P_Key to determine the P_Key the packet
           arrived on because the hardware doesn't tell us the truth
      
         - Due to a couple convoluted error flows, it is possible for the CM
           to trigger a use_after_free and a double_free of rb nodes.  Add two
           checks to prevent that.  This code has worked for 10+ years.  It is
           likely that some of the recent changes have caused this issue to
           surface.  The current patch will protect us from nasty events for
           now while we track down why this is just now showing up"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma:
        IB/cm: Fix rb-tree duplicate free and use-after-free
        IB/cma: Use inner P_Key to determine netdev
        IB/ucma: check workqueue allocation before usage
        IB/cma: Potential NULL dereference in cma_id_from_event
        IB/core: Fix use after free of ifa
        IB/core: Fix memory corruption in ib_cache_gid_set_default_gid
      410694e2
    • Linus Torvalds's avatar
      Merge tag 'dm-4.3-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 35df017c
      Linus Torvalds authored
      Pull device mapper fixes from Mike Snitzer:
       "Three stable fixes (two in btree code used by DM thinp and one to
        properly store flags in DM cache metadata's superblock)"
      
      * tag 'dm-4.3-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm cache: the CLEAN_SHUTDOWN flag was not being set
        dm btree: fix leak of bufio-backed block in btree_split_beneath error path
        dm btree remove: fix a bug when rebalancing nodes after removal
      35df017c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · ea1ee5ff
      Linus Torvalds authored
      Pull block layer fixes from Jens Axboe:
       "A final set of fixes for 4.3.
      
        It is (again) bigger than I would have liked, but it's all been
        through the testing mill and has been carefully reviewed by multiple
        parties.  Each fix is either a regression fix for this cycle, or is
        marked stable.  You can scold me at KS.  The pull request contains:
      
         - Three simple fixes for NVMe, fixing regressions since 4.3.  From
           Arnd, Christoph, and Keith.
      
         - A single xen-blkfront fix from Cathy, fixing a NULL dereference if
           an error is returned through the staste change callback.
      
         - Fixup for some bad/sloppy code in nbd that got introduced earlier
           in this cycle.  From Markus Pargmann.
      
         - A blk-mq tagset use-after-free fix from Junichi.
      
         - A backing device lifetime fix from Tejun, fixing a crash.
      
         - And finally, a set of regression/stable fixes for cgroup writeback
           from Tejun"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        writeback: remove broken rbtree_postorder_for_each_entry_safe() usage in cgwb_bdi_destroy()
        NVMe: Fix memory leak on retried commands
        block: don't release bdi while request_queue has live references
        nvme: use an integer value to Linux errno values
        blk-mq: fix use-after-free in blk_mq_free_tag_set()
        nvme: fix 32-bit build warning
        writeback: fix incorrect calculation of available memory for memcg domains
        writeback: memcg dirty_throttle_control should be initialized with wb->memcg_completions
        writeback: bdi_writeback iteration must not skip dying ones
        writeback: fix bdi_writeback iteration in wakeup_dirtytime_writeback()
        writeback: laptop_mode_timer_fn() needs rcu_read_lock() around bdi_writeback iteration
        nbd: Add locking for tasks
        xen-blkfront: check for null drvdata in blkback_changed (XenbusStateClosing)
      ea1ee5ff
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client · ef594c42
      Linus Torvalds authored
      Pull Ceph fixes from Sage Weil:
       "Two fixes.
      
        One is a stopgap to prevent a stack blowout when users have a deep
        chain of image clones.  (We'll rewrite this code to be non-recursive
        for the next window, but in the meantime this is a simple fix that
        avoids a crash.)
      
        The second fixes a refcount underflow"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
        rbd: prevent kernel stack blow up on rbd map
        rbd: don't leak parent_spec in rbd_dev_probe_parent()
      ef594c42
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · 37902bc1
      Linus Torvalds authored
      Pull btrfs fixes from Chris Mason:
       "I have two more small fixes this week:
      
        Qu's fix avoids unneeded COW during fallocate, and Christian found a
        memory leak in the error handling of an earlier fix"
      
      * 'for-linus-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
        btrfs: fix possible leak in btrfs_ioctl_balance()
        btrfs: Avoid truncate tailing page if fallocate range doesn't exceed inode size
      37902bc1
    • Vladimir Zapolskiy's avatar
      i2c: pnx: fix runtime warnings caused by enabling unprepared clock · 5dd32eae
      Vladimir Zapolskiy authored
      The driver can not be used on a platform with common clock framework
      until clk_prepare/clk_unprepare calls are added, otherwise clk_enable
      calls will fail and a WARN is generated.
      Signed-off-by: default avatarVladimir Zapolskiy <vz@mleia.com>
      Signed-off-by: default avatarWolfram Sang <wsa@the-dreams.de>
      5dd32eae
    • Joe Thornber's avatar
      dm cache: the CLEAN_SHUTDOWN flag was not being set · 3201ac45
      Joe Thornber authored
      If the CLEAN_SHUTDOWN flag is not set when a cache is loaded then all cache
      blocks are marked as dirty and a full writeback occurs.
      
      __commit_transaction() is responsible for setting/clearing
      CLEAN_SHUTDOWN (based the flags_mutator that is passed in).
      
      Fix this issue, of the cache's on-disk flags being wrong, by making sure
      __commit_transaction() does not reset the flags after the mutator has
      altered the flags in preparation for them being serialized to disk.
      
      before:
      
      sb_flags = mutator(le32_to_cpu(disk_super->flags));
      disk_super->flags = cpu_to_le32(sb_flags);
      disk_super->flags = cpu_to_le32(cmd->flags);
      
      after:
      
      disk_super->flags = cpu_to_le32(cmd->flags);
      sb_flags = mutator(le32_to_cpu(disk_super->flags));
      disk_super->flags = cpu_to_le32(sb_flags);
      Reported-by: default avatarBogdan Vasiliev <bogdan.vasiliev@gmail.com>
      Signed-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org
      3201ac45
    • Mike Snitzer's avatar
      dm btree: fix leak of bufio-backed block in btree_split_beneath error path · 4dcb8b57
      Mike Snitzer authored
      btree_split_beneath()'s error path had an outstanding FIXME that speaks
      directly to the potential for _not_ cleaning up a previously allocated
      bufio-backed block.
      
      Fix this by releasing the previously allocated bufio block using
      unlock_block().
      Reported-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Acked-by: default avatarJoe Thornber <thornber@redhat.com>
      Cc: stable@vger.kernel.org
      4dcb8b57
    • Joe Thornber's avatar
      dm btree remove: fix a bug when rebalancing nodes after removal · 2871c69e
      Joe Thornber authored
      Commit 4c7e3093 ("dm btree remove: fix bug in redistribute3") wasn't
      a complete fix for redistribute3().
      
      The redistribute3 function takes 3 btree nodes and shares out the entries
      evenly between them.  If the three nodes in total contained
      (MAX_ENTRIES * 3) - 1 entries between them then this was erroneously getting
      rebalanced as (MAX_ENTRIES - 1) on the left and right, and (MAX_ENTRIES + 1) in
      the center.
      
      Fix this issue by being more careful about calculating the target number
      of entries for the left and right nodes.
      
      Unit tested in userspace using this program:
      https://github.com/jthornber/redistribute3-test/blob/master/redistribute3_t.cSigned-off-by: default avatarJoe Thornber <ejt@redhat.com>
      Signed-off-by: default avatarMike Snitzer <snitzer@redhat.com>
      Cc: stable@vger.kernel.org
      2871c69e
    • Ilya Dryomov's avatar
      rbd: prevent kernel stack blow up on rbd map · 6d69bb53
      Ilya Dryomov authored
      Mapping an image with a long parent chain (e.g. image foo, whose parent
      is bar, whose parent is baz, etc) currently leads to a kernel stack
      overflow, due to the following recursion in the reply path:
      
        rbd_osd_req_callback()
          rbd_obj_request_complete()
            rbd_img_obj_callback()
              rbd_img_parent_read_callback()
                rbd_obj_request_complete()
                  ...
      
      Limit the parent chain to 16 images, which is ~5K worth of stack.  When
      the above recursion is eliminated, this limit can be lifted.
      
      Fixes: http://tracker.ceph.com/issues/12538
      
      Cc: stable@vger.kernel.org # 3.10+, needs backporting for < 4.2
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: default avatarJosh Durgin <jdurgin@redhat.com>
      6d69bb53
    • Ilya Dryomov's avatar
      rbd: don't leak parent_spec in rbd_dev_probe_parent() · 1f2c6651
      Ilya Dryomov authored
      Currently we leak parent_spec and trigger a "parent reference
      underflow" warning if rbd_dev_create() in rbd_dev_probe_parent() fails.
      The problem is we take the !parent out_err branch and that only drops
      refcounts; parent_spec that would've been freed had we called
      rbd_dev_unparent() remains and triggers rbd_warn() in
      rbd_dev_parent_put() - at that point we have parent_spec != NULL and
      parent_ref == 0, so counter ends up being -1 after the decrement.
      
      Redo rbd_dev_probe_parent() to fix this.
      
      Cc: stable@vger.kernel.org # 3.10+, needs backporting for < 4.2
      Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
      Reviewed-by: default avatarAlex Elder <elder@linaro.org>
      1f2c6651