summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorChunwei Chen <tuxoko@gmail.com>2014-04-23 12:35:09 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-06-07 13:25:40 -0700
commita757a4e215574f2c92fc990275fa5e02159771e1 (patch)
treede2d29cefe83ba059411276745a9f6145ee19d2f /arch
parent534cc5572c710370d2bfe4e6b382950fd52c2c00 (diff)
downloadlinux-3.10-a757a4e215574f2c92fc990275fa5e02159771e1.tar.gz
linux-3.10-a757a4e215574f2c92fc990275fa5e02159771e1.tar.bz2
linux-3.10-a757a4e215574f2c92fc990275fa5e02159771e1.zip
libceph: fix corruption when using page_count 0 page in rbd
commit 178eda29ca721842f2146378e73d43e0044c4166 upstream. It has been reported that using ZFSonLinux on rbd will result in memory corruption. The bug report can be found here: https://github.com/zfsonlinux/spl/issues/241 http://tracker.ceph.com/issues/7790 The reason is that ZFS will send pages with page_count 0 into rbd, which in turns send them to tcp_sendpage. However, tcp_sendpage cannot deal with page_count 0, as it will do get_page and put_page, and erroneously free the page. This type of issue has been noted before, and handled in iscsi, drbd, etc. So, rbd should also handle this. This fix address this issue by fall back to slower sendmsg when page_count 0 detected. Cc: Sage Weil <sage@inktank.com> Cc: Yehuda Sadeh <yehuda@inktank.com> Signed-off-by: Chunwei Chen <tuxoko@gmail.com> Reviewed-by: Ilya Dryomov <ilya.dryomov@inktank.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions