* [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree()
@ 2012-09-12 12:55 ` Peter Senna Tschudin
0 siblings, 0 replies; 10+ messages in thread
From: Peter Senna Tschudin @ 2012-09-12 12:55 UTC (permalink / raw)
To: Mauro Carvalho Chehab; +Cc: kernel-janitors, linux-media, linux-kernel
From: Peter Senna Tschudin <peter.senna@gmail.com>
Remove useless kfree() and clean up code related to the removal.
The semantic patch that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r exists@
position p1,p2;
expression x;
@@
if (x@p1 = NULL) { ... kfree@p2(x); ... return ...; }
@unchanged exists@
position r.p1,r.p2;
expression e <= r.x,x,e1;
iterator I;
statement S;
@@
if (x@p1 = NULL) { ... when != I(x,...) S
when != e = e1
when != e += e1
when != e -= e1
when != ++e
when != --e
when != e++
when != e--
when != &e
kfree@p2(x); ... return ...; }
@ok depends on unchanged exists@
position any r.p1;
position r.p2;
expression x;
@@
... when != true x@p1 = NULL
kfree@p2(x);
@depends on !ok && unchanged@
position r.p2;
expression x;
@@
*kfree@p2(x);
// </smpl>
Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
---
drivers/media/platform/davinci/vpbe.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/media/platform/davinci/vpbe.c b/drivers/media/platform/davinci/vpbe.c
index c4a82a1..1125a87 100644
--- a/drivers/media/platform/davinci/vpbe.c
+++ b/drivers/media/platform/davinci/vpbe.c
@@ -771,7 +771,6 @@ static int vpbe_initialize(struct device *dev, struct vpbe_device *vpbe_dev)
return 0;
vpbe_fail_amp_register:
- kfree(vpbe_dev->amp);
vpbe_fail_sd_register:
kfree(vpbe_dev->encoders);
vpbe_fail_v4l2_device:
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() @ 2012-09-12 12:55 ` Peter Senna Tschudin 0 siblings, 0 replies; 10+ messages in thread From: Peter Senna Tschudin @ 2012-09-12 12:55 UTC (permalink / raw) To: Mauro Carvalho Chehab; +Cc: kernel-janitors, linux-media, linux-kernel From: Peter Senna Tschudin <peter.senna@gmail.com> Remove useless kfree() and clean up code related to the removal. The semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @r exists@ position p1,p2; expression x; @@ if (x@p1 == NULL) { ... kfree@p2(x); ... return ...; } @unchanged exists@ position r.p1,r.p2; expression e <= r.x,x,e1; iterator I; statement S; @@ if (x@p1 == NULL) { ... when != I(x,...) S when != e = e1 when != e += e1 when != e -= e1 when != ++e when != --e when != e++ when != e-- when != &e kfree@p2(x); ... return ...; } @ok depends on unchanged exists@ position any r.p1; position r.p2; expression x; @@ ... when != true x@p1 == NULL kfree@p2(x); @depends on !ok && unchanged@ position r.p2; expression x; @@ *kfree@p2(x); // </smpl> Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com> --- drivers/media/platform/davinci/vpbe.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/media/platform/davinci/vpbe.c b/drivers/media/platform/davinci/vpbe.c index c4a82a1..1125a87 100644 --- a/drivers/media/platform/davinci/vpbe.c +++ b/drivers/media/platform/davinci/vpbe.c @@ -771,7 +771,6 @@ static int vpbe_initialize(struct device *dev, struct vpbe_device *vpbe_dev) return 0; vpbe_fail_amp_register: - kfree(vpbe_dev->amp); vpbe_fail_sd_register: kfree(vpbe_dev->encoders); vpbe_fail_v4l2_device: ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() 2012-09-12 12:55 ` Peter Senna Tschudin @ 2012-09-12 13:34 ` Marcos Souza -1 siblings, 0 replies; 10+ messages in thread From: Marcos Souza @ 2012-09-12 13:34 UTC (permalink / raw) To: Peter Senna Tschudin Cc: Mauro Carvalho Chehab, kernel-janitors, linux-media, linux-kernel 2012/9/12 Peter Senna Tschudin <peter.senna@gmail.com>: > From: Peter Senna Tschudin <peter.senna@gmail.com> > > Remove useless kfree() and clean up code related to the removal. > > The semantic patch that finds this problem is as follows: > (http://coccinelle.lip6.fr/) > > // <smpl> > @r exists@ > position p1,p2; > expression x; > @@ > > if (x@p1 = NULL) { ... kfree@p2(x); ... return ...; } > > @unchanged exists@ > position r.p1,r.p2; > expression e <= r.x,x,e1; > iterator I; > statement S; > @@ > > if (x@p1 = NULL) { ... when != I(x,...) S > when != e = e1 > when != e += e1 > when != e -= e1 > when != ++e > when != --e > when != e++ > when != e-- > when != &e > kfree@p2(x); ... return ...; } > > @ok depends on unchanged exists@ > position any r.p1; > position r.p2; > expression x; > @@ > > ... when != true x@p1 = NULL > kfree@p2(x); > > @depends on !ok && unchanged@ > position r.p2; > expression x; > @@ > > *kfree@p2(x); > // </smpl> > > Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com> > > --- > drivers/media/platform/davinci/vpbe.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/media/platform/davinci/vpbe.c b/drivers/media/platform/davinci/vpbe.c > index c4a82a1..1125a87 100644 > --- a/drivers/media/platform/davinci/vpbe.c > +++ b/drivers/media/platform/davinci/vpbe.c > @@ -771,7 +771,6 @@ static int vpbe_initialize(struct device *dev, struct vpbe_device *vpbe_dev) > return 0; > > vpbe_fail_amp_register: > - kfree(vpbe_dev->amp); Now that you removed this kfree, you could remove this label too. Very nice your cleanup :) > vpbe_fail_sd_register: > kfree(vpbe_dev->encoders); > vpbe_fail_v4l2_device: > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Att, Marcos Paulo de Souza Acadêmico de Ciencia da Computação - FURB - SC "Uma vida sem desafios é uma vida sem razão" "A life without challenges, is a non reason life" -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() @ 2012-09-12 13:34 ` Marcos Souza 0 siblings, 0 replies; 10+ messages in thread From: Marcos Souza @ 2012-09-12 13:34 UTC (permalink / raw) To: Peter Senna Tschudin Cc: Mauro Carvalho Chehab, kernel-janitors, linux-media, linux-kernel 2012/9/12 Peter Senna Tschudin <peter.senna@gmail.com>: > From: Peter Senna Tschudin <peter.senna@gmail.com> > > Remove useless kfree() and clean up code related to the removal. > > The semantic patch that finds this problem is as follows: > (http://coccinelle.lip6.fr/) > > // <smpl> > @r exists@ > position p1,p2; > expression x; > @@ > > if (x@p1 == NULL) { ... kfree@p2(x); ... return ...; } > > @unchanged exists@ > position r.p1,r.p2; > expression e <= r.x,x,e1; > iterator I; > statement S; > @@ > > if (x@p1 == NULL) { ... when != I(x,...) S > when != e = e1 > when != e += e1 > when != e -= e1 > when != ++e > when != --e > when != e++ > when != e-- > when != &e > kfree@p2(x); ... return ...; } > > @ok depends on unchanged exists@ > position any r.p1; > position r.p2; > expression x; > @@ > > ... when != true x@p1 == NULL > kfree@p2(x); > > @depends on !ok && unchanged@ > position r.p2; > expression x; > @@ > > *kfree@p2(x); > // </smpl> > > Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com> > > --- > drivers/media/platform/davinci/vpbe.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/drivers/media/platform/davinci/vpbe.c b/drivers/media/platform/davinci/vpbe.c > index c4a82a1..1125a87 100644 > --- a/drivers/media/platform/davinci/vpbe.c > +++ b/drivers/media/platform/davinci/vpbe.c > @@ -771,7 +771,6 @@ static int vpbe_initialize(struct device *dev, struct vpbe_device *vpbe_dev) > return 0; > > vpbe_fail_amp_register: > - kfree(vpbe_dev->amp); Now that you removed this kfree, you could remove this label too. Very nice your cleanup :) > vpbe_fail_sd_register: > kfree(vpbe_dev->encoders); > vpbe_fail_v4l2_device: > > -- > To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Att, Marcos Paulo de Souza Acadêmico de Ciencia da Computação - FURB - SC "Uma vida sem desafios é uma vida sem razão" "A life without challenges, is a non reason life" ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() 2012-09-12 13:34 ` Marcos Souza @ 2012-09-12 15:50 ` Peter Senna Tschudin -1 siblings, 0 replies; 10+ messages in thread From: Peter Senna Tschudin @ 2012-09-12 15:50 UTC (permalink / raw) To: Marcos Souza Cc: Mauro Carvalho Chehab, kernel-janitors, linux-media, linux-kernel Marcos, > Now that you removed this kfree, you could remove this label too. Very > nice your cleanup :) Thanks! > >> vpbe_fail_sd_register: >> kfree(vpbe_dev->encoders); >> vpbe_fail_v4l2_device: The problem removing the label is that it will require some more work naming the labels. See: if (!vpbe_dev->amp) { ... goto vpbe_fail_amp_register; If I just remove the label vpbe_fail_amp_register, the label names will not make sense any more as the next label is vpbe_fail_sd_register. So I will need to change the name to something different or rename all labels to out1, out2, out3 or err1, err2, err3, or .... Any suggestions? -- Peter ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() @ 2012-09-12 15:50 ` Peter Senna Tschudin 0 siblings, 0 replies; 10+ messages in thread From: Peter Senna Tschudin @ 2012-09-12 15:50 UTC (permalink / raw) To: Marcos Souza Cc: Mauro Carvalho Chehab, kernel-janitors, linux-media, linux-kernel Marcos, > Now that you removed this kfree, you could remove this label too. Very > nice your cleanup :) Thanks! > >> vpbe_fail_sd_register: >> kfree(vpbe_dev->encoders); >> vpbe_fail_v4l2_device: The problem removing the label is that it will require some more work naming the labels. See: if (!vpbe_dev->amp) { ... goto vpbe_fail_amp_register; If I just remove the label vpbe_fail_amp_register, the label names will not make sense any more as the next label is vpbe_fail_sd_register. So I will need to change the name to something different or rename all labels to out1, out2, out3 or err1, err2, err3, or .... Any suggestions? -- Peter ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() 2012-09-12 15:50 ` Peter Senna Tschudin @ 2012-09-12 16:10 ` Marcos Souza -1 siblings, 0 replies; 10+ messages in thread From: Marcos Souza @ 2012-09-12 16:10 UTC (permalink / raw) To: Peter Senna Tschudin Cc: Mauro Carvalho Chehab, kernel-janitors, linux-media, linux-kernel Hi Peter, 2012/9/12 Peter Senna Tschudin <peter.senna@gmail.com>: > Marcos, > >> Now that you removed this kfree, you could remove this label too. Very >> nice your cleanup :) > Thanks! > >> >>> vpbe_fail_sd_register: >>> kfree(vpbe_dev->encoders); >>> vpbe_fail_v4l2_device: > > The problem removing the label is that it will require some more work > naming the labels. See: > if (!vpbe_dev->amp) { > ... > goto vpbe_fail_amp_register; > > If I just remove the label vpbe_fail_amp_register, the label names > will not make sense any more as the next label is > vpbe_fail_sd_register. So I will need to change the name to something > different or rename all labels to out1, out2, out3 or err1, err2, > err3, or .... I was looking at the code here, but this code is under drivers/media/video/davince/vpbe.c.... Are you using the Linus tree? BTW, this label is only used once. AFAICS, you can GOTO to the next label, vpbe_fail_sd_register in this case, who frees another member of the vpbe_dev. This make sense to you? > Any suggestions? > > -- > Peter -- Att, Marcos Paulo de Souza Acadêmico de Ciencia da Computação - FURB - SC "Uma vida sem desafios é uma vida sem razão" "A life without challenges, is a non reason life" -- To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() @ 2012-09-12 16:10 ` Marcos Souza 0 siblings, 0 replies; 10+ messages in thread From: Marcos Souza @ 2012-09-12 16:10 UTC (permalink / raw) To: Peter Senna Tschudin Cc: Mauro Carvalho Chehab, kernel-janitors, linux-media, linux-kernel Hi Peter, 2012/9/12 Peter Senna Tschudin <peter.senna@gmail.com>: > Marcos, > >> Now that you removed this kfree, you could remove this label too. Very >> nice your cleanup :) > Thanks! > >> >>> vpbe_fail_sd_register: >>> kfree(vpbe_dev->encoders); >>> vpbe_fail_v4l2_device: > > The problem removing the label is that it will require some more work > naming the labels. See: > if (!vpbe_dev->amp) { > ... > goto vpbe_fail_amp_register; > > If I just remove the label vpbe_fail_amp_register, the label names > will not make sense any more as the next label is > vpbe_fail_sd_register. So I will need to change the name to something > different or rename all labels to out1, out2, out3 or err1, err2, > err3, or .... I was looking at the code here, but this code is under drivers/media/video/davince/vpbe.c.... Are you using the Linus tree? BTW, this label is only used once. AFAICS, you can GOTO to the next label, vpbe_fail_sd_register in this case, who frees another member of the vpbe_dev. This make sense to you? > Any suggestions? > > -- > Peter -- Att, Marcos Paulo de Souza Acadêmico de Ciencia da Computação - FURB - SC "Uma vida sem desafios é uma vida sem razão" "A life without challenges, is a non reason life" ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() 2012-09-12 15:50 ` Peter Senna Tschudin @ 2012-09-12 17:25 ` Dan Carpenter -1 siblings, 0 replies; 10+ messages in thread From: Dan Carpenter @ 2012-09-12 17:25 UTC (permalink / raw) To: Peter Senna Tschudin Cc: Marcos Souza, Mauro Carvalho Chehab, kernel-janitors, linux-media, linux-kernel On Wed, Sep 12, 2012 at 05:50:54PM +0200, Peter Senna Tschudin wrote: > Marcos, > > > Now that you removed this kfree, you could remove this label too. Very > > nice your cleanup :) > Thanks! > > > > >> vpbe_fail_sd_register: > >> kfree(vpbe_dev->encoders); > >> vpbe_fail_v4l2_device: > > The problem removing the label is that it will require some more work > naming the labels. See: > if (!vpbe_dev->amp) { > ... > goto vpbe_fail_amp_register; > > If I just remove the label vpbe_fail_amp_register, the label names > will not make sense any more as the next label is > vpbe_fail_sd_register. So I will need to change the name to something > different or rename all labels to out1, out2, out3 or err1, err2, > err3, or .... > > Any suggestions? Labal names should not be numbers because this is not GW-BASIC. The label should reflect what happens on the next line. Labeling the place after the goto location where you started from is always nonsense. regards, dan carpenter ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() @ 2012-09-12 17:25 ` Dan Carpenter 0 siblings, 0 replies; 10+ messages in thread From: Dan Carpenter @ 2012-09-12 17:25 UTC (permalink / raw) To: Peter Senna Tschudin Cc: Marcos Souza, Mauro Carvalho Chehab, kernel-janitors, linux-media, linux-kernel On Wed, Sep 12, 2012 at 05:50:54PM +0200, Peter Senna Tschudin wrote: > Marcos, > > > Now that you removed this kfree, you could remove this label too. Very > > nice your cleanup :) > Thanks! > > > > >> vpbe_fail_sd_register: > >> kfree(vpbe_dev->encoders); > >> vpbe_fail_v4l2_device: > > The problem removing the label is that it will require some more work > naming the labels. See: > if (!vpbe_dev->amp) { > ... > goto vpbe_fail_amp_register; > > If I just remove the label vpbe_fail_amp_register, the label names > will not make sense any more as the next label is > vpbe_fail_sd_register. So I will need to change the name to something > different or rename all labels to out1, out2, out3 or err1, err2, > err3, or .... > > Any suggestions? Labal names should not be numbers because this is not GW-BASIC. The label should reflect what happens on the next line. Labeling the place after the goto location where you started from is always nonsense. regards, dan carpenter ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2012-09-12 17:26 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-09-12 12:55 [PATCH v2 7/8] drivers/media/platform/davinci/vpbe.c: Removes useless kfree() Peter Senna Tschudin 2012-09-12 12:55 ` Peter Senna Tschudin 2012-09-12 13:34 ` Marcos Souza 2012-09-12 13:34 ` Marcos Souza 2012-09-12 15:50 ` Peter Senna Tschudin 2012-09-12 15:50 ` Peter Senna Tschudin 2012-09-12 16:10 ` Marcos Souza 2012-09-12 16:10 ` Marcos Souza 2012-09-12 17:25 ` Dan Carpenter 2012-09-12 17:25 ` Dan Carpenter
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.