qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 415ab3: net: ne2000: check ring buffer contro


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 415ab3: net: ne2000: check ring buffer control registers
Date: Tue, 08 Mar 2016 16:30:07 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 415ab35a441eca767d033a2702223e785b9d5190
      
https://github.com/qemu/qemu/commit/415ab35a441eca767d033a2702223e785b9d5190
  Author: Prasad J Pandit <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M hw/net/ne2000.c

  Log Message:
  -----------
  net: ne2000: check ring buffer control registers

Ne2000 NIC uses ring buffer of NE2000_MEM_SIZE(49152)
bytes to process network packets. Registers PSTART & PSTOP
define ring buffer size & location. Setting these registers
to invalid values could lead to infinite loop or OOB r/w
access issues. Add check to avoid it.

Reported-by: Yang Hongke <address@hidden>
Tested-by: Yang Hongke <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 5dd2d45e344b50b018912b6d98ab47493f946eb6
      
https://github.com/qemu/qemu/commit/5dd2d45e344b50b018912b6d98ab47493f946eb6
  Author: Jason Wang <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M net/filter.c

  Log Message:
  -----------
  net: filter: correctly remove filter from the list during finalization

Qemu may crash when we want to add two filters on the same netdev but
the initialization of second fails (e.g missing parameters):

./qemu-system-x86_64 -netdev user,id=un0 \
 -object filter-buffer,id=f0,netdev=un0,interval=10 \
 -object filter-buffer,id=f1,netdev=un0
Segmentation fault (core dumped)

This is because we don't check whether or not the filter was in the
list of netdev. This patch fixes this.

Cc: Yang Hongyang <address@hidden>
Reviewed-by: Yang Hongyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: d24b2b1cccbf598d004bc211a22af30e064dee65
      
https://github.com/qemu/qemu/commit/d24b2b1cccbf598d004bc211a22af30e064dee65
  Author: Thomas Huth <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add entries for include/net/ files

The include/net/ files correspond to the files in the net/ directory,
thus there should be corresponding entries in the MAINTAINERS file.

Signed-off-by: Thomas Huth <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 3a2d44f6dd1d6cc1e5a5ebfa736a72e035c41d1b
      
https://github.com/qemu/qemu/commit/3a2d44f6dd1d6cc1e5a5ebfa736a72e035c41d1b
  Author: Paolo Bonzini <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M net/tap.c

  Log Message:
  -----------
  net: simplify net_init_tap_one logic

net_init_tap_one receives in vhostfdname a fd name from vhostfd= or
vhostfds=, or NULL if there is no vhostfd=/vhostfds=.  It is simpler
to just check vhostfdname, than it is to check for vhostfd= or
vhostfds=.  This also calms down Coverity, which otherwise thinks
that monitor_fd_param could dereference a NULL vhostfdname.

Signed-off-by: Paolo Bonzini <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 9fbad2ca36f099699ebdf91c523a9ddc34d6b1c4
      
https://github.com/qemu/qemu/commit/9fbad2ca36f099699ebdf91c523a9ddc34d6b1c4
  Author: Vincenzo Maffione <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M net/netmap.c

  Log Message:
  -----------
  net: netmap: probe netmap interface for virtio-net header

Previous implementation of has_ufo, has_vnet_hdr, has_vnet_hdr_len, etc.
did not really probe for virtio-net header support for the netmap
interface attached to the backend. These callbacks were correct for
VALE ports, but incorrect for hardware NICs, pipes, monitors, etc.

This patch fixes the implementation to work properly with all kinds
of netmap ports.

Signed-off-by: Vincenzo Maffione <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 0ab9cd9a4b3f3c464d63fd30e5f958bfdf690af3
      
https://github.com/qemu/qemu/commit/0ab9cd9a4b3f3c464d63fd30e5f958bfdf690af3
  Author: Jiri Pirko <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M hw/net/rocker/rocker.c
    M hw/net/rocker/rocker_fp.c
    M hw/net/rocker/rocker_fp.h

  Log Message:
  -----------
  rocker: forbid to change world type

Port to world assignment should be permitted only by qemu user. Driver
should not be able to do it, so forbid that possibility.

Signed-off-by: Jiri Pirko <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 39e0c4f47d263453cd10920d0c372b370ffaf990
      
https://github.com/qemu/qemu/commit/39e0c4f47d263453cd10920d0c372b370ffaf990
  Author: Jiri Pirko <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M hw/net/rocker/rocker.c

  Log Message:
  -----------
  rocker: return -ENOMEM in case of some world alloc fails

Until now, 0 is returned in this error case. Fix it ro return -ENOMEM.

Signed-off-by: Jiri Pirko <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 031143c8d5ad9d82623a252551ef323219cbe642
      
https://github.com/qemu/qemu/commit/031143c8d5ad9d82623a252551ef323219cbe642
  Author: Jiri Pirko <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M hw/net/rocker/rocker_of_dpa.c
    M hw/net/rocker/rocker_world.c
    M hw/net/rocker/rocker_world.h

  Log Message:
  -----------
  rocker: add name field into WorldOps ale let world specify its name

Also use this in world_name getter function.

Signed-off-by: Jiri Pirko <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 9fe7101f1d3c08b01fc8b4eab736a3f8c8b44f45
      
https://github.com/qemu/qemu/commit/9fe7101f1d3c08b01fc8b4eab736a3f8c8b44f45
  Author: Jiri Pirko <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M hw/net/rocker/rocker.c

  Log Message:
  -----------
  rocker: allow user to specify rocker world by property

Add property to specify rocker world. All ports will be assigned to this
world.

Signed-off-by: Jiri Pirko <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 338d3f415e131673ea51719b0c30edf65f69d806
      
https://github.com/qemu/qemu/commit/338d3f415e131673ea51719b0c30edf65f69d806
  Author: zhanghailiang <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M include/net/filter.h
    M net/filter.c
    M qemu-options.hx

  Log Message:
  -----------
  filter: Add 'status' property for filter object

With this property, users can control if this filter is 'on'
or 'off'. The default behavior for filter is 'on'.

For some types of filters, they may need to react to status changing,
So here, we introduced status changing callback/notifier for filter class.

We will skip the disabled ('off') filter when delivering packets in net layer.

Signed-off-by: zhanghailiang <address@hidden>
Cc: Jason Wang <address@hidden>
Cc: Yang Hongyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: f1b2bc601af5037f0af6d55575e619b912e348b5
      
https://github.com/qemu/qemu/commit/f1b2bc601af5037f0af6d55575e619b912e348b5
  Author: zhanghailiang <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M net/filter-buffer.c

  Log Message:
  -----------
  filter-buffer: Add status_changed callback processing

While the status of filter-buffer changing from 'on' to 'off',
it need to release all the buffered packets, and delete the related
timer, while switch from 'off' to 'on', it need to resume the release
packets timer.

Here, we extract the process of setup timer into a new helper,
which will be used in the new status_changed callback.

Signed-off-by: zhanghailiang <address@hidden>
Cc: Jason Wang <address@hidden>
Cc: Yang Hongyang <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: 362786f14a753d8a5256ef97d7c10ed576d6572b
      
https://github.com/qemu/qemu/commit/362786f14a753d8a5256ef97d7c10ed576d6572b
  Author: Prasad J Pandit <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M net/checksum.c

  Log Message:
  -----------
  net: check packet payload length

While computing IP checksum, 'net_checksum_calculate' reads
payload length from the packet. It could exceed the given 'data'
buffer size. Add a check to avoid it.

Reported-by: Liu Ling <address@hidden>
Signed-off-by: Prasad J Pandit <address@hidden>
Signed-off-by: Jason Wang <address@hidden>


  Commit: d1cc881d54d2abc9c90d92c90deccc8d47966b1c
      
https://github.com/qemu/qemu/commit/d1cc881d54d2abc9c90d92c90deccc8d47966b1c
  Author: Peter Maydell <address@hidden>
  Date:   2016-03-08 (Tue, 08 Mar 2016)

  Changed paths:
    M MAINTAINERS
    M hw/net/ne2000.c
    M hw/net/rocker/rocker.c
    M hw/net/rocker/rocker_fp.c
    M hw/net/rocker/rocker_fp.h
    M hw/net/rocker/rocker_of_dpa.c
    M hw/net/rocker/rocker_world.c
    M hw/net/rocker/rocker_world.h
    M include/net/filter.h
    M net/checksum.c
    M net/filter-buffer.c
    M net/filter.c
    M net/netmap.c
    M net/tap.c
    M qemu-options.hx

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into 
staging

# gpg: Signature made Tue 08 Mar 2016 07:46:08 GMT using RSA key ID 398D6211
# gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <address@hidden>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211

* remotes/jasowang/tags/net-pull-request:
  net: check packet payload length
  filter-buffer: Add status_changed callback processing
  filter: Add 'status' property for filter object
  rocker: allow user to specify rocker world by property
  rocker: add name field into WorldOps ale let world specify its name
  rocker: return -ENOMEM in case of some world alloc fails
  rocker: forbid to change world type
  net: netmap: probe netmap interface for virtio-net header
  net: simplify net_init_tap_one logic
  MAINTAINERS: Add entries for include/net/ files
  net: filter: correctly remove filter from the list during finalization
  net: ne2000: check ring buffer control registers

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/97556fe80e4f...d1cc881d54d2

reply via email to

[Prev in Thread] Current Thread [Next in Thread]