diff options
Diffstat (limited to 'security/tomoyo/common.c')
| -rw-r--r-- | security/tomoyo/common.c | 11 | 
1 files changed, 4 insertions, 7 deletions
| diff --git a/security/tomoyo/common.c b/security/tomoyo/common.c index c36bafbcd77e..1b467381986f 100644 --- a/security/tomoyo/common.c +++ b/security/tomoyo/common.c @@ -2322,9 +2322,9 @@ static const char * const tomoyo_memory_headers[TOMOYO_MAX_MEMORY_STAT] = {  	[TOMOYO_MEMORY_QUERY]  = "query message:",  }; -/* Timestamp counter for last updated. */ -static unsigned int tomoyo_stat_updated[TOMOYO_MAX_POLICY_STAT];  /* Counter for number of updates. */ +static atomic_t tomoyo_stat_updated[TOMOYO_MAX_POLICY_STAT]; +/* Timestamp counter for last updated. */  static time64_t tomoyo_stat_modified[TOMOYO_MAX_POLICY_STAT];  /** @@ -2336,10 +2336,7 @@ static time64_t tomoyo_stat_modified[TOMOYO_MAX_POLICY_STAT];   */  void tomoyo_update_stat(const u8 index)  { -	/* -	 * I don't use atomic operations because race condition is not fatal. -	 */ -	tomoyo_stat_updated[index]++; +	atomic_inc(&tomoyo_stat_updated[index]);  	tomoyo_stat_modified[index] = ktime_get_real_seconds();  } @@ -2360,7 +2357,7 @@ static void tomoyo_read_stat(struct tomoyo_io_buffer *head)  	for (i = 0; i < TOMOYO_MAX_POLICY_STAT; i++) {  		tomoyo_io_printf(head, "Policy %-30s %10u",  				 tomoyo_policy_headers[i], -				 tomoyo_stat_updated[i]); +				 atomic_read(&tomoyo_stat_updated[i]));  		if (tomoyo_stat_modified[i]) {  			struct tomoyo_time stamp; |