[Cbe-oss-dev] [patch] ps3disk: passing wrong variable to bvec_kunmap_irq()

Geert Uytterhoeven geert at linux-m68k.org
Sun Oct 17 06:39:43 EST 2010


On Mon, Oct 11, 2010 at 21:42, Jens Axboe <jaxboe at fusionio.com> wrote:
> On 2010-10-11 21:13, Dan Carpenter wrote:
>> This should pass "buf" to bvec_kunmap_irq() instead of "bv".  The api is
>> like kmap_atomic() instead of kmap().
>>
>> Signed-off-by: Dan Carpenter <error27 at gmail.com>
>>
>> diff --git a/drivers/block/ps3disk.c b/drivers/block/ps3disk.c
>> index e9da874..03688c2 100644
>> --- a/drivers/block/ps3disk.c
>> +++ b/drivers/block/ps3disk.c
>> @@ -113,7 +113,7 @@ static void ps3disk_scatter_gather(struct ps3_storage_device *dev,
>>                       memcpy(buf, dev->bounce_buf+offset, size);
>>               offset += size;
>>               flush_kernel_dcache_page(bvec->bv_page);
>> -             bvec_kunmap_irq(bvec, &flags);
>> +             bvec_kunmap_irq(buf, &flags);
>>               i++;
>>       }
>>  }
>
> Thanks applied, that bug is all too common.

Because  bvec_kunmap_irq() is a macro if !CONFIG_HIGHMEM, and thus there's no
argument type checking on e.g. pp64, which doesn't support HIGHMEM?

What about turning it into an inline function?

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


More information about the cbe-oss-dev mailing list