Re: [PATCH resend 4.9] hw_random: Don't use a stack buffer in add_early_randomness()

From: Yisheng Xie
Date: Sat Feb 04 2017 - 05:33:46 EST


hi, Matt,
Thanks for your reply.

On 2017/2/4 12:34, Matt Mullins wrote:
> On Sat, Feb 04, 2017 at 11:47:38AM +0800, Yisheng Xie wrote:
>> On 2016/10/18 1:06, Andy Lutomirski wrote:
>>> hw_random carefully avoids using a stack buffer except in
>>> add_early_randomness(). This causes a crash in virtio_rng if
>>> CONFIG_VMAP_STACK=y.
>> I try to understand this patch, but I do not know why it will cause
>> a crash in virtio_rng with CONFIG_VMAP_STACK=y?
>> Could you please give me more info. about it.
>
> My original report was
> https://lkml.kernel.org/r/20161016002151.GA18235@xxxxxxxxxxxxxxxxx
>
> The virtio ring APIs use scatterlists to keep track of the buffers, and
> scatterlist requires addresses to be in the kernel direct-mapped address range.
> This is not the case for vmalloc()ed addresses, such as the original on-stack
> "bytes" array when VMAP_STACK=y.
>
I see, and will check the logic to get more detail about it.

Thanks.
Yisheng Xie