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@xxxxxxxxxxxxxxxx. > > 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