1. 07 Nov, 2013 8 commits
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 · 8efdf2b7
      Linus Torvalds authored
      Pull CIFS updates from Steve French:
       "Includes a couple of fixes, plus changes to make multiplex identifiers
        easier to read and correlate with network traces, and a set of
        enhancements for SMB3 dialect.  Also adds support for per-file
        compression for both cifs and smb2/smb3 ("chattr +c filename).
      
        Should have at least one other merge request ready by next week with
        some new SMB3 security features and copy offload support"
      
      * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6:
        Query network adapter info at mount time for debugging
        Fix unused variable warning when CIFS POSIX disabled
        Allow setting per-file compression via CIFS protocol
        Query File System Alignment
        Query device characteristics at mount time from server on SMB2/3 not just on cifs mounts
        cifs: Send a logoff request before removing a smb session
        cifs: Make big endian multiplex ID sequences monotonic on the wire
        cifs: Remove redundant multiplex identifier check from check_smb_hdr()
        Query file system attributes from server on SMB2, not just cifs, mounts
        Allow setting per-file compression via SMB2/3
        Fix corrupt SMB2 ioctl requests
      8efdf2b7
    • Linus Torvalds's avatar
      Merge tag 'nfs-for-3.13-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs · c224b76b
      Linus Torvalds authored
      Pull NFS client updates from Trond Myklebust:
       "Highlights include:
      
         - Changes to the RPC socket code to allow NFSv4 to turn off
           timeout+retry:
            * Detect TCP connection breakage through the "keepalive" mechanism
         - Add client side support for NFSv4.x migration (Chuck Lever)
         - Add support for multiple security flavour arguments to the "sec="
           mount option (Dros Adamson)
         - fs-cache bugfixes from David Howells:
           * Fix an issue whereby caching can be enabled on a file that is
             open for writing
         - More NFSv4 open code stable bugfixes
         - Various Labeled NFS (selinux) bugfixes, including one stable fix
         - Fix buffer overflow checking in the RPCSEC_GSS upcall encoding"
      
      * tag 'nfs-for-3.13-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (68 commits)
        NFSv4.2: Remove redundant checks in nfs_setsecurity+nfs4_label_init_security
        NFSv4: Sanity check the server reply in _nfs4_server_capabilities
        NFSv4.2: encode_readdir - only ask for labels when doing readdirplus
        nfs: set security label when revalidating inode
        NFSv4.2: Fix a mismatch between Linux labeled NFS and the NFSv4.2 spec
        NFS: Fix a missing initialisation when reading the SELinux label
        nfs: fix oops when trying to set SELinux label
        nfs: fix inverted test for delegation in nfs4_reclaim_open_state
        SUNRPC: Cleanup xs_destroy()
        SUNRPC: close a rare race in xs_tcp_setup_socket.
        SUNRPC: remove duplicated include from clnt.c
        nfs: use IS_ROOT not DCACHE_DISCONNECTED
        SUNRPC: Fix buffer overflow checking in gss_encode_v0_msg/gss_encode_v1_msg
        SUNRPC: gss_alloc_msg - choose _either_ a v0 message or a v1 message
        SUNRPC: remove an unnecessary if statement
        nfs: Use PTR_ERR_OR_ZERO in 'nfs/nfs4super.c'
        nfs: Use PTR_ERR_OR_ZERO in 'nfs41_callback_up' function
        nfs: Remove useless 'error' assignment
        sunrpc: comment typo fix
        SUNRPC: Add correct rcu_dereference annotation in rpc_clnt_set_transport
        ...
      c224b76b
    • Linus Torvalds's avatar
      Revert "sysfs: drop kobj_ns_type handling" · a1212d27
      Linus Torvalds authored
      This reverts commit cb26a311.
      
      It mysteriously causes NetworkManager to not find the wireless device
      for me.  As far as I can tell, Tejun *meant* for this commit to not make
      any semantic changes, but there clearly are some.  So revert it, taking
      into account some of the calling convention changes that happened in
      this area in subsequent commits.
      
      Cc: Tejun Heo <tj@kernel.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a1212d27
    • Linus Torvalds's avatar
      Merge tag 'staging-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 0b1e73ed
      Linus Torvalds authored
      Pull staging driver update from Greg KH:
       "Here's the big drivers/staging/ update for 3.13-rc1.
      
        Nothing major here, just a _ton_ of fixes and cleanups, mostly driven
        by the new round of OPW applicants, but also there are lots of other
        people doing staging tree cleanups these days in order to help get the
        drivers into mergable shape.
      
        We also merge, and then revert, the ktap code, as Ingo and the other
        perf/ftrace developers feel it should go into the "real" part of the
        kernel with only a bit more work, so no need to put it in staging for
        now.
      
        All of this has been in linux-next for a while with no reported
        issues"
      
      * tag 'staging-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1045 commits)
        staging: drm/imx: fix return value check in ipu_add_subdevice_pdata()
        Staging: zram: Fix access of NULL pointer
        Staging: zram: Fix variable dereferenced before check
        Staging: rtl8187se: space prohibited before semicolon in r8185b_init.c
        Staging: rtl8187se: fix space prohibited after that open parenthesis '(' in r8185b_init.c
        Staging: rtl8187se: fix braces {} are not necessary for single statement blocks in r8185b_init.c
        Staging: rtl8187se: fix trailing whitespace in r8185b_init.c
        Staging: rtl8187se: fix please, no space before tabs in r8185b_init.c
        drivers/staging/nvec/Kconfig: remove trailing whitespace
        Staging: dwc2: Fix variable dereferenced before check
        Staging: xgifb: fix braces {} are not necessary for any arm of this statement
        staging: rtl8192e: remove unneeded semicolons
        staging: rtl8192e: use true and false for bool variables
        staging: ft1000: return values corrected in scram_start_dwnld
        staging: ft1000: change values of status return variable in write_dpram32_and_check
        staging: bcm: Remove unnecessary pointer casting
        imx-drm: ipuv3-crtc: Invert IPU DI0 clock polarity
        staging: r8188eu: Fix sparse warnings in rtl_p2p.c
        staging: r8188eu: Fix sparse warnings in rtw_mlme_ext.c
        staging: r8188eu: Fix sparse warnings in rtl8188e.cmd.c
        ...
      0b1e73ed
    • Linus Torvalds's avatar
      Merge tag 'tty-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 56edff75
      Linus Torvalds authored
      Pull tty/serial driver updates from Greg KH:
       "Here's the big tty/serial driver update for 3.13-rc1.
      
        There's some more minor n_tty work here, but nothing like previous
        kernel releases.  Also some new driver ids, driver updates for new
        hardware, and other small things.
      
        All of this has been in linux-next for a while with no issues"
      
      * tag 'tty-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (84 commits)
        serial: omap: fix missing comma
        serial: sh-sci: Enable the driver on all ARM platforms
        serial: mfd: Staticize local symbols
        serial: omap: fix a few checkpatch warnings
        serial: omap: improve RS-485 performance
        mrst_max3110: fix unbalanced IRQ issue during resume
        serial: omap: Add support for optional wake-up
        serial: sirf: remove duplicate defines
        tty: xuartps: Fix build error when COMMON_CLK is not set
        tty: xuartps: Fix build error due to missing forward declaration
        tty: xuartps: Fix "may be used uninitialized" build warning
        serial: 8250_pci: add Pericom PCIe Serial board Support (12d8:7952/4/8) - Chip PI7C9X7952/4/8
        tty: xuartps: Update copyright information
        tty: xuartps: Implement suspend/resume callbacks
        tty: xuartps: Dynamically adjust to input frequency changes
        tty: xuartps: Updating set_baud_rate()
        tty: xuartps: Force enable the UART in xuartps_console_write
        tty: xuartps: support 64 byte FIFO size
        tty: xuartps: Add polled mode support for xuartps
        tty: xuartps: Implement BREAK detection, add SYSRQ support
        ...
      56edff75
    • Linus Torvalds's avatar
      Merge tag 'driver-core-3.13-rc1' of... · 0324e745
      Linus Torvalds authored
      Merge tag 'driver-core-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core
      
      Pull driver core / sysfs patches from Greg KH:
       "Here's the big driver core / sysfs update for 3.13-rc1.
      
        There's lots of dev_groups updates for different subsystems, as they
        all get slowly migrated over to the safe versions of the attribute
        groups (removing userspace races with the creation of the sysfs
        files.) Also in here are some kobject updates, devres expansions, and
        the first round of Tejun's sysfs reworking to enable it to be used by
        other subsystems as a backend for an in-kernel filesystem.
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'driver-core-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (83 commits)
        sysfs: rename sysfs_assoc_lock and explain what it's about
        sysfs: use generic_file_llseek() for sysfs_file_operations
        sysfs: return correct error code on unimplemented mmap()
        mdio_bus: convert bus code to use dev_groups
        device: Make dev_WARN/dev_WARN_ONCE print device as well as driver name
        sysfs: separate out dup filename warning into a separate function
        sysfs: move sysfs_hash_and_remove() to fs/sysfs/dir.c
        sysfs: remove unused sysfs_get_dentry() prototype
        sysfs: honor bin_attr.attr.ignore_lockdep
        sysfs: merge sysfs_elem_bin_attr into sysfs_elem_attr
        devres: restore zeroing behavior of devres_alloc()
        sysfs: fix sysfs_write_file for bin file
        input: gameport: convert bus code to use dev_groups
        input: serio: remove bus usage of dev_attrs
        input: serio: use DEVICE_ATTR_RO()
        i2o: convert bus code to use dev_groups
        memstick: convert bus code to use dev_groups
        tifm: convert bus code to use dev_groups
        virtio: convert bus code to use dev_groups
        ipack: convert bus code to use dev_groups
        ...
      0324e745
    • Linus Torvalds's avatar
      Merge tag 'char-misc-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 1071ec7b
      Linus Torvalds authored
      Pull char/misc patches from Greg KH:
       "Here's the big char/misc driver patchset for 3.13-rc1.
      
        Lots of stuff in here, including some new drivers for Intel's "MIC"
        co-processor devices, and a new eeprom driver.  Other things include
        the driver attribute cleanups, extcon driver updates, hyperv updates,
        and a raft of other miscellaneous driver fixes.
      
        All of these have been in linux-next for a while"
      
      * tag 'char-misc-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (121 commits)
        misc: mic: Fixes for randconfig build errors and warnings.
        tifm: fix error return code in tifm_7xx1_probe()
        w1-gpio: Use devm_* functions
        w1-gpio: Detect of_gpio_error for first gpio
        uio: Pass pointers to virt_to_page(), not integers
        uio: fix memory leak
        misc/at24: avoid infinite loop on write()
        misc/93xx46: avoid infinite loop on write()
        misc: atmel_pwm: add deferred-probing support
        mei: wd: host_init propagate error codes from called functions
        mei: replace stray pr_debug with dev_dbg
        mei: bus: propagate error code returned by mei_me_cl_by_id
        mei: mei_cl_link remove duplicated check for open_handle_count
        mei: print correct device state during unexpected reset
        mei: nfc: fix memory leak in error path
        lkdtm: add tests for additional page permissions
        lkdtm: adjust recursion size to avoid warnings
        lkdtm: isolate stack corruption test
        mei: move host_clients_map cleanup to device init
        mei: me: downgrade two errors to debug level
        ...
      1071ec7b
    • Linus Torvalds's avatar
      Merge tag 'usb-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · c287322c
      Linus Torvalds authored
      Pull USB driver update from Greg KH:
       "Here's the big USB driver update for 3.13-rc1.
      
        It includes the usual xhci changes, EHCI updates to get the scheduling
        of USB transactions working better, and a raft of gadget and musb
        updates as well.
      
        All of this has been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (305 commits)
        USB: Maintainers change for usb serial drivers
        usb: usbtest: support container id descriptor test
        usb: usbtest: support superspeed device capbility descriptor test
        usb: usbtest: support usb2 extension descriptor test
        usb: chipidea: only get vbus regulator for non-peripheral mode
        USB: ehci-atmel: add usb_clk for transition to CCF
        usb: cdc-wdm: ignore speed change notifications
        USB: cdc-wdm: support back-to-back USB_CDC_NOTIFY_RESPONSE_AVAILABLE notifications
        usbatm: Fix dynamic_debug / ratelimited atm_dbg and atm_rldbg macros
        printk: pr_debug_ratelimited: check state first to reduce "callbacks suppressed" messages
        usb: usbtest: support bos descriptor test for usb 3.0
        USB: phy: samsung: Support multiple PHYs of same type
        usb: wusbcore: change WA_SEGS_MAX to a legal value
        usb: wusbcore: add a quirk for Alereon HWA device isoc behavior
        usb: wusbcore: combine multiple isoc frames in a single transfer request.
        usb: wusbcore: set the RPIPE wMaxPacketSize value correctly
        usb: chipidea: host: more enhancement when ci->hcd is NULL
        usb: ohci: remove ep93xx bus glue platform driver
        usb: usbtest: fix checkpatch warning as sizeof code style
        UWB: clean up attribute use by using ATTRIBUTE_GROUPS()
        ...
      c287322c
  2. 04 Nov, 2013 9 commits
    • Trond Myklebust's avatar
      NFSv4.2: Remove redundant checks in nfs_setsecurity+nfs4_label_init_security · fab99ebe
      Trond Myklebust authored
      We already check for nfs_server_capable(inode, NFS_CAP_SECURITY_LABEL)
      in nfs4_label_alloc()
      We check the minor version in _nfs4_server_capabilities before setting
      NFS_CAP_SECURITY_LABEL.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      fab99ebe
    • Trond Myklebust's avatar
      NFSv4: Sanity check the server reply in _nfs4_server_capabilities · b944dba3
      Trond Myklebust authored
      We don't want to be setting capabilities and/or requesting attributes
      that are not appropriate for the NFSv4 minor version.
      
      - Ensure that we clear the NFS_CAP_SECURITY_LABEL capability when appropriate
      - Ensure that we limit the attribute bitmasks to the mounted_on_fileid
        attribute and less for NFSv4.0
      - Ensure that we limit the attribute bitmasks to suppattr_exclcreat and
        less for NFSv4.1
      - Ensure that we limit it to change_sec_label or less for NFSv4.2
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      b944dba3
    • Trond Myklebust's avatar
      NFSv4.2: encode_readdir - only ask for labels when doing readdirplus · d204c5d2
      Trond Myklebust authored
      Currently, if the server is doing NFSv4.2 and supports labeled NFS, then
      our on-the-wire READDIR request ends up asking for the label information,
      which is then ignored unless we're doing readdirplus.
      This patch ensures that READDIR doesn't ask the server for label information
      at all unless the readdir->bitmask contains the FATTR4_WORD2_SECURITY_LABEL
      attribute, and the readdir->plus flag is set.
      
      While we're at it, optimise away the 3rd bitmap field if it is zero.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      d204c5d2
    • Jeff Layton's avatar
      nfs: set security label when revalidating inode · 3da580aa
      Jeff Layton authored
      Currently, we fetch the security label when revalidating an inode's
      attributes, but don't apply it. This is in contrast to the readdir()
      codepath where we do apply label changes.
      
      Cc: Dave Quigley <dpquigl@davequigley.com>
      Signed-off-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      3da580aa
    • Trond Myklebust's avatar
      NFSv4.2: Fix a mismatch between Linux labeled NFS and the NFSv4.2 spec · f3f5a0f8
      Trond Myklebust authored
      In the spec, the security label attribute id is '80', which means that
      it should be bit number 80-64 == 16 in the 3rd word of the bitmap.
      
      Fixes: 4488cc96: NFS: Add NFSv4.2 protocol constants
      Cc: J. Bruce Fields <bfields@fieldses.org>
      Cc: Steve Dickson <steved@redhat.com>
      Cc: stable@vger.kernel.org # 3.11+
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      f3f5a0f8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · be408cd3
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "I'm sending a pull request of these lingering bug fixes for networking
        before the normal merge window material because some of this stuff I'd
        like to get to -stable ASAP"
      
       1) cxgb3 stopped working on 32-bit machines, fix from Ben Hutchings.
      
       2) Structures passed via netlink for netfilter logging are not fully
          initialized.  From Mathias Krause.
      
       3) Properly unlink upper openvswitch device during notifications, from
          Alexei Starovoitov.
      
       4) Fix race conditions involving access to the IP compression scratch
          buffer, from Michal Kubrecek.
      
       5) We don't handle the expiration of MTU information contained in ipv6
          routes sometimes, fix from Hannes Frederic Sowa.
      
       6) With Fast Open we can miscompute the TCP SYN/ACK RTT, from Yuchung
          Cheng.
      
       7) Don't take TCP RTT sample when an ACK doesn't acknowledge new data,
          also from Yuchung Cheng.
      
       8) The decreased IPSEC garbage collection threshold causes problems for
          some people, bump it back up.  From Steffen Klassert.
      
       9) Fix skb->truesize calculated by tcp_tso_segment(), from Eric
          Dumazet.
      
      10) flow_dissector doesn't validate packet lengths sufficiently, from
          Jason Wang
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (41 commits)
        net/mlx4_core: Fix call to __mlx4_unregister_mac
        net: sctp: do not trigger BUG_ON in sctp_cmd_delete_tcb
        net: flow_dissector: fail on evil iph->ihl
        xfrm: Fix null pointer dereference when decoding sessions
        can: kvaser_usb: fix usb endpoints detection
        can: c_can: Fix RX message handling, handle lost message before EOB
        doc:net: Fix typo in Documentation/networking
        bgmac: don't update slot on skb alloc/dma mapping error
        ibm emac: Fix locking for enable/disable eob irq
        ibm emac: Don't call napi_complete if napi_reschedule failed
        virtio-net: correctly handle cpu hotplug notifier during resuming
        bridge: pass correct vlan id to multicast code
        net: x25: Fix dead URLs in Kconfig
        netfilter: xt_NFQUEUE: fix --queue-bypass regression
        xen-netback: use jiffies_64 value to calculate credit timeout
        cxgb3: Fix length calculation in write_ofld_wr() on 32-bit architectures
        bnx2x: Disable VF access on PF removal
        bnx2x: prevent FW assert on low mem during unload
        tcp: gso: fix truesize tracking
        xfrm: Increase the garbage collector threshold
        ...
      be408cd3
    • Jack Morgenstein's avatar
      net/mlx4_core: Fix call to __mlx4_unregister_mac · c32b7dfb
      Jack Morgenstein authored
      In function mlx4_master_deactivate_admin_state() __mlx4_unregister_mac was
      called using the MAC index. It should be called with the value of the MAC itself.
      Signed-off-by: default avatarJack Morgenstein <jackm@dev.mellanox.co.il>
      Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c32b7dfb
    • David S. Miller's avatar
      Merge branch 'fixes-for-3.12' of git://gitorious.org/linux-can/linux-can · e9b51a19
      David S. Miller authored
      Marc Kleine-Budde says:
      
      ====================
      I have two late fixes for the v3.12 release:
      
      The first patch fixes a problem in the c_can's RX message handling, which can
      lead to an endless interrupt loop under heavy load if messages are lost. The
      second patch is by Olivier Sobrie and fixes the endpoint detection of the
      kvaser_usb driver, which is needed for some devices.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e9b51a19
    • Daniel Borkmann's avatar
      net: sctp: do not trigger BUG_ON in sctp_cmd_delete_tcb · 7926c1d5
      Daniel Borkmann authored
      Introduced in f9e42b85 ("net: sctp: sideeffect: throw BUG if
      primary_path is NULL"), we intended to find a buggy assoc that's
      part of the assoc hash table with a primary_path that is NULL.
      However, we better remove the BUG_ON for now and find a more
      suitable place to assert for these things as Mark reports that
      this also triggers the bug when duplication cookie processing
      happens, and the assoc is not part of the hash table (so all
      good in this case). Such a situation can for example easily be
      reproduced by:
      
        tc qdisc add dev eth0 root handle 1: prio bands 2 priomap 1 1 1 1 1 1
        tc qdisc add dev eth0 parent 1:2 handle 20: netem loss 20%
        tc filter add dev eth0 protocol ip parent 1: prio 2 u32 match ip \
                  protocol 132 0xff match u8 0x0b 0xff at 32 flowid 1:2
      
      This drops 20% of COOKIE-ACK packets. After some follow-up
      discussion with Vlad we came to the conclusion that for now we
      should still better remove this BUG_ON() assertion, and come up
      with two follow-ups later on, that is, i) find a more suitable
      place for this assertion, and possibly ii) have a special
      allocator/initializer for such kind of temporary assocs.
      Reported-by: default avatarMark Thomas <Mark.Thomas@metaswitch.com>
      Signed-off-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: default avatarDaniel Borkmann <dborkman@redhat.com>
      Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7926c1d5
  3. 03 Nov, 2013 3 commits
  4. 02 Nov, 2013 11 commits
    • Steve French's avatar
      Query network adapter info at mount time for debugging · c481e9fe
      Steve French authored
      When CONFIG_CIFS_STATS2 enabled query adapter info for debugging
      
      It is easy now in SMB3 to query the information about the server's
      network interfaces (and at least Windows 8 and above do this, if not
      other clients) there are some useful pieces of information you can get
      including:
      
      - all of the network interfaces that the server advertises (not just
      the one you are mounting over), and with SMB3 supporting multichannel
      this helps with more than just failover (also aggregating multiple
      sockets under one mount)
      
      - whether the adapter supports RSS (useful to know if you want to
      estimate whether setting up two or more socket connections to the same
      address is going to be faster due to RSS offload in the adapter)
      
      - whether the server supports RDMA
      
      - whether the server has IPv6 interfaces (if you connected over IPv4
      but prefer IPv6 e.g.)
      
      - what the link speed is (you might want to reconnect over a higher
      speed interface if available)
      
      (Of course we could also rerequest this on every mount cheaplly to the
      same server, as Windows apparently does, so we can update the adapter
      info on new mounts, and also on every reconnect if the network
      interface drops temporarily - so we don't have to rely on info from
      the first mount to this server)
      
      It is trivial to request this information - and certainly will be useful
      when we get to the point of doing multichannel (and eventually RDMA),
      but some of this (linkspeed etc.) info may help for debugging in
      the meantime.  Enable this request when CONFIG_CIFS_STATS2 is on
      (only for smb3 mounts since it is an SMB3 or later ioctl).
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      c481e9fe
    • Steve French's avatar
      Fix unused variable warning when CIFS POSIX disabled · f10d9ba4
      Steve French authored
      Fix unused variable warning when CONFIG_CIFS_POSIX disabled.
      
         fs/cifs/ioctl.c: In function 'cifs_ioctl':
      >> fs/cifs/ioctl.c:40:8: warning: unused variable 'ExtAttrMask' [-Wunused-variable]
           __u64 ExtAttrMask = 0;
                 ^
      Pointed out by 0-DAY kernel build testing backend
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      f10d9ba4
    • Steve French's avatar
      Allow setting per-file compression via CIFS protocol · c7f508a9
      Steve French authored
      An earlier patch allowed setting the per-file compression flag
      
      "chattr +c filename"
      
      on an smb2 or smb3 mount, and also allowed lsattr to return
      whether a file on a cifs, or smb2/smb3 mount was compressed.
      
      This patch extends the ability to set the per-file
      compression flag to the cifs protocol, which uses a somewhat
      different IOCTL mechanism than SMB2, although the payload
      (the flags stored in the compression_state) are the same.
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      c7f508a9
    • Steven French's avatar
      Query File System Alignment · af6a12ea
      Steven French authored
      In SMB3 it is now possible to query the file system
      alignment info, and the preferred (for performance)
      sector size and whether the underlying disk
      has no seek penalty (like SSD).
      
      Query this information at mount time for SMB3,
      and make it visible in /proc/fs/cifs/DebugData
      for debugging purposes.
      
      This alignment information and preferred sector
      size info will be helpful for the copy offload
      patches to setup the right chunks in the CopyChunk
      requests.   Presumably the knowledge that the
      underlying disk is SSD could also help us
      make better readahead and writebehind
      decisions (something to look at in the future).
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      af6a12ea
    • Steven French's avatar
      Query device characteristics at mount time from server on SMB2/3 not just on cifs mounts · 2167114c
      Steven French authored
      Currently SMB2 and SMB3 mounts do not query the device information at mount time
      from the server as is done for cifs.  These can be useful for debugging.
      This is a minor patch, that extends the previous one (which added ability to
      query file system attributes at mount time - this returns the device
      characteristics - also via in /proc/fs/cifs/DebugData)
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      2167114c
    • Shirish Pargaonkar's avatar
      cifs: Send a logoff request before removing a smb session · 7f48558e
      Shirish Pargaonkar authored
      Send a smb session logoff request before removing smb session off of the list.
      On a signed smb session, remvoing a session off of the list before sending
      a logoff request results in server returning an error for lack of
      smb signature.
      
      Never seen an error during smb logoff, so as per MS-SMB2 3.2.5.1,
      not sure how an error during logoff should be retried. So for now,
      if a server returns an error to a logoff request, log the error and
      remove the session off of the list.
      Signed-off-by: default avatarShirish Pargaonkar <shirishpargaonkar@gmail.com>
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      7f48558e
    • Tim Gardner's avatar
      cifs: Make big endian multiplex ID sequences monotonic on the wire · 3d378d3f
      Tim Gardner authored
      The multiplex identifier (MID) in the SMB header is only
      ever used by the client, in conjunction with PID, to match responses
      from the server. As such, the endianess of the MID is not important.
      However, When tracing packet sequences on the wire, protocol analyzers
      such as wireshark display MID as little endian. It is much more informative
      for the on-the-wire MID sequences to match debug information emitted by the
      CIFS driver.  Therefore, one should write and read MID in the SMB header
      assuming it is always little endian.
      
      Observed from wireshark during the protocol negotiation
      and session setup:
      
              Multiplex ID: 256
              Multiplex ID: 256
              Multiplex ID: 512
              Multiplex ID: 512
              Multiplex ID: 768
              Multiplex ID: 768
      
      After this patch on-the-wire MID values begin at 1 and increase monotonically.
      
      Introduce get_next_mid64() for the internal consumers that use the full 64 bit
      multiplex identifier.
      
      Introduce the helpers get_mid() and compare_mid() to make the endian
      translation clear.
      Reviewed-by: default avatarJeff Layton <jlayton@redhat.com>
      Signed-off-by: default avatarTim Gardner <timg@tpi.com>
      Signed-off-by: default avatarSteve French <smfrench@gmail.com>
      3d378d3f
    • Linus Torvalds's avatar
      Merge tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 9dc8c89d
      Linus Torvalds authored
      Pull ARM kallsyms fix from Rusty Russell:
       "Last minute perf unbreakage for ARM modules; spent a day in
        linux-next"
      
      * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        scripts/kallsyms: filter symbols not in kernel address space
      9dc8c89d
    • Vineet Gupta's avatar
      ARC: Incorrect mm reference used in vmalloc fault handler · 9c41f4ee
      Vineet Gupta authored
      A vmalloc fault needs to sync up PGD/PTE entry from init_mm to current
      task's "active_mm".  ARC vmalloc fault handler however was using mm.
      
      A vmalloc fault for non user task context (actually pre-userland, from
      init thread's open for /dev/console) caused the handler to deref NULL mm
      (for mm->pgd)
      
      The reasons it worked so far is amazing:
      
      1. By default (!SMP), vmalloc fault handler uses a cached value of PGD.
         In SMP that MMU register is repurposed hence need for mm pointer deref.
      
      2. In pre-3.12 SMP kernel, the problem triggering vmalloc didn't exist in
         pre-userland code path - it was introduced with commit 20bafb3d
         "n_tty: Move buffers into n_tty_data"
      Signed-off-by: default avatarVineet Gupta <vgupta@synopsys.com>
      Cc: Gilad Ben-Yossef <gilad@benyossef.com>
      Cc: Noam Camus <noamc@ezchip.com>
      Cc: stable@vger.kernel.org    #3.10 and 3.11
      Cc: Peter Hurley <peter@hurleysoftware.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9c41f4ee
    • Jason Wang's avatar
      net: flow_dissector: fail on evil iph->ihl · 6f092343
      Jason Wang authored
      We don't validate iph->ihl which may lead a dead loop if we meet a IPIP
      skb whose iph->ihl is zero. Fix this by failing immediately when iph->ihl
      is evil (less than 5).
      
      This issue were introduced by commit ec5efe79
      (rps: support IPIP encapsulation).
      
      Cc: Eric Dumazet <edumazet@google.com>
      Cc: Petr Matousek <pmatouse@redhat.com>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Daniel Borkmann <dborkman@redhat.com>
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6f092343
    • David S. Miller's avatar
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec · 2e19ef02
      David S. Miller authored
      Steffen Klassert says:
      
      ====================
      1) Fix a possible race on ipcomp scratch buffers because
         of too early enabled siftirqs. From Michal Kubecek.
      
      2) The current xfrm garbage collector threshold is too small
         for some workloads, resulting in bad performance on these
         workloads. Increase the threshold from 1024 to 32768.
      
      3) Some codepaths might not have a dst_entry attached to the
         skb when calling xfrm_decode_session(). So add a check
         to prevent a null pointer dereference in this case.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      2e19ef02
  5. 01 Nov, 2013 9 commits
    • Ming Lei's avatar
      scripts/kallsyms: filter symbols not in kernel address space · f6537f2f
      Ming Lei authored
      This patch uses CONFIG_PAGE_OFFSET to filter symbols which
      are not in kernel address space because these symbols are
      generally for generating code purpose and can't be run at
      kernel mode, so we needn't keep them in /proc/kallsyms.
      
      For example, on ARM there are some symbols which may be
      linked in relocatable code section, then perf can't parse
      symbols any more from /proc/kallsyms, this patch fixes the
      problem (introduced b9b32bf7)
      
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarMing Lei <tom.leiming@gmail.com>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      Cc: stable@vger.kernel.org
      f6537f2f
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9581b7d2
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "Two fixes:
      
         - Fix 'NMI handler took too long to run' false positives
      
           [ Genuine NMI overhead speedups will come for v3.13, this commit
             only fixes a measurement bug ]
      
         - Fix perf ring-buffer missed barrier causing (rare) ring-buffer data
           corruption on ppc64"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        perf/x86: Fix NMI measurements
        perf: Fix perf ring buffer memory ordering
      9581b7d2
    • Linus Torvalds's avatar
      Merge tag 'usb-3.12-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 9119e33e
      Linus Torvalds authored
      Pull USB fixes from Greg KH:
       "Here is a set of patches that revert all of the changes done to the
        pl2303 USB serial driver in the 3.12-rc timeframe, as it turns out
        they break some devices that work just fine on 3.11.  As it's not a
        good idea to break working systems, drop them all and they will be
        reworked for future kernel versions such that there is no breakage.
      
        I've also included a MAINTAINERS update for the USB serial subsystem
        and a new device id for the ftdi_sio driver as well"
      
      * tag 'usb-3.12-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
        USB: serial: ftdi_sio: add id for Z3X Box device
        USB: Maintainers change for usb serial drivers
        Revert "USB: pl2303: restrict the divisor based baud rate encoding method to the "HX" chip type"
        Revert "usb: pl2303: fix+improve the divsor based baud rate encoding method"
        Revert "usb: pl2303: do not round to the next nearest standard baud rate for the divisor based baud rate encoding method"
        Revert "usb: pl2303: remove 500000 baud from the list of standard baud rates"
        Revert "usb: pl2303: move the two baud rate encoding methods to separate functions"
        Revert "usb: pl2303: increase the allowed baud rate range for the divisor based encoding method"
        Revert "usb: pl2303: also use the divisor based baud rate encoding method for baud rates < 115200 with HX chips"
        Revert "usb: pl2303: add two comments concerning the supported baud rates with HX chips"
        Revert "pl2303: simplify the else-if contruct for type_1 chips in pl2303_startup()"
        Revert "pl2303: improve the chip type information output on startup"
        Revert "pl2303: improve the chip type detection/distinction"
        Revert "USB: pl2303: distinguish between original and cloned HX chips"
      9119e33e
    • Linus Torvalds's avatar
      Merge tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · f9adfbfb
      Linus Torvalds authored
      Pull more sound fixes from Takashi Iwai:
       "The fixes for random bugs that have been reported lately in the game:
        a few fixes in ASoC dpam and wm_hubs bugs spotted by Coverity, a
        one-liner HD-audio fixup, and a fix for Oops with DPCM.
      
        They are not so critically urgent bugs, but all small and safe"
      
      * tag 'sound-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: fix oops in snd_pcm_info() caused by ASoC DPCM
        ASoC: wm_hubs: Add missing break in hp_supply_event()
        ALSA: hda - Add a fixup for ASUS N76VZ
        ASoC: dapm: Return -ENOMEM in snd_soc_dapm_new_dai_widgets()
        ASoC: dapm: Fix source list debugfs outputs
      f9adfbfb
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux · 68e952d5
      Linus Torvalds authored
      Pull clock subsystem fixes from Mike Turquette.
      
      * tag 'clk-fixes-for-linus' of git://git.linaro.org/people/mturquette/linux:
        clk: fixup argument order when setting VCO parameters
        clk: socfpga: Fix incorrect sdmmc clock name
        clk: armada-370: fix tclk frequencies
        clk: nomadik: set all timers to use 2.4 MHz TIMCLK
      68e952d5
    • Greg Thelen's avatar
      memcg: remove incorrect underflow check · 6920a1bd
      Greg Thelen authored
      When a memcg is deleted mem_cgroup_reparent_charges() moves charged
      memory to the parent memcg.  As of v3.11-9444-g3ea67d06 "memcg: add per
      cgroup writeback pages accounting" there's bad pointer read.  The goal
      was to check for counter underflow.  The counter is a per cpu counter
      and there are two problems with the code:
      
       (1) per cpu access function isn't used, instead a naked pointer is used
           which easily causes oops.
       (2) the check doesn't sum all cpus
      
      Test:
        $ cd /sys/fs/cgroup/memory
        $ mkdir x
        $ echo 3 > /proc/sys/vm/drop_caches
        $ (echo $BASHPID >> x/tasks && exec cat) &
        [1] 7154
        $ grep ^mapped x/memory.stat
        mapped_file 53248
        $ echo 7154 > tasks
        $ rmdir x
        <OOPS>
      
      The fix is to remove the check.  It's currently dangerous and isn't
      worth fixing it to use something expensive, such as
      percpu_counter_sum(), for each reparented page.  __this_cpu_read() isn't
      enough to fix this because there's no guarantees of the current cpus
      count.  The only guarantees is that the sum of all per-cpu counter is >=
      nr_pages.
      
      Fixes: 3ea67d06 ("memcg: add per cgroup writeback pages accounting")
      Reported-and-tested-by: default avatarFlavio Leitner <fbl@redhat.com>
      Signed-off-by: default avatarGreg Thelen <gthelen@google.com>
      Reviewed-by: default avatarSha Zhengju <handai.szj@taobao.com>
      Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Signed-off-by: default avatarHugh Dickins <hughd@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6920a1bd
    • Tejun Heo's avatar
      sysfs: rename sysfs_assoc_lock and explain what it's about · 0cae60f9
      Tejun Heo authored
      sysfs_assoc_lock is an odd piece of locking.  In general, whoever owns
      a kobject is responsible for synchronizing sysfs operations and sysfs
      proper assumes that, for example, removal won't race with any other
      operation; however, this doesn't work for symlinking because an entity
      performing symlink doesn't usually own the target kobject and thus has
      no control over its removal.
      
      sysfs_assoc_lock synchronizes symlink operations against kobj->sd
      disassociation so that symlink code doesn't end up dereferencing
      already freed sysfs_dirent by racing with removal of the target
      kobject.
      
      This is quite obscure and the generic name of the lock and lack of
      comments make it difficult to understand its role.  Let's rename it to
      sysfs_symlink_target_lock and add comments explaining what's going on.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      0cae60f9
    • Tejun Heo's avatar
      sysfs: use generic_file_llseek() for sysfs_file_operations · 044e3bc3
      Tejun Heo authored
      13c589d5 ("sysfs: use seq_file when reading regular files")
      converted regular sysfs files to use seq_file.  The commit substituted
      generic_file_llseek() with seq_lseek() for llseek implementation.
      
      Before the change, all regular sysfs files were allowed to seek to any
      position in [0, PAGE_SIZE] as the file size is always PAGE_SIZE and
      generic_file_llseek() allows any seeking inside the range under file
      size; however, seq_lseek()'s behavior is different.  It traverses the
      output by repeatedly invoking ->show() until it reaches the target
      offset or traversal indicates EOF.  As seq_files are fully dynamic and
      may not end at all, it doesn't support seeking from the end
      (SEEK_END).
      
      Apparently, there are userland tools which uses SEEK_END to discover
      the buffer size to use and the switch to seq_lseek() disturbs them as
      SEEK_END fails with -EINVAL.
      
      The only benefits of using seq_lseek() instead of
      generic_file_llseek() are
      
      * Early failure.  If traversing to certain file position should fail,
        seq_lseek() will report such failures on lseek(2) instead of the
        following read/write operations.
      
      * EOF detection.  While SEEK_END is not supported, SEEK_SET/CUR +
        large offset can be used to detect eof - eof at the time of the seek
        anyway as the file size may change dynamically.
      
      Both aren't necessary for sysfs or prospect kernfs users.  Revert to
      genefic_file_llseek() and preserve the original behavior.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Reported-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Link: https://lkml.kernel.org/r/20131031114358.GA5551@osirisTested-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      044e3bc3
    • Trond Myklebust's avatar
      NFS: Fix a missing initialisation when reading the SELinux label · fcb63a9b
      Trond Myklebust authored
      Ensure that _nfs4_do_get_security_label() also initialises the
      SEQUENCE call correctly, by having it call into nfs4_call_sync().
      Reported-by: default avatarJeff Layton <jlayton@redhat.com>
      Cc: stable@vger.kernel.org # 3.11+
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      fcb63a9b