From: Sreekanth Reddy <sreekanth.reddy@avagotech.com> To: Johannes Thumshirn <jthumshirn@suse.de> Cc: "jejb@kernel.org" <jejb@kernel.org>, Christoph Hellwig <hch@infradead.org>, "Martin K. Petersen" <martin.petersen@oracle.com>, "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>, "James E.J. Bottomley" <JBottomley@parallels.com>, Sathya Prakash <Sathya.Prakash@avagotech.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 04/20] [SCSI] mpt3sas: Remove redundancy code while freeing the controller resources. Date: Mon, 15 Jun 2015 15:56:56 +0530 [thread overview] Message-ID: <CAK=zhgqsSWUOGU+cjrwPtagu5tCCtM4jeD67+Xm5r1kTKx5T6A@mail.gmail.com> (raw) In-Reply-To: <20150612124024.GB16614@c203.arch.suse.de> On Fri, Jun 12, 2015 at 6:10 PM, Johannes Thumshirn <jthumshirn@suse.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@suse.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@avagotech.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@suse.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
WARNING: multiple messages have this Message-ID (diff)
From: Sreekanth Reddy <sreekanth.reddy@avagotech.com> To: Johannes Thumshirn <jthumshirn@suse.de> Cc: "jejb@kernel.org" <jejb@kernel.org>, Christoph Hellwig <hch@infradead.org>, "Martin K. Petersen" <martin.petersen@oracle.com>, "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>, "James E.J. Bottomley" <JBottomley@parallels.com>, Sathya Prakash <Sathya.Prakash@avagotech.com>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org> Subject: Re: [PATCH 04/20] [SCSI] mpt3sas: Remove redundancy code while freeing the controller resources. Date: Mon, 15 Jun 2015 15:56:56 +0530 [thread overview] Message-ID: <CAK=zhgqsSWUOGU+cjrwPtagu5tCCtM4jeD67+Xm5r1kTKx5T6A@mail.gmail.com> (raw) In-Reply-To: <20150612124024.GB16614@c203.arch.suse.de> On Fri, Jun 12, 2015 at 6:10 PM, Johannes Thumshirn <jthumshirn@suse.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@suse.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@avagotech.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@suse.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-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-06-15 10:27 UTC|newest] Thread overview: 118+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-06-12 9:42 [PATCH 00/20] mpt3sas: driver update Sreekanth Reddy 2015-06-12 9:42 ` [PATCH 01/20] [SCSI] mpt3sas: Added Combined Reply Queue feature to extend up-to 96 MSIX vector support Sreekanth Reddy 2015-06-12 11:09 ` Johannes Thumshirn 2015-06-12 11:16 ` Sreekanth Reddy 2015-06-12 11:16 ` Sreekanth Reddy 2015-06-18 9:57 ` Sreekanth Reddy 2015-06-18 9:57 ` Sreekanth Reddy 2015-06-19 9:14 ` Johannes Thumshirn 2015-06-19 9:14 ` Johannes Thumshirn 2015-06-19 9:21 ` Sreekanth Reddy 2015-06-19 9:21 ` Sreekanth Reddy 2015-06-19 9:55 ` Johannes Thumshirn 2015-06-19 9:55 ` Johannes Thumshirn 2015-06-12 9:42 ` [PATCH 02/20] [SCSI] mpt3sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state Sreekanth Reddy 2015-06-16 15:59 ` Tomas Henzl 2015-06-17 9:08 ` Sreekanth Reddy 2015-06-12 9:42 ` [PATCH 03/20] [SCSI] mpt3sas: Don't block the drive when drive addition under the control of SML Sreekanth Reddy 2015-06-19 15:05 ` Martin K. Petersen 2015-06-19 15:05 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 04/20] [SCSI] mpt3sas: Remove redundancy code while freeing the controller resources Sreekanth Reddy 2015-06-12 11:28 ` Johannes Thumshirn 2015-06-12 12:18 ` Sreekanth Reddy 2015-06-12 12:40 ` Johannes Thumshirn 2015-06-15 10:26 ` Sreekanth Reddy [this message] 2015-06-15 10:26 ` Sreekanth Reddy 2015-06-15 10:48 ` Johannes Thumshirn 2015-06-15 10:48 ` Johannes Thumshirn 2015-06-18 9:52 ` Sreekanth Reddy 2015-06-18 9:52 ` Sreekanth Reddy 2015-06-18 10:08 ` Johannes Thumshirn 2015-06-19 15:09 ` Martin K. Petersen 2015-06-19 15:09 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 05/20] [SCSI] mpt3sas: MPI 2.5 Rev I (2.5.4) specifications Sreekanth Reddy 2015-06-15 9:51 ` Johannes Thumshirn 2015-06-19 15:10 ` Martin K. Petersen 2015-06-19 15:10 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 06/20] [SCSI] mpt3sas: Provides the physical location of sas drives Sreekanth Reddy 2015-06-18 9:56 ` Sreekanth Reddy 2015-06-19 9:19 ` Johannes Thumshirn 2015-06-19 9:19 ` Johannes Thumshirn 2015-06-19 10:53 ` Sreekanth Reddy 2015-06-19 10:53 ` Sreekanth Reddy 2015-06-12 9:42 ` [PATCH 07/20] [SCSI] mpt3sas: Bump mpt3sas Driver version to v5.100.00.00 Sreekanth Reddy 2015-06-15 9:52 ` Johannes Thumshirn 2015-06-19 20:22 ` Martin K. Petersen 2015-06-19 20:22 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 08/20] [SCSI] mpt3sas: Update MPI2 strings to MPI2.5 Sreekanth Reddy 2015-06-15 9:52 ` Johannes Thumshirn 2015-06-15 9:52 ` Johannes Thumshirn 2015-06-19 20:24 ` Martin K. Petersen 2015-06-19 20:24 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 09/20] [SCSI] mpt3sas: MPI 2.5 Rev J (2.5.5) specification and 2.00.34 header files Sreekanth Reddy 2015-06-15 9:53 ` Johannes Thumshirn 2015-06-15 9:53 ` Johannes Thumshirn 2015-06-19 20:27 ` Martin K. Petersen 2015-06-19 20:27 ` Martin K. Petersen 2015-06-22 12:18 ` Sreekanth Reddy 2015-06-22 12:18 ` Sreekanth Reddy 2015-06-12 9:42 ` [PATCH 10/20] [SCSI] mpt3sas: Add branding string support for OEM's HBA Sreekanth Reddy 2015-06-15 9:46 ` Johannes Thumshirn 2015-06-15 9:46 ` Johannes Thumshirn 2015-06-15 11:11 ` Sreekanth Reddy 2015-06-15 11:11 ` Sreekanth Reddy 2015-06-15 11:53 ` Johannes Thumshirn 2015-06-15 12:00 ` Sreekanth Reddy 2015-06-18 9:51 ` Sreekanth Reddy 2015-06-18 10:09 ` Johannes Thumshirn 2015-06-18 10:09 ` Johannes Thumshirn 2015-06-19 20:30 ` Martin K. Petersen 2015-06-19 20:30 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 11/20] [SCSI] mpt3sas: Add branding string support for OEM custom HBA Sreekanth Reddy 2015-06-18 9:55 ` Sreekanth Reddy 2015-06-19 20:34 ` Martin K. Petersen 2015-06-19 20:34 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 12/20] [SCSI] mpt3sas: Bump mpt3sas driver version to v6.100.00.00 Sreekanth Reddy 2015-06-15 9:53 ` Johannes Thumshirn 2015-06-15 9:53 ` Johannes Thumshirn 2015-06-19 20:35 ` Martin K. Petersen 2015-06-19 20:35 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 13/20] [SCSI] mpt3sas: MPI 2.5 Rev K (2.5.6) specifications Sreekanth Reddy 2015-06-15 9:54 ` Johannes Thumshirn 2015-06-15 9:54 ` Johannes Thumshirn 2015-06-19 20:36 ` Martin K. Petersen 2015-06-19 20:36 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 14/20] [SCSI] mpt3sas: Complete the SCSI command with DID_RESET status for log_info value 0x0x32010081 Sreekanth Reddy 2015-06-15 10:01 ` Johannes Thumshirn 2015-06-15 11:01 ` Sreekanth Reddy 2015-06-15 11:01 ` Sreekanth Reddy 2015-06-12 9:42 ` [PATCH 15/20] [SCSI] mpt3sas: Return host busy error status to SML when DMA mapping of scatter gather list fails for a SCSI command Sreekanth Reddy 2015-06-15 9:54 ` Johannes Thumshirn 2015-06-19 20:40 ` Martin K. Petersen 2015-06-19 20:40 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 16/20] [SCSI] mpt3sas: Added support for customer specific branding Sreekanth Reddy 2015-06-18 9:53 ` Sreekanth Reddy 2015-06-19 20:44 ` Martin K. Petersen 2015-06-19 20:44 ` Martin K. Petersen 2015-06-22 12:26 ` Sreekanth Reddy 2015-06-22 12:26 ` Sreekanth Reddy 2015-06-22 20:36 ` Martin K. Petersen 2015-06-22 20:36 ` Martin K. Petersen 2015-06-25 13:40 ` Sreekanth Reddy 2015-06-12 9:42 ` [PATCH 17/20] [SCSI] mpt3sas: Use alloc_ordered_workqueue() API instead of create_singlethread_workqueue() API Sreekanth Reddy 2015-06-12 21:03 ` Joe Lawrence 2015-06-12 21:03 ` Joe Lawrence 2015-06-15 10:56 ` Sreekanth Reddy 2015-06-15 21:05 ` James Bottomley 2015-06-16 5:03 ` Sreekanth Reddy 2015-06-12 9:42 ` [PATCH 18/20] [SCSI] mpt3sas: Call dma_mapping_error() API after mapping an address with dma_map_single() API Sreekanth Reddy 2015-06-15 9:55 ` Johannes Thumshirn 2015-06-19 20:47 ` Martin K. Petersen 2015-06-19 20:47 ` Martin K. Petersen 2015-06-12 9:42 ` [PATCH 19/20] [SCSI] mpt3sas: When device is blocked followed by unblock fails, unfreeze the I/Os Sreekanth Reddy 2015-06-15 9:58 ` Johannes Thumshirn 2015-06-12 9:42 ` [PATCH 20/20] [SCSI] mpt3sas : Bump mpt3sas driver version to 9.100.00.00 Sreekanth Reddy 2015-06-15 9:56 ` Johannes Thumshirn 2015-06-19 21:01 ` Martin K. Petersen 2015-06-19 21:01 ` Martin K. Petersen -- strict thread matches above, loose matches on Subject: below -- 2015-03-30 13:55 [PATCH 00/20] mpt3sas: driver update Sreekanth Reddy 2015-03-30 13:55 ` [PATCH 04/20] [SCSI] mpt3sas: Remove redundancy code while freeing the controller resources Sreekanth Reddy
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAK=zhgqsSWUOGU+cjrwPtagu5tCCtM4jeD67+Xm5r1kTKx5T6A@mail.gmail.com' \ --to=sreekanth.reddy@avagotech.com \ --cc=JBottomley@parallels.com \ --cc=Sathya.Prakash@avagotech.com \ --cc=hch@infradead.org \ --cc=jejb@kernel.org \ --cc=jthumshirn@suse.de \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-scsi@vger.kernel.org \ --cc=martin.petersen@oracle.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.