Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH] ax25: Fix possible oops in ax25_make_new
From: Bernard Pidoux F6BVP @ 2009-09-28 10:47 UTC (permalink / raw)
  To: Jarek Poplawski
  Cc: Ralf Baechle DL5RB, David Miller, Bernard Pidoux,
	Linux Netdev List, linux-hams
In-Reply-To: <20090927205701.GA7205@del.dom.local>

Applied.
Thanks.

Bernard

Jarek Poplawski a écrit :
> In ax25_make_new, if kmemdup of digipeat returns an error, there would
> be an oops in sk_free while calling sk_destruct, because sk_protinfo
> is NULL at the moment; move sk->sk_destruct initialization after this.
> 
> BTW of reported-by: Bernard Pidoux F6BVP <f6bvp@free.fr>
> 
> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
> ---
> 
>  net/ax25/af_ax25.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c
> index fbcac76..9884639 100644
> --- a/net/ax25/af_ax25.c
> +++ b/net/ax25/af_ax25.c
> @@ -900,7 +900,6 @@ struct sock *ax25_make_new(struct sock *osk, struct ax25_dev *ax25_dev)
>  
>  	sock_init_data(NULL, sk);
>  
> -	sk->sk_destruct = ax25_free_sock;
>  	sk->sk_type     = osk->sk_type;
>  	sk->sk_priority = osk->sk_priority;
>  	sk->sk_protocol = osk->sk_protocol;
> @@ -938,6 +937,7 @@ struct sock *ax25_make_new(struct sock *osk, struct ax25_dev *ax25_dev)
>  	}
>  
>  	sk->sk_protinfo = ax25;
> +	sk->sk_destruct = ax25_free_sock;
>  	ax25->sk    = sk;
>  
>  	return sk;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-hams" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-hams" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCH] ax25: Add missing dev_put in ax25_setsockopt
From: Bernard Pidoux F6BVP @ 2009-09-28 10:48 UTC (permalink / raw)
  To: Jarek Poplawski
  Cc: David Miller, Bernard Pidoux, Ralf Baechle DL5RB,
	Linux Netdev List, linux-hams
In-Reply-To: <20090928071211.GA8658@ff.dom.local>

I had noticed dev_put(dev) was missing but never found where to insert it !
Patch applied.
Thank you.

Bernard


Jarek Poplawski a écrit :
> There is no dev_put ending positive SO_BINDTODEVICE call in
> ax25_setsockopt and no matching dev_put later. This ref isn't used by
> ax25_cb's because it's handled with up and down device events.
> 
> BTW of reported-by: Bernard Pidoux F6BVP <f6bvp@free.fr>
> 
> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
> ---
> 
>  net/ax25/af_ax25.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c
> index fbcac76..3eee8eb 100644
> --- a/net/ax25/af_ax25.c
> +++ b/net/ax25/af_ax25.c
> @@ -663,6 +663,7 @@ static int ax25_setsockopt(struct socket *sock, int level, int optname,
>  
>  		ax25->ax25_dev = ax25_dev_ax25dev(dev);
>  		ax25_fillin_cb(ax25, ax25->ax25_dev);
> +		dev_put(dev);
>  		break;
>  
>  	default:
> --
> To unsubscribe from this list: send the line "unsubscribe linux-hams" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 


^ permalink raw reply

* [Fwd: Re: Bug#538372: header failure including netlink.h (or uio.h)]
From: Manuel Prinz @ 2009-09-28 11:24 UTC (permalink / raw)
  To: netdev

Hi everyone,

I'm forwarding this bug in Debian (http://bugs.debian.org/538372) as
requested by the Debian kernel team. A patch is available. Applying just
the first hunk fixes the issue for me. I've not enough kernel knowledge
to judge if this fix is a proper solution, though.

It would be really great if someone could have a look at it. Thanks in
advance! (And please CC me in replies. Thanks!)

Best regards,

Manuel


-------- Weitergeleitete Nachricht --------
> Von: Moritz Muehlenhoff <jmm@inutil.org>
> An: Manuel Prinz <manuel@debian.org>
> Kopie: Moritz Muehlenhoff <jmm@inutil.org>, 538372@bugs.debian.org
> Betreff: Re: Bug#538372: header failure including netlink.h (or uio.h)
> Datum: Sun, 27 Sep 2009 13:30:10 +0200
> 
> On Fri, Sep 18, 2009 at 10:59:19PM +0200, Manuel Prinz wrote:
> > Am Dienstag, den 01.09.2009, 18:53 +0200 schrieb Moritz Muehlenhoff:
> > > On Sat, Jul 25, 2009 at 01:55:04PM +0200, Bastian Blank wrote:
> > > > Patches attached:
> > > > * Fix uio.h
> > > > * Remove socket.h backward compatibility code.
> > > 
> > > uio.h has been marked __KERNEL__-only upstream in commit
> > > 812ed032cdc8138b7546eecc996879756b92d801.
> > > 
> > > Did you submit your socket.h patch upstream?
> > 
> > I am bitten by that bug as well. The change in uio.h did not fix it. I
> > updated the patch for socket.h (attached) but I'm not sure if all
> > changes are needed, though. Applying only the first hunk (#ifdef line)
> > fixed all build issue for me.
> 
> Can you please forward this upstream? I suppose netdev@vger.kernel.org would
> be the best list to contact.
> 
> Cheers,
>         Moritz


^ permalink raw reply

* [PATCH] ax25: Add missing dev_put in ax25_setsockopt
From: Ralf Baechle @ 2009-09-28 12:53 UTC (permalink / raw)
  To: Jarek Poplawski
  Cc: David Miller, Bernard Pidoux F6BVP, Bernard Pidoux,
	Linux Netdev List, linux-hams
In-Reply-To: <20090928071211.GA8658@ff.dom.local>

ax25_setsockopt SO_BINDTODEVICE is missing a dev_put call in case of
success.  Re-order code to fix this bug.  While at it also reformat two
lines of code to comply with the Linux coding style.

Initial patch by Jarek Poplawski <jarkao2@gmail.com>.

Reported-by: Bernard Pidoux F6BVP <f6bvp@free.fr>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

---
Counter-proposal.  Reordering all the code avoids the need for a 2nd dev_put
and is more readable.

   Ralf

 net/ax25/af_ax25.c |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c
index fbcac76..4102de1 100644
--- a/net/ax25/af_ax25.c
+++ b/net/ax25/af_ax25.c
@@ -641,15 +641,10 @@ static int ax25_setsockopt(struct socket *sock, int level, int optname,
 
 	case SO_BINDTODEVICE:
 		if (optlen > IFNAMSIZ)
-			optlen=IFNAMSIZ;
-		if (copy_from_user(devname, optval, optlen)) {
-		res = -EFAULT;
-			break;
-		}
+			optlen = IFNAMSIZ;
 
-		dev = dev_get_by_name(&init_net, devname);
-		if (dev == NULL) {
-			res = -ENODEV;
+		if (copy_from_user(devname, optval, optlen)) {
+			res = -EFAULT;
 			break;
 		}
 
@@ -657,12 +652,18 @@ static int ax25_setsockopt(struct socket *sock, int level, int optname,
 		   (sock->state != SS_UNCONNECTED ||
 		    sk->sk_state == TCP_LISTEN)) {
 			res = -EADDRNOTAVAIL;
-			dev_put(dev);
+			break;
+		}
+
+		dev = dev_get_by_name(&init_net, devname);
+		if (!dev) {
+			res = -ENODEV;
 			break;
 		}
 
 		ax25->ax25_dev = ax25_dev_ax25dev(dev);
 		ax25_fillin_cb(ax25, ax25->ax25_dev);
+		dev_put(dev);
 		break;
 
 	default:

^ permalink raw reply related

* Re: [bisected] Wireless regression in 2.6.32-git
From: John W. Linville @ 2009-09-28 13:59 UTC (permalink / raw)
  To: Johannes Berg
  Cc: Arjan van de Ven, Hugh Dickins, netdev, linux-kernel,
	linux-wireless
In-Reply-To: <1254077199.6583.8.camel@johannes.local>

On Sun, Sep 27, 2009 at 08:46:39PM +0200, Johannes Berg wrote:
> On Sun, 2009-09-27 at 20:45 +0200, Arjan van de Ven wrote:
> 
> > > Subject: cfg80211: don't set privacy w/o key
> > > 
> > > When wpa_supplicant is used to connect to open networks,
> > > it causes the wdev->wext.keys to point to key memory, but
> > > that key memory is all empty. Only use privacy when there
> > > is a default key to be used.
> > 
> > 
> > indeed it does
> > 
> > can we get this into mainline soon ?
> 
> John's on his way home I suppose.

Yes, I'll get to it today -- sorry for the delays related to my travel!

John
-- 
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 13/13] TProxy: use the interface primary IP address as a default value for --on-ip
From: Brian Haley @ 2009-09-28 16:16 UTC (permalink / raw)
  To: Balazs Scheidler; +Cc: netfilter-devel, netdev
In-Reply-To: <1253902068.10105.1.camel@bzorp.balabit>

Balazs Scheidler wrote:
> One question, how fast is ipv6_dev_get_saddr()? Since the TPROXY target
> can execute on a per-packet path (although the socket match should take
> care of packets that belong to already-established connections), this
> may be performance critical. Is ipv6_dev_get_saddr() something that I
> can call so often?

It probably isn't the best thing to be calling on a per-packet basis, it's
mainly called now on a per-connection basis.  I guess if it's really bad
for you we could do something like ipv6_get_lladdr() does for finding
a link-local address, it might be good enough in this case.

-Brian

^ permalink raw reply

* [PATCH] isdn: fix netjet/isdnhdlc build errors
From: Randy Dunlap @ 2009-09-28 16:25 UTC (permalink / raw)
  To: Linus Torvalds, davem; +Cc: Linux Kernel Mailing List, Karsten Keil, netdev
In-Reply-To: <alpine.LFD.2.01.0909271511190.3349@localhost.localdomain>

From: Randy Dunlap <randy.dunlap@oracle.com>

Commit cb3824bade2549d7ad059d5802da43312540fdee didn't fix this problem.

Fix build errors in netjet, using isdnhdlc module:

drivers/built-in.o: In function `mode_tiger':
netjet.c:(.text+0x1ca0c7): undefined reference to `isdnhdlc_rcv_init'
netjet.c:(.text+0x1ca0d4): undefined reference to `isdnhdlc_out_init'
drivers/built-in.o: In function `fill_dma':
netjet.c:(.text+0x1ca2bd): undefined reference to `isdnhdlc_encode'
drivers/built-in.o: In function `read_dma':
netjet.c:(.text+0x1ca614): undefined reference to `isdnhdlc_decode'
drivers/built-in.o: In function `nj_irq':
netjet.c:(.text+0x1cb07a): undefined reference to `isdnhdlc_encode'

drivers/built-in.o: In function `isdnhdlc_decode':
(.text+0x1c2088): undefined reference to `crc_ccitt_table'
drivers/built-in.o: In function `isdnhdlc_encode':
(.text+0x1c2339): undefined reference to `crc_ccitt_table'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Karsten Keil <keil@b1-systems.de>
---
 drivers/isdn/hardware/mISDN/Kconfig |    1 +
 drivers/isdn/i4l/Kconfig            |    3 +--
 2 files changed, 2 insertions(+), 2 deletions(-)

--- lnx-2632-rc1.orig/drivers/isdn/hardware/mISDN/Kconfig
+++ lnx-2632-rc1/drivers/isdn/hardware/mISDN/Kconfig
@@ -78,6 +78,7 @@ config MISDN_NETJET
 	depends on PCI
 	select MISDN_IPAC
 	select ISDN_HDLC
+	select ISDN_I4L
 	help
 	  Enable support for Traverse Technologies NETJet PCI cards.
 
--- lnx-2632-rc1.orig/drivers/isdn/i4l/Kconfig
+++ lnx-2632-rc1/drivers/isdn/i4l/Kconfig
@@ -141,8 +141,7 @@ endmenu
 endif
 
 config ISDN_HDLC
-	tristate 
-	depends on HISAX_ST5481
+	tristate
 	select CRC_CCITT
 	select BITREVERSE
 

^ permalink raw reply

* Fw: [Bug 14241] New: Promiscuous mode on network slows the network down
From: Stephen Hemminger @ 2009-09-28 16:52 UTC (permalink / raw)
  To: Francois Romieu; +Cc: netdev



Begin forwarded message:

Date: Sat, 26 Sep 2009 23:34:40 GMT
From: bugzilla-daemon@bugzilla.kernel.org
To: shemminger@linux-foundation.org
Subject: [Bug 14241] New: Promiscuous mode on network slows the network down


http://bugzilla.kernel.org/show_bug.cgi?id=14241

           Summary: Promiscuous mode on network slows the network down
           Product: Networking
           Version: 2.5
    Kernel Version: 2.6.31
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: high
          Priority: P1
         Component: IPV4
        AssignedTo: shemminger@linux-foundation.org
        ReportedBy: mwahal@gmail.com
        Regression: No


Hi,

I have been running 2.6.22.14 kernel for about 2+ years on a pentium D 925, 1GB
DDR2 system. I have a realtek 8169 gigabit onboard network controller on a
ubuntu distribution. I wanted to try kvm but it didn't run because the
kvm-intel module of 2.6.22 kernel is way too old. So, I upgraded to 2.6.28 (and
later to 2.6.31 to eliminate 2.6.28 issues) to try that kernel. The kvm did
work with 2.6.28. I had to put the ethernet in bridge mode so that the kvm
guest OS gets the same IP address from my subnet. As a side effect when putting
in bridge mode, the ethernet interface also enters promiscuous mode. I made
changes in /etc/network/interface file as per ubuntu kvm wiki page to add a
bridge interface and add the eth0 to the bridge port.

Anyway, I noticed that certain network related tasks were taking too long. I
stream video my server using UPnP to my UPnP client. The UPnP client had
trouble streaming over a gigabit network inside my home. I was watching a x264
720p movie yesterday and it was freezing on almost each frame. This is all with
2.6.28 (and later upgraded to 2.6.31 latest kernel). If I downgrade back to
2.6.22 kernel, I dont have any issues streaming even a 20Mbps movie.

I've a 6Mbps DSL line at home. I run some scripts during the day to get stocks
quotes from yahoo. That involves about issues 100 or so wget requests. On a
2.6.22 kernel, that takes about 2-3 mins to complete. On a 2.6.31 kernel it
takes about 45-50 mins.

Since I didnt change the /etc/network/interfaces file , so when 2.6.22 loads,
the ethernet still enters into promiscuous mode. I can run iftop and see that
its watching other traffic on my network.

So, my conclusion is that there is something drastically change in the ethernet
driver when it runs in promiscuous mode between 2.6.22 and 2.6.28 (or 31) which
is making it run excruciatingly slow. I'm open to all suggestions for making
any changes to my system. I'm willing to offer whatever information is needed
from my system if someone is willing to take a look at it. I do need kvm but
not the expense of a sloooow network.

Thanks for reading so far.

-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


-- 

^ permalink raw reply

* Re: [PATCH] ax25: Add missing dev_put in ax25_setsockopt
From: Bernard Pidoux @ 2009-09-28 17:46 UTC (permalink / raw)
  To: Ralf Baechle
  Cc: Jarek Poplawski, David Miller, Bernard Pidoux F6BVP,
	Linux Netdev List, linux-hams
In-Reply-To: <20090928125313.GA14250@linux-mips.org>

Hi take this one too. Hi.
Applied.

Thanks Ralf.

Bernard

Ralf Baechle a écrit :
> ax25_setsockopt SO_BINDTODEVICE is missing a dev_put call in case of
> success.  Re-order code to fix this bug.  While at it also reformat two
> lines of code to comply with the Linux coding style.
> 
> Initial patch by Jarek Poplawski <jarkao2@gmail.com>.
> 
> Reported-by: Bernard Pidoux F6BVP <f6bvp@free.fr>
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> 
> ---
> Counter-proposal.  Reordering all the code avoids the need for a 2nd dev_put
> and is more readable.
> 
>    Ralf
> 
>  net/ax25/af_ax25.c |   19 ++++++++++---------
>  1 files changed, 10 insertions(+), 9 deletions(-)
> 
> diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c
> index fbcac76..4102de1 100644
> --- a/net/ax25/af_ax25.c
> +++ b/net/ax25/af_ax25.c
> @@ -641,15 +641,10 @@ static int ax25_setsockopt(struct socket *sock, int level, int optname,
>  
>  	case SO_BINDTODEVICE:
>  		if (optlen > IFNAMSIZ)
> -			optlen=IFNAMSIZ;
> -		if (copy_from_user(devname, optval, optlen)) {
> -		res = -EFAULT;
> -			break;
> -		}
> +			optlen = IFNAMSIZ;
>  
> -		dev = dev_get_by_name(&init_net, devname);
> -		if (dev == NULL) {
> -			res = -ENODEV;
> +		if (copy_from_user(devname, optval, optlen)) {
> +			res = -EFAULT;
>  			break;
>  		}
>  
> @@ -657,12 +652,18 @@ static int ax25_setsockopt(struct socket *sock, int level, int optname,
>  		   (sock->state != SS_UNCONNECTED ||
>  		    sk->sk_state == TCP_LISTEN)) {
>  			res = -EADDRNOTAVAIL;
> -			dev_put(dev);
> +			break;
> +		}
> +
> +		dev = dev_get_by_name(&init_net, devname);
> +		if (!dev) {
> +			res = -ENODEV;
>  			break;
>  		}
>  
>  		ax25->ax25_dev = ax25_dev_ax25dev(dev);
>  		ax25_fillin_cb(ax25, ax25->ax25_dev);
> +		dev_put(dev);
>  		break;
>  
>  	default:
> 


^ permalink raw reply

* Re: [2.6.31-git17] WARNING: at kernel/hrtimer.c:648 hres_timers_resume+0x40/0x50()/WARNING: at drivers/base/sys.c:353 __sysdev_resume+0xc3/0xe0()
From: Maciej Rutecki @ 2009-09-28 18:38 UTC (permalink / raw)
  To: Yong Zhang
  Cc: Linux Kernel Mailing List, Rafael J. Wysocki, clemens,
	venkatesh.pallipadi, gregkh, zambrano, davem, netdev
In-Reply-To: <2674af740909271854v191d9768mc3d96f30998f8c01@mail.gmail.com>

2009/9/28 Yong Zhang <yong.zhang0@gmail.com>:

>>
>
> If you could, then please do it. It can give us some helpful information.

Add patch and remove previous:
http://unixy.pl/maciek/download/kernel/2.6.31-git17/gumis/dmesg-debug.txt

s2disk&resume twice.

no "timekeeping_resume() called with IRQs enabled!".

I found some interesting thing, warnings appear only once, during
first s2disk, on second don't appear.

Regards
-- 
Maciej Rutecki
http://www.maciek.unixy.pl

^ permalink raw reply

* [PATCH] get rid of read/write lock in gen_estimator
From: Stephen Hemminger @ 2009-09-28 18:38 UTC (permalink / raw)
  To: David Miller, netdev

Don't need a read/write lock here sinc there already is a spin lock that
is being acquired.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/net/core/gen_estimator.c	2009-09-24 16:27:01.239755070 -0700
+++ b/net/core/gen_estimator.c	2009-09-24 16:41:09.290751273 -0700
@@ -101,9 +101,6 @@ struct gen_estimator_head
 
 static struct gen_estimator_head elist[EST_MAX_INTERVAL+1];
 
-/* Protects against NULL dereference */
-static DEFINE_RWLOCK(est_lock);
-
 /* Protects against soft lockup during large deletion */
 static struct rb_root est_root = RB_ROOT;
 
@@ -118,9 +115,8 @@ static void est_timer(unsigned long arg)
 		u64 brate;
 		u32 npackets;
 		u32 rate;
-
+
 		spin_lock(e->stats_lock);
-		read_lock(&est_lock);
 		if (e->bstats == NULL)
 			goto skip;
 
@@ -136,7 +132,6 @@ static void est_timer(unsigned long arg)
 		e->avpps += (rate >> e->ewma_log) - (e->avpps >> e->ewma_log);
 		e->rate_est->pps = (e->avpps+0x1FF)>>10;
 skip:
-		read_unlock(&est_lock);
 		spin_unlock(e->stats_lock);
 	}
 
@@ -270,9 +265,9 @@ void gen_kill_estimator(struct gnet_stat
 	while ((e = gen_find_node(bstats, rate_est))) {
 		rb_erase(&e->node, &est_root);
 
-		write_lock_bh(&est_lock);
+		spin_lock(e->stats_lock);
 		e->bstats = NULL;
-		write_unlock_bh(&est_lock);
+		spin_unlock(e->stats_lock);
 
 		list_del_rcu(&e->list);
 		call_rcu(&e->e_rcu, __gen_kill_estimator);

^ permalink raw reply

* Re: b43 is broken in latest net-2.6 and linux-2.6
From: John W. Linville @ 2009-09-28 18:42 UTC (permalink / raw)
  To: Oliver Hartkopp; +Cc: Michael Buesch, Linux Netdev List
In-Reply-To: <4AB4BF1F.7070501@hartkopp.net>

On Sat, Sep 19, 2009 at 01:23:11PM +0200, Oliver Hartkopp wrote:
> Hello Michael,
> 
> my b43 wireless card (Dell 830) is not working with the latest net-2.6 (and
> also linux-2.6 2.6.31-05767-gdf58bee).
> 
> net-2.6 2.6.31-03263-gc29854e is working
> net-2.6 2.6.31-03301-ga97e178 is broken
> 
> I removed the patch with the work_queue stuff which did not help - so it's
> probably the other patch you added to b43 recently.
> 
> Don't know ... the wlan0 link does not become ready anymore.
> 
> If you need some more information - please let me know.

Is this working better now, with 2.6.31-rc1?

John
-- 
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] get rid of read/write lock in gen_estimator
From: Eric Dumazet @ 2009-09-28 18:50 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, netdev
In-Reply-To: <20090928113855.52eab44b@nehalam>

Stephen Hemminger a écrit :
> Don't need a read/write lock here sinc there already is a spin lock that
> is being acquired.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> 
> --- a/net/core/gen_estimator.c	2009-09-24 16:27:01.239755070 -0700
> +++ b/net/core/gen_estimator.c	2009-09-24 16:41:09.290751273 -0700
> @@ -101,9 +101,6 @@ struct gen_estimator_head
>  
>  static struct gen_estimator_head elist[EST_MAX_INTERVAL+1];
>  
> -/* Protects against NULL dereference */
> -static DEFINE_RWLOCK(est_lock);
> -
>  /* Protects against soft lockup during large deletion */
>  static struct rb_root est_root = RB_ROOT;
>  
> @@ -118,9 +115,8 @@ static void est_timer(unsigned long arg)
>  		u64 brate;
>  		u32 npackets;
>  		u32 rate;
> -
> +
>  		spin_lock(e->stats_lock);
> -		read_lock(&est_lock);
>  		if (e->bstats == NULL)
>  			goto skip;
>  
> @@ -136,7 +132,6 @@ static void est_timer(unsigned long arg)
>  		e->avpps += (rate >> e->ewma_log) - (e->avpps >> e->ewma_log);
>  		e->rate_est->pps = (e->avpps+0x1FF)>>10;
>  skip:
> -		read_unlock(&est_lock);
>  		spin_unlock(e->stats_lock);
>  	}
>  
> @@ -270,9 +265,9 @@ void gen_kill_estimator(struct gnet_stat
>  	while ((e = gen_find_node(bstats, rate_est))) {
>  		rb_erase(&e->node, &est_root);
>  
> -		write_lock_bh(&est_lock);
> +		spin_lock(e->stats_lock);

Are you sure _bh() variant is not needed here ?

>  		e->bstats = NULL;
> -		write_unlock_bh(&est_lock);
> +		spin_unlock(e->stats_lock);
>  
>  		list_del_rcu(&e->list);
>  		call_rcu(&e->e_rcu, __gen_kill_estimator);


^ permalink raw reply

* Re: [PATCH] ax25: Add missing dev_put in ax25_setsockopt
From: David Miller @ 2009-09-28 19:26 UTC (permalink / raw)
  To: ralf; +Cc: jarkao2, f6bvp, bernard.pidoux, netdev, linux-hams
In-Reply-To: <20090928125313.GA14250@linux-mips.org>

From: Ralf Baechle <ralf@linux-mips.org>
Date: Mon, 28 Sep 2009 13:53:13 +0100

> ax25_setsockopt SO_BINDTODEVICE is missing a dev_put call in case of
> success.  Re-order code to fix this bug.  While at it also reformat two
> lines of code to comply with the Linux coding style.
> 
> Initial patch by Jarek Poplawski <jarkao2@gmail.com>.
> 
> Reported-by: Bernard Pidoux F6BVP <f6bvp@free.fr>
> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
> 
> ---
> Counter-proposal.  Reordering all the code avoids the need for a 2nd dev_put
> and is more readable.

Looks good to me, applied.

^ permalink raw reply

* Re: [PATCH] get rid of read/write lock in gen_estimator
From: David Miller @ 2009-09-28 19:42 UTC (permalink / raw)
  To: eric.dumazet; +Cc: shemminger, netdev
In-Reply-To: <4AC10574.6070406@gmail.com>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Mon, 28 Sep 2009 20:50:28 +0200

> Stephen Hemminger a écrit :
>> Don't need a read/write lock here sinc there already is a spin lock that
>> is being acquired.
>> 
>> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
 ...
>> @@ -270,9 +265,9 @@ void gen_kill_estimator(struct gnet_stat
>>  	while ((e = gen_find_node(bstats, rate_est))) {
>>  		rb_erase(&e->node, &est_root);
>>  
>> -		write_lock_bh(&est_lock);
>> +		spin_lock(e->stats_lock);
> 
> Are you sure _bh() variant is not needed here ?

Right, that need to be fixed to be spin_lock_bh() and spin_unlock_bh()
in the next hunk.

^ permalink raw reply

* Re: [PATCH] atm: dereference of he_dev->rbps_virt in he_init_group()
From: David Miller @ 2009-09-28 19:46 UTC (permalink / raw)
  To: roel.kluin; +Cc: joe, chas, linux-atm-general, netdev, akpm
In-Reply-To: <4AC07AC3.1090707@gmail.com>

From: Roel Kluin <roel.kluin@gmail.com>
Date: Mon, 28 Sep 2009 10:58:43 +0200

> From: Juha Leppanen <juha_motorsportcom@luukku.com>
> Date: Sat, Sep 26, 2009 at 12:34 AM
> Subject: atm: he: memleak/negative indexing of arrays in he_init_group()
> 
> The prefix decrement causes a very long loop if pci_pool_alloc() failed
> in the first iteration. Also I swapped rbps and rbpl arguments.
> 
> Reported-by: Juha Leppanen <juha_motorsportcom@luukku.com>
> Signed-off-by: Roel Kluin <roel.kluin@gmail.com>

Applied, thanks.

Note that, by putting that From: line with Juha's info in it,
I assume that you want this person to be listed as the author
of the patch instead of you.

^ permalink raw reply

* Re: [PATCH] isdn: fix netjet/isdnhdlc build errors
From: David Miller @ 2009-09-28 19:47 UTC (permalink / raw)
  To: randy.dunlap; +Cc: torvalds, linux-kernel, keil, netdev
In-Reply-To: <20090928092520.b6f921de.randy.dunlap@oracle.com>

From: Randy Dunlap <randy.dunlap@oracle.com>
Date: Mon, 28 Sep 2009 09:25:20 -0700

> From: Randy Dunlap <randy.dunlap@oracle.com>
> 
> Commit cb3824bade2549d7ad059d5802da43312540fdee didn't fix this problem.
> 
> Fix build errors in netjet, using isdnhdlc module:
...
> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>

Since Karsten has been unresonspive to ISDN stuff for weeks,
I'm going to apply this directly.

Thanks!

^ permalink raw reply

* Re: [PATCH 9/9] Add explicit bound checks in net/socket.c
From: David Miller @ 2009-09-28 19:57 UTC (permalink / raw)
  To: arjan; +Cc: gorcunov, linux-kernel, torvalds, mingo, netdev
In-Reply-To: <20090926212302.0ce64a5c@infradead.org>

From: Arjan van de Ven <arjan@infradead.org>
Date: Sat, 26 Sep 2009 21:23:02 +0200

> The sys_socketcall() function has a very clever system for the copy
> size of its arguments. Unfortunately, gcc cannot deal with this in
> terms of proving that the copy_from_user() is then always in bounds.
> This is the last (well 9th of this series, but last in the kernel) such
> case around.
> 
> With this patch, we can turn on code to make having the boundary provably
> right for the whole kernel, and detect introduction of new security
> accidents of this type early on.
> 
> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>

Applied, thanks.

^ permalink raw reply

* Re: [2.6.31-git17] WARNING: at kernel/hrtimer.c:648 hres_timers_resume+0x40/0x50()/WARNING: at drivers/base/sys.c:353 __sysdev_resume+0xc3/0xe0()
From: Maciej Rutecki @ 2009-09-28 20:08 UTC (permalink / raw)
  To: Yong Zhang
  Cc: Linux Kernel Mailing List, Rafael J. Wysocki, clemens,
	venkatesh.pallipadi, gregkh, zambrano, davem, netdev
In-Reply-To: <8db1092f0909281138t18a379d1qdf999b0610ed6414@mail.gmail.com>

2009/9/28 Maciej Rutecki <maciej.rutecki@gmail.com>:
>
> Add patch and remove previous:
> http://unixy.pl/maciek/download/kernel/2.6.31-git17/gumis/dmesg-debug.txt
>
> s2disk&resume twice.
>
> no "timekeeping_resume() called with IRQs enabled!".
>
> I found some interesting thing, warnings appear only once, during
> first s2disk, on second don't appear.

Already I test 2.6-32-rc1 few times; warnings has gone. Any patches
has been add since 2.6.31-git17?

Regards
-- 
Maciej Rutecki
http://www.maciek.unixy.pl

^ permalink raw reply

* Re: 2.6.31 regression: e1000e jumbo frames no longer work: 'Unsupported MTU setting'
From: Nix @ 2009-09-28 20:51 UTC (permalink / raw)
  To: Alexander Duyck; +Cc: e1000-devel, netdev, bruce.w.allan, linux-kernel
In-Reply-To: <5f2db9d90909261914l3a927f4cya1dc5e4548688bce@mail.gmail.com>

On 27 Sep 2009, Alexander Duyck said:
> It looks like the problem is that the 82574 and 82583 seem to have
> their max_hw_frame_size values swapped.  You might try applying the
> patch below.  I am not sure if it will apply since I hand generated it

Applies fine: works fine. Thank you!

> using the git patch that seems to have introduced the problem, and I
> am sending the patch through an untested account that may mangle the
> patch.

Unmangled.

>        I will see about submitting an official patch for this
> sometime next few days.

I wonder if this belongs in -stable? People with an 82574 who are using
jumbo frames may well find their networks not coming up, if like me
they set a bunch of properties in one /sbin/ip call.

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf

^ permalink raw reply

* Re: tg3: Badness at kernel/mutex.c:207
From: Matt Carlson @ 2009-09-28 20:51 UTC (permalink / raw)
  To: Felix Radensky; +Cc: netdev@vger.kernel.org
In-Reply-To: <4ABE85B9.3020304@embedded-sol.com>

On Sat, Sep 26, 2009 at 02:20:57PM -0700, Felix Radensky wrote:
> Hi,
> 
> I'm running linux-2.6.31 on a custom MPC8536 based board with BCM57760 chip.
> Both tg3 driver, and Broadcom PHY driver are modules.
> 
> Each time I run ifconfig eth2 up, I get the following error message:
> 
> Badness at kernel/mutex.c:207
> NIP: c025132c LR: c0251314 CTR: c0251334
> REGS: efbedbd0 TRAP: 0700   Not tainted  (2.6.31)
> MSR: 00029000 <EE,ME,CE>  CR: 24020422  XER: 00000000
> TASK = efacce10[1080] 'ifconfig' THREAD: efbec000
> GPR00: 00000000 efbedc80 efacce10 00000001 00007020 00000002 00000000 
> 00000200
> GPR08: 00029000 c0350000 c0330000 00000001 24020424 10057d94 000002a0 
> 1000d82c
> GPR16: 1000d81c 1000d814 10010000 10050000 ef897a0c efbede18 ffff8914 
> ef897a00
> GPR24: 00008000 c034b480 efbec000 efb0122c c0350000 efacce10 ef82d2c0 
> efb01228
> NIP [c025132c] __mutex_lock_slowpath+0x1f0/0x1f8
> LR [c0251314] __mutex_lock_slowpath+0x1d8/0x1f8
> Call Trace:
> [efbedcd0] [c025134c] mutex_lock+0x18/0x34
> [efbedcf0] [f534a228] tg3_chip_reset+0x7cc/0x9f8 [tg3]
> [efbedd20] [f534a8f0] tg3_reset_hw+0x58/0x2360 [tg3]
> [efbedd70] [f5351dd4] tg3_open+0x610/0x910 [tg3]
> [efbeddb0] [c01e1c6c] dev_open+0x100/0x138
> [efbeddd0] [c01dff20] dev_change_flags+0x80/0x1ac
> [efbeddf0] [c02232cc] devinet_ioctl+0x648/0x824
> [efbede60] [c0223de4] inet_ioctl+0xcc/0xf8
> [efbede70] [c01cdf44] sock_ioctl+0x60/0x300
> [efbede90] [c008a35c] vfs_ioctl+0x34/0x8c
> [efbedea0] [c008a580] do_vfs_ioctl+0x88/0x724
> [efbedf10] [c008ac5c] sys_ioctl+0x40/0x74
> [efbedf40] [c000f814] ret_from_syscall+0x0/0x3c
> Instruction dump:
> 0fe00000 4bfffe80 801a000c 5409016f 4182fe60 4bf0f6d9 2f830000 41befe54
> 3d20c035 8009c2c0 2f800000 40befe44 <0fe00000> 4bfffe3c 9421ffe0 7c0802a6
> 
> Does it indicate a real problem, or something that can be ignored ?
> 
> Additional information from kernel log:
> 
> tg3.c:v3.99 (April 20, 2009)
> tg3 0002:05:00.0: enabling bus mastering
> tg3 0002:05:00.0: PME# disabled
> tg3 mdio bus: probed
> eth2: Tigon3 [partno(BCM57760) rev 57780001] (PCI Express) MAC address 
> 00:10:18:00:00:00
> eth2: attached PHY driver [Broadcom BCM57780] (mii_bus:phy_addr=500:01)
> eth2: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
> eth2: dma_rwctrl[76180000] dma_mask[64-bit]
> tg3 0002:05:00.0: PME# disabled

Yes, this is a real problem.  The driver is taking the MDIO bus lock
while holding the device's own spinlock.  I think I may have a
workaround.  Let me test it and get back to you.


^ permalink raw reply

* Re: tg3 and Broadcom PHY driver
From: Matt Carlson @ 2009-09-28 20:52 UTC (permalink / raw)
  To: Felix Radensky; +Cc: netdev@vger.kernel.org
In-Reply-To: <4ABE8862.3060308@embedded-sol.com>

On Sat, Sep 26, 2009 at 02:32:18PM -0700, Felix Radensky wrote:
> Hi,
> 
> I've noticed that in linux-2.6.31 I have to make tg3 driver modular, due to
> its dependency on Broadcom PHY driver. If both tg3 and PHY driver are
> compiled into the kernel, tg3 fails to detect a PHY, apparently because PHY
> driver is loaded later. I'm using BCM57760 on embedded powerpc platform
> (MPC8536).
> 
> How can I make tg3 work when it's compiled into the kernel ?
> 
> Thanks.

Is the broadcom module also compiled into the kernel?


^ permalink raw reply

* Re: tg3 and Broadcom PHY driver
From: Felix Radensky @ 2009-09-28 20:53 UTC (permalink / raw)
  To: Matt Carlson; +Cc: netdev@vger.kernel.org
In-Reply-To: <20090928205226.GB12652@xw6200.broadcom.net>

Hi, Matt

Matt Carlson wrote:
> On Sat, Sep 26, 2009 at 02:32:18PM -0700, Felix Radensky wrote:
>   
>> Hi,
>>
>> I've noticed that in linux-2.6.31 I have to make tg3 driver modular, due to
>> its dependency on Broadcom PHY driver. If both tg3 and PHY driver are
>> compiled into the kernel, tg3 fails to detect a PHY, apparently because PHY
>> driver is loaded later. I'm using BCM57760 on embedded powerpc platform
>> (MPC8536).
>>
>> How can I make tg3 work when it's compiled into the kernel ?
>>
>> Thanks.
>>     
>
> Is the broadcom module also compiled into the kernel?
>
>   
Yes.

^ permalink raw reply

* Re: [2.6.31-git17] WARNING: at kernel/hrtimer.c:648 hres_timers_resume+0x40/0x50()/WARNING: at drivers/base/sys.c:353 __sysdev_resume+0xc3/0xe0()
From: Rafael J. Wysocki @ 2009-09-28 21:13 UTC (permalink / raw)
  To: Maciej Rutecki
  Cc: Yong Zhang, Linux Kernel Mailing List, clemens,
	venkatesh.pallipadi, gregkh, zambrano, davem, netdev
In-Reply-To: <8db1092f0909281308s36c35c80s65c18dcbcf9fff2b@mail.gmail.com>

On Monday 28 September 2009, Maciej Rutecki wrote:
> 2009/9/28 Maciej Rutecki <maciej.rutecki@gmail.com>:
> >
> > Add patch and remove previous:
> > http://unixy.pl/maciek/download/kernel/2.6.31-git17/gumis/dmesg-debug.txt
> >
> > s2disk&resume twice.
> >
> > no "timekeeping_resume() called with IRQs enabled!".
> >
> > I found some interesting thing, warnings appear only once, during
> > first s2disk, on second don't appear.
> 
> Already I test 2.6-32-rc1 few times; warnings has gone. Any patches
> has been add since 2.6.31-git17?

Quite some of them, actually.

Thanks,
Rafael

^ permalink raw reply

* Re: tg3 and Broadcom PHY driver
From: David Miller @ 2009-09-28 21:15 UTC (permalink / raw)
  To: felix; +Cc: mcarlson, netdev
In-Reply-To: <4AC1223B.8070903@embedded-sol.com>

From: Felix Radensky <felix@embedded-sol.com>
Date: Mon, 28 Sep 2009 22:53:15 +0200

> Hi, Matt
> 
> Matt Carlson wrote:
>> On Sat, Sep 26, 2009 at 02:32:18PM -0700, Felix Radensky wrote:
>>   
>> Is the broadcom module also compiled into the kernel?
>>
>>   
> Yes.

I bet this is all because the tg3 driver is linked into the kernel
before the PHY layer and drivers subdirectory or something like that.

Link order determines the order in which built-in initializations
occur (within the same init type).

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox