Revert "Revert "Revert "CHROMIUM: android: binder: Fix potential scheduling-while-atomic"""

This reverts commit 6a3b9c4984.

Sigh. Confusion reigns. The rest of the preempt_disable patch is not in common, so this shouldn't be here afterall (it is in several downstream branches that therefore need this one too).

Re-reverting. We don't want the preempt_disable stuff in common since fine-grained locking is coming soon.

Change-Id: I2595516cab28041fa72f4a38692266a0f2a01ab4
This commit is contained in:
Todd Kjos
2017-04-11 21:39:47 +00:00
parent 2295052f9d
commit 84b6001987

View File

@@ -417,7 +417,6 @@ static int task_get_unused_fd_flags(struct binder_proc *proc, int flags)
struct files_struct *files = proc->files;
unsigned long rlim_cur;
unsigned long irqs;
int ret;
if (files == NULL)
return -ESRCH;
@@ -428,11 +427,7 @@ static int task_get_unused_fd_flags(struct binder_proc *proc, int flags)
rlim_cur = task_rlimit(proc->tsk, RLIMIT_NOFILE);
unlock_task_sighand(proc->tsk, &irqs);
preempt_enable_no_resched();
ret = __alloc_fd(files, 0, rlim_cur, flags);
preempt_disable();
return ret;
return __alloc_fd(files, 0, rlim_cur, flags);
}
/*
@@ -441,11 +436,8 @@ static int task_get_unused_fd_flags(struct binder_proc *proc, int flags)
static void task_fd_install(
struct binder_proc *proc, unsigned int fd, struct file *file)
{
if (proc->files) {
preempt_enable_no_resched();
if (proc->files)
__fd_install(proc->files, fd, file);
preempt_disable();
}
}
/*