Messages in this thread | | | Date | Mon, 7 Dec 2009 17:22:16 +0100 (CET) | From | Julia Lawall <> | Subject | RE: [PATCH 3/5] drivers/infiniband: correct size computation |
| |
On Mon, 7 Dec 2009, Tung, Chien Tin wrote:
> Thanks for pointing out the bug. > > > /* Remap the PCI registers in adapter BAR0 to kernel VA space */ > >- mmio_regs = ioremap_nocache(pci_resource_start(pcidev, BAR_0), sizeof(mmio_regs)); > >+ mmio_regs = ioremap_nocache(pci_resource_start(pcidev, BAR_0), > >+ sizeof(*mmio_regs)); > > if (mmio_regs == NULL) { > > printk(KERN_ERR PFX "Unable to remap BAR0\n"); > > ret = -EIO; > > mmio_regs is initialized to NULL at the top of the function so > *mmio_regs wouldn't be a good idea. Instead of sizeof(*mmio_regs) use > pci_resource_len(pcidev, BAR_0). If you can recreate the patch with > this change I will ack it.
When you say that it isn't a good idea, do you mean that the result is wrong, or that it looks odd? I didn't think sizeof looked at the value, but only at the type?
julia
| |