13 Mar, 2014

5 commits

  • Heinz points out that adding buffers to a broken virtqueue (which
    should "never happen") still works. Failing allows drivers to detect
    and complain about broken devices.

    Now drivers are robust, we can add this extra check.

    Reported-by: Heinz Graalfs
    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • A bad implementation of virtio might cause us to mark the virtqueue
    broken: we'll dev_err() in that case, and the device is useless, but
    let's not BUG().

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • When adding or removing 100G from a balloon:

    BUG: soft lockup - CPU#0 stuck for 22s! [vballoon:367]

    We have a wait_event_interruptible(), but the condition is always true
    (more ballooning to do) so we don't ever sleep. We also have a
    wait_event() for the host to ack, but that is also always true as QEMU
    is synchronous for balloon operations.

    Reported-by: Gopesh Kumar Chaudhary
    Cc: stable@kernel.org
    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • As result of deprecation of MSI-X/MSI enablement functions
    pci_enable_msix() and pci_enable_msi_block() all drivers
    using these two interfaces need to be updated to use the
    new pci_enable_msi_range() or pci_enable_msi_exact()
    and pci_enable_msix_range() or pci_enable_msix_exact()
    interfaces.

    Signed-off-by: Alexander Gordeev
    Acked-by: Michael S. Tsirkin
    Signed-off-by: Rusty Russell

    Alexander Gordeev
     
  • In commit bb478d8b167 virtio_ring: plug kmemleak false positive,
    kmemleak_ignore was introduced. This broke compilation of virtio_test:

    cc -g -O2 -Wall -I. -I ../../usr/include/ -Wno-pointer-sign
    -fno-strict-overflow -fno-strict-aliasing -fno-common -MMD
    -U_FORTIFY_SOURCE -c -o virtio_ring.o ../../drivers/virtio/virtio_ring.c
    ../../drivers/virtio/virtio_ring.c: In function ‘vring_add_indirect’:
    ../../drivers/virtio/virtio_ring.c:177:2: warning: implicit declaration
    of function ‘kmemleak_ignore’ [-Wimplicit-function-declaration]
    kmemleak_ignore(desc);
    ^
    cc virtio_test.o virtio_ring.o -o virtio_test
    virtio_ring.o: In function `vring_add_indirect':
    tools/virtio/../../drivers/virtio/virtio_ring.c:177:
    undefined reference to `kmemleak_ignore'

    Add a dummy header for tools/virtio, and add #incldue
    to drivers/virtio/virtio_ring.c so it is picked up by the userspace
    tools.

    Signed-off-by: Joel Stanley
    Signed-off-by: Rusty Russell

    Joel Stanley
     

23 Jan, 2014

1 commit


16 Jan, 2014

1 commit


05 Dec, 2013

1 commit

  • According to the virtio spec, the device configuration field
    that should be updated after an inflation or deflation
    operation is the 'actual' field, not the 'num_pages' one.

    Commit 855e0c5288177bcb193f6f6316952d2490478e1c swapped them
    in update_balloon_size(). Fix it.

    Signed-off-by: Luiz Capitulino
    Signed-off-by: Rusty Russell
    Fixes: 855e0c5288177bcb193f6f6316952d2490478e1c

    Luiz Capitulino
     

04 Dec, 2013

1 commit


15 Nov, 2013

1 commit

  • Pull virtio updates from Rusty Russell:
    "Nothing really exciting: some groundwork for changing virtio endian,
    and some robustness fixes for broken virtio devices, plus minor
    tweaks"

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    virtio_scsi: verify if queue is broken after virtqueue_get_buf()
    x86, asmlinkage, lguest: Pass in globals into assembler statement
    virtio: mmio: fix signature checking for BE guests
    virtio_ring: adapt to notify() returning bool
    virtio_net: verify if queue is broken after virtqueue_get_buf()
    virtio_console: verify if queue is broken after virtqueue_get_buf()
    virtio_blk: verify if queue is broken after virtqueue_get_buf()
    virtio_ring: add new function virtqueue_is_broken()
    virtio_test: verify if virtqueue_kick() succeeded
    virtio_net: verify if virtqueue_kick() succeeded
    virtio_ring: let virtqueue_{kick()/notify()} return a bool
    virtio_ring: change host notification API
    virtio_config: remove virtio_config_val
    virtio: use size-based config accessors.
    virtio_config: introduce size-based accessors.
    virtio_ring: plug kmemleak false positive.
    virtio: pm: use CONFIG_PM_SLEEP instead of CONFIG_PM

    Linus Torvalds
     

07 Nov, 2013

1 commit

  • As virtio-mmio config registers are specified to be little-endian,
    using readl() to read the magic value and then memcmp() to check it
    fails on BE (as readl() has an implicit swab).

    Fix it by encoding the magic value as an integer instead of a string.

    Cc: Michael S. Tsirkin
    Signed-off-by: Marc Zyngier
    Acked-by: Pawel Moll
    Signed-off-by: Rusty Russell

    Marc Zyngier
     

05 Nov, 2013

1 commit


29 Oct, 2013

3 commits

  • Add new function virtqueue_is_broken(). Callers of virtqueue_get_buf()
    should check for a broken queue.

    Signed-off-by: Heinz Graalfs
    Signed-off-by: Rusty Russell

    Heinz Graalfs
     
  • virtqueue_{kick()/notify()} should exploit the new host notification API.
    If the notify call returned with a negative value the host kick failed
    (e.g. a kick triggered after a device was hot-unplugged). In this case
    the virtqueue is set to 'broken' and false is returned, otherwise true.

    Signed-off-by: Heinz Graalfs
    Signed-off-by: Rusty Russell

    Heinz Graalfs
     
  • Currently a host kick error is silently ignored and not reflected in
    the virtqueue of a particular virtio device.

    Changing the notify API for guest->host notification seems to be one
    prerequisite in order to be able to handle such errors in the context
    where the kick is triggered.

    This patch changes the notify API. The notify function must return a
    bool return value. It returns false if the host notification failed.

    Signed-off-by: Heinz Graalfs
    Signed-off-by: Rusty Russell

    Heinz Graalfs
     

17 Oct, 2013

3 commits

  • The dev_attrs field of struct bus_type is going away soon, dev_groups
    should be used instead. This converts the virtio bus code to use the
    correct field.

    Cc: Rusty Russell
    Cc: "Michael S. Tsirkin"
    Cc:
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This lets the transport do endian conversion if necessary, and insulates
    the drivers from the difference.

    Most drivers can use the simple helpers virtio_cread() and virtio_cwrite().

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • unreferenced object 0xffff88003d467e20 (size 32):
    comm "softirq", pid 0, jiffies 4295197765 (age 6.364s)
    hex dump (first 32 bytes):
    28 19 bf 3d 00 00 00 00 0c 00 00 00 01 00 01 00 (..=............
    02 dc 51 3c 00 00 00 00 56 00 00 00 00 00 00 00 ..Q] kmemleak_alloc+0x59/0xc0
    [] __kmalloc+0xf3/0x180
    [] vring_add_indirect+0x36/0x280
    [] virtqueue_add_outbuf+0xbf/0x4e0
    [] start_xmit+0x1a0/0x3b0
    [] dev_hard_start_xmit+0x2d1/0x4d0
    [] sch_direct_xmit+0xf2/0x1c0
    [] dev_queue_xmit+0x1c8/0x460
    [] ip6_finish_output2+0x1d7/0x470
    [] ip6_finish_output+0x90/0xb0
    [] ip6_output+0x37/0xb0
    [] igmp6_send+0x2db/0x470
    [] igmp6_timer_handler+0x95/0xa0
    [] call_timer_fn+0x2c/0x90
    [] run_timer_softirq+0x1da/0x1f0
    [] __do_softirq+0xd1/0x1b0

    Address gets embedded in a descriptor via virt_to_phys(). See detach_buf,
    which frees it:

    if (vq->vring.desc[i].flags & VRING_DESC_F_INDIRECT)
    kfree(phys_to_virt(vq->vring.desc[i].addr));

    Reported-by: Christoph Paasch
    Fix-suggested-by: Christoph Paasch
    Typing-done-by: Rusty Russell
    Signed-off-by: Rusty Russell

    Rusty Russell
     

23 Sep, 2013

1 commit

  • The freeze and restore functions defined in virtio drivers are used
    for suspend and hibernate, so CONFIG_PM_SLEEP is more appropriate than
    CONFIG_PM. This patch replace all CONFIG_PM with CONFIG_PM_SLEEP for
    virtio drivers that implement freeze and restore callbacks.

    Signed-off-by: Aaron Lu
    Reviewed-by: Amit Shah
    Signed-off-by: Rusty Russell

    Aaron Lu
     

09 Sep, 2013

1 commit

  • The virtio_pci_freeze/restore are defined under CONFIG_PM but is used
    by SET_SYSTEM_SLEEP_PM_OPS macro, which is defined under
    CONFIG_PM_SLEEP. So if CONFIG_PM_SLEEP is not cofigured but
    CONFIG_PM_RUNTIME is, the following warning message appeared:

    drivers/virtio/virtio_pci.c:770:12: warning: ‘virtio_pci_freeze’ defined but not used [-Wunused-function]
    static int virtio_pci_freeze(struct device *dev)
    ^
    drivers/virtio/virtio_pci.c:790:12: warning: ‘virtio_pci_restore’ defined but not used [-Wunused-function]
    static int virtio_pci_restore(struct device *dev)
    ^
    Fix it by changing CONFIG_PM to CONFIG_PM_SLEEP.

    Signed-off-by: Aaron Lu
    Reviewed-by: Amit Shah
    Signed-off-by: Rusty Russell

    Aaron Lu
     

11 Jul, 2013

1 commit

  • Pull virtio updates from Rusty Russell:
    "No real surprises"

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    MAINTAINERS: add tools/virtio/ under virtio
    tools/virtio: move module license stub to module.h
    virtio: include asm/barrier explicitly
    virtio: VIRTIO_F_ANY_LAYOUT feature
    lguest: fix example launcher compilation for broken glibc headers.
    virtio-net: fix the race between channels setting and refill
    tools/lguest: real barriers.
    tools/lguest: fix missing rmb().
    virtio_balloon: leak_balloon(): only tell host if we got pages deflated
    virtio-pci: fix leaks of msix_affinity_masks
    Fix comment typo "CONFIG_PAE"

    Linus Torvalds
     

10 Jul, 2013

2 commits

  • Pull networking updates from David Miller:
    "This is a re-do of the net-next pull request for the current merge
    window. The only difference from the one I made the other day is that
    this has Eliezer's interface renames and the timeout handling changes
    made based upon your feedback, as well as a few bug fixes that have
    trickeled in.

    Highlights:

    1) Low latency device polling, eliminating the cost of interrupt
    handling and context switches. Allows direct polling of a network
    device from socket operations, such as recvmsg() and poll().

    Currently ixgbe, mlx4, and bnx2x support this feature.

    Full high level description, performance numbers, and design in
    commit 0a4db187a999 ("Merge branch 'll_poll'")

    From Eliezer Tamir.

    2) With the routing cache removed, ip_check_mc_rcu() gets exercised
    more than ever before in the case where we have lots of multicast
    addresses. Use a hash table instead of a simple linked list, from
    Eric Dumazet.

    3) Add driver for Atheros CQA98xx 802.11ac wireless devices, from
    Bartosz Markowski, Janusz Dziedzic, Kalle Valo, Marek Kwaczynski,
    Marek Puzyniak, Michal Kazior, and Sujith Manoharan.

    4) Support reporting the TUN device persist flag to userspace, from
    Pavel Emelyanov.

    5) Allow controlling network device VF link state using netlink, from
    Rony Efraim.

    6) Support GRE tunneling in openvswitch, from Pravin B Shelar.

    7) Adjust SOCK_MIN_RCVBUF and SOCK_MIN_SNDBUF for modern times, from
    Daniel Borkmann and Eric Dumazet.

    8) Allow controlling of TCP quickack behavior on a per-route basis,
    from Cong Wang.

    9) Several bug fixes and improvements to vxlan from Stephen
    Hemminger, Pravin B Shelar, and Mike Rapoport. In particular,
    support receiving on multiple UDP ports.

    10) Major cleanups, particular in the area of debugging and cookie
    lifetime handline, to the SCTP protocol code. From Daniel
    Borkmann.

    11) Allow packets to cross network namespaces when traversing tunnel
    devices. From Nicolas Dichtel.

    12) Allow monitoring netlink traffic via AF_PACKET sockets, in a
    manner akin to how we monitor real network traffic via ptype_all.
    From Daniel Borkmann.

    13) Several bug fixes and improvements for the new alx device driver,
    from Johannes Berg.

    14) Fix scalability issues in the netem packet scheduler's time queue,
    by using an rbtree. From Eric Dumazet.

    15) Several bug fixes in TCP loss recovery handling, from Yuchung
    Cheng.

    16) Add support for GSO segmentation of MPLS packets, from Simon
    Horman.

    17) Make network notifiers have a real data type for the opaque
    pointer that's passed into them. Use this to properly handle
    network device flag changes in arp_netdev_event(). From Jiri
    Pirko and Timo Teräs.

    18) Convert several drivers over to module_pci_driver(), from Peter
    Huewe.

    19) tcp_fixup_rcvbuf() can loop 500 times over loopback, just use a
    O(1) calculation instead. From Eric Dumazet.

    20) Support setting of explicit tunnel peer addresses in ipv6, just
    like ipv4. From Nicolas Dichtel.

    21) Protect x86 BPF JIT against spraying attacks, from Eric Dumazet.

    22) Prevent a single high rate flow from overruning an individual cpu
    during RX packet processing via selective flow shedding. From
    Willem de Bruijn.

    23) Don't use spinlocks in TCP md5 signing fast paths, from Eric
    Dumazet.

    24) Don't just drop GSO packets which are above the TBF scheduler's
    burst limit, chop them up so they are in-bounds instead. Also
    from Eric Dumazet.

    25) VLAN offloads are missed when configured on top of a bridge, fix
    from Vlad Yasevich.

    26) Support IPV6 in ping sockets. From Lorenzo Colitti.

    27) Receive flow steering targets should be updated at poll() time
    too, from David Majnemer.

    28) Fix several corner case regressions in PMTU/redirect handling due
    to the routing cache removal, from Timo Teräs.

    29) We have to be mindful of ipv4 mapped ipv6 sockets in
    upd_v6_push_pending_frames(). From Hannes Frederic Sowa.

    30) Fix L2TP sequence number handling bugs, from James Chapman."

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1214 commits)
    drivers/net: caif: fix wrong rtnl_is_locked() usage
    drivers/net: enic: release rtnl_lock on error-path
    vhost-net: fix use-after-free in vhost_net_flush
    net: mv643xx_eth: do not use port number as platform device id
    net: sctp: confirm route during forward progress
    virtio_net: fix race in RX VQ processing
    virtio: support unlocked queue poll
    net/cadence/macb: fix bug/typo in extracting gem_irq_read_clear bit
    Documentation: Fix references to defunct linux-net@vger.kernel.org
    net/fs: change busy poll time accounting
    net: rename low latency sockets functions to busy poll
    bridge: fix some kernel warning in multicast timer
    sfc: Fix memory leak when discarding scattered packets
    sit: fix tunnel update via netlink
    dt:net:stmmac: Add dt specific phy reset callback support.
    dt:net:stmmac: Add support to dwmac version 3.610 and 3.710
    dt:net:stmmac: Allocate platform data only if its NULL.
    net:stmmac: fix memleak in the open method
    ipv6: rt6_check_neigh should successfully verify neigh if no NUD information are available
    net: ipv6: fix wrong ping_v6_sendmsg return value
    ...

    Linus Torvalds
     
  • This adds a way to check ring empty state after enable_cb outside any
    locks. Will be used by virtio_net.

    Note: there's room for more optimization: caller is likely to have a
    memory barrier already, which means we might be able to get rid of a
    barrier here. Deferring this optimization until we do some
    benchmarking.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: David S. Miller

    Michael S. Tsirkin
     

04 Jul, 2013

2 commits

  • Merge first patch-bomb from Andrew Morton:
    - various misc bits
    - I'm been patchmonkeying ocfs2 for a while, as Joel and Mark have been
    distracted. There has been quite a bit of activity.
    - About half the MM queue
    - Some backlight bits
    - Various lib/ updates
    - checkpatch updates
    - zillions more little rtc patches
    - ptrace
    - signals
    - exec
    - procfs
    - rapidio
    - nbd
    - aoe
    - pps
    - memstick
    - tools/testing/selftests updates

    * emailed patches from Andrew Morton : (445 commits)
    tools/testing/selftests: don't assume the x bit is set on scripts
    selftests: add .gitignore for kcmp
    selftests: fix clean target in kcmp Makefile
    selftests: add .gitignore for vm
    selftests: add hugetlbfstest
    self-test: fix make clean
    selftests: exit 1 on failure
    kernel/resource.c: remove the unneeded assignment in function __find_resource
    aio: fix wrong comment in aio_complete()
    drivers/w1/slaves/w1_ds2408.c: add magic sequence to disable P0 test mode
    drivers/memstick/host/r592.c: convert to module_pci_driver
    drivers/memstick/host/jmb38x_ms: convert to module_pci_driver
    pps-gpio: add device-tree binding and support
    drivers/pps/clients/pps-gpio.c: convert to module_platform_driver
    drivers/pps/clients/pps-gpio.c: convert to devm_* helpers
    drivers/parport/share.c: use kzalloc
    Documentation/accounting/getdelays.c: avoid strncpy in accounting tool
    aoe: update internal version number to v83
    aoe: update copyright date
    aoe: perform I/O completions in parallel
    ...

    Linus Torvalds
     
  • Enhance adjust_managed_page_count() to adjust totalhigh_pages for
    highmem pages. And change code which directly adjusts totalram_pages to
    use adjust_managed_page_count() because it adjusts totalram_pages,
    totalhigh_pages and zone->managed_pages altogether in a safe way.

    Remove inc_totalhigh_pages() and dec_totalhigh_pages() from xen/balloon
    driver bacause adjust_managed_page_count() has already adjusted
    totalhigh_pages.

    This patch also fixes two bugs:

    1) enhances virtio_balloon driver to adjust totalhigh_pages when
    reserve/unreserve pages.
    2) enhance memory_hotplug.c to adjust totalhigh_pages when hot-removing
    memory.

    We still need to deal with modifications of totalram_pages in file
    arch/powerpc/platforms/pseries/cmm.c, but need help from PPC experts.

    [akpm@linux-foundation.org: remove ifdef, per Wanpeng Li, virtio_balloon.c cleanup, per Sergei]
    [akpm@linux-foundation.org: export adjust_managed_page_count() to modules, for drivers/virtio/virtio_balloon.c]
    Signed-off-by: Jiang Liu
    Cc: Chris Metcalf
    Cc: Rusty Russell
    Cc: "Michael S. Tsirkin"
    Cc: Konrad Rzeszutek Wilk
    Cc: Jeremy Fitzhardinge
    Cc: Wen Congyang
    Cc: Tang Chen
    Cc: Yasuaki Ishimatsu
    Cc: Mel Gorman
    Cc: Minchan Kim
    Cc: "H. Peter Anvin"
    Cc:
    Cc: Arnd Bergmann
    Cc: Catalin Marinas
    Cc: David Howells
    Cc: Geert Uytterhoeven
    Cc: Ingo Molnar
    Cc: Jianguo Wu
    Cc: Joonsoo Kim
    Cc: Kamezawa Hiroyuki
    Cc: Marek Szyprowski
    Cc: Michel Lespinasse
    Cc: Rik van Riel
    Cc: Tejun Heo
    Cc: Thomas Gleixner
    Cc: Will Deacon
    Cc: Yinghai Lu
    Cc: Russell King
    Cc: Sergei Shtylyov
    Cc: Wu Fengguang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     

02 Jul, 2013

2 commits

  • balloon_page_dequeue() can return NULL. If it does for the first page
    being freed then leak_balloon() will create a scatter list with len=0.
    Which in turn seems to generate an invalid virtio request.

    I didn't get this in practice, I found it by code review. On the other
    hand, such an invalid virtio request will cause errors in QEMU and
    fill_balloon() also performs the same check implemented by this commit.

    This bug was introduced in e2250429.

    Signed-off-by: Luiz Capitulino
    Acked-by: Rafael Aquini
    Signed-off-by: Andrew Morton
    Signed-off-by: Rusty Russell
    Cc: stable@kernel.org # 3.9

    Luiz Capitulino
     
  • vp_dev->msix_vectors should be initialized before allocating
    msix_affinity_masks, otherwise vp_free_vectors will not free these
    objects.

    unreferenced object 0xffff88010f969d88 (size 512):
    comm "systemd-udevd", pid 158, jiffies 4294673645 (age 80.545s)
    hex dump (first 32 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    backtrace:
    [] kmemleak_alloc+0x5e/0xc0
    [] kmem_cache_alloc_node_trace+0x141/0x2c0
    [] alloc_cpumask_var_node+0x23/0x80
    [] alloc_cpumask_var+0xe/0x10
    [] vp_try_to_find_vqs+0x25d/0x810
    [] vp_find_vqs+0x81/0xb0
    [] init_vqs+0x85/0x120 [virtio_balloon]
    [] virtballoon_probe+0xf9/0x1a0 [virtio_balloon]
    [] virtio_dev_probe+0xde/0x140
    [] driver_probe_device+0x98/0x3a0
    [] __driver_attach+0xab/0xb0
    [] bus_for_each_dev+0x94/0xb0
    [] driver_attach+0x1e/0x20
    [] bus_add_driver+0x200/0x280
    [] driver_register+0x74/0x160
    [] register_virtio_driver+0x20/0x40

    v2: change msix_vectors uncoditionaly in vp_free_vectors

    Cc: Rusty Russell
    Cc: "Michael S. Tsirkin"
    Cc: Jason Wang
    Signed-off-by: Andrew Vagin
    Acked-by: Michael S. Tsirkin
    Acked-by: Jason Wang
    Signed-off-by: Rusty Russell

    Andrew Vagin
     

20 May, 2013

1 commit


20 Mar, 2013

4 commits

  • We never add buffers with input and output parts, so use the new accessors.

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • These are specialized versions of virtqueue_add_buf(), which cover
    over 80% of cases and are far clearer.

    In particular, the scatterlists passed to these functions don't have
    to be clean (ie. we ignore end markers).

    Signed-off-by: Rusty Russell

    Rusty Russell
     
  • virtio_scsi can really use this, to avoid the current hack of copying
    the whole sg array. Some other things get slightly neater, too.

    This causes a slowdown in virtqueue_add_buf(), which is implemented as
    a wrapper. This is addressed in the next patches.

    for i in `seq 50`; do /usr/bin/time -f 'Wall time:%e' ./vringh_test --indirect --eventidx --parallel --fast-vringh; done 2>&1 | stats --trim-outliers:

    Before:
    Using CPUS 0 and 3
    Guest: notified 0, pinged 39009-39063(39062)
    Host: notified 39009-39063(39062), pinged 0
    Wall time:1.700000-1.950000(1.723542)

    After:
    Using CPUS 0 and 3
    Guest: notified 0, pinged 39062-39063(39063)
    Host: notified 39062-39063(39063), pinged 0
    Wall time:1.760000-2.220000(1.789167)

    Signed-off-by: Rusty Russell
    Reviewed-by: Wanlong Gao
    Reviewed-by: Asias He

    Rusty Russell
     
  • The host side of ring needs this logic too.

    Signed-off-by: Rusty Russell

    Rusty Russell
     

27 Feb, 2013

1 commit

  • Pull virtio updates from Rusty Russell:
    "All trivial, thanks to the stuff which didn't quite make it time"

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    virtio_console: Initialize guest_connected=true for rproc_serial
    virtio: use module_virtio_driver.
    virtio: Add module driver macro for virtio drivers.
    virtio_console: Use virtio device index to generate port name
    virtio: make pci_device_id const
    virtio: make config_ops const
    virtio-mmio: fix wrong comment about register offset
    virtio_console: Let unconnected rproc device receive data.

    Linus Torvalds
     

13 Feb, 2013

1 commit


11 Feb, 2013

2 commits


04 Feb, 2013

1 commit


12 Jan, 2013

1 commit

  • The CONFIG_EXPERIMENTAL config item has not carried much meaning for a
    while now and is almost always enabled by default. As agreed during the
    Linux kernel summit, remove it from any "depends on" lines in Kconfigs.

    CC: Rusty Russell
    CC: "Michael S. Tsirkin"
    Signed-off-by: Kees Cook
    Acked-by: Rusty Russell

    Kees Cook
     

04 Jan, 2013

1 commit

  • CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
    markings need to be removed.

    This change removes the use of __devinit, __devexit_p, and __devexit
    from these drivers.

    Based on patches originally written by Bill Pemberton, but redone by me
    in order to handle some of the coding style issues better, by hand.

    Cc: Bill Pemberton
    Cc: Rusty Russell
    Cc: "Michael S. Tsirkin"
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

21 Dec, 2012

1 commit

  • Pull virtio update from Rusty Russell:
    "Some nice cleanups, and even a patch my wife did as a "live" demo for
    Latinoware 2012.

    There's a slightly non-trivial merge in virtio-net, as we cleaned up
    the virtio add_buf interface while DaveM accepted the mq virtio-net
    patches."

    * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (27 commits)
    virtio_console: Add support for remoteproc serial
    virtio_console: Merge struct buffer_token into struct port_buffer
    virtio: add drv_to_virtio to make code clearly
    virtio: use dev_to_virtio wrapper in virtio
    virtio-mmio: Fix irq parsing in command line parameter
    virtio_console: Free buffers from out-queue upon close
    virtio: Convert dev_printk(KERN_ to dev_(
    virtio_console: Use kmalloc instead of kzalloc
    virtio_console: Free buffer if splice fails
    virtio: tools: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: scsi: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: rpmsg: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: net: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: console: make it clear that virtqueue_add_buf() no longer returns > 0
    virtio: make virtqueue_add_buf() returning 0 on success, not capacity.
    virtio: console: don't rely on virtqueue_add_buf() returning capacity.
    virtio_net: don't rely on virtqueue_add_buf() returning capacity.
    virtio-net: remove unused skb_vnet_hdr->num_sg field
    virtio-net: correct capacity math on ring full
    virtio: move queue_index and num_free fields into core struct virtqueue.
    ...

    Linus Torvalds