From: Al Viro Date: Fri, 4 Apr 2014 02:44:19 +0000 (-0400) Subject: ceph_sync_{,direct_}write: fix an oops on ceph_osdc_new_request() failure X-Git-Tag: v3.15-rc1~16^2~2 X-Git-Url: http://git.agner.ch/gitweb/?p=linux.git;a=commitdiff_plain;h=eab87235c0f5979503a547f836a93a3d327c4201 ceph_sync_{,direct_}write: fix an oops on ceph_osdc_new_request() failure ceph_osdc_put_request(ERR_PTR(-error)) oopses. What we want there is break, not goto out. Signed-off-by: Al Viro --- diff --git a/fs/ceph/file.c b/fs/ceph/file.c index 2d9088b1bcd9..359805b671b9 100644 --- a/fs/ceph/file.c +++ b/fs/ceph/file.c @@ -600,7 +600,7 @@ ceph_sync_direct_write(struct kiocb *iocb, const struct iovec *iov, false); if (IS_ERR(req)) { ret = PTR_ERR(req); - goto out; + break; } num_pages = calc_pages_for(page_align, len); @@ -718,7 +718,7 @@ static ssize_t ceph_sync_write(struct kiocb *iocb, const struct iovec *iov, false); if (IS_ERR(req)) { ret = PTR_ERR(req); - goto out; + break; } /*