1. 08 1月, 2011 3 次提交
  2. 04 1月, 2011 1 次提交
  3. 03 1月, 2011 1 次提交
  4. 27 12月, 2010 1 次提交
  5. 23 12月, 2010 1 次提交
  6. 14 12月, 2010 3 次提交
  7. 12 12月, 2010 1 次提交
  8. 10 12月, 2010 6 次提交
  9. 09 12月, 2010 1 次提交
  10. 08 12月, 2010 19 次提交
  11. 07 12月, 2010 3 次提交
    • I
      autofs4 - remove ioctl mutex (bz23142) · de47de74
      Ian Kent 提交于
      With the recent changes to remove the BKL a mutex was added to the
      ioctl entry point for calls to the old ioctl interface. This mutex
      needs to be removed because of the need for the expire ioctl to call
      back to the daemon to perform a umount and receive a completion
      status (via another ioctl).
      
      This should be fine as the new ioctl interface uses much of the same
      code and it has been used without a mutex for around a year without
      issue, as was the original intention.
      
      Ref: Bugzilla bug 23142
      Signed-off-by: NIan Kent <raven@themaw.net>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      de47de74
    • V
      HID: Consolidate device existence checks in hiddev_ioctl · 33d6eb57
      Valentine Barshak 提交于
      Currently, if the device has been removed before hiddev_ioctl(),
      the -EIO is returned. If it's removed while hiddev_ioctl() is in
      progress, some commands are still processed fine, others
      return -ENODEV. This change takes the "existancelock" before
      processing ioctl commands and releases it at the end.
      If the device has been removed, always returns -ENODEV.
      Signed-off-by: NValentine Barshak <vbarshak@mvista.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      33d6eb57
    • V
      HID: Fix race between disconnect and hiddev_ioctl · 1a8e8fab
      Valentine Barshak 提交于
      A USB HID device can be disconnected at any time.
      If this happens right before or while hiddev_ioctl is in progress,
      the hiddev_ioctl tries to access invalid hiddev->hid pointer.
      When the hid device is disconnected, the hiddev_disconnect()
      ends up with a call to hid_device_release() which frees
      hid_device, but doesn't set the hiddev->hid pointer to NULL.
      If the deallocated memory region has been re-used by the kernel,
      this can cause a crash or memory corruption.
      
      Since disconnect can happen at any time, we can't initialize
      struct hid_device *hid = hiddev->hid at the beginning of ioctl
      and then use it.
      
      This change checks hiddev->exist flag while holding
      the existancelock and uses hid_device only if it exists.
      Signed-off-by: NValentine Barshak <vbarshak@mvista.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      1a8e8fab