summaryrefslogtreecommitdiffstats
path: root/fs/ntfs/layout.h
diff options
context:
space:
mode:
authorJuri Lelli <juri.lelli@gmail.com>2014-05-13 14:11:31 +0200
committerIngo Molnar <mingo@kernel.org>2014-05-22 10:21:27 +0200
commitb0827819b0da4acfbc1df1e05edcf50efd07cbd1 (patch)
tree9a7fcb6a4ffb1ae120bfd04ec21cedbf4e953361 /fs/ntfs/layout.h
parentce5f7f8200ca2504f6f290044393d73ca314965a (diff)
downloadlinux-b0827819b0da4acfbc1df1e05edcf50efd07cbd1.tar.gz
linux-b0827819b0da4acfbc1df1e05edcf50efd07cbd1.tar.bz2
linux-b0827819b0da4acfbc1df1e05edcf50efd07cbd1.zip
sched/deadline: Restrict user params max value to 2^63 ns
Michael Kerrisk noticed that creating SCHED_DEADLINE reservations with certain parameters (e.g, a runtime of something near 2^64 ns) can cause a system freeze for some amount of time. The problem is that in the interface we have u64 sched_runtime; while internally we need to have a signed runtime (to cope with budget overruns) s64 runtime; At the time we setup a new dl_entity we copy the first value in the second. The cast turns out with negative values when sched_runtime is too big, and this causes the scheduler to go crazy right from the start. Moreover, considering how we deal with deadlines wraparound (s64)(a - b) < 0 we also have to restrict acceptable values for sched_{deadline,period}. This patch fixes the thing checking that user parameters are always below 2^63 ns (still large enough for everyone). It also rewrites other conditions that we check, since in __checkparam_dl we don't have to deal with deadline wraparounds and what we have now erroneously fails when the difference between values is too big. Reported-by: Michael Kerrisk <mtk.manpages@gmail.com> Suggested-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Juri Lelli <juri.lelli@gmail.com> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Cc: <stable@vger.kernel.org> Cc: Dario Faggioli<raistlin@linux.it> Cc: Dave Jones <davej@redhat.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Link: http://lkml.kernel.org/r/20140513141131.20d944f81633ee937f256385@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'fs/ntfs/layout.h')
0 files changed, 0 insertions, 0 deletions