Commits on Jan 22, 2017
  1. Linux 4.10-rc5

    committed Jan 22, 2017
  2. Merge branch 'x86-urgent-for-linus' of git://…

    Pull x86 fix from Thomas Gleixner:
     "Restore the retrigger callbacks in the IO APIC irq chips. That
      addresses a long standing regression which got introduced with the
      rewrite of the x86 irq subsystem two years ago and went unnoticed so
    * 'x86-urgent-for-linus' of git://
      x86/ioapic: Restore IO-APIC irq_chip retrigger callback
    committed Jan 22, 2017
  3. Merge branch 'smp-urgent-for-linus' of git://…

    Pull smp/hotplug fix from Thomas Gleixner:
     "Remove an unused variable which is a leftover from the notifier
    * 'smp-urgent-for-linus' of git://
      cpu/hotplug: Remove unused but set variable in _cpu_down()
    committed Jan 22, 2017
  4. Merge tag 'for_linus' of git://…

    Pull virtio/vhost fixes from Michael Tsirkin:
     "Random fixes and cleanups that accumulated over the time"
    * tag 'for_linus' of git://
      virtio/s390: virtio: constify virtio_config_ops structures
      virtio/s390: add missing \n to end of dev_err message
      virtio/s390: support READ_STATUS command for virtio-ccw
      tools/virtio/ringtest: tweaks for s390
      tools/virtio/ringtest: fix for offline cpus
      virtio_console: fix a crash in config_work_handler
      vhost/scsi: silence uninitialized variable warning
      vhost: scsi: constify target_core_fabric_ops structures
    committed Jan 22, 2017
  5. Merge branch 'for-rc' of git://…

    Pull thermal management fixes from Zhang Rui:
     - fix a regression that thermal zone dynamically allocated sysfs
       attributes are freed before they're removed, which is introduced in
       4.10-rc1 (Jacob von Chorus)
     - fix a boot warning because deprecated hwmon API is used (Fabio
     - a couple of fixes for rockchip thermal driver (Brian Norris, Caesar
    * 'for-rc' of git://
      thermal: rockchip: fixes the conversion table
      thermal: core: move tz->device.groups cleanup to thermal_release
      thermal: thermal_hwmon: Convert to hwmon_device_register_with_info()
      thermal: rockchip: handle set_trips without the trip points
      thermal: rockchip: optimize the conversion table
      thermal: rockchip: fixes invalid temperature case
      thermal: rockchip: don't pass table structs by value
      thermal: rockchip: improve conversion error messages
    committed Jan 22, 2017
  6. Merge tag 'usb-4.10-rc5' of git://…

    Pull USB fixes from Greg KH:
     "Here are a few small USB fixes for 4.10-rc5.
      Most of these are gadget/dwc2 fixes for reported issues, all of these
      have been in linux-next for a while. The last one is a single xhci
      WARN_ON removal to handle an issue that the dwc3 driver is hitting in
      the 4.10-rc tree. The warning is harmless and needs to be removed, and
      a "real" fix that is more complex will show up in 4.11-rc1 for this
      That last patch hasn't been in linux-next yet due to the weekend
      timing, but it's a "simple" WARN_ON() removal so what could go wrong?
    Famous last words.
    * tag 'usb-4.10-rc5' of git://
      xhci: remove WARN_ON if dma mask is not set for platform devices
      usb: dwc2: host: fix Wmaybe-uninitialized warning
      usb: dwc2: gadget: Fix GUSBCFG.USBTRDTIM value
      usb: gadget: udc: atmel: remove memory leak
      usb: dwc3: exynos fix axius clock error path to do cleanup
      usb: dwc2: Avoid suspending if we're in gadget mode
      usb: dwc2: use u32 for DT binding parameters
      usb: gadget: f_fs: Fix iterations on endpoints.
      usb: dwc2: gadget: Fix DMA memory freeing
      usb: gadget: composite: Fix function used to free memory
    committed Jan 22, 2017
  7. Merge branch 'libnvdimm-fixes' of git://…

    Pull libnvdimm fixes from Dan Williams:
     "Two fixes:
       - a regression fix for the multiple-pmem-namespace-per-region support
         added in 4.9. Even if an existing environment is not using that
         feature the act of creating and a destroying a single namespace
         with the ndctl utility will lead to the proliferation of extra
         unwanted namespace devices.
       - a fix for the error code returned from the pmem driver when the
         memcpy_mcsafe() routine returns -EFAULT. Btrfs seems to be the only
         block I/O consumer that tries to parse the meaning of the error
         code when it is non-zero.
      Neither of these fixes are critical, the namespace leak is awkward in
      that it can cause device naming to change and complicates debugging
      namespace initialization issues. The error code fix is included out of
      caution for what other consumers might be expecting -EIO for block I/O
    * 'libnvdimm-fixes' of git://
      libnvdimm, namespace: fix pmem namespace leak, delete when size set to zero
      pmem: return EIO on read_pmem() failure
    committed Jan 22, 2017
  8. Merge tag 'clk-fixes-for-linus' of git://…

    Pull clk fix from Stephen Boyd:
     "One fix for Samsung Exynos524x SoCs where recent IOMMU patches have
      caused some of these clocks to turn off when they were always left on
    * tag 'clk-fixes-for-linus' of git://
      clk/samsung: exynos542x: mark some clocks as critical
    committed Jan 22, 2017
  9. Merge tag 'arc-4.10-rc5' of git://…

    Pull ARC fixes from Vineet Gupta:
     - more intc updates [Yuriv]
     - fix module build when unwinder is turned off
     - IO Coherency Programming model updates
     - other miscellaneous
    * tag 'arc-4.10-rc5' of git://
      ARC: Revert "ARC: mm: IOC: Don't enable IOC by default"
      ARC: mm: split arc_cache_init to allow __init reaping of bulk
      ARCv2: IOC: Use actual memory size to setup aperture size
      ARCv2: IOC: Adhere to progamming model guidelines to avoid DMA corruption
      ARCv2: IOC: refactor the IOC and SLC operations into own functions
      ARC: module: Fix !CONFIG_ARC_DW2_UNWIND builds
      ARCv2: save r30 on kernel entry as gcc uses it for code-gen
      ARCv2: IRQ: Call entry/exit functions for chained handlers in MCIP
      ARC: IRQ: Use hwirq instead of virq in mask/unmask
      ARC: mmu: clarify the MMUv3 programming model
    committed Jan 22, 2017
  10. Merge tag 'powerpc-4.10-2' of git://…

    Pull powerpc fixes from Michael Ellerman:
     "Two fixes for fallout from the hugetlb changes we merged this cycle.
      Ten other fixes, four only affect Power9, and the rest are a bit of a
      mixture though nothing terrible.
      Thanks to: Aneesh Kumar K.V, Anton Blanchard, Benjamin Herrenschmidt,
      Dave Martin, Gavin Shan, Madhavan Srinivasan, Nicholas Piggin, Reza
    * tag 'powerpc-4.10-2' of git://
      powerpc: Ignore reserved field in DCSR and PVR reads and writes
      powerpc/ptrace: Preserve previous TM fprs/vsrs on short regset write
      powerpc/ptrace: Preserve previous fprs/vsrs on short regset write
      powerpc/perf: Use MSR to report privilege level on P9 DD1
      selftest/powerpc: Wrong PMC initialized in pmc56_overflow test
      powerpc/eeh: Enable IO path on permanent error
      powerpc/perf: Fix PM_BRU_CMPL event code for power9
      powerpc/mm: Fix little-endian 4K hugetlb
      powerpc/mm/hugetlb: Don't panic when we don't find the default huge page size
      powerpc: Fix pgtable pmd cache init
      powerpc/icp-opal: Fix missing KVM case and harden replay
      powerpc/mm: Fix memory hotplug BUG() on radix
    committed Jan 22, 2017
Commits on Jan 20, 2017
  1. Merge tag 'for-linus' of git://

    Pull KVM fixes from Radim Krčmář:
       - Fix for timer setup on VHE machines
       - Drop spurious warning when the timer races against the vcpu running
       - Prevent a vgic deadlock when the initialization fails (for stable)
       - Fix a kernel memory exposure (for stable)
       - Fix exception injection when hypercall instruction cannot be
    * tag 'for-linus' of git://
      KVM: s390: do not expose random data via facility bitmap
      KVM: x86: fix fixing of hypercalls
      KVM: arm/arm64: vgic: Fix deadlock on error handling
      KVM: arm64: Access CNTHCTL_EL2 bit fields correctly on VHE systems
      KVM: arm/arm64: Fix occasional warning from the timer work function
    committed Jan 20, 2017
  2. Merge branch 'scsi-target-for-v4.10' of git://…

    Pull SCSI target fixes from Bart Van Assche:
     - two small fixes for the ibmvscsis driver
     - ten patches with bug fixes for the target mode of the qla2xxx driver
     - four patches that avoid that the "sparse" and "smatch" static
       analyzer tools report false positives for the qla2xxx code base
    * 'scsi-target-for-v4.10' of git://
      qla2xxx: Disable out-of-order processing by default in firmware
      qla2xxx: Fix erroneous invalid handle message
      qla2xxx: Reduce exess wait during chip reset
      qla2xxx: Terminate exchange if corrupted
      qla2xxx: Fix crash due to null pointer access
      qla2xxx: Collect additional information to debug fw dump
      qla2xxx: Reset reserved field in firmware options to 0
      qla2xxx: Set tcm_qla2xxx version to automatically track qla2xxx version
      qla2xxx: Include ATIO queue in firmware dump when in target mode
      qla2xxx: Fix wrong IOCB type assumption
      qla2xxx: Avoid that building with W=1 triggers complaints about set-but-not-used variables
      qla2xxx: Move two arrays from header files to .c files
      qla2xxx: Declare an array with file scope static
      qla2xxx: Fix indentation
      ibmvscsis: Fix sleeping in interrupt context
      ibmvscsis: Fix max transfer length
    committed Jan 20, 2017
  3. Merge branch 'for-linus' of git://

    Pull block fixes from Jens Axboe:
     "Just two small fixes for this -rc.
      One is just killing an unused variable from Keith, but the other
      fixes a performance regression for nbd in this series, where we
      inadvertently flipped when we set MSG_MORE when outputting data"
    * 'for-linus' of git://
      nbd: only set MSG_MORE when we have more to send
      blk-mq: Remove unused variable
    committed Jan 20, 2017
  4. Merge tag 'spi-fix-v4.10-rc4' of git://…

    Pull spi fixes from Mark Brown:
     "The usual small smattering of driver specific fixes. A few bits that
      stand out here:
       - the R-Car patches adding fallbacks are just adding new compatible
         strings to the driver so that device trees are written in a more
         robustly future proof fashion, this isn't strictly a fix but it's
         just new IDs and it's better to get it into mainline sooner to
         improve the ABI
       - the DesignWare "switch to new API part 2" patch is actually a
         misleadingly titled fix for a bit that got missed in the original
    * tag 'spi-fix-v4.10-rc4' of git://
      spi: davinci: use dma_mapping_error()
      spi: spi-axi: Free resources on error path
      spi: pxa2xx: add missed break
      spi: dw-mid: switch to new dmaengine_terminate_* API (part 2)
      spi: dw: Make debugfs name unique between instances
      spi: sh-msiof: Do not use C++ style comment
      spi: armada-3700: Set mode bits correctly
      spi: armada-3700: fix unsigned compare than zero on irq
      spi: sh-msiof: Add R-Car Gen 2 and 3 fallback bindings
      spi: SPI_FSL_DSPI should depend on HAS_DMA
    committed Jan 20, 2017
  5. Merge tag 'ceph-for-4.10-rc5' of git://

    Pull ceph fixes from Ilya Dryomov:
     "Three filesystem endianness fixes (one goes back to the 2.6 era, all
      marked for stable) and two fixups for this merge window's patches"
    * tag 'ceph-for-4.10-rc5' of git://
      ceph: fix bad endianness handling in parse_reply_info_extra
      ceph: fix endianness bug in frag_tree_split_cmp
      ceph: fix endianness of getattr mask in ceph_d_revalidate
      libceph: make sure ceph_aes_crypt() IV is aligned
      ceph: fix ceph_get_caps() interruption
    committed Jan 20, 2017
  6. Merge branch 'overlayfs-linus' of git://…

    Pull overlayfs fix from Miklos Szeredi:
     "This fixes a regression introduced in this cycle"
    * 'overlayfs-linus' of git://
      ovl: fix possible use after free on redirect dir lookup
    committed Jan 20, 2017
  7. Merge branch 'for-linus' of git://…

    Pull fuse fixes from Miklos Szeredi:
     "Fix two regressions, one introduced in 4.9 and a less recent one in
    * 'for-linus' of git://
      fuse: fix time_to_jiffies nsec sanity check
      fuse: clear FR_PENDING flag when moving requests out of pending queue
    committed Jan 20, 2017
  8. Merge tag 'scsi-fixes' of git://…

    Pull SCSI fixes from James Bottomley:
     "This is a set of 12 fixes including the mpt3sas one that was causing
      hangs on ATA passthrough.
      The others are a couple of zoned block device fixes, a SAS device
      detection bug which lead to SATA drives not being matched to bays, two
      qla2xxx MSI fixes, a qla2xxx req for rsp confusion caused by cut and
      paste, and a few other minor fixes"
    * tag 'scsi-fixes' of git://
      scsi: mpt3sas: fix hang on ata passthrough commands
      scsi: lpfc: Set elsiocb contexts to NULL after freeing it
      scsi: sd: Ignore zoned field for host-managed devices
      scsi: sd: Fix wrong DPOFUA disable in sd_read_cache_type
      scsi: bfa: fix wrongly initialized variable in bfad_im_bsg_els_ct_request()
      scsi: ses: Fix SAS device detection in enclosure
      scsi: libfc: Fix variable name in fc_set_wwpn
      scsi: lpfc: avoid double free of resource identifiers
      scsi: qla2xxx: remove irq_affinity_notifier
      scsi: qla2xxx: fix MSI-X vector affinity
      scsi: qla2xxx: Fix apparent cut-n-paste error.
      scsi: qla2xxx: Get mutex lock before checking optrom_state
    committed Jan 20, 2017
  9. Merge tag 'arm64-fixes' of git://…

    Pull arm64 fixes from Catalin Marinas:
     - avoid potential stack information leak via the ptrace ABI caused by
       uninitialised variables
     - SWIOTLB DMA API fall-back allocation fix when the SWIOTLB buffer is
       not initialised (all RAM is suitable for 32-bit DMA masks)
     - fix the bad_mode function returning for unhandled exceptions coming
       from user space
     - fix name clash in __page_to_voff()
    * tag 'arm64-fixes' of git://
      arm64: avoid returning from bad_mode
      arm64/ptrace: Reject attempts to set incomplete hardware breakpoint fields
      arm64/ptrace: Avoid uninitialised struct padding in fpr_set()
      arm64/ptrace: Preserve previous registers for short regset write
      arm64/ptrace: Preserve previous registers for short regset write
      arm64/ptrace: Preserve previous registers for short regset write
      arm64: mm: avoid name clash in __page_to_voff()
      arm64: Fix swiotlb fallback allocation
    committed Jan 20, 2017
  10. Merge tag 'kvm-s390-master-4.10-1' of git://…

    KVM: s390: Fix for 4.10 (via kvm/master)
    Fix a kernel memory exposure.
    rkrcmar committed Jan 20, 2017
  11. KVM: s390: do not expose random data via facility bitmap

    kvm_s390_get_machine() populates the facility bitmap by copying bytes
    from the host results that are stored in a 256 byte array in the prefix
    page. The KVM code does use the size of the target buffer (2k), thus
    copying and exposing unrelated kernel memory (mostly machine check
    related logout data).
    Let's use the size of the source buffer instead.  This is ok, as the
    target buffer will always be greater or equal than the source buffer as
    the KVM internal buffers (and thus S390_ARCH_FAC_LIST_SIZE_BYTE) cover
    the maximum possible size that is allowed by STFLE, which is 256
    doublewords. All structures are zero allocated so we can leave bytes
    256-2047 unchanged.
    Add a similar fix for kvm_arch_init_vm().
    Reported-by: Heiko Carstens <>
    [found with smatch]
    Signed-off-by: Christian Borntraeger <>
    Acked-by: Cornelia Huck <>
    borntraeger committed Jan 12, 2017
  12. xhci: remove WARN_ON if dma mask is not set for platform devices

    The warn on is a bit too much, we will anyway set the dma mask if not set
    The main reason for this fix is that 4.10-rc1  has a dwc3 change that
    pass a parent sysdev dev pointer instead of setting the dma mask of
    its xhci platform device. xhci platform driver can then get more
    attributes from the sysdev than just the dma mask.
    The usb core and xhci changes are not yet in 4.10, and a fix like
    this was preferred instead of taking those big changes this late in
    the rc-cycle.
    Signed-off-by: Mathias Nyman <>
    Signed-off-by: Greg Kroah-Hartman <>
    matnyman committed with gregkh Jan 20, 2017
  13. powerpc: Ignore reserved field in DCSR and PVR reads and writes

    IBM bit 31 (for the rest of us - bit 0) is a reserved field in the
    instruction definition of mtspr and mfspr. Hardware is encouraged to
    (and does) ignore it.
    As a result, if userspace executes an mtspr DSCR with the reserved bit
    set, we get a DSCR facility unavailable exception. The kernel fails to
    match against the expected value/mask, and we silently return to
    userspace to try and re-execute the same mtspr DSCR instruction. We
    loop forever until the process is killed.
    We should do something here, and it seems mirroring what hardware does
    is the better option vs killing the process. While here, relax the
    matching of mfspr PVR too.
    Signed-off-by: Anton Blanchard <>
    Signed-off-by: Michael Ellerman <>
    antonblanchard committed with mpe Jan 19, 2017
  14. powerpc/ptrace: Preserve previous TM fprs/vsrs on short regset write

    Ensure that if userspace supplies insufficient data to PTRACE_SETREGSET
    to fill all the check pointed registers, the thread's old check pointed
    registers are preserved.
    Fixes: 9d3918f ("powerpc/ptrace: Enable support for NT_PPC_CVSX")
    Fixes: 19cbcbf ("powerpc/ptrace: Enable support for NT_PPC_CFPR")
    Cc: # v4.8+
    Signed-off-by: Dave Martin <>
    Signed-off-by: Michael Ellerman <>
    Dave Martin committed with mpe Jan 5, 2017
  15. powerpc/ptrace: Preserve previous fprs/vsrs on short regset write

    Ensure that if userspace supplies insufficient data to PTRACE_SETREGSET
    to fill all the registers, the thread's old registers are preserved.
    Fixes: c6e6771 ("powerpc: Introduce VSX thread_struct and CONFIG_VSX")
    Cc: # v2.6.27+
    Signed-off-by: Dave Martin <>
    Signed-off-by: Michael Ellerman <>
    Dave Martin committed with mpe Jan 5, 2017
  16. Merge tag 'armsoc-fixes' of git://…

    Pull ARM SoC fixes from Olof Johansson:
     "We've been sitting on fixes for a while, and they keep trickling in at
      a low rate. Nothing in here comes across as particularly scary or
      noteworthy, for the most part it's a large collection of small DT
    * tag 'armsoc-fixes' of git:// (24 commits)
      ARM: dts: da850-evm: fix read access to SPI flash
      ARM: dts: omap3: Fix Card Detect and Write Protect on Logic PD SOM-LV
      ARM64: dts: meson-gxbb-odroidc2: Disable SCPI DVFS
      ARM: dts: OMAP5 / DRA7: indicate that SATA port 0 is available.
      ARM: dts: NSP: Fix DT ranges error
      ARM: multi_v7_defconfig: set bcm47xx watchdog
      ARM: multi_v7_defconfig: fix config typo
      ARM: dts: dra72-evm-revc: fix typo in ethernet-phy node
      soc: ti: wkup_m3_ipc: Fix error return code in wkup_m3_ipc_probe()
      ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation
      ARM: dts: sunxi: Change node name for pwrseq pin on Olinuxino-lime2-emmc
      ARM: dts: sun8i: Support DTB build for NanoPi M1
      ARM: dts: sun6i: hummingbird: Enable display engine again
      ARM: dts: sun6i: Disable display pipeline by default
      ARM, ARM64: dts: drop "arm,amba-bus" in favor of "simple-bus" part 3
      ARM: dts: imx6qdl-nitrogen6_som2: fix sgtl5000 pinctrl init
      ARM: dts: imx6qdl-nitrogen6_max: fix sgtl5000 pinctrl init
      ARM: OMAP1: DMA: Correct the number of logical channels
      ARM: dts: am335x-icev2: Remove the duplicated pinmux setting
      ARM: OMAP2+: Fix WL1283 Bluetooth Baud Rate
    committed Jan 20, 2017
  17. Merge tag 'xfs-for-linux-4.10-rc5-1' of git://…

    Pull xfs fixes from Darrick Wong:
     "I have a few more patches this week -- one to make the behavior of a
      quota id ioctl consistent with the other filesystems, and the rest
      improve validation of i_mode & i_size values coming into xfs so that
      we don't read off the ends of arrays or crash when handed garbage disk
       - inode i_mode sanitization
       - prevent overflows in getnextquota
       - minor build fixes"
    * tag 'xfs-for-linux-4.10-rc5-1' of git://
      xfs: fix xfs_mode_to_ftype() prototype
      xfs: don't wrap ID in xfs_dq_get_next_id
      xfs: sanity check inode di_mode
      xfs: sanity check inode mode when creating new dentry
      xfs: replace xfs_mode_to_ftype table with switch statement
      xfs: add missing include dependencies to xfs_dir2.h
      xfs: sanity check directory inode di_size
      xfs: make the ASSERT() condition likely
    committed Jan 20, 2017
  18. ARM: dts: da850-evm: fix read access to SPI flash

    Read access to the SPI flash are broken on da850-evm, i.e. the data
    read is not what is actually programmed on the flash.
    According to the datasheet for the M25P64 part present on the da850-evm,
    if the SPI frequency is higher than 20MHz then the READ command is not
    usable anymore and only the FAST_READ command can be used to read data.
    This commit specifies in the DTS that we should use FAST_READ command
    instead of the READ command.
    Tested-by: Kevin Hilman <>
    Signed-off-by: Fabien Parent <>
    [ subject line adjustment]
    Signed-off-by: Sekhar Nori <>
    Signed-off-by: Olof Johansson <>
    Fabo committed with olofj Jan 17, 2017
Commits on Jan 19, 2017
  1. virtio/s390: virtio: constify virtio_config_ops structures

    Declare virtio_config_ops structure as const as it is only stored in the
    config field of a virtio_device structure. This field is of type const, so
    virtio_config_ops structures having this property can be declared const.
    Done using Coccinelle:
    @r1 disable optional_qualifier@
    identifier i;
    position p;
    static struct virtio_config_ops i@p={...};
    identifier r1.i;
    position p;
    struct virtio_ccw_device x;
    position p!={r1.p,ok1.p};
    identifier r1.i;
    @depends on !bad disable optional_qualifier@
    identifier r1.i;
    struct virtio_config_ops i;
    File size before and after applying the patch remains the same.
    text	data	bss	dec	hex   filename
    9235	296	32928	42459	a5db  drivers/s390/virtio/virtio_ccw.o
    Signed-off-by: Bhumika Goyal <>
    Message-Id: <>
    Signed-off-by: Christian Borntraeger <>
    Signed-off-by: Cornelia Huck <>
    bhumikagoyal committed with mstsirkin Jan 13, 2017
  2. virtio/s390: add missing \n to end of dev_err message

    Trival fix, dev_err message is missing a \n, so add it.
    Signed-off-by: Colin Ian King <>
    Message-Id: <>
    Signed-off-by: Christian Borntraeger <>
    Signed-off-by: Cornelia Huck <>
    ColinIanKing committed with mstsirkin Sep 27, 2016
  3. virtio/s390: support READ_STATUS command for virtio-ccw

    As virtio-1 introduced the possibility of the device manipulating the
    status byte, revision 2 of the virtio-ccw transport introduced a means
    of getting the status byte from the device via READ_STATUS. Let's wire
    it up for revisions >= 2 and fall back to returning the stored status
    byte if not supported.
    Signed-off-by: Pierre Morel <>
    Signed-off-by: Cornelia Huck <>
    Pierre Morel committed with mstsirkin Aug 28, 2015
  4. tools/virtio/ringtest: tweaks for s390

    Make ringtest work on s390 too.
    Signed-off-by: Halil Pasic <>
    Acked-by: Sascha Silbe <>
    Signed-off-by: Cornelia Huck <>
    Halil Pasic committed with mstsirkin Sep 2, 2016
  5. tools/virtio/ringtest: fix for offline cpus

    Since ef1b144 ("tools/virtio/ringtest: fix to work
    without /dev/cpu") uses seq 0 $HOST_AFFINITY as the list
    of ids of the CPUs to run the command on (assuming ids of online CPUs
    are consecutive and start from 0), where $HOST_AFFINITY is the highest
    CPU id in the system previously determined using lscpu.  This can fail
    on systems with offline CPUs.
    Instead let's use lscpu to determine the list of online CPUs.
    Signed-off-by: Halil Pasic <>
    Fixes: ef1b144 ("tools/virtio/ringtest: fix to work without
    Reviewed-by: Sascha Silbe <>
    Signed-off-by: Cornelia Huck <>
    Halil Pasic committed with mstsirkin Aug 29, 2016
  6. virtio_console: fix a crash in config_work_handler

    Using control_work instead of config_work as the 3rd argument to
    container_of results in an invalid portdev pointer. Indeed, the work
    structure is initialized as below:
        INIT_WORK(&portdev->config_work, &config_work_handler);
    It leads to a crash when portdev->vdev is dereferenced later. This
    is triggered when the guest uses a virtio-console without multiport
    feature and receives a config_changed virtio interrupt.
    Signed-off-by: G. Campana <>
    Reviewed-by: Amit Shah <>
    Signed-off-by: Michael S. Tsirkin <>
    cappsule committed with mstsirkin Jan 19, 2017