Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754487AbbKXK52 (ORCPT ); Tue, 24 Nov 2015 05:57:28 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:35625 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754160AbbKXK50 (ORCPT ); Tue, 24 Nov 2015 05:57:26 -0500 Message-ID: <56544293.50007@bjorling.me> Date: Tue, 24 Nov 2015 11:57:23 +0100 From: =?windows-1252?Q?Matias_Bj=F8rling?= Organization: Paletta User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Sudip Mukherjee , Matias Bjorling CC: linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 1/5] lightnvm: fix memory leak References: <1448361300-26718-1-git-send-email-sudipm.mukherjee@gmail.com> In-Reply-To: <1448361300-26718-1-git-send-email-sudipm.mukherjee@gmail.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1491 Lines: 48 On 11/24/2015 11:34 AM, Sudip Mukherjee wrote: > If copy_to_user() fails we returned error but we missed releasing > devices. > > Signed-off-by: Sudip Mukherjee > --- > > v1 on fixed one error. v2 fixes both. > > drivers/lightnvm/core.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c > index f659e60..e338048 100644 > --- a/drivers/lightnvm/core.c > +++ b/drivers/lightnvm/core.c > @@ -677,8 +677,10 @@ static long nvm_ioctl_info(struct file *file, void __user *arg) > info->tgtsize = tgt_iter; > up_write(&nvm_lock); > > - if (copy_to_user(arg, info, sizeof(struct nvm_ioctl_info))) > + if (copy_to_user(arg, info, sizeof(struct nvm_ioctl_info))) { > + kfree(info); > return -EFAULT; > + } > > kfree(info); > return 0; > @@ -721,8 +723,11 @@ static long nvm_ioctl_get_devices(struct file *file, void __user *arg) > > devices->nr_devices = i; > > - if (copy_to_user(arg, devices, sizeof(struct nvm_ioctl_get_devices))) > + if (copy_to_user(arg, devices, > + sizeof(struct nvm_ioctl_get_devices))) { > + kfree(devices); > return -EFAULT; > + } > > kfree(devices); > return 0; > Thanks Sudip, applied. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/