1. 05 2月, 2012 1 次提交
  2. 04 2月, 2012 3 次提交
  3. 03 2月, 2012 3 次提交
    • I
      Input: i8042 - add Lenovo Ideapad U455 to 'reset' blacklist · 82b982c9
      Igor Murzov 提交于
      From 2d5a38a56453421e82428155f4b00303f3fb19b2 Mon Sep 17 00:00:00 2001
      From: Igor Murzov <e-mail@date.by>
      Date: Wed, 1 Feb 2012 03:11:53 +0400
      Subject: [PATCH] Input: i8042 - add Lenovo Ideapad U455 to 'reset' blacklist
      
      Lenovo Ideapad U455 needs to be in the reset quirk list for its
      touchpad's proper function.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=40672Signed-off-by: NIgor Murzov <e-mail@date.by>
      Signed-off-by: NDmitry Torokhov <dtor@mail.ru>
      82b982c9
    • A
      rbd: fix safety of rbd_put_client() · d23a4b3f
      Alex Elder 提交于
      The rbd_client structure uses a kref to arrange for cleaning up and
      freeing an instance when its last reference is dropped.  The cleanup
      routine is rbd_client_release(), and one of the things it does is
      delete the rbd_client from rbd_client_list.  It acquires node_lock
      to do so, but the way it is done is still not safe.
      
      The problem is that when attempting to reuse an existing rbd_client,
      the structure found might already be in the process of getting
      destroyed and cleaned up.
      
      Here's the scenario, with "CLIENT" representing an existing
      rbd_client that's involved in the race:
      
       Thread on CPU A                | Thread on CPU B
       ---------------                | ---------------
       rbd_put_client(CLIENT)         | rbd_get_client()
         kref_put()                   |   (acquires node_lock)
           kref->refcount becomes 0   |   __rbd_client_find() returns CLIENT
           calls rbd_client_release() |   kref_get(&CLIENT->kref);
                                      |   (releases node_lock)
             (acquires node_lock)     |
             deletes CLIENT from list | ...and starts using CLIENT...
             (releases node_lock)     |
             and frees CLIENT         | <-- but CLIENT gets freed here
      
      Fix this by having rbd_put_client() acquire node_lock.  The result
      could still be improved, but at least it avoids this problem.
      Signed-off-by: NAlex Elder <elder@dreamhost.com>
      Signed-off-by: NSage Weil <sage@newdream.net>
      d23a4b3f
    • A
      rbd: fix a memory leak in rbd_get_client() · 97bb59a0
      Alex Elder 提交于
      If an existing rbd client is found to be suitable for use in
      rbd_get_client(), the rbd_options structure is not being
      freed as it should.  Fix that.
      Signed-off-by: NAlex Elder <elder@dreamhost.com>
      Signed-off-by: NSage Weil <sage@newdream.net>
      97bb59a0
  4. 02 2月, 2012 12 次提交
  5. 01 2月, 2012 8 次提交
  6. 31 1月, 2012 4 次提交
  7. 30 1月, 2012 7 次提交
  8. 28 1月, 2012 2 次提交