Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 30a61fff authored by Julia Lawall's avatar Julia Lawall Committed by Linus Torvalds
Browse files

edac: fix resource size calculation

Use the function resource_size, which reduces the chance of introducing
off-by-one errors in calculating the resource size.

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/

)

// <smpl>
@@
struct resource *res;
@@

- (res->end - res->start) + 1
+ resource_size(res)
// </smpl>

Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
Signed-off-by: default avatarDoug Thompson <dougthompson@xmission.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b4846251
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -885,14 +885,14 @@ static int __devinit cpc925_probe(struct platform_device *pdev)


	if (!devm_request_mem_region(&pdev->dev,
	if (!devm_request_mem_region(&pdev->dev,
				     r->start,
				     r->start,
				     r->end - r->start + 1,
				     resource_size(r),
				     pdev->name)) {
				     pdev->name)) {
		cpc925_printk(KERN_ERR, "Unable to request mem region\n");
		cpc925_printk(KERN_ERR, "Unable to request mem region\n");
		res = -EBUSY;
		res = -EBUSY;
		goto err1;
		goto err1;
	}
	}


	vbase = devm_ioremap(&pdev->dev, r->start, r->end - r->start + 1);
	vbase = devm_ioremap(&pdev->dev, r->start, resource_size(r));
	if (!vbase) {
	if (!vbase) {
		cpc925_printk(KERN_ERR, "Unable to ioremap device\n");
		cpc925_printk(KERN_ERR, "Unable to ioremap device\n");
		res = -ENOMEM;
		res = -ENOMEM;
@@ -953,7 +953,7 @@ static int __devinit cpc925_probe(struct platform_device *pdev)
	cpc925_mc_exit(mci);
	cpc925_mc_exit(mci);
	edac_mc_free(mci);
	edac_mc_free(mci);
err2:
err2:
	devm_release_mem_region(&pdev->dev, r->start, r->end-r->start+1);
	devm_release_mem_region(&pdev->dev, r->start, resource_size(r));
err1:
err1:
	devres_release_group(&pdev->dev, cpc925_probe);
	devres_release_group(&pdev->dev, cpc925_probe);
out:
out:
+11 −11
Original line number Original line Diff line number Diff line
@@ -90,7 +90,7 @@ static int __init mv64x60_pci_fixup(struct platform_device *pdev)
		return -ENOENT;
		return -ENOENT;
	}
	}


	pci_serr = ioremap(r->start, r->end - r->start + 1);
	pci_serr = ioremap(r->start, resource_size(r));
	if (!pci_serr)
	if (!pci_serr)
		return -ENOMEM;
		return -ENOMEM;


@@ -140,7 +140,7 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev)


	if (!devm_request_mem_region(&pdev->dev,
	if (!devm_request_mem_region(&pdev->dev,
				     r->start,
				     r->start,
				     r->end - r->start + 1,
				     resource_size(r),
				     pdata->name)) {
				     pdata->name)) {
		printk(KERN_ERR "%s: Error while requesting mem region\n",
		printk(KERN_ERR "%s: Error while requesting mem region\n",
		       __func__);
		       __func__);
@@ -150,7 +150,7 @@ static int __devinit mv64x60_pci_err_probe(struct platform_device *pdev)


	pdata->pci_vbase = devm_ioremap(&pdev->dev,
	pdata->pci_vbase = devm_ioremap(&pdev->dev,
					r->start,
					r->start,
					r->end - r->start + 1);
					resource_size(r));
	if (!pdata->pci_vbase) {
	if (!pdata->pci_vbase) {
		printk(KERN_ERR "%s: Unable to setup PCI err regs\n", __func__);
		printk(KERN_ERR "%s: Unable to setup PCI err regs\n", __func__);
		res = -ENOMEM;
		res = -ENOMEM;
@@ -306,7 +306,7 @@ static int __devinit mv64x60_sram_err_probe(struct platform_device *pdev)


	if (!devm_request_mem_region(&pdev->dev,
	if (!devm_request_mem_region(&pdev->dev,
				     r->start,
				     r->start,
				     r->end - r->start + 1,
				     resource_size(r),
				     pdata->name)) {
				     pdata->name)) {
		printk(KERN_ERR "%s: Error while request mem region\n",
		printk(KERN_ERR "%s: Error while request mem region\n",
		       __func__);
		       __func__);
@@ -316,7 +316,7 @@ static int __devinit mv64x60_sram_err_probe(struct platform_device *pdev)


	pdata->sram_vbase = devm_ioremap(&pdev->dev,
	pdata->sram_vbase = devm_ioremap(&pdev->dev,
					 r->start,
					 r->start,
					 r->end - r->start + 1);
					 resource_size(r));
	if (!pdata->sram_vbase) {
	if (!pdata->sram_vbase) {
		printk(KERN_ERR "%s: Unable to setup SRAM err regs\n",
		printk(KERN_ERR "%s: Unable to setup SRAM err regs\n",
		       __func__);
		       __func__);
@@ -474,7 +474,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)


	if (!devm_request_mem_region(&pdev->dev,
	if (!devm_request_mem_region(&pdev->dev,
				     r->start,
				     r->start,
				     r->end - r->start + 1,
				     resource_size(r),
				     pdata->name)) {
				     pdata->name)) {
		printk(KERN_ERR "%s: Error while requesting mem region\n",
		printk(KERN_ERR "%s: Error while requesting mem region\n",
		       __func__);
		       __func__);
@@ -484,7 +484,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)


	pdata->cpu_vbase[0] = devm_ioremap(&pdev->dev,
	pdata->cpu_vbase[0] = devm_ioremap(&pdev->dev,
					   r->start,
					   r->start,
					   r->end - r->start + 1);
					   resource_size(r));
	if (!pdata->cpu_vbase[0]) {
	if (!pdata->cpu_vbase[0]) {
		printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__);
		printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__);
		res = -ENOMEM;
		res = -ENOMEM;
@@ -501,7 +501,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)


	if (!devm_request_mem_region(&pdev->dev,
	if (!devm_request_mem_region(&pdev->dev,
				     r->start,
				     r->start,
				     r->end - r->start + 1,
				     resource_size(r),
				     pdata->name)) {
				     pdata->name)) {
		printk(KERN_ERR "%s: Error while requesting mem region\n",
		printk(KERN_ERR "%s: Error while requesting mem region\n",
		       __func__);
		       __func__);
@@ -511,7 +511,7 @@ static int __devinit mv64x60_cpu_err_probe(struct platform_device *pdev)


	pdata->cpu_vbase[1] = devm_ioremap(&pdev->dev,
	pdata->cpu_vbase[1] = devm_ioremap(&pdev->dev,
					   r->start,
					   r->start,
					   r->end - r->start + 1);
					   resource_size(r));
	if (!pdata->cpu_vbase[1]) {
	if (!pdata->cpu_vbase[1]) {
		printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__);
		printk(KERN_ERR "%s: Unable to setup CPU err regs\n", __func__);
		res = -ENOMEM;
		res = -ENOMEM;
@@ -726,7 +726,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev)


	if (!devm_request_mem_region(&pdev->dev,
	if (!devm_request_mem_region(&pdev->dev,
				     r->start,
				     r->start,
				     r->end - r->start + 1,
				     resource_size(r),
				     pdata->name)) {
				     pdata->name)) {
		printk(KERN_ERR "%s: Error while requesting mem region\n",
		printk(KERN_ERR "%s: Error while requesting mem region\n",
		       __func__);
		       __func__);
@@ -736,7 +736,7 @@ static int __devinit mv64x60_mc_err_probe(struct platform_device *pdev)


	pdata->mc_vbase = devm_ioremap(&pdev->dev,
	pdata->mc_vbase = devm_ioremap(&pdev->dev,
				       r->start,
				       r->start,
				       r->end - r->start + 1);
				       resource_size(r));
	if (!pdata->mc_vbase) {
	if (!pdata->mc_vbase) {
		printk(KERN_ERR "%s: Unable to setup MC err regs\n", __func__);
		printk(KERN_ERR "%s: Unable to setup MC err regs\n", __func__);
		res = -ENOMEM;
		res = -ENOMEM;