Skip to content

Commit

Permalink
block/blk-tag.c: Remove useless kfree
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
petersenna authored and axboe committed Sep 12, 2012
1 parent e32463b commit d41570b
Showing 1 changed file with 2 additions and 4 deletions.
6 changes: 2 additions & 4 deletions block/blk-tag.c
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,8 @@ int blk_queue_init_tags(struct request_queue *q, int depth,
tags = __blk_queue_init_tags(q, depth);

if (!tags)
goto fail;
return -ENOMEM;

} else if (q->queue_tags) {
rc = blk_queue_resize_tags(q, depth);
if (rc)
Expand All @@ -203,9 +204,6 @@ int blk_queue_init_tags(struct request_queue *q, int depth,
queue_flag_set_unlocked(QUEUE_FLAG_QUEUED, q);
INIT_LIST_HEAD(&q->tag_busy_list);
return 0;
fail:
kfree(tags);
return -ENOMEM;
}
EXPORT_SYMBOL(blk_queue_init_tags);

Expand Down

0 comments on commit d41570b

Please sign in to comment.