sunvdc: limit each sg segment to a page
authorDwight Engen <dwight.engen@oracle.com>
Fri, 19 Sep 2014 13:42:53 +0000 (09:42 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 21 Nov 2014 17:22:52 +0000 (09:22 -0800)
commit5cf61378accedc6acd5923f3b00bc945be1a9d29
tree92dd3dc69f25abd74ee7a1af35898a3fa758493c
parent9e23c21149bfdc57aa9d9a35821994dfb0253c40
sunvdc: limit each sg segment to a page

[ Upstream commit 5eed69ffd248c9f68f56c710caf07db134aef28b ]

ldc_map_sg() could fail its check that the number of pages referred to
by the sg scatterlist was <= the number of cookies.

This fixes the issue by doing a similar thing to the xen-blkfront driver,
ensuring that the scatterlist will only ever contain a segment count <=
port->ring_cookies, and each segment will be page aligned, and <= page
size. This ensures that the scatterlist is always mappable.

Orabug: 19347817
OraBZ: 15945

Signed-off-by: Dwight Engen <dwight.engen@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/block/sunvdc.c