ptp: use memdup_user().
Use memdup_user to duplicate a memory region from user-space to kernel-space, instead of open coding using kmalloc & copy_from_user. Signed-off-by: Muhammad Falak R Wani <falakreyaz@gmail.com> Acked-by: Richard Cochran <richardcochran@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									8da07a393f
								
							
						
					
					
						commit
						2ece068e1b
					
				| @ -208,14 +208,9 @@ long ptp_ioctl(struct posix_clock *pc, unsigned int cmd, unsigned long arg) | |||||||
| 		break; | 		break; | ||||||
| 
 | 
 | ||||||
| 	case PTP_SYS_OFFSET: | 	case PTP_SYS_OFFSET: | ||||||
| 		sysoff = kmalloc(sizeof(*sysoff), GFP_KERNEL); | 		sysoff = memdup_user((void __user *)arg, sizeof(*sysoff)); | ||||||
| 		if (!sysoff) { | 		if (IS_ERR(sysoff)) { | ||||||
| 			err = -ENOMEM; | 			err = PTR_ERR(sysoff); | ||||||
| 			break; |  | ||||||
| 		} |  | ||||||
| 		if (copy_from_user(sysoff, (void __user *)arg, |  | ||||||
| 				   sizeof(*sysoff))) { |  | ||||||
| 			err = -EFAULT; |  | ||||||
| 			break; | 			break; | ||||||
| 		} | 		} | ||||||
| 		if (sysoff->n_samples > PTP_MAX_SAMPLES) { | 		if (sysoff->n_samples > PTP_MAX_SAMPLES) { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user