diff options
author | Sage Weil <sage@inktank.com> | 2013-03-27 12:59:41 -0700 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-03-27 13:22:09 -0700 |
commit | 6b6e0cef99e66b46ade35ab262f071982049bc22 (patch) | |
tree | a72301ef2fc6eab0a6ea2db21bc0b3de3e806412 | |
parent | 4bdd37495cedb1cf30a5311548492fe3f5db6e92 (diff) | |
download | ceph-6b6e0cef99e66b46ade35ab262f071982049bc22.tar.gz |
osd: EINVAL when rmw_flags is 0
A broken client (e.g., v0.56) can send a request that ends up with an
rmw_flags of 0. Treat this as invalid and return EINVAL.
Fixes: #4556
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit f2dda43c9ed4fda9cfa87362514985ee79e0ae15)
-rw-r--r-- | src/osd/OSD.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index e173f5e7517..c0e5cf217e6 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -6340,5 +6340,8 @@ int OSD::init_op_flags(MOSDOp *op) } } + if (op->rmw_flags == 0) + return -EINVAL; + return 0; } |