diff options
Diffstat (limited to 'kernel/acct.c')
| -rw-r--r-- | kernel/acct.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/acct.c b/kernel/acct.c index 81f9831a7859..11ff4a596d6b 100644 --- a/kernel/acct.c +++ b/kernel/acct.c @@ -416,6 +416,7 @@ static void fill_ac(acct_t *ac)  {  	struct pacct_struct *pacct = ¤t->signal->pacct;  	u64 elapsed, run_time; +	time64_t btime;  	struct tty_struct *tty;  	/* @@ -448,7 +449,8 @@ static void fill_ac(acct_t *ac)  	}  #endif  	do_div(elapsed, AHZ); -	ac->ac_btime = get_seconds() - elapsed; +	btime = ktime_get_real_seconds() - elapsed; +	ac->ac_btime = clamp_t(time64_t, btime, 0, U32_MAX);  #if ACCT_VERSION==2  	ac->ac_ahz = AHZ;  #endif  |