forked from mirrors/linux
		
	xfs: validate acl count
This prevents in-memory corruption and possible panics if the on-disk ACL is badly corrupted. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
		
							parent
							
								
									c889132913
								
							
						
					
					
						commit
						fa8b18edd7
					
				
					 1 changed files with 2 additions and 0 deletions
				
			
		| 
						 | 
					@ -42,6 +42,8 @@ xfs_acl_from_disk(struct xfs_acl *aclp)
 | 
				
			||||||
	int count, i;
 | 
						int count, i;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	count = be32_to_cpu(aclp->acl_cnt);
 | 
						count = be32_to_cpu(aclp->acl_cnt);
 | 
				
			||||||
 | 
						if (count > XFS_ACL_MAX_ENTRIES)
 | 
				
			||||||
 | 
							return ERR_PTR(-EFSCORRUPTED);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	acl = posix_acl_alloc(count, GFP_KERNEL);
 | 
						acl = posix_acl_alloc(count, GFP_KERNEL);
 | 
				
			||||||
	if (!acl)
 | 
						if (!acl)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue