Project

General

Profile

Bug #44288

MDSMap encoder "ev" (extended version) is not checked for validity when decoding

Added by Greg Farnum 4 months ago. Updated 3 months ago.

Status:
Fix Under Review
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:

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

Blocks fs - Feature #41566: mds: support rolling upgrades In Progress

History

#1 Updated by Patrick Donnelly 4 months ago

  • Status changed from New to Triaged
  • Assignee set to Jos Collin
  • Target version set to v16.0.0
  • Source set to Development

#3 Updated by Jos Collin 4 months ago

#4 Updated by Jos Collin 3 months ago

  • Status changed from Triaged to Fix Under Review
  • Pull request ID set to 33835

Also available in: Atom PDF