Project

General

Profile

Bug #11180

SMB2 IOCTL FSCTL_LMR_REQUEST_RESILIENCY Returns Incorrect Response

Added by Bob Hirsch 4 months ago. Updated 4 months ago.

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

100%

Estimated time:
Difficulty:
Medium
Tags:

Description

Windows 10 System Image Backup to an OmniOS CIFS Share fails with an 0x807800C5 Error (There was a failure in preparing the backup image of one of the volumes in the backup set) - Invalid Parameter. The failure occurs while preparing to write the initial VHDX file to the share. A Wireshark capture on port 445 from the Windows 10 client shows an SMB2 IOCTL FSCTL_LMR_REQUEST_RESILIENCY request with a server response of Error: STATUS_INVALID_PARAMETER instead of STATUS_NOT_SUPPORTED.

Steps to Reproduce:

Create CIFS share on OmniOS r151030
Initiate Windows 10 / Server 2016 backup to share (wbadmin start backup -backupTarget:<OmniOS CIFS Share> -allCritical -vssFull -quiet
Capture network traffic on port 445
Review the capture with Wireshark to see the SMB2 IOCTL FSCTL_LMR_REQUEST_RESILIENCY request and response error code

Expected Results:
STATUS_NOT_SUPPORTED

Actual Results:
STATUS_INVALID_PARAMETER
*Backup fails to complete

Additional Observations:
Windows 7 Backup to the same OmniOS CIFS share location completes successfully.
Windows 10 Backup to FreeNAS CIFS share completes successfully (STATUS_INVALID_DEVICE_REQUEST response to FSCTL_LMR_REQUEST_RESILIENCY client request)
Windows 10 Backup to OmniOS CIFS share completes successfully when SMBv1 is forced on client/server (sharectrl set -p max_protocol=1 smb)


Files

InvalidParameter.jpg (16 KB) InvalidParameter.jpg Bob Hirsch, 2019-06-03 02:50 AM

History

#1

Updated by Gordon Ross 4 months ago

Note that this is fixed by #1841 and #11011 (hopefully arriving soon in illumos)

#2

Updated by Gordon Ross 4 months ago

Actually, it looks like that should already be fixed. What git hash in illumos gate corresponds to the code you're running?
Also, If you'd like to send me a snoop or pcap file I can take a look.

#3

Updated by Dan McDonald 4 months ago

He said OmniOS r151030. The last proper merge with upstream in that branch was from illumos-gate commit fc8ae2ec4282de7ec96f48e11078345f3dc0ac3d. There have been other commits (including cherrypicks and side-pulls) since then:


everywhere(ws/illumos-omnios)[0]% git log --format=oneline bc81e58970473852c00270e8d2c4bfb195c08923..
7b36df27d5e3d2c295e8b5276d557fb6a63b701b (HEAD -> r151030, origin/r151030) Merge pull request #473 from citrus-it/kprir30
bad33d12cd18e814fa8fcb9de1cf9ae4a3179ce9 OS-7753 THREAD_KPRI_RELEASE does nothing of the sort
fb6e05104bbce8cd0441d351be6d97d9775a676d Merge pull request #471 from citrus-it/hvata
1219bc2266eea9bec104e089058679524aaa3e36 DLPX-63519 ATA reads timeout after Azure update Reviewed at: http://reviews.delphix.com/r/48492/
6c4916073baa2df16d70c7fb729516e798b7883b Merge pull request #465 from citrus-it/bmdsr30
4d7099826c6eb100410f176602227d71a5b74356 OS-7801 bhyve should expose MD_CLEAR capability Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>
632fca26ebe1cb70474aeb6b98f0b040cf7e7c85 Merge pull request #462 from citrus-it/bpr30
22e6227b9254feb2a3c743cd0a177067f334fda5 10597 would like a way to set NMI behavior at boot Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Andy Fiddaman <andy@omniosce.org> Reviewed by: Patrick Mooney <patrick.mooney@joyent.com> Approved by: Richard Lowe <richlowe@richlowe.net>
c8b837b5c3044ff925ed8c8590b1a5e5c048dfda Update Intel microcode to 20190514 release
596a17dcdcf830ce88e912129c0a55bb4b0b0c14 Update mdb ::sec command for mds
371c7f3c7009ea59cdfef1e29a24e7bc1089b7eb OS-7662 need a way to disable SMT
47b0d0c7de50faefe8268f1b92a5da220fd874cc OS-7793 Need mitigation for MDS
d34b333de4dc664aa9c893312957d86b0d8308d5 10956 sys-suspend(1M) integration with the x window system needs work Reviewed by: Dan McDonald <danmcd@joyent.com> Reviewed by: Joshua M. Clulow <josh@sysmgr.org> Approved by: Robert Mustacchi <rm@joyent.com>
e00ad28605edde2720ba4bc7b511e3d8fafe3496 Merge pull request #453 from citrus-it/smbsecr30
f1189fc02c6304e9aa861b82e50f49e5c49b8391 Merge pull request #447 from citrus-it/lxr30
845d4f3458cef0cc316744b81469e01c209da76b Merge pull request #446 from citrus-it/envr30
2e5725cfa9cc84f3999a8d77b2e6906038ee70b3 OS-XXXX add sendmmsg() and recvmmsg() to lx
05f83369e2f205a439f60ef56c781972ba01e627 LX: Handle DNS configuration in Ubuntu 18.04 lx zones
210e6ad982cf3a00b2a6c8e77a31d54a99053c4f Disable SMB printing support when building gate on OmniOS
c6d516be81653961b3a39481f4d03cb19feef023 NEX-6258 SMB grants WRITE_ATTRIBUTES when it should not
d0e5e7649f24121091e0444a1ccda8477360d4c8 10506 CVE-2019-9579 Access problem with SMB server
3f4a7e496952c05b40f10028eed25c70ceb8c2c6 Merge pull request #442 from citrus-it/backportr30
e3b78243819d1e99a40ac9576b88e822a02135dd Fix osnet dependency
72ce8ec8a28bc2008349eb76cea4d71fa6aab7d4 OS-7409 bhyve does not receive multicast packets Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Dan McDonald <danmcd@joyent.com> Approved by: Dan McDonald <danmcd@joyent.com>
6059410c9738e9a292c0840beb67e38e52767cdf 10698 SMB client fails to connect to MacOS server Reviewed by: Jason King <jason.king@joyent.com> Reviewed by: Toomas Soome <tsoome@me.com> Reviewed by: Gergő Doma <domag02@gmail.com> Approved by: Richard Lowe <richlowe@richlowe.net>
bb55960f430c7c854b4e7dd5711a7be98a10ff41 10692 df dumps core Reviewed by: Andy Fiddaman <andy@omniosce.org> Reviewed by: Sebastian Wiedenroth <sebastian.wiedenroth@skylime.net> Approved by: Richard Lowe <richlowe@richlowe.net>
2a005830a0896a1797e653645773e48989b7b9de Merge pull request #440 from citrus-it/osnetr30
f7c3d5f2b87454e6842105f082b22b2355579040 Remove dependencies not present on OmniOS
32d720bfc8f36f78e78eaba076a3ec9682c58a83 Merge pull request #437 from citrus-it/dlsr30
a882c5f23c31cec314fefab2bfddad62e70bc202 Revert "BHYVE: OS-4600 vnd can receive packets without checksums" 
eb8f287e3ded35e881ca1ddc8253404fbb9dcb59 Revert "BHYVE: OS-2340 vnics should support LSO" 
69564e573d1cd39d5ed41252274421dbac19be0c Revert "BHYVE: OS-7591 viona should be strict about cksum offsets" 
3685ec983d9f5023fa6772f830143f26c405aa29 Revert "BHYVE: OS-7592 viona doesn't zero ULP checksum for HCK_FULLCKSUM" 
d73f3cf697d8de6b21d47b28f5ee7ff215c48973 Revert "OS-7564 panic in mac_hw_emul()" 
417a7c0f29a7fa4d83fdc03efdbc2c4af9c61cd1 Revert "OS-7556 IPv6 packets dropped after crossing MAC-loopback" 
223fd40edcd6fc40bc7bda994307f07ed53591af Merge pull request #435 from citrus-it/ipfr30
d60fcd680a0de279abbf8c3fc5cec027b745de99 Add state change hooks for lx zones
d75aeaf790f2cec7b20d71d5069016e3ea913f6a Merge pull request #433 from hadfl/expect_r30
9dbcf5db7b262e250c10ba3299fd7a26ed86211b fix expect FMRI for OmniOS
1bcc2b62656e1a9ca42c51e821e09f11061c1ce5 Merge pull request #428 from citrus-it/illumospng
a2933408270354e80c69d7b8fe2fb080a192da71 Add smaller version of the illumos logo, rather than rescaling
639d434ceb766d8f4ef41c73874fc9c1ea82b0b9 Merge pull request #427 from citrus-it/joyent_merge/2019032801
43e68f61b093f03e358ccf5386cb0012b75cdbad Update README.OmniOS with last Joyent commit
bd247d19086ec608ff0325aac47e8ebf234b2501 OS-7672 recursive mutex enter in ahci
13f8f6005d8326bad765d309b830bb4e50213c2d Merge pull request #426 from citrus-it/upstream_merge/2019032801

There are three obvious SMB ones that got side-pulled:


210e6ad982cf3a00b2a6c8e77a31d54a99053c4f Disable SMB printing support when building gate on OmniOS
c6d516be81653961b3a39481f4d03cb19feef023 NEX-6258 SMB grants WRITE_ATTRIBUTES when it should not
d0e5e7649f24121091e0444a1ccda8477360d4c8 10506 CVE-2019-9579 Access problem with SMB server

#4

Updated by Gordon Ross 4 months ago

OK, yeah, I see why this error is happening. The current code demands "no fid" for this ioctl. That's incorrect (it uses a fid).
Some of the changes in #1841 reorganize the checks in smb2_ioctl (based on clarifications in the spec. about which ioctl/fsctl codes should be checked for a FID etc.) That happens to fix this.

If you need a fix quickly (before #1841 goes up stream -- it's pending RTI now, btw -- hint hint) you can just
replace ITF_NO_FID with zero on http://src.illumos.org/source/xref/illumos-gate/usr/src/uts/common/fs/smbsrv/smb2_ioctl.c#254
(the table row for FSCTL_LMR_REQUEST_RESILIENCY).

#5

Updated by Electric Monk 4 months ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

git commit 93bc28dbaee6387120d48b12b3dc1ba5f7418e6e

commit  93bc28dbaee6387120d48b12b3dc1ba5f7418e6e
Author: Gordon Ross <gwr@nexenta.com>
Date:   2019-06-04T02:09:35.000Z

    1841 SMB dtrace provider is incomplete
    11180 SMB2 IOCTL FSCTL_LMR_REQUEST_RESILIENCY Returns Incorrect Response
    Portions contributed by: Joyce McIntosh <joyce.mcintosh@nexenta.com>
    Reviewed by: Evan Layton <evan.layton@nexenta.com>
    Reviewed by: Matt Barden <matt.barden@nexenta.com>
    Reviewed by: Joyce McIntosh <joyce.mcintosh@nexenta.com>
    Approved by: Richard Lowe <richlowe@richlowe.net>

Also available in: Atom PDF