1. 07 12月, 2012 2 次提交
  2. 06 12月, 2012 6 次提交
  3. 02 12月, 2012 3 次提交
  4. 01 12月, 2012 2 次提交
    • K
      drivers/rtc/rtc-tps65910.c: fix invalid pointer access on _remove() · 1430e178
      Kim, Milo 提交于
      The tps65910_rtc data is registered as the platform driver data in
      _probe(= ).  Therefore the tps65910_rtc should be used on unregistering
      the rtc device.  And device pointer should be retrieved from the
      platform_device structure.
      
      This patch fixes the below oops:
      
       Unable to handle kernel NULL pointer dereference at virtual address 00000008
       Modules linked in: rtc_tps65910(-)
       CPU: 0    Not tainted  (3.7.0-rc7-next-20121128-g6b1f974-dirty #7)
       PC is at tps65910_rtc_alarm_irq_enable+0x20/0x2c [rtc_tps65910]
           (tps65910_rtc_alarm_irq_enable+0x20/0x2c [rtc_tps65910])
           (tps65910_rtc_remove+0x18/0x28 [rtc_tps65910])
           (platform_drv_remove+0x18/0x1c)
           (__device_release_driver+0x70/0xcc)
           (driver_detach+0xb4/0xb8)
           (bus_remove_driver+0x7c/0xc0)
           (sys_delete_module+0x148/0x21c)
      Signed-off-by: NMilo(Woogyom) Kim <milo.kim@ti.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1430e178
    • A
      revert "Revert "mm: remove __GFP_NO_KSWAPD"" · a5091539
      Andrew Morton 提交于
      It apepars that this patch was innocent, and we hope that "mm: avoid
      waking kswapd for THP allocations when compaction is deferred or
      contended" will fix the final kswapd-spinning cause.
      
      Cc: Zdenek Kabelac <zkabelac@redhat.com>
      Cc: Seth Jennings <sjenning@linux.vnet.ibm.com>
      Cc: Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
      Cc: Jiri Slaby <jirislaby@gmail.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Robert Jennings <rcj@linux.vnet.ibm.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      a5091539
  5. 30 11月, 2012 4 次提交
    • L
      blockdev: remove bd_block_size_semaphore again · 1e8b3332
      Linus Torvalds 提交于
      This reverts the block-device direct access code to the previous
      unlocked code, now that fs/buffer.c no longer needs external locking.
      
      With this, fs/block_dev.c is back to the original version, apart from a
      whitespace cleanup that I didn't want to revert.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      1e8b3332
    • N
      bonding: fix race condition in bonding_store_slaves_active · e196c0e5
      nikolay@redhat.com 提交于
      Race between bonding_store_slaves_active() and slave manipulation
       functions. The bond_for_each_slave use in bonding_store_slaves_active()
       is not protected by any synchronization mechanism.
       NULL pointer dereference is easy to reach.
       Fixed by acquiring the bond->lock for the slave walk.
      
       v2: Make description text < 75 columns
      Signed-off-by: NNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e196c0e5
    • N
      bonding: make arp_ip_target parameter checks consistent with sysfs · 90fb6250
      nikolay@redhat.com 提交于
      The module can be loaded with arp_ip_target="255.255.255.255" which makes
       it impossible to remove as the function in sysfs checks for that value,
       so we make the parameter checks consistent with sysfs.
      
       v2: Fix formatting
       v3: Make description text < 75 columns
      Signed-off-by: NNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      90fb6250
    • N
      bonding: fix miimon and arp_interval delayed work race conditions · fbb0c41b
      nikolay@redhat.com 提交于
      First I would give three observations which will be used later.
      Observation 1: if (delayed_work_pending(wq)) cancel_delayed_work(wq)
       This usage is wrong because the pending bit is cleared just before the
       work's fn is executed and if the function re-arms itself we might end up
       with the work still running. It's safe to call cancel_delayed_work_sync()
       even if the work is not queued at all.
      Observation 2: Use of INIT_DELAYED_WORK()
       Work needs to be initialized only once prior to (de/en)queueing.
      Observation 3: IFF_UP is set only after ndo_open is called
      
      Related race conditions:
      1. Race between bonding_store_miimon() and bonding_store_arp_interval()
       Because of Obs.1 we can end up having both works enqueued.
      2. Multiple races with INIT_DELAYED_WORK()
       Since the works are not protected by anything between INIT_DELAYED_WORK()
       and calls to (en/de)queue it is possible for races between the following
       functions:
       (races are also possible between the calls to INIT_DELAYED_WORK()
        and workqueue code)
       bonding_store_miimon() - bonding_store_arp_interval(), bond_close(),
      			  bond_open(), enqueued functions
       bonding_store_arp_interval() - bonding_store_miimon(), bond_close(),
      				bond_open(), enqueued functions
      3. By Obs.1 we need to change bond_cancel_all()
      
      Bugs 1 and 2 are fixed by moving all work initializations in bond_open
      which by Obs. 2 and Obs. 3 and the fact that we make sure that all works
      are cancelled in bond_close(), is guaranteed not to have any work
      enqueued.
      Also RTNL lock is now acquired in bonding_store_miimon/arp_interval so
      they can't race with bond_close and bond_open. The opposing work is
      cancelled only if the IFF_UP flag is set and it is cancelled
      unconditionally. The opposing work is already cancelled if the interface
      is down so no need to cancel it again. This way we don't need new
      synchronizations for the bonding workqueue. These bugs (and fixes) are
      tied together and belong in the same patch.
      Note: I have left 1 line intentionally over 80 characters (84) because I
            didn't like how it looks broken down. If you'd prefer it otherwise,
            then simply break it.
      
       v2: Make description text < 75 columns
      Signed-off-by: NNikolay Aleksandrov <nikolay@redhat.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fbb0c41b
  6. 29 11月, 2012 6 次提交
  7. 28 11月, 2012 2 次提交
  8. 27 11月, 2012 11 次提交
  9. 26 11月, 2012 1 次提交
    • C
      Revert "drm/i915: enable rc6 on ilk again" · 6567d748
      Chris Wilson 提交于
      Even with the cumulative set of ilk w/a, rc6 is demonstrably still
      failing and causing GPU hangs as found by Peter Wu. So we need to disable
      it again until it is stable.
      
      This reverts
      
      commit 456470eb
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Wed Aug 8 23:35:40 2012 +0200
      
          drm/i915: enable rc6 on ilk again
      
      and the follow-on
      
      commit cd7988ee
      Author: Daniel Vetter <daniel.vetter@ffwll.ch>
      Date:   Sun Aug 26 20:33:18 2012 +0200
      
          drm/i915: disable rc6 on ilk when vt-d is enabled
      
      Note: The situation around the gen4/5 gpu hangs that cropped up in 3.7
      is rather strange. Most useful bisects have lead to
      
      commit 6c085a72
      Author: Chris Wilson <chris@chris-wilson.co.uk>
      Date:   Mon Aug 20 11:40:46 2012 +0200
      
          drm/i915: Track unbound pages
      
      or even later commits that affect the gem bo recycling, which all is
      way past the point where we re-enabled rc6. But somehow
      reverting/disabling those commits doesn't help, but disabling rc6 at
      least helps for many hangs on ilk. Obviously it doesn't change
      anything at all on gen4, and there are still strange issues left on
      gen5 (which we unfortunately can't readily reproduce).
      
      Also, the error_state signature of the hangs which can be fixed with
      this patch look remarkably different to those which seem to be
      unaffected by the rc6 settings: The rc6 hangs are in the ring,
      somewhere in the MI_FLUSH/PIPE_CONTROL sequence to make ilk coherent,
      wheras all the other hangs tend to be at a random point in the middle
      of the user batch. So it could also be that we have different issues.
      
      Until we grow more clue, this at least helps some users.
      Reported-by: NPeter Wu <lekensteyn@gmail.com>
      References: https://bugs.freedesktop.org/show_bug.cgi?id=55984Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      [danvet: Added note with some more details about the gen4/5 3.7
      gpu hang regression.]
      Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
      6567d748
  10. 24 11月, 2012 3 次提交