Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Russell King - ARM Linux @ 2018-03-19 13:18 UTC (permalink / raw)
  To: Antoine Tenart
  Cc: Andrew Lunn, davem, kishon, gregory.clement, jason,
	sebastian.hesselbarth, netdev, linux-kernel, thomas.petazzoni,
	maxime.chevallier, miquel.raynal, nadavh, stefanc, ymarkman, mw,
	linux-arm-kernel
In-Reply-To: <20180319131009.GJ4519@kwain>

On Mon, Mar 19, 2018 at 02:10:09PM +0100, Antoine Tenart wrote:
> Hi Andrew,
> 
> On Mon, Mar 19, 2018 at 01:59:53PM +0100, Andrew Lunn wrote:
> > 
> > If they don't have PHYs, how are the connected to the outside world?
> 
> On 7k/8k you have the following scheme for 10G only interfaces:
> 
>    MAC -- Comphy -- PHY -- SFP cage -- ...
> 
> Or
> 
>    MAC -- Comphy -- SFP cage -- ...
> 
> The comphy provides serdes lanes, and can be configured in various
> modes (SGMII, 2500SGMII, 10GKR...).

Right - the correct mode is dependent on the SFP module plugged into
the cage.  Trying to describe this by ignoring the SFP cage isn't
going to work out well for end-user functionality, though is fine if
you're just hacking a configuration to test (which would not be
suitable for mainline kernels!)

As I've recently replied to Yan, this is a configuration I haven't
tested yet, and it's entirely possible that phylink may need some
tweaks for it.

What you have is a very similar setup to what is on Clearfog with
its SFP cage, where the SFP cage is connected directly to the
Armada 388.  That only has to deal with 2500base-X / 1000base-X /
SGMII and not 10G.

What I want is to avoid hacks as much as possible here - if there is
a short-coming with SFP/phylink here, we need to address that
properly.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

^ permalink raw reply

* Re: [EXT] Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Antoine Tenart @ 2018-03-19 13:13 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Stefan Chulski, Antoine Tenart, Russell King - ARM Linux,
	davem@davemloft.net, kishon@ti.com, gregory.clement@bootlin.com,
	jason@lakedaemon.net, sebastian.hesselbarth@gmail.com,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	thomas.petazzoni@bootlin.com, maxime.chevallier@bootlin.com,
	miquel.raynal@bootlin.com, Nadav Haklai, Yan Markman,
	"mw@semihalf.com"
In-Reply-To: <20180319130823.GA22306@lunn.ch>

On Mon, Mar 19, 2018 at 02:08:23PM +0100, Andrew Lunn wrote:
> > > If they don't have PHYs, how are the connected to the outside world?
> > 
> > By external SFP or direct attached cable.
> 
> Maybe i'm missing something, but don't you just need to add an SFP
> device in the device tree. The SFP code and PHYLINK will work
> together, query what the SFP module is, use the GPIOs to determine
> link up/down and module present, and tell the MAC how to configure the
> MAC-SFP link?

This would definitively work for SFP connectors with a PHY, but would
that work when using direct attached cable? As in the second case
phylink wouldn't be able to ask the SFP PHY for the link state.

Antoine

-- 
Antoine Ténart, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply

* Re: [bpf-next V3 PATCH 13/15] mlx5: use page_pool for xdp_return_frame call
From: Jesper Dangaard Brouer @ 2018-03-19 13:12 UTC (permalink / raw)
  To: Tariq Toukan
  Cc: netdev, BjörnTöpel, magnus.karlsson, eugenia,
	Jason Wang, John Fastabend, Eran Ben Elisha, Saeed Mahameed, galp,
	Daniel Borkmann, Alexei Starovoitov, brouer
In-Reply-To: <6e62fa6a-53c7-57a9-0493-3a48d832b479@mellanox.com>

On Mon, 12 Mar 2018 15:20:06 +0200 Tariq Toukan <tariqt@mellanox.com> wrote:

> On 12/03/2018 12:16 PM, Tariq Toukan wrote:
> > 
> > On 12/03/2018 12:08 PM, Tariq Toukan wrote:  
> >>
> >> On 09/03/2018 10:56 PM, Jesper Dangaard Brouer wrote:  
> >>> This patch shows how it is possible to have both the driver local page
> >>> cache, which uses elevated refcnt for "catching"/avoiding SKB
> >>> put_page.  And at the same time, have pages getting returned to the
> >>> page_pool from ndp_xdp_xmit DMA completion.
> >>>
[...]
> >>>
> >>> Before this patch: single flow performance was 6Mpps, and if I started
> >>> two flows the collective performance drop to 4Mpps, because we hit the
> >>> page allocator lock (further negative scaling occurs).
> >>>
> >>> V2: Adjustments requested by Tariq
> >>>   - Changed page_pool_create return codes not return NULL, only
> >>>     ERR_PTR, as this simplifies err handling in drivers.
> >>>   - Save a branch in mlx5e_page_release
> >>>   - Correct page_pool size calc for MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ
> >>>
> >>> Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
> >>> ---  
> >>
> >> I am running perf tests with your series. I sense a drastic 
> >> degradation in regular TCP flows, I'm double checking the numbers now...  
> > 
> > Well, there's a huge performance degradation indeed, whenever the 
> > regular flows (non-XDP) use the new page pool. Cannot merge before 
> > fixing this.
> > 
> > If I disable the local page-cache, numbers get as low as 100's of Mbps 
> > in TCP stream tests.  
> 
> It seems that the page-pool doesn't fit as a general fallback (when page 
> in local rx cache is busy), as the refcnt is elevated/changing:

I see the issue.  I have to go over the details in the driver, but I
think it should be sufficient to remove the WARN().  When the page_pool
was integrated with the MM-layer, being invoked from the put_page()
call itself, this would indicate a likely API misuse.  But now, with
the page refcnt based recycle tricks, it is the norm (for non-XDP) that
put_page is called without the knowledge of page_pool.

 
> [ 7343.086102] ------------[ cut here ]------------
> [ 7343.086103] __page_pool_put_page() violating page_pool invariance refcnt:0
> [ 7343.086114] WARNING: CPU: 1 PID: 17 at net/core/page_pool.c:291 __page_pool_put_page+0x7c/0xa0

Here page_pool actually catch the page refcnt race correctly, and does
the proper handling of returning it to the page allocator (via __put_page).

I do notice (in the page_pool code) that in case page_pool handles DMA
mapping (which isn't the case, yet), that I'm missing a DMA unmap
release in the code.

-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer

^ permalink raw reply

* Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Antoine Tenart @ 2018-03-19 13:10 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: Antoine Tenart, Russell King - ARM Linux, davem, kishon,
	gregory.clement, jason, sebastian.hesselbarth, netdev,
	linux-kernel, thomas.petazzoni, maxime.chevallier, miquel.raynal,
	nadavh, stefanc, ymarkman, mw, linux-arm-kernel
In-Reply-To: <20180319125953.GD19795@lunn.ch>

Hi Andrew,

On Mon, Mar 19, 2018 at 01:59:53PM +0100, Andrew Lunn wrote:
> 
> If they don't have PHYs, how are the connected to the outside world?

On 7k/8k you have the following scheme for 10G only interfaces:

   MAC -- Comphy -- PHY -- SFP cage -- ...

Or

   MAC -- Comphy -- SFP cage -- ...

The comphy provides serdes lanes, and can be configured in various
modes (SGMII, 2500SGMII, 10GKR...).

Antoine

-- 
Antoine Ténart, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply

* Re: [EXT] Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Andrew Lunn @ 2018-03-19 13:08 UTC (permalink / raw)
  To: Stefan Chulski
  Cc: Antoine Tenart, Russell King - ARM Linux, davem@davemloft.net,
	kishon@ti.com, gregory.clement@bootlin.com, jason@lakedaemon.net,
	sebastian.hesselbarth@gmail.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, thomas.petazzoni@bootlin.com,
	maxime.chevallier@bootlin.com, miquel.raynal@bootlin.com,
	Nadav Haklai, Yan Markman, mw@semihalf.com,
	"linux-arm-kernel@l
In-Reply-To: <54e290a192734831b5db22191f056a81@IL-EXCH01.marvell.com>

> > If they don't have PHYs, how are the connected to the outside world?
> > 
> >    Andrew
> 
> By external SFP or direct attached cable.

Maybe i'm missing something, but don't you just need to add an SFP
device in the device tree. The SFP code and PHYLINK will work
together, query what the SFP module is, use the GPIOs to determine
link up/down and module present, and tell the MAC how to configure the
MAC-SFP link?

     Andrew

^ permalink raw reply

* Re: [EXT] Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Russell King - ARM Linux @ 2018-03-19 13:05 UTC (permalink / raw)
  To: Yan Markman
  Cc: Stefan Chulski, Antoine Tenart, davem@davemloft.net,
	kishon@ti.com, gregory.clement@bootlin.com, andrew@lunn.ch,
	jason@lakedaemon.net, sebastian.hesselbarth@gmail.com,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	thomas.petazzoni@bootlin.com, maxime.chevallier@bootlin.com,
	miquel.raynal@bootlin.com, Nadav Haklai, mw@semihalf.com,
	"linux-arm-kernel@lists.infradea
In-Reply-To: <2ff0a81f55a84069a4652d02a4212b70@IL-EXCH01.marvell.com>

On Mon, Mar 19, 2018 at 01:01:07PM +0000, Yan Markman wrote:
> The DTS-patch for this board (in "old" format) is attached
> 
> 
> Yan Markman
> Tel. 05-44732819
> 
> 
> -----Original Message-----
> From: Stefan Chulski 
> Sent: Monday, March 19, 2018 2:58 PM
> To: Russell King - ARM Linux <linux@armlinux.org.uk>; Antoine Tenart <antoine.tenart@bootlin.com>
> Cc: davem@davemloft.net; kishon@ti.com; gregory.clement@bootlin.com; andrew@lunn.ch; jason@lakedaemon.net; sebastian.hesselbarth@gmail.com; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; thomas.petazzoni@bootlin.com; maxime.chevallier@bootlin.com; miquel.raynal@bootlin.com; Nadav Haklai <nadavh@marvell.com>; Yan Markman <ymarkman@marvell.com>; mw@semihalf.com; linux-arm-kernel@lists.infradead.org
> Subject: RE: [EXT] Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
> 
> > > > There is no inband negotiation like there is with 802.3z or SGMII, 
> > > > so this makes no sense.
> > >
> > > Oh, that's what I feared. I read some docs but probably will need 
> > > more
> > > :)
> > >
> > > Anyway, the reason to use in-band negotiation was also to avoid 
> > > using fixed-link. It would work but always report the link is up, 
> > > which for the user isn't a great experience as we have a way to detect this.
> > >
> > > What would you suggest to achieve this in a reasonable way?
> > 
> > The intention of this test in phylink_of_phy_connect() is to avoid 
> > failing when there is no requirement for a PHY to be present (such as 
> > a fixed link, or an 802.3z link.)  However, with 10G PHYs such as the 
> > 3310, we need the PHY so we can read the speed from it, and so know 
> > whether to downgrade the MAC to SGMII mode, or having downgraded the 
> > MAC, upgrade it back to 10G mode when the PHY switches to 10G.
> > 
> > I'm guessing that you're wanting this for the DB boards, but I don't see why.
> > Do they not have PHYs?
> 
> New Solid Run board MACCHIATObin Single Shot doesn't has  3310 PHY either, like DB boards.
> https://www.cnx-software.com/2017/12/20/solidrun-macchiatobin-single-shot-networking-board-launched-for-269-and-up/

Correct, but this DTS is wrong.  It connects to a SFP cage, and as SFP
cages are supported in mainline now, there's no need to mess around
with fixed links or similar.

I haven't tested phylink in that configuration yet as SolidRun haven't
sent me a SingleShot board yet - and I need any board I do get to have
the pull-up resistors on the I2C lines of the correct value, because
I'm not risking corruption of the EEPROMs in my SFP* modules.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 8.8Mbps down 630kbps up
According to speedtest.net: 8.21Mbps down 510kbps up

^ permalink raw reply

* RE: [EXT] Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Stefan Chulski @ 2018-03-19 13:03 UTC (permalink / raw)
  To: Andrew Lunn, Antoine Tenart
  Cc: mw@semihalf.com, Yan Markman, jason@lakedaemon.net,
	netdev@vger.kernel.org, gregory.clement@bootlin.com,
	Russell King - ARM Linux, kishon@ti.com, Nadav Haklai,
	linux-arm-kernel@lists.infradead.org,
	thomas.petazzoni@bootlin.com, miquel.raynal@bootlin.com,
	maxime.chevallier@bootlin.com, davem@davemloft.net,
	linux-kernel@vger.kernel.org, sebastian.hesselbarth@gmail.com
In-Reply-To: <20180319125953.GD19795@lunn.ch>



> -----Original Message-----
> From: Andrew Lunn [mailto:andrew@lunn.ch]
> Sent: Monday, March 19, 2018 3:00 PM
> To: Antoine Tenart <antoine.tenart@bootlin.com>
> Cc: Russell King - ARM Linux <linux@armlinux.org.uk>;
> davem@davemloft.net; kishon@ti.com; gregory.clement@bootlin.com;
> jason@lakedaemon.net; sebastian.hesselbarth@gmail.com;
> netdev@vger.kernel.org; linux-kernel@vger.kernel.org;
> thomas.petazzoni@bootlin.com; maxime.chevallier@bootlin.com;
> miquel.raynal@bootlin.com; Nadav Haklai <nadavh@marvell.com>; Stefan
> Chulski <stefanc@marvell.com>; Yan Markman <ymarkman@marvell.com>;
> mw@semihalf.com; linux-arm-kernel@lists.infradead.org
> Subject: [EXT] Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR
> interface to use in-band negotiation
> 
> External Email
> 
> ----------------------------------------------------------------------
> Hi Antoine
> 
> > You guessed right, that's exactly my use case. The DB boards (7k and
> > 8k) have 10G interfaces without PHYs.
> 
> If they don't have PHYs, how are the connected to the outside world?
> 
>    Andrew

By external SFP or direct attached cable.

Stefan.

^ permalink raw reply

* RE: [EXT] Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Yan Markman @ 2018-03-19 13:01 UTC (permalink / raw)
  To: Stefan Chulski, Russell King - ARM Linux, Antoine Tenart
  Cc: andrew@lunn.ch, mw@semihalf.com, jason@lakedaemon.net,
	netdev@vger.kernel.org, gregory.clement@bootlin.com,
	linux-kernel@vger.kernel.org, kishon@ti.com, Nadav Haklai,
	thomas.petazzoni@bootlin.com, miquel.raynal@bootlin.com,
	maxime.chevallier@bootlin.com, davem@davemloft.net,
	linux-arm-kernel@lists.infradead.org,
	sebastian.hesselbarth@gmail.com
In-Reply-To: <4e11135ba2644f76beb41a307c9d990a@IL-EXCH01.marvell.com>

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

The DTS-patch for this board (in "old" format) is attached


Yan Markman
Tel. 05-44732819


-----Original Message-----
From: Stefan Chulski 
Sent: Monday, March 19, 2018 2:58 PM
To: Russell King - ARM Linux <linux@armlinux.org.uk>; Antoine Tenart <antoine.tenart@bootlin.com>
Cc: davem@davemloft.net; kishon@ti.com; gregory.clement@bootlin.com; andrew@lunn.ch; jason@lakedaemon.net; sebastian.hesselbarth@gmail.com; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; thomas.petazzoni@bootlin.com; maxime.chevallier@bootlin.com; miquel.raynal@bootlin.com; Nadav Haklai <nadavh@marvell.com>; Yan Markman <ymarkman@marvell.com>; mw@semihalf.com; linux-arm-kernel@lists.infradead.org
Subject: RE: [EXT] Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation

> > > There is no inband negotiation like there is with 802.3z or SGMII, 
> > > so this makes no sense.
> >
> > Oh, that's what I feared. I read some docs but probably will need 
> > more
> > :)
> >
> > Anyway, the reason to use in-band negotiation was also to avoid 
> > using fixed-link. It would work but always report the link is up, 
> > which for the user isn't a great experience as we have a way to detect this.
> >
> > What would you suggest to achieve this in a reasonable way?
> 
> The intention of this test in phylink_of_phy_connect() is to avoid 
> failing when there is no requirement for a PHY to be present (such as 
> a fixed link, or an 802.3z link.)  However, with 10G PHYs such as the 
> 3310, we need the PHY so we can read the speed from it, and so know 
> whether to downgrade the MAC to SGMII mode, or having downgraded the 
> MAC, upgrade it back to 10G mode when the PHY switches to 10G.
> 
> I'm guessing that you're wanting this for the DB boards, but I don't see why.
> Do they not have PHYs?

New Solid Run board MACCHIATObin Single Shot doesn't has  3310 PHY either, like DB boards.
https://www.cnx-software.com/2017/12/20/solidrun-macchiatobin-single-shot-networking-board-launched-for-269-and-up/

Stefan,
Best Regards.

[-- Attachment #2: 0001-arm64-dts-marvell-add-new-mcbin-single-shot-board.patch --]
[-- Type: application/octet-stream, Size: 9179 bytes --]

From 7e4cd12ef1111f85778f1ef2afb3b1b7839dee14 Mon Sep 17 00:00:00 2001
From: Yan Markman <ymarkman@marvell.com>
Date: Mon, 12 Mar 2018 18:08:02 +0200
Subject: [PATCH 1/1] arm64: dts: marvell: add new mcbin-single-shot board

Add new Macchiato version board which has single physical
interface on ports 0 -- only Fiber and no Copper.

The only difference is - no phy node declaration

Change-Id: Ia5876f6371d897c2f29736f623a57f9eb2a69365
Signed-off-by: Yan Markman <ymarkman@marvell.com>
---
 arch/arm64/boot/dts/marvell/Makefile               |   1 +
 .../dts/marvell/armada-8040-mcbin-single-shot.dts  | 323 +++++++++++++++++++++
 2 files changed, 324 insertions(+)
 create mode 100755 arch/arm64/boot/dts/marvell/armada-8040-mcbin-single-shot.dts

diff --git a/arch/arm64/boot/dts/marvell/Makefile b/arch/arm64/boot/dts/marvell/Makefile
index 5633676..8051c0d 100644
--- a/arch/arm64/boot/dts/marvell/Makefile
+++ b/arch/arm64/boot/dts/marvell/Makefile
@@ -9,6 +9,7 @@ dtb-$(CONFIG_ARCH_MVEBU) += armada-3720-espressobin.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-7040-db.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-db.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-mcbin.dtb
+dtb-$(CONFIG_ARCH_MVEBU) += armada-8040-mcbin-single-shot.dtb
 dtb-$(CONFIG_ARCH_MVEBU) += armada-8080-db.dtb
 
 always		:= $(dtb-y)
diff --git a/arch/arm64/boot/dts/marvell/armada-8040-mcbin-single-shot.dts b/arch/arm64/boot/dts/marvell/armada-8040-mcbin-single-shot.dts
new file mode 100755
index 0000000..12eda12
--- /dev/null
+++ b/arch/arm64/boot/dts/marvell/armada-8040-mcbin-single-shot.dts
@@ -0,0 +1,323 @@
+/*
+ * Copyright (C) 2016 Marvell Technology Group Ltd.
+ *
+ * This file is dual-licensed: you can use it either under the terms
+ * of the GPLv2 or the X11 license, at your option. Note that this dual
+ * licensing only applies to this file, and not this project as a
+ * whole.
+ *
+ *  a) This library is free software; you can redistribute it and/or
+ *     modify it under the terms of the GNU General Public License as
+ *     published by the Free Software Foundation; either version 2 of the
+ *     License, or (at your option) any later version.
+ *
+ *     This library is distributed in the hope that it will be useful,
+ *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *     GNU General Public License for more details.
+ *
+ * Or, alternatively,
+ *
+ *  b) Permission is hereby granted, free of charge, to any person
+ *     obtaining a copy of this software and associated documentation
+ *     files (the "Software"), to deal in the Software without
+ *     restriction, including without limitation the rights to use,
+ *     copy, modify, merge, publish, distribute, sublicense, and/or
+ *     sell copies of the Software, and to permit persons to whom the
+ *     Software is furnished to do so, subject to the following
+ *     conditions:
+ *
+ *     The above copyright notice and this permission notice shall be
+ *     included in all copies or substantial portions of the Software.
+ *
+ *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ *     OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/*
+ * Device Tree file for MACCHIATOBin Armada 8040 community board platform
+ */
+
+#include "armada-8040.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+	model = "Marvell 8040 MACHIATOBin SingleShot";
+	compatible = "marvell,armada8040-mcbin-single-shot",
+			"marvell,armada8040-mcbin", "marvell,armada8040",
+			"marvell,armada-ap806-quad", "marvell,armada-ap806";
+
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
+	memory@00000000 {
+		device_type = "memory";
+		reg = <0x0 0x0 0x0 0x80000000>;
+	};
+
+	aliases {
+		ethernet0 = &cpm_eth0;
+		ethernet1 = &cps_eth0;
+		ethernet2 = &cps_eth1;
+		ethernet3 = &cps_eth2;
+	};
+
+	/* Regulator labels correspond with schematics */
+	v_3_3: regulator-3-3v {
+		compatible = "regulator-fixed";
+		regulator-name = "v_3_3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+		status = "okay";
+	};
+
+	v_vddo_h: regulator-1-8v {
+		compatible = "regulator-fixed";
+		regulator-name = "v_vddo_h";
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		regulator-always-on;
+		status = "okay";
+	};
+
+	v_5v0_usb3_hst_vbus: regulator-usb3-vbus0 {
+		compatible = "regulator-fixed";
+		enable-active-high;
+		gpio = <&cpm_gpio2 15 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&cpm_xhci_vbus_pins>;
+		regulator-name = "v_5v0_usb3_hst_vbus";
+		regulator-min-microvolt = <5000000>;
+		regulator-max-microvolt = <5000000>;
+		status = "okay";
+	};
+
+	usb3h0_phy: usb3_phy0 {
+		compatible = "usb-nop-xceiv";
+		vcc-supply = <&v_5v0_usb3_hst_vbus>;
+	};
+};
+
+&uart0 {
+	status = "okay";
+	pinctrl-0 = <&uart0_pins>;
+	pinctrl-names = "default";
+};
+
+&ap_sdhci0 {
+	bus-width = <8>;
+	/*
+	 * Not stable in HS modes - phy needs "more calibration", so add
+	 * the "slow-mode" and disable SDR104, SDR50 and DDR50 modes.
+	 */
+	marvell,xenon-phy-slow-mode;
+	no-1-8-v;
+	no-sd;
+	no-sdio;
+	non-removable;
+	status = "okay";
+	vqmmc-supply = <&v_vddo_h>;
+};
+
+&cpm_i2c0 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&cpm_i2c0_pins>;
+	status = "okay";
+};
+
+&cpm_i2c1 {
+	clock-frequency = <100000>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&cpm_i2c1_pins>;
+	status = "okay";
+
+	i2c-switch@70 {
+		compatible = "nxp,pca9548";
+		#address-cells = <1>;
+		#size-cells = <0>;
+		reg = <0x70>;
+
+		sfpp0_i2c: i2c@0 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <0>;
+		};
+		sfpp1_i2c: i2c@1 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <1>;
+		};
+		sfp_1g_i2c: i2c@2 {
+			#address-cells = <1>;
+			#size-cells = <0>;
+			reg = <2>;
+		};
+	};
+};
+
+&cpm_mdio {
+	pinctrl-names = "default";
+	pinctrl-0 = <&cpm_ge_mdio_pins>;
+	status = "okay";
+
+	ge_phy: ethernet-phy@0 {
+		reg = <0>;
+	};
+};
+
+&cpm_pcie0 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&cpm_pcie_pins>;
+	num-lanes = <4>;
+	num-viewport = <8>;
+	reset-gpio = <&cpm_gpio1 20 GPIO_ACTIVE_LOW>;
+	status = "okay";
+};
+
+&cpm_pinctrl {
+	cpm_ge_mdio_pins: ge-mdio-pins {
+		marvell,pins = "mpp32", "mpp34";
+		marvell,function = "ge";
+	};
+	cpm_i2c1_pins: i2c1-pins {
+		marvell,pins = "mpp35", "mpp36";
+		marvell,function = "i2c1";
+	};
+	cpm_i2c0_pins: i2c0-pins {
+		marvell,pins = "mpp37", "mpp38";
+		marvell,function = "i2c0";
+	};
+	cpm_xhci_vbus_pins: xhci0-vbus-pins {
+		marvell,pins = "mpp47";
+		marvell,function = "gpio";
+	};
+	cpm_pcie_pins: pcie-pins {
+		marvell,pins = "mpp52";
+		marvell,function = "gpio";
+	};
+	cpm_sdhci_pins: sdhci-pins {
+		marvell,pins = "mpp55", "mpp56", "mpp57", "mpp58", "mpp59",
+			       "mpp60", "mpp61";
+		marvell,function = "sdio";
+	};
+};
+
+&cpm_xmdio {
+	status = "okay";
+
+	phy0: ethernet-phy@0 {
+		compatible = "ethernet-phy-ieee802.3-c45";
+		reg = <0>;
+	};
+
+	phy8: ethernet-phy@8 {
+		compatible = "ethernet-phy-ieee802.3-c45";
+		reg = <8>;
+	};
+};
+
+&cpm_ethernet {
+	status = "okay";
+};
+
+&cpm_eth0 {
+	status = "okay";
+	phy-mode = "10gbase-kr";
+	/* Generic PHY, providing serdes lanes */
+	phys = <&cpm_comphy4 0>;
+};
+
+&cpm_sata0 {
+	/* CPM Lane 0 - U29 */
+	status = "okay";
+};
+
+&cpm_sdhci0 {
+	/* U6 */
+	broken-cd;
+	bus-width = <4>;
+	pinctrl-names = "default";
+	pinctrl-0 = <&cpm_sdhci_pins>;
+	status = "okay";
+	vqmmc-supply = <&v_3_3>;
+};
+
+&cpm_usb3_0 {
+	/* J38? - USB2.0 only */
+	status = "okay";
+};
+
+&cpm_usb3_1 {
+	/* J38? - USB2.0 only */
+	status = "okay";
+};
+
+&cps_ethernet {
+	status = "okay";
+};
+
+&cps_eth0 {
+	status = "okay";
+	phy-mode = "10gbase-kr";
+	/* Generic PHY, providing serdes lanes */
+	phys = <&cps_comphy4 0>;
+};
+
+&cps_eth1 {
+	/* CPS Lane 0 - J5 (Gigabit RJ45) */
+	status = "okay";
+	/* Network PHY */
+	phy = <&ge_phy>;
+	phy-mode = "sgmii";
+	/* Generic PHY, providing serdes lanes */
+	phys = <&cps_comphy0 1>;
+};
+
+&cps_eth2 {
+	/* CPS Lane 5 */
+	status = "okay";
+	phy-mode = "2500base-x";
+	/* Generic PHY, providing serdes lanes */
+	phys = <&cps_comphy5 2>;
+};
+
+&cps_pinctrl {
+	cps_spi1_pins: spi1-pins {
+		marvell,pins = "mpp12", "mpp13", "mpp14", "mpp15", "mpp16";
+		marvell,function = "spi1";
+	};
+};
+
+&cps_sata0 {
+	/* CPS Lane 1 - U32 */
+	/* CPS Lane 3 - U31 */
+	status = "okay";
+};
+
+&cps_spi1 {
+	pinctrl-names = "default";
+	pinctrl-0 = <&cps_spi1_pins>;
+	status = "okay";
+
+	spi-flash@0 {
+		compatible = "st,w25q32";
+		spi-max-frequency = <50000000>;
+		reg = <0>;
+	};
+};
+
+&cps_usb3_0 {
+	/* CPS Lane 2 - CON7 */
+	usb-phy = <&usb3h0_phy>;
+	status = "okay";
+};
-- 
2.0.4


[-- Attachment #3: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related

* Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Andrew Lunn @ 2018-03-19 12:59 UTC (permalink / raw)
  To: Antoine Tenart
  Cc: Russell King - ARM Linux, davem, kishon, gregory.clement, jason,
	sebastian.hesselbarth, netdev, linux-kernel, thomas.petazzoni,
	maxime.chevallier, miquel.raynal, nadavh, stefanc, ymarkman, mw,
	linux-arm-kernel
In-Reply-To: <20180319125227.GI4519@kwain>

Hi Antoine

> You guessed right, that's exactly my use case. The DB boards (7k and 8k)
> have 10G interfaces without PHYs.

If they don't have PHYs, how are the connected to the outside world?

   Andrew

^ permalink raw reply

* RE: [EXT] Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Stefan Chulski @ 2018-03-19 12:58 UTC (permalink / raw)
  To: Russell King - ARM Linux, Antoine Tenart
  Cc: davem@davemloft.net, kishon@ti.com, gregory.clement@bootlin.com,
	andrew@lunn.ch, jason@lakedaemon.net,
	sebastian.hesselbarth@gmail.com, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, thomas.petazzoni@bootlin.com,
	maxime.chevallier@bootlin.com, miquel.raynal@bootlin.com,
	Nadav Haklai, Yan Markman, mw@semihalf.com,
	linux-arm-kernel@lists.infradead.org
In-Reply-To: <20180319111205.GB2743@n2100.armlinux.org.uk>

> > > There is no inband negotiation like there is with 802.3z or SGMII,
> > > so this makes no sense.
> >
> > Oh, that's what I feared. I read some docs but probably will need more
> > :)
> >
> > Anyway, the reason to use in-band negotiation was also to avoid using
> > fixed-link. It would work but always report the link is up, which for
> > the user isn't a great experience as we have a way to detect this.
> >
> > What would you suggest to achieve this in a reasonable way?
> 
> The intention of this test in phylink_of_phy_connect() is to avoid failing
> when there is no requirement for a PHY to be present (such as a fixed link, or
> an 802.3z link.)  However, with 10G PHYs such as the 3310, we need the PHY
> so we can read the speed from it, and so know whether to downgrade the
> MAC to SGMII mode, or having downgraded the MAC, upgrade it back to 10G
> mode when the PHY switches to 10G.
> 
> I'm guessing that you're wanting this for the DB boards, but I don't see why.
> Do they not have PHYs?

New Solid Run board MACCHIATObin Single Shot doesn't has  3310 PHY either, like DB boards.
https://www.cnx-software.com/2017/12/20/solidrun-macchiatobin-single-shot-networking-board-launched-for-269-and-up/

Stefan,
Best Regards.

^ permalink raw reply

* Re: [bug, bisected] pfifo_fast causes packet reordering
From: Jakob Unterwurzacher @ 2018-03-19 12:56 UTC (permalink / raw)
  To: Paolo Abeni, John Fastabend, Dave Taht
  Cc: netdev, linux-kernel, David S. Miller, linux-can@vger.kernel.org,
	Martin Elshuber
In-Reply-To: <1521462750.3059.12.camel@redhat.com>

On 19.03.18 13:32, Paolo Abeni wrote:
> Is not clear to me if you can reproduce the bug with the vanilla
> kernel, or if  you need some out-of-tree nic driver. Can you please
> clarify which NIC/driver are you using?

Yes I reproduced it with a vanilla kernel. I use two off-the-shelf USB 
NICs, lsusb says:

   Bus 005 Device 013: ID 0b95:7720 ASIX Electronics Corp. AX88772
   Bus 005 Device 014: ID 0b95:772b ASIX Electronics Corp. AX88772B

Photo of the setup:
https://github.com/jakob-tsd/pfifo_stress/blob/master/usb_nics.jpg

Best regards,
Jakob

^ permalink raw reply

* Re: [PATCH net-next 02/10] net: phy: phylink: allow 10GKR interface to use in-band negotiation
From: Antoine Tenart @ 2018-03-19 12:52 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: Antoine Tenart, davem, kishon, gregory.clement, andrew, jason,
	sebastian.hesselbarth, netdev, linux-kernel, thomas.petazzoni,
	maxime.chevallier, miquel.raynal, nadavh, stefanc, ymarkman, mw,
	linux-arm-kernel
In-Reply-To: <20180319111205.GB2743@n2100.armlinux.org.uk>

Hi Russell,

On Mon, Mar 19, 2018 at 11:12:05AM +0000, Russell King - ARM Linux wrote:
> On Mon, Mar 19, 2018 at 09:52:52AM +0100, Antoine Tenart wrote:
> > 
> > Anyway, the reason to use in-band negotiation was also to avoid using
> > fixed-link. It would work but always report the link is up, which for
> > the user isn't a great experience as we have a way to detect this.
> > 
> > What would you suggest to achieve this in a reasonable way?
> 
> The intention of this test in phylink_of_phy_connect() is to avoid
> failing when there is no requirement for a PHY to be present (such as
> a fixed link, or an 802.3z link.)  However, with 10G PHYs such as the
> 3310, we need the PHY so we can read the speed from it, and so know
> whether to downgrade the MAC to SGMII mode, or having downgraded the
> MAC, upgrade it back to 10G mode when the PHY switches to 10G.
> 
> I'm guessing that you're wanting this for the DB boards, but I don't
> see why.  Do they not have PHYs?

You guessed right, that's exactly my use case. The DB boards (7k and 8k)
have 10G interfaces without PHYs. I could describe them as fixed-link
(it works), but it would be better not to require a PHY in
phylink_of_phy_connect() for such interfaces.

That's why I used in-band AN, which is wrong, but we still probably
need to add a check to allow such setups. I'm all ears for suggestions
as I do not have the full picture of all the supported modes and their
requirements.

Thanks!
Antoine

-- 
Antoine Ténart, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply

* Re: [PATCH] net: phy: realtek: Add dummy stubs for MMD register access for rtl8211b
From: Kevin Hao @ 2018-03-19 12:51 UTC (permalink / raw)
  To: Andrew Lunn; +Cc: netdev, Florian Fainelli, Claudiu Manoil
In-Reply-To: <20180319123939.GC19795@lunn.ch>

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

On Mon, Mar 19, 2018 at 01:39:39PM +0100, Andrew Lunn wrote:
> On Mon, Mar 19, 2018 at 08:05:47PM +0800, Kevin Hao wrote:
> > The Ethernet on mpc8315erdb is broken since commit b6b5e8a69118
> > ("gianfar: Disable EEE autoneg by default"). The reason is that
> > even though the rtl8211b doesn't support the MMD extended registers
> > access, it does return some random values if we trying to access
> > the MMD register via indirect method. This makes it seem that the
> > EEE is supported by this phy device. And the subsequent writing to
> > the MMD registers does cause the phy malfunction. So add dummy stubs
> > for the MMD register access to fix this issue.
> 
> Hi Kevin
> 
> The Micrel PHY has the same problem. Please add generic
> genphy_read_mmd_unsupported() and genphy_write_mmd_unsupported() to
> phy_device.c, and use them from both the Micrel and Realtek PHY
> drivers.
> 
> Also, a return value of -EOPNOTSUPP is more appropriate.

Thanks for the suggestion. Will do.

Thanks,
Kevin

> 
> Thanks
> 
> 	Andrew

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

^ permalink raw reply

* Re: [PATCH] net: phy: realtek: Add dummy stubs for MMD register access for rtl8211b
From: Andrew Lunn @ 2018-03-19 12:39 UTC (permalink / raw)
  To: Kevin Hao; +Cc: netdev, Florian Fainelli, Claudiu Manoil
In-Reply-To: <20180319120547.18707-1-haokexin@gmail.com>

On Mon, Mar 19, 2018 at 08:05:47PM +0800, Kevin Hao wrote:
> The Ethernet on mpc8315erdb is broken since commit b6b5e8a69118
> ("gianfar: Disable EEE autoneg by default"). The reason is that
> even though the rtl8211b doesn't support the MMD extended registers
> access, it does return some random values if we trying to access
> the MMD register via indirect method. This makes it seem that the
> EEE is supported by this phy device. And the subsequent writing to
> the MMD registers does cause the phy malfunction. So add dummy stubs
> for the MMD register access to fix this issue.

Hi Kevin

The Micrel PHY has the same problem. Please add generic
genphy_read_mmd_unsupported() and genphy_write_mmd_unsupported() to
phy_device.c, and use them from both the Micrel and Realtek PHY
drivers.

Also, a return value of -EOPNOTSUPP is more appropriate.

Thanks

	Andrew

^ permalink raw reply

* Re: [bug, bisected] pfifo_fast causes packet reordering
From: Paolo Abeni @ 2018-03-19 12:32 UTC (permalink / raw)
  To: Jakob Unterwurzacher, John Fastabend, Dave Taht
  Cc: netdev, linux-kernel, David S. Miller, linux-can@vger.kernel.org,
	Martin Elshuber
In-Reply-To: <340a6c54-6031-5522-98f5-eafdd3a37a38@theobroma-systems.com>

Hi,

On Fri, 2018-03-16 at 11:26 +0100, Jakob Unterwurzacher wrote:
> On 15.03.18 23:30, John Fastabend wrote:
> > > I have reproduced it using two USB network cards connected to each other. The test tool sends UDP packets containing a counter and listens on the other interface, it is available at
> > > https://github.com/jakob-tsd/pfifo_stress/blob/master/pfifo_stress.py
> > > 
> > 
> > Great thanks, can you also run this with taskset to bind to
> > a single CPU,
> > 
> >   # taskset 0x1 ./pifof_stress.py
> > 
> > And let me know if you still see the OOO.
> 
> Interesting. Looks like it depends on which core it runs on. CPU0 is 
> clean, CPU1 is not.
> 
> Clean:	taskset --cpu-list 0 ./pfifo_stress.py
> 
> Broken:	taskset --cpu-list 1 ./pfifo_stress.py
> 
> Maybe related: CPU0 is where USB interrupts are handled:
> 
> > root@rk3399-q7:~# cat /proc/interrupts           
> >            CPU0       CPU1       CPU2       CPU3       CPU4       CPU5
> > 217:    2175353          0          0          0          0          0     GICv3 142 Level     xhci-hcd:usb5


Is not clear to me if you can reproduce the bug with the vanilla
kernel, or if  you need some out-of-tree nic driver. Can you please
clarify which NIC/driver are you using?

Thanks,

Paolo

^ permalink raw reply

* Re: NETDEV WATCHDOG: eth2 (e1000e): transmit queue 0 timed out
From: Marco Berizzi @ 2018-03-19 12:25 UTC (permalink / raw)
  To: netdev
In-Reply-To: <1059563721.739792.1519054630935@mail.libero.it>

> Marco Berizzi wrote:
> 
> 
> Hello everyone,
> 
> After upgrading to linux 4.15.3 (4.15.2 was the last version
> with no error), I'm getting this error message.
> This a Slackware 14.2 64bit ipsec gateway running strongswan.
> 
> Any response are welcome.
> 
> TIA

Hello everyone again,

I'm getting the same error messages, after hardware
replacement and kernel upgrade to 4.16-rc5.

Any response are welcome.

TIA

[    0.000000] Linux version 4.16.0-rc5 (root@Pleiadi) (gcc version 5.5.0 (GCC)) #1 SMP Mon Mar 12 12:21:27 CET 2018
[    0.000000] Command line: auto BOOT_IMAGE=Linux ro root=805 vt.default_utf8=0
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'
[    0.000000] x86/fpu: xstate_offset[2]:  576, xstate_sizes[2]:  256
[    0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using 'standard' format.
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000001fffffff] usable
[    0.000000] BIOS-e820: [mem 0x0000000020000000-0x00000000201fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000020200000-0x0000000040003fff] usable
[    0.000000] BIOS-e820: [mem 0x0000000040004000-0x0000000040004fff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000040005000-0x00000000d4176fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000d4177000-0x00000000d4622fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000d4623000-0x00000000d463cfff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000d463d000-0x00000000d6609fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000d660a000-0x00000000d67d2fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000d67d3000-0x00000000d67d3fff] usable
[    0.000000] BIOS-e820: [mem 0x00000000d67d4000-0x00000000d6816fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000d6817000-0x00000000d6ffffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000d7000000-0x00000000df9fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000f8000000-0x00000000fbffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed03fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff000000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000011e5fffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] random: fast init done
[    0.000000] SMBIOS 2.7 present.
[    0.000000] DMI: LENOVO 3220A11/MAHOBAY, BIOS 9SKT99AUS 06/30/2017
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.000000] e820: last_pfn = 0x11e600 max_arch_pfn = 0x400000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-CFFFF write-protect
[    0.000000]   D0000-E7FFF uncachable
[    0.000000]   E8000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask F00000000 write-back
[    0.000000]   1 base 100000000 mask FE0000000 write-back
[    0.000000]   2 base 0E0000000 mask FE0000000 uncachable
[    0.000000]   3 base 0D8000000 mask FF8000000 uncachable
[    0.000000]   4 base 0D7800000 mask FFF800000 uncachable
[    0.000000]   5 base 11F000000 mask FFF000000 uncachable
[    0.000000]   6 base 11E800000 mask FFF800000 uncachable
[    0.000000]   7 base 11E600000 mask FFFE00000 uncachable
[    0.000000]   8 disabled
[    0.000000]   9 disabled
[    0.000000] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT  
[    0.000000] e820: update [mem 0xd7800000-0xffffffff] usable ==> reserved
[    0.000000] e820: last_pfn = 0xd7000 max_arch_pfn = 0x400000000
[    0.000000] Base memory trampoline at [        (ptrval)] 97000 size 24576
[    0.000000] BRK [0x01cbd000, 0x01cbdfff] PGTABLE
[    0.000000] BRK [0x01cbe000, 0x01cbefff] PGTABLE
[    0.000000] BRK [0x01cbf000, 0x01cbffff] PGTABLE
[    0.000000] BRK [0x01cc0000, 0x01cc0fff] PGTABLE
[    0.000000] BRK [0x01cc1000, 0x01cc1fff] PGTABLE
[    0.000000] BRK [0x01cc2000, 0x01cc2fff] PGTABLE
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000000F0450 000024 (v02 LENOVO)
[    0.000000] ACPI: XSDT 0x00000000D4628080 000084 (v01 LENOVO TC-9S    00001620 AMI  00010013)
[    0.000000] ACPI: FACP 0x00000000D463A638 00010C (v05 LENOVO TC-9S    00001620 AMI  00010013)
[    0.000000] ACPI: DSDT 0x00000000D4628198 01249E (v02 LENOVO TC-9S    00001620 INTL 20051117)
[    0.000000] ACPI: FACS 0x00000000D65F7080 000040
[    0.000000] ACPI: APIC 0x00000000D463A748 000072 (v03 LENOVO TC-9S    00001620 AMI  00010013)
[    0.000000] ACPI: FPDT 0x00000000D463A7C0 000044 (v01 LENOVO TC-9S    00001620 AMI  00010013)
[    0.000000] ACPI: MCFG 0x00000000D463A808 00003C (v01 LENOVO TC-9S    00001620 MSFT 00000097)
[    0.000000] ACPI: SLIC 0x00000000D463A848 000176 (v01 LENOVO TC-9S    00001620 AMI  00010013)
[    0.000000] ACPI: HPET 0x00000000D463A9C0 000038 (v01 LENOVO TC-9S    00001620 AMI. 00000005)
[    0.000000] ACPI: SSDT 0x00000000D463A9F8 00036D (v01 LENOVO TC-9S    00001620 INTL 20091112)
[    0.000000] ACPI: SSDT 0x00000000D463AD68 0009AA (v01 LENOVO TC-9S    00001620 INTL 20051117)
[    0.000000] ACPI: SSDT 0x00000000D463B718 000B22 (v01 LENOVO TC-9S    00001620 INTL 20051117)
[    0.000000] ACPI: ASF! 0x00000000D463C240 0000A5 (v32 LENOVO TC-9S    00001620 TFSM 000F4240)
[    0.000000] ACPI: BGRT 0x00000000D463C2E8 000038 (v00 LENOVO TC-9S    00001620 AMI  00010013)
[    0.000000] ACPI: TCPA 0x00000000D463C320 000032 (v02 LENOVO TC-9S    00001620 MSFT 01000013)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.000000]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000011e5fffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000001000-0x000000000009cfff]
[    0.000000]   node   0: [mem 0x0000000000100000-0x000000001fffffff]
[    0.000000]   node   0: [mem 0x0000000020200000-0x0000000040003fff]
[    0.000000]   node   0: [mem 0x0000000040005000-0x00000000d4176fff]
[    0.000000]   node   0: [mem 0x00000000d67d3000-0x00000000d67d3fff]
[    0.000000]   node   0: [mem 0x00000000d6817000-0x00000000d6ffffff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x000000011e5fffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000001000-0x000000011e5fffff]
[    0.000000] On node 0 totalpages: 994556
[    0.000000]   DMA zone: 64 pages used for memmap
[    0.000000]   DMA zone: 21 pages reserved
[    0.000000]   DMA zone: 3996 pages, LIFO batch:0
[    0.000000]   DMA32 zone: 13534 pages used for memmap
[    0.000000]   DMA32 zone: 866144 pages, LIFO batch:31
[    0.000000]   Normal zone: 1944 pages used for memmap
[    0.000000]   Normal zone: 124416 pages, LIFO batch:31
[    0.000000] Reserved but unavailable: 100 pages
[    0.000000] Reserving Intel graphics memory at [mem 0xd7a00000-0xdf9fffff]
[    0.000000] ACPI: PM-Timer IO Port: 0x408
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0xff] high edge lint[0x1])
[    0.000000] IOAPIC[0]: apic_id 8, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a701 base: 0xfed00000
[    0.000000] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.000000] e820: [mem 0xdfa00000-0xf7ffffff] available for PCI devices
[    0.000000] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
[    0.000000] setup_percpu: NR_CPUS:4 nr_cpumask_bits:4 nr_cpu_ids:4 nr_node_ids:1
[    0.000000] percpu: Embedded 41 pages/cpu @        (ptrval) s129944 r8192 d29800 u524288
[    0.000000] pcpu-alloc: s129944 r8192 d29800 u524288 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 1 2 3 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 978993
[    0.000000] Kernel command line: auto BOOT_IMAGE=Linux ro root=805 vt.default_utf8=0
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
[    0.000000] Memory: 3828752K/3978224K available (6152K kernel code, 333K rwdata, 1220K rodata, 764K init, 460K bss, 149472K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Kernel/User page tables isolation: enabled
[    0.000000] Hierarchical RCU implementation.
[    0.000000] NR_IRQS: 4352, nr_irqs: 456, preallocated irqs: 16
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] ACPI: Core revision 20180105
[    0.000000] ACPI: 4 ACPI AML tables successfully acquired and loaded
[    0.000000] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484882848 ns
[    0.000000] hpet clockevent registered
[    0.000000] APIC: Switch to symmetric I/O mode setup
[    0.000000] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=0 pin2=0
[    0.005000] tsc: Fast TSC calibration using PIT
[    0.006000] tsc: Detected 3192.735 MHz processor
[    0.006000] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x2e057ae94e3, max_idle_ns: 440795219108 ns
[    0.006000] Calibrating delay loop (skipped), value calculated using timer frequency.. 6385.47 BogoMIPS (lpj=3192735)
[    0.006000] pid_max: default: 32768 minimum: 301
[    0.006000] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.006000] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.006000] CPU: Physical Processor ID: 0
[    0.006000] CPU: Processor Core ID: 0
[    0.006000] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
[    0.006000] ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)
[    0.006000] process: using mwait in idle threads
[    0.007003] Last level iTLB entries: 4KB 512, 2MB 8, 4MB 8
[    0.007074] Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32, 1GB 0
[    0.007144] Spectre V2 : Mitigation: Full generic retpoline
[    0.007280] Freeing SMP alternatives memory: 20K
[    0.008041] TSC deadline timer enabled
[    0.008043] smpboot: CPU0: Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz (family: 0x6, model: 0x3a, stepping: 0x9)
[    0.008193] Performance Events: PEBS fmt1+, IvyBridge events, 16-deep LBR, full-width counters, Intel PMU driver.
[    0.008329] ... version:                3
[    0.008396] ... bit width:              48
[    0.008463] ... generic registers:      8
[    0.008530] ... value mask:             0000ffffffffffff
[    0.008598] ... max period:             00007fffffffffff
[    0.008667] ... fixed-purpose events:   3
[    0.008733] ... event mask:             00000007000000ff
[    0.008824] Hierarchical SRCU implementation.
[    0.008951] smp: Bringing up secondary CPUs ...
[    0.009015] x86: Booting SMP configuration:
[    0.009085] .... node  #0, CPUs:      #1 #2 #3
[    0.012019] smp: Brought up 1 node, 4 CPUs
[    0.012138] smpboot: Max logical packages: 1
[    0.012205] smpboot: Total of 4 processors activated (25541.88 BogoMIPS)
[    0.013069] devtmpfs: initialized
[    0.013160] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.013160] futex hash table entries: 1024 (order: 4, 65536 bytes)
[    0.013234] xor: automatically using best checksumming function   avx       
[    0.013343] NET: Registered protocol family 16
[    0.013489] cpuidle: using governor ladder
[    0.013489] cpuidle: using governor menu
[    0.013489] ACPI FADT declares the system doesn't support PCIe ASPM, so disable it
[    0.014002] ACPI: bus type PCI registered
[    0.014077] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 0xf8000000-0xfbffffff] (base 0xf8000000)
[    0.014194] PCI: MMCONFIG at [mem 0xf8000000-0xfbffffff] reserved in E820
[    0.014269] pmd_set_huge: Cannot satisfy [mem 0xf8000000-0xf8200000] with a huge-page mapping due to MTRR override.
[    0.014416] PCI: Using configuration type 1 for base access
[    0.014507] core: PMU erratum BJ122, BV98, HSD29 workaround disabled, HT off
[    0.031068] raid6: sse2x1   gen()  8726 MB/s
[    0.048070] raid6: sse2x1   xor()  6316 MB/s
[    0.065073] raid6: sse2x2   gen() 10878 MB/s
[    0.082078] raid6: sse2x2   xor()  7566 MB/s
[    0.099084] raid6: sse2x4   gen() 12601 MB/s
[    0.116088] raid6: sse2x4   xor()  9425 MB/s
[    0.116155] raid6: using algorithm sse2x4 gen() 12601 MB/s
[    0.116224] raid6: .... xor() 9425 MB/s, rmw enabled
[    0.116293] raid6: using ssse3x2 recovery algorithm
[    0.117002] ACPI: Added _OSI(Module Device)
[    0.117002] ACPI: Added _OSI(Processor Device)
[    0.117002] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.117002] ACPI: Added _OSI(Processor Aggregator Device)
[    0.117002] ACPI: Executed 1 blocks of module-level executable AML code
[    0.122309] ACPI: Dynamic OEM Table Load:
[    0.122384] ACPI: SSDT 0xFFFF880119A54000 00083B (v01 PmRef  Cpu0Cst  00003001 INTL 20051117)
[    0.123161] ACPI: Dynamic OEM Table Load:
[    0.123234] ACPI: SSDT 0xFFFF880119BB6400 000303 (v01 PmRef  ApIst    00003000 INTL 20051117)
[    0.123475] ACPI: Dynamic OEM Table Load:
[    0.123475] ACPI: SSDT 0xFFFF880119A1FC00 000119 (v01 PmRef  ApCst    00003000 INTL 20051117)
[    0.123872] ACPI: Interpreter enabled
[    0.123944] ACPI: (supports S0 S5)
[    0.124001] ACPI: Using IOAPIC for interrupt routing
[    0.125000] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.125000] ACPI: Enabled 17 GPEs in block 00 to 3F
[    0.131007] ACPI: Power Resource [FN00] (off)
[    0.132050] ACPI: Power Resource [FN01] (off)
[    0.132165] ACPI: Power Resource [FN02] (off)
[    0.132280] ACPI: Power Resource [FN03] (off)
[    0.132396] ACPI: Power Resource [FN04] (off)
[    0.133006] ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
[    0.133025] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-3e])
[    0.133100] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI]
[    0.133334] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug PME]
[    0.133494] acpi PNP0A08:00: _OSC: OS now controls [AER PCIeCapability]
[    0.133568] acpi PNP0A08:00: FADT indicates ASPM is unsupported, using BIOS configuration
[    0.134000] PCI host bridge to bus 0000:00
[    0.134000] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.134000] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.134002] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.134074] pci_bus 0000:00: root bus resource [mem 0x000d0000-0x000d3fff window]
[    0.134146] pci_bus 0000:00: root bus resource [mem 0x000d4000-0x000d7fff window]
[    0.134218] pci_bus 0000:00: root bus resource [mem 0x000d8000-0x000dbfff window]
[    0.134290] pci_bus 0000:00: root bus resource [mem 0x000dc000-0x000dffff window]
[    0.134362] pci_bus 0000:00: root bus resource [mem 0x000e0000-0x000e3fff window]
[    0.134434] pci_bus 0000:00: root bus resource [mem 0x000e4000-0x000e7fff window]
[    0.134506] pci_bus 0000:00: root bus resource [mem 0xdfa00000-0xfeafffff window]
[    0.134578] pci_bus 0000:00: root bus resource [bus 00-3e]
[    0.134653] pci 0000:00:00.0: [8086:0150] type 00 class 0x060000
[    0.135001] pci 0000:00:01.0: [8086:0151] type 01 class 0x060400
[    0.135001] pci 0000:00:01.0: PME# supported from D0 D3hot D3cold
[    0.135006] pci 0000:00:02.0: [8086:0152] type 00 class 0x030000
[    0.135006] pci 0000:00:02.0: reg 0x10: [mem 0xf7800000-0xf7bfffff 64bit]
[    0.135006] pci 0000:00:02.0: reg 0x18: [mem 0xe0000000-0xefffffff 64bit pref]
[    0.135006] pci 0000:00:02.0: reg 0x20: [io  0xf000-0xf03f]
[    0.135006] pci 0000:00:14.0: [8086:1e31] type 00 class 0x0c0330
[    0.135006] pci 0000:00:14.0: reg 0x10: [mem 0xf7f20000-0xf7f2ffff 64bit]
[    0.135006] pci 0000:00:14.0: PME# supported from D3hot D3cold
[    0.135040] pci 0000:00:16.0: [8086:1e3a] type 00 class 0x078000
[    0.135063] pci 0000:00:16.0: reg 0x10: [mem 0xf7f38000-0xf7f3800f 64bit]
[    0.135133] pci 0000:00:16.0: PME# supported from D0 D3hot D3cold
[    0.135186] pci 0000:00:16.3: [8086:1e3d] type 00 class 0x070002
[    0.135205] pci 0000:00:16.3: reg 0x10: [io  0xf0e0-0xf0e7]
[    0.135214] pci 0000:00:16.3: reg 0x14: [mem 0xf7f36000-0xf7f36fff]
[    0.135333] pci 0000:00:19.0: [8086:1502] type 00 class 0x020000
[    0.135351] pci 0000:00:19.0: reg 0x10: [mem 0xf7f00000-0xf7f1ffff]
[    0.135359] pci 0000:00:19.0: reg 0x14: [mem 0xf7f35000-0xf7f35fff]
[    0.135367] pci 0000:00:19.0: reg 0x18: [io  0xf080-0xf09f]
[    0.135421] pci 0000:00:19.0: PME# supported from D0 D3hot D3cold
[    0.135472] pci 0000:00:1a.0: [8086:1e2d] type 00 class 0x0c0320
[    0.135492] pci 0000:00:1a.0: reg 0x10: [mem 0xf7f34000-0xf7f343ff]
[    0.135570] pci 0000:00:1a.0: PME# supported from D0 D3hot D3cold
[    0.135627] pci 0000:00:1d.0: [8086:1e26] type 00 class 0x0c0320
[    0.135647] pci 0000:00:1d.0: reg 0x10: [mem 0xf7f33000-0xf7f333ff]
[    0.135725] pci 0000:00:1d.0: PME# supported from D0 D3hot D3cold
[    0.136000] pci 0000:00:1e.0: [8086:244e] type 01 class 0x060401
[    0.136006] pci 0000:00:1f.0: [8086:1e47] type 00 class 0x060100
[    0.136020] pci 0000:00:1f.2: [8086:1e02] type 00 class 0x010601
[    0.136037] pci 0000:00:1f.2: reg 0x10: [io  0xf0d0-0xf0d7]
[    0.136043] pci 0000:00:1f.2: reg 0x14: [io  0xf0c0-0xf0c3]
[    0.136050] pci 0000:00:1f.2: reg 0x18: [io  0xf0b0-0xf0b7]
[    0.136057] pci 0000:00:1f.2: reg 0x1c: [io  0xf0a0-0xf0a3]
[    0.136064] pci 0000:00:1f.2: reg 0x20: [io  0xf060-0xf07f]
[    0.136071] pci 0000:00:1f.2: reg 0x24: [mem 0xf7f32000-0xf7f327ff]
[    0.136107] pci 0000:00:1f.2: PME# supported from D3hot
[    0.136158] pci 0000:00:1f.3: [8086:1e22] type 00 class 0x0c0500
[    0.136175] pci 0000:00:1f.3: reg 0x10: [mem 0xf7f31000-0xf7f310ff 64bit]
[    0.136194] pci 0000:00:1f.3: reg 0x20: [io  0xf040-0xf05f]
[    0.136487] pci 0000:01:00.0: [8086:1521] type 00 class 0x020000
[    0.136968] pci 0000:01:00.0: reg 0x10: [mem 0xf7d00000-0xf7dfffff]
[    0.137398] pci 0000:01:00.0: reg 0x1c: [mem 0xf7e84000-0xf7e87fff]
[    0.137839] pci 0000:01:00.0: reg 0x30: [mem 0xf7e00000-0xf7e7ffff pref]
[    0.139126] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.139639] pci 0000:01:00.1: [8086:1521] type 00 class 0x020000
[    0.140084] pci 0000:01:00.1: reg 0x10: [mem 0xf7c00000-0xf7cfffff]
[    0.140524] pci 0000:01:00.1: reg 0x1c: [mem 0xf7e80000-0xf7e83fff]
[    0.142188] pci 0000:01:00.1: PME# supported from D0 D3hot D3cold
[    1.145005] pci 0000:00:01.0: ASPM: Could not configure common clock
[    1.145386] pci 0000:00:01.0: PCI bridge to [bus 01]
[    1.145457] pci 0000:00:01.0:   bridge window [mem 0xf7c00000-0xf7efffff]
[    1.145517] pci 0000:00:1e.0: PCI bridge to [bus 02] (subtractive decode)
[    1.145595] pci 0000:00:1e.0:   bridge window [io  0x0000-0x0cf7 window] (subtractive decode)
[    1.145596] pci 0000:00:1e.0:   bridge window [io  0x0d00-0xffff window] (subtractive decode)
[    1.145597] pci 0000:00:1e.0:   bridge window [mem 0x000a0000-0x000bffff window] (subtractive decode)
[    1.145598] pci 0000:00:1e.0:   bridge window [mem 0x000d0000-0x000d3fff window] (subtractive decode)
[    1.145599] pci 0000:00:1e.0:   bridge window [mem 0x000d4000-0x000d7fff window] (subtractive decode)
[    1.145600] pci 0000:00:1e.0:   bridge window [mem 0x000d8000-0x000dbfff window] (subtractive decode)
[    1.145601] pci 0000:00:1e.0:   bridge window [mem 0x000dc000-0x000dffff window] (subtractive decode)
[    1.145602] pci 0000:00:1e.0:   bridge window [mem 0x000e0000-0x000e3fff window] (subtractive decode)
[    1.145603] pci 0000:00:1e.0:   bridge window [mem 0x000e4000-0x000e7fff window] (subtractive decode)
[    1.145604] pci 0000:00:1e.0:   bridge window [mem 0xdfa00000-0xfeafffff window] (subtractive decode)
[    1.145615] pci_bus 0000:00: on NUMA node 0
[    1.146051] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 10 *11 12 14 15)
[    1.146165] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 *10 11 12 14 15)
[    1.146276] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 *10 11 12 14 15)
[    1.146383] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 *5 6 10 11 12 14 15)
[    1.146490] ACPI: PCI Interrupt Link [LNKE] (IRQs *3 4 5 6 10 11 12 14 15)
[    1.146594] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    1.146703] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 5 6 10 11 12 14 15) *0, disabled.
[    1.146815] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 10 *11 12 14 15)
[    1.147072] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[    1.147078] pci 0000:00:02.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[    1.147194] pci 0000:00:02.0: vgaarb: bridge control possible
[    1.147264] vgaarb: loaded
[    1.147366] SCSI subsystem initialized
[    1.147438] libata version 3.00 loaded.
[    1.147438] PCI: Using ACPI for IRQ routing
[    1.149078] PCI: pci_cache_line_size set to 64 bytes
[    1.149194] e820: reserve RAM buffer [mem 0x0009d800-0x0009ffff]
[    1.149195] e820: reserve RAM buffer [mem 0x40004000-0x43ffffff]
[    1.149195] e820: reserve RAM buffer [mem 0xd4177000-0xd7ffffff]
[    1.149196] e820: reserve RAM buffer [mem 0xd67d4000-0xd7ffffff]
[    1.149197] e820: reserve RAM buffer [mem 0xd7000000-0xd7ffffff]
[    1.149198] e820: reserve RAM buffer [mem 0x11e600000-0x11fffffff]
[    1.149284] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0, 0, 0, 0, 0, 0
[    1.149359] hpet0: 8 comparators, 64-bit 14.318180 MHz counter
[    1.151008] clocksource: Switched to clocksource tsc-early
[    1.151106] pnp: PnP ACPI init
[    1.151240] system 00:00: [io  0x0680-0x069f] has been reserved
[    1.151313] system 00:00: [io  0x1100-0x110f] has been reserved
[    1.151383] system 00:00: [io  0xffff] has been reserved
[    1.151454] system 00:00: [io  0xffff] has been reserved
[    1.151523] system 00:00: [io  0x0400-0x0453] has been reserved
[    1.151593] system 00:00: [io  0x0458-0x047f] has been reserved
[    1.151664] system 00:00: [io  0x0500-0x057f] has been reserved
[    1.151734] system 00:00: [io  0x164e-0x164f] has been reserved
[    1.151806] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.151819] pnp 00:01: Plug and Play ACPI device, IDs PNP0b00 (active)
[    1.151846] system 00:02: [io  0x0454-0x0457] has been reserved
[    1.151922] system 00:02: Plug and Play ACPI device, IDs INT3f0d PNP0c02 (active)
[    1.152018] system 00:03: [io  0x0a00-0x0a2f] has been reserved
[    1.152092] system 00:03: [io  0x0a30-0x0a3f] has been reserved
[    1.152162] system 00:03: [io  0x0a40-0x0a4f] has been reserved
[    1.152232] system 00:03: [io  0x0218-0x0219] has been reserved
[    1.152305] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.152342] system 00:04: [io  0x04d0-0x04d1] has been reserved
[    1.152418] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.152554] pnp 00:05: [dma 0 disabled]
[    1.152580] pnp 00:05: Plug and Play ACPI device, IDs PNP0501 (active)
[    1.152774] pnp 00:06: Plug and Play ACPI device, IDs PNP0c31 (active)
[    1.152894] system 00:07: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    1.152969] system 00:07: [mem 0xfed10000-0xfed17fff] has been reserved
[    1.153042] system 00:07: [mem 0xfed18000-0xfed18fff] has been reserved
[    1.153116] system 00:07: [mem 0xfed19000-0xfed19fff] has been reserved
[    1.153186] system 00:07: [mem 0xf8000000-0xfbffffff] has been reserved
[    1.153254] system 00:07: [mem 0xfed20000-0xfed3ffff] has been reserved
[    1.153325] system 00:07: [mem 0xfed90000-0xfed93fff] has been reserved
[    1.153397] system 00:07: [mem 0xfed45000-0xfed8ffff] has been reserved
[    1.153467] system 00:07: [mem 0xff000000-0xffffffff] has been reserved
[    1.153539] system 00:07: [mem 0xfee00000-0xfeefffff] could not be reserved
[    1.153610] system 00:07: [mem 0xdfa00000-0xdfa00fff] has been reserved
[    1.153684] system 00:07: Plug and Play ACPI device, IDs PNP0c02 (active)
[    1.153805] system 00:08: [mem 0x20000000-0x201fffff] has been reserved
[    1.153878] system 00:08: [mem 0x40004000-0x40004fff] has been reserved
[    1.153950] system 00:08: Plug and Play ACPI device, IDs PNP0c01 (active)
[    1.153977] pnp: PnP ACPI: found 9 devices
[    1.159312] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    1.159444] pci 0000:00:01.0: PCI bridge to [bus 01]
[    1.159512] pci 0000:00:01.0:   bridge window [mem 0xf7c00000-0xf7efffff]
[    1.159586] pci 0000:00:1e.0: PCI bridge to [bus 02]
[    1.159664] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    1.159665] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    1.159666] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[    1.159667] pci_bus 0000:00: resource 7 [mem 0x000d0000-0x000d3fff window]
[    1.159668] pci_bus 0000:00: resource 8 [mem 0x000d4000-0x000d7fff window]
[    1.159669] pci_bus 0000:00: resource 9 [mem 0x000d8000-0x000dbfff window]
[    1.159670] pci_bus 0000:00: resource 10 [mem 0x000dc000-0x000dffff window]
[    1.159671] pci_bus 0000:00: resource 11 [mem 0x000e0000-0x000e3fff window]
[    1.159672] pci_bus 0000:00: resource 12 [mem 0x000e4000-0x000e7fff window]
[    1.159673] pci_bus 0000:00: resource 13 [mem 0xdfa00000-0xfeafffff window]
[    1.159675] pci_bus 0000:01: resource 1 [mem 0xf7c00000-0xf7efffff]
[    1.159676] pci_bus 0000:02: resource 4 [io  0x0000-0x0cf7 window]
[    1.159677] pci_bus 0000:02: resource 5 [io  0x0d00-0xffff window]
[    1.159678] pci_bus 0000:02: resource 6 [mem 0x000a0000-0x000bffff window]
[    1.159679] pci_bus 0000:02: resource 7 [mem 0x000d0000-0x000d3fff window]
[    1.159680] pci_bus 0000:02: resource 8 [mem 0x000d4000-0x000d7fff window]
[    1.159681] pci_bus 0000:02: resource 9 [mem 0x000d8000-0x000dbfff window]
[    1.159682] pci_bus 0000:02: resource 10 [mem 0x000dc000-0x000dffff window]
[    1.159683] pci_bus 0000:02: resource 11 [mem 0x000e0000-0x000e3fff window]
[    1.159684] pci_bus 0000:02: resource 12 [mem 0x000e4000-0x000e7fff window]
[    1.159685] pci_bus 0000:02: resource 13 [mem 0xdfa00000-0xfeafffff window]
[    1.159744] NET: Registered protocol family 2
[    1.159889] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes)
[    1.159971] TCP established hash table entries: 32768 (order: 6, 262144 bytes)
[    1.160085] TCP bind hash table entries: 32768 (order: 7, 524288 bytes)
[    1.160229] TCP: Hash tables configured (established 32768 bind 32768)
[    1.160318] UDP hash table entries: 2048 (order: 4, 65536 bytes)
[    1.160402] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes)
[    1.160503] NET: Registered protocol family 1
[    1.160598] pci 0000:00:02.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    1.193150] PCI: CLS 64 bytes, default 64
[    1.193159] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    1.193235] software IO TLB [mem 0xd0177000-0xd4177000] (64MB) mapped at [000000000b0020d0-000000006542b7de]
[    1.193392] RAPL PMU: API unit is 2^-32 Joules, 3 fixed counters, 163840 ms ovfl timer
[    1.193468] RAPL PMU: hw unit of domain pp0-core 2^-16 Joules
[    1.193536] RAPL PMU: hw unit of domain package 2^-16 Joules
[    1.193605] RAPL PMU: hw unit of domain pp1-gpu 2^-16 Joules
[    1.193915] workingset: timestamp_bits=62 max_order=20 bucket_order=0
[    1.194882] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    1.194957] io scheduler noop registered
[    1.195049] io scheduler cfq registered (default)
[    1.195120] io scheduler mq-deadline registered
[    1.195188] io scheduler kyber registered
[    1.195590] Monitor-Mwait will be used to enter C-1 state
[    1.195594] Monitor-Mwait will be used to enter C-2 state
[    1.195597] Monitor-Mwait will be used to enter C-3 state
[    1.196308] ahci 0000:00:1f.2: version 3.0
[    1.196419] ahci 0000:00:1f.2: SSS flag set, parallel bus scan disabled
[    1.206588] ahci 0000:00:1f.2: AHCI 0001.0300 32 slots 6 ports 6 Gbps 0xb impl SATA mode
[    1.206678] ahci 0000:00:1f.2: flags: 64bit ncq stag pm led clo pio slum part ems sxs apst 
[    1.212269] scsi host0: ahci
[    1.212484] scsi host1: ahci
[    1.212654] scsi host2: ahci
[    1.212768] scsi host3: ahci
[    1.212877] scsi host4: ahci
[    1.212987] scsi host5: ahci
[    1.213082] ata1: SATA max UDMA/133 abar m2048@0xf7f32000 port 0xf7f32100 irq 24
[    1.213154] ata2: SATA max UDMA/133 abar m2048@0xf7f32000 port 0xf7f32180 irq 24
[    1.213225] ata3: DUMMY
[    1.213290] ata4: SATA max UDMA/133 abar m2048@0xf7f32000 port 0xf7f32280 irq 24
[    1.213361] ata5: DUMMY
[    1.213426] ata6: DUMMY
[    1.213508] intel_pstate: Intel P-state driver initializing
[    1.213678] Initializing XFRM netlink socket
[    1.213748] NET: Registered protocol family 17
[    1.213832] sched_clock: Marking stable (1213056445, 0)->(1217576494, -4520049)
[    1.213953] registered taskstats version 1
[    1.214170] Btrfs loaded, crc32c=crc32c-generic
[    1.517722] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    1.519239] ata1.00: ATA-8: ST500DM002-1BD142, KC65, max UDMA/100
[    1.519313] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 31/32)
[    1.521137] ata1.00: configured for UDMA/100
[    1.521381] scsi 0:0:0:0: Direct-Access     ATA      ST500DM002-1BD14 KC65 PQ: 0 ANSI: 5
[    1.521836] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/466 GiB)
[    1.521910] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    1.521998] sd 0:0:0:0: [sda] Write Protect is off
[    1.522082] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    1.522140] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    1.611231]  sda: sda1 sda2 < sda5 sda6 sda7 sda8 sda9 sda10 sda11 sda12 >
[    1.611766] sd 0:0:0:0: [sda] Attached SCSI disk
[    1.829738] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    1.833140] ata2.00: ATAPI: HL-DT-STDVD-RAM GH82N, KU02, max UDMA/133
[    1.837435] ata2.00: configured for UDMA/133
[    1.846024] scsi 1:0:0:0: CD-ROM            HL-DT-ST DVD-RAM GH82N    KU02 PQ: 0 ANSI: 5
[    2.173739] ata4: SATA link down (SStatus 0 SControl 300)
[    2.196402] BTRFS: device fsid 15aaa597-530a-4049-a807-344b6e742f9b devid 1 transid 27027 /dev/root
[    2.196907] BTRFS info (device sda5): disk space caching is enabled
[    2.197013] BTRFS info (device sda5): has skinny extents
[    2.208038] tsc: Refined TSC clocksource calibration: 3192.749 MHz
[    2.208130] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x2e05885b059, max_idle_ns: 440795298925 ns
[    2.208299] clocksource: Switched to clocksource tsc
[    2.239350] VFS: Mounted root (btrfs filesystem) readonly on device 0:11.
[    2.239976] Freeing unused kernel memory: 764K
[    2.240051] Write protecting the kernel read-only data: 10240k
[    2.240545] Freeing unused kernel memory: 2020K
[    2.241971] Freeing unused kernel memory: 828K
[    2.827508] udevd[797]: starting eudev-3.1.5
[    2.891329] rtc_cmos 00:01: RTC can wake from S4
[    2.891504] rtc_cmos 00:01: rtc core: registered rtc_cmos as rtc0
[    2.891601] rtc_cmos 00:01: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[    2.916146] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
[    2.916242] ACPI: Power Button [PWRB]
[    2.916369] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    2.916443] ACPI: Power Button [PWRF]
[    2.916687] thermal LNXTHERM:00: registered as thermal_zone0
[    2.916760] ACPI: Thermal Zone [TZ00] (28 C)
[    2.916997] thermal LNXTHERM:01: registered as thermal_zone1
[    2.917073] ACPI: Thermal Zone [TZ01] (30 C)
[    2.922219] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    2.922292] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    2.922487] e1000e 0000:00:19.0: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    2.948771] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[    2.948843] igb: Copyright (c) 2007-2014 Intel Corporation.
[    2.949217] random: crng init done
[    2.955923] ACPI: bus type USB registered
[    2.956009] usbcore: registered new interface driver usbfs
[    2.956096] usbcore: registered new interface driver hub
[    2.956178] usbcore: registered new device driver usb
[    2.980253] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.981840] ehci-pci: EHCI PCI platform driver
[    3.047080] igb 0000:01:00.0: Intel(R) Gigabit Ethernet Network Connection
[    3.047162] igb 0000:01:00.0: eth0: (PCIe:5.0Gb/s:Width x4) b4:96:91:0e:fc:e4
[    3.047780] igb 0000:01:00.0: eth0: PBA No: H34227-005
[    3.047851] igb 0000:01:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[    3.103817] cryptd: max_cpu_qlen set to 1000
[    3.137383] e1000e 0000:00:19.0 eth1: (PCI Express:2.5GT/s:Width x1) fc:4d:d4:2f:e2:1b
[    3.137741] e1000e 0000:00:19.0 eth1: Intel(R) PRO/1000 Network Connection
[    3.138200] e1000e 0000:00:19.0 eth1: MAC: 10, PHY: 11, PBA No: FFFFFF-0FF
[    3.138775] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    3.139835] e1000e 0000:00:19.0 eth125: renamed from eth1
[    3.142191] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1
[    3.143752] xhci_hcd 0000:00:14.0: hcc params 0x20007181 hci version 0x100 quirks 0x0000b930
[    3.143827] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported
[    3.143983] hub 1-0:1.0: USB hub found
[    3.144261] hub 1-0:1.0: 4 ports detected
[    3.144940] xhci_hcd 0000:00:14.0: xHCI Host Controller
[    3.145017] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 2
[    3.145278] hub 2-0:1.0: USB hub found
[    3.145355] hub 2-0:1.0: 4 ports detected
[    3.145722] ehci-pci 0000:00:1a.0: EHCI Host Controller
[    3.145792] ehci-pci 0000:00:1a.0: new USB bus registered, assigned bus number 3
[    3.145873] ehci-pci 0000:00:1a.0: debug port 2
[    3.146043] e1000e 0000:00:19.0 eth2: renamed from eth125
[    3.149841] ehci-pci 0000:00:1a.0: cache line size of 64 is not supported
[    3.149847] ehci-pci 0000:00:1a.0: irq 16, io mem 0xf7f34000
[    3.155462] igb 0000:01:00.1: Intel(R) Gigabit Ethernet Network Connection
[    3.155537] igb 0000:01:00.1: eth1: (PCIe:5.0Gb/s:Width x4) b4:96:91:0e:fc:e5
[    3.156219] igb 0000:01:00.1: eth1: PBA No: H34227-005
[    3.156290] igb 0000:01:00.1: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[    3.157017] ehci-pci 0000:00:1a.0: USB 2.0 started, EHCI 1.00
[    3.157435] hub 3-0:1.0: USB hub found
[    3.157509] hub 3-0:1.0: 3 ports detected
[    3.157771] ehci-pci 0000:00:1d.0: EHCI Host Controller
[    3.157843] ehci-pci 0000:00:1d.0: new USB bus registered, assigned bus number 4
[    3.157922] ehci-pci 0000:00:1d.0: debug port 2
[    3.161897] ehci-pci 0000:00:1d.0: cache line size of 64 is not supported
[    3.161905] ehci-pci 0000:00:1d.0: irq 23, io mem 0xf7f33000
[    3.168024] ehci-pci 0000:00:1d.0: USB 2.0 started, EHCI 1.00
[    3.168278] hub 4-0:1.0: USB hub found
[    3.168363] hub 4-0:1.0: 3 ports detected
[    3.178562] Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
[    3.199822] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    3.209561] sr 1:0:0:0: [sr0] scsi3-mmc drive: 40x/40x writer dvd-ram cd/rw xa/form2 cdda tray
[    3.209696] cdrom: Uniform CD-ROM driver Revision: 3.20
[    3.209809] sr 1:0:0:0: Attached scsi CD-ROM sr0
[    3.482015] usb 3-1: new high-speed USB device number 2 using ehci-pci
[    3.490026] usb 4-1: new high-speed USB device number 2 using ehci-pci
[    3.610602] hub 3-1:1.0: USB hub found
[    3.610827] hub 3-1:1.0: 6 ports detected
[    3.618645] hub 4-1:1.0: USB hub found
[    3.618859] hub 4-1:1.0: 8 ports detected
[    3.647783] 0000:00:16.3: ttyS1 at I/O 0xf0e0 (irq = 19, base_baud = 115200) is a 16550A
[    3.699298] AVX version of gcm_enc/dec engaged.
[    3.699368] AES CTR mode by8 optimization enabled
[    4.182612] BTRFS: device fsid 23a29ee3-8309-4a45-80e9-caf09a473550 devid 1 transid 47135 /dev/sda7
[    4.366041] BTRFS: device fsid 2aa0afe6-3e76-4ad3-9d1c-02a525f1e98d devid 1 transid 85 /dev/sda10
[    4.387985] BTRFS: device fsid 72fa3bcd-f01d-4388-bd94-3f3e47deb2af devid 1 transid 837 /dev/sda6
[    4.407605] BTRFS: device fsid 83dfcabe-2aef-4cbf-b4c1-8f5889c2a6e1 devid 1 transid 977 /dev/sda8
[    4.417280] BTRFS: device fsid f4b6e010-47bf-4fd3-b309-d7b18397896b devid 1 transid 544 /dev/sda9
[    4.419322] BTRFS: device fsid 8f8d78ab-6992-4d3b-8454-05761007ecb8 devid 1 transid 31617 /dev/sda11
[    4.497833] Adding 33385492k swap on /dev/sda12.  Priority:-2 extents:1 across:33385492k 
[    5.207260] BTRFS info (device sda5): disk space caching is enabled
[    8.385209] BTRFS info (device sda6): disk space caching is enabled
[    8.385284] BTRFS info (device sda6): has skinny extents
[    8.454925] BTRFS info (device sda7): disk space caching is enabled
[    8.455035] BTRFS info (device sda7): has skinny extents
[    8.529425] BTRFS info (device sda8): disk space caching is enabled
[    8.529515] BTRFS info (device sda8): has skinny extents
[    8.622591] BTRFS info (device sda9): disk space caching is enabled
[    8.622663] BTRFS info (device sda9): has skinny extents
[    8.712880] BTRFS info (device sda10): disk space caching is enabled
[    8.712961] BTRFS info (device sda10): has skinny extents
[    8.773723] BTRFS info (device sda11): disk space caching is enabled
[    8.773808] BTRFS info (device sda11): has skinny extents
[   15.462844] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[   15.894129] e1000e: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[   19.634138] NET: Registered protocol family 15
[  223.579511] nf_conntrack: default automatic helper assignment has been turned off for security reasons and CT-based  firewall rule not found. Use the iptables CT target to attach helpers instead.
[15279.714136] e1000e 0000:00:19.0 eth2: Detected Hardware Unit Hang:
                 TDH                  <6b>
                 TDT                  <7e>
                 next_to_use          <7e>
                 next_to_clean        <6b>
               buffer_info[next_to_clean]:
                 time_stamp           <100e48acb>
                 next_to_watch        <6b>
                 jiffies              <100e49282>
                 next_to_watch.status <0>
               MAC Status             <80083>
               PHY Status             <796d>
               PHY 1000BASE-T Status  <7800>
               PHY Extended Status    <3000>
               PCI Status             <10>
[15281.762278] e1000e 0000:00:19.0 eth2: Detected Hardware Unit Hang:
                 TDH                  <6b>
                 TDT                  <7e>
                 next_to_use          <7e>
                 next_to_clean        <6b>
               buffer_info[next_to_clean]:
                 time_stamp           <100e48acb>
                 next_to_watch        <6b>
                 jiffies              <100e49a82>
                 next_to_watch.status <0>
               MAC Status             <80083>
               PHY Status             <796d>
               PHY 1000BASE-T Status  <7800>
               PHY Extended Status    <3000>
               PCI Status             <10>
[15283.746499] e1000e 0000:00:19.0 eth2: Detected Hardware Unit Hang:
                 TDH                  <6b>
                 TDT                  <7e>
                 next_to_use          <7e>
                 next_to_clean        <6b>
               buffer_info[next_to_clean]:
                 time_stamp           <100e48acb>
                 next_to_watch        <6b>
                 jiffies              <100e4a242>
                 next_to_watch.status <0>
               MAC Status             <80083>
               PHY Status             <796d>
               PHY 1000BASE-T Status  <7800>
               PHY Extended Status    <3000>
               PCI Status             <10>
[15285.730291] e1000e 0000:00:19.0 eth2: Detected Hardware Unit Hang:
                 TDH                  <6b>
                 TDT                  <7e>
                 next_to_use          <7e>
                 next_to_clean        <6b>
               buffer_info[next_to_clean]:
                 time_stamp           <100e48acb>
                 next_to_watch        <6b>
                 jiffies              <100e4aa02>
                 next_to_watch.status <0>
               MAC Status             <80083>
               PHY Status             <796d>
               PHY 1000BASE-T Status  <7800>
               PHY Extended Status    <3000>
               PCI Status             <10>
[15287.714451] e1000e 0000:00:19.0 eth2: Detected Hardware Unit Hang:
                 TDH                  <6b>
                 TDT                  <7e>
                 next_to_use          <7e>
                 next_to_clean        <6b>
               buffer_info[next_to_clean]:
                 time_stamp           <100e48acb>
                 next_to_watch        <6b>
                 jiffies              <100e4b1c2>
                 next_to_watch.status <0>
               MAC Status             <80083>
               PHY Status             <796d>
               PHY 1000BASE-T Status  <7800>
               PHY Extended Status    <3000>
               PCI Status             <10>
[15287.776075] ------------[ cut here ]------------
[15287.776083] NETDEV WATCHDOG: eth2 (e1000e): transmit queue 0 timed out
[15287.776098] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:464 dev_watchdog+0x14b/0x1a2
[15287.776099] Modules linked in: sha256_ssse3 sha256_generic drbg ansi_cprng authenc echainiv xfrm4_mode_tunnel sha1_ssse3 sha1_generic hmac xfrm4_tunnel tunnel4 ipcomp xfrm_ipcomp esp4 af_key nf_nat_ftp nf_conntrack_ftp xt_TCPMSS xt_helper xt_mark xt_statistic xt_nat xt_multiport xt_limit xt_tcpudp xt_policy xt_conntrack iptable_mangle iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter ip_tables x_tables crc32c_intel ghash_clmulni_intel aesni_intel 8250_pci aes_x86_64 8250 sr_mod crypto_simd cryptd ehci_pci ehci_hcd xhci_pci xhci_hcd usbcore 8250_base igb cdrom glue_helper serial_core e1000e usb_common thermal button i2c_algo_bit i2c_core rtc_cmos
[15287.776146] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.16.0-rc5 #1
[15287.776156] Hardware name: LENOVO 3220A11/MAHOBAY, BIOS 9SKT99AUS 06/30/2017
[15287.776157] RIP: 0010:dev_watchdog+0x14b/0x1a2
[15287.776158] RSP: 0018:ffff88011e203ec8 EFLAGS: 00010282
[15287.776159] RAX: 000000000000003a RBX: ffff880117ac8438 RCX: 000000000000023f
[15287.776159] RDX: 0000000000000001 RSI: 0000000000000002 RDI: ffffffff81c5bfac
[15287.776160] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
[15287.776160] R10: ffff8801191fc438 R11: ffffffff81c6b134 R12: ffff880117ac8000
[15287.776161] R13: 0000000000000000 R14: 000000000000000a R15: 0000000000000001
[15287.776162] FS:  0000000000000000(0000) GS:ffff88011e200000(0000) knlGS:0000000000000000
[15287.776162] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[15287.776163] CR2: 00007f29f8238ff0 CR3: 0000000001a0a002 CR4: 00000000001606b0
[15287.776163] Call Trace:
[15287.776165]  <IRQ>
[15287.776169]  call_timer_fn+0x12/0x75
[15287.776171]  ? qdisc_reset+0xc0/0xc0
[15287.776173]  expire_timers+0x66/0x73
[15287.776175]  run_timer_softirq+0x63/0xdf
[15287.776177]  ? __hrtimer_run_queues+0xe2/0x141
[15287.776180]  ? recalibrate_cpu_khz+0x1/0x1
[15287.776181]  ? ktime_get+0x38/0x87
[15287.776183]  ? lapic_next_event+0x1a/0x1a
[15287.776184]  __do_softirq+0xc2/0x1b4
[15287.776187]  irq_exit+0x49/0x88
[15287.776188]  smp_apic_timer_interrupt+0x76/0x81
[15287.776191]  apic_timer_interrupt+0xf/0x20
[15287.776191]  </IRQ>
[15287.776193] RIP: 0010:cpuidle_enter_state+0x116/0x168
[15287.776194] RSP: 0018:ffffffff81a03ea8 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff12
[15287.776195] RAX: 00000de776762eb2 RBX: 00000de776762eb2 RCX: 000000000000001f
[15287.776195] RDX: 0000000000000000 RSI: 00002c701b5fdc48 RDI: 0000000000000000
[15287.776204] RBP: 0000000000000003 R08: 0000000000000004 R09: 0000000000000000
[15287.776205] R10: ffffffff81a03e90 R11: 0000000004cc7e98 R12: ffff880119b76400
[15287.776205] R13: 00000de7765657f6 R14: ffffffff81a37698 R15: 0000000000000000
[15287.776207]  ? cpuidle_enter_state+0xfc/0x168
[15287.776209]  do_idle+0xdc/0x12f
[15287.776210]  cpu_startup_entry+0x18/0x1a
[15287.776212]  start_kernel+0x316/0x31e
[15287.776214]  secondary_startup_64+0xa5/0xb0
[15287.776215] Code: 3d 2d 45 73 00 00 75 35 4c 89 e7 c6 05 21 45 73 00 01 e8 cd 4a fe ff 89 e9 4c 89 e6 48 c7 c7 0c 11 8f 81 48 89 c2 e8 df ac d1 ff <0f> 0b eb 0e ff c5 48 05 40 01 00 00 39 cd 75 99 eb 13 48 8b 83 
[15287.776232] ---[ end trace 0c2aa1a489d3962b ]---
[15287.776242] e1000e 0000:00:19.0 eth2: Reset adapter unexpectedly
[15291.622172] e1000e: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[62354.672856] conntrack: generic helper won't handle protocol 47. Please consider loading the specific helper module.
[92663.714537] e1000e 0000:00:19.0 eth2: Detected Hardware Unit Hang:
                 TDH                  <38>
                 TDT                  <5d>
                 next_to_use          <5d>
                 next_to_clean        <35>
               buffer_info[next_to_clean]:
                 time_stamp           <105815176>
                 next_to_watch        <38>
                 jiffies              <105815bc2>
                 next_to_watch.status <0>
               MAC Status             <80083>
               PHY Status             <796d>
               PHY 1000BASE-T Status  <7800>
               PHY Extended Status    <3000>
               PCI Status             <10>

this is my .config

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ZONE_DMA32=y
CONFIG_AUDIT_ARCH=y
CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y
CONFIG_INIT_ENV_ARG_LIMIT=32
CONFIG_CROSS_COMPILE=""
CONFIG_LOCALVERSION=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_KERNEL_LZMA=y
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_DATA=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
CONFIG_NO_HZ_IDLE=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_TASKSTATS=y
CONFIG_CPU_ISOLATION=y
CONFIG_TREE_RCU=y
CONFIG_SRCU=y
CONFIG_TREE_SRCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BPF=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_PRINTK_NMI=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_PERF_EVENTS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLUB_DEBUG=y
CONFIG_SLUB=y
CONFIG_SLAB_MERGE_DEFAULT=y
CONFIG_SLUB_CPU_PARTIAL=y
CONFIG_HAVE_OPROFILE=y
CONFIG_OPROFILE_NMI_TIMER=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_DMA_API_DEBUG=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_RCU_TABLE_FREE=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP_FILTER=y
CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_HAVE_CC_STACKPROTECTOR=y
CONFIG_CC_STACKPROTECTOR_NONE=y
CONFIG_THIN_ARCHIVES=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_COPY_THREAD_TLS=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_ARCH_HAS_PHYS_TO_DMA=y
CONFIG_ARCH_HAS_REFCOUNT=y
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLK_SCSI_REQUEST=y
CONFIG_BLK_DEV_BSG=y
CONFIG_MSDOS_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_BLK_MQ_PCI=y
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_CFQ=y
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_PADATA=y
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
CONFIG_INLINE_READ_UNLOCK=y
CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ZONE_DMA=y
CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_FAST_FEATURE_TESTS=y
CONFIG_RETPOLINE=y
CONFIG_IOSF_MBI=m
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_NO_BOOTMEM=y
CONFIG_MCORE2=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_INTEL_USERCOPY=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_P6_NOP=y
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_SWIOTLB=y
CONFIG_IOMMU_HELPER=y
CONFIG_NR_CPUS_RANGE_BEGIN=2
CONFIG_NR_CPUS_RANGE_END=512
CONFIG_NR_CPUS_DEFAULT=64
CONFIG_NR_CPUS=4
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_PREEMPT_NONE=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=y
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_X86_DIRECT_GBPAGES=y
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_SELECT_MEMORY_MODEL=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM=y
CONFIG_HAVE_MEMORY_PRESENT=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_MEMBLOCK=y
CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
CONFIG_HAVE_GENERIC_GUP=y
CONFIG_ARCH_DISCARD_MEMBLOCK=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_COMPACTION=y
CONFIG_MIGRATION=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_ARCH_HAS_ZONE_DEVICE=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_X86_RESERVE_LOW=64
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_ARCH_RANDOM=y
CONFIG_X86_SMAP=y
CONFIG_X86_INTEL_UMIP=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
CONFIG_SECCOMP=y
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_PHYSICAL_ALIGN=0x1000000
CONFIG_LEGACY_VSYSCALL_EMULATE=y
CONFIG_MODIFY_LDT_SYSCALL=y
CONFIG_HAVE_LIVEPATCH=y
CONFIG_ARCH_HAS_ADD_PAGES=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_BUTTON=m
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=m
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_X86_PM_TIMER=y
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_X86_INTEL_PSTATE=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_PCI=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
CONFIG_PCI_BUS_ADDR_T_64BIT=y
CONFIG_PCI_MSI=y
CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_QUIRKS=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_LABEL=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
CONFIG_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_COREDUMP=y
CONFIG_X86_DEV_DMA_OPS=y
CONFIG_NET=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=y
CONFIG_UNIX_DIAG=y
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_INET=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IP_TUNNEL=m
CONFIG_NET_IPGRE=m
CONFIG_SYN_COOKIES=y
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
CONFIG_INET_IPCOMP=m
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_XFRM_MODE_TRANSPORT=m
CONFIG_INET_XFRM_MODE_TUNNEL=m
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NF_CONNTRACK=m
CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CT_PROTO_GRE=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_REDIRECT=m
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_NAT=m
CONFIG_NETFILTER_XT_TARGET_NETMAP=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_ECN=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_U32=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_CONNTRACK_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NF_NAT_IPV4=m
CONFIG_NF_NAT_PROTO_GRE=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_SYNPROXY=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_HAVE_NET_DSA=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_TBF=m
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_CLS=y
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_IPSET=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_IPT=m
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_SCH_FIFO=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_XPS=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_NET_FLOW_LIMIT=y
CONFIG_FIB_RULES=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_MAY_USE_DEVLINK=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_STANDALONE=y
CONFIG_FW_LOADER=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_ALLOW_DEV_COREDUMP=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PNP=y
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_CDROM=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_HAVE_IDE=y
CONFIG_SCSI_MOD=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_DEV_SR=m
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_ATA_SFF=y
CONFIG_ATA_BMDMA=y
CONFIG_ATA_PIIX=m
CONFIG_NETDEVICES=y
CONFIG_MII=m
CONFIG_NET_CORE=y
CONFIG_DUMMY=m
CONFIG_IFB=m
CONFIG_TUN=m
CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E1000E=m
CONFIG_E1000E_HWTS=y
CONFIG_IGB=m
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_R8169=m
CONFIG_INPUT=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_DEVMEM=y
CONFIG_SERIAL_8250=m
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_PCI=m
CONFIG_SERIAL_8250_EXAR=m
CONFIG_SERIAL_8250_NR_UARTS=2
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
CONFIG_SERIAL_CORE=m
CONFIG_HW_RANDOM=m
CONFIG_HW_RANDOM_INTEL=m
CONFIG_HW_RANDOM_AMD=m
CONFIG_NVRAM=m
CONFIG_HPET=y
CONFIG_DEVPORT=y
CONFIG_I2C=m
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_ALGOBIT=m
CONFIG_PPS=m
CONFIG_THERMAL=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_SSB_POSSIBLE=y
CONFIG_BCMA_POSSIBLE=y
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_VGA_CONSOLE=y
CONFIG_VGACON_SOFT_SCROLLBACK=y
CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=128
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_HID=m
CONFIG_HID_GENERIC=m
CONFIG_USB_HID=m
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=m
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=m
CONFIG_USB_PCI=y
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_XHCI_HCD=m
CONFIG_USB_XHCI_PCI=m
CONFIG_USB_EHCI_HCD=m
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=m
CONFIG_USB_EHCI_HCD_PLATFORM=m
CONFIG_USB_OHCI_HCD=m
CONFIG_USB_OHCI_HCD_PCI=m
CONFIG_USB_UHCI_HCD=m
CONFIG_USB_STORAGE=m
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_PL2303=m
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
CONFIG_RTC_NVMEM=y
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_I2C_AND_SPI=m
CONFIG_RTC_DRV_CMOS=m
CONFIG_PMC_ATOM=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_MAILBOX=y
CONFIG_PCC=y
CONFIG_IOMMU_SUPPORT=y
CONFIG_ARM_GIC_MAX_NR=1
CONFIG_RAS=y
CONFIG_NVMEM=y
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_EXT2_FS=y
CONFIG_BTRFS_FS=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_FILE_LOCKING=y
CONFIG_FSNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FUSE_FS=m
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_NTFS_FS=m
CONFIG_NTFS_RW=y
CONFIG_PROC_FS=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_UTF8=m
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
CONFIG_FRAME_WARN=2048
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_STACK_VALIDATION=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_ARCH_HAS_KCOV=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=0
CONFIG_DEBUG_BUGVERBOSE=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_TRACING_SUPPORT=y
CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_EARLY_PRINTK=y
CONFIG_DOUBLEFAULT=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
CONFIG_IO_DELAY_TYPE_0X80=0
CONFIG_IO_DELAY_TYPE_0XED=1
CONFIG_IO_DELAY_TYPE_UDELAY=2
CONFIG_IO_DELAY_TYPE_NONE=3
CONFIG_IO_DELAY_0X80=y
CONFIG_DEFAULT_IO_DELAY_TYPE=0
CONFIG_UNWINDER_ORC=y
CONFIG_PAGE_TABLE_ISOLATION=y
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_DEFAULT_SECURITY=""
CONFIG_XOR_BLOCKS=y
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=m
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=m
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=m
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=m
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=m
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=m
CONFIG_CRYPTO_NULL=m
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_WORKQUEUE=y
CONFIG_CRYPTO_CRYPTD=m
CONFIG_CRYPTO_AUTHENC=m
CONFIG_CRYPTO_ABLK_HELPER=m
CONFIG_CRYPTO_SIMD=m
CONFIG_CRYPTO_GLUE_HELPER_X86=m
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=m
CONFIG_CRYPTO_CHACHA20POLY1305=m
CONFIG_CRYPTO_SEQIV=m
CONFIG_CRYPTO_ECHAINIV=m
CONFIG_CRYPTO_CBC=m
CONFIG_CRYPTO_CTR=m
CONFIG_CRYPTO_ECB=m
CONFIG_CRYPTO_LRW=m
CONFIG_CRYPTO_XTS=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_HMAC=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_GHASH=m
CONFIG_CRYPTO_POLY1305=m
CONFIG_CRYPTO_POLY1305_X86_64=m
CONFIG_CRYPTO_MD5=m
CONFIG_CRYPTO_SHA1=m
CONFIG_CRYPTO_SHA1_SSSE3=m
CONFIG_CRYPTO_SHA256_SSSE3=m
CONFIG_CRYPTO_SHA512_SSSE3=m
CONFIG_CRYPTO_SHA256=m
CONFIG_CRYPTO_SHA512=m
CONFIG_CRYPTO_SHA3=m
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_X86_64=m
CONFIG_CRYPTO_AES_NI_INTEL=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CHACHA20_X86_64=m
CONFIG_CRYPTO_DEFLATE=m
CONFIG_CRYPTO_LZO=m
CONFIG_CRYPTO_842=m
CONFIG_CRYPTO_LZ4=m
CONFIG_CRYPTO_LZ4HC=m
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=m
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG=m
CONFIG_CRYPTO_JITTERENTROPY=m
CONFIG_HAVE_KVM=y
CONFIG_RAID6_PQ=y
CONFIG_BITREVERSE=y
CONFIG_RATIONAL=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_GENERIC_FIND_FIRST_BIT=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
CONFIG_CRC32_SLICEBY8=y
CONFIG_LIBCRC32C=m
CONFIG_XXHASH=y
CONFIG_842_COMPRESS=m
CONFIG_842_DECOMPRESS=m
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=m
CONFIG_LZ4HC_COMPRESS=m
CONFIG_LZ4_DECOMPRESS=m
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_SGL_ALLOC=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
CONFIG_NLATTR=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_SG_CHAIN=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_SBITMAP=y

^ permalink raw reply

* Re: [PATCH 0/4] net: dsa: mv88e6xxx: novice fixes and irq handling
From: Andrew Lunn @ 2018-03-19 12:24 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Vivien Didelot, Marc Zyngier, Thomas Gleixner, kernel,
	Florian Fainelli, netdev, Gregory CLEMENT
In-Reply-To: <20180319100523.24498-1-u.kleine-koenig@pengutronix.de>

On Mon, Mar 19, 2018 at 11:05:19AM +0100, Uwe Kleine-K�nig wrote:
> Hello,
> 
> this is a set of patches I created while I tried to understand how DSA
> works. I don't claim I already got there and so the first 3 fixes are
> trivial only.
> 
> I tried to make the switch on the espressobin SBC use the interrupt line
> and needed the fourth patch to make this work. Given I don't have access
> to the documentation of the Marvell switch, the patch is probably not
> correct though (and so doesn't have a S-o-b).
> 
> When I first added the irq as:
> 
> 	interrupt-parent = <&gpiosb>;
> 	interrupts = <23 IRQ_TYPE_LEVEL_LOW>;
> 
> to the switch of the espressobin's dtb, the irq couldn't be used. The
> reason is the interaction of several things:
> 
>  - On the first try to probe the switch, the driver did:
> 
> 	irq = of_irq_get(np, 0);
> 	request_threaded_irq(irq, NULL, func, IRQF_ONESHOT | IRQF_TRIGGER_FALLING, ...);
> 
>    and then later aborted with -EPROBE_DEFER because another resource
>    wasn't available yet. This correctly undid the request_threaded_irq
>    above using free_irq.
> 
>  - When the probe routine was entered again, the call to of_irq_get(np, 0)
>    failed becauce the irq code remembered that the irq was requested
>    using edge triggered logic with:
> 
> 	irq: type mismatch, failed to map hwirq-23 for gpio!
> 
>    (kernel/irq/irqdomain.c, line 801)
> 
> Any of the following changes would make the problem disappear:
> 
>  - use IRQ_TYPE_EDGE_FALLING in the device tree;
>  - drop IRQF_TRIGGER_FALLING from the driver's use of
>    request_threaded_irq() (I think, see below); and
>  - make the irq code forget the trigger type when the last action is
>    removed

Hi Uwe

I think the correct fix here is to use the flag in device tree when
requesting the interrupt. If it says IRQ_TYPE_LEVEL_LOW, then request
it active low.

Thinking about the hardware, active low is probably right, not edge.
It will stay low until all the sources of interrupts are cleared.

   Andrew

^ permalink raw reply

* Re: 4.14.2[6-7] tcp_push NULL pointer
From: Jack Wang @ 2018-03-19 12:18 UTC (permalink / raw)
  To: Tomas Charvat; +Cc: netdev
In-Reply-To: <453586a8-13e8-1758-3016-f4ed3eefe42e@excello.cz>

2018-03-19 12:51 GMT+01:00 Tomas Charvat <tc@excello.cz>:
> I have seen on multiple servers with kernel-4.14.26 and 4.14.27
> following errors in dmes. It seems that it also caused involved process
> to crash (apache and qmail-smtpd).
Hi,

upsteam has a fix for it:
https://www.mail-archive.com/netdev@vger.kernel.org/msg222545.html

Regards,
Jack
>
> [Fri Mar 16 00:00:11 2018] BUG: unable to handle kernel NULL pointer
> dereference at 0000000000000038
> [Fri Mar 16 00:00:11 2018] IP: tcp_push+0x3d/0x110
> [Fri Mar 16 00:00:11 2018] PGD 0 P4D 0
> [Fri Mar 16 00:00:11 2018] Oops: 0002 [#1] SMP NOPTI
> [Fri Mar 16 00:00:11 2018] CPU: 74 PID: 50845 Comm: parse_scanner.p Not
> tainted 4.14.27-gentoo #1
> [Fri Mar 16 00:00:11 2018] Hardware name: Supermicro AS
> -1123US-TR4/H11DSU-iN, BIOS 1.0a 09/14/2017
> [Fri Mar 16 00:00:11 2018] task: ffffa33f855226c0 task.stack:
> ffffbf3765394000
> [Fri Mar 16 00:00:11 2018] RIP: 0010:tcp_push+0x3d/0x110
> [Fri Mar 16 00:00:11 2018] RSP: 0018:ffffbf3765397cd0 EFLAGS: 00010246
> [Fri Mar 16 00:00:11 2018] RAX: 0000000000000000 RBX: ffffa33b8664d000
> RCX: 0000000000000000
> [Fri Mar 16 00:00:11 2018] RDX: 0000000000000001 RSI: 0000000000000000
> RDI: ffffa33b6338ac00
> [Fri Mar 16 00:00:11 2018] RBP: 0000000000001c20 R08: 0000000000000576
> R09: ffffa33b6338ad58
> [Fri Mar 16 00:00:11 2018] R10: 0000000000000576 R11: 0000000000000000
> R12: 00000000ffffffe0
> [Fri Mar 16 00:00:11 2018] R13: 0000000000001c20 R14: ffffa33b6338ac00
> R15: ffffbf3765397dd0
> [Fri Mar 16 00:00:11 2018] FS:  00007f64301f1700(0000)
> GS:ffffa33b9fc80000(0000) knlGS:0000000000000000
> [Fri Mar 16 00:00:11 2018] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [Fri Mar 16 00:00:11 2018] CR2: 0000000000000038 CR3: 0000800ff30bc000
> CR4: 00000000001406e0
> [Fri Mar 16 00:00:11 2018] Call Trace:
> [Fri Mar 16 00:00:11 2018]  tcp_sendmsg_locked+0x65c/0xe40
> [Fri Mar 16 00:00:11 2018]  tcp_sendmsg+0x2e/0x50
> [Fri Mar 16 00:00:11 2018]  sock_sendmsg+0x3e/0x50
> [Fri Mar 16 00:00:11 2018]  SYSC_sendto+0x123/0x1c0
> [Fri Mar 16 00:00:11 2018]  do_syscall_64+0x80/0x340
> [Fri Mar 16 00:00:11 2018]  ? __do_page_fault+0x19c/0x3f0
> [Fri Mar 16 00:00:11 2018]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
> [Fri Mar 16 00:00:11 2018] RIP: 0033:0x7f642f9d0b01
> [Fri Mar 16 00:00:11 2018] RSP: 002b:00007ffcfaa9c530 EFLAGS: 00000246
> ORIG_RAX: 000000000000002c
> [Fri Mar 16 00:00:11 2018] RAX: ffffffffffffffda RBX: 0000562485e03c18
> RCX: 00007f642f9d0b01
> [Fri Mar 16 00:00:11 2018] RDX: 0000000000002000 RSI: 0000562485e03c18
> RDI: 0000000000000004
> [Fri Mar 16 00:00:11 2018] RBP: 0000562485a6d2a8 R08: 0000000000000000
> R09: 0000000000000000
> [Fri Mar 16 00:00:11 2018] R10: 0000000000000000 R11: 0000000000000246
> R12: 0000000000000000
> [Fri Mar 16 00:00:11 2018] R13: 0000562485e03c18 R14: 0000000000002000
> R15: 0000562485c18300
> [Fri Mar 16 00:00:11 2018] Code: 00 48 8b 87 60 01 00 00 4c 8d 8f 58 01
> 00 00 b9 00 00 00 00 41 89 f3 49 39 c1 48 0f 44 c1 41 81 e3 00 80 00 00
> 0f 85 a5 00 00 00 <80> 48 38 08 8b 8f 6c 06 00 00 89 8f 74 06 00 00 83
> e6 01 74 0c
> [Fri Mar 16 00:00:11 2018] RIP: tcp_push+0x3d/0x110 RSP: ffffbf3765397cd0
> [Fri Mar 16 00:00:11 2018] CR2: 0000000000000038
> [Fri Mar 16 00:00:11 2018] ---[ end trace 4ed52c64cd15c543 ]---
>
> [Thu Mar 15 14:56:06 2018] BUG: unable to handle kernel NULL pointer
> dereference at 0000000000000038
> [Thu Mar 15 14:56:06 2018] IP: tcp_push+0x3d/0x110
> [Thu Mar 15 14:56:06 2018] PGD 0 P4D 0
> [Thu Mar 15 14:56:06 2018] Oops: 0002 [#1] SMP NOPTI
> [Thu Mar 15 14:56:06 2018] CPU: 2 PID: 17214 Comm: rsync Not tainted
> 4.14.26-gentoo #1
> [Thu Mar 15 14:56:06 2018] Hardware name: Xen HVM domU, BIOS 4.9.1
> 01/26/2018
> [Thu Mar 15 14:56:06 2018] task: ffff880164ca9a00 task.stack:
> ffffc90002548000
> [Thu Mar 15 14:56:06 2018] RIP: 0010:tcp_push+0x3d/0x110
> [Thu Mar 15 14:56:06 2018] RSP: 0018:ffffc9000254bc90 EFLAGS: 00010246
> [Thu Mar 15 14:56:06 2018] RAX: 0000000000000000 RBX: ffff88006cf6a380
> RCX: 0000000000000000
> [Thu Mar 15 14:56:06 2018] RDX: 0000000000000000 RSI: 0000000000000040
> RDI: ffff880100025d00
> [Thu Mar 15 14:56:06 2018] RBP: 00000000000065d0 R08: 00000000000043e0
> R09: ffff880100025e58
> [Thu Mar 15 14:56:06 2018] R10: 00000000000005a8 R11: 0000000000000000
> R12: 00000000000065d0
> [Thu Mar 15 14:56:06 2018] R13: 00000000ffffffe0 R14: ffffc9000254bd80
> R15: ffff880100025d00
> [Thu Mar 15 14:56:06 2018] FS:  00007f1ffba19e80(0000)
> GS:ffff88018f500000(0000) knlGS:0000000000000000
> [Thu Mar 15 14:56:06 2018] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [Thu Mar 15 14:56:06 2018] CR2: 0000000000000038 CR3: 0000000093550000
> CR4: 00000000000406e0
> [Thu Mar 15 14:56:06 2018] Call Trace:
> [Thu Mar 15 14:56:06 2018]  tcp_sendmsg_locked+0x32d/0xe50
> [Thu Mar 15 14:56:06 2018]  tcp_sendmsg+0x2e/0x50
> [Thu Mar 15 14:56:06 2018]  sock_sendmsg+0x3e/0x50
> [Thu Mar 15 14:56:06 2018]  sock_write_iter+0x86/0x100
> [Thu Mar 15 14:56:06 2018]  __vfs_write+0x14d/0x1c0
> [Thu Mar 15 14:56:06 2018]  vfs_write+0xc3/0x1d0
> [Thu Mar 15 14:56:06 2018]  SyS_write+0x62/0xe0
> [Thu Mar 15 14:56:06 2018]  do_syscall_64+0x87/0x330
> [Thu Mar 15 14:56:06 2018]  ? __do_page_fault+0x1e0/0x450
> [Thu Mar 15 14:56:06 2018]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
> [Thu Mar 15 14:56:06 2018] RIP: 0033:0x7f1ffaef0b50
> [Thu Mar 15 14:56:06 2018] RSP: 002b:00007ffe0b34a9d8 EFLAGS: 00000246
> ORIG_RAX: 0000000000000001
> [Thu Mar 15 14:56:06 2018] RAX: ffffffffffffffda RBX: 0000000000000003
> RCX: 00007f1ffaef0b50
> [Thu Mar 15 14:56:06 2018] RDX: 000000000000c195 RSI: 0000558248b77bc0
> RDI: 0000000000000003
> [Thu Mar 15 14:56:06 2018] RBP: 00007ffe0b34aa50 R08: 000000000000c195
> R09: e34308fec493ee59
> [Thu Mar 15 14:56:06 2018] R10: 00007ffe0b34aad0 R11: 0000000000000246
> R12: 00007ffe0b34ab50
> [Thu Mar 15 14:56:06 2018] R13: 00007ffe0b34aad0 R14: 0000000000000002
> R15: 0000558247c3b440
> [Thu Mar 15 14:56:06 2018] Code: 00 48 8b 87 60 01 00 00 4c 8d 8f 58 01
> 00 00 b9 00 00 00 00 41 89 f3 4c 39 c8 48 0f 44 c1 41 81 e3 00 80 00 00
> 0f 85 a5 00 00 00 <80> 48 38 08 8b 8f 6c 06 00 00 89 8f 74 06 00 00 83
> e6 01 74 0c
> [Thu Mar 15 14:56:06 2018] RIP: tcp_push+0x3d/0x110 RSP: ffffc9000254bc90
> [Thu Mar 15 14:56:06 2018] CR2: 0000000000000038
> [Thu Mar 15 14:56:06 2018] ---[ end trace 6a582fb8616d56be ]---
>
> [Sat Mar 17 04:47:25 2018] BUG: unable to handle kernel NULL pointer
> dereference at 0000000000000038
> [Sat Mar 17 04:47:25 2018] IP: tcp_push+0x3d/0x110
> [Sat Mar 17 04:47:25 2018] PGD 0 P4D 0
> [Sat Mar 17 04:47:25 2018] Oops: 0002 [#2] SMP NOPTI
> [Sat Mar 17 04:47:25 2018] CPU: 1 PID: 20758 Comm: rsync Tainted: G
> D         4.14.26-gentoo #1
> [Sat Mar 17 04:47:25 2018] Hardware name: Xen HVM domU, BIOS 4.9.1
> 01/26/2018
> [Sat Mar 17 04:47:25 2018] task: ffff8800b1b5c100 task.stack:
> ffffc90002388000
> [Sat Mar 17 04:47:25 2018] RIP: 0010:tcp_push+0x3d/0x110
> [Sat Mar 17 04:47:25 2018] RSP: 0018:ffffc9000238bc90 EFLAGS: 00010246
> [Sat Mar 17 04:47:25 2018] RAX: 0000000000000000 RBX: ffff8800a8c90c40
> RCX: 0000000000000000
> [Sat Mar 17 04:47:25 2018] RDX: 0000000000000000 RSI: 0000000000000040
> RDI: ffff88005e0f2e80
> [Sat Mar 17 04:47:25 2018] RBP: 0000000000007038 R08: 0000000000005028
> R09: ffff88005e0f2fd8
> [Sat Mar 17 04:47:25 2018] R10: 0000000000000558 R11: 0000000000000000
> R12: 0000000000007038
> [Sat Mar 17 04:47:25 2018] R13: 00000000ffffffe0 R14: ffffc9000238bd80
> R15: ffff88005e0f2e80
> [Sat Mar 17 04:47:25 2018] FS:  00007f1ffba19e80(0000)
> GS:ffff88018f480000(0000) knlGS:0000000000000000
> [Sat Mar 17 04:47:25 2018] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [Sat Mar 17 04:47:25 2018] CR2: 0000000000000038 CR3: 00000001029fe000
> CR4: 00000000000406e0
> [Sat Mar 17 04:47:25 2018] Call Trace:
> [Sat Mar 17 04:47:25 2018]  tcp_sendmsg_locked+0x32d/0xe50
> [Sat Mar 17 04:47:25 2018]  tcp_sendmsg+0x2e/0x50
> [Sat Mar 17 04:47:25 2018]  sock_sendmsg+0x3e/0x50
> [Sat Mar 17 04:47:25 2018]  sock_write_iter+0x86/0x100
> [Sat Mar 17 04:47:25 2018]  __vfs_write+0x14d/0x1c0
> [Sat Mar 17 04:47:25 2018]  vfs_write+0xc3/0x1d0
> [Sat Mar 17 04:47:25 2018]  SyS_write+0x62/0xe0
> [Sat Mar 17 04:47:25 2018]  do_syscall_64+0x87/0x330
> [Sat Mar 17 04:47:25 2018]  ? __do_page_fault+0x1e0/0x450
> [Sat Mar 17 04:47:25 2018]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
> [Sat Mar 17 04:47:25 2018] RIP: 0033:0x7f1ffaef0b50
> [Sat Mar 17 04:47:26 2018] RSP: 002b:00007ffe0b34a9d8 EFLAGS: 00000246
> ORIG_RAX: 0000000000000001
> [Sat Mar 17 04:47:26 2018] RAX: ffffffffffffffda RBX: 0000000000000003
> RCX: 00007f1ffaef0b50
> [Sat Mar 17 04:47:26 2018] RDX: 000000000000fe15 RSI: 0000558248b77bd0
> RDI: 0000000000000003
> [Sat Mar 17 04:47:26 2018] RBP: 00007ffe0b34aa50 R08: 000000000000fe15
> R09: 0000000000003dae
> [Sat Mar 17 04:47:26 2018] R10: 00007ffe0b34aad0 R11: 0000000000000246
> R12: 00007ffe0b34ab50
> [Sat Mar 17 04:47:26 2018] R13: 00007ffe0b34aad0 R14: 0000000000000002
> R15: 0000558247c3b440
> [Sat Mar 17 04:47:26 2018] Code: 00 48 8b 87 60 01 00 00 4c 8d 8f 58 01
> 00 00 b9 00 00 00 00 41 89 f3 4c 39 c8 48 0f 44 c1 41 81 e3 00 80 00 00
> 0f 85 a5 00 00 00 <80> 48 38 08 8b 8f 6c 06 00 00 89 8f 74 06 00 00 83
> e6 01 74 0c
> [Sat Mar 17 04:47:26 2018] RIP: tcp_push+0x3d/0x110 RSP: ffffc9000238bc90
> [Sat Mar 17 04:47:26 2018] CR2: 0000000000000038
> [Sat Mar 17 04:47:26 2018] ---[ end trace 6a582fb8616d56bf ]---
>
> --
> Tomas Charvat
> EXCELLO | Virusfree
> w: www.virusfree.cz
> e: tc@excello.cz
>
>

^ permalink raw reply

* Re: 4.14.2[6-7] tcp_push NULL pointer
From: Eric Dumazet @ 2018-03-19 12:17 UTC (permalink / raw)
  To: Tomas Charvat, netdev, David S. Miller
In-Reply-To: <453586a8-13e8-1758-3016-f4ed3eefe42e@excello.cz>



On 03/19/2018 04:51 AM, Tomas Charvat wrote:
> I have seen on multiple servers with kernel-4.14.26 and 4.14.27
> following errors in dmes. It seems that it also caused involved process
> to crash (apache and qmail-smtpd).
> 
> [Fri Mar 16 00:00:11 2018] BUG: unable to handle kernel NULL pointer
> dereference at 0000000000000038
> [Fri Mar 16 00:00:11 2018] IP: tcp_push+0x3d/0x110
> [Fri Mar 16 00:00:11 2018] PGD 0 P4D 0
> [Fri Mar 16 00:00:11 2018] Oops: 0002 [#1] SMP NOPTI
> [Fri Mar 16 00:00:11 2018] CPU: 74 PID: 50845 Comm: parse_scanner.p Not
> tainted 4.14.27-gentoo #1
> [Fri Mar 16 00:00:11 2018] Hardware name: Supermicro AS
> -1123US-TR4/H11DSU-iN, BIOS 1.0a 09/14/2017
> [Fri Mar 16 00:00:11 2018] task: ffffa33f855226c0 task.stack:
> ffffbf3765394000
> [Fri Mar 16 00:00:11 2018] RIP: 0010:tcp_push+0x3d/0x110
> [Fri Mar 16 00:00:11 2018] RSP: 0018:ffffbf3765397cd0 EFLAGS: 00010246
> [Fri Mar 16 00:00:11 2018] RAX: 0000000000000000 RBX: ffffa33b8664d000
> RCX: 0000000000000000
> [Fri Mar 16 00:00:11 2018] RDX: 0000000000000001 RSI: 0000000000000000
> RDI: ffffa33b6338ac00
> [Fri Mar 16 00:00:11 2018] RBP: 0000000000001c20 R08: 0000000000000576
> R09: ffffa33b6338ad58
> [Fri Mar 16 00:00:11 2018] R10: 0000000000000576 R11: 0000000000000000
> R12: 00000000ffffffe0
> [Fri Mar 16 00:00:11 2018] R13: 0000000000001c20 R14: ffffa33b6338ac00
> R15: ffffbf3765397dd0
> [Fri Mar 16 00:00:11 2018] FS:  00007f64301f1700(0000)
> GS:ffffa33b9fc80000(0000) knlGS:0000000000000000
> [Fri Mar 16 00:00:11 2018] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [Fri Mar 16 00:00:11 2018] CR2: 0000000000000038 CR3: 0000800ff30bc000
> CR4: 00000000001406e0
> [Fri Mar 16 00:00:11 2018] Call Trace:
> [Fri Mar 16 00:00:11 2018]  tcp_sendmsg_locked+0x65c/0xe40
> [Fri Mar 16 00:00:11 2018]  tcp_sendmsg+0x2e/0x50
> [Fri Mar 16 00:00:11 2018]  sock_sendmsg+0x3e/0x50
> [Fri Mar 16 00:00:11 2018]  SYSC_sendto+0x123/0x1c0
> [Fri Mar 16 00:00:11 2018]  do_syscall_64+0x80/0x340
> [Fri Mar 16 00:00:11 2018]  ? __do_page_fault+0x19c/0x3f0
> [Fri Mar 16 00:00:11 2018]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
> [Fri Mar 16 00:00:11 2018] RIP: 0033:0x7f642f9d0b01
> [Fri Mar 16 00:00:11 2018] RSP: 002b:00007ffcfaa9c530 EFLAGS: 00000246
> ORIG_RAX: 000000000000002c
> [Fri Mar 16 00:00:11 2018] RAX: ffffffffffffffda RBX: 0000562485e03c18
> RCX: 00007f642f9d0b01
> [Fri Mar 16 00:00:11 2018] RDX: 0000000000002000 RSI: 0000562485e03c18
> RDI: 0000000000000004
> [Fri Mar 16 00:00:11 2018] RBP: 0000562485a6d2a8 R08: 0000000000000000
> R09: 0000000000000000
> [Fri Mar 16 00:00:11 2018] R10: 0000000000000000 R11: 0000000000000246
> R12: 0000000000000000
> [Fri Mar 16 00:00:11 2018] R13: 0000562485e03c18 R14: 0000000000002000
> R15: 0000562485c18300
> [Fri Mar 16 00:00:11 2018] Code: 00 48 8b 87 60 01 00 00 4c 8d 8f 58 01
> 00 00 b9 00 00 00 00 41 89 f3 49 39 c1 48 0f 44 c1 41 81 e3 00 80 00 00
> 0f 85 a5 00 00 00 <80> 48 38 08 8b 8f 6c 06 00 00 89 8f 74 06 00 00 83
> e6 01 74 0c
> [Fri Mar 16 00:00:11 2018] RIP: tcp_push+0x3d/0x110 RSP: ffffbf3765397cd0
> [Fri Mar 16 00:00:11 2018] CR2: 0000000000000038
> [Fri Mar 16 00:00:11 2018] ---[ end trace 4ed52c64cd15c543 ]---
> 
> [Thu Mar 15 14:56:06 2018] BUG: unable to handle kernel NULL pointer
> dereference at 0000000000000038
> [Thu Mar 15 14:56:06 2018] IP: tcp_push+0x3d/0x110
> [Thu Mar 15 14:56:06 2018] PGD 0 P4D 0
> [Thu Mar 15 14:56:06 2018] Oops: 0002 [#1] SMP NOPTI
> [Thu Mar 15 14:56:06 2018] CPU: 2 PID: 17214 Comm: rsync Not tainted
> 4.14.26-gentoo #1
> [Thu Mar 15 14:56:06 2018] Hardware name: Xen HVM domU, BIOS 4.9.1
> 01/26/2018
> [Thu Mar 15 14:56:06 2018] task: ffff880164ca9a00 task.stack:
> ffffc90002548000
> [Thu Mar 15 14:56:06 2018] RIP: 0010:tcp_push+0x3d/0x110
> [Thu Mar 15 14:56:06 2018] RSP: 0018:ffffc9000254bc90 EFLAGS: 00010246
> [Thu Mar 15 14:56:06 2018] RAX: 0000000000000000 RBX: ffff88006cf6a380
> RCX: 0000000000000000
> [Thu Mar 15 14:56:06 2018] RDX: 0000000000000000 RSI: 0000000000000040
> RDI: ffff880100025d00
> [Thu Mar 15 14:56:06 2018] RBP: 00000000000065d0 R08: 00000000000043e0
> R09: ffff880100025e58
> [Thu Mar 15 14:56:06 2018] R10: 00000000000005a8 R11: 0000000000000000
> R12: 00000000000065d0
> [Thu Mar 15 14:56:06 2018] R13: 00000000ffffffe0 R14: ffffc9000254bd80
> R15: ffff880100025d00
> [Thu Mar 15 14:56:06 2018] FS:  00007f1ffba19e80(0000)
> GS:ffff88018f500000(0000) knlGS:0000000000000000
> [Thu Mar 15 14:56:06 2018] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [Thu Mar 15 14:56:06 2018] CR2: 0000000000000038 CR3: 0000000093550000
> CR4: 00000000000406e0
> [Thu Mar 15 14:56:06 2018] Call Trace:
> [Thu Mar 15 14:56:06 2018]  tcp_sendmsg_locked+0x32d/0xe50
> [Thu Mar 15 14:56:06 2018]  tcp_sendmsg+0x2e/0x50
> [Thu Mar 15 14:56:06 2018]  sock_sendmsg+0x3e/0x50
> [Thu Mar 15 14:56:06 2018]  sock_write_iter+0x86/0x100
> [Thu Mar 15 14:56:06 2018]  __vfs_write+0x14d/0x1c0
> [Thu Mar 15 14:56:06 2018]  vfs_write+0xc3/0x1d0
> [Thu Mar 15 14:56:06 2018]  SyS_write+0x62/0xe0
> [Thu Mar 15 14:56:06 2018]  do_syscall_64+0x87/0x330
> [Thu Mar 15 14:56:06 2018]  ? __do_page_fault+0x1e0/0x450
> [Thu Mar 15 14:56:06 2018]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
> [Thu Mar 15 14:56:06 2018] RIP: 0033:0x7f1ffaef0b50
> [Thu Mar 15 14:56:06 2018] RSP: 002b:00007ffe0b34a9d8 EFLAGS: 00000246
> ORIG_RAX: 0000000000000001
> [Thu Mar 15 14:56:06 2018] RAX: ffffffffffffffda RBX: 0000000000000003
> RCX: 00007f1ffaef0b50
> [Thu Mar 15 14:56:06 2018] RDX: 000000000000c195 RSI: 0000558248b77bc0
> RDI: 0000000000000003
> [Thu Mar 15 14:56:06 2018] RBP: 00007ffe0b34aa50 R08: 000000000000c195
> R09: e34308fec493ee59
> [Thu Mar 15 14:56:06 2018] R10: 00007ffe0b34aad0 R11: 0000000000000246
> R12: 00007ffe0b34ab50
> [Thu Mar 15 14:56:06 2018] R13: 00007ffe0b34aad0 R14: 0000000000000002
> R15: 0000558247c3b440
> [Thu Mar 15 14:56:06 2018] Code: 00 48 8b 87 60 01 00 00 4c 8d 8f 58 01
> 00 00 b9 00 00 00 00 41 89 f3 4c 39 c8 48 0f 44 c1 41 81 e3 00 80 00 00
> 0f 85 a5 00 00 00 <80> 48 38 08 8b 8f 6c 06 00 00 89 8f 74 06 00 00 83
> e6 01 74 0c
> [Thu Mar 15 14:56:06 2018] RIP: tcp_push+0x3d/0x110 RSP: ffffc9000254bc90
> [Thu Mar 15 14:56:06 2018] CR2: 0000000000000038
> [Thu Mar 15 14:56:06 2018] ---[ end trace 6a582fb8616d56be ]---
> 
> [Sat Mar 17 04:47:25 2018] BUG: unable to handle kernel NULL pointer
> dereference at 0000000000000038
> [Sat Mar 17 04:47:25 2018] IP: tcp_push+0x3d/0x110
> [Sat Mar 17 04:47:25 2018] PGD 0 P4D 0
> [Sat Mar 17 04:47:25 2018] Oops: 0002 [#2] SMP NOPTI
> [Sat Mar 17 04:47:25 2018] CPU: 1 PID: 20758 Comm: rsync Tainted: G     
> D         4.14.26-gentoo #1
> [Sat Mar 17 04:47:25 2018] Hardware name: Xen HVM domU, BIOS 4.9.1
> 01/26/2018
> [Sat Mar 17 04:47:25 2018] task: ffff8800b1b5c100 task.stack:
> ffffc90002388000
> [Sat Mar 17 04:47:25 2018] RIP: 0010:tcp_push+0x3d/0x110
> [Sat Mar 17 04:47:25 2018] RSP: 0018:ffffc9000238bc90 EFLAGS: 00010246
> [Sat Mar 17 04:47:25 2018] RAX: 0000000000000000 RBX: ffff8800a8c90c40
> RCX: 0000000000000000
> [Sat Mar 17 04:47:25 2018] RDX: 0000000000000000 RSI: 0000000000000040
> RDI: ffff88005e0f2e80
> [Sat Mar 17 04:47:25 2018] RBP: 0000000000007038 R08: 0000000000005028
> R09: ffff88005e0f2fd8
> [Sat Mar 17 04:47:25 2018] R10: 0000000000000558 R11: 0000000000000000
> R12: 0000000000007038
> [Sat Mar 17 04:47:25 2018] R13: 00000000ffffffe0 R14: ffffc9000238bd80
> R15: ffff88005e0f2e80
> [Sat Mar 17 04:47:25 2018] FS:  00007f1ffba19e80(0000)
> GS:ffff88018f480000(0000) knlGS:0000000000000000
> [Sat Mar 17 04:47:25 2018] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [Sat Mar 17 04:47:25 2018] CR2: 0000000000000038 CR3: 00000001029fe000
> CR4: 00000000000406e0
> [Sat Mar 17 04:47:25 2018] Call Trace:
> [Sat Mar 17 04:47:25 2018]  tcp_sendmsg_locked+0x32d/0xe50
> [Sat Mar 17 04:47:25 2018]  tcp_sendmsg+0x2e/0x50
> [Sat Mar 17 04:47:25 2018]  sock_sendmsg+0x3e/0x50
> [Sat Mar 17 04:47:25 2018]  sock_write_iter+0x86/0x100
> [Sat Mar 17 04:47:25 2018]  __vfs_write+0x14d/0x1c0
> [Sat Mar 17 04:47:25 2018]  vfs_write+0xc3/0x1d0
> [Sat Mar 17 04:47:25 2018]  SyS_write+0x62/0xe0
> [Sat Mar 17 04:47:25 2018]  do_syscall_64+0x87/0x330
> [Sat Mar 17 04:47:25 2018]  ? __do_page_fault+0x1e0/0x450
> [Sat Mar 17 04:47:25 2018]  entry_SYSCALL_64_after_hwframe+0x3d/0xa2
> [Sat Mar 17 04:47:25 2018] RIP: 0033:0x7f1ffaef0b50
> [Sat Mar 17 04:47:26 2018] RSP: 002b:00007ffe0b34a9d8 EFLAGS: 00000246
> ORIG_RAX: 0000000000000001
> [Sat Mar 17 04:47:26 2018] RAX: ffffffffffffffda RBX: 0000000000000003
> RCX: 00007f1ffaef0b50
> [Sat Mar 17 04:47:26 2018] RDX: 000000000000fe15 RSI: 0000558248b77bd0
> RDI: 0000000000000003
> [Sat Mar 17 04:47:26 2018] RBP: 00007ffe0b34aa50 R08: 000000000000fe15
> R09: 0000000000003dae
> [Sat Mar 17 04:47:26 2018] R10: 00007ffe0b34aad0 R11: 0000000000000246
> R12: 00007ffe0b34ab50
> [Sat Mar 17 04:47:26 2018] R13: 00007ffe0b34aad0 R14: 0000000000000002
> R15: 0000558247c3b440
> [Sat Mar 17 04:47:26 2018] Code: 00 48 8b 87 60 01 00 00 4c 8d 8f 58 01
> 00 00 b9 00 00 00 00 41 89 f3 4c 39 c8 48 0f 44 c1 41 81 e3 00 80 00 00
> 0f 85 a5 00 00 00 <80> 48 38 08 8b 8f 6c 06 00 00 89 8f 74 06 00 00 83
> e6 01 74 0c
> [Sat Mar 17 04:47:26 2018] RIP: tcp_push+0x3d/0x110 RSP: ffffc9000238bc90
> [Sat Mar 17 04:47:26 2018] CR2: 0000000000000038
> [Sat Mar 17 04:47:26 2018] ---[ end trace 6a582fb8616d56bf ]---
> 

Hi Tomas

We have sent a fix last week, I am not sure if David took it.

https://patchwork.ozlabs.org/patch/886324/

Thanks

^ permalink raw reply

* [PATCH net-next 2/2 v4] netns: send uevent messages
From: Christian Brauner @ 2018-03-19 12:17 UTC (permalink / raw)
  To: ebiederm, gregkh, netdev, linux-kernel
  Cc: serge, avagin, ktkhai, Christian Brauner
In-Reply-To: <20180319121731.14449-1-christian.brauner@ubuntu.com>

This patch adds a receive method to NETLINK_KOBJECT_UEVENT netlink sockets
to allow sending uevent messages into the network namespace the socket
belongs to.

Currently non-initial network namespaces are already isolated and don't
receive uevents. There are a number of cases where it is beneficial for a
sufficiently privileged userspace process to send a uevent into a network
namespace.

One such use case would be debugging and fuzzing of a piece of software
which listens and reacts to uevents. By running a copy of that software
inside a network namespace, specific uevents could then be presented to it.
More concretely, this would allow for easy testing of udevd/ueventd.

This will also allow some piece of software to run components inside a
separate network namespace and then effectively filter what that software
can receive. Some examples of software that do directly listen to uevents
and that we have in the past attempted to run inside a network namespace
are rbd (CEPH client) or the X server.

Implementation:
The implementation has been kept as simple as possible from the kernel's
perspective. Specifically, a simple input method uevent_net_rcv() is added
to NETLINK_KOBJECT_UEVENT sockets which completely reuses existing
af_netlink infrastructure and does neither add an additional netlink family
nor requires any user-visible changes.

For example, by using netlink_rcv_skb() we can make use of existing netlink
infrastructure to report back informative error messages to userspace.

Furthermore, this implementation does not introduce any overhead for
existing uevent generating codepaths. The struct netns got a new uevent
socket member that records the uevent socket associated with that network
namespace including its position in the uevent socket list. Since we record
the uevent socket for each network namespace in struct net we don't have to
walk the whole uevent socket list. Instead we can directly retrieve the
relevant uevent socket and send the message. At exit time we can now also
trivially remove the uevent socket from the uevent socket list. This keeps
the codepath very performant without introducing needless overhead and even
makes older codepaths faster.

Uevent sequence numbers are kept global. When a uevent message is sent to
another network namespace the implementation will simply increment the
global uevent sequence number and append it to the received uevent. This
has the advantage that the kernel will never need to parse the received
uevent message to replace any existing uevent sequence numbers. Instead it
is up to the userspace process to remove any existing uevent sequence
numbers in case the uevent message to be sent contains any.

Security:
In order for a caller to send uevent messages to a target network namespace
the caller must have CAP_SYS_ADMIN in the owning user namespace of the
target network namespace. Additionally, any received uevent message is
verified to not exceed size UEVENT_BUFFER_SIZE. This includes the space
needed to append the uevent sequence number.

Testing:
This patch has been tested and verified to work with the following udev
implementations:
1. CentOS 6 with udevd version 147
2. Debian Sid with systemd-udevd version 237
3. Android 7.1.1 with ueventd

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
---
Changelog v3->v4:
* patch unchanged

Changelog v2->v3:
* Use reverse christmas tree ordering for local variables.

Changelog v1->v2:
* Add the whole struct uevent_sock to struct net not just the socket
  member. Since struct uevent_sock records the position of the uevent
  socket in the uevent socket list we can trivially remove it from the
  uevent socket list during cleanup. This speeds up the old removal
  codepath. list_del() will hit __list_del_entry_valid() in its call chain
  which will validate that the element is a member of the list. If it isn't
  it will take care that the list is not modified.

Changelog v0->v1:
* Hold mutex_lock() until uevent is sent to preserve uevent message
  ordering. See udev and commit for reference:

  commit 7b60a18da393ed70db043a777fd9e6d5363077c4
  Author: Andrew Vagin <avagin@openvz.org>
  Date:   Wed Mar 7 14:49:56 2012 +0400

      uevent: send events in correct order according to seqnum (v3)

      The queue handling in the udev daemon assumes that the events are
      ordered.
---
 lib/kobject_uevent.c | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 78 insertions(+), 1 deletion(-)

diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
index 8dd992e8638d..15ea216a67ce 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -25,6 +25,7 @@
 #include <linux/uuid.h>
 #include <linux/ctype.h>
 #include <net/sock.h>
+#include <net/netlink.h>
 #include <net/net_namespace.h>
 
 
@@ -604,12 +605,88 @@ int add_uevent_var(struct kobj_uevent_env *env, const char *format, ...)
 EXPORT_SYMBOL_GPL(add_uevent_var);
 
 #if defined(CONFIG_NET)
+static int uevent_net_broadcast(struct sock *usk, struct sk_buff *skb,
+				struct netlink_ext_ack *extack)
+{
+	/* u64 to chars: 2^64 - 1 = 21 chars */
+	char buf[sizeof("SEQNUM=") + 21];
+	struct sk_buff *skbc;
+	int ret;
+
+	/* bump and prepare sequence number */
+	ret = snprintf(buf, sizeof(buf), "SEQNUM=%llu", ++uevent_seqnum);
+	if (ret < 0 || (size_t)ret >= sizeof(buf))
+		return -ENOMEM;
+	ret++;
+
+	/* verify message does not overflow */
+	if ((skb->len + ret) > UEVENT_BUFFER_SIZE) {
+		NL_SET_ERR_MSG(extack, "uevent message too big");
+		return -EINVAL;
+	}
+
+	/* copy skb and extend to accommodate sequence number */
+	skbc = skb_copy_expand(skb, 0, ret, GFP_KERNEL);
+	if (!skbc)
+		return -ENOMEM;
+
+	/* append sequence number */
+	skb_put_data(skbc, buf, ret);
+
+	/* remove msg header */
+	skb_pull(skbc, NLMSG_HDRLEN);
+
+	/* set portid 0 to inform userspace message comes from kernel */
+	NETLINK_CB(skbc).portid = 0;
+	NETLINK_CB(skbc).dst_group = 1;
+
+	ret = netlink_broadcast(usk, skbc, 0, 1, GFP_KERNEL);
+	/* ENOBUFS should be handled in userspace */
+	if (ret == -ENOBUFS || ret == -ESRCH)
+		ret = 0;
+
+	return ret;
+}
+
+static int uevent_net_rcv_skb(struct sk_buff *skb, struct nlmsghdr *nlh,
+			      struct netlink_ext_ack *extack)
+{
+	struct net *net;
+	int ret;
+
+	if (!nlmsg_data(nlh))
+		return -EINVAL;
+
+	/*
+	 * Verify that we are allowed to send messages to the target
+	 * network namespace. The caller must have CAP_SYS_ADMIN in the
+	 * owning user namespace of the target network namespace.
+	 */
+	net = sock_net(NETLINK_CB(skb).sk);
+	if (!netlink_ns_capable(skb, net->user_ns, CAP_SYS_ADMIN)) {
+		NL_SET_ERR_MSG(extack, "missing CAP_SYS_ADMIN capability");
+		return -EPERM;
+	}
+
+	mutex_lock(&uevent_sock_mutex);
+	ret = uevent_net_broadcast(net->uevent_sock->sk, skb, extack);
+	mutex_unlock(&uevent_sock_mutex);
+
+	return ret;
+}
+
+static void uevent_net_rcv(struct sk_buff *skb)
+{
+	netlink_rcv_skb(skb, &uevent_net_rcv_skb);
+}
+
 static int uevent_net_init(struct net *net)
 {
 	struct uevent_sock *ue_sk;
 	struct netlink_kernel_cfg cfg = {
 		.groups	= 1,
-		.flags	= NL_CFG_F_NONROOT_RECV,
+		.input = uevent_net_rcv,
+		.flags	= NL_CFG_F_NONROOT_RECV
 	};
 
 	ue_sk = kzalloc(sizeof(*ue_sk), GFP_KERNEL);
-- 
2.15.1

^ permalink raw reply related

* [PATCH net-next 1/2 v4] net: add uevent socket member
From: Christian Brauner @ 2018-03-19 12:17 UTC (permalink / raw)
  To: ebiederm, gregkh, netdev, linux-kernel
  Cc: serge, avagin, ktkhai, Christian Brauner

This commit adds struct uevent_sock to struct net. Since struct uevent_sock
records the position of the uevent socket in the uevent socket list we can
trivially remove it from the uevent socket list during cleanup. This speeds
up the old removal codepath.
Note, list_del() will hit __list_del_entry_valid() in its call chain which
will validate that the element is a member of the list. If it isn't it will
take care that the list is not modified.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
---
Changelog v3->v4:
* non-functional change: remove return from function returning void

Changelog v2->v3:
* patch added
  This patch was split out of the follow up patch
  Subject: [PATCH 2/2 v3] netns: send uevent messages

Changelog v1->v2:
* patch not present

Changelog v0->v1:
* patch not present
---
 include/net/net_namespace.h |  4 +++-
 lib/kobject_uevent.c        | 17 +++++++----------
 2 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index f306b2aa15a4..abd7d91bffac 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -40,7 +40,7 @@ struct net_device;
 struct sock;
 struct ctl_table_header;
 struct net_generic;
-struct sock;
+struct uevent_sock;
 struct netns_ipvs;
 
 
@@ -79,6 +79,8 @@ struct net {
 	struct sock 		*rtnl;			/* rtnetlink socket */
 	struct sock		*genl_sock;
 
+	struct uevent_sock	*uevent_sock;		/* uevent socket */
+
 	struct list_head 	dev_base_head;
 	struct hlist_head 	*dev_name_head;
 	struct hlist_head	*dev_index_head;
diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
index 9fe6ec8fda28..8dd992e8638d 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -32,11 +32,13 @@ u64 uevent_seqnum;
 #ifdef CONFIG_UEVENT_HELPER
 char uevent_helper[UEVENT_HELPER_PATH_LEN] = CONFIG_UEVENT_HELPER_PATH;
 #endif
-#ifdef CONFIG_NET
+
 struct uevent_sock {
 	struct list_head list;
 	struct sock *sk;
 };
+
+#ifdef CONFIG_NET
 static LIST_HEAD(uevent_sock_list);
 #endif
 
@@ -621,6 +623,9 @@ static int uevent_net_init(struct net *net)
 		kfree(ue_sk);
 		return -ENODEV;
 	}
+
+	net->uevent_sock = ue_sk;
+
 	mutex_lock(&uevent_sock_mutex);
 	list_add_tail(&ue_sk->list, &uevent_sock_list);
 	mutex_unlock(&uevent_sock_mutex);
@@ -629,17 +634,9 @@ static int uevent_net_init(struct net *net)
 
 static void uevent_net_exit(struct net *net)
 {
-	struct uevent_sock *ue_sk;
+	struct uevent_sock *ue_sk = net->uevent_sock;
 
 	mutex_lock(&uevent_sock_mutex);
-	list_for_each_entry(ue_sk, &uevent_sock_list, list) {
-		if (sock_net(ue_sk->sk) == net)
-			goto found;
-	}
-	mutex_unlock(&uevent_sock_mutex);
-	return;
-
-found:
 	list_del(&ue_sk->list);
 	mutex_unlock(&uevent_sock_mutex);
 
-- 
2.15.1

^ permalink raw reply related

* [PATCH] net: phy: realtek: Add dummy stubs for MMD register access for rtl8211b
From: Kevin Hao @ 2018-03-19 12:05 UTC (permalink / raw)
  To: netdev; +Cc: Andrew Lunn, Florian Fainelli, Claudiu Manoil

The Ethernet on mpc8315erdb is broken since commit b6b5e8a69118
("gianfar: Disable EEE autoneg by default"). The reason is that
even though the rtl8211b doesn't support the MMD extended registers
access, it does return some random values if we trying to access
the MMD register via indirect method. This makes it seem that the
EEE is supported by this phy device. And the subsequent writing to
the MMD registers does cause the phy malfunction. So add dummy stubs
for the MMD register access to fix this issue.

Fixes: b6b5e8a69118 ("gianfar: Disable EEE autoneg by default")
Signed-off-by: Kevin Hao <haokexin@gmail.com>
---
 drivers/net/phy/realtek.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
index ee3ca4a2f12b..0a7301ef4ac9 100644
--- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c
@@ -103,6 +103,17 @@ static int rtl8211b_config_intr(struct phy_device *phydev)
 	return err;
 }
 
+static int rtl8211b_read_mmd(struct phy_device *phdev, int devad, u16 regnum)
+{
+	return -EINVAL;
+}
+
+static int rtl8211b_write_mmd(struct phy_device *phdev, int devnum, u16 regnum,
+			      u16 val)
+{
+	return -EINVAL;
+}
+
 static int rtl8211e_config_intr(struct phy_device *phydev)
 {
 	int err;
@@ -172,6 +183,8 @@ static struct phy_driver realtek_drvs[] = {
 		.flags		= PHY_HAS_INTERRUPT,
 		.ack_interrupt	= &rtl821x_ack_interrupt,
 		.config_intr	= &rtl8211b_config_intr,
+		.read_mmd	= &rtl8211b_read_mmd,
+		.write_mmd	= &rtl8211b_write_mmd,
 	}, {
 		.phy_id		= 0x001cc914,
 		.name		= "RTL8211DN Gigabit Ethernet",
-- 
2.9.3

^ permalink raw reply related

* Re: [PATCH 4/4] net: dsa: mv88e6xxx: guess number of g1 irqs
From: Andrew Lunn @ 2018-03-19 12:01 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Vivien Didelot, kernel, Florian Fainelli, netdev, Gregory CLEMENT
In-Reply-To: <20180319100523.24498-5-u.kleine-koenig@pengutronix.de>

On Mon, Mar 19, 2018 at 11:05:23AM +0100, Uwe Kleine-K�nig wrote:
> I don't have access to the documentation of the marvell switches, but
> with this change the switch driver successfully binds on the
> espressobin after its device tree makes use of the switch's irq line.

DaveM just accepted a patch like this from me.

      Andrew

> ---
>  drivers/net/dsa/mv88e6xxx/chip.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
> index 38fe875b9631..b3696540e002 100644
> --- a/drivers/net/dsa/mv88e6xxx/chip.c
> +++ b/drivers/net/dsa/mv88e6xxx/chip.c
> @@ -3420,6 +3420,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
>  		.global2_addr = 0x1c,
>  		.age_time_coeff = 3750,
>  		.atu_move_port_mask = 0x1f,
> +		.g1_irqs = 9,
>  		.g2_irqs = 10,
>  		.pvt = true,
>  		.multi_chip = true,
> @@ -3728,6 +3729,7 @@ static const struct mv88e6xxx_info mv88e6xxx_table[] = {
>  		.global2_addr = 0x1c,
>  		.age_time_coeff = 3750,
>  		.atu_move_port_mask = 0x1f,
> +		.g1_irqs = 9,
>  		.g2_irqs = 10,
>  		.pvt = true,
>  		.multi_chip = true,
> -- 
> 2.16.2
> 

^ permalink raw reply

* Re: [PATCH 1/2 v3] net: add uevent socket member
From: Christian Brauner @ 2018-03-19 11:59 UTC (permalink / raw)
  To: Kirill Tkhai
  Cc: Christian Brauner, ebiederm, gregkh, netdev, linux-kernel, serge,
	avagin
In-Reply-To: <e2f7c92b-e9ba-14fc-3ec4-7da78ca4fa4d@virtuozzo.com>

On Mon, Mar 19, 2018 at 02:53:09PM +0300, Kirill Tkhai wrote:
> Thanks for doing this. One small comment below.
> 
> On 17.03.2018 14:08, Christian Brauner wrote:
> > This commit adds struct uevent_sock to struct net. Since struct uevent_sock
> > records the position of the uevent socket in the uevent socket list we can
> > trivially remove it from the uevent socket list during cleanup. This speeds
> > up the old removal codepath.
> > Note, list_del() will hit __list_del_entry_valid() in its call chain which
> > will validate that the element is a member of the list. If it isn't it will
> > take care that the list is not modified.
> > 
> > Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
> > ---
> > Changelog v2->v3:
> > * patch added
> >   This patch was split out of the follow up patch
> >   Subject: [PATCH 2/2 v3] netns: send uevent messages
> > 
> > Changelog v1->v2:
> > * patch not present
> > 
> > Changelog v0->v1:
> > * patch not present
> > ---
> >  include/net/net_namespace.h |  4 +++-
> >  lib/kobject_uevent.c        | 19 +++++++++----------
> >  2 files changed, 12 insertions(+), 11 deletions(-)
> > 
> > diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
> > index f306b2aa15a4..abd7d91bffac 100644
> > --- a/include/net/net_namespace.h
> > +++ b/include/net/net_namespace.h
> > @@ -40,7 +40,7 @@ struct net_device;
> >  struct sock;
> >  struct ctl_table_header;
> >  struct net_generic;
> > -struct sock;
> > +struct uevent_sock;
> >  struct netns_ipvs;
> >  
> >  
> > @@ -79,6 +79,8 @@ struct net {
> >  	struct sock 		*rtnl;			/* rtnetlink socket */
> >  	struct sock		*genl_sock;
> >  
> > +	struct uevent_sock	*uevent_sock;		/* uevent socket */
> > +
> >  	struct list_head 	dev_base_head;
> >  	struct hlist_head 	*dev_name_head;
> >  	struct hlist_head	*dev_index_head;
> > diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
> > index 9fe6ec8fda28..cbdc60542cab 100644
> > --- a/lib/kobject_uevent.c
> > +++ b/lib/kobject_uevent.c
> > @@ -32,11 +32,13 @@ u64 uevent_seqnum;
> >  #ifdef CONFIG_UEVENT_HELPER
> >  char uevent_helper[UEVENT_HELPER_PATH_LEN] = CONFIG_UEVENT_HELPER_PATH;
> >  #endif
> > -#ifdef CONFIG_NET
> > +
> >  struct uevent_sock {
> >  	struct list_head list;
> >  	struct sock *sk;
> >  };
> > +
> > +#ifdef CONFIG_NET
> >  static LIST_HEAD(uevent_sock_list);
> >  #endif
> >  
> > @@ -621,6 +623,9 @@ static int uevent_net_init(struct net *net)
> >  		kfree(ue_sk);
> >  		return -ENODEV;
> >  	}
> > +
> > +	net->uevent_sock = ue_sk;
> > +
> >  	mutex_lock(&uevent_sock_mutex);
> >  	list_add_tail(&ue_sk->list, &uevent_sock_list);
> >  	mutex_unlock(&uevent_sock_mutex);
> > @@ -629,22 +634,16 @@ static int uevent_net_init(struct net *net)
> >  
> >  static void uevent_net_exit(struct net *net)
> >  {
> > -	struct uevent_sock *ue_sk;
> > +	struct uevent_sock *ue_sk = net->uevent_sock;
> >  
> >  	mutex_lock(&uevent_sock_mutex);
> > -	list_for_each_entry(ue_sk, &uevent_sock_list, list) {
> > -		if (sock_net(ue_sk->sk) == net)
> > -			goto found;
> > -	}
> > -	mutex_unlock(&uevent_sock_mutex);
> > -	return;
> > -
> > -found:
> >  	list_del(&ue_sk->list);
> >  	mutex_unlock(&uevent_sock_mutex);
> >  
> >  	netlink_kernel_release(ue_sk->sk);
> >  	kfree(ue_sk);
> > +
> > +	return;
> 
> There is end of function. Doesn't return is excess here?

Yeah, I can remove it and resend it now.

Christian

> 
> >  }
> >  
> >  static struct pernet_operations uevent_net_ops = {
> > 
> 
> Kirill

^ permalink raw reply

* Re: [PATCH 3/4] net: dsa: mv88e6xxx: fix interrupt name for g2 irq
From: Andrew Lunn @ 2018-03-19 11:59 UTC (permalink / raw)
  To: Uwe Kleine-König
  Cc: Vivien Didelot, kernel, Florian Fainelli, netdev, Gregory CLEMENT
In-Reply-To: <20180319100523.24498-4-u.kleine-koenig@pengutronix.de>

On Mon, Mar 19, 2018 at 11:05:22AM +0100, Uwe Kleine-K�nig wrote:
> This changes the respective line in /proc/interrupts from
> 
>  49:          x          x  mv88e6xxx-g1   7 Edge      mv88e6xxx-g1
> 
> to
> 
>  49:          x          x  mv88e6xxx-g1   7 Edge      mv88e6xxx-g2
> 
> which makes more sense.
> 
> Signed-off-by: Uwe Kleine-K�nig <u.kleine-koenig@pengutronix.de>

Reviewed-by: Andrew Lunn <andrew@lunn.ch>

    Andrew

^ 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