aboutsummaryrefslogtreecommitdiff
path: root/include/linux/loop.h
diff options
context:
space:
mode:
authorIlya Dryomov <idryomov@gmail.com>2015-10-11 19:38:00 +0200
committerMoyster <oysterized@gmail.com>2016-08-26 20:46:25 +0200
commit1dff4a87b3a8d5060a952173ffc7172fcaf2a325 (patch)
treec3192b71fa6e915bc4d1278b912e25dc590bf03f /include/linux/loop.h
parentf520c16bccc50a998eb7b5a0e6b87c11bf2b774f (diff)
rbd: prevent kernel stack blow up on rbd map
commit 6d69bb536bac0d403d83db1ca841444981b280cd upstream. Mapping an image with a long parent chain (e.g. image foo, whose parent is bar, whose parent is baz, etc) currently leads to a kernel stack overflow, due to the following recursion in the reply path: rbd_osd_req_callback() rbd_obj_request_complete() rbd_img_obj_callback() rbd_img_parent_read_callback() rbd_obj_request_complete() ... Limit the parent chain to 16 images, which is ~5K worth of stack. When the above recursion is eliminated, this limit can be lifted. Fixes: http://tracker.ceph.com/issues/12538 Signed-off-by: Ilya Dryomov <idryomov@gmail.com> Reviewed-by: Josh Durgin <jdurgin@redhat.com> [idryomov@gmail.com: backport to 3.10: rbd_dev->opts, context] Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Stefan Guendhoer <stefan@guendhoer.com>
Diffstat (limited to 'include/linux/loop.h')
0 files changed, 0 insertions, 0 deletions