24 Sep, 2012

4 commits

  • If the mapping of FCP device bus ID and corresponding subchannel
    is modified while the Linux image is suspended, the resume of FCP
    devices can fail. During resume, zfcp gets callbacks from cio regarding
    the modified subchannels but they can be arbitrarily mixed with the
    restore/resume callback. Since the cio callbacks would trigger
    adapter recovery, zfcp could wakeup before the resume callback.
    Therefore, ignore the cio callbacks regarding subchannels while
    being suspended. We can safely do so, since zfcp does not deal itself
    with subchannels. For problem determination purposes, we still trace the
    ignored callback events.

    The following kernel messages could be seen on resume:

    kernel: : parent should not be sleeping

    As part of adapter reopen recovery, zfcp performs auto port scanning
    which can erroneously try to register new remote ports with
    scsi_transport_fc and the device core code complains about the parent
    (adapter) still sleeping.

    kernel: zfcp.3dff9c: :\
    Setting up the QDIO connection to the FCP adapter failed

    kernel: zfcp.574d43: :\
    ERP cannot recover an error on the FCP device

    In such cases, the adapter gave up recovery and remained blocked along
    with its child objects: remote ports and LUNs/scsi devices. Even the
    adapter shutdown as part of giving up recovery failed because the ccw
    device state remained disconnected. Later, the corresponding remote
    ports ran into dev_loss_tmo. As a result, the LUNs were erroneously
    not available again after resume.

    Even a manually triggered adapter recovery (e.g. sysfs attribute
    failed, or device offline/online via sysfs) could not recover the
    adapter due to the remaining disconnected state of the corresponding
    ccw device.

    Signed-off-by: Steffen Maier
    Cc: #2.6.32+
    Signed-off-by: James Bottomley

    Steffen Maier
     
  • The pl vector has scount elements, i.e. pl[scount-1] is the last valid
    element. For maximum sized requests, payload->counter == scount after
    the last loop iteration. Therefore, do bounds checking first (with
    boolean shortcut) to not access the invalid element pl[scount].

    Do not trust the maximum sbale->scount value from the HBA
    but ensure we won't access the pl vector out of our allocated bounds.
    While at it, clean up scoping and prevent unnecessary memset.

    Minor fix for 86a9668a8d29ea711613e1cb37efa68e7c4db564
    "[SCSI] zfcp: support for hardware data router"

    Signed-off-by: Steffen Maier
    Reviewed-by: Martin Peschke
    Cc: #3.2+
    Signed-off-by: James Bottomley

    Steffen Maier
     
  • Duplicate fssrh_2 from a54ca0f62f953898b05549391ac2a8a4dad6482b
    "[SCSI] zfcp: Redesign of the debug tracing for HBA records."
    complicates distinction of generic status read response from
    local link up.
    Duplicate fsscth1 from 2c55b750a884b86dea8b4cc5f15e1484cc47a25c
    "[SCSI] zfcp: Redesign of the debug tracing for SAN records."
    complicates distinction of good common transport response from
    invalid port handle.

    Signed-off-by: Steffen Maier
    Reviewed-by: Martin Peschke
    Cc: #2.6.38+
    Signed-off-by: James Bottomley

    Steffen Maier
     
  • Commit a9277e7783651d4e0a849f7988340b1c1cf748a4
    "[SCSI] scsi_transport_fc: Getting FC Port Speed in sync with FC-GS"
    changed the semantics of FC_PORTSPEED defines to
    FDMI port attributes of FC-HBA/SM-HBA
    which is different from the previous bit reversed
    Report Port Speed Capabilities (RPSC) ELS of FC-GS/FC-LS.

    Zfcp showed "10 Gbit" instead of "4 Gbit" for supported_speeds.
    It now uses explicit bit conversion as the other LLDs already
    do, in order to be independent of the kernel bit semantics.
    See also http://marc.info/?l=linux-scsi&m=134452926830730&w=2

    Signed-off-by: Steffen Maier
    Reviewed-by: Martin Peschke
    Cc: #3.4+
    Signed-off-by: James Bottomley

    Steffen Maier
     

08 Aug, 2012

1 commit

  • If the last block of the HSA is read, EVSTATE_ALL_STORED is returned
    by SCLP. Because of a missing break in the switch statement two trace
    entries are written in this case: "all stored" and "part stored".

    This patch adds the missing break and also adds a "fall through"
    comment to improve the readability.

    Signed-off-by: Michael Holzheu
    Reported-by: David A Gilbert
    Signed-off-by: Martin Schwidefsky

    Michael Holzheu
     

27 Jul, 2012

1 commit

  • Pull networking updates and fixes from David Miller:

    1) Reinstate the no-ref optimization for input route lookups in ipv4 to
    fix some routing cache removal perf regressions.

    2) Make TCP socket pre-demux work on ipv6 side too, from Eric Dumazet.

    3) Get RX hash value from correct place in be2net driver, from
    Sarveshwar Bandi.

    4) Validation of FIB cached routes missing critical check, from Eric
    Dumazet.

    5) EEH support in mlx4 driver, from Kleber Sacilotto de Souza.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (23 commits)
    ipv6: Early TCP socket demux
    ipv4: Fix input route performance regression.
    pch_gbe: vlan skb len fix
    pch_gbe: add extra clean tx
    pch_gbe: fix transmit watchdog timeout
    ixgbe: fix panic while dumping packets on Tx hang with IOMMU
    be2net: Fix to parse RSS hash from Receive completions correctly.
    net/mlx4_en: Limit the RFS filter IDs to be < RPS_NO_FILTER
    hyperv: Add error handling to rndis_filter_device_add()
    hyperv: Add a check for ring_size value
    ipv4: rt_cache_valid must check expired routes
    net/pch_gpe: Cannot disable ethernet autonegation
    qeth: repair crash in qeth_l3_vlan_rx_kill_vid()
    netiucv: cleanup attribute usage
    net: wiznet add missing HAS_IOMEM dependency
    be2net: Missing byteswap in be_get_fw_log_level causes oops on PowerPC
    mlx4: Add support for EEH error recovery
    cdc-ncm: tag Ericsson WWAN devices (eg F5521gw) with FLAG_WWAN
    wanmain: comparing array with NULL
    caif: fix NULL pointer check
    ...

    Linus Torvalds
     

26 Jul, 2012

2 commits

  • Commit efc73f4b "net: Fix memory leak - vlan_info struct" adds deletion of
    VLAN 0 for devices with feature NETIF_F_HW_VLAN_FILTER. For driver
    qeth these are the layer 3 devices. Usually there exists no
    separate vlan net_device for VLAN 0. Thus the qeth functions
    qeth_l3_free_vlan_addresses4() and qeth_l3_free_vlan_addresses6()
    require an extra checking if function __vlan_find_dev_deep()
    returns with a net_device.

    Cc: stable@vger.kernel.org
    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    frank.blaschka@de.ibm.com
     
  • Let the driver core handle device attribute creation and removal. This
    will simplify the code and eliminates races between attribute
    availability and userspace notification via uevents.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Frank Blaschka
    Acked-by: Ursula Braun
    Signed-off-by: David S. Miller

    frank.blaschka@de.ibm.com
     

25 Jul, 2012

2 commits

  • Pull KVM updates from Avi Kivity:
    "Highlights include
    - full big real mode emulation on pre-Westmere Intel hosts (can be
    disabled with emulate_invalid_guest_state=0)
    - relatively small ppc and s390 updates
    - PCID/INVPCID support in guests
    - EOI avoidance; 3.6 guests should perform better on 3.6 hosts on
    interrupt intensive workloads)
    - Lockless write faults during live migration
    - EPT accessed/dirty bits support for new Intel processors"

    Fix up conflicts in:
    - Documentation/virtual/kvm/api.txt:

    Stupid subchapter numbering, added next to each other.

    - arch/powerpc/kvm/booke_interrupts.S:

    PPC asm changes clashing with the KVM fixes

    - arch/s390/include/asm/sigp.h, arch/s390/kvm/sigp.c:

    Duplicated commits through the kvm tree and the s390 tree, with
    subsequent edits in the KVM tree.

    * tag 'kvm-3.6-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (93 commits)
    KVM: fix race with level interrupts
    x86, hyper: fix build with !CONFIG_KVM_GUEST
    Revert "apic: fix kvm build on UP without IOAPIC"
    KVM guest: switch to apic_set_eoi_write, apic_write
    apic: add apic_set_eoi_write for PV use
    KVM: VMX: Implement PCID/INVPCID for guests with EPT
    KVM: Add x86_hyper_kvm to complete detect_hypervisor_platform check
    KVM: PPC: Critical interrupt emulation support
    KVM: PPC: e500mc: Fix tlbilx emulation for 64-bit guests
    KVM: PPC64: booke: Set interrupt computation mode for 64-bit host
    KVM: PPC: bookehv: Add ESR flag to Data Storage Interrupt
    KVM: PPC: bookehv64: Add support for std/ld emulation.
    booke: Added crit/mc exception handler for e500v2
    booke/bookehv: Add host crit-watchdog exception support
    KVM: MMU: document mmu-lock and fast page fault
    KVM: MMU: fix kvm_mmu_pagetable_walk tracepoint
    KVM: MMU: trace fast page fault
    KVM: MMU: fast path of handling guest page fault
    KVM: MMU: introduce SPTE_MMU_WRITEABLE bit
    KVM: MMU: fold tlb flush judgement into mmu_spte_update
    ...

    Linus Torvalds
     
  • Pull networking changes from David S Miller:

    1) Remove the ipv4 routing cache. Now lookups go directly into the FIB
    trie and use prebuilt routes cached there.

    No more garbage collection, no more rDOS attacks on the routing
    cache. Instead we now get predictable and consistent performance,
    no matter what the pattern of traffic we service.

    This has been almost 2 years in the making. Special thanks to
    Julian Anastasov, Eric Dumazet, Steffen Klassert, and others who
    have helped along the way.

    I'm sure that with a change of this magnitude there will be some
    kind of fallout, but such things ought the be simple to fix at this
    point. Luckily I'm not European so I'll be around all of August to
    fix things :-)

    The major stages of this work here are each fronted by a forced
    merge commit whose commit message contains a top-level description
    of the motivations and implementation issues.

    2) Pre-demux of established ipv4 TCP sockets, saves a route demux on
    input.

    3) TCP SYN/ACK performance tweaks from Eric Dumazet.

    4) Add namespace support for netfilter L4 conntrack helpers, from Gao
    Feng.

    5) Add config mechanism for Energy Efficient Ethernet to ethtool, from
    Yuval Mintz.

    6) Remove quadratic behavior from /proc/net/unix, from Eric Dumazet.

    7) Support for connection tracker helpers in userspace, from Pablo
    Neira Ayuso.

    8) Allow userspace driven TX load balancing functions in TEAM driver,
    from Jiri Pirko.

    9) Kill off NLMSG_PUT and RTA_PUT macros, more gross stuff with
    embedded gotos.

    10) TCP Small Queues, essentially minimize the amount of TCP data queued
    up in the packet scheduler layer. Whereas the existing BQL (Byte
    Queue Limits) limits the pkt_sched --> netdevice queuing levels,
    this controls the TCP --> pkt_sched queueing levels.

    From Eric Dumazet.

    11) Reduce the number of get_page/put_page ops done on SKB fragments,
    from Alexander Duyck.

    12) Implement protection against blind resets in TCP (RFC 5961), from
    Eric Dumazet.

    13) Support the client side of TCP Fast Open, basically the ability to
    send data in the SYN exchange, from Yuchung Cheng.

    Basically, the sender queues up data with a sendmsg() call using
    MSG_FASTOPEN, then they do the connect() which emits the queued up
    fastopen data.

    14) Avoid all the problems we get into in TCP when timers or PMTU events
    hit a locked socket. The TCP Small Queues changes added a
    tcp_release_cb() that allows us to queue work up to the
    release_sock() caller, and that's what we use here too. From Eric
    Dumazet.

    15) Zero copy on TX support for TUN driver, from Michael S. Tsirkin.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1870 commits)
    genetlink: define lockdep_genl_is_held() when CONFIG_LOCKDEP
    r8169: revert "add byte queue limit support".
    ipv4: Change rt->rt_iif encoding.
    net: Make skb->skb_iif always track skb->dev
    ipv4: Prepare for change of rt->rt_iif encoding.
    ipv4: Remove all RTCF_DIRECTSRC handliing.
    ipv4: Really ignore ICMP address requests/replies.
    decnet: Don't set RTCF_DIRECTSRC.
    net/ipv4/ip_vti.c: Fix __rcu warnings detected by sparse.
    ipv4: Remove redundant assignment
    rds: set correct msg_namelen
    openvswitch: potential NULL deref in sample()
    tcp: dont drop MTU reduction indications
    bnx2x: Add new 57840 device IDs
    tcp: avoid oops in tcp_metrics and reset tcpm_stamp
    niu: Change niu_rbr_fill() to use unlikely() to check niu_rbr_add_page() return value
    niu: Fix to check for dma mapping errors.
    net: Fix references to out-of-scope variables in put_cmsg_compat()
    net: ethernet: davinci_emac: add pm_runtime support
    net: ethernet: davinci_emac: Remove unnecessary #include
    ...

    Linus Torvalds
     

20 Jul, 2012

1 commit

  • Remove the file name from the comment at top of many files. In most
    cases the file name was wrong anyway, so it's rather pointless.

    Also unify the IBM copyright statement. We did have a lot of sightly
    different statements and wanted to change them one after another
    whenever a file gets touched. However that never happened. Instead
    people start to take the old/"wrong" statements to use as a template
    for new files.
    So unify all of them in one go.

    Signed-off-by: Heiko Carstens

    Heiko Carstens
     

17 Jul, 2012

1 commit


16 Jul, 2012

2 commits


05 Jul, 2012

1 commit


14 Jun, 2012

1 commit


05 Jun, 2012

3 commits


01 Jun, 2012

1 commit

  • Pull s390 patches from Heiko Carstens:
    "A couple of s390 patches for the 3.5 merge window. Just a collection
    of bug fixes and cleanups."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/uaccess: fix access_ok compile warnings
    s390/cmpxchg: select HAVE_CMPXCHG_LOCAL option
    s390/cmpxchg: fix sign extension bugs
    s390/cmpxchg: fix 1 and 2 byte memory accesses
    s390/cmpxchg: fix compile warnings specific to s390
    s390/cmpxchg: add missing memory barrier to cmpxchg64
    s390/cpu: remove cpu "capabilities" sysfs attribute
    s390/kernel: Fix smp_call_ipl_cpu() for offline CPUs
    s390/kernel: Introduce memcpy_absolute() function
    s390/headers: replace __s390x__ with CONFIG_64BIT where possible
    s390/headers: remove #ifdef __KERNEL__ from not exported headers
    s390/irq: split irq stats for cpu-measurement alert facilities
    s390/kexec: Move early_pgm_check_handler() to text section
    s390/kdump: Use real mode for PSW restart and kexec
    s390/kdump: Account /sys/kernel/kexec_crash_size changes in OS info
    s390/kernel: Remove OS info init function call and diag 308 for kdump

    Linus Torvalds
     

25 May, 2012

1 commit

  • Pull KVM changes from Avi Kivity:
    "Changes include additional instruction emulation, page-crossing MMIO,
    faster dirty logging, preventing the watchdog from killing a stopped
    guest, module autoload, a new MSI ABI, and some minor optimizations
    and fixes. Outside x86 we have a small s390 and a very large ppc
    update.

    Regarding the new (for kvm) rebaseless workflow, some of the patches
    that were merged before we switch trees had to be rebased, while
    others are true pulls. In either case the signoffs should be correct
    now."

    Fix up trivial conflicts in Documentation/feature-removal-schedule.txt
    arch/powerpc/kvm/book3s_segment.S and arch/x86/include/asm/kvm_para.h.

    I suspect the kvm_para.h resolution ends up doing the "do I have cpuid"
    check effectively twice (it was done differently in two different
    commits), but better safe than sorry ;)

    * 'next' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (125 commits)
    KVM: make asm-generic/kvm_para.h have an ifdef __KERNEL__ block
    KVM: s390: onereg for timer related registers
    KVM: s390: epoch difference and TOD programmable field
    KVM: s390: KVM_GET/SET_ONEREG for s390
    KVM: s390: add capability indicating COW support
    KVM: Fix mmu_reload() clash with nested vmx event injection
    KVM: MMU: Don't use RCU for lockless shadow walking
    KVM: VMX: Optimize %ds, %es reload
    KVM: VMX: Fix %ds/%es clobber
    KVM: x86 emulator: convert bsf/bsr instructions to emulate_2op_SrcV_nobyte()
    KVM: VMX: unlike vmcs on fail path
    KVM: PPC: Emulator: clean up SPR reads and writes
    KVM: PPC: Emulator: clean up instruction parsing
    kvm/powerpc: Add new ioctl to retreive server MMU infos
    kvm/book3s: Make kernel emulated H_PUT_TCE available for "PR" KVM
    KVM: PPC: bookehv: Fix r8/r13 storing in level exception handler
    KVM: PPC: Book3S: Enable IRQs during exit handling
    KVM: PPC: Fix PR KVM on POWER7 bare metal
    KVM: PPC: Fix stbux emulation
    KVM: PPC: bookehv: Use lwz/stw instead of PPC_LL/PPC_STL for 32-bit fields
    ...

    Linus Torvalds
     

24 May, 2012

2 commits


23 May, 2012

1 commit

  • Pull TTY updates from Greg Kroah-Hartman:
    "Here's the big TTY/serial driver pull request for the 3.5-rc1 merge
    window.

    Nothing major in here, just lots of incremental changes from Alan and
    Jiri reworking some tty core things to behave better and to get a more
    solid grasp on some of the nasty tty locking issues.

    There are a few tty and serial driver updates in here as well.

    All of this has been in the linux-next releases for a while with no
    problems.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'tty-3.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (115 commits)
    serial: bfin_uart: Make MMR access compatible with 32 bits bf609 style controller.
    serial: bfin_uart: RTS and CTS MMRs can be either 16-bit width or 32-bit width.
    serial: bfin_uart: narrow the reboot condition in DMA tx interrupt
    serial: bfin_uart: Adapt bf5xx serial driver to bf60x serial4 controller.
    Revert "serial_core: Update buffer overrun statistics."
    tty: hvc_xen: NULL dereference on allocation failure
    tty: Fix LED error return
    tty: Allow uart_register/unregister/register
    tty: move global ldisc idle waitqueue to the individual ldisc
    serial8250-em: Add DT support
    serial8250-em: clk_get() IS_ERR() error handling fix
    serial_core: Update buffer overrun statistics.
    tty: drop the pty lock during hangup
    cris: fix missing tty arg in wait_event_interruptible_tty call
    tty/amiserial: Add missing argument for tty_unlock()
    tty_lock: Localise the lock
    pty: Lock the devpts bits privately
    tty_lock: undo the old tty_lock use on the ctty
    serial8250-em: Emma Mobile UART driver V2
    Add missing call to uart_update_timeout()
    ...

    Linus Torvalds
     

22 May, 2012

1 commit

  • Pull s390 updates from Martin Schwidefsky:
    "Just a random collection of bug-fixes and cleanups, nothing new in
    this merge request."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (46 commits)
    s390/ap: Fix wrong or missing comments
    s390/ap: move receive callback to message struct
    s390/dasd: re-prioritize partition detection message
    s390/qeth: reshuffle initialization
    s390/qeth: cleanup drv attr usage
    s390/claw: cleanup drv attr usage
    s390/lcs: cleanup drv attr usage
    s390/ctc: cleanup drv attr usage
    s390/ccwgroup: remove ccwgroup_create_from_string
    s390/qeth: stop using struct ccwgroup driver for discipline callbacks
    s390/qeth: switch to ccwgroup_create_dev
    s390/claw: switch to ccwgroup_create_dev
    s390/lcs: switch to ccwgroup_create_dev
    s390/ctcm: switch to ccwgroup_create_dev
    s390/ccwgroup: exploit ccwdev_by_dev_id
    s390/ccwgroup: introduce ccwgroup_create_dev
    s390: fix race on TIF_MCCK_PENDING
    s390/barrier: make use of fast-bcr facility
    s390/barrier: cleanup barrier functions
    s390/claw: remove "eieio" calls
    ...

    Linus Torvalds
     

18 May, 2012

1 commit

  • Currently qemu/kvm on s390 uses a guest mapping that does not
    allow the guest backing page table to be write-protected to
    support older systems. On those older systems a host write
    protection fault will be delivered to the guest.

    Newer systems allow to write-protect the guest backing memory
    and let the fault be delivered to the host, thus allowing COW.

    Use a capability bit to tell qemu if that is possible.

    Signed-off-by: Christian Borntraeger
    Acked-by: Heiko Carstens
    Signed-off-by: Marcelo Tosatti

    Christian Borntraeger
     

17 May, 2012

2 commits

  • The qeth layer3 driver is notified about IP address changes.
    Changes concerning qeth driven network interfaces have to be
    forwarded to the OSA-card. This includes IP addresses of VLAN
    interfaces with a qeth device as base device. Function
    qeth_l3_verify_vlan_dev() determines if the net_device of the
    IP event belongs to a vlan device belonging to a qeth device
    as real device. This function is broken starting with commit
    7ff0bcf676f7ed224ce21b58c7858c8e527068b2 , which means IP
    addresses of VLAN devices are no longer set at the base qeth
    device. The patch repairs function qeth_l3_verify_vlan_dev().

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    frank.blaschka@de.ibm.com
     
  • Commit 1abd2296b4a1ee7b6a883541c3ede52042a09521 starts removing
    token ring from qeth_l3. This patch removes the rest of token
    ring related code from the driver.

    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Frank Blaschka
     

16 May, 2012

12 commits