2009-12-27 21:27:22

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 2/5] drivers/block: Correct NULL test

From: Julia Lawall <[email protected]>

Test the just-allocated value for NULL rather than some other value.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression x,y;
statement S;
@@

x = \(kmalloc\|kcalloc\|kzalloc\)(...);
(
if ((x) == NULL) S
|
if (
- y
+ x
== NULL)
S
)
// </smpl>

Signed-off-by: Julia Lawall <[email protected]>

---
drivers/block/drbd/drbd_receiver.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -u -p a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -3944,7 +3944,7 @@ static int drbd_do_auth(struct drbd_conf
}

right_response = kmalloc(resp_size, GFP_NOIO);
- if (response == NULL) {
+ if (right_response == NULL) {
dev_err(DEV, "kmalloc of right_response failed\n");
rv = 0;
goto fail;


2010-01-04 11:15:53

by Philipp Reisner

[permalink] [raw]
Subject: Re: [Drbd-dev] [PATCH 2/5] drivers/block: Correct NULL test

Hi,

The patch titeled "drivers/block: Correct NULL test" is in the
git://git.drbd.org/linux-2.6-drbd.git for-jens tree and will
flow upstream from there.

-Phil

Full quote:
> From: Julia Lawall <[email protected]>
>
> Test the just-allocated value for NULL rather than some other value.
>
> The semantic patch that makes this change is as follows:
> (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @@
> expression x,y;
> statement S;
> @@
>
> x = \(kmalloc\|kcalloc\|kzalloc\)(...);
> (
> if ((x) == NULL) S
>
> if (
> - y
> + x
> == NULL)
> S
> )
> // </smpl>
>
> Signed-off-by: Julia Lawall <[email protected]>
>
> ---
> drivers/block/drbd/drbd_receiver.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff -u -p a/drivers/block/drbd/drbd_receiver.c
> b/drivers/block/drbd/drbd_receiver.c ---
> a/drivers/block/drbd/drbd_receiver.c
> +++ b/drivers/block/drbd/drbd_receiver.c
> @@ -3944,7 +3944,7 @@ static int drbd_do_auth(struct drbd_conf
> }
>
> right_response = kmalloc(resp_size, GFP_NOIO);
> - if (response == NULL) {
> + if (right_response == NULL) {
> dev_err(DEV, "kmalloc of right_response failed\n");
> rv = 0;
> goto fail;