autofs: fix dev ioctl number range check
The count of miscellaneous device ioctls in fs/autofs4/autofs_i.h is wrong. The number of ioctls is the difference between AUTOFS_DEV_IOCTL_VERSION_CMD and AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD (14) not the difference between AUTOFS_IOC_COUNT and 11 (21). [kusumi.tomohiro@gmail.com: fix typo that made the count macro negative] Link: http://lkml.kernel.org/r/20160831033420.9910.16809.stgit@pluto.themaw.net Link: http://lkml.kernel.org/r/20160812024841.12352.11975.stgit@pluto.themaw.net Signed-off-by: Ian Kent <raven@themaw.net> Cc: Tomohiro Kusumi <kusumi.tomohiro@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									b6e3795a06
								
							
						
					
					
						commit
						aa8419367b
					
				| @ -20,7 +20,8 @@ | ||||
| #define AUTOFS_IOC_COUNT     32 | ||||
| 
 | ||||
| #define AUTOFS_DEV_IOCTL_IOC_FIRST	(AUTOFS_DEV_IOCTL_VERSION) | ||||
| #define AUTOFS_DEV_IOCTL_IOC_COUNT	(AUTOFS_IOC_COUNT - 11) | ||||
| #define AUTOFS_DEV_IOCTL_IOC_COUNT \ | ||||
| 	(AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD - AUTOFS_DEV_IOCTL_VERSION_CMD) | ||||
| 
 | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/slab.h> | ||||
|  | ||||
| @ -642,7 +642,7 @@ static int _autofs_dev_ioctl(unsigned int command, | ||||
| 	cmd = _IOC_NR(command); | ||||
| 
 | ||||
| 	if (_IOC_TYPE(command) != _IOC_TYPE(AUTOFS_DEV_IOCTL_IOC_FIRST) || | ||||
| 	    cmd - cmd_first >= AUTOFS_DEV_IOCTL_IOC_COUNT) { | ||||
| 	    cmd - cmd_first > AUTOFS_DEV_IOCTL_IOC_COUNT) { | ||||
| 		return -ENOTTY; | ||||
| 	} | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user