Project

General

Profile

Bug #18311

Decode errors on backtrace will crash MDS

Added by John Spray 10 months ago. Updated 9 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
-
Category:
fsck/damage handling
Target version:
Start date:
12/20/2016
Due date:
% Done:

0%

Source:
Tags:
Backport:
jewel, kraken
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Release:
Component(FS):
MDS
Needs Doc:
No

Description

Noticed by inspection:

void MDCache::_open_ino_backtrace_fetched(inodeno_t ino, bufferlist& bl, int err)
{
  dout(10) << "_open_ino_backtrace_fetched ino " << ino << " errno " << err << dendl;

  assert(opening_inodes.count(ino));
  open_ino_info_t& info = opening_inodes[ino];

  CInode *in = get_inode(ino);
  if (in) {
    dout(10) << " found cached " << *in << dendl;
    open_ino_finish(ino, info, in->authority().first);
    return;
  }

  inode_backtrace_t backtrace;
  if (err == 0) {
    ::decode(backtrace, bl);

That decode needs a try/catch!


Related issues

Copied to fs - Backport #18462: jewel: Decode errors on backtrace will crash MDS Resolved
Copied to fs - Backport #18463: kraken: Decode errors on backtrace will crash MDS Resolved

History

#1 Updated by John Spray 10 months ago

  • Status changed from New to Need Review

#2 Updated by John Spray 10 months ago

  • Status changed from Need Review to Pending Backport
  • Backport set to jewel kraken

#3 Updated by Nathan Cutler 10 months ago

  • Backport changed from jewel kraken to jewel, kraken

#4 Updated by Nathan Cutler 10 months ago

  • Copied to Backport #18462: jewel: Decode errors on backtrace will crash MDS added

#5 Updated by Nathan Cutler 10 months ago

  • Copied to Backport #18463: kraken: Decode errors on backtrace will crash MDS added

#6 Updated by John Spray 9 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF