mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	posix-cpu-timers: Make set_process_cpu_timer() more robust
Because the return value of cpu_timer_sample_group() is not checked, compilers and static checkers can legitimately warn about a potential use of the uninitialized variable 'now'. This is not a runtime issue as all call sites hand in valid clock ids. Also cpu_timer_sample_group() is invoked unconditionally even when the result is not used because *oldval is NULL. Make the invocation conditional and check the return value. [ tglx: Massage changelog ] Signed-off-by: Max R. P. Grossmann <m@max.pm> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: john.stultz@linaro.org Link: https://lkml.kernel.org/r/20180108190157.10048-1-m@max.pm
This commit is contained in:
		
							parent
							
								
									103bb56a28
								
							
						
					
					
						commit
						a9445e47d8
					
				
					 1 changed files with 1 additions and 2 deletions
				
			
		| 
						 | 
					@ -1189,9 +1189,8 @@ void set_process_cpu_timer(struct task_struct *tsk, unsigned int clock_idx,
 | 
				
			||||||
	u64 now;
 | 
						u64 now;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	WARN_ON_ONCE(clock_idx == CPUCLOCK_SCHED);
 | 
						WARN_ON_ONCE(clock_idx == CPUCLOCK_SCHED);
 | 
				
			||||||
	cpu_timer_sample_group(clock_idx, tsk, &now);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (oldval) {
 | 
						if (oldval && cpu_timer_sample_group(clock_idx, tsk, &now) != -EINVAL) {
 | 
				
			||||||
		/*
 | 
							/*
 | 
				
			||||||
		 * We are setting itimer. The *oldval is absolute and we update
 | 
							 * We are setting itimer. The *oldval is absolute and we update
 | 
				
			||||||
		 * it to be relative, *newval argument is relative and we update
 | 
							 * it to be relative, *newval argument is relative and we update
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue