diff options
Diffstat (limited to 'drivers/net/netdevsim/dev.c')
| -rw-r--r-- | drivers/net/netdevsim/dev.c | 9 | 
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c index 6045bece2654..b4d3b9cde8bd 100644 --- a/drivers/net/netdevsim/dev.c +++ b/drivers/net/netdevsim/dev.c @@ -184,13 +184,10 @@ static ssize_t nsim_dev_trap_fa_cookie_write(struct file *file,  	cookie_len = (count - 1) / 2;  	if ((count - 1) % 2)  		return -EINVAL; -	buf = kmalloc(count, GFP_KERNEL | __GFP_NOWARN); -	if (!buf) -		return -ENOMEM; -	ret = simple_write_to_buffer(buf, count, ppos, data, count); -	if (ret < 0) -		goto free_buf; +	buf = memdup_user(data, count); +	if (IS_ERR(buf)) +		return PTR_ERR(buf);  	fa_cookie = kmalloc(sizeof(*fa_cookie) + cookie_len,  			    GFP_KERNEL | __GFP_NOWARN);  | 
