On 06/06/2012 03:03 AM, Yan, Zheng wrote:
> From: "Yan, Zheng" <[email protected]>
> 
> The bug can cause NULL pointer dereference in write_partial_msg_pages

Although this looks simple enough, I want to study it a little more
before committing it.  I've been wanting to walk through this bit
of code anyway so I'll do that today.

One quick observation though:  m->bio_iter really ought to be
initialized only within #ifdef CONFIG_BLOCK (although I see it's
defined without it in the structure definition).  At some point
I'll put together a cleanup patch to do that everywhere; feel free
to do that yourself if you are so inclined.

                                        -Alex

> Signed-off-by: Zheng Yan <[email protected]>
> ---
>  net/ceph/messenger.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
> index 1a80907..785b953 100644
> --- a/net/ceph/messenger.c
> +++ b/net/ceph/messenger.c
> @@ -598,6 +598,7 @@ static void prepare_write_message(struct ceph_connection 
> *con)
>            le32_to_cpu(con->out_msg->footer.front_crc),
>            le32_to_cpu(con->out_msg->footer.middle_crc));
>  
> +     m->bio_iter = NULL;
>       /* is there a data payload? */
>       if (le32_to_cpu(m->hdr.data_len) > 0) {
>               /* initialize page iterator */

--
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

Reply via email to