Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0f453397 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge branches 'futexes-for-linus', 'irq-core-for-linus' and...

Merge branches 'futexes-for-linus', 'irq-core-for-linus' and 'bkl-drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip

* 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  futex: Protect pid lookup in compat code with RCU

* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  genirq: Fix documentation of default chip disable()

* 'bkl-drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
  nvram: Drop the BKL from nvram_open()
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -336,14 +336,12 @@ static int nvram_ioctl(struct inode *inode, struct file *file,


static int nvram_open(struct inode *inode, struct file *file)
static int nvram_open(struct inode *inode, struct file *file)
{
{
	lock_kernel();
	spin_lock(&nvram_state_lock);
	spin_lock(&nvram_state_lock);


	if ((nvram_open_cnt && (file->f_flags & O_EXCL)) ||
	if ((nvram_open_cnt && (file->f_flags & O_EXCL)) ||
	    (nvram_open_mode & NVRAM_EXCL) ||
	    (nvram_open_mode & NVRAM_EXCL) ||
	    ((file->f_mode & FMODE_WRITE) && (nvram_open_mode & NVRAM_WRITE))) {
	    ((file->f_mode & FMODE_WRITE) && (nvram_open_mode & NVRAM_WRITE))) {
		spin_unlock(&nvram_state_lock);
		spin_unlock(&nvram_state_lock);
		unlock_kernel();
		return -EBUSY;
		return -EBUSY;
	}
	}


@@ -354,7 +352,6 @@ static int nvram_open(struct inode *inode, struct file *file)
	nvram_open_cnt++;
	nvram_open_cnt++;


	spin_unlock(&nvram_state_lock);
	spin_unlock(&nvram_state_lock);
	unlock_kernel();


	return 0;
	return 0;
}
}
+1 −1
Original line number Original line Diff line number Diff line
@@ -90,7 +90,7 @@ struct msi_desc;
 * @startup:		start up the interrupt (defaults to ->enable if NULL)
 * @startup:		start up the interrupt (defaults to ->enable if NULL)
 * @shutdown:		shut down the interrupt (defaults to ->disable if NULL)
 * @shutdown:		shut down the interrupt (defaults to ->disable if NULL)
 * @enable:		enable the interrupt (defaults to chip->unmask if NULL)
 * @enable:		enable the interrupt (defaults to chip->unmask if NULL)
 * @disable:		disable the interrupt (defaults to chip->mask if NULL)
 * @disable:		disable the interrupt
 * @ack:		start of a new interrupt
 * @ack:		start of a new interrupt
 * @mask:		mask an interrupt source
 * @mask:		mask an interrupt source
 * @mask_ack:		ack and mask an interrupt source
 * @mask_ack:		ack and mask an interrupt source
+3 −3
Original line number Original line Diff line number Diff line
@@ -146,7 +146,7 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
		struct task_struct *p;
		struct task_struct *p;


		ret = -ESRCH;
		ret = -ESRCH;
		read_lock(&tasklist_lock);
		rcu_read_lock();
		p = find_task_by_vpid(pid);
		p = find_task_by_vpid(pid);
		if (!p)
		if (!p)
			goto err_unlock;
			goto err_unlock;
@@ -157,7 +157,7 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
		    !capable(CAP_SYS_PTRACE))
		    !capable(CAP_SYS_PTRACE))
			goto err_unlock;
			goto err_unlock;
		head = p->compat_robust_list;
		head = p->compat_robust_list;
		read_unlock(&tasklist_lock);
		rcu_read_unlock();
	}
	}


	if (put_user(sizeof(*head), len_ptr))
	if (put_user(sizeof(*head), len_ptr))
@@ -165,7 +165,7 @@ compat_sys_get_robust_list(int pid, compat_uptr_t __user *head_ptr,
	return put_user(ptr_to_compat(head), head_ptr);
	return put_user(ptr_to_compat(head), head_ptr);


err_unlock:
err_unlock:
	read_unlock(&tasklist_lock);
	rcu_read_unlock();


	return ret;
	return ret;
}
}