Project

General

Profile

Bug #11000

assertion failed in common/fs/smbsrv/smb_sd.c

Added by Gordon Ross 5 months ago. Updated 4 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Start date:
2019-05-14
Due date:
% Done:

100%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

During minimal run of smb2 codenomicon test suite got assertion issue on SunOS nodea 5.11 NexentaOS_4:5309f596c2:debug i86pc i386 i86pc

> ffffff00093c8c40::threadlist -v
            ADDR             PROC              LWP CLS PRI            WCHAN
ffffff00093c8c40 fffffffffbc3ca80                0   0  61                0
  PC: panicsys+0x109    TASKQ: smb_workers
  stack pointer for thread ffffff00093c8c40: ffffff00093c8500
    param_preset()
    0xfffffffffbe0ca78()
    smb_sd_term+0x70()
    smb_decode_sd+0x9c()
    smb2_create+0x6e0()
    smb2sr_work+0x3cf()
    smb_session_worker+0xde()
    taskq_d_thread+0x123()
    thread_start+8()

> ffffff00093c8c40::findstack -v
stack pointer for thread ffffff00093c8c40: ffffff00093c8500
  ffffff00093c8570 param_preset()
  ffffff00093c85a0 0xfffffffffbe0ca78()
  ffffff00093c85d0 smb_sd_term+0x70(ffffff00093c89f0)
  ffffff00093c8670 smb_decode_sd+0x9c(ffffff00093c8730, ffffff00093c89f0)
  ffffff00093c8a90 smb2_create+0x6e0(ffffff02109d4d70)
  ffffff00093c8b30 smb2sr_work+0x3cf(ffffff02109d4d70)
  ffffff00093c8b70 smb_session_worker+0xde(ffffff02109d4d70)
  ffffff00093c8c20 taskq_d_thread+0x123(ffffff01ef77b290)
  ffffff00093c8c30 thread_start+8()

History

#1

Updated by Gordon Ross 5 months ago

  • Description updated (diff)
  • Status changed from New to In Progress
#2

Updated by Gordon Ross 5 months ago

The codenomicon test managed to make us accept the SE_SELF_RELATIVE
flag from the network message in smb_decode_sd. That flag is supposed to be
cleared when we're parsing an SD into internal form, and smb_sd_term has an
ASSERT make sure that has happened. The test triggered that assert.

Fix the logic in smb_decode_sd to prevent the incoming flags from having
SE_SELF_RELATIVE (invalid for internal form).

#3

Updated by Gordon Ross 5 months ago

Testing: re-run codenomicon
Fix in production since late 2016

#4

Updated by Electric Monk 4 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

git commit 9dc305594346dde9c1a26d5cd4575dfa718d62ef

commit  9dc305594346dde9c1a26d5cd4575dfa718d62ef
Author: Gordon Ross <gwr@nexenta.com>
Date:   2019-06-06T15:12:13.000Z

    11000 assertion failed in common/fs/smbsrv/smb_sd.c
    Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
    Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
    Approved by: Garrett D'Amore <garrett@damore.org>

Also available in: Atom PDF