mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	ecryptfs: replace BUG_ON with error handling code
In crypt_scatterlist, if the crypt_stat argument is not set up
correctly, the kernel crashes. Instead, by returning an error code
upstream, the error is handled safely.
The issue is detected via a static analysis tool written by us.
Fixes: 237fead619 (ecryptfs: fs/Makefile and fs/Kconfig)
Signed-off-by: Aditya Pakki <pakki001@umn.edu>
Signed-off-by: Tyler Hicks <code@tyhicks.com>
			
			
This commit is contained in:
		
							parent
							
								
									f8e48a8408
								
							
						
					
					
						commit
						2c2a7552dd
					
				
					 1 changed files with 4 additions and 2 deletions
				
			
		| 
						 | 
					@ -311,8 +311,10 @@ static int crypt_scatterlist(struct ecryptfs_crypt_stat *crypt_stat,
 | 
				
			||||||
	struct extent_crypt_result ecr;
 | 
						struct extent_crypt_result ecr;
 | 
				
			||||||
	int rc = 0;
 | 
						int rc = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	BUG_ON(!crypt_stat || !crypt_stat->tfm
 | 
						if (!crypt_stat || !crypt_stat->tfm
 | 
				
			||||||
	       || !(crypt_stat->flags & ECRYPTFS_STRUCT_INITIALIZED));
 | 
						       || !(crypt_stat->flags & ECRYPTFS_STRUCT_INITIALIZED))
 | 
				
			||||||
 | 
							return -EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (unlikely(ecryptfs_verbosity > 0)) {
 | 
						if (unlikely(ecryptfs_verbosity > 0)) {
 | 
				
			||||||
		ecryptfs_printk(KERN_DEBUG, "Key size [%zd]; key:\n",
 | 
							ecryptfs_printk(KERN_DEBUG, "Key size [%zd]; key:\n",
 | 
				
			||||||
				crypt_stat->key_size);
 | 
									crypt_stat->key_size);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue