Re: [PATCH 22/25] io-controller: Per io group bdi congestion interface

From: Munehiro Ikeda
Date: Thu Jul 16 2009 - 20:19:32 EST


Hi,

Vivek Goyal wrote, on 07/02/2009 04:01 PM:
> diff --git a/block/blk-core.c b/block/blk-core.c
> index 2035c20..79fe6a9 100644
> --- a/block/blk-core.c
> +++ b/block/blk-core.c
> @@ -90,6 +90,27 @@ void blk_queue_congestion_threshold(struct request_queue *q)
> q->nr_congestion_off = nr;
> }
>
> +#ifdef CONFIG_GROUP_IOSCHED
> +int blk_queue_io_group_congested(struct backing_dev_info *bdi, int bdi_bits,
> + struct page *page)
> +{
> + int ret = 0;
> + struct request_queue *q = bdi->unplug_io_data;
> +
> + if (!q&& !q->elevator)
> + return bdi_congested(bdi, bdi_bits);

It causes NULL pointer dereference for brd etc.

Signed-off-by: Munehiro "Muuhh" Ikeda <m-ikeda@xxxxxxxxxxxxx>
---
block/blk-core.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/block/blk-core.c b/block/blk-core.c
index 79fe6a9..39fab66 100644
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -97,7 +97,7 @@ int blk_queue_io_group_congested(struct backing_dev_info *bdi, int bdi_bits,
int ret = 0;
struct request_queue *q = bdi->unplug_io_data;

- if (!q && !q->elevator)
+ if (!q || !q->elevator)
return bdi_congested(bdi, bdi_bits);

/* Do we need to hold queue lock? */
--
1.6.2.5


--
IKEDA, Munehiro
NEC Corporation of America
m-ikeda@xxxxxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/