2011-03-26 18:29:44

by Mariusz Kozlowski

[permalink] [raw]
Subject: [PATCH] ceph: fix possible NULL pointer dereference

This patch fixes 'event_work' dereference before it is checked for NULL.

Signed-off-by: Mariusz Kozlowski <[email protected]>
---
net/ceph/osd_client.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
index 02212ed..b6776cb 100644
--- a/net/ceph/osd_client.c
+++ b/net/ceph/osd_client.c
@@ -1602,11 +1602,11 @@ void handle_watch_notify(struct ceph_osd_client *osdc, struct ceph_msg *msg)
cookie, ver, event);
if (event) {
event_work = kmalloc(sizeof(*event_work), GFP_NOIO);
- INIT_WORK(&event_work->work, do_event_work);
if (!event_work) {
dout("ERROR: could not allocate event_work\n");
goto done_err;
}
+ INIT_WORK(&event_work->work, do_event_work);
event_work->event = event;
event_work->ver = ver;
event_work->notify_id = notify_id;
--
1.7.0.4


2011-03-26 20:45:17

by Sage Weil

[permalink] [raw]
Subject: Re: [PATCH] ceph: fix possible NULL pointer dereference

Applied, thanks!

sage


On Sat, 26 Mar 2011, Mariusz Kozlowski wrote:

> This patch fixes 'event_work' dereference before it is checked for NULL.
>
> Signed-off-by: Mariusz Kozlowski <[email protected]>
> ---
> net/ceph/osd_client.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c
> index 02212ed..b6776cb 100644
> --- a/net/ceph/osd_client.c
> +++ b/net/ceph/osd_client.c
> @@ -1602,11 +1602,11 @@ void handle_watch_notify(struct ceph_osd_client *osdc, struct ceph_msg *msg)
> cookie, ver, event);
> if (event) {
> event_work = kmalloc(sizeof(*event_work), GFP_NOIO);
> - INIT_WORK(&event_work->work, do_event_work);
> if (!event_work) {
> dout("ERROR: could not allocate event_work\n");
> goto done_err;
> }
> + INIT_WORK(&event_work->work, do_event_work);
> event_work->event = event;
> event_work->ver = ver;
> event_work->notify_id = notify_id;
> --
> 1.7.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>