On 04/24/2015 05:11 AM, Heiko Carstens wrote:
> On Thu, Apr 23, 2015 at 09:57:13PM -0400, Rik van Riel wrote:
>> diff --git a/kernel/tsacct.c b/kernel/tsacct.c
>> index 975cb49e32bf..0b967f116a6b 100644
>> --- a/kernel/tsacct.c
>> +++ b/kernel/tsacct.c
>> @@ -126,23 +126,29 @@ static void __acct_up
On Thu, Apr 23, 2015 at 09:57:13PM -0400, Rik van Riel wrote:
> diff --git a/kernel/tsacct.c b/kernel/tsacct.c
> index 975cb49e32bf..0b967f116a6b 100644
> --- a/kernel/tsacct.c
> +++ b/kernel/tsacct.c
> @@ -126,23 +126,29 @@ static void __acct_update_integrals(struct task_struct
> *tsk,
> if
The function __acct_update_integrals() is called both from irq context
and task context. This creates a race where irq context can advance
tsk->acct_timexpd to a value larger than time, leading to a negative
value, which causes a divide error. See commit 6d5b5acca9e5
("Fix fixpoint divide exception
3 matches
Mail list logo