forked from mirrors/linux
		
	pstore: Actually give up during locking failure
Without a return after the pr_err(), dumps will collide when two threads call pstore_dump() at the same time. Signed-off-by: Liu Hailong <liuhailong5@huawei.com> Signed-off-by: Li Pengcheng <lipengcheng8@huawei.com> Signed-off-by: Li Zhong <lizhong11@hisilicon.com> [kees: improved commit message] Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
		
							parent
							
								
									07d9a38068
								
							
						
					
					
						commit
						959217c84c
					
				
					 1 changed files with 1 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -493,6 +493,7 @@ static void pstore_dump(struct kmsg_dumper *dumper,
 | 
			
		|||
		if (!is_locked) {
 | 
			
		||||
			pr_err("pstore dump routine blocked in %s path, may corrupt error record\n"
 | 
			
		||||
				       , in_nmi() ? "NMI" : why);
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		spin_lock_irqsave(&psinfo->buf_lock, flags);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue