[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <500FF656.6000203@redhat.com>
Date: Wed, 25 Jul 2012 15:36:22 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Boaz Harrosh <bharrosh@...asas.com>
CC: Wang Sen <senwang@...ux.vnet.ibm.com>, linux-scsi@...r.kernel.org,
JBottomley@...allels.com, stefanha@...ux.vnet.ibm.com,
mc@...ux.vnet.ibm.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] scsi: virtio-scsi: Fix address translation failure of
HighMem pages used by sg list
Il 25/07/2012 15:26, Boaz Harrosh ha scritto:
> On 07/25/2012 03:49 PM, Paolo Bonzini wrote:
>
>>
>> Except here the destination array has to be given to virtio, which
>> doesn't (yet) understand chaining. I'm using for_each_sg rather than a
>> simple memcpy exactly because I want to flatten the input scatterlist
>> onto consecutive scatterlist entries, which is what virtio expects (and
>> what I'll change when I get to it).
>>
>> for_each_sg guarantees that I get non-chain scatterlists only, so it is
>> okay to value-assign them to sg[].
>
> So if the virtio does not understand chaining at all then surly it will
> not understand the 2-bit end marker and will get a wrong page pointer
> with the 1st bit set.
It doesn't understand chaining, but it does use sg_phys(x) so it will
not get a wrong page pointer for the end marker.
> Fine then your code is now a crash because the terminating bit was just
> copied over, which it was not before.
I did test the patch with value-assignment.
> Lets separate the two topics from now on. Send me one mail concerning
> the proper above patch, And a different mail for how to support chaining.
Ok, and I'll change the topic.
Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists