lkml.org 
[lkml]   [2006]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 10/13] scsi_lib.c: properly count the number of pages in scsi_req_map_sg()
    -stable review patch.  If anyone has any objections, please let us know.
    ------------------

    From: James Bottomley <jejb@mulgrave.il.steeleye.com>

    The calculation of nr_pages in scsi_req_map_sg() doesn't account for
    the fact that the first page could have an offset that pushes the end
    of the buffer onto a new page.

    Signed-off-by: Bryan Holty <lgeek@frontiernet.net>
    Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
    Signed-off-by: Chris Wright <chrisw@sous-sol.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    ---

    drivers/scsi/scsi_lib.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    --- linux-2.6.16.21.orig/drivers/scsi/scsi_lib.c
    +++ linux-2.6.16.21/drivers/scsi/scsi_lib.c
    @@ -368,7 +368,7 @@ static int scsi_req_map_sg(struct reques
    int nsegs, unsigned bufflen, gfp_t gfp)
    {
    struct request_queue *q = rq->q;
    - int nr_pages = (bufflen + PAGE_SIZE - 1) >> PAGE_SHIFT;
    + int nr_pages = (bufflen + sgl[0].offset + PAGE_SIZE - 1) >> PAGE_SHIFT;
    unsigned int data_len = 0, len, bytes, off;
    struct page *page;
    struct bio *bio = NULL;
    --
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2006-06-20 13:54    [W:0.020 / U:31.132 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site