* Re: [PATCH 1/1] netxen: fix kdump
From: David Miller @ 2010-10-28 18:34 UTC (permalink / raw)
To: amit.salecha; +Cc: netdev, ameen.rahman, anirban.chakraborty, rajesh.borundia
In-Reply-To: <1288169510-4655-1-git-send-email-amit.salecha@qlogic.com>
From: Amit Kumar Salecha <amit.salecha@qlogic.com>
Date: Wed, 27 Oct 2010 01:51:50 -0700
> From: Rajesh Borundia <rajesh.borundia@qlogic.com>
>
> Reset the whole hw instead of freeing hw resources
> consumed by each pci function.
>
> Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
> Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Applied, thanks.
^ permalink raw reply
* Re: [PATCH] pktgen: Limit how much data we copy onto the stack.
From: David Miller @ 2010-10-28 18:32 UTC (permalink / raw)
To: nelhage; +Cc: eric.dumazet, robert.olsson, andy.shevchenko, netdev, eugene
In-Reply-To: <1288279242-22153-1-git-send-email-nelhage@ksplice.com>
From: Nelson Elhage <nelhage@ksplice.com>
Date: Thu, 28 Oct 2010 11:20:42 -0400
> A program that accidentally writes too much data to the pktgen file can overflow
> the kernel stack and oops the machine. This is only triggerable by root, so
> there's no security issue, but it's still an unfortunate bug.
>
> printk() won't print more than 1024 bytes in a single call, anyways, so let's
> just never copy more than that much data. We're on a fairly shallow stack, so
> that should be safe even with CONFIG_4KSTACKS.
>
> Signed-off-by: Nelson Elhage <nelhage@ksplice.com>
Applied, thanks a lot.
^ permalink raw reply
* [PATCH] net: atarilance - flags should be unsigned long
From: Geert Uytterhoeven @ 2010-10-28 18:31 UTC (permalink / raw)
To: David S. Miller, Andrew Morton
Cc: netdev, Linux Kernel Development, Linux/m68k
drivers/net/atarilance.c: In function ‘addr_accessible’:
drivers/net/atarilance.c:413: warning: comparison of distinct pointer types lacks a cast
drivers/net/atarilance.c:450: warning: comparison of distinct pointer types lacks a cast
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
---
drivers/net/atarilance.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/atarilance.c b/drivers/net/atarilance.c
index 3134e53..8cb27cb 100644
--- a/drivers/net/atarilance.c
+++ b/drivers/net/atarilance.c
@@ -407,7 +407,7 @@ static noinline int __init addr_accessible(volatile void *regp, int wordflag,
int writeflag)
{
int ret;
- long flags;
+ unsigned long flags;
long *vbr, save_berr;
local_irq_save(flags);
--
1.7.0.4
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply related
* [PATCH] net: Limit socket I/O iovec total length to INT_MAX.
From: David Miller @ 2010-10-28 18:22 UTC (permalink / raw)
To: torvalds; +Cc: netdev, drosenberg, jon.maloy, allan.stephens
This helps protect us from overflow issues down in the
individual protocol sendmsg/recvmsg handlers. Once
we hit INT_MAX we truncate out the rest of the iovec
by setting the iov_len members to zero.
This works because:
1) For SOCK_STREAM and SOCK_SEQPACKET sockets, partial
writes are allowed and the application will just continue
with another write to send the rest of the data.
2) For datagram oriented sockets, where there must be a
one-to-one correspondance between write() calls and
packets on the wire, INT_MAX is going to be far larger
than the packet size limit the protocol is going to
check for and signal with -EMSGSIZE.
Based upon a patch by Linus Torvalds.
Signed-off-by: David S. Miller <davem@davemloft.net>
---
Ok, this is the patch I am testing right now. It ought to
plug the TIPC holes wrt. handling iovecs given by the
user.
I'll look at the recently discovered RDS crap next :-/
include/linux/socket.h | 2 +-
net/compat.c | 12 +++++++-----
net/core/iovec.c | 19 +++++++++----------
3 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/include/linux/socket.h b/include/linux/socket.h
index 5146b50..86b652f 100644
--- a/include/linux/socket.h
+++ b/include/linux/socket.h
@@ -322,7 +322,7 @@ extern int csum_partial_copy_fromiovecend(unsigned char *kdata,
int offset,
unsigned int len, __wsum *csump);
-extern long verify_iovec(struct msghdr *m, struct iovec *iov, struct sockaddr *address, int mode);
+extern int verify_iovec(struct msghdr *m, struct iovec *iov, struct sockaddr *address, int mode);
extern int memcpy_toiovec(struct iovec *v, unsigned char *kdata, int len);
extern int memcpy_toiovecend(const struct iovec *v, unsigned char *kdata,
int offset, int len);
diff --git a/net/compat.c b/net/compat.c
index 63d260e..71bfd8e 100644
--- a/net/compat.c
+++ b/net/compat.c
@@ -34,17 +34,19 @@ static inline int iov_from_user_compat_to_kern(struct iovec *kiov,
struct compat_iovec __user *uiov32,
int niov)
{
- int tot_len = 0;
+ size_t tot_len = 0;
while (niov > 0) {
compat_uptr_t buf;
compat_size_t len;
if (get_user(len, &uiov32->iov_len) ||
- get_user(buf, &uiov32->iov_base)) {
- tot_len = -EFAULT;
- break;
- }
+ get_user(buf, &uiov32->iov_base))
+ return -EFAULT;
+
+ if (len > INT_MAX - tot_len)
+ len = INT_MAX - tot_len;
+
tot_len += len;
kiov->iov_base = compat_ptr(buf);
kiov->iov_len = (__kernel_size_t) len;
diff --git a/net/core/iovec.c b/net/core/iovec.c
index 72aceb1..e7f5b29 100644
--- a/net/core/iovec.c
+++ b/net/core/iovec.c
@@ -35,10 +35,10 @@
* in any case.
*/
-long verify_iovec(struct msghdr *m, struct iovec *iov, struct sockaddr *address, int mode)
+int verify_iovec(struct msghdr *m, struct iovec *iov, struct sockaddr *address, int mode)
{
int size, ct;
- long err;
+ size_t err;
if (m->msg_namelen) {
if (mode == VERIFY_READ) {
@@ -62,14 +62,13 @@ long verify_iovec(struct msghdr *m, struct iovec *iov, struct sockaddr *address,
err = 0;
for (ct = 0; ct < m->msg_iovlen; ct++) {
- err += iov[ct].iov_len;
- /*
- * Goal is not to verify user data, but to prevent returning
- * negative value, which is interpreted as errno.
- * Overflow is still possible, but it is harmless.
- */
- if (err < 0)
- return -EMSGSIZE;
+ size_t len = iov[ct].iov_len;
+
+ if (len > INT_MAX - err) {
+ len = INT_MAX - err;
+ iov[ct].iov_len = len;
+ }
+ err += len;
}
return err;
--
1.7.3.2
^ permalink raw reply related
* Re: [PATCH] net: Allocate RX and TX queues in alloc_netdev_mq
From: Tom Herbert @ 2010-10-28 18:11 UTC (permalink / raw)
To: David Miller; +Cc: netdev
In-Reply-To: <20101028.111001.70188960.davem@davemloft.net>
On Thu, Oct 28, 2010 at 11:10 AM, David Miller <davem@davemloft.net> wrote:
>
> Did you mean to actually say something other than quoting everything
> said so far? :-)
>
You're response was so nicely worded that I had to repeat it :-)
Anyway, thanks for the clarification!
>
^ permalink raw reply
* Re: [PATCH] net: Allocate RX and TX queues in alloc_netdev_mq
From: David Miller @ 2010-10-28 18:10 UTC (permalink / raw)
To: therbert; +Cc: netdev
In-Reply-To: <AANLkTik0rO5wcMtvoys__p07deATp0wUjDx=24oLYcfS@mail.gmail.com>
Did you mean to actually say something other than quoting everything
said so far? :-)
^ permalink raw reply
* Re: [PATCH] net: Allocate RX and TX queues in alloc_netdev_mq
From: Tom Herbert @ 2010-10-28 18:08 UTC (permalink / raw)
To: David Miller; +Cc: netdev
In-Reply-To: <20101028.104942.179929434.davem@davemloft.net>
On Thu, Oct 28, 2010 at 10:49 AM, David Miller <davem@davemloft.net> wrote:
> From: Tom Herbert <therbert@google.com>
> Date: Thu, 28 Oct 2010 10:45:45 -0700 (PDT)
>
>> Both TX and RX queue allocations in the netdev structure had been moved
>> to register_device with the idea that the number of queues could be
>> changed between device allocation and registration. It was determined
>> that changing the num_queues after the call to alloc_netdev_mq was not
>> a good idea, so that was abandoned. Also, some drivers call
>> netif_queue_start without registering device, which causes panic
>> when dev->_tx queue structure is accessed. This patch moves queue
>> allocations back to alloc_netdev_mq to fix these issues.
>>
>> Signed-off-by: Tom Herbert <therbert@google.com>
>
> Changing the TX queue state with a netif_stop_queue() call or
> similar was always completely pointless and frankly a bug.
>
> So that should not influence the motivation behind this change
> at all.
>
> In fact I _like_ that it crashes now so that we are forced
> to fix these cases.
>
> Really, the queue state is absolutely immaterial during
> device allocation and registration. It's state is
> %100 "don't care" until ->open() is invoked.
>
> So any code that touches the queue state at these earlier points in
> time is completely extraneous if not broken.
>
^ permalink raw reply
* Re: [PATCH] net: Allocate RX and TX queues in alloc_netdev_mq
From: David Miller @ 2010-10-28 17:49 UTC (permalink / raw)
To: therbert; +Cc: netdev
In-Reply-To: <alpine.DEB.1.00.1010281036350.22486@pokey.mtv.corp.google.com>
From: Tom Herbert <therbert@google.com>
Date: Thu, 28 Oct 2010 10:45:45 -0700 (PDT)
> Both TX and RX queue allocations in the netdev structure had been moved
> to register_device with the idea that the number of queues could be
> changed between device allocation and registration. It was determined
> that changing the num_queues after the call to alloc_netdev_mq was not
> a good idea, so that was abandoned. Also, some drivers call
> netif_queue_start without registering device, which causes panic
> when dev->_tx queue structure is accessed. This patch moves queue
> allocations back to alloc_netdev_mq to fix these issues.
>
> Signed-off-by: Tom Herbert <therbert@google.com>
Changing the TX queue state with a netif_stop_queue() call or
similar was always completely pointless and frankly a bug.
So that should not influence the motivation behind this change
at all.
In fact I _like_ that it crashes now so that we are forced
to fix these cases.
Really, the queue state is absolutely immaterial during
device allocation and registration. It's state is
%100 "don't care" until ->open() is invoked.
So any code that touches the queue state at these earlier points in
time is completely extraneous if not broken.
^ permalink raw reply
* [PATCH] net: Allocate RX and TX queues in alloc_netdev_mq
From: Tom Herbert @ 2010-10-28 17:45 UTC (permalink / raw)
To: davem, netdev
Both TX and RX queue allocations in the netdev structure had been moved
to register_device with the idea that the number of queues could be
changed between device allocation and registration. It was determined
that changing the num_queues after the call to alloc_netdev_mq was not
a good idea, so that was abandoned. Also, some drivers call
netif_queue_start without registering device, which causes panic
when dev->_tx queue structure is accessed. This patch moves queue
allocations back to alloc_netdev_mq to fix these issues.
Signed-off-by: Tom Herbert <therbert@google.com>
---
net/core/dev.c | 38 ++++++++++++++++++--------------------
1 files changed, 18 insertions(+), 20 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
index b2269ac..1f729d6 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -5009,10 +5009,10 @@ void netif_stacked_transfer_operstate(const struct net_device *rootdev,
}
EXPORT_SYMBOL(netif_stacked_transfer_operstate);
-static int netif_alloc_rx_queues(struct net_device *dev)
+static int netif_alloc_rx_queues(struct net_device *dev, int count)
{
#ifdef CONFIG_RPS
- unsigned int i, count = dev->num_rx_queues;
+ int i;
struct netdev_rx_queue *rx;
BUG_ON(count < 1);
@@ -5030,13 +5030,15 @@ static int netif_alloc_rx_queues(struct net_device *dev)
*/
for (i = 0; i < count; i++)
rx[i].first = rx;
+
+ dev->num_rx_queues = count;
+ dev->real_num_rx_queues = count;
#endif
return 0;
}
-static int netif_alloc_netdev_queues(struct net_device *dev)
+static int netif_alloc_netdev_queues(struct net_device *dev, int count)
{
- unsigned int count = dev->num_tx_queues;
struct netdev_queue *tx;
BUG_ON(count < 1);
@@ -5048,6 +5050,10 @@ static int netif_alloc_netdev_queues(struct net_device *dev)
return -ENOMEM;
}
dev->_tx = tx;
+
+ dev->num_tx_queues = count;
+ dev->real_num_tx_queues = count;
+
return 0;
}
@@ -5105,14 +5111,6 @@ int register_netdevice(struct net_device *dev)
dev->iflink = -1;
- ret = netif_alloc_rx_queues(dev);
- if (ret)
- goto out;
-
- ret = netif_alloc_netdev_queues(dev);
- if (ret)
- goto out;
-
netdev_init_queues(dev);
/* Init, if this function is available */
@@ -5558,6 +5556,12 @@ struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name,
dev = PTR_ALIGN(p, NETDEV_ALIGN);
dev->padded = (char *)dev - (char *)p;
+ if (netif_alloc_netdev_queues(dev, queue_count))
+ goto free_p;
+
+ if (netif_alloc_rx_queues(dev, queue_count))
+ goto free_p;
+
dev->pcpu_refcnt = alloc_percpu(int);
if (!dev->pcpu_refcnt)
goto free_p;
@@ -5570,14 +5574,6 @@ struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name,
dev_net_set(dev, &init_net);
- dev->num_tx_queues = queue_count;
- dev->real_num_tx_queues = queue_count;
-
-#ifdef CONFIG_RPS
- dev->num_rx_queues = queue_count;
- dev->real_num_rx_queues = queue_count;
-#endif
-
dev->gso_max_size = GSO_MAX_SIZE;
INIT_LIST_HEAD(&dev->ethtool_ntuple_list.list);
@@ -5593,6 +5589,8 @@ struct net_device *alloc_netdev_mq(int sizeof_priv, const char *name,
free_pcpu:
free_percpu(dev->pcpu_refcnt);
free_p:
+ kfree(dev->_tx);
+ kfree(dev->_rx);
kfree(p);
return NULL;
}
--
1.7.3.1
^ permalink raw reply related
* Re: [PATCH] USB: gadget: fix ethernet gadget crash in gether_setup
From: David Miller @ 2010-10-28 17:32 UTC (permalink / raw)
To: mad_soft; +Cc: linux-usb, dbrownell, gregkh, netdev, linux-kernel, therbert
In-Reply-To: <1288253909-12084-1-git-send-email-mad_soft@inbox.ru>
From: Dmitry Artamonow <mad_soft@inbox.ru>
Date: Thu, 28 Oct 2010 12:18:29 +0400
> Crash is triggered by commit e6484930d7 ("net: allocate tx queues in
> register_netdevice"), which moved tx netqueue creation into register_netdev.
> So now calling netif_stop_queue() before register_netdev causes an oops.
> Move netif_stop_queue() after net device registration to fix crash.
>
> Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Applied, thank you.
^ permalink raw reply
* Re: [PATCH] Fix missing dependency of PCH_GBE driver
From: Steven Rostedt @ 2010-10-28 17:31 UTC (permalink / raw)
To: David Miller; +Cc: linux-kernel, netdev, error27, masa-korg, akpm
In-Reply-To: <20101028.101618.226776102.davem@davemloft.net>
On Thu, 2010-10-28 at 10:16 -0700, David Miller wrote:
> The canonical way to handle this is to use 'select'. Thus,
> I've committed the following to fix this.
Yeah, I was thinking that too after I posted it.
-- Steve
^ permalink raw reply
* Re: [PATCH] ip_gre: fix percpu stats accounting
From: David Miller @ 2010-10-28 17:29 UTC (permalink / raw)
To: eric.dumazet; +Cc: xemul, netdev
In-Reply-To: <1288283634.11523.20.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 28 Oct 2010 18:33:54 +0200
> Le jeudi 28 octobre 2010 à 20:07 +0400, Pavel Emelyanov a écrit :
>> commit e985aad7 (ip_gre: percpu stats accounting) forgot the fallback
>> tunnel case (gre0).
>>
>> This is the 4th part of the "foo: fix percpu stats accounting" series ;)
>>
>> Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
>>
>
> Indeed, right you are ;)
>
> Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Applied.
^ permalink raw reply
* Re: [PATCH] fib: Fix fib zone and its hash leak on namespace stop
From: David Miller @ 2010-10-28 17:28 UTC (permalink / raw)
To: xemul; +Cc: netdev
In-Reply-To: <4CC965EB.60600@parallels.com>
From: Pavel Emelyanov <xemul@parallels.com>
Date: Thu, 28 Oct 2010 16:00:43 +0400
> When we stop a namespace we flush the table and free one, but the
> added fn_zone-s (and their hashes if grown) are leaked. Need to free.
> Tries releases all its stuff in the flushing code.
>
> Shame on us - this bug exists since the very first make-fib-per-net
> patches in 2.6.27 :(
>
> Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Applied.
^ permalink raw reply
* Re: [PATCH] cxgb3: fix crash due to manipulating queues before registration
From: David Miller @ 2010-10-28 17:28 UTC (permalink / raw)
To: divy; +Cc: nacc, eric.dumazet, sonnyrao, dm, netdev, linux-kernel
In-Reply-To: <4CC919B1.1040602@chelsio.com>
From: Divy Le Ray <divy@chelsio.com>
Date: Wed, 27 Oct 2010 23:35:29 -0700
> On 10/27/2010 10:06 PM, Nishanth Aravamudan wrote:
>> Hi Eric,
>>
>> Something like the following?:
>>
>> Thanks,
>> Nish
>>
>>
>> Along the same lines as "cxgb4: fix crash due to manipulating queues
>> before registration" (8f6d9f40476895571df039b6f1f5230ec7faebad),
>> before
>> commit "net: allocate tx queues in register_netdevice"
>> netif_tx_stop_all_queues and related functions could be used between
>> device allocation and registration but now only after registration.
>> cxgb4 has such a call before registration and crashes now. Move it
>> after register_netdev.
>>
>> Signed-off-by: Nishanth Aravamudan<nacc@us.ibm.com>
>
> Acked-by: Divy Le Ray <divy@chelsio.com>
Applied.
^ permalink raw reply
* Re: [PATCH] 8390: Don't oops on starting dev queue
From: David Miller @ 2010-10-28 17:28 UTC (permalink / raw)
To: xemul; +Cc: p_gortmaker, netdev
In-Reply-To: <4CC93BCE.4020303@parallels.com>
From: Pavel Emelyanov <xemul@parallels.com>
Date: Thu, 28 Oct 2010 13:01:02 +0400
> The __NS8390_init tries to start the device queue before the
> device is registered. This results in an oops (snipped):
>
> [ 2.865493] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010
> [ 2.866106] IP: [<ffffffffa000602a>] netif_start_queue+0xb/0x12 [8390]
> [ 2.881267] Call Trace:
> [ 2.881437] [<ffffffffa000624d>] __NS8390_init+0x102/0x15a [8390]
> [ 2.881999] [<ffffffffa00062ae>] NS8390_init+0x9/0xb [8390]
> [ 2.882237] [<ffffffffa000d820>] ne2k_pci_init_one+0x297/0x354 [ne2k_pci]
> [ 2.882955] [<ffffffff811c7a0e>] local_pci_probe+0x12/0x16
> [ 2.883308] [<ffffffff811c85ad>] pci_device_probe+0xc3/0xef
> [ 2.884049] [<ffffffff8129218d>] driver_probe_device+0xbe/0x14b
> [ 2.884937] [<ffffffff81292260>] __driver_attach+0x46/0x62
> [ 2.885170] [<ffffffff81291788>] bus_for_each_dev+0x49/0x78
> [ 2.885781] [<ffffffff81291fbb>] driver_attach+0x1c/0x1e
> [ 2.886089] [<ffffffff812912ab>] bus_add_driver+0xba/0x227
> [ 2.886330] [<ffffffff8129259a>] driver_register+0x9e/0x115
> [ 2.886933] [<ffffffff811c8815>] __pci_register_driver+0x50/0xac
> [ 2.887785] [<ffffffffa001102c>] ne2k_pci_init+0x2c/0x2e [ne2k_pci]
> [ 2.888093] [<ffffffff81000212>] do_one_initcall+0x7c/0x130
> [ 2.888693] [<ffffffff8106d74f>] sys_init_module+0x99/0x1da
> [ 2.888946] [<ffffffff81002a2b>] system_call_fastpath+0x16/0x1b
>
> This happens because the netif_start_queue sets respective bit on the dev->_tx
> array which is not yet allocated.
>
> As far as I understand the code removing the netif_start_queue from __NS8390_init
> is OK, since queue will be started later on device open. Plz, correct me if I'm wrong.
>
> Found in the Dave's current tree, so he's in Cc.
>
> Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Applied.
^ permalink raw reply
* Re: [PATCH] cxgb3: fix crash due to manipulating queues before registration
From: David Miller @ 2010-10-28 17:28 UTC (permalink / raw)
To: nacc; +Cc: eric.dumazet, sonnyrao, divy, dm, netdev, linux-kernel
In-Reply-To: <20101028052349.GA21144@us.ibm.com>
From: Nishanth Aravamudan <nacc@us.ibm.com>
Date: Wed, 27 Oct 2010 22:23:49 -0700
> On 28.10.2010 [07:18:30 +0200], Eric Dumazet wrote:
>> Le mercredi 27 octobre 2010 à 22:06 -0700, Nishanth Aravamudan a écrit :
>> > Hi Eric,
>> >
>> > Something like the following?:
>> >
>> > Thanks,
>> > Nish
>>
>> Yes, probably, but I dont have the hardware so cannot test.
>
> Sorry, should have been clearer. I do have the hardware, tested with the
> patch, it does work. Wanted to make sure that it made sense to the
> maintainers, of course, but:
>
> Tested-by: Nishanth Aravamudan <nacc@us.ibm.com>
Applied, thank you.
^ permalink raw reply
* Re: net-next-2.6 [PATCH 0/4] dccp: CCID packet dequeueing interface
From: David Miller @ 2010-10-28 17:28 UTC (permalink / raw)
To: gerrit; +Cc: dccp, netdev
In-Reply-To: <1288242988-5333-1-git-send-email-gerrit@erg.abdn.ac.uk>
From: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Date: Thu, 28 Oct 2010 07:16:24 +0200
> The set has also been placed into a fresh (today's) copy of net-next-2.6, on
>
> git://eden-feed.erg.abdn.ac.uk/net-next-2.6 [subtree 'dccp']
>
> The set is fully bisectable.
All applied, thanks a lot.
^ permalink raw reply
* Re: [net-2.6 PATCH] ixgbe: DCB, fix TX hang occurring in stress condition with PFC
From: David Miller @ 2010-10-28 17:20 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, bphilips, john.r.fastabend
In-Reply-To: <20101028105957.27748.39154.stgit@localhost6.localdomain6>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 28 Oct 2010 03:59:57 -0700
> From: John Fastabend <john.r.fastabend@intel.com>
>
> The DCB credits refill quantum _must_ be greater than half the max
> packet size. This is needed to guarantee that TX DMA operations
> are not attempted during a pause state. Additionally, the min IFG
> must be set correctly for DCB mode. If a DMA operation is
> requested unexpectedly during the pause state the HW data
> store may be corrupted leading to a DMA hang. The DMA hang
> requires a reset to correct. This fixes the HW configuration
> to avoid this condition.
>
> Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
> Tested-by: Ross Brattain <ross.b.brattain@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [net-2.6 PATCH] e1000e: Add check for reset flags before displaying reset message
From: David Miller @ 2010-10-28 17:20 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, bphilips, carolyn.wyborny, bruce.w.allan
In-Reply-To: <20101028105955.27748.92516.stgit@localhost6.localdomain6>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 28 Oct 2010 03:59:55 -0700
> From: Carolyn Wyborny <carolyn.wyborny@intel.com>
>
> Some parts need to execute resets during normal operation. This flag
> check ensures that those parts reset without needlessly alarming the
> user. Other unexpected resets by other parts will dump debug info
> and message the reset action to the user, as originally intended.
>
> Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
> Acked-by: Bruce Allan <bruce.w.allan@intel.com>
> Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [net-2.6 PATCH] e1000e: reset PHY after errors detected
From: David Miller @ 2010-10-28 17:20 UTC (permalink / raw)
To: jeffrey.t.kirsher
Cc: netdev, gospo, bphilips, jesse.brandeburg, carolyn.wyborny
In-Reply-To: <20101028105953.27748.5285.stgit@localhost6.localdomain6>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 28 Oct 2010 03:59:53 -0700
> From: Carolyn Wyborny <carolyn.wyborny@intel.com>
>
> Some errors can be induced in the PHY via environmental testing
> (specifically extreme temperature changes and electro static
> discharge testing), and in the case of the PHY hanging due to
> this input, this detects the problem and resets to continue.
> This issue only applies to 82574 silicon.
>
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
> Tested-by: Emil Tantilov <emil.s.tantilov@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [net-2.6 PATCH] igbvf: fix panic on load
From: David Miller @ 2010-10-28 17:20 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, bphilips, emil.s.tantilov, greg.v.rose
In-Reply-To: <20101028105951.27748.36868.stgit@localhost6.localdomain6>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 28 Oct 2010 03:59:51 -0700
> From: Emil Tantilov <emil.s.tantilov@intel.com>
>
> Introduced by commit:e6484930d7c73d324bccda7d43d131088da697b9
> net: allocate tx queues in register_netdevice
>
> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
> Acked-by: Greg Rose <greg.v.rose@intel.com>
> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [net-2.6 PATCH] ixgb: call pci_disable_device in ixgb_remove
From: David Miller @ 2010-10-28 17:19 UTC (permalink / raw)
To: jeffrey.t.kirsher; +Cc: netdev, gospo, bphilips, bhutchings, emil.s.tantilov
In-Reply-To: <20101028105949.27748.82780.stgit@localhost6.localdomain6>
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Thu, 28 Oct 2010 03:59:49 -0700
> From: Emil Tantilov <emil.s.tantilov@intel.com>
>
> ixgb fails to work after reload on recent kernels:
>
> rmmod ixgb (dev->current_state = PCI_UNKNOWN)
> modprobe ixgb (pci_enable_device will bail leaving current_state to PCI_UNKNOWN)
> ifup eth0
> do_IRQ: 2.82 No irq handler for vector (irq -1)
>
> The issue was exposed by commit fcd097f31a6ee207cc0c3da9cccd2a86d4334785
> PCI: MSI: Remove unsafe and unnecessary hardware access
>
> which avoids HW writes for power states != PCI_D0
>
> CC: Ben Hutchings <bhutchings@solarflare.com>
> Signed-off-by: Emil Tantilov <emil.s.tantilov@intel.com>
> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Applied.
^ permalink raw reply
* Re: [PATCH] Fix missing dependency of PCH_GBE driver
From: David Miller @ 2010-10-28 17:16 UTC (permalink / raw)
To: rostedt; +Cc: linux-kernel, netdev, error27, masa-korg, akpm
In-Reply-To: <1288268189.18238.173.camel@gandalf.stny.rr.com>
From: Steven Rostedt <rostedt@goodmis.org>
Date: Thu, 28 Oct 2010 08:16:29 -0400
> While doing some randconfigs I stumbled across this build error:
>
> ERROR: "mii_ethtool_gset" [drivers/net/pch_gbe/pch_gbe.ko] undefined!
> ERROR: "generic_mii_ioctl" [drivers/net/pch_gbe/pch_gbe.ko] undefined!
> ERROR: "mii_nway_restart" [drivers/net/pch_gbe/pch_gbe.ko] undefined!
> ERROR: "mii_check_gmii_support" [drivers/net/pch_gbe/pch_gbe.ko] undefined!
> ERROR: "mii_link_ok" [drivers/net/pch_gbe/pch_gbe.ko] undefined!
> ERROR: "mii_ethtool_sset" [drivers/net/pch_gbe/pch_gbe.ko] undefined!
>
> The config option PCH_GBE is missing the dependency of MII.
>
> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
The canonical way to handle this is to use 'select'. Thus,
I've committed the following to fix this.
Thanks.
--------------------
pch_gbe: Select MII.
Reported-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
drivers/net/Kconfig | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 77c1fab..f24179d 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2520,6 +2520,7 @@ source "drivers/net/stmmac/Kconfig"
config PCH_GBE
tristate "PCH Gigabit Ethernet"
depends on PCI
+ select MII
---help---
This is a gigabit ethernet driver for Topcliff PCH.
Topcliff PCH is the platform controller hub that is used in Intel's
--
1.7.3.2
^ permalink raw reply related
* Re: [RFC PATCH 1/1] vhost: TX used buffer guest signal accumulation
From: Shirley Ma @ 2010-10-28 17:14 UTC (permalink / raw)
To: Michael S. Tsirkin; +Cc: David Miller, netdev, kvm, linux-kernel
In-Reply-To: <20101028052021.GD5599@redhat.com>
> Two ideas:
> 1. How about writing out used, just delaying the signal?
> This way we don't have to queue separately.
This improves some performance, but not as good as delaying
both used and signal. Since delaying used buffers combining
multiple small copies to a large copy, which saves more CPU
utilization and increased some BW.
> 2. How about flushing out queued stuff before we exit
> the handle_tx loop? That would address most of
> the spec issue.
The performance is almost as same as the previous patch. I will resubmit
the modified one, adding vhost_add_used_and_signal_n after handle_tx
loop for processing pending queue.
This patch was a part of modified macvtap zero copy which I haven't
submitted yet. I found this helped vhost TX in general. This pending
queue will be used by DMA done later, so I put it in vq instead of a
local variable in handle_tx.
Thanks
Shirley
^ permalink raw reply
* Re: [PATCH] ip_gre: fix percpu stats accounting
From: Eric Dumazet @ 2010-10-28 16:33 UTC (permalink / raw)
To: Pavel Emelyanov; +Cc: David Miller, Linux Netdev List
In-Reply-To: <4CC99FDC.9070102@parallels.com>
Le jeudi 28 octobre 2010 à 20:07 +0400, Pavel Emelyanov a écrit :
> commit e985aad7 (ip_gre: percpu stats accounting) forgot the fallback
> tunnel case (gre0).
>
> This is the 4th part of the "foo: fix percpu stats accounting" series ;)
>
> Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
>
Indeed, right you are ;)
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Anyway, I suspect more work is needed...
(check patch against ixgbe : http://patchwork.ozlabs.org/patch/69458/ )
^ 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