lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK=zhgqsSWUOGU+cjrwPtagu5tCCtM4jeD67+Xm5r1kTKx5T6A@mail.gmail.com>
Date:	Mon, 15 Jun 2015 15:56:56 +0530
From:	Sreekanth Reddy <sreekanth.reddy@...gotech.com>
To:	Johannes Thumshirn <jthumshirn@...e.de>
Cc:	"jejb@...nel.org" <jejb@...nel.org>,
	Christoph Hellwig <hch@...radead.org>,
	"Martin K. Petersen" <martin.petersen@...cle.com>,
	"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
	"James E.J. Bottomley" <JBottomley@...allels.com>,
	Sathya Prakash <Sathya.Prakash@...gotech.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 04/20] [SCSI] mpt3sas: Remove redundancy code while
 freeing the controller resources.

On Fri, Jun 12, 2015 at 6:10 PM, Johannes Thumshirn <jthumshirn@...e.de> wrote:
> On Fri, Jun 12, 2015 at 05:48:56PM +0530, Sreekanth Reddy wrote:
>> On Fri, Jun 12, 2015 at 4:58 PM, Johannes Thumshirn <jthumshirn@...e.de> wrote:
>> > On Fri, Jun 12, 2015 at 03:12:16PM +0530, Sreekanth Reddy wrote:
>> >> Removed the redundancy code while freeing the controller resources.
>> >>
>> >> Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@...gotech.com>
>> >> ---
>> >>  drivers/scsi/mpt3sas/mpt3sas_base.c | 57 +++++++++++++++++++++----------------
> [...]
>> >> +     _base_free_irq(ioc);
>> >> +     _base_disable_msix(ioc);
>> >> +
>> >> +     if (ioc->msix96_vector)
>> >> +             kfree(ioc->replyPostRegisterIndex);
>> >
>> > kfree() already checks for zero or a NULL pointer.
>>
>> Sorry Johannes, I didn't get you. If I understand this correctly, you
>> are suggesting to check for NULL pointer before calling kree() API as
>> shown below,
>>
>> if (ioc->msix96_vector && (ioc->replyPostRegisterIndex != NULL))
>>         kfree(ioc->replyPostRegisterIndex);
>
> Correct me if I'm wrong, but I thought you don't need the if
> (ioc->msix96_vector) before the kfree(). ioc->replyPostRegisterIndex should be
> NULL if ioc->msix96_vector is 0, as far as I can see.
>
> In _scsih_probe() you have:
> shost = scsi_host_alloc(&scsih_driver_template,
>             sizeof(struct MPT3SAS_ADAPTER));
> if (!shost)
>            return -ENODEV;
>
> /* init local params */
> ioc = shost_priv(shost);
>
> and scsi_host_alloc() does a kzalloc() for shost.
>
> so ioc->replyPortRegisterIndex is NULL.
>
> Or am I thinking wrong here?

Yes, ioc->replyPostRegisterIndex will be NULL if ioc->msix96_vector is 0,
We have added this checks as a precautionary. since calling this
function (i.e kfree()) on memory not previously allocated with
kmalloc(), or on memory which has already been freed, may results in
very bad things, such as freeing memory belonging to another part of
the kernel.

>
>>
>> Regards,
>> Sreekanth
>
> --
> Johannes Thumshirn                                       Storage
> jthumshirn@...e.de                             +49 911 74053 689
> SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
> GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
> HRB 21284 (AG Nürnberg)



-- 

Regards,
Sreekanth
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ