1. 13 Apr, 2011 8 commits
  2. 12 Apr, 2011 32 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6 · 6faf9a54
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
        cifs: don't allow mmap'ed pages to be dirtied while under writeback (try #3)
        [CIFS] Warn on requesting default security (ntlm) on mount
        [CIFS] cifs: clarify the meaning of tcpStatus == CifsGood
        cifs: wrap received signature check in srv_mutex
        cifs: clean up various nits in unicode routines (try #2)
        cifs: clean up length checks in check2ndT2
        cifs: set ra_pages in backing_dev_info
        cifs: fix broken BCC check in is_valid_oplock_break
        cifs: always do is_path_accessible check in cifs_mount
        various endian fixes to cifs
        Elminate sparse __CHECK_ENDIAN__ warnings on port conversion
        Max share size is too small
        Allow user names longer than 32 bytes
        cifs: replace /proc/fs/cifs/Experimental with a module parm
        cifs: check for private_data before trying to put it
      6faf9a54
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of... · d77d9597
      Linus Torvalds authored
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86
      
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86:
        thinkpad-acpi fails to load with newer Thinkpad X201s BIOS
        acer-wmi: Fix capitalisation of GUID in module alias
        sony-laptop: keyboard backlight fixes
        sony-laptop: only show the handles sysfs file in debug mode
        samsung-laptop: set backlight type
        staging: samsung-laptop has moved to platform/x86
        samsung-laptop: Samsung R410P backlight driver
        samsung-laptop: add support for N230 model
        platform-drivers: x86: pmic: Restore the dropped buslock/unlock
        sony-laptop: fix early NULL pointer dereference
        msi-laptop: fix config-dependent build error
        eeepc-wmi: add keys found on EeePC 1215T
        asus-wmi: swap input name and phys
        asus-laptop: remove removed features from feature-removal-schedule.txt
      d77d9597
    • Linus Torvalds's avatar
      vfs: Re-introduce s_uuid in the superblock · 0bba0169
      Linus Torvalds authored
      Gaah.  When commit be85bcca reverted the export of file system uuid
      via /proc/<pid>/mountinfo, it also unintentionally removed the s_uuid
      field in struct super_block.
      
      I didn't mean to do that, since filesystems have been taught to fill it
      in (and we want to keep it for future re-introduction in the mountinfo
      file).
      
      Stupid of me. This adds it back in.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0bba0169
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6 · e328f05d
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
        mfd: Fetch cell pointer from platform_device->mfd_cell
      e328f05d
    • Dave Chinner's avatar
      nfs: don't call __mark_inode_dirty while holding i_lock · 0d88f6e8
      Dave Chinner authored
      nfs_scan_commit() is called with the inode->i_lock held, but it then
      calls __mark_inode_dirty() while still holding the lock. This causes
      a deadlock.
      
      Push the inode->i_lock into nfs_scan_commit() so it can protect only
      the parts of the code it needs to and can be dropped before the call
      to __mark_inode_dirty() to avoid the deadlock.
      Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
      Tested-by: default avatarWill Simoneau <simoneau@ele.uri.edu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0d88f6e8
    • Linus Torvalds's avatar
      vm: fix mlock() on stack guard page · 95042f9e
      Linus Torvalds authored
      Commit 53a7706d ("mlock: do not hold mmap_sem for extended periods
      of time") changed mlock() to care about the exact number of pages that
      __get_user_pages() had brought it.  Before, it would only care about
      errors.
      
      And that doesn't work, because we also handled one page specially in
      __mlock_vma_pages_range(), namely the stack guard page.  So when that
      case was handled, the number of pages that the function returned was off
      by one.  In particular, it could be zero, and then the caller would end
      up not making any progress at all.
      
      Rather than try to fix up that off-by-one error for the mlock case
      specially, this just moves the logic to handle the stack guard page
      into__get_user_pages() itself, thus making all the counts come out
      right automatically.
      Reported-by: default avatarRobert Święcki <robert@swiecki.net>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      95042f9e
    • Linus Torvalds's avatar
      Revert "vfs: Export file system uuid via /proc/<pid>/mountinfo" · be85bcca
      Linus Torvalds authored
      This reverts commit 93f1c20b.
      
      It turns out that libmount misparses it because it adds a '-' character
      in the uuid string, which libmount then incorrectly confuses with the
      separator string (" - ") at the end of all the optional arguments.
      
      Upstream libmount (in the util-linux tree) has been fixed, but until
      that fix actually percolates up to users, we'd better not expose this
      change in the kernel.
      
      Let's revisit this later (possibly by exposing the UUID without any '-'
      characters in it, avoiding the user-space bug).
      Reported-by: default avatarDave Jones <davej@redhat.com>
      Cc: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Karel Zak <kzak@redhat.com>
      Cc: Ram Pai <linuxram@us.ibm.com>
      Cc: Miklos Szeredi <mszeredi@suse.cz>
      Cc: Eric Sandeen <sandeen@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      be85bcca
    • Keith Packard's avatar
      thinkpad-acpi fails to load with newer Thinkpad X201s BIOS · b569ab39
      Keith Packard authored
      The new BIOS has a slightly different EC version string.
      
      From a1541710300b083a1a9acff2890d721d15ede62b Mon Sep 17 00:00:00 2001
      From: Keith Packard <keithp@keithp.com>
      Date: Sun, 13 Mar 2011 23:46:22 -0700
      Subject: [PATCH] thinkpad-acpi: Some BIOS versions don't end in WW, remove check
      
      My X201s BIOS version string is 6QET46V1 (1.16 ). The
      EC version string is 6QHT28WW-1.09. The driver was requiring that both
      of these have 'WW' in positions 6 and 7. I don't know what the
      significance of having 'V1' there instead is, but removing the test
      makes the driver load on my machine.
      Signed-off-by: default avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      b569ab39
    • Lee, Chun-Yi's avatar
      acer-wmi: Fix capitalisation of GUID in module alias · 08a0799d
      Lee, Chun-Yi authored
      wmi:6AF4F258-B401-42Fd-BE91-3D4AC2D7C0D3 needs to be
      wmi:6AF4F258-B401-42FD-BE91-3D4AC2D7C0D3 in module alias for acer-wmi is
      automatically loaded.
      
      Cc: Pali Rohár <pali.rohar@gmail.com>
      Cc: Carlos Corbacho <carlos@strangeworlds.co.uk>
      Cc: Matthew Garrett <mjg@redhat.com>
      Signed-off-by: default avatarLee, Chun-Yi <jlee@novell.com>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      08a0799d
    • Marco Chiappero's avatar
      sony-laptop: keyboard backlight fixes · df410d52
      Marco Chiappero authored
      Restore the original state on module removal, set the latest values on
      resume.
      When setting the keyboard backlight mode try to turn on/off backlight
      immediately.
      
      [malattia@linux.it: patch taken from a largely modified sony-laptop.c,
      ported and slightly modified to use defines already available.]
      Signed-off-by: default avatarMattia Dongili <malattia@linux.it>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      df410d52
    • Mattia Dongili's avatar
      sony-laptop: only show the handles sysfs file in debug mode · 855b8bc9
      Mattia Dongili authored
      It makes no sense to expose this type of information to userspace unless
      the driver was explicitly loaded with the debug option.
      Signed-off-by: default avatarMattia Dongili <malattia@linux.it>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      855b8bc9
    • Michal Marek's avatar
      samsung-laptop: set backlight type · 8713b04a
      Michal Marek authored
      Cherry-picked from drivers/staging/samsung-laptop/samsung-laptop.c
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      8713b04a
    • Michal Marek's avatar
      993819c5
    • Alberto Mardegan's avatar
      samsung-laptop: Samsung R410P backlight driver · 3d536ed4
      Alberto Mardegan authored
      Here's a trivial patch which adds support to the backlight device found
      in Samsung R410 Plus laptops.
      Signed-off-by: default avatarAlberto Mardegan <mardy@users.sourceforge.net>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      [mmarek: cherry-picked from staging commit d542f180]
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      3d536ed4
    • Greg Kroah-Hartman's avatar
      samsung-laptop: add support for N230 model · 10165072
      Greg Kroah-Hartman authored
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      [mmarek: cherry-picked from staging commit 0789b003]
      Signed-off-by: default avatarMichal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarMatthew Garrett <mjg@redhat.com>
      10165072
    • Jeff Layton's avatar
      cifs: don't allow mmap'ed pages to be dirtied while under writeback (try #3) · ca83ce3d
      Jeff Layton authored
      This is more or less the same patch as before, but with some merge
      conflicts fixed up.
      
      If a process has a dirty page mapped into its page tables, then it has
      the ability to change it while the client is trying to write the data
      out to the server. If that happens after the signature has been
      calculated then that signature will then be wrong, and the server will
      likely reset the TCP connection.
      
      This patch adds a page_mkwrite handler for CIFS that simply takes the
      page lock. Because the page lock is held over the life of writepage and
      writepages, this prevents the page from becoming writeable until
      the write call has completed.
      
      With this, we can also remove the "sign_zero_copy" module option and
      always inline the pages when writing.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      ca83ce3d
    • Samuel Ortiz's avatar
      mfd: Fetch cell pointer from platform_device->mfd_cell · e710d7d5
      Samuel Ortiz authored
      In order for MFD drivers to fetch their cell pointer but also their
      platform data one, an mfd cell pointer is added to the platform_device
      structure.
      That allows all MFD sub devices drivers to be MFD agnostic, unless
      they really need to access their MFD cell data. Most of them don't,
      especially the ones for IPs used by both MFD and non MFD SoCs.
      
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Acked-by: default avatarGreg KH <gregkh@suse.de>
      Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
      e710d7d5
    • Linus Torvalds's avatar
      Merge branch 'stable/bug-fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 16ad5697
      Linus Torvalds authored
      * 'stable/bug-fixes-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen: Allow PV-OPS kernel to detect whether XSAVE is supported
        xen: just completely disable XSAVE
        xen/debug: Don't be so verbose with WARN on 1-1 mapping errors.
        xen: events: fix error checks in bind_*_to_irqhandler()
      16ad5697
    • Steve French's avatar
      [CIFS] Warn on requesting default security (ntlm) on mount · d9b94201
      Steve French authored
      Warn once if default security (ntlm) requested. We will
      update the default to the stronger security mechanism
      (ntlmv2) in 2.6.41.  Kerberos is also stronger than
      ntlm, but more servers support ntlmv2 and ntlmv2
      does not require an upcall, so ntlmv2 is a better
      default.
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      CC: Suresh Jayaraman <sjayaraman@suse.de>
      Reviewed-by: default avatarShirish Pargaonkar <shirishp@us.ibm.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      d9b94201
    • Steve French's avatar
      [CIFS] cifs: clarify the meaning of tcpStatus == CifsGood · fd88ce93
      Steve French authored
      When the TCP_Server_Info is first allocated and connected, tcpStatus ==
      CifsGood means that the NEGOTIATE_PROTOCOL request has completed and the
      socket is ready for other calls. cifs_reconnect however sets tcpStatus
      to CifsGood as soon as the socket is reconnected and the optional
      RFC1001 session setup is done. We have no clear way to tell the
      difference between these two states, and we need to know this in order
      to know whether we can send an echo or not.
      
      Resolve this by adding a new statusEnum value -- CifsNeedNegotiate. When
      the socket has been connected but has not yet had a NEGOTIATE_PROTOCOL
      request done, set it to this value. Once the NEGOTIATE is done,
      cifs_negotiate_protocol will set tcpStatus to CifsGood.
      
      This also fixes and cleans the logic in cifs_reconnect and
      cifs_reconnect_tcon. The old code checked for specific states when what
      it really wants to know is whether the state has actually changed from
      CifsNeedReconnect.
      Reported-and-Tested-by: default avatarJG <jg@cms.ac>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      fd88ce93
    • Jeff Layton's avatar
      cifs: wrap received signature check in srv_mutex · 157c2491
      Jeff Layton authored
      While testing my patchset to fix asynchronous writes, I hit a bunch
      of signature problems when testing with signing on. The problem seems
      to be that signature checks on receive can be running at the same
      time as a process that is sending, or even that multiple receives can
      be checking signatures at the same time, clobbering the same data
      structures.
      
      While we're at it, clean up the comments over cifs_calculate_signature
      and add a note that the srv_mutex should be held when calling this
      function.
      
      This patch seems to fix the problems for me, but I'm not clear on
      whether it's the best approach. If it is, then this should probably
      go to stable too.
      
      Cc: stable@kernel.org
      Cc: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      157c2491
    • Jeff Layton's avatar
      cifs: clean up various nits in unicode routines (try #2) · 581ade4d
      Jeff Layton authored
      Minor revision to the original patch. Don't abuse the __le16 variable
      on the stack by casting it to wchar_t and handing it off to char2uni.
      Declare an actual wchar_t on the stack instead. This fixes a valid
      sparse warning.
      
      Fix the spelling of UNI_ASTERISK. Eliminate the unneeded len_remaining
      variable in cifsConvertToUCS.
      
      Also, as David Howells points out. We were better off making
      cifsConvertToUCS *not* use put_unaligned_le16 since it means that we
      can't optimize the mapped characters at compile time. Switch them
      instead to use cpu_to_le16, and simply use put_unaligned to set them
      in the string.
      Reported-and-acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      581ade4d
    • Jeff Layton's avatar
      cifs: clean up length checks in check2ndT2 · c0c7b905
      Jeff Layton authored
      Thus spake David Howells:
      
      The code that follows this:
      
        	remaining = total_data_size - data_in_this_rsp;
      	if (remaining == 0)
      		return 0;
      	else if (remaining < 0) {
      
      generates better code if you drop the 'remaining' variable and compare
      the values directly.
      
      Clean it up per his recommendation...
      Reported-and-acked-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      c0c7b905
    • Jeff Layton's avatar
      cifs: set ra_pages in backing_dev_info · 2b6c26a0
      Jeff Layton authored
      Commit 522440ed made cifs set backing_dev_info on the mapping attached
      to new inodes. This change caused a fairly significant read performance
      regression, as cifs started doing page-sized reads exclusively.
      
      By virtue of the fact that they're allocated as part of cifs_sb_info by
      kzalloc, the ra_pages on cifs BDIs get set to 0, which prevents any
      readahead. This forces the normal read codepaths to use readpage instead
      of readpages causing a four-fold increase in the number of read calls
      with the default rsize.
      
      Fix it by setting ra_pages in the BDI to the same value as that in the
      default_backing_dev_info.
      
      Fixes https://bugzilla.kernel.org/show_bug.cgi?id=31662
      
      Cc: stable@kernel.org
      Reported-and-Tested-by: default avatarTill <till2.schaefer@uni-dortmund.de>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      2b6c26a0
    • Jeff Layton's avatar
      cifs: fix broken BCC check in is_valid_oplock_break · 8679b0db
      Jeff Layton authored
      The BCC is still __le16 at this point, and in any case we need to
      use the get_bcc_le macro to make sure we don't hit alignment
      problems.
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      8679b0db
    • Jeff Layton's avatar
      cifs: always do is_path_accessible check in cifs_mount · 70945643
      Jeff Layton authored
      Currently, we skip doing the is_path_accessible check in cifs_mount if
      there is no prefixpath. I have a report of at least one server however
      that allows a TREE_CONNECT to a share that has a DFS referral at its
      root. The reporter in this case was using a UNC that had no prefixpath,
      so the is_path_accessible check was not triggered and the box later hit
      a BUG() because we were chasing a DFS referral on the root dentry for
      the mount.
      
      This patch fixes this by removing the check for a zero-length
      prefixpath.  That should make the is_path_accessible check be done in
      this situation and should allow the client to chase the DFS referral at
      mount time instead.
      
      Cc: stable@kernel.org
      Reported-and-Tested-by: default avatarYogesh Sharma <ysharma@cymer.com>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      70945643
    • Steve French's avatar
      various endian fixes to cifs · 5443d130
      Steve French authored
      make modules C=2 M=fs/cifs CF=-D__CHECK_ENDIAN__
      
      Found for example:
      
       CHECK   fs/cifs/cifssmb.c
      fs/cifs/cifssmb.c:728:22: warning: incorrect type in assignment (different base types)
      fs/cifs/cifssmb.c:728:22:    expected unsigned short [unsigned] [usertype] Tid
      fs/cifs/cifssmb.c:728:22:    got restricted __le16 [usertype] <noident>
      fs/cifs/cifssmb.c:1883:45: warning: incorrect type in assignment (different base types)
      fs/cifs/cifssmb.c:1883:45:    expected long long [signed] [usertype] fl_start
      fs/cifs/cifssmb.c:1883:45:    got restricted __le64 [usertype] start
      fs/cifs/cifssmb.c:1884:54: warning: restricted __le64 degrades to integer
      fs/cifs/cifssmb.c:1885:58: warning: restricted __le64 degrades to integer
      fs/cifs/cifssmb.c:1886:43: warning: incorrect type in assignment (different base types)
      fs/cifs/cifssmb.c:1886:43:    expected unsigned int [unsigned] fl_pid
      fs/cifs/cifssmb.c:1886:43:    got restricted __le32 [usertype] pid
      
      In checking new smb2 code for missing endian conversions, I noticed
      some endian errors had crept in over the last few releases into the
      cifs code (symlink, ntlmssp, posix lock, and also a less problematic warning
      in fscache).  A followon patch will address a few smb2 endian
      problems.
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      5443d130
    • Steve French's avatar
      Elminate sparse __CHECK_ENDIAN__ warnings on port conversion · 6da97910
      Steve French authored
      Ports are __be16 not unsigned short int
      
      Eliminates the remaining fixable endian warnings:
      
      ~/cifs-2.6$ make modules C=1 M=fs/cifs CF=-D__CHECK_ENDIAN__
        CHECK   fs/cifs/connect.c
      fs/cifs/connect.c:2408:23: warning: incorrect type in assignment (different base types)
      fs/cifs/connect.c:2408:23:    expected unsigned short *sport
      fs/cifs/connect.c:2408:23:    got restricted __be16 *<noident>
      fs/cifs/connect.c:2410:23: warning: incorrect type in assignment (different base types)
      fs/cifs/connect.c:2410:23:    expected unsigned short *sport
      fs/cifs/connect.c:2410:23:    got restricted __be16 *<noident>
      fs/cifs/connect.c:2416:24: warning: incorrect type in assignment (different base types)
      fs/cifs/connect.c:2416:24:    expected unsigned short [unsigned] [short] <noident>
      fs/cifs/connect.c:2416:24:    got restricted __be16 [usertype] <noident>
      fs/cifs/connect.c:2423:24: warning: incorrect type in assignment (different base types)
      fs/cifs/connect.c:2423:24:    expected unsigned short [unsigned] [short] <noident>
      fs/cifs/connect.c:2423:24:    got restricted __be16 [usertype] <noident>
      fs/cifs/connect.c:2326:23: warning: incorrect type in assignment (different base types)
      fs/cifs/connect.c:2326:23:    expected unsigned short [unsigned] sport
      fs/cifs/connect.c:2326:23:    got restricted __be16 [usertype] sin6_port
      fs/cifs/connect.c:2330:23: warning: incorrect type in assignment (different base types)
      fs/cifs/connect.c:2330:23:    expected unsigned short [unsigned] sport
      fs/cifs/connect.c:2330:23:    got restricted __be16 [usertype] sin_port
      fs/cifs/connect.c:2394:22: warning: restricted __be16 degrades to integer
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      6da97910
    • Steve French's avatar
      Max share size is too small · 2e325d59
      Steve French authored
      Max share name was set to 64, and (at least for Windows)
      can be 80.
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      2e325d59
    • Steve French's avatar
      Allow user names longer than 32 bytes · 8727c8a8
      Steve French authored
      We artificially limited the user name to 32 bytes, but modern servers handle
      larger.  Set the maximum length to a reasonable 256, and make the user name
      string dynamically allocated rather than a fixed size in session structure.
      Also clean up old checkpatch warning.
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      8727c8a8
    • Jeff Layton's avatar
      cifs: replace /proc/fs/cifs/Experimental with a module parm · bdf1b03e
      Jeff Layton authored
      This flag currently only affects whether we allow "zero-copy" writes
      with signing enabled. Typically we map pages in the pagecache directly
      into the write request. If signing is enabled however and the contents
      of the page change after the signature is calculated but before the
      write is sent then the signature will be wrong. Servers typically
      respond to this by closing down the socket.
      
      Still, this can provide a performance benefit so the "Experimental" flag
      was overloaded to allow this. That's really not a good place for this
      option however since it's not clear what that flag does.
      
      Move that flag instead to a new module parameter that better describes
      its purpose. That's also better since it can be set at module insertion
      time by configuring modprobe.d.
      Reviewed-by: default avatarSuresh Jayaraman <sjayaraman@suse.de>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      bdf1b03e
    • Jeff Layton's avatar
      cifs: check for private_data before trying to put it · 77970693
      Jeff Layton authored
      cifs_close doesn't check that the filp->private_data is non-NULL before
      trying to put it. That can cause an oops in certain error conditions
      that can occur on open or lookup before the private_data is set.
      Reported-by: default avatarBen Greear <greearb@candelatech.com>
      CC: Stable <stable@kernel.org>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
      77970693