Netdev List
 help / color / mirror / Atom feed
* [patch net-next 01/16] mlxsw: spectrum_switchdev: Change mc_router to mrouter
From: Jiri Pirko @ 2017-09-20 14:15 UTC (permalink / raw)
  To: netdev; +Cc: davem, nogahf, idosch, mlxsw
In-Reply-To: <20170920141516.1402-1-jiri@resnulli.us>

From: Nogah Frankel <nogahf@mellanox.com>

Change the naming of mc_router to mrouter to keep consistency.

Signed-off-by: Nogah Frankel <nogahf@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
---
 .../net/ethernet/mellanox/mlxsw/spectrum_switchdev.c   | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
index d39ffbf..22f8d74 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
@@ -699,10 +699,10 @@ static int mlxsw_sp_port_attr_br_vlan_set(struct mlxsw_sp_port *mlxsw_sp_port,
 	return -EINVAL;
 }
 
-static int mlxsw_sp_port_attr_mc_router_set(struct mlxsw_sp_port *mlxsw_sp_port,
-					    struct switchdev_trans *trans,
-					    struct net_device *orig_dev,
-					    bool is_port_mc_router)
+static int mlxsw_sp_port_attr_mrouter_set(struct mlxsw_sp_port *mlxsw_sp_port,
+					  struct switchdev_trans *trans,
+					  struct net_device *orig_dev,
+					  bool is_port_mrouter)
 {
 	struct mlxsw_sp_bridge_port *bridge_port;
 	int err;
@@ -720,12 +720,12 @@ static int mlxsw_sp_port_attr_mc_router_set(struct mlxsw_sp_port *mlxsw_sp_port,
 
 	err = mlxsw_sp_bridge_port_flood_table_set(mlxsw_sp_port, bridge_port,
 						   MLXSW_SP_FLOOD_TYPE_MC,
-						   is_port_mc_router);
+						   is_port_mrouter);
 	if (err)
 		return err;
 
 out:
-	bridge_port->mrouter = is_port_mc_router;
+	bridge_port->mrouter = is_port_mrouter;
 	return 0;
 }
 
@@ -793,9 +793,9 @@ static int mlxsw_sp_port_attr_set(struct net_device *dev,
 						     attr->u.vlan_filtering);
 		break;
 	case SWITCHDEV_ATTR_ID_PORT_MROUTER:
-		err = mlxsw_sp_port_attr_mc_router_set(mlxsw_sp_port, trans,
-						       attr->orig_dev,
-						       attr->u.mrouter);
+		err = mlxsw_sp_port_attr_mrouter_set(mlxsw_sp_port, trans,
+						     attr->orig_dev,
+						     attr->u.mrouter);
 		break;
 	case SWITCHDEV_ATTR_ID_BRIDGE_MC_DISABLED:
 		err = mlxsw_sp_port_mc_disabled_set(mlxsw_sp_port, trans,
-- 
2.9.5

^ permalink raw reply related

* [patch net-next 00/16] mlxsw: Multicast flood update
From: Jiri Pirko @ 2017-09-20 14:15 UTC (permalink / raw)
  To: netdev; +Cc: davem, nogahf, idosch, mlxsw

From: Jiri Pirko <jiri@mellanox.com>

Nogah says:

Currently, there are four erroneous flows in MC flood:
1. When MC is disabled it affects only the flood table for unregistered
   MC packets, but packets that match an entry in the MDB are unaffected.
2. When MC is disabled, MC packets are being sent to all the ports in the
   bridge (like BC and link-local MC packets) regardless of the designated
   flag (BR_MCAST_FLAG).
3. When a port is being deleted from a bridge it might remain in the MDB.
4. When MC is enabled packets are flooded to the mrouter ports only if
   they don't match any entry in the MDB, when they should always be
   flooded to them.

What these problems have in common is the discrepancy between how the
hardware handles MDB and mcast flood, and how the driver does it. Each
of these problems needs fixing either in the MDB code, or in mcast flood
code, and some in both.

Patches 1-6 change the way the MDB is handled in the driver to make the
following changes easier.
Patches 7-8 fix problem number 1 by removing the MDB from the HW when MC
is being disabled and restoring it when it is being enabled.
Patches 9-10 fix problem number 2 by offloading the flood table by the
appropriate flag.
Patch 11 fixes problem number 3 by adding MDB flush to the port removal.
Patches 12-14 fix problem number 4 by adding the mrouter ports to every
MDB entry in the HW to mimic the wanted behaviour.

Nogah Frankel (16):
  mlxsw: spectrum_switchdev: Change mc_router to mrouter
  mlxsw: spectrum_switchdev: Add a ports bitmap to the mid db
  mlxsw: spectrum_switchdev: Remove reference count from mid
  mlxsw: spectrum_switchdev: Save mids list per bridge device
  mlxsw: spectrum_switchdev: Break smid write function
  mlxsw: spectrum_switchdev: Attach mid id allocation to HW write
  mlxsw: spectrum_switchdev: Break mid deletion into two function
  mlxsw: spectrum_switchdev: Don't write mids to the HW when mc is
    disabled
  mlxsw: spectrum_switchdev: Disable mdb when mc is disabled
  mlxsw: spectrum_switchdev: Use generic mc flood function
  mlxsw: spectrum_switchdev: Flood mc when mc is disabled by user flag
  mlxsw: spectrum_switchdev: Flush the mdb when a port is being removed
  mlxsw: spectrum_switchdev: Flood all mc packets to mrouter ports
  mlxsw: spectrum_switchdev: Update the mdb of mrouter port change
  mlxsw: spectrum_switchdev: Remove mrouter flood in mdb flush
  mlxsw: spectrum_switchdev: Consider mrouter status for mdb changes

 drivers/net/ethernet/mellanox/mlxsw/spectrum.h     |   3 +-
 .../ethernet/mellanox/mlxsw/spectrum_switchdev.c   | 417 ++++++++++++++++-----
 2 files changed, 323 insertions(+), 97 deletions(-)

-- 
2.9.5

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Paweł Staszewski @ 2017-09-20 14:03 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Wei Wang, Linux Kernel Network Developers, edumazet
In-Reply-To: <1505915099.29839.95.camel@edumazet-glaptop3.roam.corp.google.com>

Nit much more after adding this patch

https://bugzilla.kernel.org/attachment.cgi?id=258529



W dniu 2017-09-20 o 15:44, Eric Dumazet pisze:
> On Wed, 2017-09-20 at 15:39 +0200, Paweł Staszewski wrote:
>> W dniu 2017-09-20 o 15:34, Eric Dumazet pisze:
>>> Could you try this debug patch ?
>>>
>>> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
>>> index f535779d9dc1dfe36934c2abba4e43d053ac5d6f..1eaa3553a724dc8c048f67b556337072d5addc82 100644
>>> --- a/include/linux/netdevice.h
>>> +++ b/include/linux/netdevice.h
>>> @@ -3331,7 +3331,14 @@ void netdev_run_todo(void);
>>>     */
>>>    static inline void dev_put(struct net_device *dev)
>>>    {
>>> -	this_cpu_dec(*dev->pcpu_refcnt);
>>> +	int __percpu *pref = READ_ONCE(dev->pcpu_refcnt);
>>> +
>>> +	if (!pref) {
>>> +		pr_err("no pcpu_refcnt on dev %p(%s) state %d dismantle %d\n",
>>> +		       dev, dev->name, dev->reg_state, dev->dismantle);
>>> +		BUG();
>>> +	}
>>> +	this_cpu_dec(*pref);
>>>    }
>>>    
>>>    /**
>>>
>>>
>>>
>> You want me to add this patch to what kernel version ?
>> currently im after git bisect reset - so mainline stable
>>
> Simply us the latest net-next as mentioned in the thread title, thanks.
>
>
>

^ permalink raw reply

* Re: [PATCH net-next 08/10] net/smc: introduce a delay
From: Leon Romanovsky @ 2017-09-20 14:03 UTC (permalink / raw)
  To: Ursula Braun
  Cc: davem, netdev, linux-rdma, linux-s390, jwi, schwidefsky,
	heiko.carstens, raspl
In-Reply-To: <20170920115813.63745-9-ubraun@linux.vnet.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 388 bytes --]

On Wed, Sep 20, 2017 at 01:58:11PM +0200, Ursula Braun wrote:
> The number of outstanding work requests is limited. If all work
> requests are in use, tx processing is postponed to another scheduling
> of the tx worker. Switch to a delayed worker to have a gap for tx
> completion queue events before the next retry.
>

How will delay prevent and protect the resource exhausting?

Thanks

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply

* Re: [PATCH net-next 3/4] qed: Fix maximum number of CQs for iWARP
From: Leon Romanovsky @ 2017-09-20 13:50 UTC (permalink / raw)
  To: Kalderon, Michal
  Cc: davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org, Elior, Ariel
In-Reply-To: <CY1PR0701MB2012B07A2FCD08D598CCFEDB88610-UpKza+2NMNLHMJvQ0dyT705OhdzP3rhOnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 1158 bytes --]

On Wed, Sep 20, 2017 at 05:46:35AM +0000, Kalderon, Michal wrote:
> From: Leon Romanovsky <leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
> Sent: Tuesday, September 19, 2017 8:46 PM
> On Tue, Sep 19, 2017 at 08:26:18PM +0300, Michal Kalderon wrote:
> >> The maximum number of CQs supported is bound to the number
> >> of connections supported, which differs between RoCE and iWARP.
> >>
> >> This fixes a crash that occurred in iWARP when running 1000 sessions
> >> using perftest.
> >>
> >> Signed-off-by: Michal Kalderon <Michal.Kalderon-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>
> >> Signed-off-by: Ariel Elior <Ariel.Elior-YGCgFSpz5w/QT0dZR+AlfA@public.gmane.org>
> >> ---
> >
> >It is worth to add Fixes line.
> >
> >Thanks
> The original code was there before we had iWARP support, so this doesn't
> exactly fix an older commit, but fixes iWARP code in general.

So add Fixes which points to iWARP ennoblement patch.

Thanks

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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Eric Dumazet @ 2017-09-20 13:44 UTC (permalink / raw)
  To: Paweł Staszewski; +Cc: Wei Wang, Linux Kernel Network Developers, edumazet
In-Reply-To: <686ea8f0-d9f8-82bc-ca68-f1d97614aa6b@itcare.pl>

On Wed, 2017-09-20 at 15:39 +0200, Paweł Staszewski wrote:
> 
> W dniu 2017-09-20 o 15:34, Eric Dumazet pisze:
> > Could you try this debug patch ?
> >
> > diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> > index f535779d9dc1dfe36934c2abba4e43d053ac5d6f..1eaa3553a724dc8c048f67b556337072d5addc82 100644
> > --- a/include/linux/netdevice.h
> > +++ b/include/linux/netdevice.h
> > @@ -3331,7 +3331,14 @@ void netdev_run_todo(void);
> >    */
> >   static inline void dev_put(struct net_device *dev)
> >   {
> > -	this_cpu_dec(*dev->pcpu_refcnt);
> > +	int __percpu *pref = READ_ONCE(dev->pcpu_refcnt);
> > +
> > +	if (!pref) {
> > +		pr_err("no pcpu_refcnt on dev %p(%s) state %d dismantle %d\n",
> > +		       dev, dev->name, dev->reg_state, dev->dismantle);
> > +		BUG();
> > +	}
> > +	this_cpu_dec(*pref);
> >   }
> >   
> >   /**
> >
> >
> >
> 
> You want me to add this patch to what kernel version ?
> currently im after git bisect reset - so mainline stable
> 

Simply us the latest net-next as mentioned in the thread title, thanks.

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Paweł Staszewski @ 2017-09-20 13:39 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Wei Wang, Linux Kernel Network Developers, edumazet
In-Reply-To: <1505914479.29839.92.camel@edumazet-glaptop3.roam.corp.google.com>



W dniu 2017-09-20 o 15:34, Eric Dumazet pisze:
> Could you try this debug patch ?
>
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index f535779d9dc1dfe36934c2abba4e43d053ac5d6f..1eaa3553a724dc8c048f67b556337072d5addc82 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -3331,7 +3331,14 @@ void netdev_run_todo(void);
>    */
>   static inline void dev_put(struct net_device *dev)
>   {
> -	this_cpu_dec(*dev->pcpu_refcnt);
> +	int __percpu *pref = READ_ONCE(dev->pcpu_refcnt);
> +
> +	if (!pref) {
> +		pr_err("no pcpu_refcnt on dev %p(%s) state %d dismantle %d\n",
> +		       dev, dev->name, dev->reg_state, dev->dismantle);
> +		BUG();
> +	}
> +	this_cpu_dec(*pref);
>   }
>   
>   /**
>
>
>

You want me to add this patch to what kernel version ?
currently im after git bisect reset - so mainline stable

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Eric Dumazet @ 2017-09-20 13:37 UTC (permalink / raw)
  To: Paweł Staszewski; +Cc: Wei Wang, Linux Kernel Network Developers, edumazet
In-Reply-To: <1505914479.29839.92.camel@edumazet-glaptop3.roam.corp.google.com>

On Wed, 2017-09-20 at 06:34 -0700, Eric Dumazet wrote:
> Could you try this debug patch ?
> 
> diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
> index f535779d9dc1dfe36934c2abba4e43d053ac5d6f..1eaa3553a724dc8c048f67b556337072d5addc82 100644
> --- a/include/linux/netdevice.h
> +++ b/include/linux/netdevice.h
> @@ -3331,7 +3331,14 @@ void netdev_run_todo(void);
>   */
>  static inline void dev_put(struct net_device *dev)
>  {
> -	this_cpu_dec(*dev->pcpu_refcnt);
> +	int __percpu *pref = READ_ONCE(dev->pcpu_refcnt);
> +
> +	if (!pref) {
> +		pr_err("no pcpu_refcnt on dev %p(%s) state %d dismantle %d\n",
> +		       dev, dev->name, dev->reg_state, dev->dismantle);
> +		BUG();
> +	}
> +	this_cpu_dec(*pref);
>  }
>  
>  /**
> 

And since the console will be filled by stack trace, maybe instead of
BUG() use some infinite loop ?

for (;;)
	cpu_relax();

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Eric Dumazet @ 2017-09-20 13:34 UTC (permalink / raw)
  To: Paweł Staszewski; +Cc: Wei Wang, Linux Kernel Network Developers, edumazet
In-Reply-To: <07c29702-cd0b-32af-df0a-83ad24b8c785@itcare.pl>

Could you try this debug patch ?

diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index f535779d9dc1dfe36934c2abba4e43d053ac5d6f..1eaa3553a724dc8c048f67b556337072d5addc82 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -3331,7 +3331,14 @@ void netdev_run_todo(void);
  */
 static inline void dev_put(struct net_device *dev)
 {
-	this_cpu_dec(*dev->pcpu_refcnt);
+	int __percpu *pref = READ_ONCE(dev->pcpu_refcnt);
+
+	if (!pref) {
+		pr_err("no pcpu_refcnt on dev %p(%s) state %d dismantle %d\n",
+		       dev, dev->name, dev->reg_state, dev->dismantle);
+		BUG();
+	}
+	this_cpu_dec(*pref);
 }
 
 /**

^ permalink raw reply related

* Re: [PATCH iproute2 json v2 05/27] ip: ipaddress.c: add support for json output
From: Sabrina Dubroca @ 2017-09-20 13:33 UTC (permalink / raw)
  To: Julien Fortin; +Cc: netdev, roopa, nikolay, dsa
In-Reply-To: <20170817173614.54987-6-julien@cumulusnetworks.com>

Hi Julien,

2017-08-17, 10:35:52 -0700, Julien Fortin wrote:
> From: Julien Fortin <julien@cumulusnetworks.com>
> 
> This patch converts all output (mostly fprintfs) to the new ip_print api
> which handle both regular and json output.
> Initialize a json_writer and open an array object if -json was specified.
> Note that the JSON attribute naming follows the NETLINK_ATTRIBUTE naming.
[snip]

This patch (commit d0e720111aad) changed the output of "ip addr":

Before:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

After:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128scope host 
       valid_lft forever preferred_lft forever

The space following the mask is missing.

Could you have a look?
Thanks.

-- 
Sabrina

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Paweł Staszewski @ 2017-09-20 13:16 UTC (permalink / raw)
  To: Eric Dumazet, Wei Wang; +Cc: Linux Kernel Network Developers, edumazet
In-Reply-To: <1505913075.29839.90.camel@edumazet-glaptop3.roam.corp.google.com>

Yes sorry for top-posting also.

Configuration:

Ethernet devices:

lspci | grep Etherne
02:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network 
Connection (rev 01)
02:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network 
Connection (rev 01)
04:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
04:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
07:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
07:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
81:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
81:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
83:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)
83:00.1 Ethernet controller: Intel Corporation 82599ES 10-Gigabit 
SFI/SFP+ Network Connection (rev 01)


ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode 
DEFAULT qlen 1000
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp2s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state 
DOWN mode DEFAULT qlen 8192
     link/ether 00:25:90:e4:97:9a brd ff:ff:ff:ff:ff:ff
3: enp2s0f1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state 
DOWN mode DEFAULT qlen 8192
     link/ether 00:25:90:e4:97:9b brd ff:ff:ff:ff:ff:ff
4: enp4s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq 
master bond1 state UP mode DEFAULT qlen 8192
     link/ether 0c:c4:7a:bc:b8:68 brd ff:ff:ff:ff:ff:ff
5: enp4s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq 
master bond0 state UP mode DEFAULT qlen 8192
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
6: enp7s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq 
master bond1 state UP mode DEFAULT qlen 8192
     link/ether 0c:c4:7a:bc:b8:68 brd ff:ff:ff:ff:ff:ff
7: enp7s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq 
master bond0 state UP mode DEFAULT qlen 8192
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
8: enp129s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq 
master bond1 state UP mode DEFAULT qlen 8192
     link/ether 0c:c4:7a:bc:b8:68 brd ff:ff:ff:ff:ff:ff
9: enp129s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq 
master bond0 state UP mode DEFAULT qlen 8192
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
10: enp131s0f0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc 
mq master bond1 state UP mode DEFAULT qlen 8192
     link/ether 0c:c4:7a:bc:b8:68 brd ff:ff:ff:ff:ff:ff
11: enp131s0f1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc 
mq master bond0 state UP mode DEFAULT qlen 8192
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
12: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT qlen 1000
     link/sit 0.0.0.0 brd 0.0.0.0
13: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
14: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:68 brd ff:ff:ff:ff:ff:ff
15: vlan4091@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
16: vlan4032@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
17: vlan514@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
18: vlan87@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
19: vlan518@bond1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:68 brd ff:ff:ff:ff:ff:ff
20: vlan646@bond1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:68 brd ff:ff:ff:ff:ff:ff
21: vlan370@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
22: vlan3212@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff
23: vlan746@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc 
noqueue state UP mode DEFAULT qlen 1000
     link/ether 0c:c4:7a:bc:b8:69 brd ff:ff:ff:ff:ff:ff


There are bonds:

cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: enp4s0f1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 0c:c4:7a:bc:b8:69
Slave queue ID: 0

Slave Interface: enp7s0f1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:25:90:e3:dd:9d
Slave queue ID: 0

Slave Interface: enp129s0f1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:25:90:e3:da:e1
Slave queue ID: 0

Slave Interface: enp131s0f1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 0c:c4:7a:bc:b1:fd
Slave queue ID: 0

cat /proc/net/bonding/bond1
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: enp4s0f0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 2
Permanent HW addr: 0c:c4:7a:bc:b8:68
Slave queue ID: 0

Slave Interface: enp7s0f0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:25:90:e3:dd:9c
Slave queue ID: 0

Slave Interface: enp129s0f0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 00:25:90:e3:da:e0
Slave queue ID: 0

Slave Interface: enp131s0f0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 1
Permanent HW addr: 0c:c4:7a:bc:b1:fc
Slave queue ID: 0



About routing - installed frr with bgp/zebra support

6x BGP sessions with full BGP table ~600k prefixes

Ando some clients bgp sessions where prefixes from upstreams are advertised.


About 20 L3 ipv4 nexthops




W dniu 2017-09-20 o 15:11, Eric Dumazet pisze:
> Sorry for top-posting, but this is to give context to Wei, since Pawel
> used a top posting way to report his bisection.
>
> Wei, can you take a look at Pawel report ?
>
> Crash happens in dst_destroy() at following :
>
> if (dst->dev)
>       dev_put(dst->dev); <<CRASH>>
>
>
> dst->dev is not NULL, but netdev->pcpu_refcnt is NULL
>
> 65 ff 08                decl   %gs:(%rax)   // CRASH since rax = NULL
>
>
>
> Pawel, please share your netdevices and routing setup  ?
>
> Thanks !
>
> On Wed, 2017-09-20 at 14:49 +0200, Paweł Staszewski wrote:
>> And the last one
>>
>> git bisect good
>> Bisecting: 1 revision left to test after this (roughly 1 step)
>> [1cfb71eeb12047bcdbd3e6730ffed66e810a0855] ipv6: take dst->__refcnt for
>> insertion into fib6 tree
>>
>> With this have kernel panic same as always
>>
>> git bisect bad
>> Bisecting: 0 revisions left to test after this (roughly 0 steps)
>> [b838d5e1c5b6e57b10ec8af2268824041e3ea911] ipv4: mark DST_NOGC and
>> remove the operation of dst_free()
>>
>>
>>
>> W dniu 2017-09-20 o 14:23, Paweł Staszewski pisze:
>>> Almost there
>>>
>>> Bisecting: 6 revisions left to test after this (roughly 3 steps)
>>> [ad65a2f05695aced349e308193c6e2a6b1d87112] ipv6: call dst_hold_safe()
>>> properly
>>>
>>>
>>>
>>> W dniu 2017-09-20 o 13:02, Paweł Staszewski pisze:
>>>> Ok resumed and soo far:
>>>>
>>>> Panic:
>>>>
>>>> # bad: [9cc9a5cb176ccb4f2cda5ac34da5a659926f125f] datapath: Avoid
>>>> using stack larger than 1024.
>>>> git bisect bad 9cc9a5cb176ccb4f2cda5ac34da5a659926f125f
>>>>
>>>> No panic:
>>>>
>>>> # good: [073cf9e20c333ab29744717a23f9e43ec7512a20] Merge branch
>>>> 'udp-reduce-cache-pressure'
>>>> git bisect good 073cf9e20c333ab29744717a23f9e43ec7512a20
>>>>
>>>>
>>>> W dniu 2017-09-20 o 12:22, Paweł Staszewski pisze:
>>>>> Soo far bisected and marked:
>>>>>
>>>>> git bisect start
>>>>> # bad: [07dd6cc1fff160143e82cf5df78c1db0b6e03355] Linux 4.13.2
>>>>> git bisect bad 07dd6cc1fff160143e82cf5df78c1db0b6e03355
>>>>> # good: [5d7d2e03e0f01a992e3521b180c3d3e67905f269] Linux 4.12.13
>>>>> git bisect good 5d7d2e03e0f01a992e3521b180c3d3e67905f269
>>>>> # good: [6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c] Linux 4.12
>>>>> git bisect good 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c
>>>>> # bad: [ac7b75966c9c86426b55fe1c50ae148aa4571075] Merge tag
>>>>> 'pinctrl-v4.13-1' of
>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
>>>>> git bisect bad ac7b75966c9c86426b55fe1c50ae148aa4571075
>>>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch
>>>>> 'next' of
>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch
>>>>> 'next' of
>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch
>>>>> 'next' of
>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>>>
>>>>>
>>>>>
>>>>> W dniu 2017-09-20 o 12:21, Paweł Staszewski pisze:
>>>>>> Ok kernel crashed with different panic that i didnt catch when i
>>>>>> was doing bisect and now my bisection is broken :)
>>>>>>
>>>>>> git bisect good
>>>>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
>>>>>> error: Your local changes to the following files would be
>>>>>> overwritten by checkout:
>>>>>>          Documentation/00-INDEX
>>>>>>          Documentation/ABI/stable/sysfs-class-udc
>>>>>>          Documentation/ABI/testing/configfs-usb-gadget-uac1
>>>>>>          Documentation/ABI/testing/ima_policy
>>>>>>          Documentation/ABI/testing/sysfs-bus-iio
>>>>>>          Documentation/ABI/testing/sysfs-bus-iio-meas-spec
>>>>>>          Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
>>>>>>          Documentation/ABI/testing/sysfs-class-net
>>>>>>          Documentation/ABI/testing/sysfs-class-power-twl4030
>>>>>>          Documentation/ABI/testing/sysfs-class-typec
>>>>>>          Documentation/DMA-API.txt
>>>>>>          Documentation/IRQ-domain.txt
>>>>>>          Documentation/Makefile
>>>>>>          Documentation/PCI/MSI-HOWTO.txt
>>>>>>          Documentation/RCU/00-INDEX
>>>>>> Documentation/RCU/Design/Requirements/Requirements.html
>>>>>>          Documentation/RCU/checklist.txt
>>>>>>          Documentation/admin-guide/README.rst
>>>>>>          Documentation/admin-guide/devices.txt
>>>>>>          Documentation/admin-guide/index.rst
>>>>>>          Documentation/admin-guide/kernel-parameters.txt
>>>>>>          Documentation/admin-guide/pm/cpufreq.rst
>>>>>>          Documentation/admin-guide/pm/intel_pstate.rst
>>>>>>          Documentation/admin-guide/ras.rst
>>>>>>          Documentation/arm/Atmel/README
>>>>>>          Documentation/block/biodoc.txt
>>>>>>          Documentation/conf.py
>>>>>>          Documentation/core-api/assoc_array.rst
>>>>>>          Documentation/core-api/atomic_ops.rst
>>>>>>          Documentation/core-api/index.rst
>>>>>>          Documentation/crypto/asymmetric-keys.txt
>>>>>>          Documentation/dev-tools/index.rst
>>>>>>          Documentation/dev-tools/sparse.rst
>>>>>>          Documentation/devicetree/bindings/arm/amlogic.txt
>>>>>>          Documentation/devicetree/bindings/arm/atmel-at91.txt
>>>>>>          Documentation/devicetree/bindings/arm/ccn.txt
>>>>>>          Documentation/devicetree/bindings/arm/cpus.txt
>>>>>>          Documentation/devicetree/bindings/arm/gemini.txt
>>>>>> Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
>>>>>> Documentation/devicetree/bindings/arm/keystone/keystone.txt
>>>>>>          Documentation/devicetree/bindings/arm/mediatek.txt
>>>>>>          Documentation/devicetree/bindings/arm/rockchip.txt
>>>>>>          Documentation/devicetree/bindings/arm/shmobile.txt
>>>>>>          Documentation/devicetree/bindings/arm/tegra.txt
>>>>>> Documentation/devicetree/bindings/ata/ahci-fsl-qoriq.txt
>>>>>> Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt
>>>>>> Documentation/devicetree/bindings/clock/brcm,iproc-clocks.txt
>>>>>> Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
>>>>>> Documentation/devicetree/bindings/gpio/gpio_atmel.txt
>>>>>> Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt
>>>>>> Documentation/devicetree/bindings/iio/adc/renesas,gyroadc.txt
>>>>>> Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt
>>>>>> Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt
>>>>>> Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt
>>>>>>
>>>>>> Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-vic.txt
>>>>>>
>>>>>> Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt
>>>>>>
>>>>>>          Documentation/devicetree/bindings/leds/common.txt
>>>>>>          Documentation/devicetree/bindings/mfd/hi6421.txt
>>>>>>          Documentation/devicetree/bindings/mfd/tps65910.txt
>>>>>>          Documentation/devicetree/bindings/mmc/fsl-esdhc.txt
>>>>>>          Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
>>>>>> Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt
>>>>>> Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
>>>>>>          Documentation/devicetree/bindings/mtd/atmel-nand.txt
>>>>>>          Documentation/devicetree/bindings/net/dsa/b53.txt
>>>>>>          Documentation/devicetree/bindings/net/ethernet.txt
>>>>>>          Documentation/devicetree/bindings/net/macb.txt
>>>>>> Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
>>>>>> Documentation/devicetree/bindings/net/ti,wilink-st.txt
>>>>>> Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
>>>>>> Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt
>>>>>>          Documentation/devicetree/bindings/opp/opp.txt
>>>>>> Documentation/devicetree/bindings/phy/bcm-ns-usb3-phy.txt
>>>>>> Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
>>>>>> Documentation/devicetree/bindings/phy/meson8b-usb2-phy.txt
>>>>>> Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
>>>>>> Documentation/devicetree/bindings/power/rockchip-io-domain.txt
>>>>>> Documentation/devicetree/bindings/power/supply/bq27xxx.txt
>>>>>>          Documentation/devicetree/bindings/property-units.txt
>>>>>> Documentation/devicetree/bindings/regulator/regulator.txt
>>>>>>          Documentation/devicetree/bindings/serial/8
>>>>>> error: The following untracked working tree files would be
>>>>>> overwritten by checkout:
>>>>>>          Documentation/ABI/testing/sysfs-class-net-phydev
>>>>>>          Documentation/DocBook/.gitignore
>>>>>>          Documentation/DocBook/Makefile
>>>>>>          Documentation/DocBook/filesystems.tmpl
>>>>>>          Documentation/DocBook/kernel-hacking.tmpl
>>>>>>          Documentation/DocBook/kernel-locking.tmpl
>>>>>>          Documentation/DocBook/kgdb.tmpl
>>>>>>          Documentation/DocBook/libata.tmpl
>>>>>>          Documentation/DocBook/librs.tmpl
>>>>>>          Documentation/DocBook/lsm.tmpl
>>>>>>          Documentation/DocBook/mtdnand.tmpl
>>>>>>          Documentation/DocBook/networking.tmpl
>>>>>>          Documentation/DocBook/rapidio.tmpl
>>>>>>          Documentation/DocBook/s390-drivers.tmpl
>>>>>>          Documentation/DocBook/scsi.tmpl
>>>>>>          Documentation/DocBook/sh.tmpl
>>>>>>          Documentation/DocBook/stylesheet.xsl
>>>>>>          Documentation/DocBook/w1.tmpl
>>>>>>          Documentation/DocBook/z8530book.tmpl
>>>>>>          Documentation/Makefile.sphinx
>>>>>>          Documentation/RCU/trace.txt
>>>>>>          Documentation/devicetree/bindings/i2c/i2c-mt6577.txt
>>>>>> Documentation/devicetree/bindings/misc/allwinner,syscon.txt
>>>>>>          Documentation/devicetree/bindings/net/cortina.txt
>>>>>>          Documentation/devicetree/bindings/net/dsa/ksz.txt
>>>>>> Documentation/devicetree/bindings/net/dwmac-sun8i.txt
>>>>>> Documentation/devicetree/bindings/net/qca,qca7000.txt
>>>>>> Documentation/devicetree/bindings/power/max8903-charger.txt
>>>>>> Documentation/devicetree/bindings/power_supply/maxim,max14656.txt
>>>>>> Documentation/devicetree/bindings/ptp/brcm,ptp-dte.txt
>>>>>> Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt
>>>>>>          Documentation/doc-guide/docbook.rst
>>>>>>          Documentation/networking/tls.txt
>>>>>>          Documentation/prctl/no_new_privs.txt
>>>>>>          Documentation/prctl/seccomp_filter.txt
>>>>>>          Documentation/security/00-INDEX
>>>>>>          Documentation/security/IMA-templates.txt
>>>>>>          Documentation/security/LSM.txt
>>>>>>          Documentation/security/LoadPin.txt
>>>>>>          Documentation/security/SELinux.txt
>>>>>>          Documentation/security/Smack.txt
>>>>>>          Documentation/security/Yama.txt
>>>>>>          Documentation/security/apparmor.txt
>>>>>>          Documentation/security/conf.py
>>>>>>          Documentation/security/credentials.txt
>>>>>>          Documentation/security/keys-ecryptfs.txt
>>>>>>          Documentation/security/keys-request-key.txt
>>>>>>          Documentation/security/keys-trusted-encrypted.txt
>>>>>>          Documentation/security/keys.txt
>>>>>>          Documentation/security/self-protection.txt
>>>>>>          Documentation/security/tomoyo.txt
>>>>>>          Documentation/sphinx/convert_template.sed
>>>>>>          Documentation/sphinx/post_convert.sed
>>>>>>          Documentation/sphinx/tmplcvt
>>>>>>          Documentation/usb/typec.rst
>>>>>>          Documentation/usb/usb3-debug-port.rst
>>>>>>          arch/arm/boot/dts/rk1108-evb.dts
>>>>>>          arch/arm/boot/dts/rk1108.dtsi
>>>>>>          arch/arm/boot/dts/tegra20-whistler.dts
>>>>>>          arch/arm/mach-omap2/opp.c
>>>>>>          arch/arm/mach-omap2/pmu.c
>>>>>>          arch/ia64/include/asm/siginfo.h
>>>>>>          arch/m32r/include/uapi/asm/siginfo.h
>>>>>>          arch/microblaze/include/asm/bitops.h
>>>>>>          arch/microblaze/include/asm/bug.h
>>>>>>          arch/microblaze/include/asm/bugs.h
>>>>>>          arch/microblaze/include/asm/div64.h
>>>>>>          arch/microblaze/include/asm/emergency-restart.h
>>>>>>          arch/microblaze/include/asm/fb.h
>>>>>>          arch/microblaze/include/asm/hardirq.h
>>>>>>          arch/microblaze/include/asm/irq_regs.h
>>>>>>          arch/microblaze/include/asm/kdebug.h
>>>>>>          arch/microblaze/include/asm/kmap_types.h
>>>>>>          arch/microblaze/include/asm/linkage.h
>>>>>>          arch/microblaze/include/asm/local.h
>>>>>>          arch/microblaze/include/asm/local64.h
>>>>>>          arch/microblaze/include/asm/parport.h
>>>>>>          arch/microblaze/include/asm/percpu.h
>>>>>>          arch/microblaze/include/asm/serial.h
>>>>>>          arch/microblaze/include/asm/shmparam.h
>>>>>>          arch/microblaze/include/asm/topology.h
>>>>>>          arch/microblaze/include/asm/ucontext.h
>>>>>>          arch/microblaze/include/asm/vga.h
>>>>>>          arch/microblaze/include/asm/xor.h
>>>>>>          arch/microblaze/include/uapi/asm/bitsperlong.h
>>>>>>          arch/microblaze/include/uapi/asm/errno.h
>>>>>>          arch/microblaze/include/uapi/asm/fcntl.h
>>>>>>          arch/microblaze/include/uapi/asm/ioctl.h
>>>>>>          arch/microblaze/include/uapi/asm/ioctls.h
>>>>>>          arch/microblaze/include/uapi/asm/ipcbuf.h
>>>>>>          arch/microblaze/include/uapi/asm/kvm_para.h
>>>>>>          arch/microblaze/include/uapi/asm/mman.h
>>>>>>          arch/microblaze/include/uapi/asm/msgbuf.h
>>>>>>          arch/microblaze/include/uapi/asm/param.h
>>>>>>          arch/microblaze/include/uapi/asm/poll.h
>>>>>>          arch/microblaze/include/uapi/asm/resource.h
>>>>>>          arch/microblaze/include/uapi/asm/sembuf.h
>>>>>>          arch/microblaze/include/uapi/asm/shmbuf.h
>>>>>>          arch/microblaze/include/uapi/asm/siginfo.h
>>>>>>          arch/microblaze/include/uapi/asm/signal.h
>>>>>>          arch/microblaze/includ
>>>>>> Aborting
>>>>>>
>>>>>>
>>>>>>
>>>>>> W dniu 2017-09-20 o 11:45, Paweł Staszewski pisze:
>>>>>>> Ok looks like ending bisection
>>>>>>>
>>>>>>>
>>>>>>> Latest bisected kernel when there is no kernel panic 4.12.0+ (from
>>>>>>> next)  - but only this warning:
>>>>>>>
>>>>>>> [  309.030019] NETDEV WATCHDOG: enp4s0f0 (ixgbe): transmit queue 0
>>>>>>> timed out
>>>>>>> [  309.030034] ------------[ cut here ]------------
>>>>>>> [  309.030040] WARNING: CPU: 35 PID: 0 at dev_watchdog+0xcf/0x139
>>>>>>> [  309.030041] Modules linked in: bonding ipmi_si
>>>>>>> x86_pkg_temp_thermal
>>>>>>> [  309.030045] CPU: 35 PID: 0 Comm: swapper/35 Not tainted 4.12.0+ #5
>>>>>>> [  309.030046] task: ffff88086d98a000 task.stack: ffffc90003378000
>>>>>>> [  309.030048] RIP: 0010:dev_watchdog+0xcf/0x139
>>>>>>> [  309.030049] RSP: 0018:ffff88087fbc3ea8 EFLAGS: 00010246
>>>>>>> [  309.030050] RAX: 000000000000003d RBX: ffff88046b680000 RCX:
>>>>>>> 0000000000000000
>>>>>>> [  309.030050] RDX: ffff88087fbd2f01 RSI: 0000000000000000 RDI:
>>>>>>> ffff88087fbcda08
>>>>>>> [  309.030051] RBP: ffff88087fbc3eb8 R08: 0000000000000000 R09:
>>>>>>> ffff88087ff80a04
>>>>>>> [  309.030051] R10: 0000000000000000 R11: ffff88086d98a001 R12:
>>>>>>> 0000000000000000
>>>>>>> [  309.030052] R13: ffff88087fbc3ef8 R14: ffff88086d98a000 R15:
>>>>>>> ffffffff81c06008
>>>>>>> [  309.030053] FS:  0000000000000000(0000)
>>>>>>> GS:ffff88087fbc0000(0000) knlGS:0000000000000000
>>>>>>> [  309.030054] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>>>>>> [  309.030054] CR2: 00007fba600f6098 CR3: 000000086b955000 CR4:
>>>>>>> 00000000001406e0
>>>>>>> [  309.030055] Call Trace:
>>>>>>> [  309.030057]  <IRQ>
>>>>>>> [  309.030059]  ? netif_tx_lock+0x79/0x79
>>>>>>> [  309.030062]  call_timer_fn.isra.24+0x17/0x77
>>>>>>> [  309.030063]  run_timer_softirq+0x118/0x161
>>>>>>> [  309.030065]  ? netif_tx_lock+0x79/0x79
>>>>>>> [  309.030066]  ? ktime_get+0x2b/0x42
>>>>>>> [  309.030070]  ? lapic_next_deadline+0x21/0x27
>>>>>>> [  309.030073]  ? clockevents_program_event+0xa8/0xc5
>>>>>>> [  309.030076]  __do_softirq+0xa8/0x19d
>>>>>>> [  309.030078]  irq_exit+0x5d/0x6b
>>>>>>> [  309.030079]  smp_apic_timer_interrupt+0x2a/0x36
>>>>>>> [  309.030082]  apic_timer_interrupt+0x89/0x90
>>>>>>> [  309.030085] RIP: 0010:mwait_idle+0x4e/0x6a
>>>>>>> [  309.030086] RSP: 0018:ffffc9000337be98 EFLAGS: 00000246
>>>>>>> ORIG_RAX: ffffffffffffff10
>>>>>>> [  309.030087] RAX: 0000000000000000 RBX: 0000000000000000 RCX:
>>>>>>> 0000000000000000
>>>>>>> [  309.030087] RDX: 0000000000000000 RSI: 0000000000000000 RDI:
>>>>>>> ffff88086d98a000
>>>>>>> [  309.030088] RBP: ffffc9000337be98 R08: ffff88046f8279a0 R09:
>>>>>>> ffff88046f827040
>>>>>>> [  309.030089] R10: ffff88086d98a000 R11: ffff88086d98a000 R12:
>>>>>>> 0000000000000000
>>>>>>> [  309.030089] R13: ffff88086d98a000 R14: ffff88086d98a000 R15:
>>>>>>> ffff88086d98a000
>>>>>>> [  309.030090]  </IRQ>
>>>>>>> [  309.030094]  arch_cpu_idle+0xa/0xc
>>>>>>> [  309.030095]  default_idle_call+0x19/0x1b
>>>>>>> [  309.030102]  do_idle+0xbc/0x196
>>>>>>> [  309.030104]  cpu_startup_entry+0x1d/0x20
>>>>>>> [  309.030105]  start_secondary+0xd8/0xdc
>>>>>>> [  309.030108]  secondary_startup_64+0x9f/0x9f
>>>>>>> [  309.030109] Code: cc 75 bd eb 35 48 89 df c6 05 c3 dc 74 00 01
>>>>>>> e8 3a 62 fe ff 44 89 e1 48 89 de 48 89 c2 48 c7 c7 0f 65 a4 81 31
>>>>>>> c0 e8 3d 4c b5 ff <0f> ff 48 8b 83 e0 01 00 00 48 89 df ff 50 78
>>>>>>> 48 8b 05 a0 bc 6a
>>>>>>> [  309.030128] ---[ end trace 9102cb25703ae2d9 ]---
>>>>>>>
>>>>>>>
>>>>>>> I just marked it as good - cause this problem above is differend -
>>>>>>> and im going to:
>>>>>>>
>>>>>>> git bisect good
>>>>>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> W dniu 2017-09-20 o 10:44, Paweł Staszewski pisze:
>>>>>>>> Trying to make video from ipmi :)
>>>>>>>>
>>>>>>>> with that results:
>>>>>>>>
>>>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258521
>>>>>>>>
>>>>>>>> catched two more lines where it starts - panic from 4.13.2.
>>>>>>>>
>>>>>>>>
>>>>>>>> Now will try tro do some bisection
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> W dniu 2017-09-20 o 09:58, Paweł Staszewski pisze:
>>>>>>>>> Hi
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Will try bisecting tonight
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> W dniu 2017-09-20 o 05:24, Eric Dumazet pisze:
>>>>>>>>>> On Wed, 2017-09-20 at 02:06 +0200, Paweł Staszewski wrote:
>>>>>>>>>>> Just checked kernel 4.13.2 and same problem
>>>>>>>>>>>
>>>>>>>>>>> Just after start all 6 bgp sessions - and kernel starts to
>>>>>>>>>>> learn routes
>>>>>>>>>>> it panic.
>>>>>>>>>>>
>>>>>>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258509
>>>>>>>>>>>
>>>>>>>>>> Unfortunately we have not enough information from these traces.
>>>>>>>>>>
>>>>>>>>>> Can you get a full stack trace ?
>>>>>>>>>>
>>>>>>>>>> Alternatively, can you bisect ?
>>>>>>>>>>
>>>>>>>>>> Thanks.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>
>

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Paweł Staszewski @ 2017-09-20 13:09 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Linux Kernel Network Developers
In-Reply-To: <1d2a316a-fc71-dae5-cd10-11defc7d2aeb@itcare.pl>

So far path for bisect was:

git bisect start
# bad: [ac7b75966c9c86426b55fe1c50ae148aa4571075] Merge tag 
'pinctrl-v4.13-1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
git bisect bad ac7b75966c9c86426b55fe1c50ae148aa4571075
# good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 'next' 
of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
# bad: [9cc9a5cb176ccb4f2cda5ac34da5a659926f125f] datapath: Avoid using 
stack larger than 1024.
git bisect bad 9cc9a5cb176ccb4f2cda5ac34da5a659926f125f
# good: [073cf9e20c333ab29744717a23f9e43ec7512a20] Merge branch 
'udp-reduce-cache-pressure'
git bisect good 073cf9e20c333ab29744717a23f9e43ec7512a20
# bad: [8abd5599a520e9f188a750f1bde9dde5fb856230] Merge branch 
's390-net-updates-part-2'
git bisect bad 8abd5599a520e9f188a750f1bde9dde5fb856230
# good: [2fae5d0e647c6470d206e72b5fc24972bb900f70] Merge branch 
'bpf-ctx-narrow'
git bisect good 2fae5d0e647c6470d206e72b5fc24972bb900f70
# good: [41500c3e2a19ffcf40a7158fce1774de08e26ba2] rds: tcp: remove 
cp_outgoing
git bisect good 41500c3e2a19ffcf40a7158fce1774de08e26ba2
# bad: [8917a777be3ba566377be05117f71b93a5fd909d] tcp: md5: add 
TCP_MD5SIG_EXT socket option to set a key address prefix
git bisect bad 8917a777be3ba566377be05117f71b93a5fd909d
# good: [4a6ce2b6f2ecabbddcfe47e7cf61dd0f00b10e36] net: introduce a new 
function dst_dev_put()
git bisect good 4a6ce2b6f2ecabbddcfe47e7cf61dd0f00b10e36
# bad: [a4c2fd7f78915a0d7c5275e7612e7793157a01f2] net: remove 
DST_NOCACHE flag
git bisect bad a4c2fd7f78915a0d7c5275e7612e7793157a01f2
# bad: [ad65a2f05695aced349e308193c6e2a6b1d87112] ipv6: call 
dst_hold_safe() properly
git bisect bad ad65a2f05695aced349e308193c6e2a6b1d87112

No PANIC

# good: [9df16efadd2a8a82731dc76ff656c771e261827f] ipv4: call 
dst_hold_safe() properly
git bisect good 9df16efadd2a8a82731dc76ff656c771e261827f

PANIC

# bad: [1cfb71eeb12047bcdbd3e6730ffed66e810a0855] ipv6: take 
dst->__refcnt for insertion into fib6 tree
git bisect bad 1cfb71eeb12047bcdbd3e6730ffed66e810a0855

PANIC

# bad: [b838d5e1c5b6e57b10ec8af2268824041e3ea911] ipv4: mark DST_NOGC 
and remove the operation of dst_free()
git bisect bad b838d5e1c5b6e57b10ec8af2268824041e3ea911
# first bad commit: [b838d5e1c5b6e57b10ec8af2268824041e3ea911] ipv4: 
mark DST_NOGC and remove the operation of dst_free()




W dniu 2017-09-20 o 15:05, Paweł Staszewski pisze:
> hmm
>
> But after
>
> b838d5e1c5b6e57b10ec8af2268824041e3ea911 is the first bad commit
> commit b838d5e1c5b6e57b10ec8af2268824041e3ea911
> Author: Wei Wang <weiwan@google.com>
> Date:   Sat Jun 17 10:42:32 2017 -0700
>
>     ipv4: mark DST_NOGC and remove the operation of dst_free()
>
>     With the previous preparation patches, we are ready to get rid of the
>     dst gc operation in ipv4 code and release dst based on refcnt only.
>     So this patch adds DST_NOGC flag for all IPv4 dst and remove the 
> calls
>     to dst_free().
>     At this point, all dst created in ipv4 code do not use the dst gc
>     anymore and will be destroyed at the point when refcnt drops to 0.
>
>     Signed-off-by: Wei Wang <weiwan@google.com>
>     Acked-by: Martin KaFai Lau <kafai@fb.com>
>     Signed-off-by: David S. Miller <davem@davemloft.net>
>
> :040000 040000 9b7e7fb641de6531fc7887473ca47ef7cb6a11da 
> 831a73b71d3df1755f3e24c0d3c86d7a93fd55e2 M      net
>
>
> Still panic - soo will back to past 3 steps and will try to get again 
> bisect without panic.
>
>
>
> W dniu 2017-09-20 o 14:49, Paweł Staszewski pisze:
>> And the last one
>>
>> git bisect good
>> Bisecting: 1 revision left to test after this (roughly 1 step)
>> [1cfb71eeb12047bcdbd3e6730ffed66e810a0855] ipv6: take dst->__refcnt 
>> for insertion into fib6 tree
>>
>> With this have kernel panic same as always
>>
>> git bisect bad
>> Bisecting: 0 revisions left to test after this (roughly 0 steps)
>> [b838d5e1c5b6e57b10ec8af2268824041e3ea911] ipv4: mark DST_NOGC and 
>> remove the operation of dst_free()
>>
>>
>>
>> W dniu 2017-09-20 o 14:23, Paweł Staszewski pisze:
>>> Almost there
>>>
>>> Bisecting: 6 revisions left to test after this (roughly 3 steps)
>>> [ad65a2f05695aced349e308193c6e2a6b1d87112] ipv6: call 
>>> dst_hold_safe() properly
>>>
>>>
>>>
>>> W dniu 2017-09-20 o 13:02, Paweł Staszewski pisze:
>>>> Ok resumed and soo far:
>>>>
>>>> Panic:
>>>>
>>>> # bad: [9cc9a5cb176ccb4f2cda5ac34da5a659926f125f] datapath: Avoid 
>>>> using stack larger than 1024.
>>>> git bisect bad 9cc9a5cb176ccb4f2cda5ac34da5a659926f125f
>>>>
>>>> No panic:
>>>>
>>>> # good: [073cf9e20c333ab29744717a23f9e43ec7512a20] Merge branch 
>>>> 'udp-reduce-cache-pressure'
>>>> git bisect good 073cf9e20c333ab29744717a23f9e43ec7512a20
>>>>
>>>>
>>>> W dniu 2017-09-20 o 12:22, Paweł Staszewski pisze:
>>>>> Soo far bisected and marked:
>>>>>
>>>>> git bisect start
>>>>> # bad: [07dd6cc1fff160143e82cf5df78c1db0b6e03355] Linux 4.13.2
>>>>> git bisect bad 07dd6cc1fff160143e82cf5df78c1db0b6e03355
>>>>> # good: [5d7d2e03e0f01a992e3521b180c3d3e67905f269] Linux 4.12.13
>>>>> git bisect good 5d7d2e03e0f01a992e3521b180c3d3e67905f269
>>>>> # good: [6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c] Linux 4.12
>>>>> git bisect good 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c
>>>>> # bad: [ac7b75966c9c86426b55fe1c50ae148aa4571075] Merge tag 
>>>>> 'pinctrl-v4.13-1' of 
>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
>>>>> git bisect bad ac7b75966c9c86426b55fe1c50ae148aa4571075
>>>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>>>>> 'next' of 
>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>>>>> 'next' of 
>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>>>>> 'next' of 
>>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>>>
>>>>>
>>>>>
>>>>> W dniu 2017-09-20 o 12:21, Paweł Staszewski pisze:
>>>>>> Ok kernel crashed with different panic that i didnt catch when i 
>>>>>> was doing bisect and now my bisection is broken :)
>>>>>>
>>>>>> git bisect good
>>>>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
>>>>>> error: Your local changes to the following files would be 
>>>>>> overwritten by checkout:
>>>>>>         Documentation/00-INDEX
>>>>>>         Documentation/ABI/stable/sysfs-class-udc
>>>>>> Documentation/ABI/testing/configfs-usb-gadget-uac1
>>>>>>         Documentation/ABI/testing/ima_policy
>>>>>>         Documentation/ABI/testing/sysfs-bus-iio
>>>>>> Documentation/ABI/testing/sysfs-bus-iio-meas-spec
>>>>>> Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
>>>>>>         Documentation/ABI/testing/sysfs-class-net
>>>>>> Documentation/ABI/testing/sysfs-class-power-twl4030
>>>>>>         Documentation/ABI/testing/sysfs-class-typec
>>>>>>         Documentation/DMA-API.txt
>>>>>>         Documentation/IRQ-domain.txt
>>>>>>         Documentation/Makefile
>>>>>>         Documentation/PCI/MSI-HOWTO.txt
>>>>>>         Documentation/RCU/00-INDEX
>>>>>> Documentation/RCU/Design/Requirements/Requirements.html
>>>>>>         Documentation/RCU/checklist.txt
>>>>>>         Documentation/admin-guide/README.rst
>>>>>>         Documentation/admin-guide/devices.txt
>>>>>>         Documentation/admin-guide/index.rst
>>>>>>         Documentation/admin-guide/kernel-parameters.txt
>>>>>>         Documentation/admin-guide/pm/cpufreq.rst
>>>>>>         Documentation/admin-guide/pm/intel_pstate.rst
>>>>>>         Documentation/admin-guide/ras.rst
>>>>>>         Documentation/arm/Atmel/README
>>>>>>         Documentation/block/biodoc.txt
>>>>>>         Documentation/conf.py
>>>>>>         Documentation/core-api/assoc_array.rst
>>>>>>         Documentation/core-api/atomic_ops.rst
>>>>>>         Documentation/core-api/index.rst
>>>>>>         Documentation/crypto/asymmetric-keys.txt
>>>>>>         Documentation/dev-tools/index.rst
>>>>>>         Documentation/dev-tools/sparse.rst
>>>>>> Documentation/devicetree/bindings/arm/amlogic.txt
>>>>>> Documentation/devicetree/bindings/arm/atmel-at91.txt
>>>>>>         Documentation/devicetree/bindings/arm/ccn.txt
>>>>>>         Documentation/devicetree/bindings/arm/cpus.txt
>>>>>>         Documentation/devicetree/bindings/arm/gemini.txt
>>>>>> Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
>>>>>> Documentation/devicetree/bindings/arm/keystone/keystone.txt
>>>>>> Documentation/devicetree/bindings/arm/mediatek.txt
>>>>>> Documentation/devicetree/bindings/arm/rockchip.txt
>>>>>> Documentation/devicetree/bindings/arm/shmobile.txt
>>>>>>         Documentation/devicetree/bindings/arm/tegra.txt
>>>>>> Documentation/devicetree/bindings/ata/ahci-fsl-qoriq.txt
>>>>>> Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt
>>>>>> Documentation/devicetree/bindings/clock/brcm,iproc-clocks.txt
>>>>>> Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
>>>>>> Documentation/devicetree/bindings/gpio/gpio_atmel.txt
>>>>>> Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt
>>>>>> Documentation/devicetree/bindings/iio/adc/renesas,gyroadc.txt
>>>>>> Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt
>>>>>> Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt
>>>>>> Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt 
>>>>>>
>>>>>> Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-vic.txt 
>>>>>>
>>>>>> Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt 
>>>>>>
>>>>>> Documentation/devicetree/bindings/leds/common.txt
>>>>>>         Documentation/devicetree/bindings/mfd/hi6421.txt
>>>>>> Documentation/devicetree/bindings/mfd/tps65910.txt
>>>>>> Documentation/devicetree/bindings/mmc/fsl-esdhc.txt
>>>>>> Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
>>>>>> Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt
>>>>>> Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
>>>>>> Documentation/devicetree/bindings/mtd/atmel-nand.txt
>>>>>> Documentation/devicetree/bindings/net/dsa/b53.txt
>>>>>> Documentation/devicetree/bindings/net/ethernet.txt
>>>>>>         Documentation/devicetree/bindings/net/macb.txt
>>>>>> Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
>>>>>> Documentation/devicetree/bindings/net/ti,wilink-st.txt
>>>>>> Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
>>>>>> Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt
>>>>>>         Documentation/devicetree/bindings/opp/opp.txt
>>>>>> Documentation/devicetree/bindings/phy/bcm-ns-usb3-phy.txt
>>>>>> Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
>>>>>> Documentation/devicetree/bindings/phy/meson8b-usb2-phy.txt
>>>>>> Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
>>>>>> Documentation/devicetree/bindings/power/rockchip-io-domain.txt
>>>>>> Documentation/devicetree/bindings/power/supply/bq27xxx.txt
>>>>>> Documentation/devicetree/bindings/property-units.txt
>>>>>> Documentation/devicetree/bindings/regulator/regulator.txt
>>>>>>         Documentation/devicetree/bindings/serial/8
>>>>>> error: The following untracked working tree files would be 
>>>>>> overwritten by checkout:
>>>>>>         Documentation/ABI/testing/sysfs-class-net-phydev
>>>>>>         Documentation/DocBook/.gitignore
>>>>>>         Documentation/DocBook/Makefile
>>>>>>         Documentation/DocBook/filesystems.tmpl
>>>>>>         Documentation/DocBook/kernel-hacking.tmpl
>>>>>>         Documentation/DocBook/kernel-locking.tmpl
>>>>>>         Documentation/DocBook/kgdb.tmpl
>>>>>>         Documentation/DocBook/libata.tmpl
>>>>>>         Documentation/DocBook/librs.tmpl
>>>>>>         Documentation/DocBook/lsm.tmpl
>>>>>>         Documentation/DocBook/mtdnand.tmpl
>>>>>>         Documentation/DocBook/networking.tmpl
>>>>>>         Documentation/DocBook/rapidio.tmpl
>>>>>>         Documentation/DocBook/s390-drivers.tmpl
>>>>>>         Documentation/DocBook/scsi.tmpl
>>>>>>         Documentation/DocBook/sh.tmpl
>>>>>>         Documentation/DocBook/stylesheet.xsl
>>>>>>         Documentation/DocBook/w1.tmpl
>>>>>>         Documentation/DocBook/z8530book.tmpl
>>>>>>         Documentation/Makefile.sphinx
>>>>>>         Documentation/RCU/trace.txt
>>>>>> Documentation/devicetree/bindings/i2c/i2c-mt6577.txt
>>>>>> Documentation/devicetree/bindings/misc/allwinner,syscon.txt
>>>>>> Documentation/devicetree/bindings/net/cortina.txt
>>>>>> Documentation/devicetree/bindings/net/dsa/ksz.txt
>>>>>> Documentation/devicetree/bindings/net/dwmac-sun8i.txt
>>>>>> Documentation/devicetree/bindings/net/qca,qca7000.txt
>>>>>> Documentation/devicetree/bindings/power/max8903-charger.txt
>>>>>> Documentation/devicetree/bindings/power_supply/maxim,max14656.txt
>>>>>> Documentation/devicetree/bindings/ptp/brcm,ptp-dte.txt
>>>>>> Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt
>>>>>>         Documentation/doc-guide/docbook.rst
>>>>>>         Documentation/networking/tls.txt
>>>>>>         Documentation/prctl/no_new_privs.txt
>>>>>>         Documentation/prctl/seccomp_filter.txt
>>>>>>         Documentation/security/00-INDEX
>>>>>>         Documentation/security/IMA-templates.txt
>>>>>>         Documentation/security/LSM.txt
>>>>>>         Documentation/security/LoadPin.txt
>>>>>>         Documentation/security/SELinux.txt
>>>>>>         Documentation/security/Smack.txt
>>>>>>         Documentation/security/Yama.txt
>>>>>>         Documentation/security/apparmor.txt
>>>>>>         Documentation/security/conf.py
>>>>>>         Documentation/security/credentials.txt
>>>>>>         Documentation/security/keys-ecryptfs.txt
>>>>>>         Documentation/security/keys-request-key.txt
>>>>>> Documentation/security/keys-trusted-encrypted.txt
>>>>>>         Documentation/security/keys.txt
>>>>>>         Documentation/security/self-protection.txt
>>>>>>         Documentation/security/tomoyo.txt
>>>>>>         Documentation/sphinx/convert_template.sed
>>>>>>         Documentation/sphinx/post_convert.sed
>>>>>>         Documentation/sphinx/tmplcvt
>>>>>>         Documentation/usb/typec.rst
>>>>>>         Documentation/usb/usb3-debug-port.rst
>>>>>>         arch/arm/boot/dts/rk1108-evb.dts
>>>>>>         arch/arm/boot/dts/rk1108.dtsi
>>>>>>         arch/arm/boot/dts/tegra20-whistler.dts
>>>>>>         arch/arm/mach-omap2/opp.c
>>>>>>         arch/arm/mach-omap2/pmu.c
>>>>>>         arch/ia64/include/asm/siginfo.h
>>>>>>         arch/m32r/include/uapi/asm/siginfo.h
>>>>>>         arch/microblaze/include/asm/bitops.h
>>>>>>         arch/microblaze/include/asm/bug.h
>>>>>>         arch/microblaze/include/asm/bugs.h
>>>>>>         arch/microblaze/include/asm/div64.h
>>>>>>         arch/microblaze/include/asm/emergency-restart.h
>>>>>>         arch/microblaze/include/asm/fb.h
>>>>>>         arch/microblaze/include/asm/hardirq.h
>>>>>>         arch/microblaze/include/asm/irq_regs.h
>>>>>>         arch/microblaze/include/asm/kdebug.h
>>>>>>         arch/microblaze/include/asm/kmap_types.h
>>>>>>         arch/microblaze/include/asm/linkage.h
>>>>>>         arch/microblaze/include/asm/local.h
>>>>>>         arch/microblaze/include/asm/local64.h
>>>>>>         arch/microblaze/include/asm/parport.h
>>>>>>         arch/microblaze/include/asm/percpu.h
>>>>>>         arch/microblaze/include/asm/serial.h
>>>>>>         arch/microblaze/include/asm/shmparam.h
>>>>>>         arch/microblaze/include/asm/topology.h
>>>>>>         arch/microblaze/include/asm/ucontext.h
>>>>>>         arch/microblaze/include/asm/vga.h
>>>>>>         arch/microblaze/include/asm/xor.h
>>>>>>         arch/microblaze/include/uapi/asm/bitsperlong.h
>>>>>>         arch/microblaze/include/uapi/asm/errno.h
>>>>>>         arch/microblaze/include/uapi/asm/fcntl.h
>>>>>>         arch/microblaze/include/uapi/asm/ioctl.h
>>>>>>         arch/microblaze/include/uapi/asm/ioctls.h
>>>>>>         arch/microblaze/include/uapi/asm/ipcbuf.h
>>>>>>         arch/microblaze/include/uapi/asm/kvm_para.h
>>>>>>         arch/microblaze/include/uapi/asm/mman.h
>>>>>>         arch/microblaze/include/uapi/asm/msgbuf.h
>>>>>>         arch/microblaze/include/uapi/asm/param.h
>>>>>>         arch/microblaze/include/uapi/asm/poll.h
>>>>>>         arch/microblaze/include/uapi/asm/resource.h
>>>>>>         arch/microblaze/include/uapi/asm/sembuf.h
>>>>>>         arch/microblaze/include/uapi/asm/shmbuf.h
>>>>>>         arch/microblaze/include/uapi/asm/siginfo.h
>>>>>>         arch/microblaze/include/uapi/asm/signal.h
>>>>>>         arch/microblaze/includ
>>>>>> Aborting
>>>>>>
>>>>>>
>>>>>>
>>>>>> W dniu 2017-09-20 o 11:45, Paweł Staszewski pisze:
>>>>>>> Ok looks like ending bisection
>>>>>>>
>>>>>>>
>>>>>>> Latest bisected kernel when there is no kernel panic 4.12.0+ 
>>>>>>> (from next)  - but only this warning:
>>>>>>>
>>>>>>> [  309.030019] NETDEV WATCHDOG: enp4s0f0 (ixgbe): transmit queue 
>>>>>>> 0 timed out
>>>>>>> [  309.030034] ------------[ cut here ]------------
>>>>>>> [  309.030040] WARNING: CPU: 35 PID: 0 at dev_watchdog+0xcf/0x139
>>>>>>> [  309.030041] Modules linked in: bonding ipmi_si 
>>>>>>> x86_pkg_temp_thermal
>>>>>>> [  309.030045] CPU: 35 PID: 0 Comm: swapper/35 Not tainted 
>>>>>>> 4.12.0+ #5
>>>>>>> [  309.030046] task: ffff88086d98a000 task.stack: ffffc90003378000
>>>>>>> [  309.030048] RIP: 0010:dev_watchdog+0xcf/0x139
>>>>>>> [  309.030049] RSP: 0018:ffff88087fbc3ea8 EFLAGS: 00010246
>>>>>>> [  309.030050] RAX: 000000000000003d RBX: ffff88046b680000 RCX: 
>>>>>>> 0000000000000000
>>>>>>> [  309.030050] RDX: ffff88087fbd2f01 RSI: 0000000000000000 RDI: 
>>>>>>> ffff88087fbcda08
>>>>>>> [  309.030051] RBP: ffff88087fbc3eb8 R08: 0000000000000000 R09: 
>>>>>>> ffff88087ff80a04
>>>>>>> [  309.030051] R10: 0000000000000000 R11: ffff88086d98a001 R12: 
>>>>>>> 0000000000000000
>>>>>>> [  309.030052] R13: ffff88087fbc3ef8 R14: ffff88086d98a000 R15: 
>>>>>>> ffffffff81c06008
>>>>>>> [  309.030053] FS:  0000000000000000(0000) 
>>>>>>> GS:ffff88087fbc0000(0000) knlGS:0000000000000000
>>>>>>> [  309.030054] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>>>>>> [  309.030054] CR2: 00007fba600f6098 CR3: 000000086b955000 CR4: 
>>>>>>> 00000000001406e0
>>>>>>> [  309.030055] Call Trace:
>>>>>>> [  309.030057]  <IRQ>
>>>>>>> [  309.030059]  ? netif_tx_lock+0x79/0x79
>>>>>>> [  309.030062]  call_timer_fn.isra.24+0x17/0x77
>>>>>>> [  309.030063]  run_timer_softirq+0x118/0x161
>>>>>>> [  309.030065]  ? netif_tx_lock+0x79/0x79
>>>>>>> [  309.030066]  ? ktime_get+0x2b/0x42
>>>>>>> [  309.030070]  ? lapic_next_deadline+0x21/0x27
>>>>>>> [  309.030073]  ? clockevents_program_event+0xa8/0xc5
>>>>>>> [  309.030076]  __do_softirq+0xa8/0x19d
>>>>>>> [  309.030078]  irq_exit+0x5d/0x6b
>>>>>>> [  309.030079]  smp_apic_timer_interrupt+0x2a/0x36
>>>>>>> [  309.030082]  apic_timer_interrupt+0x89/0x90
>>>>>>> [  309.030085] RIP: 0010:mwait_idle+0x4e/0x6a
>>>>>>> [  309.030086] RSP: 0018:ffffc9000337be98 EFLAGS: 00000246 
>>>>>>> ORIG_RAX: ffffffffffffff10
>>>>>>> [  309.030087] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 
>>>>>>> 0000000000000000
>>>>>>> [  309.030087] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 
>>>>>>> ffff88086d98a000
>>>>>>> [  309.030088] RBP: ffffc9000337be98 R08: ffff88046f8279a0 R09: 
>>>>>>> ffff88046f827040
>>>>>>> [  309.030089] R10: ffff88086d98a000 R11: ffff88086d98a000 R12: 
>>>>>>> 0000000000000000
>>>>>>> [  309.030089] R13: ffff88086d98a000 R14: ffff88086d98a000 R15: 
>>>>>>> ffff88086d98a000
>>>>>>> [  309.030090]  </IRQ>
>>>>>>> [  309.030094]  arch_cpu_idle+0xa/0xc
>>>>>>> [  309.030095]  default_idle_call+0x19/0x1b
>>>>>>> [  309.030102]  do_idle+0xbc/0x196
>>>>>>> [  309.030104]  cpu_startup_entry+0x1d/0x20
>>>>>>> [  309.030105]  start_secondary+0xd8/0xdc
>>>>>>> [  309.030108]  secondary_startup_64+0x9f/0x9f
>>>>>>> [  309.030109] Code: cc 75 bd eb 35 48 89 df c6 05 c3 dc 74 00 
>>>>>>> 01 e8 3a 62 fe ff 44 89 e1 48 89 de 48 89 c2 48 c7 c7 0f 65 a4 
>>>>>>> 81 31 c0 e8 3d 4c b5 ff <0f> ff 48 8b 83 e0 01 00 00 48 89 df ff 
>>>>>>> 50 78 48 8b 05 a0 bc 6a
>>>>>>> [  309.030128] ---[ end trace 9102cb25703ae2d9 ]---
>>>>>>>
>>>>>>>
>>>>>>> I just marked it as good - cause this problem above is differend 
>>>>>>> - and im going to:
>>>>>>>
>>>>>>> git bisect good
>>>>>>> Bisecting: 1787 revisions left to test after this (roughly 11 
>>>>>>> steps)
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> W dniu 2017-09-20 o 10:44, Paweł Staszewski pisze:
>>>>>>>> Trying to make video from ipmi :)
>>>>>>>>
>>>>>>>> with that results:
>>>>>>>>
>>>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258521
>>>>>>>>
>>>>>>>> catched two more lines where it starts - panic from 4.13.2.
>>>>>>>>
>>>>>>>>
>>>>>>>> Now will try tro do some bisection
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> W dniu 2017-09-20 o 09:58, Paweł Staszewski pisze:
>>>>>>>>> Hi
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Will try bisecting tonight
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> W dniu 2017-09-20 o 05:24, Eric Dumazet pisze:
>>>>>>>>>> On Wed, 2017-09-20 at 02:06 +0200, Paweł Staszewski wrote:
>>>>>>>>>>> Just checked kernel 4.13.2 and same problem
>>>>>>>>>>>
>>>>>>>>>>> Just after start all 6 bgp sessions - and kernel starts to 
>>>>>>>>>>> learn routes
>>>>>>>>>>> it panic.
>>>>>>>>>>>
>>>>>>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258509
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Unfortunately we have not enough information from these traces.
>>>>>>>>>>
>>>>>>>>>> Can you get a full stack trace ?
>>>>>>>>>>
>>>>>>>>>> Alternatively, can you bisect ?
>>>>>>>>>>
>>>>>>>>>> Thanks.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Eric Dumazet @ 2017-09-20 13:11 UTC (permalink / raw)
  To: Paweł Staszewski, Wei Wang; +Cc: Linux Kernel Network Developers, edumazet
In-Reply-To: <3324f95f-7686-81e0-a973-1a9220c918fe@itcare.pl>

Sorry for top-posting, but this is to give context to Wei, since Pawel
used a top posting way to report his bisection.

Wei, can you take a look at Pawel report ?

Crash happens in dst_destroy() at following :

if (dst->dev)
     dev_put(dst->dev); <<CRASH>>


dst->dev is not NULL, but netdev->pcpu_refcnt is NULL

65 ff 08                decl   %gs:(%rax)   // CRASH since rax = NULL



Pawel, please share your netdevices and routing setup  ?

Thanks !

On Wed, 2017-09-20 at 14:49 +0200, Paweł Staszewski wrote:
> And the last one
> 
> git bisect good
> Bisecting: 1 revision left to test after this (roughly 1 step)
> [1cfb71eeb12047bcdbd3e6730ffed66e810a0855] ipv6: take dst->__refcnt for 
> insertion into fib6 tree
> 
> With this have kernel panic same as always
> 
> git bisect bad
> Bisecting: 0 revisions left to test after this (roughly 0 steps)
> [b838d5e1c5b6e57b10ec8af2268824041e3ea911] ipv4: mark DST_NOGC and 
> remove the operation of dst_free()
> 
> 
> 
> W dniu 2017-09-20 o 14:23, Paweł Staszewski pisze:
> > Almost there
> >
> > Bisecting: 6 revisions left to test after this (roughly 3 steps)
> > [ad65a2f05695aced349e308193c6e2a6b1d87112] ipv6: call dst_hold_safe() 
> > properly
> >
> >
> >
> > W dniu 2017-09-20 o 13:02, Paweł Staszewski pisze:
> >> Ok resumed and soo far:
> >>
> >> Panic:
> >>
> >> # bad: [9cc9a5cb176ccb4f2cda5ac34da5a659926f125f] datapath: Avoid 
> >> using stack larger than 1024.
> >> git bisect bad 9cc9a5cb176ccb4f2cda5ac34da5a659926f125f
> >>
> >> No panic:
> >>
> >> # good: [073cf9e20c333ab29744717a23f9e43ec7512a20] Merge branch 
> >> 'udp-reduce-cache-pressure'
> >> git bisect good 073cf9e20c333ab29744717a23f9e43ec7512a20
> >>
> >>
> >> W dniu 2017-09-20 o 12:22, Paweł Staszewski pisze:
> >>> Soo far bisected and marked:
> >>>
> >>> git bisect start
> >>> # bad: [07dd6cc1fff160143e82cf5df78c1db0b6e03355] Linux 4.13.2
> >>> git bisect bad 07dd6cc1fff160143e82cf5df78c1db0b6e03355
> >>> # good: [5d7d2e03e0f01a992e3521b180c3d3e67905f269] Linux 4.12.13
> >>> git bisect good 5d7d2e03e0f01a992e3521b180c3d3e67905f269
> >>> # good: [6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c] Linux 4.12
> >>> git bisect good 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c
> >>> # bad: [ac7b75966c9c86426b55fe1c50ae148aa4571075] Merge tag 
> >>> 'pinctrl-v4.13-1' of 
> >>> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
> >>> git bisect bad ac7b75966c9c86426b55fe1c50ae148aa4571075
> >>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
> >>> 'next' of 
> >>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
> >>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
> >>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
> >>> 'next' of 
> >>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
> >>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
> >>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
> >>> 'next' of 
> >>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
> >>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
> >>>
> >>>
> >>>
> >>> W dniu 2017-09-20 o 12:21, Paweł Staszewski pisze:
> >>>> Ok kernel crashed with different panic that i didnt catch when i 
> >>>> was doing bisect and now my bisection is broken :)
> >>>>
> >>>> git bisect good
> >>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
> >>>> error: Your local changes to the following files would be 
> >>>> overwritten by checkout:
> >>>>         Documentation/00-INDEX
> >>>>         Documentation/ABI/stable/sysfs-class-udc
> >>>>         Documentation/ABI/testing/configfs-usb-gadget-uac1
> >>>>         Documentation/ABI/testing/ima_policy
> >>>>         Documentation/ABI/testing/sysfs-bus-iio
> >>>>         Documentation/ABI/testing/sysfs-bus-iio-meas-spec
> >>>>         Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
> >>>>         Documentation/ABI/testing/sysfs-class-net
> >>>>         Documentation/ABI/testing/sysfs-class-power-twl4030
> >>>>         Documentation/ABI/testing/sysfs-class-typec
> >>>>         Documentation/DMA-API.txt
> >>>>         Documentation/IRQ-domain.txt
> >>>>         Documentation/Makefile
> >>>>         Documentation/PCI/MSI-HOWTO.txt
> >>>>         Documentation/RCU/00-INDEX
> >>>> Documentation/RCU/Design/Requirements/Requirements.html
> >>>>         Documentation/RCU/checklist.txt
> >>>>         Documentation/admin-guide/README.rst
> >>>>         Documentation/admin-guide/devices.txt
> >>>>         Documentation/admin-guide/index.rst
> >>>>         Documentation/admin-guide/kernel-parameters.txt
> >>>>         Documentation/admin-guide/pm/cpufreq.rst
> >>>>         Documentation/admin-guide/pm/intel_pstate.rst
> >>>>         Documentation/admin-guide/ras.rst
> >>>>         Documentation/arm/Atmel/README
> >>>>         Documentation/block/biodoc.txt
> >>>>         Documentation/conf.py
> >>>>         Documentation/core-api/assoc_array.rst
> >>>>         Documentation/core-api/atomic_ops.rst
> >>>>         Documentation/core-api/index.rst
> >>>>         Documentation/crypto/asymmetric-keys.txt
> >>>>         Documentation/dev-tools/index.rst
> >>>>         Documentation/dev-tools/sparse.rst
> >>>>         Documentation/devicetree/bindings/arm/amlogic.txt
> >>>>         Documentation/devicetree/bindings/arm/atmel-at91.txt
> >>>>         Documentation/devicetree/bindings/arm/ccn.txt
> >>>>         Documentation/devicetree/bindings/arm/cpus.txt
> >>>>         Documentation/devicetree/bindings/arm/gemini.txt
> >>>> Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
> >>>> Documentation/devicetree/bindings/arm/keystone/keystone.txt
> >>>>         Documentation/devicetree/bindings/arm/mediatek.txt
> >>>>         Documentation/devicetree/bindings/arm/rockchip.txt
> >>>>         Documentation/devicetree/bindings/arm/shmobile.txt
> >>>>         Documentation/devicetree/bindings/arm/tegra.txt
> >>>> Documentation/devicetree/bindings/ata/ahci-fsl-qoriq.txt
> >>>> Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt
> >>>> Documentation/devicetree/bindings/clock/brcm,iproc-clocks.txt
> >>>> Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
> >>>> Documentation/devicetree/bindings/gpio/gpio_atmel.txt
> >>>> Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt
> >>>> Documentation/devicetree/bindings/iio/adc/renesas,gyroadc.txt
> >>>> Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt
> >>>> Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt
> >>>> Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt 
> >>>>
> >>>> Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-vic.txt 
> >>>>
> >>>> Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt 
> >>>>
> >>>>         Documentation/devicetree/bindings/leds/common.txt
> >>>>         Documentation/devicetree/bindings/mfd/hi6421.txt
> >>>>         Documentation/devicetree/bindings/mfd/tps65910.txt
> >>>>         Documentation/devicetree/bindings/mmc/fsl-esdhc.txt
> >>>>         Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
> >>>> Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt
> >>>> Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
> >>>>         Documentation/devicetree/bindings/mtd/atmel-nand.txt
> >>>>         Documentation/devicetree/bindings/net/dsa/b53.txt
> >>>>         Documentation/devicetree/bindings/net/ethernet.txt
> >>>>         Documentation/devicetree/bindings/net/macb.txt
> >>>> Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
> >>>> Documentation/devicetree/bindings/net/ti,wilink-st.txt
> >>>> Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
> >>>> Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt
> >>>>         Documentation/devicetree/bindings/opp/opp.txt
> >>>> Documentation/devicetree/bindings/phy/bcm-ns-usb3-phy.txt
> >>>> Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
> >>>> Documentation/devicetree/bindings/phy/meson8b-usb2-phy.txt
> >>>> Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
> >>>> Documentation/devicetree/bindings/power/rockchip-io-domain.txt
> >>>> Documentation/devicetree/bindings/power/supply/bq27xxx.txt
> >>>>         Documentation/devicetree/bindings/property-units.txt
> >>>> Documentation/devicetree/bindings/regulator/regulator.txt
> >>>>         Documentation/devicetree/bindings/serial/8
> >>>> error: The following untracked working tree files would be 
> >>>> overwritten by checkout:
> >>>>         Documentation/ABI/testing/sysfs-class-net-phydev
> >>>>         Documentation/DocBook/.gitignore
> >>>>         Documentation/DocBook/Makefile
> >>>>         Documentation/DocBook/filesystems.tmpl
> >>>>         Documentation/DocBook/kernel-hacking.tmpl
> >>>>         Documentation/DocBook/kernel-locking.tmpl
> >>>>         Documentation/DocBook/kgdb.tmpl
> >>>>         Documentation/DocBook/libata.tmpl
> >>>>         Documentation/DocBook/librs.tmpl
> >>>>         Documentation/DocBook/lsm.tmpl
> >>>>         Documentation/DocBook/mtdnand.tmpl
> >>>>         Documentation/DocBook/networking.tmpl
> >>>>         Documentation/DocBook/rapidio.tmpl
> >>>>         Documentation/DocBook/s390-drivers.tmpl
> >>>>         Documentation/DocBook/scsi.tmpl
> >>>>         Documentation/DocBook/sh.tmpl
> >>>>         Documentation/DocBook/stylesheet.xsl
> >>>>         Documentation/DocBook/w1.tmpl
> >>>>         Documentation/DocBook/z8530book.tmpl
> >>>>         Documentation/Makefile.sphinx
> >>>>         Documentation/RCU/trace.txt
> >>>>         Documentation/devicetree/bindings/i2c/i2c-mt6577.txt
> >>>> Documentation/devicetree/bindings/misc/allwinner,syscon.txt
> >>>>         Documentation/devicetree/bindings/net/cortina.txt
> >>>>         Documentation/devicetree/bindings/net/dsa/ksz.txt
> >>>> Documentation/devicetree/bindings/net/dwmac-sun8i.txt
> >>>> Documentation/devicetree/bindings/net/qca,qca7000.txt
> >>>> Documentation/devicetree/bindings/power/max8903-charger.txt
> >>>> Documentation/devicetree/bindings/power_supply/maxim,max14656.txt
> >>>> Documentation/devicetree/bindings/ptp/brcm,ptp-dte.txt
> >>>> Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt
> >>>>         Documentation/doc-guide/docbook.rst
> >>>>         Documentation/networking/tls.txt
> >>>>         Documentation/prctl/no_new_privs.txt
> >>>>         Documentation/prctl/seccomp_filter.txt
> >>>>         Documentation/security/00-INDEX
> >>>>         Documentation/security/IMA-templates.txt
> >>>>         Documentation/security/LSM.txt
> >>>>         Documentation/security/LoadPin.txt
> >>>>         Documentation/security/SELinux.txt
> >>>>         Documentation/security/Smack.txt
> >>>>         Documentation/security/Yama.txt
> >>>>         Documentation/security/apparmor.txt
> >>>>         Documentation/security/conf.py
> >>>>         Documentation/security/credentials.txt
> >>>>         Documentation/security/keys-ecryptfs.txt
> >>>>         Documentation/security/keys-request-key.txt
> >>>>         Documentation/security/keys-trusted-encrypted.txt
> >>>>         Documentation/security/keys.txt
> >>>>         Documentation/security/self-protection.txt
> >>>>         Documentation/security/tomoyo.txt
> >>>>         Documentation/sphinx/convert_template.sed
> >>>>         Documentation/sphinx/post_convert.sed
> >>>>         Documentation/sphinx/tmplcvt
> >>>>         Documentation/usb/typec.rst
> >>>>         Documentation/usb/usb3-debug-port.rst
> >>>>         arch/arm/boot/dts/rk1108-evb.dts
> >>>>         arch/arm/boot/dts/rk1108.dtsi
> >>>>         arch/arm/boot/dts/tegra20-whistler.dts
> >>>>         arch/arm/mach-omap2/opp.c
> >>>>         arch/arm/mach-omap2/pmu.c
> >>>>         arch/ia64/include/asm/siginfo.h
> >>>>         arch/m32r/include/uapi/asm/siginfo.h
> >>>>         arch/microblaze/include/asm/bitops.h
> >>>>         arch/microblaze/include/asm/bug.h
> >>>>         arch/microblaze/include/asm/bugs.h
> >>>>         arch/microblaze/include/asm/div64.h
> >>>>         arch/microblaze/include/asm/emergency-restart.h
> >>>>         arch/microblaze/include/asm/fb.h
> >>>>         arch/microblaze/include/asm/hardirq.h
> >>>>         arch/microblaze/include/asm/irq_regs.h
> >>>>         arch/microblaze/include/asm/kdebug.h
> >>>>         arch/microblaze/include/asm/kmap_types.h
> >>>>         arch/microblaze/include/asm/linkage.h
> >>>>         arch/microblaze/include/asm/local.h
> >>>>         arch/microblaze/include/asm/local64.h
> >>>>         arch/microblaze/include/asm/parport.h
> >>>>         arch/microblaze/include/asm/percpu.h
> >>>>         arch/microblaze/include/asm/serial.h
> >>>>         arch/microblaze/include/asm/shmparam.h
> >>>>         arch/microblaze/include/asm/topology.h
> >>>>         arch/microblaze/include/asm/ucontext.h
> >>>>         arch/microblaze/include/asm/vga.h
> >>>>         arch/microblaze/include/asm/xor.h
> >>>>         arch/microblaze/include/uapi/asm/bitsperlong.h
> >>>>         arch/microblaze/include/uapi/asm/errno.h
> >>>>         arch/microblaze/include/uapi/asm/fcntl.h
> >>>>         arch/microblaze/include/uapi/asm/ioctl.h
> >>>>         arch/microblaze/include/uapi/asm/ioctls.h
> >>>>         arch/microblaze/include/uapi/asm/ipcbuf.h
> >>>>         arch/microblaze/include/uapi/asm/kvm_para.h
> >>>>         arch/microblaze/include/uapi/asm/mman.h
> >>>>         arch/microblaze/include/uapi/asm/msgbuf.h
> >>>>         arch/microblaze/include/uapi/asm/param.h
> >>>>         arch/microblaze/include/uapi/asm/poll.h
> >>>>         arch/microblaze/include/uapi/asm/resource.h
> >>>>         arch/microblaze/include/uapi/asm/sembuf.h
> >>>>         arch/microblaze/include/uapi/asm/shmbuf.h
> >>>>         arch/microblaze/include/uapi/asm/siginfo.h
> >>>>         arch/microblaze/include/uapi/asm/signal.h
> >>>>         arch/microblaze/includ
> >>>> Aborting
> >>>>
> >>>>
> >>>>
> >>>> W dniu 2017-09-20 o 11:45, Paweł Staszewski pisze:
> >>>>> Ok looks like ending bisection
> >>>>>
> >>>>>
> >>>>> Latest bisected kernel when there is no kernel panic 4.12.0+ (from 
> >>>>> next)  - but only this warning:
> >>>>>
> >>>>> [  309.030019] NETDEV WATCHDOG: enp4s0f0 (ixgbe): transmit queue 0 
> >>>>> timed out
> >>>>> [  309.030034] ------------[ cut here ]------------
> >>>>> [  309.030040] WARNING: CPU: 35 PID: 0 at dev_watchdog+0xcf/0x139
> >>>>> [  309.030041] Modules linked in: bonding ipmi_si 
> >>>>> x86_pkg_temp_thermal
> >>>>> [  309.030045] CPU: 35 PID: 0 Comm: swapper/35 Not tainted 4.12.0+ #5
> >>>>> [  309.030046] task: ffff88086d98a000 task.stack: ffffc90003378000
> >>>>> [  309.030048] RIP: 0010:dev_watchdog+0xcf/0x139
> >>>>> [  309.030049] RSP: 0018:ffff88087fbc3ea8 EFLAGS: 00010246
> >>>>> [  309.030050] RAX: 000000000000003d RBX: ffff88046b680000 RCX: 
> >>>>> 0000000000000000
> >>>>> [  309.030050] RDX: ffff88087fbd2f01 RSI: 0000000000000000 RDI: 
> >>>>> ffff88087fbcda08
> >>>>> [  309.030051] RBP: ffff88087fbc3eb8 R08: 0000000000000000 R09: 
> >>>>> ffff88087ff80a04
> >>>>> [  309.030051] R10: 0000000000000000 R11: ffff88086d98a001 R12: 
> >>>>> 0000000000000000
> >>>>> [  309.030052] R13: ffff88087fbc3ef8 R14: ffff88086d98a000 R15: 
> >>>>> ffffffff81c06008
> >>>>> [  309.030053] FS:  0000000000000000(0000) 
> >>>>> GS:ffff88087fbc0000(0000) knlGS:0000000000000000
> >>>>> [  309.030054] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> >>>>> [  309.030054] CR2: 00007fba600f6098 CR3: 000000086b955000 CR4: 
> >>>>> 00000000001406e0
> >>>>> [  309.030055] Call Trace:
> >>>>> [  309.030057]  <IRQ>
> >>>>> [  309.030059]  ? netif_tx_lock+0x79/0x79
> >>>>> [  309.030062]  call_timer_fn.isra.24+0x17/0x77
> >>>>> [  309.030063]  run_timer_softirq+0x118/0x161
> >>>>> [  309.030065]  ? netif_tx_lock+0x79/0x79
> >>>>> [  309.030066]  ? ktime_get+0x2b/0x42
> >>>>> [  309.030070]  ? lapic_next_deadline+0x21/0x27
> >>>>> [  309.030073]  ? clockevents_program_event+0xa8/0xc5
> >>>>> [  309.030076]  __do_softirq+0xa8/0x19d
> >>>>> [  309.030078]  irq_exit+0x5d/0x6b
> >>>>> [  309.030079]  smp_apic_timer_interrupt+0x2a/0x36
> >>>>> [  309.030082]  apic_timer_interrupt+0x89/0x90
> >>>>> [  309.030085] RIP: 0010:mwait_idle+0x4e/0x6a
> >>>>> [  309.030086] RSP: 0018:ffffc9000337be98 EFLAGS: 00000246 
> >>>>> ORIG_RAX: ffffffffffffff10
> >>>>> [  309.030087] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 
> >>>>> 0000000000000000
> >>>>> [  309.030087] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 
> >>>>> ffff88086d98a000
> >>>>> [  309.030088] RBP: ffffc9000337be98 R08: ffff88046f8279a0 R09: 
> >>>>> ffff88046f827040
> >>>>> [  309.030089] R10: ffff88086d98a000 R11: ffff88086d98a000 R12: 
> >>>>> 0000000000000000
> >>>>> [  309.030089] R13: ffff88086d98a000 R14: ffff88086d98a000 R15: 
> >>>>> ffff88086d98a000
> >>>>> [  309.030090]  </IRQ>
> >>>>> [  309.030094]  arch_cpu_idle+0xa/0xc
> >>>>> [  309.030095]  default_idle_call+0x19/0x1b
> >>>>> [  309.030102]  do_idle+0xbc/0x196
> >>>>> [  309.030104]  cpu_startup_entry+0x1d/0x20
> >>>>> [  309.030105]  start_secondary+0xd8/0xdc
> >>>>> [  309.030108]  secondary_startup_64+0x9f/0x9f
> >>>>> [  309.030109] Code: cc 75 bd eb 35 48 89 df c6 05 c3 dc 74 00 01 
> >>>>> e8 3a 62 fe ff 44 89 e1 48 89 de 48 89 c2 48 c7 c7 0f 65 a4 81 31 
> >>>>> c0 e8 3d 4c b5 ff <0f> ff 48 8b 83 e0 01 00 00 48 89 df ff 50 78 
> >>>>> 48 8b 05 a0 bc 6a
> >>>>> [  309.030128] ---[ end trace 9102cb25703ae2d9 ]---
> >>>>>
> >>>>>
> >>>>> I just marked it as good - cause this problem above is differend - 
> >>>>> and im going to:
> >>>>>
> >>>>> git bisect good
> >>>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> W dniu 2017-09-20 o 10:44, Paweł Staszewski pisze:
> >>>>>> Trying to make video from ipmi :)
> >>>>>>
> >>>>>> with that results:
> >>>>>>
> >>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258521
> >>>>>>
> >>>>>> catched two more lines where it starts - panic from 4.13.2.
> >>>>>>
> >>>>>>
> >>>>>> Now will try tro do some bisection
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> W dniu 2017-09-20 o 09:58, Paweł Staszewski pisze:
> >>>>>>> Hi
> >>>>>>>
> >>>>>>>
> >>>>>>> Will try bisecting tonight
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> W dniu 2017-09-20 o 05:24, Eric Dumazet pisze:
> >>>>>>>> On Wed, 2017-09-20 at 02:06 +0200, Paweł Staszewski wrote:
> >>>>>>>>> Just checked kernel 4.13.2 and same problem
> >>>>>>>>>
> >>>>>>>>> Just after start all 6 bgp sessions - and kernel starts to 
> >>>>>>>>> learn routes
> >>>>>>>>> it panic.
> >>>>>>>>>
> >>>>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258509
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>> Unfortunately we have not enough information from these traces.
> >>>>>>>>
> >>>>>>>> Can you get a full stack trace ?
> >>>>>>>>
> >>>>>>>> Alternatively, can you bisect ?
> >>>>>>>>
> >>>>>>>> Thanks.
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>
> >>>
> >>
> >>
> >
> >
> 

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Paweł Staszewski @ 2017-09-20 13:05 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Linux Kernel Network Developers
In-Reply-To: <3324f95f-7686-81e0-a973-1a9220c918fe@itcare.pl>

hmm

But after

b838d5e1c5b6e57b10ec8af2268824041e3ea911 is the first bad commit
commit b838d5e1c5b6e57b10ec8af2268824041e3ea911
Author: Wei Wang <weiwan@google.com>
Date:   Sat Jun 17 10:42:32 2017 -0700

     ipv4: mark DST_NOGC and remove the operation of dst_free()

     With the previous preparation patches, we are ready to get rid of the
     dst gc operation in ipv4 code and release dst based on refcnt only.
     So this patch adds DST_NOGC flag for all IPv4 dst and remove the calls
     to dst_free().
     At this point, all dst created in ipv4 code do not use the dst gc
     anymore and will be destroyed at the point when refcnt drops to 0.

     Signed-off-by: Wei Wang <weiwan@google.com>
     Acked-by: Martin KaFai Lau <kafai@fb.com>
     Signed-off-by: David S. Miller <davem@davemloft.net>

:040000 040000 9b7e7fb641de6531fc7887473ca47ef7cb6a11da 
831a73b71d3df1755f3e24c0d3c86d7a93fd55e2 M      net


Still panic - soo will back to past 3 steps and will try to get again 
bisect without panic.



W dniu 2017-09-20 o 14:49, Paweł Staszewski pisze:
> And the last one
>
> git bisect good
> Bisecting: 1 revision left to test after this (roughly 1 step)
> [1cfb71eeb12047bcdbd3e6730ffed66e810a0855] ipv6: take dst->__refcnt 
> for insertion into fib6 tree
>
> With this have kernel panic same as always
>
> git bisect bad
> Bisecting: 0 revisions left to test after this (roughly 0 steps)
> [b838d5e1c5b6e57b10ec8af2268824041e3ea911] ipv4: mark DST_NOGC and 
> remove the operation of dst_free()
>
>
>
> W dniu 2017-09-20 o 14:23, Paweł Staszewski pisze:
>> Almost there
>>
>> Bisecting: 6 revisions left to test after this (roughly 3 steps)
>> [ad65a2f05695aced349e308193c6e2a6b1d87112] ipv6: call dst_hold_safe() 
>> properly
>>
>>
>>
>> W dniu 2017-09-20 o 13:02, Paweł Staszewski pisze:
>>> Ok resumed and soo far:
>>>
>>> Panic:
>>>
>>> # bad: [9cc9a5cb176ccb4f2cda5ac34da5a659926f125f] datapath: Avoid 
>>> using stack larger than 1024.
>>> git bisect bad 9cc9a5cb176ccb4f2cda5ac34da5a659926f125f
>>>
>>> No panic:
>>>
>>> # good: [073cf9e20c333ab29744717a23f9e43ec7512a20] Merge branch 
>>> 'udp-reduce-cache-pressure'
>>> git bisect good 073cf9e20c333ab29744717a23f9e43ec7512a20
>>>
>>>
>>> W dniu 2017-09-20 o 12:22, Paweł Staszewski pisze:
>>>> Soo far bisected and marked:
>>>>
>>>> git bisect start
>>>> # bad: [07dd6cc1fff160143e82cf5df78c1db0b6e03355] Linux 4.13.2
>>>> git bisect bad 07dd6cc1fff160143e82cf5df78c1db0b6e03355
>>>> # good: [5d7d2e03e0f01a992e3521b180c3d3e67905f269] Linux 4.12.13
>>>> git bisect good 5d7d2e03e0f01a992e3521b180c3d3e67905f269
>>>> # good: [6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c] Linux 4.12
>>>> git bisect good 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c
>>>> # bad: [ac7b75966c9c86426b55fe1c50ae148aa4571075] Merge tag 
>>>> 'pinctrl-v4.13-1' of 
>>>> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
>>>> git bisect bad ac7b75966c9c86426b55fe1c50ae148aa4571075
>>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>>>> 'next' of 
>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>>>> 'next' of 
>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>>>> 'next' of 
>>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>>
>>>>
>>>>
>>>> W dniu 2017-09-20 o 12:21, Paweł Staszewski pisze:
>>>>> Ok kernel crashed with different panic that i didnt catch when i 
>>>>> was doing bisect and now my bisection is broken :)
>>>>>
>>>>> git bisect good
>>>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
>>>>> error: Your local changes to the following files would be 
>>>>> overwritten by checkout:
>>>>>         Documentation/00-INDEX
>>>>>         Documentation/ABI/stable/sysfs-class-udc
>>>>>         Documentation/ABI/testing/configfs-usb-gadget-uac1
>>>>>         Documentation/ABI/testing/ima_policy
>>>>>         Documentation/ABI/testing/sysfs-bus-iio
>>>>>         Documentation/ABI/testing/sysfs-bus-iio-meas-spec
>>>>> Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
>>>>>         Documentation/ABI/testing/sysfs-class-net
>>>>> Documentation/ABI/testing/sysfs-class-power-twl4030
>>>>>         Documentation/ABI/testing/sysfs-class-typec
>>>>>         Documentation/DMA-API.txt
>>>>>         Documentation/IRQ-domain.txt
>>>>>         Documentation/Makefile
>>>>>         Documentation/PCI/MSI-HOWTO.txt
>>>>>         Documentation/RCU/00-INDEX
>>>>> Documentation/RCU/Design/Requirements/Requirements.html
>>>>>         Documentation/RCU/checklist.txt
>>>>>         Documentation/admin-guide/README.rst
>>>>>         Documentation/admin-guide/devices.txt
>>>>>         Documentation/admin-guide/index.rst
>>>>>         Documentation/admin-guide/kernel-parameters.txt
>>>>>         Documentation/admin-guide/pm/cpufreq.rst
>>>>>         Documentation/admin-guide/pm/intel_pstate.rst
>>>>>         Documentation/admin-guide/ras.rst
>>>>>         Documentation/arm/Atmel/README
>>>>>         Documentation/block/biodoc.txt
>>>>>         Documentation/conf.py
>>>>>         Documentation/core-api/assoc_array.rst
>>>>>         Documentation/core-api/atomic_ops.rst
>>>>>         Documentation/core-api/index.rst
>>>>>         Documentation/crypto/asymmetric-keys.txt
>>>>>         Documentation/dev-tools/index.rst
>>>>>         Documentation/dev-tools/sparse.rst
>>>>>         Documentation/devicetree/bindings/arm/amlogic.txt
>>>>> Documentation/devicetree/bindings/arm/atmel-at91.txt
>>>>>         Documentation/devicetree/bindings/arm/ccn.txt
>>>>>         Documentation/devicetree/bindings/arm/cpus.txt
>>>>>         Documentation/devicetree/bindings/arm/gemini.txt
>>>>> Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
>>>>> Documentation/devicetree/bindings/arm/keystone/keystone.txt
>>>>>         Documentation/devicetree/bindings/arm/mediatek.txt
>>>>>         Documentation/devicetree/bindings/arm/rockchip.txt
>>>>>         Documentation/devicetree/bindings/arm/shmobile.txt
>>>>>         Documentation/devicetree/bindings/arm/tegra.txt
>>>>> Documentation/devicetree/bindings/ata/ahci-fsl-qoriq.txt
>>>>> Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt
>>>>> Documentation/devicetree/bindings/clock/brcm,iproc-clocks.txt
>>>>> Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
>>>>> Documentation/devicetree/bindings/gpio/gpio_atmel.txt
>>>>> Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt
>>>>> Documentation/devicetree/bindings/iio/adc/renesas,gyroadc.txt
>>>>> Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt
>>>>> Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt
>>>>> Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt 
>>>>>
>>>>> Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-vic.txt 
>>>>>
>>>>> Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt 
>>>>>
>>>>>         Documentation/devicetree/bindings/leds/common.txt
>>>>>         Documentation/devicetree/bindings/mfd/hi6421.txt
>>>>>         Documentation/devicetree/bindings/mfd/tps65910.txt
>>>>> Documentation/devicetree/bindings/mmc/fsl-esdhc.txt
>>>>> Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
>>>>> Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt
>>>>> Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
>>>>> Documentation/devicetree/bindings/mtd/atmel-nand.txt
>>>>>         Documentation/devicetree/bindings/net/dsa/b53.txt
>>>>>         Documentation/devicetree/bindings/net/ethernet.txt
>>>>>         Documentation/devicetree/bindings/net/macb.txt
>>>>> Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
>>>>> Documentation/devicetree/bindings/net/ti,wilink-st.txt
>>>>> Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
>>>>> Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt
>>>>>         Documentation/devicetree/bindings/opp/opp.txt
>>>>> Documentation/devicetree/bindings/phy/bcm-ns-usb3-phy.txt
>>>>> Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
>>>>> Documentation/devicetree/bindings/phy/meson8b-usb2-phy.txt
>>>>> Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
>>>>> Documentation/devicetree/bindings/power/rockchip-io-domain.txt
>>>>> Documentation/devicetree/bindings/power/supply/bq27xxx.txt
>>>>> Documentation/devicetree/bindings/property-units.txt
>>>>> Documentation/devicetree/bindings/regulator/regulator.txt
>>>>>         Documentation/devicetree/bindings/serial/8
>>>>> error: The following untracked working tree files would be 
>>>>> overwritten by checkout:
>>>>>         Documentation/ABI/testing/sysfs-class-net-phydev
>>>>>         Documentation/DocBook/.gitignore
>>>>>         Documentation/DocBook/Makefile
>>>>>         Documentation/DocBook/filesystems.tmpl
>>>>>         Documentation/DocBook/kernel-hacking.tmpl
>>>>>         Documentation/DocBook/kernel-locking.tmpl
>>>>>         Documentation/DocBook/kgdb.tmpl
>>>>>         Documentation/DocBook/libata.tmpl
>>>>>         Documentation/DocBook/librs.tmpl
>>>>>         Documentation/DocBook/lsm.tmpl
>>>>>         Documentation/DocBook/mtdnand.tmpl
>>>>>         Documentation/DocBook/networking.tmpl
>>>>>         Documentation/DocBook/rapidio.tmpl
>>>>>         Documentation/DocBook/s390-drivers.tmpl
>>>>>         Documentation/DocBook/scsi.tmpl
>>>>>         Documentation/DocBook/sh.tmpl
>>>>>         Documentation/DocBook/stylesheet.xsl
>>>>>         Documentation/DocBook/w1.tmpl
>>>>>         Documentation/DocBook/z8530book.tmpl
>>>>>         Documentation/Makefile.sphinx
>>>>>         Documentation/RCU/trace.txt
>>>>> Documentation/devicetree/bindings/i2c/i2c-mt6577.txt
>>>>> Documentation/devicetree/bindings/misc/allwinner,syscon.txt
>>>>>         Documentation/devicetree/bindings/net/cortina.txt
>>>>>         Documentation/devicetree/bindings/net/dsa/ksz.txt
>>>>> Documentation/devicetree/bindings/net/dwmac-sun8i.txt
>>>>> Documentation/devicetree/bindings/net/qca,qca7000.txt
>>>>> Documentation/devicetree/bindings/power/max8903-charger.txt
>>>>> Documentation/devicetree/bindings/power_supply/maxim,max14656.txt
>>>>> Documentation/devicetree/bindings/ptp/brcm,ptp-dte.txt
>>>>> Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt
>>>>>         Documentation/doc-guide/docbook.rst
>>>>>         Documentation/networking/tls.txt
>>>>>         Documentation/prctl/no_new_privs.txt
>>>>>         Documentation/prctl/seccomp_filter.txt
>>>>>         Documentation/security/00-INDEX
>>>>>         Documentation/security/IMA-templates.txt
>>>>>         Documentation/security/LSM.txt
>>>>>         Documentation/security/LoadPin.txt
>>>>>         Documentation/security/SELinux.txt
>>>>>         Documentation/security/Smack.txt
>>>>>         Documentation/security/Yama.txt
>>>>>         Documentation/security/apparmor.txt
>>>>>         Documentation/security/conf.py
>>>>>         Documentation/security/credentials.txt
>>>>>         Documentation/security/keys-ecryptfs.txt
>>>>>         Documentation/security/keys-request-key.txt
>>>>>         Documentation/security/keys-trusted-encrypted.txt
>>>>>         Documentation/security/keys.txt
>>>>>         Documentation/security/self-protection.txt
>>>>>         Documentation/security/tomoyo.txt
>>>>>         Documentation/sphinx/convert_template.sed
>>>>>         Documentation/sphinx/post_convert.sed
>>>>>         Documentation/sphinx/tmplcvt
>>>>>         Documentation/usb/typec.rst
>>>>>         Documentation/usb/usb3-debug-port.rst
>>>>>         arch/arm/boot/dts/rk1108-evb.dts
>>>>>         arch/arm/boot/dts/rk1108.dtsi
>>>>>         arch/arm/boot/dts/tegra20-whistler.dts
>>>>>         arch/arm/mach-omap2/opp.c
>>>>>         arch/arm/mach-omap2/pmu.c
>>>>>         arch/ia64/include/asm/siginfo.h
>>>>>         arch/m32r/include/uapi/asm/siginfo.h
>>>>>         arch/microblaze/include/asm/bitops.h
>>>>>         arch/microblaze/include/asm/bug.h
>>>>>         arch/microblaze/include/asm/bugs.h
>>>>>         arch/microblaze/include/asm/div64.h
>>>>>         arch/microblaze/include/asm/emergency-restart.h
>>>>>         arch/microblaze/include/asm/fb.h
>>>>>         arch/microblaze/include/asm/hardirq.h
>>>>>         arch/microblaze/include/asm/irq_regs.h
>>>>>         arch/microblaze/include/asm/kdebug.h
>>>>>         arch/microblaze/include/asm/kmap_types.h
>>>>>         arch/microblaze/include/asm/linkage.h
>>>>>         arch/microblaze/include/asm/local.h
>>>>>         arch/microblaze/include/asm/local64.h
>>>>>         arch/microblaze/include/asm/parport.h
>>>>>         arch/microblaze/include/asm/percpu.h
>>>>>         arch/microblaze/include/asm/serial.h
>>>>>         arch/microblaze/include/asm/shmparam.h
>>>>>         arch/microblaze/include/asm/topology.h
>>>>>         arch/microblaze/include/asm/ucontext.h
>>>>>         arch/microblaze/include/asm/vga.h
>>>>>         arch/microblaze/include/asm/xor.h
>>>>>         arch/microblaze/include/uapi/asm/bitsperlong.h
>>>>>         arch/microblaze/include/uapi/asm/errno.h
>>>>>         arch/microblaze/include/uapi/asm/fcntl.h
>>>>>         arch/microblaze/include/uapi/asm/ioctl.h
>>>>>         arch/microblaze/include/uapi/asm/ioctls.h
>>>>>         arch/microblaze/include/uapi/asm/ipcbuf.h
>>>>>         arch/microblaze/include/uapi/asm/kvm_para.h
>>>>>         arch/microblaze/include/uapi/asm/mman.h
>>>>>         arch/microblaze/include/uapi/asm/msgbuf.h
>>>>>         arch/microblaze/include/uapi/asm/param.h
>>>>>         arch/microblaze/include/uapi/asm/poll.h
>>>>>         arch/microblaze/include/uapi/asm/resource.h
>>>>>         arch/microblaze/include/uapi/asm/sembuf.h
>>>>>         arch/microblaze/include/uapi/asm/shmbuf.h
>>>>>         arch/microblaze/include/uapi/asm/siginfo.h
>>>>>         arch/microblaze/include/uapi/asm/signal.h
>>>>>         arch/microblaze/includ
>>>>> Aborting
>>>>>
>>>>>
>>>>>
>>>>> W dniu 2017-09-20 o 11:45, Paweł Staszewski pisze:
>>>>>> Ok looks like ending bisection
>>>>>>
>>>>>>
>>>>>> Latest bisected kernel when there is no kernel panic 4.12.0+ 
>>>>>> (from next)  - but only this warning:
>>>>>>
>>>>>> [  309.030019] NETDEV WATCHDOG: enp4s0f0 (ixgbe): transmit queue 
>>>>>> 0 timed out
>>>>>> [  309.030034] ------------[ cut here ]------------
>>>>>> [  309.030040] WARNING: CPU: 35 PID: 0 at dev_watchdog+0xcf/0x139
>>>>>> [  309.030041] Modules linked in: bonding ipmi_si 
>>>>>> x86_pkg_temp_thermal
>>>>>> [  309.030045] CPU: 35 PID: 0 Comm: swapper/35 Not tainted 
>>>>>> 4.12.0+ #5
>>>>>> [  309.030046] task: ffff88086d98a000 task.stack: ffffc90003378000
>>>>>> [  309.030048] RIP: 0010:dev_watchdog+0xcf/0x139
>>>>>> [  309.030049] RSP: 0018:ffff88087fbc3ea8 EFLAGS: 00010246
>>>>>> [  309.030050] RAX: 000000000000003d RBX: ffff88046b680000 RCX: 
>>>>>> 0000000000000000
>>>>>> [  309.030050] RDX: ffff88087fbd2f01 RSI: 0000000000000000 RDI: 
>>>>>> ffff88087fbcda08
>>>>>> [  309.030051] RBP: ffff88087fbc3eb8 R08: 0000000000000000 R09: 
>>>>>> ffff88087ff80a04
>>>>>> [  309.030051] R10: 0000000000000000 R11: ffff88086d98a001 R12: 
>>>>>> 0000000000000000
>>>>>> [  309.030052] R13: ffff88087fbc3ef8 R14: ffff88086d98a000 R15: 
>>>>>> ffffffff81c06008
>>>>>> [  309.030053] FS:  0000000000000000(0000) 
>>>>>> GS:ffff88087fbc0000(0000) knlGS:0000000000000000
>>>>>> [  309.030054] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>>>>> [  309.030054] CR2: 00007fba600f6098 CR3: 000000086b955000 CR4: 
>>>>>> 00000000001406e0
>>>>>> [  309.030055] Call Trace:
>>>>>> [  309.030057]  <IRQ>
>>>>>> [  309.030059]  ? netif_tx_lock+0x79/0x79
>>>>>> [  309.030062]  call_timer_fn.isra.24+0x17/0x77
>>>>>> [  309.030063]  run_timer_softirq+0x118/0x161
>>>>>> [  309.030065]  ? netif_tx_lock+0x79/0x79
>>>>>> [  309.030066]  ? ktime_get+0x2b/0x42
>>>>>> [  309.030070]  ? lapic_next_deadline+0x21/0x27
>>>>>> [  309.030073]  ? clockevents_program_event+0xa8/0xc5
>>>>>> [  309.030076]  __do_softirq+0xa8/0x19d
>>>>>> [  309.030078]  irq_exit+0x5d/0x6b
>>>>>> [  309.030079]  smp_apic_timer_interrupt+0x2a/0x36
>>>>>> [  309.030082]  apic_timer_interrupt+0x89/0x90
>>>>>> [  309.030085] RIP: 0010:mwait_idle+0x4e/0x6a
>>>>>> [  309.030086] RSP: 0018:ffffc9000337be98 EFLAGS: 00000246 
>>>>>> ORIG_RAX: ffffffffffffff10
>>>>>> [  309.030087] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 
>>>>>> 0000000000000000
>>>>>> [  309.030087] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 
>>>>>> ffff88086d98a000
>>>>>> [  309.030088] RBP: ffffc9000337be98 R08: ffff88046f8279a0 R09: 
>>>>>> ffff88046f827040
>>>>>> [  309.030089] R10: ffff88086d98a000 R11: ffff88086d98a000 R12: 
>>>>>> 0000000000000000
>>>>>> [  309.030089] R13: ffff88086d98a000 R14: ffff88086d98a000 R15: 
>>>>>> ffff88086d98a000
>>>>>> [  309.030090]  </IRQ>
>>>>>> [  309.030094]  arch_cpu_idle+0xa/0xc
>>>>>> [  309.030095]  default_idle_call+0x19/0x1b
>>>>>> [  309.030102]  do_idle+0xbc/0x196
>>>>>> [  309.030104]  cpu_startup_entry+0x1d/0x20
>>>>>> [  309.030105]  start_secondary+0xd8/0xdc
>>>>>> [  309.030108]  secondary_startup_64+0x9f/0x9f
>>>>>> [  309.030109] Code: cc 75 bd eb 35 48 89 df c6 05 c3 dc 74 00 01 
>>>>>> e8 3a 62 fe ff 44 89 e1 48 89 de 48 89 c2 48 c7 c7 0f 65 a4 81 31 
>>>>>> c0 e8 3d 4c b5 ff <0f> ff 48 8b 83 e0 01 00 00 48 89 df ff 50 78 
>>>>>> 48 8b 05 a0 bc 6a
>>>>>> [  309.030128] ---[ end trace 9102cb25703ae2d9 ]---
>>>>>>
>>>>>>
>>>>>> I just marked it as good - cause this problem above is differend 
>>>>>> - and im going to:
>>>>>>
>>>>>> git bisect good
>>>>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> W dniu 2017-09-20 o 10:44, Paweł Staszewski pisze:
>>>>>>> Trying to make video from ipmi :)
>>>>>>>
>>>>>>> with that results:
>>>>>>>
>>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258521
>>>>>>>
>>>>>>> catched two more lines where it starts - panic from 4.13.2.
>>>>>>>
>>>>>>>
>>>>>>> Now will try tro do some bisection
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> W dniu 2017-09-20 o 09:58, Paweł Staszewski pisze:
>>>>>>>> Hi
>>>>>>>>
>>>>>>>>
>>>>>>>> Will try bisecting tonight
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> W dniu 2017-09-20 o 05:24, Eric Dumazet pisze:
>>>>>>>>> On Wed, 2017-09-20 at 02:06 +0200, Paweł Staszewski wrote:
>>>>>>>>>> Just checked kernel 4.13.2 and same problem
>>>>>>>>>>
>>>>>>>>>> Just after start all 6 bgp sessions - and kernel starts to 
>>>>>>>>>> learn routes
>>>>>>>>>> it panic.
>>>>>>>>>>
>>>>>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258509
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Unfortunately we have not enough information from these traces.
>>>>>>>>>
>>>>>>>>> Can you get a full stack trace ?
>>>>>>>>>
>>>>>>>>> Alternatively, can you bisect ?
>>>>>>>>>
>>>>>>>>> Thanks.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Paweł Staszewski @ 2017-09-20 12:49 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Linux Kernel Network Developers
In-Reply-To: <cfc04422-51bd-0a28-6a8c-6b57179e8af2@itcare.pl>

And the last one

git bisect good
Bisecting: 1 revision left to test after this (roughly 1 step)
[1cfb71eeb12047bcdbd3e6730ffed66e810a0855] ipv6: take dst->__refcnt for 
insertion into fib6 tree

With this have kernel panic same as always

git bisect bad
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[b838d5e1c5b6e57b10ec8af2268824041e3ea911] ipv4: mark DST_NOGC and 
remove the operation of dst_free()



W dniu 2017-09-20 o 14:23, Paweł Staszewski pisze:
> Almost there
>
> Bisecting: 6 revisions left to test after this (roughly 3 steps)
> [ad65a2f05695aced349e308193c6e2a6b1d87112] ipv6: call dst_hold_safe() 
> properly
>
>
>
> W dniu 2017-09-20 o 13:02, Paweł Staszewski pisze:
>> Ok resumed and soo far:
>>
>> Panic:
>>
>> # bad: [9cc9a5cb176ccb4f2cda5ac34da5a659926f125f] datapath: Avoid 
>> using stack larger than 1024.
>> git bisect bad 9cc9a5cb176ccb4f2cda5ac34da5a659926f125f
>>
>> No panic:
>>
>> # good: [073cf9e20c333ab29744717a23f9e43ec7512a20] Merge branch 
>> 'udp-reduce-cache-pressure'
>> git bisect good 073cf9e20c333ab29744717a23f9e43ec7512a20
>>
>>
>> W dniu 2017-09-20 o 12:22, Paweł Staszewski pisze:
>>> Soo far bisected and marked:
>>>
>>> git bisect start
>>> # bad: [07dd6cc1fff160143e82cf5df78c1db0b6e03355] Linux 4.13.2
>>> git bisect bad 07dd6cc1fff160143e82cf5df78c1db0b6e03355
>>> # good: [5d7d2e03e0f01a992e3521b180c3d3e67905f269] Linux 4.12.13
>>> git bisect good 5d7d2e03e0f01a992e3521b180c3d3e67905f269
>>> # good: [6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c] Linux 4.12
>>> git bisect good 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c
>>> # bad: [ac7b75966c9c86426b55fe1c50ae148aa4571075] Merge tag 
>>> 'pinctrl-v4.13-1' of 
>>> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
>>> git bisect bad ac7b75966c9c86426b55fe1c50ae148aa4571075
>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>>> 'next' of 
>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>>> 'next' of 
>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>>> 'next' of 
>>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>>
>>>
>>>
>>> W dniu 2017-09-20 o 12:21, Paweł Staszewski pisze:
>>>> Ok kernel crashed with different panic that i didnt catch when i 
>>>> was doing bisect and now my bisection is broken :)
>>>>
>>>> git bisect good
>>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
>>>> error: Your local changes to the following files would be 
>>>> overwritten by checkout:
>>>>         Documentation/00-INDEX
>>>>         Documentation/ABI/stable/sysfs-class-udc
>>>>         Documentation/ABI/testing/configfs-usb-gadget-uac1
>>>>         Documentation/ABI/testing/ima_policy
>>>>         Documentation/ABI/testing/sysfs-bus-iio
>>>>         Documentation/ABI/testing/sysfs-bus-iio-meas-spec
>>>>         Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
>>>>         Documentation/ABI/testing/sysfs-class-net
>>>>         Documentation/ABI/testing/sysfs-class-power-twl4030
>>>>         Documentation/ABI/testing/sysfs-class-typec
>>>>         Documentation/DMA-API.txt
>>>>         Documentation/IRQ-domain.txt
>>>>         Documentation/Makefile
>>>>         Documentation/PCI/MSI-HOWTO.txt
>>>>         Documentation/RCU/00-INDEX
>>>> Documentation/RCU/Design/Requirements/Requirements.html
>>>>         Documentation/RCU/checklist.txt
>>>>         Documentation/admin-guide/README.rst
>>>>         Documentation/admin-guide/devices.txt
>>>>         Documentation/admin-guide/index.rst
>>>>         Documentation/admin-guide/kernel-parameters.txt
>>>>         Documentation/admin-guide/pm/cpufreq.rst
>>>>         Documentation/admin-guide/pm/intel_pstate.rst
>>>>         Documentation/admin-guide/ras.rst
>>>>         Documentation/arm/Atmel/README
>>>>         Documentation/block/biodoc.txt
>>>>         Documentation/conf.py
>>>>         Documentation/core-api/assoc_array.rst
>>>>         Documentation/core-api/atomic_ops.rst
>>>>         Documentation/core-api/index.rst
>>>>         Documentation/crypto/asymmetric-keys.txt
>>>>         Documentation/dev-tools/index.rst
>>>>         Documentation/dev-tools/sparse.rst
>>>>         Documentation/devicetree/bindings/arm/amlogic.txt
>>>>         Documentation/devicetree/bindings/arm/atmel-at91.txt
>>>>         Documentation/devicetree/bindings/arm/ccn.txt
>>>>         Documentation/devicetree/bindings/arm/cpus.txt
>>>>         Documentation/devicetree/bindings/arm/gemini.txt
>>>> Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
>>>> Documentation/devicetree/bindings/arm/keystone/keystone.txt
>>>>         Documentation/devicetree/bindings/arm/mediatek.txt
>>>>         Documentation/devicetree/bindings/arm/rockchip.txt
>>>>         Documentation/devicetree/bindings/arm/shmobile.txt
>>>>         Documentation/devicetree/bindings/arm/tegra.txt
>>>> Documentation/devicetree/bindings/ata/ahci-fsl-qoriq.txt
>>>> Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt
>>>> Documentation/devicetree/bindings/clock/brcm,iproc-clocks.txt
>>>> Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
>>>> Documentation/devicetree/bindings/gpio/gpio_atmel.txt
>>>> Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt
>>>> Documentation/devicetree/bindings/iio/adc/renesas,gyroadc.txt
>>>> Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt
>>>> Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt
>>>> Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt 
>>>>
>>>> Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-vic.txt 
>>>>
>>>> Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt 
>>>>
>>>>         Documentation/devicetree/bindings/leds/common.txt
>>>>         Documentation/devicetree/bindings/mfd/hi6421.txt
>>>>         Documentation/devicetree/bindings/mfd/tps65910.txt
>>>>         Documentation/devicetree/bindings/mmc/fsl-esdhc.txt
>>>>         Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
>>>> Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt
>>>> Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
>>>>         Documentation/devicetree/bindings/mtd/atmel-nand.txt
>>>>         Documentation/devicetree/bindings/net/dsa/b53.txt
>>>>         Documentation/devicetree/bindings/net/ethernet.txt
>>>>         Documentation/devicetree/bindings/net/macb.txt
>>>> Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
>>>> Documentation/devicetree/bindings/net/ti,wilink-st.txt
>>>> Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
>>>> Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt
>>>>         Documentation/devicetree/bindings/opp/opp.txt
>>>> Documentation/devicetree/bindings/phy/bcm-ns-usb3-phy.txt
>>>> Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
>>>> Documentation/devicetree/bindings/phy/meson8b-usb2-phy.txt
>>>> Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
>>>> Documentation/devicetree/bindings/power/rockchip-io-domain.txt
>>>> Documentation/devicetree/bindings/power/supply/bq27xxx.txt
>>>>         Documentation/devicetree/bindings/property-units.txt
>>>> Documentation/devicetree/bindings/regulator/regulator.txt
>>>>         Documentation/devicetree/bindings/serial/8
>>>> error: The following untracked working tree files would be 
>>>> overwritten by checkout:
>>>>         Documentation/ABI/testing/sysfs-class-net-phydev
>>>>         Documentation/DocBook/.gitignore
>>>>         Documentation/DocBook/Makefile
>>>>         Documentation/DocBook/filesystems.tmpl
>>>>         Documentation/DocBook/kernel-hacking.tmpl
>>>>         Documentation/DocBook/kernel-locking.tmpl
>>>>         Documentation/DocBook/kgdb.tmpl
>>>>         Documentation/DocBook/libata.tmpl
>>>>         Documentation/DocBook/librs.tmpl
>>>>         Documentation/DocBook/lsm.tmpl
>>>>         Documentation/DocBook/mtdnand.tmpl
>>>>         Documentation/DocBook/networking.tmpl
>>>>         Documentation/DocBook/rapidio.tmpl
>>>>         Documentation/DocBook/s390-drivers.tmpl
>>>>         Documentation/DocBook/scsi.tmpl
>>>>         Documentation/DocBook/sh.tmpl
>>>>         Documentation/DocBook/stylesheet.xsl
>>>>         Documentation/DocBook/w1.tmpl
>>>>         Documentation/DocBook/z8530book.tmpl
>>>>         Documentation/Makefile.sphinx
>>>>         Documentation/RCU/trace.txt
>>>>         Documentation/devicetree/bindings/i2c/i2c-mt6577.txt
>>>> Documentation/devicetree/bindings/misc/allwinner,syscon.txt
>>>>         Documentation/devicetree/bindings/net/cortina.txt
>>>>         Documentation/devicetree/bindings/net/dsa/ksz.txt
>>>> Documentation/devicetree/bindings/net/dwmac-sun8i.txt
>>>> Documentation/devicetree/bindings/net/qca,qca7000.txt
>>>> Documentation/devicetree/bindings/power/max8903-charger.txt
>>>> Documentation/devicetree/bindings/power_supply/maxim,max14656.txt
>>>> Documentation/devicetree/bindings/ptp/brcm,ptp-dte.txt
>>>> Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt
>>>>         Documentation/doc-guide/docbook.rst
>>>>         Documentation/networking/tls.txt
>>>>         Documentation/prctl/no_new_privs.txt
>>>>         Documentation/prctl/seccomp_filter.txt
>>>>         Documentation/security/00-INDEX
>>>>         Documentation/security/IMA-templates.txt
>>>>         Documentation/security/LSM.txt
>>>>         Documentation/security/LoadPin.txt
>>>>         Documentation/security/SELinux.txt
>>>>         Documentation/security/Smack.txt
>>>>         Documentation/security/Yama.txt
>>>>         Documentation/security/apparmor.txt
>>>>         Documentation/security/conf.py
>>>>         Documentation/security/credentials.txt
>>>>         Documentation/security/keys-ecryptfs.txt
>>>>         Documentation/security/keys-request-key.txt
>>>>         Documentation/security/keys-trusted-encrypted.txt
>>>>         Documentation/security/keys.txt
>>>>         Documentation/security/self-protection.txt
>>>>         Documentation/security/tomoyo.txt
>>>>         Documentation/sphinx/convert_template.sed
>>>>         Documentation/sphinx/post_convert.sed
>>>>         Documentation/sphinx/tmplcvt
>>>>         Documentation/usb/typec.rst
>>>>         Documentation/usb/usb3-debug-port.rst
>>>>         arch/arm/boot/dts/rk1108-evb.dts
>>>>         arch/arm/boot/dts/rk1108.dtsi
>>>>         arch/arm/boot/dts/tegra20-whistler.dts
>>>>         arch/arm/mach-omap2/opp.c
>>>>         arch/arm/mach-omap2/pmu.c
>>>>         arch/ia64/include/asm/siginfo.h
>>>>         arch/m32r/include/uapi/asm/siginfo.h
>>>>         arch/microblaze/include/asm/bitops.h
>>>>         arch/microblaze/include/asm/bug.h
>>>>         arch/microblaze/include/asm/bugs.h
>>>>         arch/microblaze/include/asm/div64.h
>>>>         arch/microblaze/include/asm/emergency-restart.h
>>>>         arch/microblaze/include/asm/fb.h
>>>>         arch/microblaze/include/asm/hardirq.h
>>>>         arch/microblaze/include/asm/irq_regs.h
>>>>         arch/microblaze/include/asm/kdebug.h
>>>>         arch/microblaze/include/asm/kmap_types.h
>>>>         arch/microblaze/include/asm/linkage.h
>>>>         arch/microblaze/include/asm/local.h
>>>>         arch/microblaze/include/asm/local64.h
>>>>         arch/microblaze/include/asm/parport.h
>>>>         arch/microblaze/include/asm/percpu.h
>>>>         arch/microblaze/include/asm/serial.h
>>>>         arch/microblaze/include/asm/shmparam.h
>>>>         arch/microblaze/include/asm/topology.h
>>>>         arch/microblaze/include/asm/ucontext.h
>>>>         arch/microblaze/include/asm/vga.h
>>>>         arch/microblaze/include/asm/xor.h
>>>>         arch/microblaze/include/uapi/asm/bitsperlong.h
>>>>         arch/microblaze/include/uapi/asm/errno.h
>>>>         arch/microblaze/include/uapi/asm/fcntl.h
>>>>         arch/microblaze/include/uapi/asm/ioctl.h
>>>>         arch/microblaze/include/uapi/asm/ioctls.h
>>>>         arch/microblaze/include/uapi/asm/ipcbuf.h
>>>>         arch/microblaze/include/uapi/asm/kvm_para.h
>>>>         arch/microblaze/include/uapi/asm/mman.h
>>>>         arch/microblaze/include/uapi/asm/msgbuf.h
>>>>         arch/microblaze/include/uapi/asm/param.h
>>>>         arch/microblaze/include/uapi/asm/poll.h
>>>>         arch/microblaze/include/uapi/asm/resource.h
>>>>         arch/microblaze/include/uapi/asm/sembuf.h
>>>>         arch/microblaze/include/uapi/asm/shmbuf.h
>>>>         arch/microblaze/include/uapi/asm/siginfo.h
>>>>         arch/microblaze/include/uapi/asm/signal.h
>>>>         arch/microblaze/includ
>>>> Aborting
>>>>
>>>>
>>>>
>>>> W dniu 2017-09-20 o 11:45, Paweł Staszewski pisze:
>>>>> Ok looks like ending bisection
>>>>>
>>>>>
>>>>> Latest bisected kernel when there is no kernel panic 4.12.0+ (from 
>>>>> next)  - but only this warning:
>>>>>
>>>>> [  309.030019] NETDEV WATCHDOG: enp4s0f0 (ixgbe): transmit queue 0 
>>>>> timed out
>>>>> [  309.030034] ------------[ cut here ]------------
>>>>> [  309.030040] WARNING: CPU: 35 PID: 0 at dev_watchdog+0xcf/0x139
>>>>> [  309.030041] Modules linked in: bonding ipmi_si 
>>>>> x86_pkg_temp_thermal
>>>>> [  309.030045] CPU: 35 PID: 0 Comm: swapper/35 Not tainted 4.12.0+ #5
>>>>> [  309.030046] task: ffff88086d98a000 task.stack: ffffc90003378000
>>>>> [  309.030048] RIP: 0010:dev_watchdog+0xcf/0x139
>>>>> [  309.030049] RSP: 0018:ffff88087fbc3ea8 EFLAGS: 00010246
>>>>> [  309.030050] RAX: 000000000000003d RBX: ffff88046b680000 RCX: 
>>>>> 0000000000000000
>>>>> [  309.030050] RDX: ffff88087fbd2f01 RSI: 0000000000000000 RDI: 
>>>>> ffff88087fbcda08
>>>>> [  309.030051] RBP: ffff88087fbc3eb8 R08: 0000000000000000 R09: 
>>>>> ffff88087ff80a04
>>>>> [  309.030051] R10: 0000000000000000 R11: ffff88086d98a001 R12: 
>>>>> 0000000000000000
>>>>> [  309.030052] R13: ffff88087fbc3ef8 R14: ffff88086d98a000 R15: 
>>>>> ffffffff81c06008
>>>>> [  309.030053] FS:  0000000000000000(0000) 
>>>>> GS:ffff88087fbc0000(0000) knlGS:0000000000000000
>>>>> [  309.030054] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>>>> [  309.030054] CR2: 00007fba600f6098 CR3: 000000086b955000 CR4: 
>>>>> 00000000001406e0
>>>>> [  309.030055] Call Trace:
>>>>> [  309.030057]  <IRQ>
>>>>> [  309.030059]  ? netif_tx_lock+0x79/0x79
>>>>> [  309.030062]  call_timer_fn.isra.24+0x17/0x77
>>>>> [  309.030063]  run_timer_softirq+0x118/0x161
>>>>> [  309.030065]  ? netif_tx_lock+0x79/0x79
>>>>> [  309.030066]  ? ktime_get+0x2b/0x42
>>>>> [  309.030070]  ? lapic_next_deadline+0x21/0x27
>>>>> [  309.030073]  ? clockevents_program_event+0xa8/0xc5
>>>>> [  309.030076]  __do_softirq+0xa8/0x19d
>>>>> [  309.030078]  irq_exit+0x5d/0x6b
>>>>> [  309.030079]  smp_apic_timer_interrupt+0x2a/0x36
>>>>> [  309.030082]  apic_timer_interrupt+0x89/0x90
>>>>> [  309.030085] RIP: 0010:mwait_idle+0x4e/0x6a
>>>>> [  309.030086] RSP: 0018:ffffc9000337be98 EFLAGS: 00000246 
>>>>> ORIG_RAX: ffffffffffffff10
>>>>> [  309.030087] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 
>>>>> 0000000000000000
>>>>> [  309.030087] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 
>>>>> ffff88086d98a000
>>>>> [  309.030088] RBP: ffffc9000337be98 R08: ffff88046f8279a0 R09: 
>>>>> ffff88046f827040
>>>>> [  309.030089] R10: ffff88086d98a000 R11: ffff88086d98a000 R12: 
>>>>> 0000000000000000
>>>>> [  309.030089] R13: ffff88086d98a000 R14: ffff88086d98a000 R15: 
>>>>> ffff88086d98a000
>>>>> [  309.030090]  </IRQ>
>>>>> [  309.030094]  arch_cpu_idle+0xa/0xc
>>>>> [  309.030095]  default_idle_call+0x19/0x1b
>>>>> [  309.030102]  do_idle+0xbc/0x196
>>>>> [  309.030104]  cpu_startup_entry+0x1d/0x20
>>>>> [  309.030105]  start_secondary+0xd8/0xdc
>>>>> [  309.030108]  secondary_startup_64+0x9f/0x9f
>>>>> [  309.030109] Code: cc 75 bd eb 35 48 89 df c6 05 c3 dc 74 00 01 
>>>>> e8 3a 62 fe ff 44 89 e1 48 89 de 48 89 c2 48 c7 c7 0f 65 a4 81 31 
>>>>> c0 e8 3d 4c b5 ff <0f> ff 48 8b 83 e0 01 00 00 48 89 df ff 50 78 
>>>>> 48 8b 05 a0 bc 6a
>>>>> [  309.030128] ---[ end trace 9102cb25703ae2d9 ]---
>>>>>
>>>>>
>>>>> I just marked it as good - cause this problem above is differend - 
>>>>> and im going to:
>>>>>
>>>>> git bisect good
>>>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> W dniu 2017-09-20 o 10:44, Paweł Staszewski pisze:
>>>>>> Trying to make video from ipmi :)
>>>>>>
>>>>>> with that results:
>>>>>>
>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258521
>>>>>>
>>>>>> catched two more lines where it starts - panic from 4.13.2.
>>>>>>
>>>>>>
>>>>>> Now will try tro do some bisection
>>>>>>
>>>>>>
>>>>>>
>>>>>> W dniu 2017-09-20 o 09:58, Paweł Staszewski pisze:
>>>>>>> Hi
>>>>>>>
>>>>>>>
>>>>>>> Will try bisecting tonight
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> W dniu 2017-09-20 o 05:24, Eric Dumazet pisze:
>>>>>>>> On Wed, 2017-09-20 at 02:06 +0200, Paweł Staszewski wrote:
>>>>>>>>> Just checked kernel 4.13.2 and same problem
>>>>>>>>>
>>>>>>>>> Just after start all 6 bgp sessions - and kernel starts to 
>>>>>>>>> learn routes
>>>>>>>>> it panic.
>>>>>>>>>
>>>>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258509
>>>>>>>>>
>>>>>>>>
>>>>>>>> Unfortunately we have not enough information from these traces.
>>>>>>>>
>>>>>>>> Can you get a full stack trace ?
>>>>>>>>
>>>>>>>> Alternatively, can you bisect ?
>>>>>>>>
>>>>>>>> Thanks.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

^ permalink raw reply

* Re: mwifiex: make const arrays static to shink object code size
From: Kalle Valo @ 2017-09-20 12:47 UTC (permalink / raw)
  To: Colin Ian King
  Cc: Amitkumar Karwar, Nishant Sarmukadam, Ganapathi Bhat, Xinming Hu,
	linux-wireless, netdev, kernel-janitors, linux-kernel
In-Reply-To: <20170916153424.28285-1-colin.king@canonical.com>

Colin Ian King <colin.king@canonical.com> wrote:

> From: Colin Ian King <colin.king@canonical.com>
> 
> Don't populate const arrays on the stack, instead make them static
> Makes the object code smaller by nearly 300 bytes:
> 
> Before:
>    text	   data	    bss	    dec	    hex	filename
>   69260	  16149	    576	  85985	  14fe1	cfg80211.o
> 
> After:
>    text	   data	    bss	    dec	    hex	filename
>   68385	  16725	    576	  85686	  14eb6	cfg80211.o
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

Patch applied to wireless-drivers-next.git, thanks.

d157bcfaf854 mwifiex: make const arrays static to shink object code size

-- 
https://patchwork.kernel.org/patch/9954375/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply

* Re: mwifiex: remove unnecessary call to memset
From: Kalle Valo @ 2017-09-20 12:47 UTC (permalink / raw)
  To: Himanshu Jha
  Cc: amitkarwar-Re5JQEeQqe8AvxtiuMwx3w,
	nishants-eYqpPyKDWXRBDgjK7y7TUQ, gbhat-eYqpPyKDWXRBDgjK7y7TUQ,
	huxm-eYqpPyKDWXRBDgjK7y7TUQ,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	netdev-u79uwXL29TY76Z2rM5mHXA, Himanshu Jha
In-Reply-To: <1505133964-376-1-git-send-email-himanshujha199640-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Himanshu Jha <himanshujha199640-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:

> call to memset to assign 0 value immediately after allocating
> memory with kzalloc is unnecesaary as kzalloc allocates the memory
> filled with 0 value.
> 
> Semantic patch used to resolve this issue:
> 
> @@
> expression e,e2; constant c;
> statement S;
> @@
> 
>   e = kzalloc(e2, c);
>   if(e == NULL) S
> - memset(e, 0, e2);
> 
> Signed-off-by: Himanshu Jha <himanshujha199640-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

Patch applied to wireless-drivers-next.git, thanks.

85dafc129196 mwifiex: remove unnecessary call to memset

-- 
https://patchwork.kernel.org/patch/9947331/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply

* [PATCH] net_sched/hfsc: fix curve activation in hfsc_change_class()
From: Konstantin Khlebnikov @ 2017-09-20 12:46 UTC (permalink / raw)
  To: netdev, David S. Miller; +Cc: Cong Wang, Jiri Pirko, Jamal Hadi Salim

If real-time or fair-share curves are enabled in hfsc_change_class()
class isn't inserted into rb-trees yet. Thus init_ed() and init_vf()
must be called in place of update_ed() and update_vf().

Remove isn't required because for now curves cannot be disabled.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
---
 net/sched/sch_hfsc.c |   23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c
index daaf214e5201..3f88b75488b0 100644
--- a/net/sched/sch_hfsc.c
+++ b/net/sched/sch_hfsc.c
@@ -958,6 +958,8 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
 	}
 
 	if (cl != NULL) {
+		int old_flags;
+
 		if (parentid) {
 			if (cl->cl_parent &&
 			    cl->cl_parent->cl_common.classid != parentid)
@@ -978,6 +980,8 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
 		}
 
 		sch_tree_lock(sch);
+		old_flags = cl->cl_flags;
+
 		if (rsc != NULL)
 			hfsc_change_rsc(cl, rsc, cur_time);
 		if (fsc != NULL)
@@ -986,10 +990,21 @@ hfsc_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
 			hfsc_change_usc(cl, usc, cur_time);
 
 		if (cl->qdisc->q.qlen != 0) {
-			if (cl->cl_flags & HFSC_RSC)
-				update_ed(cl, qdisc_peek_len(cl->qdisc));
-			if (cl->cl_flags & HFSC_FSC)
-				update_vf(cl, 0, cur_time);
+			int len = qdisc_peek_len(cl->qdisc);
+
+			if (cl->cl_flags & HFSC_RSC) {
+				if (old_flags & HFSC_RSC)
+					update_ed(cl, len);
+				else
+					init_ed(cl, len);
+			}
+
+			if (cl->cl_flags & HFSC_FSC) {
+				if (old_flags & HFSC_FSC)
+					update_vf(cl, 0, cur_time);
+				else
+					init_vf(cl, len);
+			}
 		}
 		sch_tree_unlock(sch);
 

^ permalink raw reply related

* [PATCH] net_sched: always reset qdisc backlog in qdisc_reset()
From: Konstantin Khlebnikov @ 2017-09-20 12:45 UTC (permalink / raw)
  To: netdev, David S. Miller; +Cc: Cong Wang, Jiri Pirko, Jamal Hadi Salim

SKB stored in qdisc->gso_skb also counted into backlog.

Some qdiscs don't reset backlog to zero in ->reset(),
for example sfq just dequeue and free all queued skb.

Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Fixes: 2ccccf5fb43f ("net_sched: update hierarchical backlog too")
---
 net/sched/sch_generic.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 92237e75dbbc..bf8c81e07c70 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -685,6 +685,7 @@ void qdisc_reset(struct Qdisc *qdisc)
 		qdisc->gso_skb = NULL;
 	}
 	qdisc->q.qlen = 0;
+	qdisc->qstats.backlog = 0;
 }
 EXPORT_SYMBOL(qdisc_reset);
 

^ permalink raw reply related

* Re: [1/2] b43: fix unitialized reads of ret by initializing the array to zero
From: Kalle Valo @ 2017-09-20 12:41 UTC (permalink / raw)
  To: Colin Ian King
  Cc: netdev-u79uwXL29TY76Z2rM5mHXA,
	kernel-janitors-u79uwXL29TY76Z2rM5mHXA,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA,
	b43-dev-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20170905181550.23839-1-colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>

Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org> wrote:

> From: Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> 
> The u8 char array ret is not being initialized and elements outside
> the range start to end contain just garbage values from the stack.
> This results in a later scan of the array to read potentially
> uninitialized values.  Fix this by initializing the array to zero.
> This seems to have been an issue since the very first commit.
> 
> Detected by CoverityScan CID#139652 ("Uninitialized scalar variable")
> 
> Signed-off-by: Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>
> Reviewed-by: Michael Buesch <m@bues.ch>

2 patches applied to wireless-drivers-next.git, thanks.

e31fbe1034d9 b43: fix unitialized reads of ret by initializing the array to zero
e3ae1c772046 b43legacy: fix unitialized reads of ret by initializing the array to zero

-- 
https://patchwork.kernel.org/patch/9939435/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply

* Re: [1/2] b43: fix unitialized reads of ret by initializing the array to zero
From: Kalle Valo @ 2017-09-20 12:41 UTC (permalink / raw)
  To: Colin Ian King
  Cc: linux-wireless, b43-dev, netdev, kernel-janitors, linux-kernel
In-Reply-To: <20170905181550.23839-1-colin.king@canonical.com>

Colin Ian King <colin.king@canonical.com> wrote:

> From: Colin Ian King <colin.king@canonical.com>
> 
> The u8 char array ret is not being initialized and elements outside
> the range start to end contain just garbage values from the stack.
> This results in a later scan of the array to read potentially
> uninitialized values.  Fix this by initializing the array to zero.
> This seems to have been an issue since the very first commit.
> 
> Detected by CoverityScan CID#139652 ("Uninitialized scalar variable")
> 
> Signed-off-by: Colin Ian King <colin.king@canonical.com>
> Reviewed-by: Michael Buesch <m@bues.ch>

2 patches applied to wireless-drivers-next.git, thanks.

e31fbe1034d9 b43: fix unitialized reads of ret by initializing the array to zero
e3ae1c772046 b43legacy: fix unitialized reads of ret by initializing the array to zero

-- 
https://patchwork.kernel.org/patch/9939435/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply

* Re: rsi: fix a dereference on adapter before it has been null checked
From: Kalle Valo @ 2017-09-20 12:40 UTC (permalink / raw)
  To: Colin Ian King
  Cc: Amitkumar Karwar, Prameela Rani Garnepudi, Karun Eagalapati,
	linux-wireless, netdev, kernel-janitors, linux-kernel
In-Reply-To: <20170908152452.3594-1-colin.king@canonical.com>

Colin Ian King <colin.king@canonical.com> wrote:

> From: Colin Ian King <colin.king@canonical.com>
> 
> The assignment of dev is dereferencing adapter before adapter has
> been null checked, potentially leading to a null pointer dereference.
> Fix this by simply moving the assignment of dev to a later point
> after the sanity null check of adapter.
> 
> Detected by CoverityScan CID#1398383 ("Dereference before null check")
> 
> Fixes: dad0d04fa7ba ("rsi: Add RS9113 wireless driver")
> Signed-off-by: Colin Ian King <colin.king@canonical.com>

Patch applied to wireless-drivers-next.git, thanks.

6508497cbdc7 rsi: fix a dereference on adapter before it has been null checked

-- 
https://patchwork.kernel.org/patch/9944509/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

^ permalink raw reply

* Re: Latest net-next from GIT panic
From: Paweł Staszewski @ 2017-09-20 12:23 UTC (permalink / raw)
  To: Eric Dumazet; +Cc: Linux Kernel Network Developers
In-Reply-To: <c278dec6-e018-62e0-a613-1fa79741aaab@itcare.pl>

Almost there

Bisecting: 6 revisions left to test after this (roughly 3 steps)
[ad65a2f05695aced349e308193c6e2a6b1d87112] ipv6: call dst_hold_safe() 
properly



W dniu 2017-09-20 o 13:02, Paweł Staszewski pisze:
> Ok resumed and soo far:
>
> Panic:
>
> # bad: [9cc9a5cb176ccb4f2cda5ac34da5a659926f125f] datapath: Avoid 
> using stack larger than 1024.
> git bisect bad 9cc9a5cb176ccb4f2cda5ac34da5a659926f125f
>
> No panic:
>
> # good: [073cf9e20c333ab29744717a23f9e43ec7512a20] Merge branch 
> 'udp-reduce-cache-pressure'
> git bisect good 073cf9e20c333ab29744717a23f9e43ec7512a20
>
>
> W dniu 2017-09-20 o 12:22, Paweł Staszewski pisze:
>> Soo far bisected and marked:
>>
>> git bisect start
>> # bad: [07dd6cc1fff160143e82cf5df78c1db0b6e03355] Linux 4.13.2
>> git bisect bad 07dd6cc1fff160143e82cf5df78c1db0b6e03355
>> # good: [5d7d2e03e0f01a992e3521b180c3d3e67905f269] Linux 4.12.13
>> git bisect good 5d7d2e03e0f01a992e3521b180c3d3e67905f269
>> # good: [6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c] Linux 4.12
>> git bisect good 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c
>> # bad: [ac7b75966c9c86426b55fe1c50ae148aa4571075] Merge tag 
>> 'pinctrl-v4.13-1' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
>> git bisect bad ac7b75966c9c86426b55fe1c50ae148aa4571075
>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>> 'next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>> 'next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>> # good: [e24dd9ee5399747b71c1d982a484fc7601795f31] Merge branch 
>> 'next' of 
>> git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security
>> git bisect good e24dd9ee5399747b71c1d982a484fc7601795f31
>>
>>
>>
>> W dniu 2017-09-20 o 12:21, Paweł Staszewski pisze:
>>> Ok kernel crashed with different panic that i didnt catch when i was 
>>> doing bisect and now my bisection is broken :)
>>>
>>> git bisect good
>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
>>> error: Your local changes to the following files would be 
>>> overwritten by checkout:
>>>         Documentation/00-INDEX
>>>         Documentation/ABI/stable/sysfs-class-udc
>>>         Documentation/ABI/testing/configfs-usb-gadget-uac1
>>>         Documentation/ABI/testing/ima_policy
>>>         Documentation/ABI/testing/sysfs-bus-iio
>>>         Documentation/ABI/testing/sysfs-bus-iio-meas-spec
>>>         Documentation/ABI/testing/sysfs-bus-iio-timer-stm32
>>>         Documentation/ABI/testing/sysfs-class-net
>>>         Documentation/ABI/testing/sysfs-class-power-twl4030
>>>         Documentation/ABI/testing/sysfs-class-typec
>>>         Documentation/DMA-API.txt
>>>         Documentation/IRQ-domain.txt
>>>         Documentation/Makefile
>>>         Documentation/PCI/MSI-HOWTO.txt
>>>         Documentation/RCU/00-INDEX
>>> Documentation/RCU/Design/Requirements/Requirements.html
>>>         Documentation/RCU/checklist.txt
>>>         Documentation/admin-guide/README.rst
>>>         Documentation/admin-guide/devices.txt
>>>         Documentation/admin-guide/index.rst
>>>         Documentation/admin-guide/kernel-parameters.txt
>>>         Documentation/admin-guide/pm/cpufreq.rst
>>>         Documentation/admin-guide/pm/intel_pstate.rst
>>>         Documentation/admin-guide/ras.rst
>>>         Documentation/arm/Atmel/README
>>>         Documentation/block/biodoc.txt
>>>         Documentation/conf.py
>>>         Documentation/core-api/assoc_array.rst
>>>         Documentation/core-api/atomic_ops.rst
>>>         Documentation/core-api/index.rst
>>>         Documentation/crypto/asymmetric-keys.txt
>>>         Documentation/dev-tools/index.rst
>>>         Documentation/dev-tools/sparse.rst
>>>         Documentation/devicetree/bindings/arm/amlogic.txt
>>>         Documentation/devicetree/bindings/arm/atmel-at91.txt
>>>         Documentation/devicetree/bindings/arm/ccn.txt
>>>         Documentation/devicetree/bindings/arm/cpus.txt
>>>         Documentation/devicetree/bindings/arm/gemini.txt
>>> Documentation/devicetree/bindings/arm/hisilicon/hisilicon.txt
>>> Documentation/devicetree/bindings/arm/keystone/keystone.txt
>>>         Documentation/devicetree/bindings/arm/mediatek.txt
>>>         Documentation/devicetree/bindings/arm/rockchip.txt
>>>         Documentation/devicetree/bindings/arm/shmobile.txt
>>>         Documentation/devicetree/bindings/arm/tegra.txt
>>> Documentation/devicetree/bindings/ata/ahci-fsl-qoriq.txt
>>> Documentation/devicetree/bindings/bus/brcm,gisb-arb.txt
>>> Documentation/devicetree/bindings/clock/brcm,iproc-clocks.txt
>>> Documentation/devicetree/bindings/cpufreq/ti-cpufreq.txt
>>>         Documentation/devicetree/bindings/gpio/gpio_atmel.txt
>>> Documentation/devicetree/bindings/iio/adc/amlogic,meson-saradc.txt
>>> Documentation/devicetree/bindings/iio/adc/renesas,gyroadc.txt
>>> Documentation/devicetree/bindings/iio/adc/st,stm32-adc.txt
>>> Documentation/devicetree/bindings/iio/imu/st_lsm6dsx.txt
>>> Documentation/devicetree/bindings/interrupt-controller/allwinner,sunxi-nmi.txt 
>>>
>>> Documentation/devicetree/bindings/interrupt-controller/aspeed,ast2400-vic.txt 
>>>
>>> Documentation/devicetree/bindings/interrupt-controller/mediatek,sysirq.txt 
>>>
>>>         Documentation/devicetree/bindings/leds/common.txt
>>>         Documentation/devicetree/bindings/mfd/hi6421.txt
>>>         Documentation/devicetree/bindings/mfd/tps65910.txt
>>>         Documentation/devicetree/bindings/mmc/fsl-esdhc.txt
>>>         Documentation/devicetree/bindings/mmc/k3-dw-mshc.txt
>>> Documentation/devicetree/bindings/mmc/rockchip-dw-mshc.txt
>>> Documentation/devicetree/bindings/mmc/ti-omap-hsmmc.txt
>>>         Documentation/devicetree/bindings/mtd/atmel-nand.txt
>>>         Documentation/devicetree/bindings/net/dsa/b53.txt
>>>         Documentation/devicetree/bindings/net/ethernet.txt
>>>         Documentation/devicetree/bindings/net/macb.txt
>>> Documentation/devicetree/bindings/net/marvell-orion-mdio.txt
>>>         Documentation/devicetree/bindings/net/ti,wilink-st.txt
>>> Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
>>> Documentation/devicetree/bindings/nvmem/rockchip-efuse.txt
>>>         Documentation/devicetree/bindings/opp/opp.txt
>>> Documentation/devicetree/bindings/phy/bcm-ns-usb3-phy.txt
>>> Documentation/devicetree/bindings/phy/brcm-sata-phy.txt
>>> Documentation/devicetree/bindings/phy/meson8b-usb2-phy.txt
>>> Documentation/devicetree/bindings/phy/phy-rockchip-inno-usb2.txt
>>> Documentation/devicetree/bindings/power/rockchip-io-domain.txt
>>> Documentation/devicetree/bindings/power/supply/bq27xxx.txt
>>>         Documentation/devicetree/bindings/property-units.txt
>>> Documentation/devicetree/bindings/regulator/regulator.txt
>>>         Documentation/devicetree/bindings/serial/8
>>> error: The following untracked working tree files would be 
>>> overwritten by checkout:
>>>         Documentation/ABI/testing/sysfs-class-net-phydev
>>>         Documentation/DocBook/.gitignore
>>>         Documentation/DocBook/Makefile
>>>         Documentation/DocBook/filesystems.tmpl
>>>         Documentation/DocBook/kernel-hacking.tmpl
>>>         Documentation/DocBook/kernel-locking.tmpl
>>>         Documentation/DocBook/kgdb.tmpl
>>>         Documentation/DocBook/libata.tmpl
>>>         Documentation/DocBook/librs.tmpl
>>>         Documentation/DocBook/lsm.tmpl
>>>         Documentation/DocBook/mtdnand.tmpl
>>>         Documentation/DocBook/networking.tmpl
>>>         Documentation/DocBook/rapidio.tmpl
>>>         Documentation/DocBook/s390-drivers.tmpl
>>>         Documentation/DocBook/scsi.tmpl
>>>         Documentation/DocBook/sh.tmpl
>>>         Documentation/DocBook/stylesheet.xsl
>>>         Documentation/DocBook/w1.tmpl
>>>         Documentation/DocBook/z8530book.tmpl
>>>         Documentation/Makefile.sphinx
>>>         Documentation/RCU/trace.txt
>>>         Documentation/devicetree/bindings/i2c/i2c-mt6577.txt
>>> Documentation/devicetree/bindings/misc/allwinner,syscon.txt
>>>         Documentation/devicetree/bindings/net/cortina.txt
>>>         Documentation/devicetree/bindings/net/dsa/ksz.txt
>>>         Documentation/devicetree/bindings/net/dwmac-sun8i.txt
>>>         Documentation/devicetree/bindings/net/qca,qca7000.txt
>>> Documentation/devicetree/bindings/power/max8903-charger.txt
>>> Documentation/devicetree/bindings/power_supply/maxim,max14656.txt
>>>         Documentation/devicetree/bindings/ptp/brcm,ptp-dte.txt
>>> Documentation/devicetree/bindings/timer/moxa,moxart-timer.txt
>>>         Documentation/doc-guide/docbook.rst
>>>         Documentation/networking/tls.txt
>>>         Documentation/prctl/no_new_privs.txt
>>>         Documentation/prctl/seccomp_filter.txt
>>>         Documentation/security/00-INDEX
>>>         Documentation/security/IMA-templates.txt
>>>         Documentation/security/LSM.txt
>>>         Documentation/security/LoadPin.txt
>>>         Documentation/security/SELinux.txt
>>>         Documentation/security/Smack.txt
>>>         Documentation/security/Yama.txt
>>>         Documentation/security/apparmor.txt
>>>         Documentation/security/conf.py
>>>         Documentation/security/credentials.txt
>>>         Documentation/security/keys-ecryptfs.txt
>>>         Documentation/security/keys-request-key.txt
>>>         Documentation/security/keys-trusted-encrypted.txt
>>>         Documentation/security/keys.txt
>>>         Documentation/security/self-protection.txt
>>>         Documentation/security/tomoyo.txt
>>>         Documentation/sphinx/convert_template.sed
>>>         Documentation/sphinx/post_convert.sed
>>>         Documentation/sphinx/tmplcvt
>>>         Documentation/usb/typec.rst
>>>         Documentation/usb/usb3-debug-port.rst
>>>         arch/arm/boot/dts/rk1108-evb.dts
>>>         arch/arm/boot/dts/rk1108.dtsi
>>>         arch/arm/boot/dts/tegra20-whistler.dts
>>>         arch/arm/mach-omap2/opp.c
>>>         arch/arm/mach-omap2/pmu.c
>>>         arch/ia64/include/asm/siginfo.h
>>>         arch/m32r/include/uapi/asm/siginfo.h
>>>         arch/microblaze/include/asm/bitops.h
>>>         arch/microblaze/include/asm/bug.h
>>>         arch/microblaze/include/asm/bugs.h
>>>         arch/microblaze/include/asm/div64.h
>>>         arch/microblaze/include/asm/emergency-restart.h
>>>         arch/microblaze/include/asm/fb.h
>>>         arch/microblaze/include/asm/hardirq.h
>>>         arch/microblaze/include/asm/irq_regs.h
>>>         arch/microblaze/include/asm/kdebug.h
>>>         arch/microblaze/include/asm/kmap_types.h
>>>         arch/microblaze/include/asm/linkage.h
>>>         arch/microblaze/include/asm/local.h
>>>         arch/microblaze/include/asm/local64.h
>>>         arch/microblaze/include/asm/parport.h
>>>         arch/microblaze/include/asm/percpu.h
>>>         arch/microblaze/include/asm/serial.h
>>>         arch/microblaze/include/asm/shmparam.h
>>>         arch/microblaze/include/asm/topology.h
>>>         arch/microblaze/include/asm/ucontext.h
>>>         arch/microblaze/include/asm/vga.h
>>>         arch/microblaze/include/asm/xor.h
>>>         arch/microblaze/include/uapi/asm/bitsperlong.h
>>>         arch/microblaze/include/uapi/asm/errno.h
>>>         arch/microblaze/include/uapi/asm/fcntl.h
>>>         arch/microblaze/include/uapi/asm/ioctl.h
>>>         arch/microblaze/include/uapi/asm/ioctls.h
>>>         arch/microblaze/include/uapi/asm/ipcbuf.h
>>>         arch/microblaze/include/uapi/asm/kvm_para.h
>>>         arch/microblaze/include/uapi/asm/mman.h
>>>         arch/microblaze/include/uapi/asm/msgbuf.h
>>>         arch/microblaze/include/uapi/asm/param.h
>>>         arch/microblaze/include/uapi/asm/poll.h
>>>         arch/microblaze/include/uapi/asm/resource.h
>>>         arch/microblaze/include/uapi/asm/sembuf.h
>>>         arch/microblaze/include/uapi/asm/shmbuf.h
>>>         arch/microblaze/include/uapi/asm/siginfo.h
>>>         arch/microblaze/include/uapi/asm/signal.h
>>>         arch/microblaze/includ
>>> Aborting
>>>
>>>
>>>
>>> W dniu 2017-09-20 o 11:45, Paweł Staszewski pisze:
>>>> Ok looks like ending bisection
>>>>
>>>>
>>>> Latest bisected kernel when there is no kernel panic 4.12.0+ (from 
>>>> next)  - but only this warning:
>>>>
>>>> [  309.030019] NETDEV WATCHDOG: enp4s0f0 (ixgbe): transmit queue 0 
>>>> timed out
>>>> [  309.030034] ------------[ cut here ]------------
>>>> [  309.030040] WARNING: CPU: 35 PID: 0 at dev_watchdog+0xcf/0x139
>>>> [  309.030041] Modules linked in: bonding ipmi_si x86_pkg_temp_thermal
>>>> [  309.030045] CPU: 35 PID: 0 Comm: swapper/35 Not tainted 4.12.0+ #5
>>>> [  309.030046] task: ffff88086d98a000 task.stack: ffffc90003378000
>>>> [  309.030048] RIP: 0010:dev_watchdog+0xcf/0x139
>>>> [  309.030049] RSP: 0018:ffff88087fbc3ea8 EFLAGS: 00010246
>>>> [  309.030050] RAX: 000000000000003d RBX: ffff88046b680000 RCX: 
>>>> 0000000000000000
>>>> [  309.030050] RDX: ffff88087fbd2f01 RSI: 0000000000000000 RDI: 
>>>> ffff88087fbcda08
>>>> [  309.030051] RBP: ffff88087fbc3eb8 R08: 0000000000000000 R09: 
>>>> ffff88087ff80a04
>>>> [  309.030051] R10: 0000000000000000 R11: ffff88086d98a001 R12: 
>>>> 0000000000000000
>>>> [  309.030052] R13: ffff88087fbc3ef8 R14: ffff88086d98a000 R15: 
>>>> ffffffff81c06008
>>>> [  309.030053] FS:  0000000000000000(0000) 
>>>> GS:ffff88087fbc0000(0000) knlGS:0000000000000000
>>>> [  309.030054] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>>> [  309.030054] CR2: 00007fba600f6098 CR3: 000000086b955000 CR4: 
>>>> 00000000001406e0
>>>> [  309.030055] Call Trace:
>>>> [  309.030057]  <IRQ>
>>>> [  309.030059]  ? netif_tx_lock+0x79/0x79
>>>> [  309.030062]  call_timer_fn.isra.24+0x17/0x77
>>>> [  309.030063]  run_timer_softirq+0x118/0x161
>>>> [  309.030065]  ? netif_tx_lock+0x79/0x79
>>>> [  309.030066]  ? ktime_get+0x2b/0x42
>>>> [  309.030070]  ? lapic_next_deadline+0x21/0x27
>>>> [  309.030073]  ? clockevents_program_event+0xa8/0xc5
>>>> [  309.030076]  __do_softirq+0xa8/0x19d
>>>> [  309.030078]  irq_exit+0x5d/0x6b
>>>> [  309.030079]  smp_apic_timer_interrupt+0x2a/0x36
>>>> [  309.030082]  apic_timer_interrupt+0x89/0x90
>>>> [  309.030085] RIP: 0010:mwait_idle+0x4e/0x6a
>>>> [  309.030086] RSP: 0018:ffffc9000337be98 EFLAGS: 00000246 
>>>> ORIG_RAX: ffffffffffffff10
>>>> [  309.030087] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 
>>>> 0000000000000000
>>>> [  309.030087] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 
>>>> ffff88086d98a000
>>>> [  309.030088] RBP: ffffc9000337be98 R08: ffff88046f8279a0 R09: 
>>>> ffff88046f827040
>>>> [  309.030089] R10: ffff88086d98a000 R11: ffff88086d98a000 R12: 
>>>> 0000000000000000
>>>> [  309.030089] R13: ffff88086d98a000 R14: ffff88086d98a000 R15: 
>>>> ffff88086d98a000
>>>> [  309.030090]  </IRQ>
>>>> [  309.030094]  arch_cpu_idle+0xa/0xc
>>>> [  309.030095]  default_idle_call+0x19/0x1b
>>>> [  309.030102]  do_idle+0xbc/0x196
>>>> [  309.030104]  cpu_startup_entry+0x1d/0x20
>>>> [  309.030105]  start_secondary+0xd8/0xdc
>>>> [  309.030108]  secondary_startup_64+0x9f/0x9f
>>>> [  309.030109] Code: cc 75 bd eb 35 48 89 df c6 05 c3 dc 74 00 01 
>>>> e8 3a 62 fe ff 44 89 e1 48 89 de 48 89 c2 48 c7 c7 0f 65 a4 81 31 
>>>> c0 e8 3d 4c b5 ff <0f> ff 48 8b 83 e0 01 00 00 48 89 df ff 50 78 48 
>>>> 8b 05 a0 bc 6a
>>>> [  309.030128] ---[ end trace 9102cb25703ae2d9 ]---
>>>>
>>>>
>>>> I just marked it as good - cause this problem above is differend - 
>>>> and im going to:
>>>>
>>>> git bisect good
>>>> Bisecting: 1787 revisions left to test after this (roughly 11 steps)
>>>>
>>>>
>>>>
>>>>
>>>> W dniu 2017-09-20 o 10:44, Paweł Staszewski pisze:
>>>>> Trying to make video from ipmi :)
>>>>>
>>>>> with that results:
>>>>>
>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258521
>>>>>
>>>>> catched two more lines where it starts - panic from 4.13.2.
>>>>>
>>>>>
>>>>> Now will try tro do some bisection
>>>>>
>>>>>
>>>>>
>>>>> W dniu 2017-09-20 o 09:58, Paweł Staszewski pisze:
>>>>>> Hi
>>>>>>
>>>>>>
>>>>>> Will try bisecting tonight
>>>>>>
>>>>>>
>>>>>>
>>>>>> W dniu 2017-09-20 o 05:24, Eric Dumazet pisze:
>>>>>>> On Wed, 2017-09-20 at 02:06 +0200, Paweł Staszewski wrote:
>>>>>>>> Just checked kernel 4.13.2 and same problem
>>>>>>>>
>>>>>>>> Just after start all 6 bgp sessions - and kernel starts to 
>>>>>>>> learn routes
>>>>>>>> it panic.
>>>>>>>>
>>>>>>>> https://bugzilla.kernel.org/attachment.cgi?id=258509
>>>>>>>>
>>>>>>>
>>>>>>> Unfortunately we have not enough information from these traces.
>>>>>>>
>>>>>>> Can you get a full stack trace ?
>>>>>>>
>>>>>>> Alternatively, can you bisect ?
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>
>

^ permalink raw reply

* Re: [PATCH v2 1/2] mac80211: Add rcu read side critical sections
From: Johannes Berg @ 2017-09-20 12:17 UTC (permalink / raw)
  To: Ville Syrjälä
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA, David S. Miller,
	netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20170920121137.GZ4914-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

On Wed, 2017-09-20 at 15:11 +0300, Ville Syrjälä wrote:
> 
> > I guess since the outer pointer isn't protected, only the inner ...
> 
> I think just the fact that even the pointers in ieee80211_tx_data
> don't have the __rcu annotation makes it rather hard to see what is
> really rcu protected and what isn't. If every user of those pointers
> would have to do the rcu_dereference() things would be rather more
> explicit.

It wouldn't make sense though, because those users don't need to
provide the protection, and they don't need to make sure to use the
pointer in an RCU safe manner (access once etc.) since they're in code
that can't really go wrong... mostly.

> > Therefore, this patch is wrong.
> 
> OK, so the problem is in ath9k then.

I agree.

> > I actually think the same is true for ieee80211_tx_dequeue(), but 
[...]
> Well, I think this is as far as I want to dig into the matter. I can
> respin the patch once more with just tx_dequeue() fix in there, if
> you want (not sure you do if you think it's wrong as well). After
> that I'll leave it to someone who actually knows what they're doing
> with mac80211 ;)

:-)
I think we should rather document that RCU is required for that
function, I think for some usages it may be OK without but with keys
I'm pretty sure you'll need it.

johannes

^ permalink raw reply

* Re: [PATCH v2 1/2] mac80211: Add rcu read side critical sections
From: Ville Syrjälä @ 2017-09-20 12:11 UTC (permalink / raw)
  To: Johannes Berg
  Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA, David S. Miller,
	netdev-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1505903964.3026.14.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>

On Wed, Sep 20, 2017 at 12:39:24PM +0200, Johannes Berg wrote:
> On Wed, 2017-09-20 at 13:11 +0300, Ville Syrjala wrote:
> 
> > --- a/net/mac80211/tx.c
> > +++ b/net/mac80211/tx.c
> > @@ -1770,15 +1770,21 @@ bool ieee80211_tx_prepare_skb(struct ieee80211_hw *hw,
> >  	struct ieee80211_tx_data tx;
> >  	struct sk_buff *skb2;
> >  
> > -	if (ieee80211_tx_prepare(sdata, &tx, NULL, skb) == TX_DROP)
> > +	rcu_read_lock();
> 
> The documentation says:
> 
> /**
>  * ieee80211_tx_prepare_skb - prepare an 802.11 skb for transmission
>  * @hw: pointer as obtained from ieee80211_alloc_hw()
>  * @vif: virtual interface
>  * @skb: frame to be sent from within the driver
>  * @band: the band to transmit on
>  * @sta: optional pointer to get the station to send the frame to
>  *
>  * Note: must be called under RCU lock
>  */
> 
> You can't even argue that it should be the function itself doing it,
> because the (admittedly optional) sta pointer would otherwise not have
> proper protection after you leave the function ... You can't pass out a
> sta pointer that's RCU protected.

Yeah, I suppose that would need rcu_handoff+some other mechanism to
make sure it stays around after that.

> 
> Side note: Perhaps some annotation should be there? not sure it's
> possible - would have to be something like
> 	struct ieee80211_sta * __rcu *sta;
> 
> I guess since the outer pointer isn't protected, only the inner ...

I think just the fact that even the pointers in ieee80211_tx_data don't
have the __rcu annotation makes it rather hard to see what is really rcu
protected and what isn't. If every user of those pointers would have to
do the rcu_dereference() things would be rather more explicit.

> Therefore, this patch is wrong.

OK, so the problem is in ath9k then.

> I actually think the same is true for ieee80211_tx_dequeue(), but I'm
> less sure about it - the sta pointer there clearly is somehow safely
> passed in (even if it's w/o RCU, the driver can potentially make that
> safe), but the key pointer seems unsafe in this case (as well) if
> there's no outer RCU protection.

Well, I think this is as far as I want to dig into the matter. I can
respin the patch once more with just tx_dequeue() fix in there, if you
want (not sure you do if you think it's wrong as well). After that I'll
leave it to someone who actually knows what they're doing with mac80211 ;)

-- 
Ville Syrjälä
Intel OTC

^ 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