SMB flush on pipe triggers NULL pointer dereference in module smbsrv

Review Request #240 — Created Oct. 19, 2016 and submitted

dan.vatca
illumos-gate
7483
general

Details on illumos issue: https://www.illumos.org/issues/7483



  • 0
  • 0
  • 3
  • 0
  • 3
Description From Last Updated
dan.vatca
gwr
  1. 
      
  2. Lets get rid of smb_flush_file and call smb_ofile_flush in its place.
    Otherwise looking good.

    1. Makes sense. Will do.

  3. 
      
gwr
  1. 
      
  2. usr/src/uts/common/smbsrv/smb_kproto.h (Diff revision 2)
     
     

    missing semicolon.

    Let's use here:
    ...(smb_request_t , smb_ofile_t )
    just to be like the others.

  3. 
      
gwr
  1. 
      
  2. The cred arg should be: of->f_cr

  3. 
      
dan.vatca
gwr
  1. Ship It!
  2. 
      
danmcd
  1. The credential change per Gordon is in here, so I'm good.

    1. Thanks. Yeah, that's the same credential, obtained by the preferred method.
      (In general, SMB operations should use the cred from the open file, not the one on sr->user_cred, though those are normally the same, as in this case they were.)

  2. 
      
gwr
  1. 
      
  2. Oh, one more nit:

    Don't insert your copyright in the middle of Sun's.
    Put it after, i.e.:

    Copyright 2009 Sun Micro...
    Use is subject to ...

    Copyright Syneto...

  3. 
      
dan.vatca
gwr
  1. Thanks. Please proceed to RTI, as described in:
    http://wiki.illumos.org/display/illumos/How+To+Contribute#HowToContribute-5SubmittingAPatch
    I think we'd all like this in promptly :)

    1. I will RTI after I get a full build of gate, but this will take me some time (I've got only Syneto StorageOS build machines that do not yet have the python 2.7 bits in the right place as the latest gate requires).

    2. Build on your usual OS is fine. I'd just add something like this to the end of your env file::

      If your distro uses certain versions of Perl, make sure either Makefile.master

      contains your new defaults OR your .env file sets them.

      OI/Hipster

      export PERL_VERSION=5.16
      export PERL_ARCH=i86pc-solaris-64int
      export PERL_PKGVERS=-516

      Python version -- until I update my laptop

      export PYTHON_VERSION=2.6
      export PYTHON_PKGVERS=-26

      Where to find JDK7

      export JAVA_ROOT="${BUILD_TOOLS}/jdk/jdk1.7.0_80"

    3. Huh... the lines shown bold had a pound sign at the front. Damn wiki markup...

    4. Thank you for the tip on PYTHON_VERSION. This will save me some time to set up. It would have been easier to find if the default env file would have an example as for PERL. How about I add another issue to add those lines with a matching comment as for perl? This would make it easier for people running python 2.6.
      The thing is that I already have python 2.7, but is installed in /opt/python2.7 ... Do you have any tips on how to change python's installation path?

    5. The env file can override any of the variables you see in Makefile.master and elsewhere (because nightly runs "make -e")
      Just set PYTHON=/opt/python/whatever.

    6. Don't forget to close your PR (submitted)

      Thanks again

  2. 
      
dan.vatca
Review request changed

Status: Closed (submitted)

Loading...