Bug #44288
MDSMap encoder "ev" (extended version) is not checked for validity when decoding
Status:
Won't Fix
Priority:
Normal
Assignee:
Category:
Correctness/Safety
Target version:
% Done:
0%
Source:
Development
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
MDS, MDSMonitor
Labels (FS):
task(easy), task(intern)
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
This is going to be a necessity as we try and enable rolling upgrades! We encode an extended version and use it to decide how much to decode, but for some reason we don't have any kind of compatibility check to see if we're allowed to look at the enclosed data or not. Compare this to OSDMap which actually nests ENCODE_START/DECODE_FINISH blocks. (we could totally do this; it's nice!)
I ran into this working on https://github.com/ceph/ceph/pull/33522 when I wanted to disallow any non-custom MDSes from looking at the data...
Related issues
History
#1 Updated by Patrick Donnelly about 4 years ago
- Status changed from New to Triaged
- Assignee set to Jos Collin
- Target version set to v16.0.0
- Source set to Development
#2 Updated by Jos Collin about 4 years ago
For later reference: https://github.com/ceph/ceph/blob/master/src/osd/OSDMap.cc#L555
#3 Updated by Jos Collin about 4 years ago
- Blocks Feature #41566: mds: support rolling upgrades added
#4 Updated by Jos Collin almost 4 years ago
- Status changed from Triaged to Fix Under Review
- Pull request ID set to 33835
#5 Updated by Patrick Donnelly over 3 years ago
- Status changed from Fix Under Review to Won't Fix