aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2014-09-06 11:08:20 +0100
committerMark Brown <broonie@kernel.org>2014-09-06 11:08:20 +0100
commit32de5d0e850682c07b172b086cd1562cb350a8ea (patch)
tree212060407bec8257ebd89992f170917c5ea58d60 /kernel
parent68e9a7c161360ecaa4596b1bff69b5bec4c2487f (diff)
parent8e952ae717dea59aa8104421dc4d3b9e66981c7d (diff)
Merge tag 'v3.14.18' into linux-linaro-lsk-v3.14
This is the 3.14.18 stable release
Diffstat (limited to 'kernel')
-rw-r--r--kernel/sched/core.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
index 515e212421c0..677ebad70ce1 100644
--- a/kernel/sched/core.c
+++ b/kernel/sched/core.c
@@ -3511,9 +3511,10 @@ static int _sched_setscheduler(struct task_struct *p, int policy,
};
/*
- * Fixup the legacy SCHED_RESET_ON_FORK hack
+ * Fixup the legacy SCHED_RESET_ON_FORK hack, except if
+ * the policy=-1 was passed by sched_setparam().
*/
- if (policy & SCHED_RESET_ON_FORK) {
+ if ((policy != -1) && (policy & SCHED_RESET_ON_FORK)) {
attr.sched_flags |= SCHED_FLAG_RESET_ON_FORK;
policy &= ~SCHED_RESET_ON_FORK;
attr.sched_policy = policy;