20 Sep, 2013

1 commit

  • Pull networking fixes from David Miller:

    1) If the local_df boolean is set on an SKB we have to allocate a
    unique ID even if IP_DF is set in the ipv4 headers, from Ansis
    Atteka.

    2) Some fixups for the new chipset support that went into the sfc
    driver, from Ben Hutchings.

    3) Because SCTP bypasses a good chunk of, and actually duplicates, the
    logic of the ipv6 output path, some IPSEC things don't get done
    properly. Integrate SCTP better into the ipv6 output path so that
    these problems are fixed and such issues don't get missed in the
    future either. From Daniel Borkmann.

    4) Fix skge regressions added by the DMA mapping error return checking
    added in v3.10, from Mikulas Patocka.

    5) Kill some more IRQF_DISABLED references, from Michael Opdenacker.

    6) Fix races and deadlocks in the bridging code, from Hong Zhiguo.

    7) Fix error handling in tun_set_iff(), in particular don't leak
    resources. From Jason Wang.

    8) Prevent format-string injection into xen-netback driver, from Kees
    Cook.

    9) Fix regression added to netpoll ARP packet handling, in particular
    check for the right ETH_P_ARP protocol code. From Sonic Zhang.

    10) Try to deal with AMD IOMMU errors when using r8169 chips, from
    Francois Romieu.

    11) Cure freezes due to recent changes in the rt2x00 wireless driver,
    from Stanislaw Gruszka.

    12) Don't do SPI transfers (which can sleep) in interrupt context in
    cw1200 driver, from Solomon Peachy.

    13) Fix LEDs handling bug in 5720 tg3 chips already handled for 5719.
    From Nithin Sujir.

    14) Make xen_netbk_count_skb_slots() count the actual number of slots
    that will be used, taking into consideration packing and other
    issues that the transmit path will run into. From David Vrabel.

    15) Use the correct maximum age when calculating the bridge
    message_age_timer, from Chris Healy.

    16) Get rid of memory leaks in mcs7780 IRDA driver, from Alexey
    Khoroshilov.

    17) Netfilter conntrack extensions were converted to RCU but are not
    always freed properly using kfree_rcu(). Fix from Michal Kubecek.

    18) VF reset recovery not being done correctly in qlcnic driver, from
    Manish Chopra.

    19) Fix inverted test in ATM nicstar driver, from Andy Shevchenko.

    20) Missing workqueue destroy in cxgb4 error handling, from Wei Yang.

    21) Internal switch not initialized properly in bgmac driver, from Rafał
    Miłecki.

    22) Netlink messages report wrong local and remote addresses in IPv6
    tunneling, from Ding Zhi.

    23) ICMP redirects should not generate socket errors in DCCP and SCTP.
    We're still working out how this should be handled for RAW and UDP
    sockets. From Daniel Borkmann and Duan Jiong.

    24) We've had several bugs wherein the network namespace's loopback
    device gets accessed after it is free'd, NULL it out so that we can
    catch these problems more readily. From Eric W Biederman.

    25) Fix regression in TCP RTO calculations, from Neal Cardwell.

    26) Fix too early free of xen-netback network device when VIFs still
    exist. From Paul Durrant.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (87 commits)
    netconsole: fix a deadlock with rtnl and netconsole's mutex
    netpoll: fix NULL pointer dereference in netpoll_cleanup
    skge: fix broken driver
    ip: generate unique IP identificator if local fragmentation is allowed
    ip: use ip_hdr() in __ip_make_skb() to retrieve IP header
    xen-netback: Don't destroy the netdev until the vif is shut down
    net:dccp: do not report ICMP redirects to user space
    cnic: Fix crash in cnic_bnx2x_service_kcq()
    bnx2x, cnic, bnx2i, bnx2fc: Fix bnx2i and bnx2fc regressions.
    vxlan: Avoid creating fdb entry with NULL destination
    tcp: fix RTO calculated from cached RTT
    drivers: net: phy: cicada.c: clears warning Use #include instead of
    net loopback: Set loopback_dev to NULL when freed
    batman-adv: set the TAG flag for the vid passed to BLA
    netfilter: nfnetlink_queue: use network skb for sequence adjustment
    net: sctp: rfc4443: do not report ICMP redirects to user space
    net: usb: cdc_ether: use usb.h macros whenever possible
    net: usb: cdc_ether: fix checkpatch errors and warnings
    net: usb: cdc_ether: Use wwan interface for Telit modules
    ip6_tunnels: raddr and laddr are inverted in nl msg
    ...

    Linus Torvalds
     

19 Sep, 2013

1 commit

  • commit b9871bcfd211d316adee317608dab44c58d6ea2d
    bnx2x: VF RSS support - PF side

    changed the configuration of the doorbell HW and it broke iSCSI and FCoE.
    We fix this by making compatible changes to the doorbell address in bnx2i
    and bnx2fc. For the userspace driver, we need to pass a modified CID
    so that the existing userspace driver will calculate the correct doorbell
    address and continue to work.

    Signed-off-by: Ariel Elior
    Signed-off-by: Eddie Wai
    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     

16 Sep, 2013

1 commit

  • Pull misc SCSI driver updates from James Bottomley:
    "This patch set is a set of driver updates (megaraid_sas, fnic, lpfc,
    ufs, hpsa) we also have a couple of bug fixes (sd out of bounds and
    ibmvfc error handling) and the first round of esas2r checker fixes and
    finally the much anticipated big endian additions for megaraid_sas"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (47 commits)
    [SCSI] fnic: fnic Driver Tuneables Exposed through CLI
    [SCSI] fnic: Kernel panic while running sh/nosh with max lun cfg
    [SCSI] fnic: Hitting BUG_ON(io_req->abts_done) in fnic_rport_exch_reset
    [SCSI] fnic: Remove QUEUE_FULL handling code
    [SCSI] fnic: On system with >1.1TB RAM, VIC fails multipath after boot up
    [SCSI] fnic: FC stat param seconds_since_last_reset not getting updated
    [SCSI] sd: Fix potential out-of-bounds access
    [SCSI] lpfc 8.3.42: Update lpfc version to driver version 8.3.42
    [SCSI] lpfc 8.3.42: Fixed issue of task management commands having a fixed timeout
    [SCSI] lpfc 8.3.42: Fixed inconsistent spin lock usage.
    [SCSI] lpfc 8.3.42: Fix driver's abort loop functionality to skip IOs already getting aborted
    [SCSI] lpfc 8.3.42: Fixed failure to allocate SCSI buffer on PPC64 platform for SLI4 devices
    [SCSI] lpfc 8.3.42: Fix WARN_ON when driver unloads
    [SCSI] lpfc 8.3.42: Avoided making pci bar ioremap call during dual-chute WQ/RQ pci bar selection
    [SCSI] lpfc 8.3.42: Fixed driver iocbq structure's iocb_flag field running out of space
    [SCSI] lpfc 8.3.42: Fix crash on driver load due to cpu affinity logic
    [SCSI] lpfc 8.3.42: Fixed logging format of setting driver sysfs attributes hard to interpret
    [SCSI] lpfc 8.3.42: Fixed back to back RSCNs discovery failure.
    [SCSI] lpfc 8.3.42: Fixed race condition between BSG I/O dispatch and timeout handling
    [SCSI] lpfc 8.3.42: Fixed function mode field defined too small for not recognizing dual-chute mode
    ...

    Linus Torvalds
     

13 Sep, 2013

1 commit

  • Pull SCSI target updates from Nicholas Bellinger:
    "Lots of activity again this round for I/O performance optimizations
    (per-cpu IDA pre-allocation for vhost + iscsi/target), and the
    addition of new fabric independent features to target-core
    (COMPARE_AND_WRITE + EXTENDED_COPY).

    The main highlights include:

    - Support for iscsi-target login multiplexing across individual
    network portals
    - Generic Per-cpu IDA logic (kent + akpm + clameter)
    - Conversion of vhost to use per-cpu IDA pre-allocation for
    descriptors, SGLs and userspace page pointer list
    - Conversion of iscsi-target + iser-target to use per-cpu IDA
    pre-allocation for descriptors
    - Add support for generic COMPARE_AND_WRITE (AtomicTestandSet)
    emulation for virtual backend drivers
    - Add support for generic EXTENDED_COPY (CopyOffload) emulation for
    virtual backend drivers.
    - Add support for fast memory registration mode to iser-target (Vu)

    The patches to add COMPARE_AND_WRITE and EXTENDED_COPY support are of
    particular significance, which make us the first and only open source
    target to support the full set of VAAI primitives.

    Currently Linux clients are lacking upstream support to actually
    utilize these primitives. However, with server side support now in
    place for folks like MKP + ZAB working on the client, this logic once
    reserved for the highest end of storage arrays, can now be run in VMs
    on their laptops"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (50 commits)
    target/iscsi: Bump versions to v4.1.0
    target: Update copyright ownership/year information to 2013
    iscsi-target: Bump default TCP listen backlog to 256
    target: Fix >= v3.9+ regression in PR APTPL + ALUA metadata write-out
    iscsi-target; Bump default CmdSN Depth to 64
    iscsi-target: Remove unnecessary wait_for_completion in iscsi_get_thread_set
    iscsi-target: Add thread_set->ts_activate_sem + use common deallocate
    iscsi-target: Fix race with thread_pre_handler flush_signals + ISCSI_THREAD_SET_DIE
    target: remove unused including
    iser-target: introduce fast memory registration mode (FRWR)
    iser-target: generalize rdma memory registration and cleanup
    iser-target: move rdma wr processing to a shared function
    target: Enable global EXTENDED_COPY setup/release
    target: Add Third Party Copy (3PC) bit in INQUIRY response
    target: Enable EXTENDED_COPY setup in spc_parse_cdb
    target: Add support for EXTENDED_COPY copy offload emulation
    target: Avoid non-existent tg_pt_gp_mem in target_alua_state_check
    target: Add global device list for EXTENDED_COPY
    target: Make helpers non static for EXTENDED_COPY command setup
    target: Make spc_parse_naa_6h_vendor_specific non static
    ...

    Linus Torvalds
     

12 Sep, 2013

7 commits

  • Introduced module params to provide dynamic way of configuring
    queue depth.

    Added support to get max io throttle count through UCSM to
    configure maximum outstanding IOs supported by fnic and push
    that value to scsi mid-layer.

    Supported IO throttle values:

    UCSM IO THROTTLE VALUE FNIC MAX OUTSTANDING IOS
    ------------------------------------------------------
    16 (Default) 2048
    256

    Signed-off-by: Hiral Patel
    Signed-off-by: James Bottomley

    Hiral Patel
     
  • Kernel panics due to NULL lport while executing the log message because
    of synchronization issues between libfc and scsi transport fc. Checking
    for NULL pointers at the beginning of this routine would resolve the issue
    from kernel panic point of view.

    Signed-off-by: Sesidhar Baddel
    Signed-off-by: Hiral Patel
    Signed-off-by: James Bottomley

    Sesidhar Beddel
     
  • Hitting BUG_ON(io_req->abts_done) in fnic_rport_exch_reset in case of
    timing issue and also to some extent locking issue where abts and terminate
    is happening around same timing.

    The code changes are intended to update CMD_STATE(sc) and
    io_req->abts_done together.

    Signed-off-by: Sesidhar Beddel
    Signed-off-by: Hiral Patel
    Signed-off-by: James Bottomley

    Sesidhar Beddel
     
  • Remove fnic driver QUEUE_FULL handling code instead let SCSI mid layer
    handle queue full and use its algorithm to ramp down/up queue

    Signed-off-by: Suma Ramars
    Signed-off-by: Hiral Patel
    Signed-off-by: James Bottomley

    Suma Ramars
     
  • Issue was seen when SCSI buffer address is more than 40 bits in system
    with more than 1.1TB RAM. When SCSI buffer is passed to VIC, it is failing
    to map to correct buffer address, as DMA mask is set to 40 bits in driver
    initialization. Corrected DMA_MASK from 40-bits to 64-bits to avoid masking
    41-64 bits addresses.

    Signed-off-by: Brian Uchino
    Signed-off-by: Hiral Patel
    Signed-off-by: James Bottomley

    Brian Uchino
     
  • Code to reset fc_host statistics.
    echo 1 > /sys/class/fc_host/hostX/statistics/reset_statistics clears fc_host stats,
    the code also issues command to fnic firmware to clear vnic stats.

    Signed-off-by: Narsimhulu Musini
    Signed-off-by: Hiral Patel
    Signed-off-by: James Bottomley

    Narsimhulu Musini
     
  • This patch fixes an out-of-bounds error in sd_read_cache_type(), found
    by Google's AddressSanitizer tool. When the loop ends, we know that
    "offset" lies beyond the end of the data in the buffer, so no Caching
    mode page was found. In theory it may be present, but the buffer size
    is limited to 512 bytes.

    Signed-off-by: Alan Stern
    Reported-by: Dmitry Vyukov
    CC:
    Signed-off-by: James Bottomley

    Alan Stern
     

11 Sep, 2013

26 commits


07 Sep, 2013

3 commits

  • UIC attributes can be set with using DME_SET command for
    power mode change. For configuration the link capability
    attributes are used, which is updated after successful
    link startup.

    Signed-off-by: Seungwon Jeon
    Reviewed-by: Subhash Jadavani
    Signed-off-by: Santosh Y
    Signed-off-by: James Bottomley

    Seungwon Jeon
     
  • Setting PA_PWRMode using DME_SET triggers the power mode
    change. And then the result will be given by the HCS.UPMCRS.
    This operation should be done atomically.

    Signed-off-by: Seungwon Jeon
    Reviewed-by: Subhash Jadavani
    Tested-by: Yaniv Gardi
    Signed-off-by: Santosh Y
    Signed-off-by: James Bottomley

    Seungwon Jeon
     
  • Implements to support GET and SET operations of the DME.
    These operations are used to configure the behavior of
    the UNIPRO. Along with basic operation, {Peer/AttrSetType}
    can be mixed.

    Signed-off-by: Seungwon Jeon
    Reviewed-by: Subhash Jadavani
    Tested-by: Yaniv Gardi
    Signed-off-by: Santosh Y
    Signed-off-by: James Bottomley

    Seungwon Jeon