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

Commit cf342e52 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Jens Axboe
Browse files

[PATCH] Don't need to disable interrupts for tasklist_lock



Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 25034d7a
Loading
Loading
Loading
Loading
+9 −4
Original line number Original line Diff line number Diff line
@@ -81,7 +81,12 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
	}
	}


	ret = -ESRCH;
	ret = -ESRCH;
	read_lock_irq(&tasklist_lock);
	/*
	 * We want IOPRIO_WHO_PGRP/IOPRIO_WHO_USER to be "atomic",
	 * so we can't use rcu_read_lock(). See re-copy of ->ioprio
	 * in copy_process().
	 */
	read_lock(&tasklist_lock);
	switch (which) {
	switch (which) {
		case IOPRIO_WHO_PROCESS:
		case IOPRIO_WHO_PROCESS:
			if (!who)
			if (!who)
@@ -124,7 +129,7 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
			ret = -EINVAL;
			ret = -EINVAL;
	}
	}


	read_unlock_irq(&tasklist_lock);
	read_unlock(&tasklist_lock);
	return ret;
	return ret;
}
}


@@ -170,7 +175,7 @@ asmlinkage long sys_ioprio_get(int which, int who)
	int ret = -ESRCH;
	int ret = -ESRCH;
	int tmpio;
	int tmpio;


	read_lock_irq(&tasklist_lock);
	read_lock(&tasklist_lock);
	switch (which) {
	switch (which) {
		case IOPRIO_WHO_PROCESS:
		case IOPRIO_WHO_PROCESS:
			if (!who)
			if (!who)
@@ -221,7 +226,7 @@ asmlinkage long sys_ioprio_get(int which, int who)
			ret = -EINVAL;
			ret = -EINVAL;
	}
	}


	read_unlock_irq(&tasklist_lock);
	read_unlock(&tasklist_lock);
	return ret;
	return ret;
}
}