* Re: [PATCH V5 2/6 net-next] netdevice.h: Add zero-copy flag in netdevice
From: Shirley Ma @ 2011-05-16 23:32 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: Ben Hutchings, David Miller, Eric Dumazet, Avi Kivity,
Arnd Bergmann, netdev, kvm, linux-kernel
In-Reply-To: <20110516211459.GE18148@redhat.com>
Hello Michael,
Looks like to use a new flag requires more time/work. I am thinking
whether we can just use HIGHDMA flag to enable zero-copy in macvtap to
avoid the new flag for now since mavctap uses real NICs as lower device?
Thanks
Shirley
^ permalink raw reply
* Re: tap/bridge: Dropping NETIF_F_GSO/NETIF_F_SG
From: Herbert Xu @ 2011-05-16 23:45 UTC (permalink / raw)
To: David Miller; +Cc: mirqus, mst, shanwei, mirq-linux, netdev, bhutchings
In-Reply-To: <20110516.190615.2121423692228640268.davem@davemloft.net>
On Mon, May 16, 2011 at 07:06:15PM -0400, David Miller wrote:
>
> Well the check has to exist somewhere.
>
> Currently userspace can configure tun/tap into whatever set
> of offloads it likes.
>
> We're warning when the user asks for something that needs to be
> corrected. So the only thing you can suggest is to duplicate these
> changes in the tun/tap driver.
>
> But if we do that, and error on bad combinations instead of fixing
> them up, we know from this discussion that existing virtualization
> setups and tools are going to stop working.
Yeah the tun driver is simply busted. We should never have allowed
user-space to tweak the feature bits like this. Instead they should
have gone through the ethtool interface like everyone else, or at
least use the same underlying calls as ethtool.
Actually, I think we can still do that, and apply the same rules
as ethtool with respect to automatically turning things on/off.
AFAICS the current set_offload in tun.c does not call anything
that verifies/fixes up the settings. If you change the feature
bits after registering the tun device it may never get fixed up
at all.
Allowing an unprivileged user to tweak feature bits directly with
no verification is just wrong.
Cheers,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply
* Re: [PATCH] net: Change netdev_fix_features messages loglevel
From: Herbert Xu @ 2011-05-16 23:48 UTC (permalink / raw)
To: David Miller; +Cc: mirq-linux, netdev, mst, bhutchings
In-Reply-To: <20110516.151434.829498612745581899.davem@davemloft.net>
On Mon, May 16, 2011 at 03:14:34PM -0400, David Miller wrote:
> From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> Date: Mon, 16 May 2011 15:17:57 +0200 (CEST)
>
> > Those reduced to DEBUG can possibly be triggered by unprivileged processes
> > and are nothing exceptional. Illegal checksum combinations can only be
> > caused by driver bug, so promote those messages to WARN.
> >
> > Since GSO without SG will now only cause DEBUG message from
> > netdev_fix_features(), remove the workaround from register_netdevice().
> >
> > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
>
> Applied, thanks.
I think this patch is not a good idea. The only problem here
is the tun driver which should just fix up the feature bits
silently (we need to do that anyway as right now it doesn't
verify the feature bits at all, those warnings are only trigger
on registering the tun device).
With this patch future buggy drivers will instead trigger hard-
to-debug warnings further down the stack in the TSO code path,
like they have before (or silent packet drops if those warnings
aren't there anymore).
Cheers,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply
* pull request: wireless-next-2.6 2011-05-16-v2
From: John W. Linville @ 2011-05-17 0:08 UTC (permalink / raw)
To: davem; +Cc: linux-wireless, netdev
In-Reply-To: <20110516211305.GG6551@tuxdriver.com>
I'm sorry, Dave! In my defense, I am on the verge of sickness and got
very little sleep last night... :-(
I have corrected the problem and was sure to perform the correct build
test this time! :-)
John
---
Original pull request message follows:
Dave,
Still another big batch of wireless LAN stuff intended for 2.6.40 -- the
wireless folks have really been eating their Wheaties this cycle!
Highlights of this batch include a new driver in the rtlwifi family,
some new AMBA-like bus infrastructure that is specific to Broadcom
devices, a Bluetooth pull from Gustavo and friends, a wl12xx pull from
Luca and friends, some mesh updates from the Cozybit folks, some more
fixups from the mwifiex team, a collection of mac80211 improvements from
Johannes, the usual flutter of patches around iwlwifi and ath9k, and a
spread of other updates.
Please let me know if there are problems!
Thanks,
John
---
The following changes since commit 1a8218e96271790a07dd7065a2ef173e0f67e328:
net: ping: dont call udp_ioctl() (2011-05-16 11:49:39 -0400)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6.git for-davem
Amitkumar Karwar (4):
mwifiex: fix simultaneous assoc and scan issue
mwifiex: remove unnecessary struct mwifiex_opt_sleep_confirm_buffer
mwifiex: remove redundant local structures
mwifiex: remove mwifiex_recv_complete function
Andy Ross (1):
Bluetooth: Device ids for ath3k on Pegatron Lucid tablets
Arik Nemtsov (13):
wl12xx: implement the tx_frames_pending mac80211 callback
wl12xx: discard corrupted packets in RX
wl12xx: add BT-coexistance for AP
wl12xx: use wiphy values for setting rts, frag thresholds on init
wl12xx: AP-mode - disable beacon filtering on start up
wl12xx: schedule recovery on command timeout
wl12xx: print firmware program counter during recovery
wl12xx: AP-mode - overhaul rate policy configuration
wl12xx: AP-mode - reconfigure templates after basic rates change
wl12xx: add debugfs entry for starting recovery
wl12xx: fix race condition during recovery in AP mode
wl12xx: export driver state to debugfs
mac80211: set TID of internal mgmt packets to 7
Ben Greear (1):
ath5k: Fix lockup due to un-init spinlock.
Bing Zhao (1):
mwifiex: cleanup ioctl.h
Chaoming Li (13):
rtlwifi: rtl8192se: Merge def.h
rtlwifi: rtl8192se: Merge dynamic management routines
rtlwifi: rtl8192se: Merge firmware routines
rtlwifi: rtl8192se: Merge hardware routines
rtlwifi: rtl8192se: Merge led routines
rtlwifi: rtl8192se: Merge phy routines
rtlwifi: rtl8192se: Merge register definitions
rtlwifi: rtl8192se: Merge rf routines
rtlwifi: rtl8192se: Merge main (sw) routines
rtlwifi: rtl8192se: Merge table routines
rtlwifi: rtl8192se: Merge TX and RX routines
rtlwifi: rtl8192se: Modify Kconfig and Makefile routines for new driver
rtlwifi: rtl8192se: Remove need to disable ASPM
Christian Lamparter (2):
carl9170: fix -Wunused-but-set-variable warnings
p54pci: fix -Wunused-but-set-variable warnings
Christoph Fritz (1):
mwifiex: fix null derefs, mem leaks and trivia
Cindy H. Kao (1):
iwlwifi: support the svtool messages interactions through nl80211 test mode
Daniel Drake (1):
libertas: remove tx_timeout handler
Daniel Halperin (1):
mac80211: fix contention time computation in minstrel, minstrel_ht
Eliad Peller (13):
wl12xx: sleep instead of wakeup after tx work
wl12xx: avoid premature elp entrance
wl12xx: print actual rx packet size (without padding)
wl12xx: avoid redundant join on interface reconfiguration
wl12xx: configure rates when working in ibss mode
wl12xx: add debugfs entries for dtim_interval and beacon_interval
wl12xx: simplify wl1271_ssid_set()
wl12xx_sdio: set interrupt as wake_up interrupt
wl12xx: declare suspend/resume callbacks (for wowlan)
wl12xx_sdio: set MMC_PM_KEEP_POWER flag on suspend
wl12xx: prevent scheduling while suspending (WoW enabled)
wl12xx_sdio: declare support for NL80211_WOW_TRIGGER_ANYTHING trigger
wl12xx: enter/exit psm on wowlan suspend/resume
Fabrice Deyber (1):
mac80211: Only process mesh PREPs with equal seq number if metric is better.
Felix Fietkau (1):
ath9k: fix a regression in PS frame filter handling
Gertjan van Wingerde (2):
rt2x00: Initial support for RT5370 USB devices.
rt2x00: Fix rmmod hang of rt2800pci
Gustavo F. Padovan (4):
Bluetooth: Add l2cap_add_psm() and l2cap_add_scid()
Bluetooth: Handle psm == 0 case inside l2cap_add_psm()
Bluetooth: Remove l2cap_sk_list
Bluetooth: Remove leftover debug messages
Hauke Mehrtens (1):
wl12xx: do not set queue_mapping directly
Ido Yariv (3):
wl12xx: Modify memory configuration for 128x/AP
wl12xx: Restart TX when TX descriptors are available
wl12xx: Enable dynamic memory for 127x
Ivo van Doorn (1):
rt2x00: Fix transfer speed regression for USB hardware
Javier Cardona (12):
nl80211: Introduce NL80211_MESH_SETUP_USERSPACE_AMPE
mac80211: Let userspace send action frames over mesh interfaces
mac80211: Drop MESH_PLINK category and use new ANA-approved MESH_ACTION
open80211s: Stop using zero for address 3 in mesh plink mgmt frames
cfg80211: Use capability info to detect mesh beacons.
nl80211: Let userspace drive the peer link management states.
mac80211: Check size of a new mesh path table for changes since allocation.
mac80211: Fix locking bug on mesh path table access
mac80211: Move call to mpp_path_lookup inside RCU-read section
mac80211: allow setting supported rates on mesh peers
ath9k: fix beaconing for mesh interfaces
nl80211: Move peer link state definition to nl80211
Joe Perches (3):
rtlwifi: rtl8192cu: Fix memset/memcpy using sizeof(ptr) not sizeof(*ptr)
libertas: Convert lbs_pr_<level> to pr_<level>
libertas: Use netdev_<level> or dev_<level> where possible
Johannes Berg (18):
nl80211/cfg80211: WoWLAN support
mac80211: add basic support for WoWLAN
iwlagn: remove get_hcmd_size indirection
iwlagn: remove frame pre-allocation
iwlagn: remove unused variable
iwlagn: dont update bytecount table for command queue
iwlagn: remove bytecount indirection
iwlagn: check DMA mapping errors
iwlagn: fix iwl_is_any_associated
cfg80211: restrict AP beacon intervals
mac80211: remove pointless mesh path timer RCU code
mac80211: make key locking clearer
mac80211: fix another key non-race
mac80211: fix a few RCU issues
mac80211: mesh: move some code to make it static
cfg80211: advertise possible interface combinations
mac80211: fix TX a-MPDU locking
mac80211: sparse RCU annotations
John W. Linville (6):
Merge branch 'for-linville' of git://git.kernel.org/.../luca/wl12xx
Merge branch 'wireless-next-2.6' of git://git.kernel.org/.../iwlwifi/iwlwifi-2.6
Merge branch 'master' of git://git.kernel.org/.../padovan/bluetooth-next-2.6
ssb: fix pcicore build breakage
Merge branch 'for-linville' of git://git.kernel.org/.../luca/wl12xx
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next-2.6 into for-davem
Jouni Malinen (2):
nl80211: Fix set_key regression with some drivers
cfg80211: Remove unused wiphy flag
Julia Lawall (1):
net/rfkill/core.c: Avoid leaving freed data in a list
Larry Finger (2):
mac80211: Fix build error when CONFIG_PM is not defined
rtlwifi: Move 2 large arrays off stack
Luciano Coelho (15):
wl12xx: strict_stroul introduced converted to kstrtoul
Revert "wl12xx: support FW TX inactivity triggers"
mac80211: don't drop frames where skb->len < 24 in ieee80211_scan_rx()
mac80211: add a couple of trace event classes to reduce duplicated code
cfg80211/nl80211: add support for scheduled scans
mac80211: add support for HW scheduled scan
cfg80211/nl80211: add interval attribute for scheduled scans
cfg80211/mac80211: avoid bounce back mac->cfg->mac on sched_scan_stopped
wl12xx: add configuration values for scheduled scan
wl12xx: listen to scheduled scan events
wl12xx: add scheduled scan structures and commands
wl12xx: implement scheduled scan driver operations and reporting
wl12xx: export scheduled scan state in debugfs
wl12xx: prevent sched_scan when not idle or not in station mode
wl12xx: remove unused flag WL1271_FLAG_IDLE_REQUESTED
Luis R. Rodriguez (2):
ath9k_hw: fix power for the HT40 duplicate frames
ath9k_hw: fix dual band assumption for XB113
Mohammed Shafi Shajakhan (12):
ath9k_hw: remove aggregation protection mode
ath9k_hw: remove get_channel_noise function
ath9k_hw: make antenna diversity modules chip specific
ath9k_hw: enable Antenna diversity for AR9485
ath9k_hw: define registers/macros to support Antenna diversity
ath9k_hw: config diversity based on eeprom contents
ath9k_hw: define modules to get/set Antenna diversity paramaters
ath9k_hw: define antenna diversity group
ath9k: Implement an API to swap main/ALT LNA's
ath9k: configure fast_div_bias based on diversity group
ath9k: make sure main_rssi is positive
ath9k: make npending frames check as bool
Nicolas Cavallari (1):
carl9170: fix allmulticast mode
Rafał Miłecki (13):
b43: drop invalid IMCFGLO workaround
b43legacy: drop invalid IMCFGLO workaround
b43: drop ssb-duplicated workaround for dangling cores
b43legacy: drop ssb-duplicated workaround for dangling cores
b43: trivial: include ssb word in ssb specific functions
bcma: add Broadcom specific AMBA bus driver
ssb: update list of devices supporting multiple 80211 cores
b43legacy: trivial: use TMSLOW def instead of magic value
b43: move MAC PHY clock controling function
bcma: add missing GPIO defines, use PULL register only when available
ssb: move ssb_commit_settings and export it
b43: implement timeouts workaround
bcma: pci: trivial: correct amount of maximum retries
Rajkumar Manoharan (11):
ath9k: Fix drain txq failure in flush
mac80211: use wake_queue to restart trasmit
mac80211: Postpond ps timer if tx is stopped by others
ath9k_hw: do noise floor calibration only on required chains
wireless: Fix warnings due to -Wunused-but-set-variable
ath9k: avoid enabling interrupts while processing rx
ath9k: process TSF out of range before RX
ath9k_hw: Corrected xpabiaslevel register settings for AR9340
ath9k_hw: Change DCU backoff thresh for AR9340
ath9k: Fix rssi update in ad-hoc mode
ath9k: Failed to set default beacon rssi in AP/IBSS mode
Sascha Silbe (1):
libertas: Add libertas_disablemesh module parameter to disable mesh interface
Senthil Balasubramanian (1):
ath9k_hw: Fix STA connection issues with AR9380 (XB113).
Shahar Levi (6):
wl12xx: Set End-of-transaction Flag at Wl127x AP Mode
wl12xx: Set correct REF CLK and TCXO CLK values to the FW
wl12xx: FM WLAN coexistence
wl12xx: Update Power Save Exit Retries Packets
wl12xx: Don't filter beacons that include changed HT IEs
wl12xx: add IEEE80211_HW_SPECTRUM_MGMT bit to the hw flags
Stephen Boyd (2):
iwlegacy: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
iwlwifi: Silence DEBUG_STRICT_USER_COPY_CHECKS=y warning
Thomas Pedersen (3):
nl80211: allow installing keys for a meshif
nl80211: allow setting MFP flag for a meshif
mac80211: Self-protected management frames are not robust
Vinicius Costa Gomes (2):
Bluetooth: Add support for sending connection events for LE links
Bluetooth: Add support for disconnecting LE links via mgmt
Waldemar Rymarkiewicz (1):
Bluetooth: Double check sec req for pre 2.1 device
Wey-Yi Guy (1):
iwlagn: led stay solid on when no traffic
Yogesh Ashok Powar (6):
mwifiex: remove unnecessary variable initialization
mwl8k: Fix broken WEP
mwl8k: Do not ask mac80211 to generate IV for crypto keys
mac80211: Fix mesh-related build breakage...
cfg80211: make stripping of 802.11 header optional from AMSDU
mwifiex: use ieee80211_amsdu_to_8023s routine
Documentation/ABI/testing/sysfs-bus-bcma | 31 +
MAINTAINERS | 7 +
drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/bcma/Kconfig | 33 +
drivers/bcma/Makefile | 7 +
drivers/bcma/README | 19 +
drivers/bcma/TODO | 3 +
drivers/bcma/bcma_private.h | 28 +
drivers/bcma/core.c | 51 +
drivers/bcma/driver_chipcommon.c | 89 +
drivers/bcma/driver_chipcommon_pmu.c | 134 ++
drivers/bcma/driver_pci.c | 163 ++
drivers/bcma/host_pci.c | 196 ++
drivers/bcma/main.c | 247 +++
drivers/bcma/scan.c | 360 ++++
drivers/bcma/scan.h | 56 +
drivers/bluetooth/ath3k.c | 1 +
drivers/bluetooth/btusb.c | 1 +
drivers/net/wireless/ath/ath5k/base.c | 2 +-
drivers/net/wireless/ath/ath9k/ar9002_mac.c | 10 -
drivers/net/wireless/ath/ath9k/ar9002_phy.c | 44 +-
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c | 78 +-
drivers/net/wireless/ath/ath9k/ar9003_mac.c | 11 -
drivers/net/wireless/ath/ath9k/ar9003_phy.c | 46 +
drivers/net/wireless/ath/ath9k/ar9003_phy.h | 22 +
drivers/net/wireless/ath/ath9k/ath9k.h | 3 +-
drivers/net/wireless/ath/ath9k/beacon.c | 15 +-
drivers/net/wireless/ath/ath9k/calib.c | 21 +-
drivers/net/wireless/ath/ath9k/calib.h | 1 -
drivers/net/wireless/ath/ath9k/hw-ops.h | 16 +-
drivers/net/wireless/ath/ath9k/hw.c | 16 +
drivers/net/wireless/ath/ath9k/hw.h | 15 +-
drivers/net/wireless/ath/ath9k/mac.c | 9 +-
drivers/net/wireless/ath/ath9k/main.c | 47 +-
drivers/net/wireless/ath/ath9k/recv.c | 215 ++-
drivers/net/wireless/ath/ath9k/xmit.c | 11 +-
drivers/net/wireless/ath/carl9170/main.c | 2 +-
drivers/net/wireless/ath/carl9170/tx.c | 9 -
drivers/net/wireless/b43/main.c | 69 +-
drivers/net/wireless/b43/main.h | 1 +
drivers/net/wireless/b43/phy_n.c | 13 +-
drivers/net/wireless/b43legacy/main.c | 52 +-
drivers/net/wireless/iwlegacy/iwl-4965-rs.c | 2 +-
drivers/net/wireless/iwlwifi/Kconfig | 10 +
drivers/net/wireless/iwlwifi/Makefile | 1 +
drivers/net/wireless/iwlwifi/iwl-1000.c | 2 -
drivers/net/wireless/iwlwifi/iwl-2000.c | 2 -
drivers/net/wireless/iwlwifi/iwl-5000.c | 4 -
drivers/net/wireless/iwlwifi/iwl-6000.c | 4 -
drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c | 7 -
drivers/net/wireless/iwlwifi/iwl-agn-rs.c | 2 +-
drivers/net/wireless/iwlwifi/iwl-agn-tx.c | 105 +-
drivers/net/wireless/iwlwifi/iwl-agn-ucode.c | 2 +-
drivers/net/wireless/iwlwifi/iwl-agn.c | 143 +-
drivers/net/wireless/iwlwifi/iwl-agn.h | 22 +-
drivers/net/wireless/iwlwifi/iwl-core.h | 6 -
drivers/net/wireless/iwlwifi/iwl-dev.h | 34 +-
drivers/net/wireless/iwlwifi/iwl-led.c | 20 +-
drivers/net/wireless/iwlwifi/iwl-sv-open.c | 469 +++++
drivers/net/wireless/iwlwifi/iwl-testmode.h | 151 ++
drivers/net/wireless/iwlwifi/iwl-tx.c | 22 +-
drivers/net/wireless/iwmc3200wifi/rx.c | 3 +-
drivers/net/wireless/libertas/cfg.c | 16 +-
drivers/net/wireless/libertas/cmd.c | 40 +-
drivers/net/wireless/libertas/cmdresp.c | 27 +-
drivers/net/wireless/libertas/debugfs.c | 5 +-
drivers/net/wireless/libertas/defs.h | 7 -
drivers/net/wireless/libertas/if_cs.c | 57 +-
drivers/net/wireless/libertas/if_sdio.c | 37 +-
drivers/net/wireless/libertas/if_spi.c | 83 +-
drivers/net/wireless/libertas/if_usb.c | 44 +-
drivers/net/wireless/libertas/main.c | 72 +-
drivers/net/wireless/libertas/mesh.c | 8 +-
drivers/net/wireless/libertas/rx.c | 7 +-
drivers/net/wireless/mwifiex/11n.c | 7 +-
drivers/net/wireless/mwifiex/11n_aggr.c | 136 +--
drivers/net/wireless/mwifiex/11n_rxreorder.c | 15 +-
drivers/net/wireless/mwifiex/cfg80211.c | 48 +-
drivers/net/wireless/mwifiex/cmdevt.c | 51 +-
drivers/net/wireless/mwifiex/debugfs.c | 10 +-
drivers/net/wireless/mwifiex/fw.h | 21 +-
drivers/net/wireless/mwifiex/init.c | 59 +-
drivers/net/wireless/mwifiex/ioctl.h | 81 +-
drivers/net/wireless/mwifiex/join.c | 9 +-
drivers/net/wireless/mwifiex/main.c | 27 +-
drivers/net/wireless/mwifiex/main.h | 8 +-
drivers/net/wireless/mwifiex/scan.c | 30 +-
drivers/net/wireless/mwifiex/sdio.c | 35 +-
drivers/net/wireless/mwifiex/sta_cmd.c | 8 +-
drivers/net/wireless/mwifiex/sta_cmdresp.c | 28 +-
drivers/net/wireless/mwifiex/sta_ioctl.c | 80 +-
drivers/net/wireless/mwifiex/sta_rx.c | 26 +-
drivers/net/wireless/mwifiex/sta_tx.c | 4 +-
drivers/net/wireless/mwifiex/txrx.c | 10 +-
drivers/net/wireless/mwifiex/util.c | 29 +-
drivers/net/wireless/mwifiex/wmm.c | 2 +-
drivers/net/wireless/mwl8k.c | 18 +-
drivers/net/wireless/p54/p54pci.c | 3 +-
drivers/net/wireless/rt2x00/Kconfig | 11 +-
drivers/net/wireless/rt2x00/rt2800.h | 2 +
drivers/net/wireless/rt2x00/rt2800lib.c | 5 +-
drivers/net/wireless/rt2x00/rt2800usb.c | 8 +
drivers/net/wireless/rt2x00/rt2x00dev.c | 2 +-
drivers/net/wireless/rt2x00/rt2x00usb.c | 6 +-
drivers/net/wireless/rtlwifi/Kconfig | 15 +-
drivers/net/wireless/rtlwifi/Makefile | 1 +
drivers/net/wireless/rtlwifi/efuse.c | 35 +-
drivers/net/wireless/rtlwifi/pci.c | 1 +
drivers/net/wireless/rtlwifi/rtl8192cu/trx.c | 4 +-
drivers/net/wireless/rtlwifi/rtl8192se/Makefile | 15 +
drivers/net/wireless/rtlwifi/rtl8192se/def.h | 598 ++++++
drivers/net/wireless/rtlwifi/rtl8192se/dm.c | 733 +++++++
drivers/net/wireless/rtlwifi/rtl8192se/dm.h | 164 ++
drivers/net/wireless/rtlwifi/rtl8192se/fw.c | 654 ++++++
drivers/net/wireless/rtlwifi/rtl8192se/fw.h | 375 ++++
drivers/net/wireless/rtlwifi/rtl8192se/hw.c | 2512 +++++++++++++++++++++++
drivers/net/wireless/rtlwifi/rtl8192se/hw.h | 79 +
drivers/net/wireless/rtlwifi/rtl8192se/led.c | 149 ++
drivers/net/wireless/rtlwifi/rtl8192se/led.h | 37 +
drivers/net/wireless/rtlwifi/rtl8192se/phy.c | 1740 ++++++++++++++++
drivers/net/wireless/rtlwifi/rtl8192se/phy.h | 101 +
drivers/net/wireless/rtlwifi/rtl8192se/reg.h | 1188 +++++++++++
drivers/net/wireless/rtlwifi/rtl8192se/rf.c | 546 +++++
drivers/net/wireless/rtlwifi/rtl8192se/rf.h | 43 +
drivers/net/wireless/rtlwifi/rtl8192se/sw.c | 423 ++++
drivers/net/wireless/rtlwifi/rtl8192se/sw.h | 36 +
drivers/net/wireless/rtlwifi/rtl8192se/table.c | 634 ++++++
drivers/net/wireless/rtlwifi/rtl8192se/table.h | 49 +
drivers/net/wireless/rtlwifi/rtl8192se/trx.c | 976 +++++++++
drivers/net/wireless/rtlwifi/rtl8192se/trx.h | 45 +
drivers/net/wireless/wl12xx/acx.c | 190 ++-
drivers/net/wireless/wl12xx/acx.h | 103 +-
drivers/net/wireless/wl12xx/boot.c | 6 +-
drivers/net/wireless/wl12xx/cmd.c | 18 +-
drivers/net/wireless/wl12xx/conf.h | 111 +-
drivers/net/wireless/wl12xx/debugfs.c | 240 +++
drivers/net/wireless/wl12xx/event.c | 70 +-
drivers/net/wireless/wl12xx/event.h | 12 +-
drivers/net/wireless/wl12xx/init.c | 110 +-
drivers/net/wireless/wl12xx/init.h | 2 +
drivers/net/wireless/wl12xx/main.c | 492 ++++-
drivers/net/wireless/wl12xx/ps.c | 30 +-
drivers/net/wireless/wl12xx/ps.h | 2 +
drivers/net/wireless/wl12xx/rx.c | 36 +-
drivers/net/wireless/wl12xx/scan.c | 243 +++
drivers/net/wireless/wl12xx/scan.h | 114 +
drivers/net/wireless/wl12xx/sdio.c | 64 +-
drivers/net/wireless/wl12xx/tx.c | 13 +-
drivers/net/wireless/wl12xx/tx.h | 2 +-
drivers/net/wireless/wl12xx/wl12xx.h | 14 +-
drivers/ssb/driver_pcicore.c | 26 -
drivers/ssb/main.c | 31 +
drivers/ssb/scan.c | 5 +-
include/linux/bcma/bcma.h | 224 ++
include/linux/bcma/bcma_driver_chipcommon.h | 302 +++
include/linux/bcma/bcma_driver_pci.h | 89 +
include/linux/bcma/bcma_regs.h | 34 +
include/linux/ieee80211.h | 11 +-
include/linux/mod_devicetable.h | 17 +
include/linux/nl80211.h | 302 +++-
include/linux/ssb/ssb.h | 1 +
include/net/bluetooth/hci_core.h | 1 +
include/net/bluetooth/l2cap.h | 9 +-
include/net/cfg80211.h | 237 +++-
include/net/mac80211.h | 66 +
net/bluetooth/hci_conn.c | 17 +
net/bluetooth/hci_event.c | 5 +-
net/bluetooth/l2cap_core.c | 193 ++-
net/bluetooth/l2cap_sock.c | 72 +-
net/bluetooth/mgmt.c | 3 +
net/bluetooth/rfcomm/core.c | 2 +-
net/mac80211/agg-rx.c | 3 +-
net/mac80211/agg-tx.c | 59 +-
net/mac80211/cfg.c | 135 +-
net/mac80211/debugfs.c | 2 +-
net/mac80211/debugfs_key.c | 21 +-
net/mac80211/driver-ops.h | 56 +-
net/mac80211/driver-trace.h | 228 ++-
net/mac80211/ht.c | 27 +-
net/mac80211/ibss.c | 11 +-
net/mac80211/ieee80211_i.h | 41 +-
net/mac80211/iface.c | 3 +-
net/mac80211/key.c | 30 +-
net/mac80211/key.h | 4 +
net/mac80211/main.c | 37 +-
net/mac80211/mesh.c | 47 +-
net/mac80211/mesh.h | 6 +-
net/mac80211/mesh_hwmp.c | 38 +-
net/mac80211/mesh_pathtbl.c | 123 +-
net/mac80211/mesh_plink.c | 83 +-
net/mac80211/mlme.c | 22 +-
net/mac80211/pm.c | 13 +-
net/mac80211/rc80211_minstrel.c | 4 +-
net/mac80211/rc80211_minstrel_ht.c | 27 +-
net/mac80211/rx.c | 17 +-
net/mac80211/scan.c | 122 ++-
net/mac80211/sta_info.c | 19 +-
net/mac80211/sta_info.h | 50 +-
net/mac80211/tx.c | 10 +-
net/mac80211/util.c | 19 +
net/rfkill/core.c | 2 +-
net/wireless/core.c | 89 +-
net/wireless/core.h | 33 +
net/wireless/lib80211_crypt_wep.c | 3 +-
net/wireless/mlme.c | 10 +
net/wireless/nl80211.c | 670 ++++++-
net/wireless/nl80211.h | 4 +
net/wireless/reg.c | 2 -
net/wireless/scan.c | 77 +-
net/wireless/sysfs.c | 2 +-
net/wireless/util.c | 126 ++-
scripts/mod/file2alias.c | 22 +
213 files changed, 19165 insertions(+), 2154 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-bus-bcma
create mode 100644 drivers/bcma/Kconfig
create mode 100644 drivers/bcma/Makefile
create mode 100644 drivers/bcma/README
create mode 100644 drivers/bcma/TODO
create mode 100644 drivers/bcma/bcma_private.h
create mode 100644 drivers/bcma/core.c
create mode 100644 drivers/bcma/driver_chipcommon.c
create mode 100644 drivers/bcma/driver_chipcommon_pmu.c
create mode 100644 drivers/bcma/driver_pci.c
create mode 100644 drivers/bcma/host_pci.c
create mode 100644 drivers/bcma/main.c
create mode 100644 drivers/bcma/scan.c
create mode 100644 drivers/bcma/scan.h
create mode 100644 drivers/net/wireless/iwlwifi/iwl-sv-open.c
create mode 100644 drivers/net/wireless/iwlwifi/iwl-testmode.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/Makefile
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/def.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/dm.c
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/dm.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/fw.c
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/fw.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/hw.c
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/hw.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/led.c
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/led.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/phy.c
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/phy.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/reg.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/rf.c
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/rf.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/sw.c
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/sw.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/table.c
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/table.h
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/trx.c
create mode 100644 drivers/net/wireless/rtlwifi/rtl8192se/trx.h
create mode 100644 include/linux/bcma/bcma.h
create mode 100644 include/linux/bcma/bcma_driver_chipcommon.h
create mode 100644 include/linux/bcma/bcma_driver_pci.h
create mode 100644 include/linux/bcma/bcma_regs.h
Omnibus patch available here:
http://www.kernel.org/pub/linux/kernel/people/linville/wireless-next-2.6-2011-05-16-v2.patch.bz2
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply
* RE: [PATCH] CDC NCM: release interfaces fix in unbind()
From: Alexey ORISHKO @ 2011-05-17 0:52 UTC (permalink / raw)
To: David Miller
Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
gregkh-l3A5Bk7waGM@public.gmane.org,
oliver-GvhC2dPhHPQdnm+yROfE0A@public.gmane.org
In-Reply-To: <20110516.151302.89070822321885499.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
> The usb_set_intfdata() calls at cdc_ncm_bind() time are unconditional,
> and are performed regardless of whether ->data_claimed or
> ->control_claimed are set.
>
> So conditionalizing the setting of them to NULL here doesn't seem
> right at all.
>
> I'm not applying this patch.
Looks like I have to pay more attention to bind/unbind code as it was
copy-paste to some extent. Looking at cdc-acm and cdc_ether drivers,
there is no need to claim control (master) interface neither release it
in unbind().
Some confusion was added by other driver code that handles crippled
devices, which mix ctrl and data interfaces... Shall not be the case here.
I see, that some clean up can be done and "xxx_claimed" fields in context
structure can be removed, so will post a new version of patch shortly.
Regards,
Alexey
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: [PATCHv1 (Repost)] bnx2x: Allow ethtool to enable/disable loopback.
From: David Miller @ 2011-05-17 1:42 UTC (permalink / raw)
To: maheshb; +Cc: eilong, netdev, therbert
In-Reply-To: <1305335329-32700-1-git-send-email-maheshb@google.com>
From: Mahesh Bandewar <maheshb@google.com>
Date: Fri, 13 May 2011 18:08:49 -0700
> This patch updates the bnx2x_set_features() to handle loopback mode.
> When enabled; it sets internal-MAC loopback.
>
> Signed-off-by: Mahesh Bandewar <maheshb@google.com>
I forgot to mention that I've applied this to net-next-2.6, thanks.
^ permalink raw reply
* linux-next: manual merge of the net tree with the net-current tree
From: Stephen Rothwell @ 2011-05-17 2:01 UTC (permalink / raw)
To: David Miller, netdev
Cc: linux-next, linux-kernel, Thomas Jarosch,
"Michał Mirosław"
[-- Attachment #1: Type: text/plain, Size: 493 bytes --]
Hi all,
Today's linux-next merge of the net tree got a conflict in
drivers/net/vmxnet3/vmxnet3_ethtool.c between commit ebde6f8acba9
("vmxnet3: Fix inconsistent LRO state after initialization") from the
net-current tree and commit a0d2730c9571 ("net: vmxnet3: convert to
hw_features") from the net tree.
I fixed it up (by removing the lines added by the net-current patch) and
can carry the fix as necessary.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply
* RE: [PATCH 1/2] linux-firmware: update firmware for RTL8111E
From: Ben Hutchings @ 2011-05-17 2:39 UTC (permalink / raw)
To: hayeswang; +Cc: 'Francois Romieu', 'David Woodhouse', netdev
In-Reply-To: <883AEB89D11D495A9666E2F73C2CD95F@realtek.com.tw>
[-- Attachment #1: Type: text/plain, Size: 1255 bytes --]
On Tue, 2011-05-10 at 10:09 +0800, hayeswang wrote:
>
> Francois Romieu [mailto:romieu@fr.zoreil.com]
> > Sent: Tuesday, May 10, 2011 3:23 AM
> > To: David Woodhouse
> > Cc: Hayeswang; netdev@vger.kernel.org
> > Subject: Re: [PATCH 1/2] linux-firmware: update firmware for RTL8111E
> >
> > David Woodhouse <dwmw2@infradead.org> :
> > [...]
> > > I'd be a lot happier if the WHENCE file contained version numbers.
> > > Does the *driver* print a version string for the firmware
> > after loading it?
> >
> > No.
> >
> > Hayes, do we agree that the firmware needs to embed a version
> > identifier (and some checksum to identify the current
> > firmware that don't embed one).
> >
>
> I agree that. However, I have no idea about making it compatible with previous
> parser and firmware. Let me think if there is a good way to do this.
A PHY_DATA_AND at the beginning of a firmware blob instruction is a
no-op, so you could use that to add version information in a compatible
way. For RTL8168D, however, you are right that this would break
compatibility with the earlier driver versions that only handled
PHY_WRITE.
Ben.
--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]
^ permalink raw reply
* Re: pull request: wireless-next-2.6 2011-05-16-v2
From: David Miller @ 2011-05-17 3:08 UTC (permalink / raw)
To: linville-2XuSBdqkA4R54TAoqtyWWQ
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA,
netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20110517000809.GA2119-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: Text/Plain; charset=iso-8859-7, Size: 1885 bytes --]
From: "John W. Linville" <linville@tuxdriver.com>
Date: Mon, 16 May 2011 20:08:09 -0400
> I'm sorry, Dave! In my defense, I am on the verge of sickness and got
> very little sleep last night... :-(
>
> I have corrected the problem and was sure to perform the correct build
> test this time! :-)
So these hunks made to net/bluetooth/l2cap_core.c:
@@ -3745,11 +3758,14 @@ done:
static inline int l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, struct sk_buff *skb)
{
struct sock *sk;
+ struct l2cap_chan *chan;
- sk = l2cap_get_sock_by_psm(0, psm, conn->src);
- if (!sk)
+ chan = l2cap_global_chan_by_psm(0, psm, conn->src);
+ if (!chan)
goto drop;
+ sk = chan->sk;
+
bh_lock_sock(sk);
BT_DBG("sk %p, len %d", sk, skb->len);
@@ -3745,11 +3758,14 @@ done:
static inline int l2cap_conless_channel(struct l2cap_conn *conn, __le16 psm, struct sk_buff *skb)
{
struct sock *sk;
+ struct l2cap_chan *chan;
- sk = l2cap_get_sock_by_psm(0, psm, conn->src);
- if (!sk)
+ chan = l2cap_global_chan_by_psm(0, psm, conn->src);
+ if (!chan)
goto drop;
+ sk = chan->sk;
+
bh_lock_sock(sk);
BT_DBG("sk %p, len %d", sk, skb->len);
Doesn't generate the following warnings on your compiler?
net/bluetooth/l2cap_core.c: In function ¡l2cap_recv_frame¢:
net/bluetooth/l2cap_core.c:3758:15: warning: ¡sk¢ may be used uninitialized in this function
net/bluetooth/l2cap_core.c:3758:15: note: ¡sk¢ was declared here
net/bluetooth/l2cap_core.c:3791:15: warning: ¡sk¢ may be used uninitialized in this function
net/bluetooth/l2cap_core.c:3791:15: note: ¡sk¢ was declared here
I'll fix these up with the obvious fixes, but please be more careful
in the future.
Thanks.
N§²æìr¸yúèØb²X¬¶Ç§vØ^)Þº{.nÇ+·¥{±Â*Þë,{ayº\x1dÊÚë,j\a¢f£¢·h»öì\x17/oSc¾Ú³9uÀ¦æåÈ&jw¨®\x03(éÝ¢j"ú\x1a¶^[m§ÿïêäz¹Þàþf£¢·h§~m
^ permalink raw reply
* Re: [PATCH V5 4/6 net-next] vhost: vhost TX zero-copy support
From: Shirley Ma @ 2011-05-17 4:31 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: David Miller, Eric Dumazet, Avi Kivity, Arnd Bergmann, netdev,
kvm, linux-kernel
In-Reply-To: <20110516212401.GF18148@redhat.com>
On Tue, 2011-05-17 at 00:24 +0300, Michael S. Tsirkin wrote:
> On Mon, May 16, 2011 at 01:56:54PM -0700, Shirley Ma wrote:
> > On Mon, 2011-05-16 at 23:45 +0300, Michael S. Tsirkin wrote:
> > > > +/* Since we need to keep the order of used_idx as avail_idx,
> it's
> > > possible that
> > > > + * DMA done not in order in lower device driver for some
> reason. To
> > > prevent
> > > > + * used_idx out of order, upend_idx is used to track avail_idx
> > > order, done_idx
> > > > + * is used to track used_idx order. Once lower device DMA done,
> > > then upend_idx
> > > > + * can move to done_idx.
> > >
> > > Could you clarify this please? virtio explicitly allows out of
> order
> > > completion of requests. Does it simplify code that we try to keep
> > > used index updates in-order? Because if not, this is not
> > > really a requirement.
> >
> > Hello Mike,
> >
> > Based on my testing, vhost_add_used() must be in order from
> > vhost_get_vq_desc(). Otherwise, virtio_net ring seems get double
> > freed.
>
> Double-freed or you get NULL below?
More likely is NULL.
> > I didn't spend time on debugging this.
> >
> > in virtqueue_get_buf
> >
> > if (unlikely(!vq->data[i])) {
> > BAD_RING(vq, "id %u is not a head!\n", i);
> > return NULL;
> > }
>
> Yes but i used here is the head that we read from the
> ring, not the ring index itself.
> i = vq->vring.used->ring[vq->last_used_idx%vq->vring.num].id
> we must complete any id only once, but in any order.
It is in any order of ring id, but must be in the order of "head"
returns from vhost_get_vq_desc(), any clue?
Thanks
Shirley
^ permalink raw reply
* Re: [PATCH] 2.6.38 ENC28J60 works with half-duplex DMA
From: Davide Rizzo @ 2011-05-17 5:15 UTC (permalink / raw)
To: David Miller; +Cc: netdev
In-Reply-To: <20110516.114855.1523183530208158354.davem@davemloft.net>
I'm sorry for that, initially It was refused by your system for format
problems (html?), then I didn't see them in the archives, so I though
some problem happened and resent it. I didn't receive it back from the
list.
Where can I see a message list to have a confirmation that it was received ?
2011/5/16 David Miller <davem@davemloft.net>:
>
> You've sent this patch 3 times, we've noticed and seen them all,
> our silence doesn't mean it hasn't been received.
>
> What new thing do you hope to accomplish on each subsequent
> submission?
>
--
All difficult problems have a simple solution. That is wrong. [A. Einstein]
^ permalink raw reply
* Re: tap/bridge: Dropping NETIF_F_GSO/NETIF_F_SG
From: Michael S. Tsirkin @ 2011-05-17 5:18 UTC (permalink / raw)
To: Herbert Xu; +Cc: David Miller, mirqus, shanwei, mirq-linux, netdev, bhutchings
In-Reply-To: <20110516234538.GA11832@gondor.apana.org.au>
On Tue, May 17, 2011 at 09:45:38AM +1000, Herbert Xu wrote:
> On Mon, May 16, 2011 at 07:06:15PM -0400, David Miller wrote:
> >
> > Well the check has to exist somewhere.
> >
> > Currently userspace can configure tun/tap into whatever set
> > of offloads it likes.
> >
> > We're warning when the user asks for something that needs to be
> > corrected. So the only thing you can suggest is to duplicate these
> > changes in the tun/tap driver.
> >
> > But if we do that, and error on bad combinations instead of fixing
> > them up, we know from this discussion that existing virtualization
> > setups and tools are going to stop working.
>
> Yeah the tun driver is simply busted. We should never have allowed
> user-space to tweak the feature bits like this. Instead they should
> have gone through the ethtool interface like everyone else, or at
> least use the same underlying calls as ethtool.
>
> Actually, I think we can still do that, and apply the same rules
> as ethtool with respect to automatically turning things on/off.
>
> AFAICS the current set_offload in tun.c does not call anything
> that verifies/fixes up the settings. If you change the feature
> bits after registering the tun device it may never get fixed up
> at all.
Hmm, we get the warnings about bits dropped on each set_offload
call:
netdev_update_features is called,
that calls netdev_fix_features
No?
> Allowing an unprivileged user to tweak feature bits directly with
> no verification is just wrong.
>
> Cheers,
But we do verify bits, and only allow the user
to tweak these ones:
#define TUN_USER_FEATURES (NETIF_F_HW_CSUM|NETIF_F_TSO_ECN|NETIF_F_TSO|
\
NETIF_F_TSO6|NETIF_F_UFO)
No?
> --
> Email: Herbert Xu <herbert@gondor.apana.org.au>
> Home Page: http://gondor.apana.org.au/~herbert/
> PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply
* Re: tap/bridge: Dropping NETIF_F_GSO/NETIF_F_SG
From: Herbert Xu @ 2011-05-17 5:24 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: David Miller, mirqus, shanwei, mirq-linux, netdev, bhutchings
In-Reply-To: <20110517051845.GA26414@redhat.com>
On Tue, May 17, 2011 at 08:18:45AM +0300, Michael S. Tsirkin wrote:
>
> Hmm, we get the warnings about bits dropped on each set_offload
> call:
> netdev_update_features is called,
> that calls netdev_fix_features
>
> No?
I presume this has changed recently as the current Linus tree
does not contain a call to netdev_update_features, it only calls
netdev_features_change.
If so then this does ensure that the feature bits will be sane.
I still think the warnings should be retained at their previous
level in the call paths other than set_offload. All we have to
do is add a parameter to netdev_update_features and co.
Cheers,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply
* [PATCH 0/2] netfilter: SIP conntrack fixes
From: kaber @ 2011-05-17 5:26 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, netdev
Hi Dave,
following are two fixes for the SIP connection tracking helper:
- missing validation of the Content-Length field, which is used to calculate
the end of the SDP body
- incorrect parsing of the SIP message, resulting in a failure to locate
the SDP body when the Content-Length field is not the last member of the
SIP message
Please apply or pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6.git master
Thanks!
^ permalink raw reply
* [PATCH 1/2] netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
From: kaber @ 2011-05-17 5:26 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, netdev
In-Reply-To: <1305610014-3056-1-git-send-email-kaber@trash.net>
From: Patrick McHardy <kaber@trash.net>
Verify that the message length of a single SIP message, which is calculated
based on the Content-Length field contained in the SIP message, does not
exceed the packet boundaries.
Signed-off-by: Patrick McHardy <kaber@trash.net>
---
net/netfilter/nf_conntrack_sip.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/net/netfilter/nf_conntrack_sip.c b/net/netfilter/nf_conntrack_sip.c
index bcf47eb..1f81abd 100644
--- a/net/netfilter/nf_conntrack_sip.c
+++ b/net/netfilter/nf_conntrack_sip.c
@@ -1461,6 +1461,8 @@ static int sip_help_tcp(struct sk_buff *skb, unsigned int protoff,
end += strlen("\r\n\r\n") + clen;
msglen = origlen = end - dptr;
+ if (msglen > datalen)
+ return NF_DROP;
ret = process_sip_msg(skb, ct, dataoff, &dptr, &msglen);
if (ret != NF_ACCEPT)
--
1.7.2.3
^ permalink raw reply related
* [PATCH 2/2] netfilter: nf_ct_sip: fix SDP parsing in TCP SIP messages for some Cisco phones
From: kaber @ 2011-05-17 5:26 UTC (permalink / raw)
To: davem; +Cc: netfilter-devel, netdev
In-Reply-To: <1305610014-3056-1-git-send-email-kaber@trash.net>
From: Patrick McHardy <kaber@trash.net>
Some Cisco phones do not place the Content-Length field at the end of the
SIP message. This is valid, due to a misunderstanding of the specification
the parser expects the SDP body to start directly after the Content-Length
field. Fix the parser to scan for \r\n\r\n to locate the beginning of the
SDP body.
Reported-by: Teresa Kang <teresa_kang@gemtek.com.tw>
Signed-off-by: Patrick McHardy <kaber@trash.net>
---
net/netfilter/nf_conntrack_sip.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/net/netfilter/nf_conntrack_sip.c b/net/netfilter/nf_conntrack_sip.c
index 1f81abd..c05c0dc 100644
--- a/net/netfilter/nf_conntrack_sip.c
+++ b/net/netfilter/nf_conntrack_sip.c
@@ -1419,6 +1419,7 @@ static int sip_help_tcp(struct sk_buff *skb, unsigned int protoff,
const char *dptr, *end;
s16 diff, tdiff = 0;
int ret = NF_ACCEPT;
+ bool term;
typeof(nf_nat_sip_seq_adjust_hook) nf_nat_sip_seq_adjust;
if (ctinfo != IP_CT_ESTABLISHED &&
@@ -1453,10 +1454,15 @@ static int sip_help_tcp(struct sk_buff *skb, unsigned int protoff,
if (dptr + matchoff == end)
break;
- if (end + strlen("\r\n\r\n") > dptr + datalen)
- break;
- if (end[0] != '\r' || end[1] != '\n' ||
- end[2] != '\r' || end[3] != '\n')
+ term = false;
+ for (; end + strlen("\r\n\r\n") <= dptr + datalen; end++) {
+ if (end[0] == '\r' && end[1] == '\n' &&
+ end[2] == '\r' && end[3] == '\n') {
+ term = true;
+ break;
+ }
+ }
+ if (!term)
break;
end += strlen("\r\n\r\n") + clen;
--
1.7.2.3
^ permalink raw reply related
* Re: tap/bridge: Dropping NETIF_F_GSO/NETIF_F_SG
From: Michael S. Tsirkin @ 2011-05-17 5:48 UTC (permalink / raw)
To: Herbert Xu; +Cc: David Miller, mirqus, shanwei, mirq-linux, netdev, bhutchings
In-Reply-To: <20110517052401.GA15198@gondor.apana.org.au>
On Tue, May 17, 2011 at 03:24:01PM +1000, Herbert Xu wrote:
> On Tue, May 17, 2011 at 08:18:45AM +0300, Michael S. Tsirkin wrote:
> >
> > Hmm, we get the warnings about bits dropped on each set_offload
> > call:
> > netdev_update_features is called,
> > that calls netdev_fix_features
> >
> > No?
>
> I presume this has changed recently as the current Linus tree
> does not contain a call to netdev_update_features, it only calls
> netdev_features_change.
>
> If so then this does ensure that the feature bits will be sane.
>
> I still think the warnings should be retained at their previous
> level in the call paths other than set_offload. All we have to
> do is add a parameter to netdev_update_features and co.
>
> Cheers,
You mean like bool quiet?
--
MST
^ permalink raw reply
* Re: [PATCH V5 4/6 net-next] vhost: vhost TX zero-copy support
From: Michael S. Tsirkin @ 2011-05-17 5:55 UTC (permalink / raw)
To: Shirley Ma
Cc: David Miller, Eric Dumazet, Avi Kivity, Arnd Bergmann, netdev,
kvm, linux-kernel
In-Reply-To: <1305606683.10756.3.camel@localhost.localdomain>
On Mon, May 16, 2011 at 09:31:23PM -0700, Shirley Ma wrote:
> On Tue, 2011-05-17 at 00:24 +0300, Michael S. Tsirkin wrote:
> > On Mon, May 16, 2011 at 01:56:54PM -0700, Shirley Ma wrote:
> > > On Mon, 2011-05-16 at 23:45 +0300, Michael S. Tsirkin wrote:
> > > > > +/* Since we need to keep the order of used_idx as avail_idx,
> > it's
> > > > possible that
> > > > > + * DMA done not in order in lower device driver for some
> > reason. To
> > > > prevent
> > > > > + * used_idx out of order, upend_idx is used to track avail_idx
> > > > order, done_idx
> > > > > + * is used to track used_idx order. Once lower device DMA done,
> > > > then upend_idx
> > > > > + * can move to done_idx.
> > > >
> > > > Could you clarify this please? virtio explicitly allows out of
> > order
> > > > completion of requests. Does it simplify code that we try to keep
> > > > used index updates in-order? Because if not, this is not
> > > > really a requirement.
> > >
> > > Hello Mike,
> > >
> > > Based on my testing, vhost_add_used() must be in order from
> > > vhost_get_vq_desc(). Otherwise, virtio_net ring seems get double
> > > freed.
> >
> > Double-freed or you get NULL below?
>
> More likely is NULL.
>
> > > I didn't spend time on debugging this.
> > >
> > > in virtqueue_get_buf
> > >
> > > if (unlikely(!vq->data[i])) {
> > > BAD_RING(vq, "id %u is not a head!\n", i);
> > > return NULL;
> > > }
> >
> > Yes but i used here is the head that we read from the
> > ring, not the ring index itself.
> > i = vq->vring.used->ring[vq->last_used_idx%vq->vring.num].id
> > we must complete any id only once, but in any order.
>
> It is in any order of ring id, but must be in the order of "head"
> returns from vhost_get_vq_desc(), any clue?
>
>
> Thanks
> Shirley
Something in your patch that overwrites the id in vhost
and makes it put the wrong id in the used ring?
By the way, need to keep in mind that a guest can
give us the same head twice, need to make sure this
at least does not corrupt host memory.
--
MST
^ permalink raw reply
* Re: [PATCH 06/18] virtio_ring: avail event index interface
From: Michael S. Tsirkin @ 2011-05-17 6:00 UTC (permalink / raw)
To: Rusty Russell
Cc: Krishna Kumar, Carsten Otte, lguest-uLR06cmDAlY/bJ5BZ2RsiQ,
Shirley Ma, kvm-u79uwXL29TY76Z2rM5mHXA,
linux-s390-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
habanero-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8, Heiko Carstens,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
steved-r/Jw6+rmf7HQT0dZR+AlfA, Christian Borntraeger,
Tom Lendacky, Martin Schwidefsky, linux390-tA70FqPdS9bQT0dZR+AlfA
In-Reply-To: <87k4drduzs.fsf-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
On Mon, May 16, 2011 at 03:53:19PM +0930, Rusty Russell wrote:
> On Sun, 15 May 2011 15:47:27 +0300, "Michael S. Tsirkin" <mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> > On Mon, May 09, 2011 at 01:43:15PM +0930, Rusty Russell wrote:
> > > On Wed, 4 May 2011 23:51:19 +0300, "Michael S. Tsirkin" <mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> > > > #define VIRTIO_RING_F_USED_EVENT_IDX 29
> > > > +/* The Host publishes the avail index for which it expects a kick
> > > > + * at the end of the used ring. Guest should ignore the used->flags field. */
> > > > +#define VIRTIO_RING_F_AVAIL_EVENT_IDX 32
> > >
> > > Are you really sure we want to separate the two? Seems a little simpler
> > > to have one bit to mean "we're publishing our threshold". For someone
> > > implementing this from scratch, it's a little simpler.
> > >
> > > Or are there cases where the old style makes more sense?
> > >
> > > Thanks,
> > > Rusty.
> >
> > Hmm, it makes debugging easier as each side can disable
> > publishing separately - I used it all the time when I saw
> > e.g. networking stuck to guess whether I need to investigate the
> > interrupt or the exit handling.
> >
> > But I'm not hung up on this.
> >
> > Let me know pls.
>
> If we combine them into one, then these patches no longer depend on
> the feature bit expansion, which is worthwhile (though I'll take both).
>
> Thanks,
> Rusty.
Yes, I know. But if we do expand feature bits anyway, for debugging
and profiling if nothing else it's useful to have them separate ...
If you take both why does the order matter?
--
MST
^ permalink raw reply
* Re: [PATCH 09/18] virtio: use avail_event index
From: Michael S. Tsirkin @ 2011-05-17 6:10 UTC (permalink / raw)
To: Rusty Russell
Cc: Krishna Kumar, Carsten Otte, lguest-uLR06cmDAlY/bJ5BZ2RsiQ,
Shirley Ma, kvm-u79uwXL29TY76Z2rM5mHXA,
linux-s390-u79uwXL29TY76Z2rM5mHXA, netdev-u79uwXL29TY76Z2rM5mHXA,
habanero-23VcF4HTsmIX0ybBhKVfKdBPR1lH4CV8, Heiko Carstens,
linux-kernel-u79uwXL29TY76Z2rM5mHXA,
virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
steved-r/Jw6+rmf7HQT0dZR+AlfA, Christian Borntraeger,
Tom Lendacky, Martin Schwidefsky, linux390-tA70FqPdS9bQT0dZR+AlfA
In-Reply-To: <87ei3zdsq2.fsf-8n+1lVoiYb80n/F98K4Iww@public.gmane.org>
On Mon, May 16, 2011 at 04:42:21PM +0930, Rusty Russell wrote:
> On Sun, 15 May 2011 16:55:41 +0300, "Michael S. Tsirkin" <mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> > On Mon, May 09, 2011 at 02:03:26PM +0930, Rusty Russell wrote:
> > > On Wed, 4 May 2011 23:51:47 +0300, "Michael S. Tsirkin" <mst-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> > > > Use the new avail_event feature to reduce the number
> > > > of exits from the guest.
> > >
> > > Figures here would be nice :)
> >
> > You mean ASCII art in comments?
>
> I mean benchmarks of some kind.
:)
> >
> > > > @@ -228,6 +237,12 @@ add_head:
> > > > * new available array entries. */
> > > > virtio_wmb();
> > > > vq->vring.avail->idx++;
> > > > + /* If the driver never bothers to kick in a very long while,
> > > > + * avail index might wrap around. If that happens, invalidate
> > > > + * kicked_avail index we stored. TODO: make sure all drivers
> > > > + * kick at least once in 2^16 and remove this. */
> > > > + if (unlikely(vq->vring.avail->idx == vq->kicked_avail))
> > > > + vq->kicked_avail_valid = true;
> > >
> > > If they don't, they're already buggy. Simply do:
> > > WARN_ON(vq->vring.avail->idx == vq->kicked_avail);
> >
> > Hmm, but does it say that somewhere?
>
> AFAICT it's a corollary of:
> 1) You have a finite ring of size <= 2^16.
> 2) You need to kick the other side once you've done some work.
Well one can imagine a driver doing:
while (virtqueue_get_buf()) {
virtqueue_add_buf()
}
virtqueue_kick()
which looks sensible (batch kicks) but might
process any number of bufs between kicks.
If we look at drivers closely enough, I think none
of them do the equivalent of the above, but not 100% sure.
> > > > @@ -482,6 +517,8 @@ void vring_transport_features(struct virtio_device *vdev)
> > > > break;
> > > > case VIRTIO_RING_F_USED_EVENT_IDX:
> > > > break;
> > > > + case VIRTIO_RING_F_AVAIL_EVENT_IDX:
> > > > + break;
> > > > default:
> > > > /* We don't understand this bit. */
> > > > clear_bit(i, vdev->features);
> > >
> > > Does this belong in a prior patch?
> > >
> > > Thanks,
> > > Rusty.
> >
> > Well if we don't support the feature in the ring we should not
> > ack the feature, right?
>
> Ah, you're right.
>
> Thanks,
> Rusty.
^ permalink raw reply
* Re: [PATCH V5 2/6 net-next] netdevice.h: Add zero-copy flag in netdevice
From: Michael S. Tsirkin @ 2011-05-17 6:21 UTC (permalink / raw)
To: Shirley Ma
Cc: Ben Hutchings, David Miller, Eric Dumazet, Avi Kivity,
Arnd Bergmann, netdev, kvm, linux-kernel
In-Reply-To: <1305588738.3456.65.camel@localhost.localdomain>
On Mon, May 16, 2011 at 04:32:18PM -0700, Shirley Ma wrote:
> Hello Michael,
>
> Looks like to use a new flag requires more time/work.
> I am thinking
> whether we can just use HIGHDMA flag to enable zero-copy in macvtap to
> avoid the new flag for now since mavctap uses real NICs as lower device?
>
> Thanks
> Shirley
Problem is, in your patch there are a set of restrictions on what the
device can do with the skb that we need to enforce somehow.
Also, how do we know it's a 'real NIC' and not a software device?
--
MST
^ permalink raw reply
* Re: tap/bridge: Dropping NETIF_F_GSO/NETIF_F_SG
From: Herbert Xu @ 2011-05-17 6:25 UTC (permalink / raw)
To: Michael S. Tsirkin
Cc: David Miller, mirqus, shanwei, mirq-linux, netdev, bhutchings
In-Reply-To: <20110517054823.GB26414@redhat.com>
On Tue, May 17, 2011 at 08:48:23AM +0300, Michael S. Tsirkin wrote:
>
> You mean like bool quiet?
Yes when tun calls netdev_update_features we expect it to contain
bogus combinations so all warnings should disappear.
Everybody should still need maintain sanity.
Cheers,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply
* Re: [PATCH] CDC NCM: release interfaces fix in unbind()
From: Oliver Neukum @ 2011-05-17 6:26 UTC (permalink / raw)
To: Alexey ORISHKO
Cc: David Miller, netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
gregkh-l3A5Bk7waGM@public.gmane.org
In-Reply-To: <2AC7D4AD8BA1C640B4C60C61C8E520153E3A93E8EE-8ZTw5gFVCTjVH5byLeRTJxkTb7+GphCuwzqs5ZKRSiY@public.gmane.org>
Am Dienstag, 17. Mai 2011, 02:52:34 schrieb Alexey ORISHKO:
> Some confusion was added by other driver code that handles crippled
> devices, which mix ctrl and data interfaces... Shall not be the case here.
> I see, that some clean up can be done and "xxx_claimed" fields in context
> structure can be removed, so will post a new version of patch shortly.
This code is a bit tricky in those drivers because you cannot assume a certain
order of calls to disconnect() w.r.t. the interfaces. If you claim multiple
interfaces, you need to release all other interfaces, as soon as any interface
is disconnected.
Regards
Oliver
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* Re: Null pointer dereference in icmp_send
From: Aristide Fattori @ 2011-05-17 7:31 UTC (permalink / raw)
To: Eric Dumazet, netdev, roberto.paleari
In-Reply-To: <1305581934.9466.11.camel@edumazet-laptop>
Hi Eric,
On Mon, May 16, 2011 at 11:38 PM, Eric Dumazet <eric.dumazet@gmail.com> wrote:
> Le lundi 16 mai 2011 à 23:27 +0200, Eric Dumazet a écrit :
>> You forgot to tell us which linux version you used ?
Sorry about that, we verified the bug in versions 2.6.38.3, 2.6.38.4
and 2.6.38.6, but we didn't check the svn version :-)
> ...
> But if a timeout occurs, we take first queued fragment to build one ICMP
> TIME EXCEEDED message. Problem is all queued skb have weak dst pointers,
> ...
At a first glance, it appears we identified the same bug you already
fixed. If you want to double check, we can send you the "long version
report" that we submitted at first to security@kernel.org and
david@davemloft.net.
> It is scheduled for linux-2.6.38 stable tree as well
Good job! :-)
--
GnuPG Key on keyserver.pgp.com ID 0x25578128
http://security.dico.unimi.it/~joystick/
^ permalink raw reply
* [PATCH] tcp: Expose the initial RTO via a new sysctl.
From: Benoit Sigoure @ 2011-05-17 7:40 UTC (permalink / raw)
To: davem, kuznet, pekkas, jmorris, yoshfuji, kaber; +Cc: netdev, linux-kernel
Hi,
it's not easy to change the initial RTO of TCP as right now you need to
recompile your kernel. In order to make it easier to tune this setting,
I was wondering whether you would consider turning it into a sysctl. I
attached a first attempt at a patch that does this -- this is my first
patch to the Linux kernel so although I've read SubmitChecklist and
SubmittingPatches, and I've run checkpatch.pl, please let me know if I'm
doing something wrong.
I am doing this because I work in a high-throughput low-latency environment
(line-rate GbE with submillisecond RTT) and some of our clients are negatively
affected by the high initial RTO when the servers are unable to accept() new
connections fast enough. While we're working on fixing these servers and/or
giving them larger backlog queues when they listen(), being able to tune
the initial RTO at runtime would be very useful as quick workaround for the
server-side issues.
Some large Internet websites are also running with a more aggressive initial
RTO, for instance Google documented some of what they're doing here:
http://www.ietf.org/proceedings/75/slides/tcpm-1.pdf
While I'm not arguing to change the default value at this time, I believe
that this patch would also come in handy for those who wish to experiment
with various values in their environment.
If you're willing to consider this patch, bear in mind I only compiled it,
I didn't test it yet (not knowing whether you'd want something like that or
not). I would also appreciate if anyone had any insight on what I did with
`COUNTER_TRIES' in `syncookies.c' as this magic constant is rather mysterious
and the comment didn't help me figure out how it had been derived. I couldn't
find anything online and git blame didn't help me either (it pre-dates Git).
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox