Merge branch 'memdup_user_nul' into work.misc
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 4 Jan 2016 15:25:34 +0000 (10:25 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 4 Jan 2016 15:25:34 +0000 (10:25 -0500)
1  2 
drivers/gpu/vga/vgaarb.c

diff --combined drivers/gpu/vga/vgaarb.c
index de083aade1057adbc24a86b79349fc5114a4aa71,9abcaa53bd25a4149e850562628bdc17e81161ed..f17cb04318337688b0d5223dd60ad4f687b0cfc5
@@@ -395,8 -395,10 +395,10 @@@ int vga_get(struct pci_dev *pdev, unsig
                set_current_state(interruptible ?
                                  TASK_INTERRUPTIBLE :
                                  TASK_UNINTERRUPTIBLE);
-               if (signal_pending(current)) {
-                       rc = -EINTR;
+               if (interruptible && signal_pending(current)) {
+                       __set_current_state(TASK_RUNNING);
+                       remove_wait_queue(&vga_wait_queue, &wait);
+                       rc = -ERESTARTSYS;
                        break;
                }
                schedule();
@@@ -1161,8 -1163,12 +1163,8 @@@ done
  
  static unsigned int vga_arb_fpoll(struct file *file, poll_table *wait)
  {
 -      struct vga_arb_private *priv = file->private_data;
 -
        pr_debug("%s\n", __func__);
  
 -      if (priv == NULL)
 -              return -ENODEV;
        poll_wait(file, &vga_wait_queue, wait);
        return POLLIN;
  }
@@@ -1203,6 -1209,9 +1205,6 @@@ static int vga_arb_release(struct inod
  
        pr_debug("%s\n", __func__);
  
 -      if (priv == NULL)
 -              return -ENODEV;
 -
        spin_lock_irqsave(&vga_user_lock, flags);
        list_del(&priv->list);
        for (i = 0; i < MAX_USER_CARDS; i++) {
This page took 0.031866 seconds and 5 git commands to generate.