22 Jun, 2017

1 commit

  • Add a flag to indicate if a queue is rate-limited. Test the flag in
    NAPI poll handler and avoid rescheduling the queue if true, otherwise
    we risk locking up the host. The rescheduling will be done in the
    timer callback function.

    Reported-by: Jean-Louis Dupond
    Signed-off-by: Wei Liu
    Tested-by: Jean-Louis Dupond
    Reviewed-by: Paul Durrant
    Signed-off-by: David S. Miller

    Wei Liu
     

13 Mar, 2017

1 commit


05 Mar, 2017

1 commit

  • Pull networking fixes from David Miller:

    1) Fix double-free in batman-adv, from Sven Eckelmann.

    2) Fix packet stats for fast-RX path, from Joannes Berg.

    3) Netfilter's ip_route_me_harder() doesn't handle request sockets
    properly, fix from Florian Westphal.

    4) Fix sendmsg deadlock in rxrpc, from David Howells.

    5) Add missing RCU locking to transport hashtable scan, from Xin Long.

    6) Fix potential packet loss in mlxsw driver, from Ido Schimmel.

    7) Fix race in NAPI handling between poll handlers and busy polling,
    from Eric Dumazet.

    8) TX path in vxlan and geneve need proper RCU locking, from Jakub
    Kicinski.

    9) SYN processing in DCCP and TCP need to disable BH, from Eric
    Dumazet.

    10) Properly handle net_enable_timestamp() being invoked from IRQ
    context, also from Eric Dumazet.

    11) Fix crash on device-tree systems in xgene driver, from Alban Bedel.

    12) Do not call sk_free() on a locked socket, from Arnaldo Carvalho de
    Melo.

    13) Fix use-after-free in netvsc driver, from Dexuan Cui.

    14) Fix max MTU setting in bonding driver, from WANG Cong.

    15) xen-netback hash table can be allocated from softirq context, so use
    GFP_ATOMIC. From Anoob Soman.

    16) Fix MAC address change bug in bgmac driver, from Hari Vyas.

    17) strparser needs to destroy strp_wq on module exit, from WANG Cong.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (69 commits)
    strparser: destroy workqueue on module exit
    sfc: fix IPID endianness in TSOv2
    sfc: avoid max() in array size
    rds: remove unnecessary returned value check
    rxrpc: Fix potential NULL-pointer exception
    nfp: correct DMA direction in XDP DMA sync
    nfp: don't tell FW about the reserved buffer space
    net: ethernet: bgmac: mac address change bug
    net: ethernet: bgmac: init sequence bug
    xen-netback: don't vfree() queues under spinlock
    xen-netback: keep a local pointer for vif in backend_disconnect()
    netfilter: nf_tables: don't call nfnetlink_set_err() if nfnetlink_send() fails
    netfilter: nft_set_rbtree: incorrect assumption on lower interval lookups
    netfilter: nf_conntrack_sip: fix wrong memory initialisation
    can: flexcan: fix typo in comment
    can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer
    can: gs_usb: fix coding style
    can: gs_usb: Don't use stack memory for USB transfers
    ixgbe: Limit use of 2K buffers on architectures with 256B or larger cache lines
    ixgbe: update the rss key on h/w, when ethtool ask for it
    ...

    Linus Torvalds
     

04 Mar, 2017

2 commits

  • This leads to a BUG of the following form:

    [ 174.512861] switch: port 2(vif3.0) entered disabled state
    [ 174.522735] BUG: sleeping function called from invalid context at
    /home/build/linux-linus/mm/vmalloc.c:1441
    [ 174.523451] in_atomic(): 1, irqs_disabled(): 0, pid: 28, name: xenwatch
    [ 174.524131] CPU: 1 PID: 28 Comm: xenwatch Tainted: G W
    4.10.0upstream-11073-g4977ab6-dirty #1
    [ 174.524819] Hardware name: MSI MS-7680/H61M-P23 (MS-7680), BIOS V17.0
    03/14/2011
    [ 174.525517] Call Trace:
    [ 174.526217] show_stack+0x23/0x60
    [ 174.526899] dump_stack+0x5b/0x88
    [ 174.527562] ___might_sleep+0xde/0x130
    [ 174.528208] __might_sleep+0x35/0xa0
    [ 174.528840] ? _raw_spin_unlock_irqrestore+0x13/0x20
    [ 174.529463] ? __wake_up+0x40/0x50
    [ 174.530089] remove_vm_area+0x20/0x90
    [ 174.530724] __vunmap+0x1d/0xc0
    [ 174.531346] ? delete_object_full+0x13/0x20
    [ 174.531973] vfree+0x40/0x80
    [ 174.532594] set_backend_state+0x18a/0xa90
    [ 174.533221] ? dwc_scan_descriptors+0x24d/0x430
    [ 174.533850] ? kfree+0x5b/0xc0
    [ 174.534476] ? xenbus_read+0x3d/0x50
    [ 174.535101] ? xenbus_read+0x3d/0x50
    [ 174.535718] ? xenbus_gather+0x31/0x90
    [ 174.536332] ? ___might_sleep+0xf6/0x130
    [ 174.536945] frontend_changed+0x6b/0xd0
    [ 174.537565] xenbus_otherend_changed+0x7d/0x80
    [ 174.538185] frontend_changed+0x12/0x20
    [ 174.538803] xenwatch_thread+0x74/0x110
    [ 174.539417] ? woken_wake_function+0x20/0x20
    [ 174.540049] kthread+0xe5/0x120
    [ 174.540663] ? xenbus_printf+0x50/0x50
    [ 174.541278] ? __kthread_init_worker+0x40/0x40
    [ 174.541898] ret_from_fork+0x21/0x2c
    [ 174.548635] switch: port 2(vif3.0) entered disabled state

    This patch defers the vfree() until after the spinlock is released.

    Reported-by: Juergen Gross
    Signed-off-by: Paul Durrant
    Signed-off-by: David S. Miller

    Paul Durrant
     
  • This patch replaces use of 'be->vif' with 'vif' and hence generally
    makes the function look tidier. No semantic change.

    Signed-off-by: Paul Durrant
    Signed-off-by: David S. Miller

    Paul Durrant
     

03 Mar, 2017

1 commit


02 Mar, 2017

1 commit


23 Feb, 2017

1 commit

  • Pull networking updates from David Miller:
    "Highlights:

    1) Support TX_RING in AF_PACKET TPACKET_V3 mode, from Sowmini
    Varadhan.

    2) Simplify classifier state on sk_buff in order to shrink it a bit.
    From Willem de Bruijn.

    3) Introduce SIPHASH and it's usage for secure sequence numbers and
    syncookies. From Jason A. Donenfeld.

    4) Reduce CPU usage for ICMP replies we are going to limit or
    suppress, from Jesper Dangaard Brouer.

    5) Introduce Shared Memory Communications socket layer, from Ursula
    Braun.

    6) Add RACK loss detection and allow it to actually trigger fast
    recovery instead of just assisting after other algorithms have
    triggered it. From Yuchung Cheng.

    7) Add xmit_more and BQL support to mvneta driver, from Simon Guinot.

    8) skb_cow_data avoidance in esp4 and esp6, from Steffen Klassert.

    9) Export MPLS packet stats via netlink, from Robert Shearman.

    10) Significantly improve inet port bind conflict handling, especially
    when an application is restarted and changes it's setting of
    reuseport. From Josef Bacik.

    11) Implement TX batching in vhost_net, from Jason Wang.

    12) Extend the dummy device so that VF (virtual function) features,
    such as configuration, can be more easily tested. From Phil
    Sutter.

    13) Avoid two atomic ops per page on x86 in bnx2x driver, from Eric
    Dumazet.

    14) Add new bpf MAP, implementing a longest prefix match trie. From
    Daniel Mack.

    15) Packet sample offloading support in mlxsw driver, from Yotam Gigi.

    16) Add new aquantia driver, from David VomLehn.

    17) Add bpf tracepoints, from Daniel Borkmann.

    18) Add support for port mirroring to b53 and bcm_sf2 drivers, from
    Florian Fainelli.

    19) Remove custom busy polling in many drivers, it is done in the core
    networking since 4.5 times. From Eric Dumazet.

    20) Support XDP adjust_head in virtio_net, from John Fastabend.

    21) Fix several major holes in neighbour entry confirmation, from
    Julian Anastasov.

    22) Add XDP support to bnxt_en driver, from Michael Chan.

    23) VXLAN offloads for enic driver, from Govindarajulu Varadarajan.

    24) Add IPVTAP driver (IP-VLAN based tap driver) from Sainath Grandhi.

    25) Support GRO in IPSEC protocols, from Steffen Klassert"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1764 commits)
    Revert "ath10k: Search SMBIOS for OEM board file extension"
    net: socket: fix recvmmsg not returning error from sock_error
    bnxt_en: use eth_hw_addr_random()
    bpf: fix unlocking of jited image when module ronx not set
    arch: add ARCH_HAS_SET_MEMORY config
    net: napi_watchdog() can use napi_schedule_irqoff()
    tcp: Revert "tcp: tcp_probe: use spin_lock_bh()"
    net/hsr: use eth_hw_addr_random()
    net: mvpp2: enable building on 64-bit platforms
    net: mvpp2: switch to build_skb() in the RX path
    net: mvpp2: simplify MVPP2_PRS_RI_* definitions
    net: mvpp2: fix indentation of MVPP2_EXT_GLOBAL_CTRL_DEFAULT
    net: mvpp2: remove unused register definitions
    net: mvpp2: simplify mvpp2_bm_bufs_add()
    net: mvpp2: drop useless fields in mvpp2_bm_pool and related code
    net: mvpp2: remove unused 'tx_skb' field of 'struct mvpp2_tx_queue'
    net: mvpp2: release reference to txq_cpu[] entry after unmapping
    net: mvpp2: handle too large value in mvpp2_rx_time_coal_set()
    net: mvpp2: handle too large value handling in mvpp2_rx_pkts_coal_set()
    net: mvpp2: remove useless arguments in mvpp2_rx_{pkts, time}_coal_set
    ...

    Linus Torvalds
     

22 Feb, 2017

1 commit

  • Pull xen updates from Juergen Gross:
    "Xen features and fixes:

    - a series from Boris Ostrovsky adding support for booting Linux as
    Xen PVH guest

    - a series from Juergen Gross streamlining the xenbus driver

    - a series from Paul Durrant adding support for the new device model
    hypercall

    - several small corrections"

    * tag 'for-linus-4.11-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
    xen/privcmd: add IOCTL_PRIVCMD_RESTRICT
    xen/privcmd: Add IOCTL_PRIVCMD_DM_OP
    xen/privcmd: return -ENOTTY for unimplemented IOCTLs
    xen: optimize xenbus driver for multiple concurrent xenstore accesses
    xen: modify xenstore watch event interface
    xen: clean up xenbus internal headers
    xenbus: Neaten xenbus_va_dev_error
    xen/pvh: Use Xen's emergency_restart op for PVH guests
    xen/pvh: Enable CPU hotplug
    xen/pvh: PVH guests always have PV devices
    xen/pvh: Initialize grant table for PVH guests
    xen/pvh: Make sure we don't use ACPI_IRQ_MODEL_PIC for SCI
    xen/pvh: Bootstrap PVH guest
    xen/pvh: Import PVH-related Xen public interfaces
    xen/x86: Remove PVH support
    x86/boot/32: Convert the 32-bit pgtable setup code from assembly to C
    xen/manage: correct return value check on xenbus_scanf()
    x86/xen: Fix APIC id mismatch warning on Intel
    xen/netback: set default upper limit of tx/rx queues to 8
    xen/netfront: set default upper limit of tx/rx queues to 8

    Linus Torvalds
     

17 Feb, 2017

1 commit


14 Feb, 2017

1 commit

  • This patch fixes an issue where the type of counters in the queue(s)
    and interface are not in sync (queue counters are int, interface
    counters are long), causing incorrect reporting of tx/rx values
    of the vif interface and unclear counter overflows.
    This patch sets both counters to the u64 type.

    Signed-off-by: Mart van Santen
    Reviewed-by: Paul Durrant
    Signed-off-by: David S. Miller

    Mart van Santen
     

10 Feb, 2017

1 commit

  • Today a Xenstore watch event is delivered via a callback function
    declared as:

    void (*callback)(struct xenbus_watch *,
    const char **vec, unsigned int len);

    As all watch events only ever come with two parameters (path and token)
    changing the prototype to:

    void (*callback)(struct xenbus_watch *,
    const char *path, const char *token);

    is the natural thing to do.

    Apply this change and adapt all users.

    Cc: konrad.wilk@oracle.com
    Cc: roger.pau@citrix.com
    Cc: wei.liu2@citrix.com
    Cc: paul.durrant@citrix.com
    Cc: netdev@vger.kernel.org

    Signed-off-by: Juergen Gross
    Reviewed-by: Paul Durrant
    Reviewed-by: Wei Liu
    Reviewed-by: Roger Pau Monné
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: Boris Ostrovsky

    Juergen Gross
     

31 Jan, 2017

1 commit

  • napi_complete_done() allows to opt-in for gro_flush_timeout,
    added back in linux-3.19, commit 3b47d30396ba
    ("net: gro: add a per device gro flush timer")

    This allows for more efficient GRO aggregation without
    sacrifying latencies.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     

30 Jan, 2017

1 commit

  • The default for the maximum number of tx/rx queues of one interface is
    the number of cpus of the system today. As each queue pair reserves 512
    grant pages this default consumes a ridiculous number of grants for
    large guests.

    Limit the queue number to 8 as default. This value can be modified
    via a module parameter if required.

    Signed-off-by: Juergen Gross
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: Boris Ostrovsky

    Juergen Gross
     

19 Jan, 2017

2 commits


14 Dec, 2016

1 commit

  • Pull xen updates from Juergen Gross:
    "Xen features and fixes for 4.10

    These are some fixes, a move of some arm related headers to share them
    between arm and arm64 and a series introducing a helper to make code
    more readable.

    The most notable change is David stepping down as maintainer of the
    Xen hypervisor interface. This results in me sending you the pull
    requests for Xen related code from now on"

    * tag 'for-linus-4.10-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (29 commits)
    xen/balloon: Only mark a page as managed when it is released
    xenbus: fix deadlock on writes to /proc/xen/xenbus
    xen/scsifront: don't request a slot on the ring until request is ready
    xen/x86: Increase xen_e820_map to E820_X_MAX possible entries
    x86: Make E820_X_MAX unconditionally larger than E820MAX
    xen/pci: Bubble up error and fix description.
    xen: xenbus: set error code on failure
    xen: set error code on failures
    arm/xen: Use alloc_percpu rather than __alloc_percpu
    arm/arm64: xen: Move shared architecture headers to include/xen/arm
    xen/events: use xen_vcpu_id mapping for EVTCHNOP_status
    xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing
    xen-scsifront: Add a missing call to kfree
    MAINTAINERS: update XEN HYPERVISOR INTERFACE
    xenfs: Use proc_create_mount_point() to create /proc/xen
    xen-platform: use builtin_pci_driver
    xen-netback: fix error handling output
    xen: make use of xenbus_read_unsigned() in xenbus
    xen: make use of xenbus_read_unsigned() in xen-pciback
    xen: make use of xenbus_read_unsigned() in xen-fbfront
    ...

    Linus Torvalds
     

10 Nov, 2016

2 commits

  • The connect function prints an unintialized error code after an
    earlier initialization was removed:

    drivers/net/xen-netback/xenbus.c: In function 'connect':
    drivers/net/xen-netback/xenbus.c:938:3: error: 'err' may be used uninitialized in this function [-Werror=maybe-uninitialized]

    This prints it as -EINVAL instead, which seems to be the most
    appropriate error code. Before the patch that caused the warning,
    this would print a positive number returned by vsscanf() instead,
    which is also wrong. We probably don't need a backport though,
    as fixing the warning here should be sufficient.

    Fixes: f95842e7a9f2 ("xen: make use of xenbus_read_unsigned() in xen-netback")
    Fixes: 8d3d53b3e433 ("xen-netback: Add support for multiple queues")
    Signed-off-by: Arnd Bergmann
    Reviewed-by: Paul Durrant
    Signed-off-by: Juergen Gross

    Arnd Bergmann
     
  • For single items being collected this should be preferred as being more
    typesafe (as the compiler can check format string and to-be-written-to
    variable match) and more efficient (requiring one less parameter to be
    passed).

    Signed-off-by: Jan Beulich
    Reviewed-by: Paul Durrant
    Signed-off-by: David S. Miller

    Jan Beulich
     

07 Nov, 2016

1 commit

  • Use xenbus_read_unsigned() instead of xenbus_scanf() when possible.
    This requires to change the type of some reads from int to unsigned,
    but these cases have been wrong before: negative values are not allowed
    for the modified cases.

    Cc: wei.liu2@citrix.com
    Cc: paul.durrant@citrix.com
    Cc: netdev@vger.kernel.org

    Signed-off-by: Juergen Gross
    Reviewed-by: Paul Durrant
    Acked-by: David Vrabel

    Juergen Gross
     

21 Oct, 2016

1 commit

  • hyperv_net:
    - set min/max_mtu, per Haiyang, after rndis_filter_device_add

    virtio_net:
    - set min/max_mtu
    - remove virtnet_change_mtu

    vmxnet3:
    - set min/max_mtu

    xen-netback:
    - min_mtu = 0, max_mtu = 65517

    xen-netfront:
    - min_mtu = 0, max_mtu = 65535

    unisys/visor:
    - clean up defines a little to not clash with network core or add
    redundat definitions

    CC: netdev@vger.kernel.org
    CC: virtualization@lists.linux-foundation.org
    CC: "K. Y. Srinivasan"
    CC: Haiyang Zhang
    CC: "Michael S. Tsirkin"
    CC: Shrikrishna Khare
    CC: "VMware, Inc."
    CC: Wei Liu
    CC: Paul Durrant
    CC: David Kershner
    Signed-off-by: Jarod Wilson
    Reviewed-by: Haiyang Zhang
    Signed-off-by: David S. Miller

    Jarod Wilson
     

13 Oct, 2016

3 commits

  • Wiht the latest rework of the xen-netback driver, we get a warning
    on ARM about the types passed into min():

    drivers/net/xen-netback/rx.c: In function 'xenvif_rx_next_chunk':
    include/linux/kernel.h:739:16: error: comparison of distinct pointer types lacks a cast [-Werror]

    The reason is that XEN_PAGE_SIZE is not size_t here. There
    is no actual bug, and we can easily avoid the warning using the
    min_t() macro instead of min().

    Fixes: eb1723a29b9a ("xen-netback: refactor guest rx")
    Signed-off-by: Arnd Bergmann
    Acked-by: Paul Durrant
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • If a VIF has been ready for rx_stall_timeout (60s by default) and an
    Rx ring is drained of all requests an Rx stall will be incorrectly
    detected. When this occurs and the guest Rx queue is empty, the Rx
    ring's event index will not be set and the frontend will not raise an
    event when new requests are placed on the ring, permanently stalling
    the VIF.

    This is a regression introduced by eb1723a29b9a7 (xen-netback:
    refactor guest rx).

    Fix this by reinstating the setting of queue->last_rx_time when
    placing a packet onto the guest Rx ring.

    Signed-off-by: David Vrabel
    Reviewed-by: Paul Durrant
    Signed-off-by: David S. Miller

    David Vrabel
     
  • It is useful to be able to see the hash configuration when running tests.
    This patch adds a debugfs node for that purpose.

    The original version of this patch (commit c0c64c152389) was reverted due
    to build failures caused by a conflict with commit 0364a8824c02
    ("xen-netback: switch to threaded irq for control ring"). This new version
    of the patch is nearly identical to the original, the only difference
    being that creation of the debugfs node is predicated on 'ctrl_irq' being
    non-zero rather then the now non-existent 'ctrl_task'.

    Signed-off-by: Paul Durrant
    Cc: Wei Liu
    Cc: David S. Miller
    Acked-by: Wei Liu
    Signed-off-by: David S. Miller

    Paul Durrant
     

08 Oct, 2016

1 commit

  • In the case when a frontend only negotiates a single queue with xen-
    netback it is possible for a skbuff with a s/w hash to result in a
    hash extra_info segment being sent to the frontend even when no hash
    algorithm has been configured. (The ndo_select_queue() entry point makes
    sure the hash is not set if no algorithm is configured, but this entry
    point is not called when there is only a single queue). This can result
    in a frontend that is unable to handle extra_info segments being given
    such a segment, causing it to crash.

    This patch fixes the problem by clearing the hash in ndo_start_xmit()
    instead, which is clearly guaranteed to be called irrespective of the
    number of queues.

    Signed-off-by: Paul Durrant
    Cc: Wei Liu
    Acked-by: Wei Liu
    Signed-off-by: David S. Miller

    Paul Durrant
     

07 Oct, 2016

7 commits

  • This allows full 64K skbuffs (with 1500 mtu ethernet, composed of 45
    fragments) to be handled by netback for to-guest rx.

    Signed-off-by: Ross Lagerwall
    [re-based]
    Signed-off-by: Paul Durrant
    Reviewed-by: David Vrabel
    Signed-off-by: David S. Miller

    Ross Lagerwall
     
  • Instead of flushing the copy ops when an packet is complete, complete
    packets when their copy ops are done. This improves performance by
    reducing the number of grant copy hypercalls.

    Latency is still limited by the relatively small size of the copy
    batch.

    Signed-off-by: David Vrabel
    [re-based]
    Signed-off-by: Paul Durrant
    Signed-off-by: David S. Miller

    David Vrabel
     
  • Instead of only placing one skb on the guest rx ring at a time, process
    a batch of up-to 64. This improves performance by ~10% in some tests.

    Signed-off-by: David Vrabel
    [re-based]
    Signed-off-by: Paul Durrant
    Signed-off-by: David S. Miller

    David Vrabel
     
  • When an skb is removed from the guest rx queue, immediately wake the
    tx queue, instead of after processing them.

    Signed-off-by: David Vrabel
    [re-based]
    Signed-off-by: Paul Durrant
    Signed-off-by: David S. Miller

    David Vrabel
     
  • Refactor the to-guest (rx) path to:

    1. Push responses for completed skbs earlier, reducing latency.

    2. Reduce the per-queue memory overhead by greatly reducing the
    maximum number of grant copy ops in each hypercall (from 4352 to
    64). Each struct xenvif_queue is now only 44 kB instead of 220 kB.

    3. Make the code more maintainable.

    Signed-off-by: David Vrabel
    [re-based]
    Signed-off-by: Paul Durrant
    Signed-off-by: David S. Miller

    David Vrabel
     
  • As far as I am aware only very old Windows network frontends make use of
    this style of passing GSO packets from backend to frontend. These
    frontends can easily be replaced by the freely available Xen Project
    Windows PV network frontend, which uses the 'default' mechanism for
    passing GSO packets, which is also used by all Linux frontends.

    NOTE: Removal of this feature will not cause breakage in old Windows
    frontends. They simply will no longer receive GSO packets - the
    packets instead being fragmented in the backend.

    Signed-off-by: Paul Durrant
    Reviewed-by: David Vrabel
    Signed-off-by: David S. Miller

    Paul Durrant
     
  • The netback source module has become very large and somewhat confusing.
    This patch simply moves all code related to the backend to frontend (i.e
    guest side rx) data-path into a separate rx source module.

    This patch contains no functional change, it is code movement and
    minimal changes to avoid patch style-check issues.

    Signed-off-by: Paul Durrant
    Signed-off-by: David S. Miller

    Paul Durrant
     

23 Sep, 2016

2 commits


22 Sep, 2016

1 commit


17 Sep, 2016

1 commit

  • In case of error during netback_probe() (e.g. an entry missing on the
    xenstore) netback_remove() is called on the new device, which will set
    the device backend state to XenbusStateClosed by calling
    set_backend_state(). However, the backend state wasn't initialized by
    netback_probe() at this point, which will cause and invalid transaction
    and set_backend_state() to BUG().

    Initialize the backend state at the beginning of netback_probe() to
    XenbusStateInitialising, and create two new valid state transitions on
    set_backend_state(), from XenbusStateInitialising to XenbusStateClosed,
    and from XenbusStateInitialising to XenbusStateInitWait.

    Signed-off-by: Filipe Manco
    Acked-by: Wei Liu
    Signed-off-by: David S. Miller

    Filipe Manco
     

24 Aug, 2016

1 commit


19 Aug, 2016

1 commit


21 May, 2016

2 commits

  • A domain with a frontend that does not implement a control ring has been
    seen to cause a crash during domain save. This was apparently because
    the call to xenvif_deinit_hash() in xenvif_disconnect_ctrl() is made
    regardless of whether a control ring was connected, and hence
    xenvif_hash_init() was called.

    This patch brings the call to xenvif_deinit_hash() in
    xenvif_disconnect_ctrl() inside the if clause that checks whether the
    control ring event channel was connected. This is sufficient to ensure
    it is only called if xenvif_init_hash() was called previously.

    Signed-off-by: Paul Durrant
    Reported-by: Boris Ostrovsky
    Tested-by: Boris Ostrovsky
    Cc: Wei Liu
    Acked-by: Wei Liu
    Signed-off-by: David S. Miller

    Paul Durrant
     
  • The length checks on the grant table copy_ops for setting hash key and
    hash mapping are checking the local 'len' value which is correct in
    the case of the former but not the latter. This was picked up by
    static analysis checks.

    This patch replaces checks of 'len' with 'copy_op.len' in both cases
    to correct the incorrect check, keep the two checks consistent, and to
    make it clear what the checks are for.

    Signed-off-by: Paul Durrant
    Reported-by: Dan Carpenter
    Cc: Wei Liu
    Acked-by: Wei Liu
    Signed-off-by: David S. Miller

    Paul Durrant