Pretty much entirely bug fixes including a 2.6.32 regression fix for
stalled TCP regressions (will be sent to -stable) from Damian
Lukowski.
Resolve some wireless merge issues.
As well as a fix for NETREG_UNINITIALIZED state net devices,
from Krishna Kumar.
There is an 'origin' pull in here to resolve a net/tcp.h conflict with
your tree.
Please pull, thanks a lot!
The following changes since commit 2fe77b81c77eed92c4c0439f74c8148a295b4a86:
Linus Torvalds (1):
Merge branch 'next' of git://git.kernel.org/.../davej/cpufreq
are available in the git repository at:
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git master
Amit Kumar Salecha (2):
netxen: protect device reset by rtnl_lock
netxen:fix napi intr enable check
Andrew Morton (1):
net/rfkill/core.c: work around gcc-4.0.2 silliness
Anton Vorontsov (1):
gianfar: Fix build with CONFIG_NET_POLL_CONTROLLER=y
Asier Llano (1):
net/mpc5200: Fix locking on fec_mpc52xx driver
Barry Song (1):
can: add the driver for Analog Devices Blackfin on-chip CAN controllers
Breno Leitao (1):
cxgb3: Fixing EEH handlers
Brice Goglin (1):
myri10ge: use src+dst for rss hashing
Bruce Allan (3):
e1000e: minor correction to name of bit in CTRL_EXT register
e1000e: replace incorrect use of GG82563_REG macro
e1000e: only perform ESB2 MDIC workaround on certain configurations
Damian Lukowski (2):
tcp: Stalling connections: Fix timeout calculation routine
tcp: Stalling connections: Move timeout calculation routine
David Kilroy (1):
orinoco: remove spare KERN_DEBUG
David S. Miller (4):
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next-2.6
tcp: Remove runtime check that can never be true.
Merge branch 'master' of git://git.kernel.org/.../linville/wireless-2.6
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
Denis Kirjanov (1):
mv643xx_eth: check for valid hw address (resubmit)
Dhananjay Phadke (1):
netxen: fix firmware type check
Don Skidmore (1):
ixgbe: add support for 82599 KR device 0x1517
Eric Dumazet (4):
ixgbe: Fix TX stats accounting
tcp: Fix a connect() race with timewait sockets
tcp: Fix a connect() race with timewait sockets
tcp: documents timewait refcnt tricks
Felix Fietkau (1):
ath9k: fix tx status reporting
Heiko Carstens (2):
net: fix compat_sys_recvmmsg parameter type
net: use compat helper functions in compat_sys_recvmmsg
Herton Ronaldo Krzesinski (1):
rtl8187: add radio led and fix warnings on suspend
Ilpo J$(D+#(Brvinen (1):
tcp: fix retrans_stamp advancing in error cases
Javier Cardona (2):
mac80211: Fixed bug in mesh portal paths
mac80211: Revert 'Use correct sign for mesh active path refresh'
Jie Yang (2):
atl1c:add pci map direction in atl1c_buffer flags
atl1c:use common_task instead of reset_task and link_chg_task
Joe Perches (1):
include/linux/if_ether.h: Remove unused defines MAC_BUF_SIZE and DECLARE_MAC_BUF
Johannes Berg (1):
mac80211: recalculate idle later in MLME
John W. Linville (3):
iwlwifi: fix warning from ieee80211_stop_tx_ba_cb_irqsafe argument change
wireless: correctly report signal value for IEEE80211_HW_SIGNAL_UNSPEC
wireless: update old static regulatory domain rules
Julia Lawall (1):
net/mac80211: Correct size given to memset
Kalle Valo (3):
wl1251: remove false warning messages
wl1251: fix bssid handling
wl1251: don't build null data template in wl1251_op_config()
Krishna Kumar (1):
net: Handle NETREG_UNINITIALIZED devices correctly
Larry Finger (2):
rtl8187: Fix wrong rfkill switch mask for some models
b43: Remove reset after fatal DMA error
Lennert Buytenhek (12):
mwl8k: fix MCS bitmap size in SET_RATE command
mwl8k: fix UPDATE_STADB command struct legacy_rates array length
mwl8k: prevent corruption of QoS field on receive
mwl8k: fix addr4 zeroing and payload overwrite on DMA header creation
mwl8k: properly report rate on received 40MHz packets
mwl8k: allow more time for firmware commands to complete
mwl8k: allow more time for transmit rings to drain
mwl8k: increase firmware loading timeouts
mwl8k: don't forget to call pci_disable_device()
mwl8k: struct ieee80211_rx_status::qual is deprecated
mwl8k: don't overwrite mwl8k_vif::bssid until after disassociation
mwl8k: don't complain about oversized beacons in FINALIZE_JOIN
Luis R. Rodriguez (1):
ath5k: enable EEPROM checksum check
Martin Willi (1):
xfrm: Fix truncation length of authentication algorithms installed via PF_KEY
Michael Chan (2):
cnic: Send delete command when shutting down iSCSI ring.
cnic: Zero out status block and Event Queue indices.
Mike Frysinger (1):
smc91x: fix unused flags warnings on UP systems
Oliver Neukum (1):
MAINTAINERS: Transfering maintainership of cdc-ether
Paul Mundt (1):
net: smc91x: Fix up type mismatch in smc_drv_resume().
Randy Dunlap (1):
net: niu uses crc32, so select CRC32
Shahar Or (1):
ath5k: add support for Dell Vostro A860 LED
Stanislav Brabec (1):
b44 WOL setup: one-bit-off stack corruption kernel panic fix
Takashi Iwai (2):
net: Fix Yukon-2 Optima TCP offload setup
net: Add missing TST_CFG_WRITE bits around sky2_pci_write
Tilman Schmidt (2):
gigaset: don't enable any debugging output by default
gigaset: documentation amendments
Vasanthakumar Thiagarajan (1):
mac80211: Fix bug in computing crc over dynamic IEs in beacon
Vivek Natarajan (2):
mac80211: Fix dynamic power save for scanning.
cfg80211: Clear encryption privacy when key off is done.
chas williams - CONTRACTOR (3):
atm: [lec] initialize .netdev_ops before calling register_netdev()
atm: [he] adjust tests to account for sk_wmem_alloc changes
atm: [br2684] allow routed mode operation again
Documentation/isdn/README.gigaset | 116 +++-
MAINTAINERS | 3 +-
drivers/atm/he.c | 4 +-
drivers/isdn/gigaset/common.c | 2 +-
drivers/net/Kconfig | 1 +
drivers/net/atl1c/atl1c.h | 17 +-
drivers/net/atl1c/atl1c_main.c | 94 ++--
drivers/net/b44.c | 3 +-
drivers/net/can/Kconfig | 9 +
drivers/net/can/Makefile | 1 +
drivers/net/can/bfin_can.c | 783 +++++++++++++++++++++++++
drivers/net/cnic.c | 11 +
drivers/net/cxgb3/cxgb3_main.c | 1 +
drivers/net/e1000e/defines.h | 2 +-
drivers/net/e1000e/es2lan.c | 97 ++-
drivers/net/e1000e/hw.h | 7 +
drivers/net/e1000e/ich8lan.c | 8 +-
drivers/net/e1000e/netdev.c | 2 +-
drivers/net/fec_mpc52xx.c | 121 ++--
drivers/net/gianfar.c | 1 +
drivers/net/ixgbe/ixgbe_82599.c | 1 +
drivers/net/ixgbe/ixgbe_ethtool.c | 1 +
drivers/net/ixgbe/ixgbe_main.c | 22 +-
drivers/net/ixgbe/ixgbe_type.h | 1 +
drivers/net/mv643xx_eth.c | 3 +
drivers/net/myri10ge/myri10ge.c | 4 +-
drivers/net/netxen/netxen_nic_init.c | 14 +-
drivers/net/netxen/netxen_nic_main.c | 49 ++-
drivers/net/sky2.c | 9 +
drivers/net/smc91x.c | 8 +-
drivers/net/wireless/ath/ath5k/eeprom.c | 3 +-
drivers/net/wireless/ath/ath5k/led.c | 2 +
drivers/net/wireless/ath/ath9k/xmit.c | 2 +-
drivers/net/wireless/b43/main.c | 5 +-
drivers/net/wireless/iwlwifi/iwl-tx.c | 2 +-
drivers/net/wireless/mwl8k.c | 327 +++++------
drivers/net/wireless/orinoco/hermes_dld.c | 2 +-
drivers/net/wireless/rtl818x/rtl8187.h | 6 +
drivers/net/wireless/rtl818x/rtl8187_dev.c | 12 +-
drivers/net/wireless/rtl818x/rtl8187_leds.c | 68 ++-
drivers/net/wireless/rtl818x/rtl8187_leds.h | 2 +
drivers/net/wireless/rtl818x/rtl8187_rfkill.c | 4 +-
drivers/net/wireless/wl12xx/wl1251_main.c | 36 +-
include/linux/gigaset_dev.h | 22 +-
include/linux/if_ether.h | 2 -
include/net/compat.h | 2 +-
include/net/inet6_hashtables.h | 2 +-
include/net/inet_hashtables.h | 8 +-
include/net/inet_timewait_sock.h | 3 +
include/net/tcp.h | 23 -
net/atm/br2684.c | 11 +-
net/atm/lec.c | 10 +-
net/compat.c | 11 +-
net/core/dev.c | 10 +-
net/dccp/ipv4.c | 2 +-
net/dccp/ipv6.c | 4 +-
net/ipv4/inet_hashtables.c | 24 +-
net/ipv4/inet_timewait_sock.c | 61 ++-
net/ipv4/tcp.c | 5 -
net/ipv4/tcp_input.c | 35 +-
net/ipv4/tcp_ipv4.c | 2 +-
net/ipv4/tcp_timer.c | 29 +
net/ipv6/inet6_hashtables.c | 8 +-
net/ipv6/tcp_ipv6.c | 4 +-
net/key/af_key.c | 1 +
net/mac80211/cfg.c | 3 +-
net/mac80211/ieee80211_i.h | 1 +
net/mac80211/mesh.c | 2 +-
net/mac80211/mesh.h | 5 +-
net/mac80211/mesh_hwmp.c | 2 +-
net/mac80211/mlme.c | 10 +-
net/mac80211/rx.c | 1 -
net/mac80211/scan.c | 20 +-
net/mac80211/util.c | 2 +-
net/rfkill/core.c | 4 +-
net/wireless/reg.c | 75 +--
net/wireless/wext-compat.c | 1 +
77 files changed, 1677 insertions(+), 594 deletions(-)
create mode 100644 drivers/net/can/bfin_can.c
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index c8666b7..3d2229c 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -2541,10 +2541,7 @@ static int do_tcp_getsockopt(struct sock *sk, int level,
ctd.tcpct_s_data_desired = cvp->s_data_desired;
/* Cookie(s) saved, return as nonce */
- if (sizeof(ctd.tcpct_value) < cvp->cookie_pair_size) {
- /* impossible? */
- return -EINVAL;
- }
+ BUILD_BUG_ON(sizeof(ctd.tcpct_value) < TCP_COOKIE_PAIR_SIZE);
memcpy(&ctd.tcpct_value[0], &cvp->cookie_pair[0],
cvp->cookie_pair_size);
ctd.tcpct_used = cvp->cookie_pair_size;
--
1.6.3.3
On Sat, 12 Dec 2009 05:10:32 -0500 William Allen Simpson <[email protected]> wrote:
> David Miller wrote:
> > David S. Miller (4):
> > Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next-2.6
> > tcp: Remove runtime check that can never be true.
>
> This is a poor patch that was never sent to the netdev list for review.
It's better than the original code, which was checking to see whether a
u8 exceeded 536!
> Please substitute the better patch in the main tree.
Linus won't remove a commit from the middle of David's merge and
replace it with some unchangelogged, un-signed-off alternative.
An appropriate way to handle this is to prepare a new patch against
Linus or David's tree after this merge has been performed. Package
that patch in the usual way and send it to the usual recipients. That's
the no-fuss, no-drama, stuff-gets-done path.
Le 12/12/2009 11:10, William Allen Simpson a écrit :
> David Miller wrote:
>> David S. Miller (4):
>> Merge branch 'master' of
>> git://git.kernel.org/.../linville/wireless-next-2.6
>> tcp: Remove runtime check that can never be true.
>
> This is a poor patch that was never sent to the netdev list for review.
> Copies to
> and from user space should always check for buffer overruns. A better
> patch was
> submitted (attached) some time ago.
>
> Miller's patch has 2 flaws:
>
> 1) It accidentally removed a comment line that describes the purpose of
> the
> following memcpy(), paralleling language in the internet-draft.
>
> 2) It fails to test for buffer overruns. The existing code has an
> accurate test,
> that compiles (to no code) correctly with current gcc. But it produces
> a warning
> in some (fairly old) gcc versions.
>
> Instead, the better patch uses the Kernel defined BUILD_BUG_ON(). Please
> substitute the better patch in the main tree.
>
>
>> Merge branch 'master' of
>> git://git.kernel.org/.../linville/wireless-2.6
>> Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
>>
William, as I already said, you wont solve your problem with David
alerting whole earth, Linus, God, whoever, because we dont care,
we have our own problems.
This drama is really ridiculous, could we go forward, correct bugs,
add documentation, and so on ?
If you really want this BUILD_BUG_ON() (because some dev could
introduce a bug changing TCP_COOKIE_PAIR_SIZE or TCP_MSS_DEFAULT (???)
in the future, without David or other network dev noticing this),
please submit a _normal_ patch against net-2.6 and through David Miller,
the official network maintainer, your best friend for network patches.
Em Sat, Dec 12, 2009 at 11:49:12AM +0100, Eric Dumazet escreveu:
> Le 12/12/2009 11:10, William Allen Simpson a ?crit :
> > David Miller wrote:
> >> David S. Miller (4):
> >> Merge branch 'master' of
> > This is a poor patch that was never sent to the netdev list for review.
>
> William, as I already said, you wont solve your problem with David
> alerting whole earth, Linus, God, whoever, because we dont care,
> we have our own problems.
>
> This drama is really ridiculous, could we go forward, correct bugs,
> add documentation, and so on ?
Indeed, this is over the top, either try to get along with people that
proved their worth thru almost decades of hard work, even being difficult
to deal with when treated unreasonably (and sometimes when in a bad mood
;-)) or get the highway and never look back!
- Arnaldo
Andrew Morton wrote:
> On Sat, 12 Dec 2009 05:10:32 -0500 William Allen Simpson <[email protected]> wrote:
>
>> David Miller wrote:
>>> David S. Miller (4):
>>> Merge branch 'master' of git://git.kernel.org/.../linville/wireless-next-2.6
>>> tcp: Remove runtime check that can never be true.
>> This is a poor patch that was never sent to the netdev list for review.
>
> It's better than the original code, which was checking to see whether a
> u8 exceeded 536!
>
It's preventative, to insure against changes to field sizes. And it's
correct C in form that has compiled without error for a dozen years. But
as you pointed out, gcc 4.0 generates a warning, while gcc 4.4 doesn't....
In the olden days, we'd have done these tests with preprocessor code, and
that's apparently the style that Linux still prefers. Sorry, I've not paid
much attention since early debian, so I'm not up on the current state of
undocumented Linux defines.
As I mentioned in an early post to the netdev list, while I've long had
credit in BSD-derived systems, this is the first I've tried to implement for
Linux kernel -- although I did give permission 15 or so years ago for a fair
amount of my stuff to be ported here under GPL....
Thanks in advance for your patience.
>> Please substitute the better patch in the main tree.
>
> Linus won't remove a commit from the middle of David's merge and
> replace it with some unchangelogged, un-signed-off alternative.
>
Actually, it *was* change-logged, discussed, and signed-off:
http://www.spinics.net/lists/netdev/msg115570.html
David rejected it with the deeply explanatory message:
"Guess again."
http://www.spinics.net/lists/netdev/msg115585.html
I'll also remind you that David has previously rejected range-checking in
other patches of mine, with the message:
"You're being way too anal here, and adding these checks to
drivers would be just a lot of rediculious bloat." [sic]
So, we have a fundamental difference about checking for negative before
stuffing a signed value into an unsigned value.
Then again, in 30+ years, AFAIK I've never shipped code that had a
serious denial of service attack because of a failure to range check.
Yes, I'm referring to 2.6.29, .30, and .31.
I may not be perfect, but I try really, really hard to get it right.
> An appropriate way to handle this is to prepare a new patch against
> Linus or David's tree after this merge has been performed. Package
> that patch in the usual way and send it to the usual recipients. That's
> the no-fuss, no-drama, stuff-gets-done path.
>
It was ready before the merge was performed -- instead we got Miller-lite
drama, fuss, and no-stuff-gets-done....
Since David has rejected it, I was using this message to appeal.
Is there no ability to appeal poor decisions by a maintainer?