* Re: [PATCH 03/16] mm: simplify gup_fast_permitted
From: Christoph Hellwig @ 2019-06-04 7:26 UTC (permalink / raw)
To: Linus Torvalds
Cc: Rich Felker, Yoshinori Sato, Linux-sh list, James Hogan,
the arch/x86 maintainers, Khalid Aziz, Nicholas Piggin,
David S. Miller, Linux-MM, Paul Burton, Paul Mackerras,
Andrey Konovalov, sparclinux, linux-mips, linuxppc-dev,
Christoph Hellwig, Linux List Kernel Mailing
In-Reply-To: <CAHk-=wjU3ycY2FvhKmYmOTi95L0qSi9Hj+yrzWTAWepW-zdBOA@mail.gmail.com>
On Mon, Jun 03, 2019 at 10:02:10AM -0700, Linus Torvalds wrote:
> On Mon, Jun 3, 2019 at 9:08 AM Linus Torvalds
> <torvalds@linux-foundation.org> wrote:
> >
> > The new code has no test at all for "nr_pages == 0", afaik.
>
> Note that it really is important to check for that, because right now we do
True. The 0 check got lost. I'll make sure we do the right thing for
the next version.
^ permalink raw reply
* Re: [PATCH 01/16] uaccess: add untagged_addr definition for other arches
From: Christoph Hellwig @ 2019-06-04 7:27 UTC (permalink / raw)
To: Khalid Aziz
Cc: x86, Rich Felker, Yoshinori Sato, linux-sh, James Hogan,
linuxppc-dev, linux-mips, Nicholas Piggin, David S. Miller,
Catalin Marinas, linux-mm, Paul Burton, Paul Mackerras,
Andrey Konovalov, sparclinux, Linus Torvalds, Christoph Hellwig,
linux-kernel
In-Reply-To: <431c7395-2327-2f7c-cc8f-b01412b74e10@oracle.com>
On Mon, Jun 03, 2019 at 09:16:08AM -0600, Khalid Aziz wrote:
> Could you reword above sentence? We are already starting off with
> untagged_addr() not being no-op for arm64 and sparc64. It will expand
> further potentially. So something more along the lines of "Define it as
> noop for architectures that do not support memory tagging". The first
> paragraph in the log can also be rewritten to be not specific to arm64.
Well, as of this patch this actually is a no-op for everyone.
Linus, what do you think of applying this patch (maybe with a slightly
fixed up commit log) to 5.2-rc so that we remove a cross dependency
between the series?
^ permalink raw reply
* [PATCH] powerpc/configs: Remove useless UEVENT_HELPER_PATH
From: Krzysztof Kozlowski @ 2019-06-04 8:00 UTC (permalink / raw)
To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
linuxppc-dev, linux-kernel
Cc: Krzysztof Kozlowski, Geert Uytterhoeven
Remove the CONFIG_UEVENT_HELPER_PATH because:
1. It is disabled since commit 1be01d4a5714 ("driver: base: Disable
CONFIG_UEVENT_HELPER by default") as its dependency (UEVENT_HELPER) was
made default to 'n',
2. It is not recommended (help message: "This should not be used today
[...] creates a high system load") and was kept only for ancient
userland,
3. Certain userland specifically requests it to be disabled (systemd
README: "Legacy hotplug slows down the system and confuses udev").
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
arch/powerpc/configs/40x/acadia_defconfig | 1 -
arch/powerpc/configs/40x/ep405_defconfig | 1 -
arch/powerpc/configs/40x/kilauea_defconfig | 1 -
arch/powerpc/configs/40x/klondike_defconfig | 1 -
arch/powerpc/configs/40x/makalu_defconfig | 1 -
arch/powerpc/configs/40x/obs600_defconfig | 1 -
arch/powerpc/configs/40x/virtex_defconfig | 1 -
arch/powerpc/configs/40x/walnut_defconfig | 1 -
arch/powerpc/configs/44x/akebono_defconfig | 1 -
arch/powerpc/configs/44x/arches_defconfig | 1 -
arch/powerpc/configs/44x/bamboo_defconfig | 1 -
arch/powerpc/configs/44x/bluestone_defconfig | 1 -
arch/powerpc/configs/44x/canyonlands_defconfig | 1 -
arch/powerpc/configs/44x/currituck_defconfig | 1 -
arch/powerpc/configs/44x/ebony_defconfig | 1 -
arch/powerpc/configs/44x/eiger_defconfig | 1 -
arch/powerpc/configs/44x/fsp2_defconfig | 1 -
arch/powerpc/configs/44x/icon_defconfig | 1 -
arch/powerpc/configs/44x/iss476-smp_defconfig | 1 -
arch/powerpc/configs/44x/katmai_defconfig | 1 -
arch/powerpc/configs/44x/rainier_defconfig | 1 -
arch/powerpc/configs/44x/redwood_defconfig | 1 -
arch/powerpc/configs/44x/sam440ep_defconfig | 1 -
arch/powerpc/configs/44x/sequoia_defconfig | 1 -
arch/powerpc/configs/44x/taishan_defconfig | 1 -
arch/powerpc/configs/44x/virtex5_defconfig | 1 -
arch/powerpc/configs/44x/warp_defconfig | 1 -
arch/powerpc/configs/52xx/cm5200_defconfig | 1 -
arch/powerpc/configs/52xx/lite5200b_defconfig | 1 -
arch/powerpc/configs/52xx/motionpro_defconfig | 1 -
arch/powerpc/configs/52xx/pcm030_defconfig | 1 -
arch/powerpc/configs/52xx/tqm5200_defconfig | 1 -
arch/powerpc/configs/83xx/asp8347_defconfig | 1 -
arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | 1 -
arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | 1 -
arch/powerpc/configs/83xx/mpc832x_mds_defconfig | 1 -
arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | 1 -
arch/powerpc/configs/83xx/mpc834x_itx_defconfig | 1 -
arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | 1 -
arch/powerpc/configs/83xx/mpc834x_mds_defconfig | 1 -
arch/powerpc/configs/83xx/mpc836x_mds_defconfig | 1 -
arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | 1 -
arch/powerpc/configs/83xx/mpc837x_mds_defconfig | 1 -
arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | 1 -
arch/powerpc/configs/85xx/ge_imp3a_defconfig | 1 -
arch/powerpc/configs/85xx/ksi8560_defconfig | 1 -
arch/powerpc/configs/85xx/mpc8540_ads_defconfig | 1 -
arch/powerpc/configs/85xx/mpc8560_ads_defconfig | 1 -
arch/powerpc/configs/85xx/mpc85xx_cds_defconfig | 1 -
arch/powerpc/configs/85xx/sbc8548_defconfig | 1 -
arch/powerpc/configs/85xx/stx_gp3_defconfig | 1 -
arch/powerpc/configs/85xx/tqm8548_defconfig | 1 -
arch/powerpc/configs/85xx/xes_mpc85xx_defconfig | 1 -
arch/powerpc/configs/adder875_defconfig | 1 -
arch/powerpc/configs/amigaone_defconfig | 1 -
arch/powerpc/configs/cell_defconfig | 1 -
arch/powerpc/configs/chrp32_defconfig | 1 -
arch/powerpc/configs/ep8248e_defconfig | 1 -
arch/powerpc/configs/ep88xc_defconfig | 1 -
arch/powerpc/configs/fsl-emb-nonhw.config | 1 -
arch/powerpc/configs/g5_defconfig | 1 -
arch/powerpc/configs/gamecube_defconfig | 1 -
arch/powerpc/configs/holly_defconfig | 1 -
arch/powerpc/configs/linkstation_defconfig | 1 -
arch/powerpc/configs/maple_defconfig | 1 -
arch/powerpc/configs/mgcoge_defconfig | 1 -
arch/powerpc/configs/mpc512x_defconfig | 1 -
arch/powerpc/configs/mpc5200_defconfig | 1 -
arch/powerpc/configs/mpc7448_hpc2_defconfig | 1 -
arch/powerpc/configs/mpc8272_ads_defconfig | 1 -
arch/powerpc/configs/mpc83xx_defconfig | 1 -
arch/powerpc/configs/mpc885_ads_defconfig | 1 -
arch/powerpc/configs/mvme5100_defconfig | 1 -
arch/powerpc/configs/pasemi_defconfig | 1 -
arch/powerpc/configs/pmac32_defconfig | 1 -
arch/powerpc/configs/powernv_defconfig | 1 -
arch/powerpc/configs/ppc40x_defconfig | 1 -
arch/powerpc/configs/ppc44x_defconfig | 1 -
arch/powerpc/configs/ppc64_defconfig | 1 -
arch/powerpc/configs/ppc64e_defconfig | 1 -
arch/powerpc/configs/ppc6xx_defconfig | 1 -
arch/powerpc/configs/pq2fads_defconfig | 1 -
arch/powerpc/configs/ps3_defconfig | 1 -
arch/powerpc/configs/pseries_defconfig | 1 -
arch/powerpc/configs/skiroot_defconfig | 1 -
arch/powerpc/configs/storcenter_defconfig | 1 -
arch/powerpc/configs/tqm8xx_defconfig | 1 -
arch/powerpc/configs/wii_defconfig | 1 -
88 files changed, 88 deletions(-)
diff --git a/arch/powerpc/configs/40x/acadia_defconfig b/arch/powerpc/configs/40x/acadia_defconfig
index e57344c3b0d7..5a75e4f14273 100644
--- a/arch/powerpc/configs/40x/acadia_defconfig
+++ b/arch/powerpc/configs/40x/acadia_defconfig
@@ -22,7 +22,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/40x/ep405_defconfig b/arch/powerpc/configs/40x/ep405_defconfig
index 0f66f8a87be8..e2691c5db766 100644
--- a/arch/powerpc/configs/40x/ep405_defconfig
+++ b/arch/powerpc/configs/40x/ep405_defconfig
@@ -21,7 +21,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/40x/kilauea_defconfig b/arch/powerpc/configs/40x/kilauea_defconfig
index 3da091f651d6..949989ef2322 100644
--- a/arch/powerpc/configs/40x/kilauea_defconfig
+++ b/arch/powerpc/configs/40x/kilauea_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/40x/klondike_defconfig b/arch/powerpc/configs/40x/klondike_defconfig
index caab658d1da1..4347a87088dc 100644
--- a/arch/powerpc/configs/40x/klondike_defconfig
+++ b/arch/powerpc/configs/40x/klondike_defconfig
@@ -14,7 +14,6 @@ CONFIG_APM8018X=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_MATH_EMULATION=y
# CONFIG_SUSPEND is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=35000
CONFIG_SCSI=y
diff --git a/arch/powerpc/configs/40x/makalu_defconfig b/arch/powerpc/configs/40x/makalu_defconfig
index e0b1489b7c7b..90b759bbf426 100644
--- a/arch/powerpc/configs/40x/makalu_defconfig
+++ b/arch/powerpc/configs/40x/makalu_defconfig
@@ -21,7 +21,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/40x/obs600_defconfig b/arch/powerpc/configs/40x/obs600_defconfig
index 38d3d7769a2f..881c300c011d 100644
--- a/arch/powerpc/configs/40x/obs600_defconfig
+++ b/arch/powerpc/configs/40x/obs600_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/40x/virtex_defconfig b/arch/powerpc/configs/40x/virtex_defconfig
index a2b2770eee8f..5e7c61d1d7d0 100644
--- a/arch/powerpc/configs/40x/virtex_defconfig
+++ b/arch/powerpc/configs/40x/virtex_defconfig
@@ -31,7 +31,6 @@ CONFIG_NETFILTER=y
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_MANGLE=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
diff --git a/arch/powerpc/configs/40x/walnut_defconfig b/arch/powerpc/configs/40x/walnut_defconfig
index 6faa03cd661c..0ed46704b9fa 100644
--- a/arch/powerpc/configs/40x/walnut_defconfig
+++ b/arch/powerpc/configs/40x/walnut_defconfig
@@ -19,7 +19,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/akebono_defconfig b/arch/powerpc/configs/44x/akebono_defconfig
index 9fcd361607e2..2fa553ebfdc9 100644
--- a/arch/powerpc/configs/44x/akebono_defconfig
+++ b/arch/powerpc/configs/44x/akebono_defconfig
@@ -33,7 +33,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_CONNECTOR=y
diff --git a/arch/powerpc/configs/44x/arches_defconfig b/arch/powerpc/configs/44x/arches_defconfig
index 6bba1a55b827..5a1b9ee18075 100644
--- a/arch/powerpc/configs/44x/arches_defconfig
+++ b/arch/powerpc/configs/44x/arches_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/bamboo_defconfig b/arch/powerpc/configs/44x/bamboo_defconfig
index 6f3a6ecc81e7..22e1ef5272ab 100644
--- a/arch/powerpc/configs/44x/bamboo_defconfig
+++ b/arch/powerpc/configs/44x/bamboo_defconfig
@@ -22,7 +22,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=35000
diff --git a/arch/powerpc/configs/44x/bluestone_defconfig b/arch/powerpc/configs/44x/bluestone_defconfig
index 6b77aea79b6c..8006a5728afd 100644
--- a/arch/powerpc/configs/44x/bluestone_defconfig
+++ b/arch/powerpc/configs/44x/bluestone_defconfig
@@ -20,7 +20,6 @@ CONFIG_INET=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/canyonlands_defconfig b/arch/powerpc/configs/44x/canyonlands_defconfig
index d427cee027a6..86f34ea4173a 100644
--- a/arch/powerpc/configs/44x/canyonlands_defconfig
+++ b/arch/powerpc/configs/44x/canyonlands_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/currituck_defconfig b/arch/powerpc/configs/44x/currituck_defconfig
index 5f1df5fe4453..ce3ec5a2cd15 100644
--- a/arch/powerpc/configs/44x/currituck_defconfig
+++ b/arch/powerpc/configs/44x/currituck_defconfig
@@ -31,7 +31,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_CONNECTOR=y
diff --git a/arch/powerpc/configs/44x/ebony_defconfig b/arch/powerpc/configs/44x/ebony_defconfig
index e2b6578993d5..f67447c92e6f 100644
--- a/arch/powerpc/configs/44x/ebony_defconfig
+++ b/arch/powerpc/configs/44x/ebony_defconfig
@@ -20,7 +20,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/44x/eiger_defconfig b/arch/powerpc/configs/44x/eiger_defconfig
index f593258806ad..5dbd83a1c11b 100644
--- a/arch/powerpc/configs/44x/eiger_defconfig
+++ b/arch/powerpc/configs/44x/eiger_defconfig
@@ -25,7 +25,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/fsp2_defconfig b/arch/powerpc/configs/44x/fsp2_defconfig
index bae6b26bcfba..e49114f0e526 100644
--- a/arch/powerpc/configs/44x/fsp2_defconfig
+++ b/arch/powerpc/configs/44x/fsp2_defconfig
@@ -44,7 +44,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
CONFIG_VLAN_8021Q=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_CONNECTOR=y
diff --git a/arch/powerpc/configs/44x/icon_defconfig b/arch/powerpc/configs/44x/icon_defconfig
index 4453a4590b1a..fa5378af44f9 100644
--- a/arch/powerpc/configs/44x/icon_defconfig
+++ b/arch/powerpc/configs/44x/icon_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/iss476-smp_defconfig b/arch/powerpc/configs/44x/iss476-smp_defconfig
index d24bfa6ecd62..aae879c21239 100644
--- a/arch/powerpc/configs/44x/iss476-smp_defconfig
+++ b/arch/powerpc/configs/44x/iss476-smp_defconfig
@@ -33,7 +33,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/44x/katmai_defconfig b/arch/powerpc/configs/44x/katmai_defconfig
index 5d3f685a7af8..56eddca998c6 100644
--- a/arch/powerpc/configs/44x/katmai_defconfig
+++ b/arch/powerpc/configs/44x/katmai_defconfig
@@ -22,7 +22,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/rainier_defconfig b/arch/powerpc/configs/44x/rainier_defconfig
index 7b8355a5698d..369bfd2e451d 100644
--- a/arch/powerpc/configs/44x/rainier_defconfig
+++ b/arch/powerpc/configs/44x/rainier_defconfig
@@ -23,7 +23,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/redwood_defconfig b/arch/powerpc/configs/44x/redwood_defconfig
index 918cfb63f0c8..8be95f6fe3a7 100644
--- a/arch/powerpc/configs/44x/redwood_defconfig
+++ b/arch/powerpc/configs/44x/redwood_defconfig
@@ -25,7 +25,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/sam440ep_defconfig b/arch/powerpc/configs/44x/sam440ep_defconfig
index 63302fbd184d..974a4f038cda 100644
--- a/arch/powerpc/configs/44x/sam440ep_defconfig
+++ b/arch/powerpc/configs/44x/sam440ep_defconfig
@@ -27,7 +27,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/44x/sequoia_defconfig b/arch/powerpc/configs/44x/sequoia_defconfig
index f34fee9464e5..10e517b69fa4 100644
--- a/arch/powerpc/configs/44x/sequoia_defconfig
+++ b/arch/powerpc/configs/44x/sequoia_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/taishan_defconfig b/arch/powerpc/configs/44x/taishan_defconfig
index 42cc7b4ed95f..cd08f3ddd609 100644
--- a/arch/powerpc/configs/44x/taishan_defconfig
+++ b/arch/powerpc/configs/44x/taishan_defconfig
@@ -22,7 +22,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/44x/virtex5_defconfig b/arch/powerpc/configs/44x/virtex5_defconfig
index 99cc3dc02df1..1f74079e1703 100644
--- a/arch/powerpc/configs/44x/virtex5_defconfig
+++ b/arch/powerpc/configs/44x/virtex5_defconfig
@@ -30,7 +30,6 @@ CONFIG_NETFILTER=y
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_MANGLE=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
diff --git a/arch/powerpc/configs/44x/warp_defconfig b/arch/powerpc/configs/44x/warp_defconfig
index 6ae88d4879bf..af66c69c49fe 100644
--- a/arch/powerpc/configs/44x/warp_defconfig
+++ b/arch/powerpc/configs/44x/warp_defconfig
@@ -26,7 +26,6 @@ CONFIG_IP_PNP_DHCP=y
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
CONFIG_VLAN_8021Q=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_STANDALONE is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/52xx/cm5200_defconfig b/arch/powerpc/configs/52xx/cm5200_defconfig
index 73948e88ac82..2412a6bf7ee6 100644
--- a/arch/powerpc/configs/52xx/cm5200_defconfig
+++ b/arch/powerpc/configs/52xx/cm5200_defconfig
@@ -23,7 +23,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/52xx/lite5200b_defconfig b/arch/powerpc/configs/52xx/lite5200b_defconfig
index 6fc7f786c83c..63368e677506 100644
--- a/arch/powerpc/configs/52xx/lite5200b_defconfig
+++ b/arch/powerpc/configs/52xx/lite5200b_defconfig
@@ -26,7 +26,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/52xx/motionpro_defconfig b/arch/powerpc/configs/52xx/motionpro_defconfig
index ae2a1f74103b..72762da94846 100644
--- a/arch/powerpc/configs/52xx/motionpro_defconfig
+++ b/arch/powerpc/configs/52xx/motionpro_defconfig
@@ -23,7 +23,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/52xx/pcm030_defconfig b/arch/powerpc/configs/52xx/pcm030_defconfig
index 1554de6968ca..303600ff1fdb 100644
--- a/arch/powerpc/configs/52xx/pcm030_defconfig
+++ b/arch/powerpc/configs/52xx/pcm030_defconfig
@@ -36,7 +36,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_DIAG is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/52xx/tqm5200_defconfig b/arch/powerpc/configs/52xx/tqm5200_defconfig
index 0777e6efd22d..a3c8ca74032c 100644
--- a/arch/powerpc/configs/52xx/tqm5200_defconfig
+++ b/arch/powerpc/configs/52xx/tqm5200_defconfig
@@ -27,7 +27,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/83xx/asp8347_defconfig b/arch/powerpc/configs/83xx/asp8347_defconfig
index dd884df32dfd..10192410b33c 100644
--- a/arch/powerpc/configs/83xx/asp8347_defconfig
+++ b/arch/powerpc/configs/83xx/asp8347_defconfig
@@ -27,7 +27,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_REDBOOT_PARTS=y
diff --git a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
index 9dffb2e7f735..16a42e2267fb 100644
--- a/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc8313_rdb_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
index a42232732c6d..80d40ae668eb 100644
--- a/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc8315_rdb_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
index 4f914906ee4b..e94555452fb2 100644
--- a/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc832x_mds_defconfig
@@ -26,7 +26,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
index a484eb8401e8..1715ff547442 100644
--- a/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc832x_rdb_defconfig
@@ -27,7 +27,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
index 37f4d93b3f81..e65c0057147f 100644
--- a/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
+++ b/arch/powerpc/configs/83xx/mpc834x_itx_defconfig
@@ -25,7 +25,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CFI=y
diff --git a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
index 7adb6708a761..17714bf0ed40 100644
--- a/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
+++ b/arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig
@@ -25,7 +25,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CFI=y
diff --git a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
index d7ce3551529d..e2ff684d8792 100644
--- a/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc834x_mds_defconfig
@@ -26,7 +26,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
index 92134cee3f37..3eceb6db2982 100644
--- a/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc836x_mds_defconfig
@@ -25,7 +25,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
index 97f7ea5f205f..093df33f9455 100644
--- a/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
+++ b/arch/powerpc/configs/83xx/mpc836x_rdk_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
index ee7510a33d06..3f5e5d10789f 100644
--- a/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
+++ b/arch/powerpc/configs/83xx/mpc837x_mds_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
index 8966a9af4230..dad53ef86b49 100644
--- a/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
+++ b/arch/powerpc/configs/83xx/mpc837x_rdb_defconfig
@@ -26,7 +26,6 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/85xx/ge_imp3a_defconfig b/arch/powerpc/configs/85xx/ge_imp3a_defconfig
index d70b60314dad..920f37316fdb 100644
--- a/arch/powerpc/configs/85xx/ge_imp3a_defconfig
+++ b/arch/powerpc/configs/85xx/ge_imp3a_defconfig
@@ -65,7 +65,6 @@ CONFIG_INET6_AH=m
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_TUNNEL=m
CONFIG_NET_PKTGEN=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y
diff --git a/arch/powerpc/configs/85xx/ksi8560_defconfig b/arch/powerpc/configs/85xx/ksi8560_defconfig
index 9ce6f48cfb61..9cb211fb6d1e 100644
--- a/arch/powerpc/configs/85xx/ksi8560_defconfig
+++ b/arch/powerpc/configs/85xx/ksi8560_defconfig
@@ -23,7 +23,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
index 5fbc3f904046..618e03e0706d 100644
--- a/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8540_ads_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
index ff981d7905c7..9bc6283f2fb2 100644
--- a/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
+++ b/arch/powerpc/configs/85xx/mpc8560_ads_defconfig
@@ -23,7 +23,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
index 974f0706d777..0683d8c292a8 100644
--- a/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
+++ b/arch/powerpc/configs/85xx/mpc85xx_cds_defconfig
@@ -25,7 +25,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/85xx/sbc8548_defconfig b/arch/powerpc/configs/85xx/sbc8548_defconfig
index 7e3e84a842e4..258881727119 100644
--- a/arch/powerpc/configs/85xx/sbc8548_defconfig
+++ b/arch/powerpc/configs/85xx/sbc8548_defconfig
@@ -22,7 +22,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/85xx/stx_gp3_defconfig b/arch/powerpc/configs/85xx/stx_gp3_defconfig
index 5b9cc01b9098..ecbcc853307d 100644
--- a/arch/powerpc/configs/85xx/stx_gp3_defconfig
+++ b/arch/powerpc/configs/85xx/stx_gp3_defconfig
@@ -22,7 +22,6 @@ CONFIG_NETFILTER=y
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_FILTER=m
CONFIG_NET_PKTGEN=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
diff --git a/arch/powerpc/configs/85xx/tqm8548_defconfig b/arch/powerpc/configs/85xx/tqm8548_defconfig
index 1c63cbdc3211..afa1b9b633f8 100644
--- a/arch/powerpc/configs/85xx/tqm8548_defconfig
+++ b/arch/powerpc/configs/85xx/tqm8548_defconfig
@@ -29,7 +29,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CFI=y
diff --git a/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig b/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig
index 78f5beb2928c..d50aca608736 100644
--- a/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig
+++ b/arch/powerpc/configs/85xx/xes_mpc85xx_defconfig
@@ -54,7 +54,6 @@ CONFIG_IP_PIMSM_V2=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_MTD=y
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/adder875_defconfig b/arch/powerpc/configs/adder875_defconfig
index 935ea3ade7de..f7a803ab2285 100644
--- a/arch/powerpc/configs/adder875_defconfig
+++ b/arch/powerpc/configs/adder875_defconfig
@@ -26,7 +26,6 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/amigaone_defconfig b/arch/powerpc/configs/amigaone_defconfig
index 12f397d403c6..cf94d28d0e31 100644
--- a/arch/powerpc/configs/amigaone_defconfig
+++ b/arch/powerpc/configs/amigaone_defconfig
@@ -37,7 +37,6 @@ CONFIG_NETFILTER=y
# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
# CONFIG_NETFILTER_XT_MATCH_STATE is not set
# CONFIG_IP_NF_MANGLE is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_STANDALONE is not set
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig
index 560a93a84efe..2dd1b58a18ae 100644
--- a/arch/powerpc/configs/cell_defconfig
+++ b/arch/powerpc/configs/cell_defconfig
@@ -102,7 +102,6 @@ CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=131072
diff --git a/arch/powerpc/configs/chrp32_defconfig b/arch/powerpc/configs/chrp32_defconfig
index a203b1cf67d3..9ff493dd8439 100644
--- a/arch/powerpc/configs/chrp32_defconfig
+++ b/arch/powerpc/configs/chrp32_defconfig
@@ -38,7 +38,6 @@ CONFIG_NETFILTER=y
# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set
# CONFIG_NETFILTER_XT_MATCH_STATE is not set
# CONFIG_IP_NF_MANGLE is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_STANDALONE is not set
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_LOOP=y
diff --git a/arch/powerpc/configs/ep8248e_defconfig b/arch/powerpc/configs/ep8248e_defconfig
index 2e6c8a45ae88..6e08d9502d89 100644
--- a/arch/powerpc/configs/ep8248e_defconfig
+++ b/arch/powerpc/configs/ep8248e_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
CONFIG_NETFILTER=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/ep88xc_defconfig b/arch/powerpc/configs/ep88xc_defconfig
index 7cb590e8f8fd..b20bd0cf3543 100644
--- a/arch/powerpc/configs/ep88xc_defconfig
+++ b/arch/powerpc/configs/ep88xc_defconfig
@@ -28,7 +28,6 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/fsl-emb-nonhw.config b/arch/powerpc/configs/fsl-emb-nonhw.config
index d592ba27b122..3c7dad19a691 100644
--- a/arch/powerpc/configs/fsl-emb-nonhw.config
+++ b/arch/powerpc/configs/fsl-emb-nonhw.config
@@ -118,7 +118,6 @@ CONFIG_SYSVIPC=y
CONFIG_TMPFS=y
CONFIG_UBIFS_FS=y
CONFIG_UDF_FS=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_UFS_FS=m
CONFIG_UIO=y
CONFIG_UNIX=y
diff --git a/arch/powerpc/configs/g5_defconfig b/arch/powerpc/configs/g5_defconfig
index ceb3c770786f..3f4c141b82b1 100644
--- a/arch/powerpc/configs/g5_defconfig
+++ b/arch/powerpc/configs/g5_defconfig
@@ -52,7 +52,6 @@ CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CONNTRACK_IPV4=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_BLK_DEV_LOOP=y
diff --git a/arch/powerpc/configs/gamecube_defconfig b/arch/powerpc/configs/gamecube_defconfig
index 805b0f87653c..a39e32ea3035 100644
--- a/arch/powerpc/configs/gamecube_defconfig
+++ b/arch/powerpc/configs/gamecube_defconfig
@@ -35,7 +35,6 @@ CONFIG_IP_PNP_RARP=y
# CONFIG_INET_DIAG is not set
# CONFIG_IPV6 is not set
# CONFIG_WIRELESS is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_STANDALONE is not set
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
diff --git a/arch/powerpc/configs/holly_defconfig b/arch/powerpc/configs/holly_defconfig
index 71d8d2430b6c..067f433c8f5e 100644
--- a/arch/powerpc/configs/holly_defconfig
+++ b/arch/powerpc/configs/holly_defconfig
@@ -27,7 +27,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/linkstation_defconfig b/arch/powerpc/configs/linkstation_defconfig
index 477794c41d50..ea59f3d146df 100644
--- a/arch/powerpc/configs/linkstation_defconfig
+++ b/arch/powerpc/configs/linkstation_defconfig
@@ -48,7 +48,6 @@ CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/maple_defconfig b/arch/powerpc/configs/maple_defconfig
index c5f2005005d3..7fab0a540452 100644
--- a/arch/powerpc/configs/maple_defconfig
+++ b/arch/powerpc/configs/maple_defconfig
@@ -36,7 +36,6 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=8192
# CONFIG_SCSI_PROC_FS is not set
diff --git a/arch/powerpc/configs/mgcoge_defconfig b/arch/powerpc/configs/mgcoge_defconfig
index 5d5f08e5b8d9..6ce4f206eac7 100644
--- a/arch/powerpc/configs/mgcoge_defconfig
+++ b/arch/powerpc/configs/mgcoge_defconfig
@@ -30,7 +30,6 @@ CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
CONFIG_TIPC=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/mpc512x_defconfig b/arch/powerpc/configs/mpc512x_defconfig
index e4bf8aa87e60..6203c1093a3a 100644
--- a/arch/powerpc/configs/mpc512x_defconfig
+++ b/arch/powerpc/configs/mpc512x_defconfig
@@ -35,7 +35,6 @@ CONFIG_CAN_VCAN=y
CONFIG_CAN_MSCAN=y
CONFIG_CAN_DEBUG_DEVICES=y
# CONFIG_WIRELESS is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
diff --git a/arch/powerpc/configs/mpc5200_defconfig b/arch/powerpc/configs/mpc5200_defconfig
index 7a2b2aa37def..6f87a5c74960 100644
--- a/arch/powerpc/configs/mpc5200_defconfig
+++ b/arch/powerpc/configs/mpc5200_defconfig
@@ -27,7 +27,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/mpc7448_hpc2_defconfig b/arch/powerpc/configs/mpc7448_hpc2_defconfig
index 4b14c02b437c..19406a6c2648 100644
--- a/arch/powerpc/configs/mpc7448_hpc2_defconfig
+++ b/arch/powerpc/configs/mpc7448_hpc2_defconfig
@@ -25,7 +25,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
diff --git a/arch/powerpc/configs/mpc8272_ads_defconfig b/arch/powerpc/configs/mpc8272_ads_defconfig
index b1e88b64536b..00a4d2bf43b2 100644
--- a/arch/powerpc/configs/mpc8272_ads_defconfig
+++ b/arch/powerpc/configs/mpc8272_ads_defconfig
@@ -23,7 +23,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
CONFIG_NETFILTER=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/mpc83xx_defconfig b/arch/powerpc/configs/mpc83xx_defconfig
index 005d00020fb9..be125729635c 100644
--- a/arch/powerpc/configs/mpc83xx_defconfig
+++ b/arch/powerpc/configs/mpc83xx_defconfig
@@ -37,7 +37,6 @@ CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
CONFIG_INET_ESP=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_FW_LOADER is not set
diff --git a/arch/powerpc/configs/mpc885_ads_defconfig b/arch/powerpc/configs/mpc885_ads_defconfig
index ec3fcc2bf737..285d506c5a76 100644
--- a/arch/powerpc/configs/mpc885_ads_defconfig
+++ b/arch/powerpc/configs/mpc885_ads_defconfig
@@ -27,7 +27,6 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/mvme5100_defconfig b/arch/powerpc/configs/mvme5100_defconfig
index 63e38c7220f1..0a0d046fc445 100644
--- a/arch/powerpc/configs/mvme5100_defconfig
+++ b/arch/powerpc/configs/mvme5100_defconfig
@@ -58,7 +58,6 @@ CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
CONFIG_LAPB=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=2
diff --git a/arch/powerpc/configs/pasemi_defconfig b/arch/powerpc/configs/pasemi_defconfig
index c0423b2cf7c0..4b6d31d4474e 100644
--- a/arch/powerpc/configs/pasemi_defconfig
+++ b/arch/powerpc/configs/pasemi_defconfig
@@ -44,7 +44,6 @@ CONFIG_SYN_COOKIES=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_MTD=y
diff --git a/arch/powerpc/configs/pmac32_defconfig b/arch/powerpc/configs/pmac32_defconfig
index 50b610b48914..ff7955dde23e 100644
--- a/arch/powerpc/configs/pmac32_defconfig
+++ b/arch/powerpc/configs/pmac32_defconfig
@@ -112,7 +112,6 @@ CONFIG_BT_HCIBFUSB=m
CONFIG_CFG80211=m
CONFIG_MAC80211=m
CONFIG_MAC80211_LEDS=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_STANDALONE is not set
CONFIG_CONNECTOR=y
CONFIG_MAC_FLOPPY=m
diff --git a/arch/powerpc/configs/powernv_defconfig b/arch/powerpc/configs/powernv_defconfig
index ef2ef98d3f28..4b657d7f4552 100644
--- a/arch/powerpc/configs/powernv_defconfig
+++ b/arch/powerpc/configs/powernv_defconfig
@@ -98,7 +98,6 @@ CONFIG_NET_ACT_BPF=m
CONFIG_DNS_RESOLVER=y
CONFIG_BPF_JIT=y
# CONFIG_WIRELESS is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_MTD=y
diff --git a/arch/powerpc/configs/ppc40x_defconfig b/arch/powerpc/configs/ppc40x_defconfig
index 689d7e276769..8f136b52198b 100644
--- a/arch/powerpc/configs/ppc40x_defconfig
+++ b/arch/powerpc/configs/ppc40x_defconfig
@@ -25,7 +25,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/ppc44x_defconfig b/arch/powerpc/configs/ppc44x_defconfig
index db48039e0b11..67952819593e 100644
--- a/arch/powerpc/configs/ppc44x_defconfig
+++ b/arch/powerpc/configs/ppc44x_defconfig
@@ -36,7 +36,6 @@ CONFIG_IP_PNP_BOOTP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_BRIDGE=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_CONNECTOR=y
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/ppc64_defconfig b/arch/powerpc/configs/ppc64_defconfig
index 91fdb619b484..6b54c6b33c24 100644
--- a/arch/powerpc/configs/ppc64_defconfig
+++ b/arch/powerpc/configs/ppc64_defconfig
@@ -98,7 +98,6 @@ CONFIG_NET_CLS_BPF=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_BPF=m
CONFIG_BPF_JIT=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_BLK_DEV_FD=y
diff --git a/arch/powerpc/configs/ppc64e_defconfig b/arch/powerpc/configs/ppc64e_defconfig
index 41d85cb3c9a2..a57bdc5291d7 100644
--- a/arch/powerpc/configs/ppc64e_defconfig
+++ b/arch/powerpc/configs/ppc64e_defconfig
@@ -50,7 +50,6 @@ CONFIG_INET_IPCOMP=m
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_ADVANCED is not set
CONFIG_BRIDGE=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_BLK_DEV_FD=y
diff --git a/arch/powerpc/configs/ppc6xx_defconfig b/arch/powerpc/configs/ppc6xx_defconfig
index 7c6baf6df139..bbc2521ef2ea 100644
--- a/arch/powerpc/configs/ppc6xx_defconfig
+++ b/arch/powerpc/configs/ppc6xx_defconfig
@@ -346,7 +346,6 @@ CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_NET_9P=m
CONFIG_NET_9P_VIRTIO=m
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEBUG_DEVRES=y
CONFIG_CONNECTOR=y
CONFIG_PARPORT=m
diff --git a/arch/powerpc/configs/pq2fads_defconfig b/arch/powerpc/configs/pq2fads_defconfig
index 0ededa8c837d..9d8a76857c6f 100644
--- a/arch/powerpc/configs/pq2fads_defconfig
+++ b/arch/powerpc/configs/pq2fads_defconfig
@@ -24,7 +24,6 @@ CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_SYN_COOKIES=y
CONFIG_NETFILTER=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/ps3_defconfig b/arch/powerpc/configs/ps3_defconfig
index cf8d55f67272..314c63939816 100644
--- a/arch/powerpc/configs/ps3_defconfig
+++ b/arch/powerpc/configs/ps3_defconfig
@@ -63,7 +63,6 @@ CONFIG_CFG80211=m
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=m
# CONFIG_MAC80211_RC_MINSTREL is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=65535
diff --git a/arch/powerpc/configs/pseries_defconfig b/arch/powerpc/configs/pseries_defconfig
index 62e12f61a3b2..596a44b3d721 100644
--- a/arch/powerpc/configs/pseries_defconfig
+++ b/arch/powerpc/configs/pseries_defconfig
@@ -83,7 +83,6 @@ CONFIG_NET_CLS_BPF=m
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_BPF=m
CONFIG_BPF_JIT=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_PARPORT=m
diff --git a/arch/powerpc/configs/skiroot_defconfig b/arch/powerpc/configs/skiroot_defconfig
index a887616e35a2..557b530b2f70 100644
--- a/arch/powerpc/configs/skiroot_defconfig
+++ b/arch/powerpc/configs/skiroot_defconfig
@@ -68,7 +68,6 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_XFRM_MODE_BEET is not set
CONFIG_DNS_RESOLVER=y
# CONFIG_WIRELESS is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_MTD=m
diff --git a/arch/powerpc/configs/storcenter_defconfig b/arch/powerpc/configs/storcenter_defconfig
index 74bca2eccd0f..6c39c52b8e4a 100644
--- a/arch/powerpc/configs/storcenter_defconfig
+++ b/arch/powerpc/configs/storcenter_defconfig
@@ -26,7 +26,6 @@ CONFIG_IP_PNP_DHCP=y
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_BLOCK=y
diff --git a/arch/powerpc/configs/tqm8xx_defconfig b/arch/powerpc/configs/tqm8xx_defconfig
index cd72193fac0a..7493f36dd6e9 100644
--- a/arch/powerpc/configs/tqm8xx_defconfig
+++ b/arch/powerpc/configs/tqm8xx_defconfig
@@ -32,7 +32,6 @@ CONFIG_SYN_COOKIES=y
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_IPV6 is not set
# CONFIG_WIRELESS is not set
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_FW_LOADER is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
diff --git a/arch/powerpc/configs/wii_defconfig b/arch/powerpc/configs/wii_defconfig
index f5c366b02828..437be0817e01 100644
--- a/arch/powerpc/configs/wii_defconfig
+++ b/arch/powerpc/configs/wii_defconfig
@@ -41,7 +41,6 @@ CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_HIDP=y
CONFIG_CFG80211=y
CONFIG_MAC80211=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_STANDALONE is not set
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
--
2.7.4
^ permalink raw reply related
* Re: [PATCH] powerpc/configs: Remove useless UEVENT_HELPER_PATH
From: Geert Uytterhoeven @ 2019-06-04 8:02 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Geert Uytterhoeven, Linux Kernel Mailing List, Paul Mackerras,
linuxppc-dev
In-Reply-To: <1559635233-21385-1-git-send-email-krzk@kernel.org>
On Tue, Jun 4, 2019 at 10:01 AM Krzysztof Kozlowski <krzk@kernel.org> wrote:
> Remove the CONFIG_UEVENT_HELPER_PATH because:
> 1. It is disabled since commit 1be01d4a5714 ("driver: base: Disable
> CONFIG_UEVENT_HELPER by default") as its dependency (UEVENT_HELPER) was
> made default to 'n',
> 2. It is not recommended (help message: "This should not be used today
> [...] creates a high system load") and was kept only for ancient
> userland,
> 3. Certain userland specifically requests it to be disabled (systemd
> README: "Legacy hotplug slows down the system and confuses udev").
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* Re: [RFC V2] mm: Generalize notify_page_fault()
From: Anshuman Khandual @ 2019-06-04 8:12 UTC (permalink / raw)
To: Peter Zijlstra
Cc: Mark Rutland, Michal Hocko, linux-ia64, linux-sh, Catalin Marinas,
Dave Hansen, Will Deacon, linux-mm, Paul Mackerras, sparclinux,
linux-s390, Yoshinori Sato, x86, Russell King, Matthew Wilcox,
Ingo Molnar, Fenghua Yu, Stephen Rothwell, Andrey Konovalov,
Andy Lutomirski, Thomas Gleixner, linux-arm-kernel, Tony Luck,
Heiko Carstens, linux-kernel, Martin Schwidefsky, Andrew Morton,
linuxppc-dev, David S. Miller
In-Reply-To: <20190604065401.GE3402@hirez.programming.kicks-ass.net>
On 06/04/2019 12:24 PM, Peter Zijlstra wrote:
> On Tue, Jun 04, 2019 at 12:04:06PM +0530, Anshuman Khandual wrote:
>> diff --git a/mm/memory.c b/mm/memory.c
>> index ddf20bd..b6bae8f 100644
>> --- a/mm/memory.c
>> +++ b/mm/memory.c
>> @@ -52,6 +52,7 @@
>> #include <linux/pagemap.h>
>> #include <linux/memremap.h>
>> #include <linux/ksm.h>
>> +#include <linux/kprobes.h>
>> #include <linux/rmap.h>
>> #include <linux/export.h>
>> #include <linux/delayacct.h>
>> @@ -141,6 +142,21 @@ static int __init init_zero_pfn(void)
>> core_initcall(init_zero_pfn);
>>
>>
>> +int __kprobes notify_page_fault(struct pt_regs *regs, unsigned int trap)
>> +{
>> + int ret = 0;
>> +
>> + /*
>> + * To be potentially processing a kprobe fault and to be allowed
>> + * to call kprobe_running(), we have to be non-preemptible.
>> + */
>> + if (kprobes_built_in() && !preemptible() && !user_mode(regs)) {
>> + if (kprobe_running() && kprobe_fault_handler(regs, trap))
>> + ret = 1;
>> + }
>> + return ret;
>> +}
>
> That thing should be called kprobe_page_fault() or something,
> notify_page_fault() is a horribly crap name for this function.
Agreed. kprobe_page_fault() sounds good.
^ permalink raw reply
* Re: [PATCH v3 06/11] mm/memory_hotplug: Allow arch_remove_pages() without CONFIG_MEMORY_HOTREMOVE
From: David Hildenbrand @ 2019-06-04 9:00 UTC (permalink / raw)
To: Wei Yang
Cc: Oscar Salvador, Rich Felker, linux-ia64, Anshuman Khandual,
linux-sh, Peter Zijlstra, Dave Hansen, Heiko Carstens, Arun KS,
Wei Yang, linux-mm, Michal Hocko, Paul Mackerras, H. Peter Anvin,
Thomas Gleixner, Qian Cai, linux-s390, Yoshinori Sato,
Rafael J. Wysocki, Mike Rapoport, Ingo Molnar, Fenghua Yu,
Pavel Tatashin, Vasily Gorbik, Rob Herring, mike.travis@hpe.com,
Nicholas Piggin, Alex Deucher, Mark Brown, Borislav Petkov,
Andy Lutomirski, Dan Williams, Chris Wilson, linux-arm-kernel,
Tony Luck, Baoquan He, Masahiro Yamada, Mathieu Malaterre,
Greg Kroah-Hartman, Andrew Banman, linux-kernel, Logan Gunthorpe,
Martin Schwidefsky, Igor Mammedov, akpm, linuxppc-dev,
David S. Miller, Kirill A. Shutemov
In-Reply-To: <20190604083148.GA28403@richard>
On 04.06.19 10:31, Wei Yang wrote:
> On Tue, Jun 04, 2019 at 08:59:43AM +0200, David Hildenbrand wrote:
>> On 04.06.19 00:15, Wei Yang wrote:
>>> Allow arch_remove_pages() or arch_remove_memory()?
>>
>> Looks like I merged __remove_pages() and arch_remove_memory().
>>
>> @Andrew, can you fix this up to
>>
>> "mm/memory_hotplug: Allow arch_remove_memory() without
>> CONFIG_MEMORY_HOTREMOVE"
>>
>> ? Thanks!
>>
>
> Already merged?
Andrew picked it up, but it's not in linus' tree yet.
--
Thanks,
David / dhildenb
^ permalink raw reply
* Re: [PATCH] powerpc/nvdimm: Add support for multibyte read/write for metadata
From: Aneesh Kumar K.V @ 2019-06-04 9:06 UTC (permalink / raw)
To: Oliver; +Cc: linuxppc-dev, Paul Mackerras, Nicholas Piggin
In-Reply-To: <CAOSf1CEsWiDyc3rAzNoPwBUUhs4deXt_1MJpuKUV_CP-LJhjhw@mail.gmail.com>
Oliver <oohall@gmail.com> writes:
> On Sun, Jun 2, 2019 at 2:44 PM Aneesh Kumar K.V
> <aneesh.kumar@linux.ibm.com> wrote:
>>
>> SCM_READ/WRITE_MEATADATA hcall supports multibyte read/write. This patch
>> updates the metadata read/write to use 1, 2, 4 or 8 byte read/write as
>> mentioned in PAPR document.
>>
>> READ/WRITE_METADATA hcall supports the 1, 2, 4, or 8 bytes read/write.
>> For other values hcall results H_P3.
>
> You should probably fold the second paragraph here into the first.
>
>> Hypervisor stores the metadata contents in big-endian format and in-order
>> to enable read/write in different granularity, we need to switch the contents
>> to big-endian before calling HCALL.
>>
>> Based on an patch from Oliver O'Halloran <oohall@gmail.com>
>> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
>> ---
>> arch/powerpc/platforms/pseries/papr_scm.c | 104 +++++++++++++++++-----
>> 1 file changed, 82 insertions(+), 22 deletions(-)
>>
>> diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c
>> index 0176ce66673f..e33cebb8ee6c 100644
>> --- a/arch/powerpc/platforms/pseries/papr_scm.c
>> +++ b/arch/powerpc/platforms/pseries/papr_scm.c
>> @@ -97,42 +97,102 @@ static int drc_pmem_unbind(struct papr_scm_priv *p)
>> }
>>
>> static int papr_scm_meta_get(struct papr_scm_priv *p,
>> - struct nd_cmd_get_config_data_hdr *hdr)
>> + struct nd_cmd_get_config_data_hdr *hdr)
>> {
>> unsigned long data[PLPAR_HCALL_BUFSIZE];
>> + unsigned long offset, data_offset;
>> + int len, read;
>> int64_t ret;
>>
>> - if (hdr->in_offset >= p->metadata_size || hdr->in_length != 1)
>> + if ((hdr->in_offset + hdr->in_length) >= p->metadata_size)
>> return -EINVAL;
>>
>> - ret = plpar_hcall(H_SCM_READ_METADATA, data, p->drc_index,
>> - hdr->in_offset, 1);
>> -
>> - if (ret == H_PARAMETER) /* bad DRC index */
>> - return -ENODEV;
>> - if (ret)
>> - return -EINVAL; /* other invalid parameter */
>> -
>> - hdr->out_buf[0] = data[0] & 0xff;
>> -
>> + for (len = hdr->in_length; len; len -= read) {
>> +
>> + data_offset = hdr->in_length - len;
>> + offset = hdr->in_offset + data_offset;
>> +
>> + if (len >= 8)
>> + read = 8;
>> + else if (len >= 4)
>> + read = 4;
>> + else if ( len >= 2)
>> + read = 2;
>> + else
>> + read = 1;
>> +
>> + ret = plpar_hcall(H_SCM_READ_METADATA, data, p->drc_index,
>> + offset, read);
>> +
>> + if (ret == H_PARAMETER) /* bad DRC index */
>> + return -ENODEV;
>> + if (ret)
>> + return -EINVAL; /* other invalid parameter */
>> +
>> + switch (read) {
>> + case 8:
>> + *(uint64_t *)(hdr->out_buf + data_offset) = be64_to_cpu(data[0]);
>> + break;
>> + case 4:
>> + *(uint32_t *)(hdr->out_buf + data_offset) = be32_to_cpu(data[0] & 0xffffffff);
>> + break;
>> +
>> + case 2:
>> + *(uint16_t *)(hdr->out_buf + data_offset) = be16_to_cpu(data[0] & 0xffff);
>> + break;
>> +
>> + case 1:
>> + *(uint32_t *)(hdr->out_buf + data_offset) = (data[0] & 0xff);
>> + break;
>> + }
>> + }
>> return 0;
>> }
>>
>> static int papr_scm_meta_set(struct papr_scm_priv *p,
>> - struct nd_cmd_set_config_hdr *hdr)
>> + struct nd_cmd_set_config_hdr *hdr)
>> {
>> + unsigned long offset, data_offset;
>> + int len, wrote;
>> + unsigned long data;
>> + __be64 data_be;
>> int64_t ret;
>>
>> - if (hdr->in_offset >= p->metadata_size || hdr->in_length != 1)
>> + if ((hdr->in_offset + hdr->in_length) >= p->metadata_size)
>> return -EINVAL;
>>
>> - ret = plpar_hcall_norets(H_SCM_WRITE_METADATA,
>> - p->drc_index, hdr->in_offset, hdr->in_buf[0], 1);
>> -
>> - if (ret == H_PARAMETER) /* bad DRC index */
>> - return -ENODEV;
>> - if (ret)
>> - return -EINVAL; /* other invalid parameter */
>> + for (len = hdr->in_length; len; len -= wrote) {
>> +
>> + data_offset = hdr->in_length - len;
>> + offset = hdr->in_offset + data_offset;
>> +
>> + if (len >= 8) {
>> + data = *(uint64_t *)(hdr->in_buf + data_offset);
>> + data_be = cpu_to_be64(data);
>> + wrote = 8;
>> + } else if (len >= 4) {
>> + data = *(uint32_t *)(hdr->in_buf + data_offset);
>> + data &= 0xffffffff;
>> + data_be = cpu_to_be32(data);
>> + wrote = 4;
>> + } else if (len >= 2) {
>> + data = *(uint16_t *)(hdr->in_buf + data_offset);
>> + data &= 0xffff;
>> + data_be = cpu_to_be16(data);
>> + wrote = 2;
>> + } else {
>> + data_be = *(uint8_t *)(hdr->in_buf + data_offset);
>> + data_be &= 0xff;
>> + wrote = 1;
>> + }
>> +
>> + ret = plpar_hcall_norets(H_SCM_WRITE_METADATA, p->drc_index,
>> + offset, data_be, wrote);
>> + if (ret == H_PARAMETER) /* bad DRC index */
>> + return -ENODEV;
>> + if (ret)
>> + return -EINVAL; /* other invalid parameter */
>> + }
>>
>> return 0;
>> }
>> @@ -154,7 +214,7 @@ int papr_scm_ndctl(struct nvdimm_bus_descriptor *nd_desc, struct nvdimm *nvdimm,
>> get_size_hdr = buf;
>>
>> get_size_hdr->status = 0;
>> - get_size_hdr->max_xfer = 1;
>> + get_size_hdr->max_xfer = 8;
>> get_size_hdr->config_size = p->metadata_size;
>> *cmd_rc = 0;
>> break;
>> --
>> 2.21.0
>
> I assume you got the qemu bits sorted out with Shiva? Looks good otherwise.
That is correct. I also tested with different xfer values (1, 2, 4, 8)
on both Qemu and PowerVM.
>
> Reviewed-by: Oliver O'Halloran <oohall@gmail.com>
Thanks
-aneesh
^ permalink raw reply
* Re: [PATCH 22/22] docs: fix broken documentation links
From: Bhupesh Sharma @ 2019-06-04 6:12 UTC (permalink / raw)
To: Mauro Carvalho Chehab, Linux Doc Mailing List
Cc: Andrew Lunn, Andy Lutomirski, Wolfram Sang, Catalin Marinas,
Linus Walleij, Will Deacon, Pavel Tatashin, Paul Mackerras,
Alessia Mantegazza, Jakub Wilk, Bartosz Golaszewski,
Paul E. McKenney, Kevin Hilman, James Morris, linux-acpi,
Ingo Molnar, xen-devel, Alexander Popov, Qian Cai, Al Viro,
Thomas Preston, Thomas Gleixner, Kairui Song, Ding Xiang,
Greg Kroah-Hartman, Rafael J. Wysocki, Linux Kernel Mailing List,
Paul Burton, Jiri Kosina, Casey Schaufler, Andrew Morton,
Lu Baolu, Mark Rutland, Feng Tang, Dave Hansen, Mimi Zohar,
Kamalesh Babulal, linux-mm, Masahiro Yamada, Yannik Sembritzki,
Harry Wei, linux-i2c, Shuah Khan, Stephen Rothwell,
Stefano Stabellini, Alexandre Ghiti, YueHaibing, Robert Moore,
AKASHI Takahiro, Len Brown, Joerg Roedel, linux-arm-msm,
linuxppc-dev, Mauro Carvalho Chehab, linux-gpio, Claudiu Manoil,
Florian Fainelli, Jacek Anaszewski, Bjorn Helgaas, linux-amlogic,
Boris Ostrovsky, Mika Westerberg, linux-arm-kernel, Tony Luck,
Sean Christopherson, James Morse, Samuel Mendoza-Jonas, linux-pci,
Jason Wang, Jonathan Cameron, platform-driver-x86, Quentin Perret,
linux-kselftest, Alex Shi, Lorenzo Pieralisi, Baoquan He,
Jonathan Corbet, Raphael Gault, Joel Stanley, Federico Vaga,
Darren Hart, linux-edac, Erik Schmauss, Serge E. Hallyn,
Palmer Dabbelt, Kees Cook, Bartlomiej Zolnierkiewicz,
Jonathan Neuschäfer, SeongJae Park, Mark Brown,
Borislav Petkov, Sunil Muthuswamy, virtualization, devel,
Ard Biesheuvel, Liam Girdwood, Sakari Ailus, Olof Johansson,
Logan Gunthorpe, David S. Miller, Kirill A. Shutemov,
Sven Van Asbroeck, Michal Hocko, kvm, Michael S. Tsirkin,
Peter Zijlstra, Thorsten Leemhuis, David Howells, David Brown,
H. Peter Anvin, devel, Manfred Spraul, x86, Russell King,
Mike Rapoport, Andy Gross, Dave Young, Devicetree List,
Arnaldo Carvalho de Melo, Jerome Glisse, Rob Herring,
Josh Poimboeuf, Dmitry Vyukov, Luis Chamberlain, Juergen Gross,
Denis Efremov, netdev, Nicolas Ferre, Changbin Du,
linux-security-module, Robin Murphy, Andy Shevchenko
In-Reply-To: <f9fecacbe4ce0b2b3aed38d71ae3753f2daf3ce3.1559171394.git.mchehab+samsung@kernel.org>
On 05/30/2019 04:53 AM, Mauro Carvalho Chehab wrote:
> Mostly due to x86 and acpi conversion, several documentation
> links are still pointing to the old file. Fix them.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> ---
> Documentation/acpi/dsd/leds.txt | 2 +-
> Documentation/admin-guide/kernel-parameters.rst | 6 +++---
> Documentation/admin-guide/kernel-parameters.txt | 16 ++++++++--------
> Documentation/admin-guide/ras.rst | 2 +-
> .../devicetree/bindings/net/fsl-enetc.txt | 7 +++----
> .../bindings/pci/amlogic,meson-pcie.txt | 2 +-
> .../bindings/regulator/qcom,rpmh-regulator.txt | 2 +-
> Documentation/devicetree/booting-without-of.txt | 2 +-
> Documentation/driver-api/gpio/board.rst | 2 +-
> Documentation/driver-api/gpio/consumer.rst | 2 +-
> .../firmware-guide/acpi/enumeration.rst | 2 +-
> .../firmware-guide/acpi/method-tracing.rst | 2 +-
> Documentation/i2c/instantiating-devices | 2 +-
> Documentation/sysctl/kernel.txt | 4 ++--
> .../translations/it_IT/process/howto.rst | 2 +-
> .../it_IT/process/stable-kernel-rules.rst | 4 ++--
> .../translations/zh_CN/process/4.Coding.rst | 2 +-
> Documentation/x86/x86_64/5level-paging.rst | 2 +-
> Documentation/x86/x86_64/boot-options.rst | 4 ++--
> .../x86/x86_64/fake-numa-for-cpusets.rst | 2 +-
> MAINTAINERS | 6 +++---
> arch/arm/Kconfig | 2 +-
> arch/arm64/kernel/kexec_image.c | 2 +-
> arch/powerpc/Kconfig | 2 +-
> arch/x86/Kconfig | 16 ++++++++--------
> arch/x86/Kconfig.debug | 2 +-
> arch/x86/boot/header.S | 2 +-
> arch/x86/entry/entry_64.S | 2 +-
> arch/x86/include/asm/bootparam_utils.h | 2 +-
> arch/x86/include/asm/page_64_types.h | 2 +-
> arch/x86/include/asm/pgtable_64_types.h | 2 +-
> arch/x86/kernel/cpu/microcode/amd.c | 2 +-
> arch/x86/kernel/kexec-bzimage64.c | 2 +-
> arch/x86/kernel/pci-dma.c | 2 +-
> arch/x86/mm/tlb.c | 2 +-
> arch/x86/platform/pvh/enlighten.c | 2 +-
> drivers/acpi/Kconfig | 10 +++++-----
> drivers/net/ethernet/faraday/ftgmac100.c | 2 +-
> .../fieldbus/Documentation/fieldbus_dev.txt | 4 ++--
> drivers/vhost/vhost.c | 2 +-
> include/acpi/acpi_drivers.h | 2 +-
> include/linux/fs_context.h | 2 +-
> include/linux/lsm_hooks.h | 2 +-
> mm/Kconfig | 2 +-
> security/Kconfig | 2 +-
> tools/include/linux/err.h | 2 +-
> tools/objtool/Documentation/stack-validation.txt | 4 ++--
> tools/testing/selftests/x86/protection_keys.c | 2 +-
> 48 files changed, 77 insertions(+), 78 deletions(-)
>
> diff --git a/Documentation/acpi/dsd/leds.txt b/Documentation/acpi/dsd/leds.txt
> index 81a63af42ed2..cc58b1a574c5 100644
> --- a/Documentation/acpi/dsd/leds.txt
> +++ b/Documentation/acpi/dsd/leds.txt
> @@ -96,4 +96,4 @@ where
> <URL:http://www.uefi.org/sites/default/files/resources/_DSD-hierarchical-data-extension-UUID-v1.1.pdf>,
> referenced 2019-02-21.
>
> -[7] Documentation/acpi/dsd/data-node-reference.txt
> +[7] Documentation/firmware-guide/acpi/dsd/data-node-references.rst
> diff --git a/Documentation/admin-guide/kernel-parameters.rst b/Documentation/admin-guide/kernel-parameters.rst
> index 0124980dca2d..8d3273e32eb1 100644
> --- a/Documentation/admin-guide/kernel-parameters.rst
> +++ b/Documentation/admin-guide/kernel-parameters.rst
> @@ -167,7 +167,7 @@ parameter is applicable::
> X86-32 X86-32, aka i386 architecture is enabled.
> X86-64 X86-64 architecture is enabled.
> More X86-64 boot options can be found in
> - Documentation/x86/x86_64/boot-options.txt .
> + Documentation/x86/x86_64/boot-options.rst.
> X86 Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
> X86_UV SGI UV support is enabled.
> XEN Xen support is enabled
> @@ -181,10 +181,10 @@ In addition, the following text indicates that the option::
> Parameters denoted with BOOT are actually interpreted by the boot
> loader, and have no meaning to the kernel directly.
> Do not modify the syntax of boot loader parameters without extreme
> -need or coordination with <Documentation/x86/boot.txt>.
> +need or coordination with <Documentation/x86/boot.rst>.
>
> There are also arch-specific kernel-parameters not documented here.
> -See for example <Documentation/x86/x86_64/boot-options.txt>.
> +See for example <Documentation/x86/x86_64/boot-options.rst>.
>
> Note that ALL kernel parameters listed below are CASE SENSITIVE, and that
> a trailing = on the name of any parameter states that that parameter will
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 138f6664b2e2..4a02d1346635 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -53,7 +53,7 @@
> ACPI_DEBUG_PRINT statements, e.g.,
> ACPI_DEBUG_PRINT((ACPI_DB_INFO, ...
> The debug_level mask defaults to "info". See
> - Documentation/acpi/debug.txt for more information about
> + Documentation/firmware-guide/acpi/debug.rst for more information about
> debug layers and levels.
>
> Enable processor driver info messages:
> @@ -963,7 +963,7 @@
> for details.
>
> nompx [X86] Disables Intel Memory Protection Extensions.
> - See Documentation/x86/intel_mpx.txt for more
> + See Documentation/x86/intel_mpx.rst for more
> information about the feature.
>
> nopku [X86] Disable Memory Protection Keys CPU feature found
> @@ -1189,7 +1189,7 @@
> that is to be dynamically loaded by Linux. If there are
> multiple variables with the same name but with different
> vendor GUIDs, all of them will be loaded. See
> - Documentation/acpi/ssdt-overlays.txt for details.
> + Documentation/admin-guide/acpi/ssdt-overlays.rst for details.
>
>
> eisa_irq_edge= [PARISC,HW]
> @@ -2383,7 +2383,7 @@
>
> mce [X86-32] Machine Check Exception
>
> - mce=option [X86-64] See Documentation/x86/x86_64/boot-options.txt
> + mce=option [X86-64] See Documentation/x86/x86_64/boot-options.rst
>
> md= [HW] RAID subsystems devices and level
> See Documentation/admin-guide/md.rst.
> @@ -2439,7 +2439,7 @@
> set according to the
> CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE kernel config
> option.
> - See Documentation/memory-hotplug.txt.
> + See Documentation/admin-guide/mm/memory-hotplug.rst.
>
> memmap=exactmap [KNL,X86] Enable setting of an exact
> E820 memory map, as specified by the user.
> @@ -2528,7 +2528,7 @@
> mem_encrypt=on: Activate SME
> mem_encrypt=off: Do not activate SME
>
> - Refer to Documentation/x86/amd-memory-encryption.txt
> + Refer to Documentation/virtual/kvm/amd-memory-encryption.rst
> for details on when memory encryption can be activated.
>
> mem_sleep_default= [SUSPEND] Default system suspend mode:
> @@ -3528,7 +3528,7 @@
> See Documentation/blockdev/paride.txt.
>
> pirq= [SMP,APIC] Manual mp-table setup
> - See Documentation/x86/i386/IO-APIC.txt.
> + See Documentation/x86/i386/IO-APIC.rst.
>
> plip= [PPT,NET] Parallel port network link
> Format: { parport<nr> | timid | 0 }
> @@ -5054,7 +5054,7 @@
> Can be used multiple times for multiple devices.
>
> vga= [BOOT,X86-32] Select a particular video mode
> - See Documentation/x86/boot.txt and
> + See Documentation/x86/boot.rst and
> Documentation/svga.txt.
> Use vga=ask for menu.
> This is actually a boot loader parameter; the value is
> diff --git a/Documentation/admin-guide/ras.rst b/Documentation/admin-guide/ras.rst
> index c7495e42e6f4..2b20f5f7380d 100644
> --- a/Documentation/admin-guide/ras.rst
> +++ b/Documentation/admin-guide/ras.rst
> @@ -199,7 +199,7 @@ Architecture (MCA)\ [#f3]_.
> mode).
>
> .. [#f3] For more details about the Machine Check Architecture (MCA),
> - please read Documentation/x86/x86_64/machinecheck at the Kernel tree.
> + please read Documentation/x86/x86_64/machinecheck.rst at the Kernel tree.
>
> EDAC - Error Detection And Correction
> *************************************
> diff --git a/Documentation/devicetree/bindings/net/fsl-enetc.txt b/Documentation/devicetree/bindings/net/fsl-enetc.txt
> index c812e25ae90f..25fc687419db 100644
> --- a/Documentation/devicetree/bindings/net/fsl-enetc.txt
> +++ b/Documentation/devicetree/bindings/net/fsl-enetc.txt
> @@ -16,8 +16,8 @@ Required properties:
> In this case, the ENETC node should include a "mdio" sub-node
> that in turn should contain the "ethernet-phy" node describing the
> external phy. Below properties are required, their bindings
> -already defined in ethernet.txt or phy.txt, under
> -Documentation/devicetree/bindings/net/*.
> +already defined in Documentation/devicetree/bindings/net/ethernet.txt or
> +Documentation/devicetree/bindings/net/phy.txt.
>
> Required:
>
> @@ -51,8 +51,7 @@ Example:
> connection:
>
> In this case, the ENETC port node defines a fixed link connection,
> -as specified by "fixed-link.txt", under
> -Documentation/devicetree/bindings/net/*.
> +as specified by Documentation/devicetree/bindings/net/fixed-link.txt.
>
> Required:
>
> diff --git a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> index 12b18f82d441..efa2c8b9b85a 100644
> --- a/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> +++ b/Documentation/devicetree/bindings/pci/amlogic,meson-pcie.txt
> @@ -3,7 +3,7 @@ Amlogic Meson AXG DWC PCIE SoC controller
> Amlogic Meson PCIe host controller is based on the Synopsys DesignWare PCI core.
> It shares common functions with the PCIe DesignWare core driver and
> inherits common properties defined in
> -Documentation/devicetree/bindings/pci/designware-pci.txt.
> +Documentation/devicetree/bindings/pci/designware-pcie.txt.
>
> Additional properties are described here:
>
> diff --git a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
> index 7ef2dbe48e8a..14d2eee96b3d 100644
> --- a/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
> +++ b/Documentation/devicetree/bindings/regulator/qcom,rpmh-regulator.txt
> @@ -97,7 +97,7 @@ Second Level Nodes - Regulators
> sent for this regulator including those which are for a
> strictly lower power state.
>
> -Other properties defined in Documentation/devicetree/bindings/regulator.txt
> +Other properties defined in Documentation/devicetree/bindings/regulator/regulator.txt
> may also be used. regulator-initial-mode and regulator-allowed-modes may be
> specified for VRM regulators using mode values from
> include/dt-bindings/regulator/qcom,rpmh-regulator.h. regulator-allow-bypass
> diff --git a/Documentation/devicetree/booting-without-of.txt b/Documentation/devicetree/booting-without-of.txt
> index e86bd2f64117..60f8640f2b2f 100644
> --- a/Documentation/devicetree/booting-without-of.txt
> +++ b/Documentation/devicetree/booting-without-of.txt
> @@ -277,7 +277,7 @@ it with special cases.
> the decompressor (the real mode entry point goes to the same 32bit
> entry point once it switched into protected mode). That entry point
> supports one calling convention which is documented in
> - Documentation/x86/boot.txt
> + Documentation/x86/boot.rst
> The physical pointer to the device-tree block (defined in chapter II)
> is passed via setup_data which requires at least boot protocol 2.09.
> The type filed is defined as
> diff --git a/Documentation/driver-api/gpio/board.rst b/Documentation/driver-api/gpio/board.rst
> index b37f3f7b8926..ce91518bf9f4 100644
> --- a/Documentation/driver-api/gpio/board.rst
> +++ b/Documentation/driver-api/gpio/board.rst
> @@ -101,7 +101,7 @@ with the help of _DSD (Device Specific Data), introduced in ACPI 5.1::
> }
>
> For more information about the ACPI GPIO bindings see
> -Documentation/acpi/gpio-properties.txt.
> +Documentation/firmware-guide/acpi/gpio-properties.rst.
>
> Platform Data
> -------------
> diff --git a/Documentation/driver-api/gpio/consumer.rst b/Documentation/driver-api/gpio/consumer.rst
> index 5e4d8aa68913..fdecb6d711db 100644
> --- a/Documentation/driver-api/gpio/consumer.rst
> +++ b/Documentation/driver-api/gpio/consumer.rst
> @@ -437,7 +437,7 @@ case, it will be handled by the GPIO subsystem automatically. However, if the
> _DSD is not present, the mappings between GpioIo()/GpioInt() resources and GPIO
> connection IDs need to be provided by device drivers.
>
> -For details refer to Documentation/acpi/gpio-properties.txt
> +For details refer to Documentation/firmware-guide/acpi/gpio-properties.rst
>
>
> Interacting With the Legacy GPIO Subsystem
> diff --git a/Documentation/firmware-guide/acpi/enumeration.rst b/Documentation/firmware-guide/acpi/enumeration.rst
> index 850be9696931..1252617b520f 100644
> --- a/Documentation/firmware-guide/acpi/enumeration.rst
> +++ b/Documentation/firmware-guide/acpi/enumeration.rst
> @@ -339,7 +339,7 @@ a code like this::
> There are also devm_* versions of these functions which release the
> descriptors once the device is released.
>
> -See Documentation/acpi/gpio-properties.txt for more information about the
> +See Documentation/firmware-guide/acpi/gpio-properties.rst for more information about the
> _DSD binding related to GPIOs.
>
> MFD devices
> diff --git a/Documentation/firmware-guide/acpi/method-tracing.rst b/Documentation/firmware-guide/acpi/method-tracing.rst
> index d0b077b73f5f..0aa7e2c5d32a 100644
> --- a/Documentation/firmware-guide/acpi/method-tracing.rst
> +++ b/Documentation/firmware-guide/acpi/method-tracing.rst
> @@ -68,7 +68,7 @@ c. Filter out the debug layer/level matched logs when the specified
>
> Where:
> 0xXXXXXXXX/0xYYYYYYYY
> - Refer to Documentation/acpi/debug.txt for possible debug layer/level
> + Refer to Documentation/firmware-guide/acpi/debug.rst for possible debug layer/level
> masking values.
> \PPPP.AAAA.TTTT.HHHH
> Full path of a control method that can be found in the ACPI namespace.
> diff --git a/Documentation/i2c/instantiating-devices b/Documentation/i2c/instantiating-devices
> index 0d85ac1935b7..5a3e2f331e8c 100644
> --- a/Documentation/i2c/instantiating-devices
> +++ b/Documentation/i2c/instantiating-devices
> @@ -85,7 +85,7 @@ Method 1c: Declare the I2C devices via ACPI
> -------------------------------------------
>
> ACPI can also describe I2C devices. There is special documentation for this
> -which is currently located at Documentation/acpi/enumeration.txt.
> +which is currently located at Documentation/firmware-guide/acpi/enumeration.rst.
>
>
> Method 2: Instantiate the devices explicitly
> diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt
> index f0c86fbb3b48..92f7f34b021a 100644
> --- a/Documentation/sysctl/kernel.txt
> +++ b/Documentation/sysctl/kernel.txt
> @@ -155,7 +155,7 @@ is 0x15 and the full version number is 0x234, this file will contain
> the value 340 = 0x154.
>
> See the type_of_loader and ext_loader_type fields in
> -Documentation/x86/boot.txt for additional information.
> +Documentation/x86/boot.rst for additional information.
>
> ==============================================================
>
> @@ -167,7 +167,7 @@ The complete bootloader version number. In the example above, this
> file will contain the value 564 = 0x234.
>
> See the type_of_loader and ext_loader_ver fields in
> -Documentation/x86/boot.txt for additional information.
> +Documentation/x86/boot.rst for additional information.
>
> ==============================================================
>
> diff --git a/Documentation/translations/it_IT/process/howto.rst b/Documentation/translations/it_IT/process/howto.rst
> index 9903ac7c566b..44e6077730e8 100644
> --- a/Documentation/translations/it_IT/process/howto.rst
> +++ b/Documentation/translations/it_IT/process/howto.rst
> @@ -131,7 +131,7 @@ Di seguito una lista di file che sono presenti nei sorgente del kernel e che
> "Linux kernel patch submission format"
> http://linux.yyz.us/patch-format.html
>
> - :ref:`Documentation/process/translations/it_IT/stable-api-nonsense.rst <it_stable_api_nonsense>`
> + :ref:`Documentation/translations/it_IT/process/stable-api-nonsense.rst <it_stable_api_nonsense>`
>
> Questo file descrive la motivazioni sottostanti la conscia decisione di
> non avere un API stabile all'interno del kernel, incluso cose come:
> diff --git a/Documentation/translations/it_IT/process/stable-kernel-rules.rst b/Documentation/translations/it_IT/process/stable-kernel-rules.rst
> index 48e88e5ad2c5..4f206cee31a7 100644
> --- a/Documentation/translations/it_IT/process/stable-kernel-rules.rst
> +++ b/Documentation/translations/it_IT/process/stable-kernel-rules.rst
> @@ -33,7 +33,7 @@ Regole sul tipo di patch che vengono o non vengono accettate nei sorgenti
> - Non deve includere alcuna correzione "banale" (correzioni grammaticali,
> pulizia dagli spazi bianchi, eccetera).
> - Deve rispettare le regole scritte in
> - :ref:`Documentation/translation/it_IT/process/submitting-patches.rst <it_submittingpatches>`
> + :ref:`Documentation/translations/it_IT/process/submitting-patches.rst <it_submittingpatches>`
> - Questa patch o una equivalente deve esistere già nei sorgenti principali di
> Linux
>
> @@ -43,7 +43,7 @@ Procedura per sottomettere patch per i sorgenti -stable
>
> - Se la patch contiene modifiche a dei file nelle cartelle net/ o drivers/net,
> allora seguite le linee guida descritte in
> - :ref:`Documentation/translation/it_IT/networking/netdev-FAQ.rst <it_netdev-FAQ>`;
> + :ref:`Documentation/translations/it_IT/networking/netdev-FAQ.rst <it_netdev-FAQ>`;
> ma solo dopo aver verificato al seguente indirizzo che la patch non sia
> già in coda:
> https://patchwork.ozlabs.org/bundle/davem/stable/?series=&submitter=&state=*&q=&archive=
> diff --git a/Documentation/translations/zh_CN/process/4.Coding.rst b/Documentation/translations/zh_CN/process/4.Coding.rst
> index 5301e9d55255..8bb777941394 100644
> --- a/Documentation/translations/zh_CN/process/4.Coding.rst
> +++ b/Documentation/translations/zh_CN/process/4.Coding.rst
> @@ -241,7 +241,7 @@ scripts/coccinelle目录下已经打包了相当多的内核“语义补丁”
>
> 任何添加新用户空间界面的代码(包括新的sysfs或/proc文件)都应该包含该界面的
> 文档,该文档使用户空间开发人员能够知道他们在使用什么。请参阅
> -Documentation/abi/readme,了解如何格式化此文档以及需要提供哪些信息。
> +Documentation/ABI/README,了解如何格式化此文档以及需要提供哪些信息。
>
> 文件 :ref:`Documentation/admin-guide/kernel-parameters.rst <kernelparameters>`
> 描述了内核的所有引导时间参数。任何添加新参数的补丁都应该向该文件添加适当的
> diff --git a/Documentation/x86/x86_64/5level-paging.rst b/Documentation/x86/x86_64/5level-paging.rst
> index ab88a4514163..44856417e6a5 100644
> --- a/Documentation/x86/x86_64/5level-paging.rst
> +++ b/Documentation/x86/x86_64/5level-paging.rst
> @@ -20,7 +20,7 @@ physical address space. This "ought to be enough for anybody" ©.
> QEMU 2.9 and later support 5-level paging.
>
> Virtual memory layout for 5-level paging is described in
> -Documentation/x86/x86_64/mm.txt
> +Documentation/x86/x86_64/mm.rst
>
>
> Enabling 5-level paging
> diff --git a/Documentation/x86/x86_64/boot-options.rst b/Documentation/x86/x86_64/boot-options.rst
> index 2f69836b8445..6a4285a3c7a4 100644
> --- a/Documentation/x86/x86_64/boot-options.rst
> +++ b/Documentation/x86/x86_64/boot-options.rst
> @@ -9,7 +9,7 @@ only the AMD64 specific ones are listed here.
>
> Machine check
> =============
> -Please see Documentation/x86/x86_64/machinecheck for sysfs runtime tunables.
> +Please see Documentation/x86/x86_64/machinecheck.rst for sysfs runtime tunables.
>
> mce=off
> Disable machine check
> @@ -89,7 +89,7 @@ APICs
> Don't use the local APIC (alias for i386 compatibility)
>
> pirq=...
> - See Documentation/x86/i386/IO-APIC.txt
> + See Documentation/x86/i386/IO-APIC.rst
>
> noapictimer
> Don't set up the APIC timer
> diff --git a/Documentation/x86/x86_64/fake-numa-for-cpusets.rst b/Documentation/x86/x86_64/fake-numa-for-cpusets.rst
> index 74fbb78b3c67..04df57b9aa3f 100644
> --- a/Documentation/x86/x86_64/fake-numa-for-cpusets.rst
> +++ b/Documentation/x86/x86_64/fake-numa-for-cpusets.rst
> @@ -18,7 +18,7 @@ For more information on the features of cpusets, see
> Documentation/cgroup-v1/cpusets.txt.
> There are a number of different configurations you can use for your needs. For
> more information on the numa=fake command line option and its various ways of
> -configuring fake nodes, see Documentation/x86/x86_64/boot-options.txt.
> +configuring fake nodes, see Documentation/x86/x86_64/boot-options.rst.
>
> For the purposes of this introduction, we'll assume a very primitive NUMA
> emulation setup of "numa=fake=4*512,". This will split our system memory into
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 5cfbea4ce575..a38d7273705a 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3874,7 +3874,7 @@ F: Documentation/devicetree/bindings/hwmon/cirrus,lochnagar.txt
> F: Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.txt
> F: Documentation/devicetree/bindings/regulator/cirrus,lochnagar.txt
> F: Documentation/devicetree/bindings/sound/cirrus,lochnagar.txt
> -F: Documentation/hwmon/lochnagar
> +F: Documentation/hwmon/lochnagar.rst
>
> CISCO FCOE HBA DRIVER
> M: Satish Kharat <satishkh@cisco.com>
> @@ -11272,7 +11272,7 @@ NXP FXAS21002C DRIVER
> M: Rui Miguel Silva <rmfrfs@gmail.com>
> L: linux-iio@vger.kernel.org
> S: Maintained
> -F: Documentation/devicetree/bindings/iio/gyroscope/fxas21002c.txt
> +F: Documentation/devicetree/bindings/iio/gyroscope/nxp,fxas21002c.txt
> F: drivers/iio/gyro/fxas21002c_core.c
> F: drivers/iio/gyro/fxas21002c.h
> F: drivers/iio/gyro/fxas21002c_i2c.c
> @@ -13043,7 +13043,7 @@ M: Niklas Cassel <niklas.cassel@linaro.org>
> L: netdev@vger.kernel.org
> S: Maintained
> F: drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c
> -F: Documentation/devicetree/bindings/net/qcom,dwmac.txt
> +F: Documentation/devicetree/bindings/net/qcom,ethqos.txt
>
> QUALCOMM GENERIC INTERFACE I2C DRIVER
> M: Alok Chauhan <alokc@codeaurora.org>
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 8869742a85df..0f220264cc23 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -1263,7 +1263,7 @@ config SMP
> uniprocessor machines. On a uniprocessor machine, the kernel
> will run faster if you say N here.
>
> - See also <file:Documentation/x86/i386/IO-APIC.txt>,
> + See also <file:Documentation/x86/i386/IO-APIC.rst>,
> <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO available at
> <http://tldp.org/HOWTO/SMP-HOWTO.html>.
>
> diff --git a/arch/arm64/kernel/kexec_image.c b/arch/arm64/kernel/kexec_image.c
> index 07bf740bea91..31cc2f423aa8 100644
> --- a/arch/arm64/kernel/kexec_image.c
> +++ b/arch/arm64/kernel/kexec_image.c
> @@ -53,7 +53,7 @@ static void *image_load(struct kimage *image,
>
> /*
> * We require a kernel with an unambiguous Image header. Per
> - * Documentation/booting.txt, this is the case when image_size
> + * Documentation/arm64/booting.txt, this is the case when image_size
> * is non-zero (practically speaking, since v3.17).
> */
> h = (struct arm64_image_header *)kernel;
> diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> index 8c1c636308c8..e868d2bd48b8 100644
> --- a/arch/powerpc/Kconfig
> +++ b/arch/powerpc/Kconfig
> @@ -898,7 +898,7 @@ config PPC_MEM_KEYS
> page-based protections, but without requiring modification of the
> page tables when an application changes protection domains.
>
> - For details, see Documentation/vm/protection-keys.rst
> + For details, see Documentation/x86/protection-keys.rst
>
> If unsure, say y.
>
> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
> index 2bbbd4d1ba31..78fdf2dd71d1 100644
> --- a/arch/x86/Kconfig
> +++ b/arch/x86/Kconfig
> @@ -395,7 +395,7 @@ config SMP
> Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
> Management" code will be disabled if you say Y here.
>
> - See also <file:Documentation/x86/i386/IO-APIC.txt>,
> + See also <file:Documentation/x86/i386/IO-APIC.rst>,
> <file:Documentation/lockup-watchdogs.txt> and the SMP-HOWTO available at
> <http://www.tldp.org/docs.html#howto>.
>
> @@ -1290,7 +1290,7 @@ config MICROCODE
> the Linux kernel.
>
> The preferred method to load microcode from a detached initrd is described
> - in Documentation/x86/microcode.txt. For that you need to enable
> + in Documentation/x86/microcode.rst. For that you need to enable
> CONFIG_BLK_DEV_INITRD in order for the loader to be able to scan the
> initrd for microcode blobs.
>
> @@ -1329,7 +1329,7 @@ config MICROCODE_OLD_INTERFACE
> It is inadequate because it runs too late to be able to properly
> load microcode on a machine and it needs special tools. Instead, you
> should've switched to the early loading method with the initrd or
> - builtin microcode by now: Documentation/x86/microcode.txt
> + builtin microcode by now: Documentation/x86/microcode.rst
>
> config X86_MSR
> tristate "/dev/cpu/*/msr - Model-specific register support"
> @@ -1478,7 +1478,7 @@ config X86_5LEVEL
> A kernel with the option enabled can be booted on machines that
> support 4- or 5-level paging.
>
> - See Documentation/x86/x86_64/5level-paging.txt for more
> + See Documentation/x86/x86_64/5level-paging.rst for more
> information.
>
> Say N if unsure.
> @@ -1626,7 +1626,7 @@ config ARCH_MEMORY_PROBE
> depends on X86_64 && MEMORY_HOTPLUG
> help
> This option enables a sysfs memory/probe interface for testing.
> - See Documentation/memory-hotplug.txt for more information.
> + See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
> If you are unsure how to answer this question, answer N.
>
> config ARCH_PROC_KCORE_TEXT
> @@ -1783,7 +1783,7 @@ config MTRR
> You can safely say Y even if your machine doesn't have MTRRs, you'll
> just add about 9 KB to your kernel.
>
> - See <file:Documentation/x86/mtrr.txt> for more information.
> + See <file:Documentation/x86/mtrr.rst> for more information.
>
> config MTRR_SANITIZER
> def_bool y
> @@ -1895,7 +1895,7 @@ config X86_INTEL_MPX
> process and adds some branches to paths used during
> exec() and munmap().
>
> - For details, see Documentation/x86/intel_mpx.txt
> + For details, see Documentation/x86/intel_mpx.rst
>
> If unsure, say N.
>
> @@ -1911,7 +1911,7 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS
> page-based protections, but without requiring modification of the
> page tables when an application changes protection domains.
>
> - For details, see Documentation/x86/protection-keys.txt
> + For details, see Documentation/x86/protection-keys.rst
>
> If unsure, say y.
>
> diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
> index f730680dc818..59f598543203 100644
> --- a/arch/x86/Kconfig.debug
> +++ b/arch/x86/Kconfig.debug
> @@ -156,7 +156,7 @@ config IOMMU_DEBUG
> code. When you use it make sure you have a big enough
> IOMMU/AGP aperture. Most of the options enabled by this can
> be set more finegrained using the iommu= command line
> - options. See Documentation/x86/x86_64/boot-options.txt for more
> + options. See Documentation/x86/x86_64/boot-options.rst for more
> details.
>
> config IOMMU_LEAK
> diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
> index 850b8762e889..90d791ca1a95 100644
> --- a/arch/x86/boot/header.S
> +++ b/arch/x86/boot/header.S
> @@ -313,7 +313,7 @@ start_sys_seg: .word SYSSEG # obsolete and meaningless, but just
>
> type_of_loader: .byte 0 # 0 means ancient bootloader, newer
> # bootloaders know to change this.
> - # See Documentation/x86/boot.txt for
> + # See Documentation/x86/boot.rst for
> # assigned ids
>
> # flags, unused bits must be zero (RFU) bit within loadflags
> diff --git a/arch/x86/entry/entry_64.S b/arch/x86/entry/entry_64.S
> index 11aa3b2afa4d..33f9fc38d014 100644
> --- a/arch/x86/entry/entry_64.S
> +++ b/arch/x86/entry/entry_64.S
> @@ -8,7 +8,7 @@
> *
> * entry.S contains the system-call and fault low-level handling routines.
> *
> - * Some of this is documented in Documentation/x86/entry_64.txt
> + * Some of this is documented in Documentation/x86/entry_64.rst
> *
> * A note on terminology:
> * - iret frame: Architecture defined interrupt frame from SS to RIP
> diff --git a/arch/x86/include/asm/bootparam_utils.h b/arch/x86/include/asm/bootparam_utils.h
> index f6f6ef436599..101eb944f13c 100644
> --- a/arch/x86/include/asm/bootparam_utils.h
> +++ b/arch/x86/include/asm/bootparam_utils.h
> @@ -24,7 +24,7 @@ static void sanitize_boot_params(struct boot_params *boot_params)
> * IMPORTANT NOTE TO BOOTLOADER AUTHORS: do not simply clear
> * this field. The purpose of this field is to guarantee
> * compliance with the x86 boot spec located in
> - * Documentation/x86/boot.txt . That spec says that the
> + * Documentation/x86/boot.rst . That spec says that the
> * *whole* structure should be cleared, after which only the
> * portion defined by struct setup_header (boot_params->hdr)
> * should be copied in.
> diff --git a/arch/x86/include/asm/page_64_types.h b/arch/x86/include/asm/page_64_types.h
> index 793c14c372cb..288b065955b7 100644
> --- a/arch/x86/include/asm/page_64_types.h
> +++ b/arch/x86/include/asm/page_64_types.h
> @@ -48,7 +48,7 @@
>
> #define __START_KERNEL_map _AC(0xffffffff80000000, UL)
>
> -/* See Documentation/x86/x86_64/mm.txt for a description of the memory map. */
> +/* See Documentation/x86/x86_64/mm.rst for a description of the memory map. */
>
> #define __PHYSICAL_MASK_SHIFT 52
>
> diff --git a/arch/x86/include/asm/pgtable_64_types.h b/arch/x86/include/asm/pgtable_64_types.h
> index 88bca456da99..52e5f5f2240d 100644
> --- a/arch/x86/include/asm/pgtable_64_types.h
> +++ b/arch/x86/include/asm/pgtable_64_types.h
> @@ -103,7 +103,7 @@ extern unsigned int ptrs_per_p4d;
> #define PGDIR_MASK (~(PGDIR_SIZE - 1))
>
> /*
> - * See Documentation/x86/x86_64/mm.txt for a description of the memory map.
> + * See Documentation/x86/x86_64/mm.rst for a description of the memory map.
> *
> * Be very careful vs. KASLR when changing anything here. The KASLR address
> * range must not overlap with anything except the KASAN shadow area, which
> diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
> index e1f3ba19ba54..06d4e67f31ab 100644
> --- a/arch/x86/kernel/cpu/microcode/amd.c
> +++ b/arch/x86/kernel/cpu/microcode/amd.c
> @@ -61,7 +61,7 @@ static u8 amd_ucode_patch[PATCH_MAX_SIZE];
>
> /*
> * Microcode patch container file is prepended to the initrd in cpio
> - * format. See Documentation/x86/microcode.txt
> + * format. See Documentation/x86/microcode.rst
> */
> static const char
> ucode_path[] __maybe_unused = "kernel/x86/microcode/AuthenticAMD.bin";
> diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
> index 22f60dd26460..b07e7069b09e 100644
> --- a/arch/x86/kernel/kexec-bzimage64.c
> +++ b/arch/x86/kernel/kexec-bzimage64.c
> @@ -416,7 +416,7 @@ static void *bzImage64_load(struct kimage *image, char *kernel,
> efi_map_offset = params_cmdline_sz;
> efi_setup_data_offset = efi_map_offset + ALIGN(efi_map_sz, 16);
>
> - /* Copy setup header onto bootparams. Documentation/x86/boot.txt */
> + /* Copy setup header onto bootparams. Documentation/x86/boot.rst */
> setup_header_size = 0x0202 + kernel[0x0201] - setup_hdr_offset;
For the arm, arm64 and x86 kexec bits:
Reviewed-by: Bhupesh Sharma <bhsharma@redhat.com>
Thanks,
Bhupesh
^ permalink raw reply
* Re: [PATCH v3 06/11] mm/memory_hotplug: Allow arch_remove_pages() without CONFIG_MEMORY_HOTREMOVE
From: Wei Yang @ 2019-06-04 8:31 UTC (permalink / raw)
To: David Hildenbrand
Cc: Oscar Salvador, Rich Felker, linux-ia64, Anshuman Khandual,
linux-sh, Peter Zijlstra, Dave Hansen, Heiko Carstens, Arun KS,
Wei Yang, linux-mm, Michal Hocko, Paul Mackerras, H. Peter Anvin,
Thomas Gleixner, Qian Cai, linux-s390, Yoshinori Sato,
Rafael J. Wysocki, Mike Rapoport, Ingo Molnar, Fenghua Yu,
Pavel Tatashin, Vasily Gorbik, Rob Herring, mike.travis@hpe.com,
Nicholas Piggin, Alex Deucher, Mark Brown, Borislav Petkov,
Andy Lutomirski, Dan Williams, Chris Wilson, linux-arm-kernel,
Tony Luck, Baoquan He, Masahiro Yamada, Mathieu Malaterre,
Greg Kroah-Hartman, Andrew Banman, linux-kernel, Logan Gunthorpe,
Wei Yang, Martin Schwidefsky, Igor Mammedov, akpm, linuxppc-dev,
David S. Miller, Kirill A. Shutemov
In-Reply-To: <2ba74d1d-643e-7e22-acff-2b04c579b4f8@redhat.com>
On Tue, Jun 04, 2019 at 08:59:43AM +0200, David Hildenbrand wrote:
>On 04.06.19 00:15, Wei Yang wrote:
>> Allow arch_remove_pages() or arch_remove_memory()?
>
>Looks like I merged __remove_pages() and arch_remove_memory().
>
>@Andrew, can you fix this up to
>
>"mm/memory_hotplug: Allow arch_remove_memory() without
>CONFIG_MEMORY_HOTREMOVE"
>
>? Thanks!
>
Already merged?
>>
>> And want to confirm the kernel build on affected arch succeed?
>
>I compile-tested on s390x and x86. As the patches are in linux-next for
>some time, I think the other builds are also fine.
>
Yep, sounds good~
>Thanks!
>
>--
>
>Thanks,
>
>David / dhildenb
--
Wei Yang
Help you, Help me
^ permalink raw reply
* [PATCH] mm/mmap: Move common defines to mman-common.h
From: Aneesh Kumar K.V @ 2019-06-04 9:09 UTC (permalink / raw)
To: akpm; +Cc: sparclinux, linux-mm, linuxppc-dev, linux-kernel,
Aneesh Kumar K.V
Two architecture that use arch specific MMAP flags are powerpc and sparc.
We still have few flag values common across them and other architectures.
Consolidate this in mman-common.h.
Also update the comment to indicate where to find HugeTLB specific reserved
values
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
arch/powerpc/include/uapi/asm/mman.h | 6 +-----
arch/sparc/include/uapi/asm/mman.h | 6 ------
include/uapi/asm-generic/mman-common.h | 6 +++++-
include/uapi/asm-generic/mman.h | 9 ++++-----
4 files changed, 10 insertions(+), 17 deletions(-)
diff --git a/arch/powerpc/include/uapi/asm/mman.h b/arch/powerpc/include/uapi/asm/mman.h
index 65065ce32814..c0c737215b00 100644
--- a/arch/powerpc/include/uapi/asm/mman.h
+++ b/arch/powerpc/include/uapi/asm/mman.h
@@ -21,15 +21,11 @@
#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
+
#define MCL_CURRENT 0x2000 /* lock all currently mapped pages */
#define MCL_FUTURE 0x4000 /* lock all additions to address space */
#define MCL_ONFAULT 0x8000 /* lock all pages that are faulted in */
-#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
-#define MAP_NONBLOCK 0x10000 /* do not block on IO */
-#define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */
-#define MAP_HUGETLB 0x40000 /* create a huge page mapping */
-
/* Override any generic PKEY permission defines */
#define PKEY_DISABLE_EXECUTE 0x4
#undef PKEY_ACCESS_MASK
diff --git a/arch/sparc/include/uapi/asm/mman.h b/arch/sparc/include/uapi/asm/mman.h
index f6f99ec65bb3..cec9f4109687 100644
--- a/arch/sparc/include/uapi/asm/mman.h
+++ b/arch/sparc/include/uapi/asm/mman.h
@@ -22,10 +22,4 @@
#define MCL_FUTURE 0x4000 /* lock all additions to address space */
#define MCL_ONFAULT 0x8000 /* lock all pages that are faulted in */
-#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
-#define MAP_NONBLOCK 0x10000 /* do not block on IO */
-#define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */
-#define MAP_HUGETLB 0x40000 /* create a huge page mapping */
-
-
#endif /* _UAPI__SPARC_MMAN_H__ */
diff --git a/include/uapi/asm-generic/mman-common.h b/include/uapi/asm-generic/mman-common.h
index bea0278f65ab..ef4623f03156 100644
--- a/include/uapi/asm-generic/mman-common.h
+++ b/include/uapi/asm-generic/mman-common.h
@@ -25,7 +25,11 @@
# define MAP_UNINITIALIZED 0x0 /* Don't support this flag */
#endif
-/* 0x0100 - 0x40000 flags are defined in asm-generic/mman.h */
+/* 0x0100 - 0x4000 flags are defined in asm-generic/mman.h */
+#define MAP_POPULATE 0x008000 /* populate (prefault) pagetables */
+#define MAP_NONBLOCK 0x010000 /* do not block on IO */
+#define MAP_STACK 0x020000 /* give out an address that is best suited for process/thread stacks */
+#define MAP_HUGETLB 0x040000 /* create a huge page mapping */
#define MAP_SYNC 0x080000 /* perform synchronous page faults for the mapping */
#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap underlying mapping */
diff --git a/include/uapi/asm-generic/mman.h b/include/uapi/asm-generic/mman.h
index 2dffcbf705b3..57e8195d0b53 100644
--- a/include/uapi/asm-generic/mman.h
+++ b/include/uapi/asm-generic/mman.h
@@ -9,12 +9,11 @@
#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
#define MAP_LOCKED 0x2000 /* pages are locked */
#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
-#define MAP_NONBLOCK 0x10000 /* do not block on IO */
-#define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */
-#define MAP_HUGETLB 0x40000 /* create a huge page mapping */
-/* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */
+/*
+ * Bits [26:31] are reserved, see asm-generic/hugetlb_encode.h
+ * for MAP_HUGETLB usage
+ */
#define MCL_CURRENT 1 /* lock all current mappings */
#define MCL_FUTURE 2 /* lock all future mappings */
--
2.21.0
^ permalink raw reply related
* [PATCH v3 1/6] nvdimm: Consider probe return -EOPNOTSUPP as success
From: Aneesh Kumar K.V @ 2019-06-04 9:13 UTC (permalink / raw)
To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm
With following patches we add EOPNOTSUPP as return from probe callback to
indicate we were not able to initialize a namespace due to pfn superblock
feature/version mismatch. We want to consider this a probe success so that
we can create new namesapce seed and there by avoid marking the failed
namespace as the seed namespace.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
drivers/nvdimm/bus.c | 4 ++--
drivers/nvdimm/nd-core.h | 3 ++-
drivers/nvdimm/region_devs.c | 19 +++++++++++++++----
3 files changed, 19 insertions(+), 7 deletions(-)
diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c
index 2eb6a6cfe9e4..792b3e90453b 100644
--- a/drivers/nvdimm/bus.c
+++ b/drivers/nvdimm/bus.c
@@ -100,8 +100,8 @@ static int nvdimm_bus_probe(struct device *dev)
nvdimm_bus_probe_start(nvdimm_bus);
rc = nd_drv->probe(dev);
- if (rc == 0)
- nd_region_probe_success(nvdimm_bus, dev);
+ if (rc == 0 || rc == -EOPNOTSUPP)
+ nd_region_probe_success(nvdimm_bus, dev, rc);
else
nd_region_disable(nvdimm_bus, dev);
nvdimm_bus_probe_end(nvdimm_bus);
diff --git a/drivers/nvdimm/nd-core.h b/drivers/nvdimm/nd-core.h
index e5ffd5733540..9e67a79fb6d5 100644
--- a/drivers/nvdimm/nd-core.h
+++ b/drivers/nvdimm/nd-core.h
@@ -134,7 +134,8 @@ int __init nvdimm_bus_init(void);
void nvdimm_bus_exit(void);
void nvdimm_devs_exit(void);
void nd_region_devs_exit(void);
-void nd_region_probe_success(struct nvdimm_bus *nvdimm_bus, struct device *dev);
+void nd_region_probe_success(struct nvdimm_bus *nvdimm_bus,
+ struct device *dev, int ret);
struct nd_region;
void nd_region_create_ns_seed(struct nd_region *nd_region);
void nd_region_create_btt_seed(struct nd_region *nd_region);
diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
index b4ef7d9ff22e..fcf3d8828540 100644
--- a/drivers/nvdimm/region_devs.c
+++ b/drivers/nvdimm/region_devs.c
@@ -723,7 +723,7 @@ void nd_mapping_free_labels(struct nd_mapping *nd_mapping)
* disable the region.
*/
static void nd_region_notify_driver_action(struct nvdimm_bus *nvdimm_bus,
- struct device *dev, bool probe)
+ struct device *dev, bool probe, int ret)
{
struct nd_region *nd_region;
@@ -753,6 +753,16 @@ static void nd_region_notify_driver_action(struct nvdimm_bus *nvdimm_bus,
nd_region_create_ns_seed(nd_region);
nvdimm_bus_unlock(dev);
}
+
+ if (dev->parent && is_nd_region(dev->parent) &&
+ !probe && (ret == -EOPNOTSUPP)) {
+ nd_region = to_nd_region(dev->parent);
+ nvdimm_bus_lock(dev);
+ if (nd_region->ns_seed == dev)
+ nd_region_create_ns_seed(nd_region);
+ nvdimm_bus_unlock(dev);
+ }
+
if (is_nd_btt(dev) && probe) {
struct nd_btt *nd_btt = to_nd_btt(dev);
@@ -788,14 +798,15 @@ static void nd_region_notify_driver_action(struct nvdimm_bus *nvdimm_bus,
}
}
-void nd_region_probe_success(struct nvdimm_bus *nvdimm_bus, struct device *dev)
+void nd_region_probe_success(struct nvdimm_bus *nvdimm_bus,
+ struct device *dev, int ret)
{
- nd_region_notify_driver_action(nvdimm_bus, dev, true);
+ nd_region_notify_driver_action(nvdimm_bus, dev, true, ret);
}
void nd_region_disable(struct nvdimm_bus *nvdimm_bus, struct device *dev)
{
- nd_region_notify_driver_action(nvdimm_bus, dev, false);
+ nd_region_notify_driver_action(nvdimm_bus, dev, false, 0);
}
static ssize_t mappingN(struct device *dev, char *buf, int n)
--
2.21.0
^ permalink raw reply related
* [PATCH v3 2/6] mm/nvdimm: Add PFN_MIN_VERSION support
From: Aneesh Kumar K.V @ 2019-06-04 9:13 UTC (permalink / raw)
To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm
In-Reply-To: <20190604091357.32213-1-aneesh.kumar@linux.ibm.com>
This allows us to make changes in a backward incompatible way. I have
kept the PFN_MIN_VERSION in this patch '0' because we are not introducing
any incompatible changes in this patch. We also may want to backport this
to older kernels.
The error looks like
dax0.1: init failed, superblock min version 1, kernel support version 0
and the namespace is marked disabled
$ndctl list -Ni
[
{
"dev":"namespace0.0",
"mode":"fsdax",
"map":"mem",
"size":10737418240,
"uuid":"9605de6d-cefa-4a87-99cd-dec28b02cffe",
"state":"disabled"
}
]
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
drivers/nvdimm/pfn.h | 9 ++++++++-
drivers/nvdimm/pfn_devs.c | 9 +++++++++
drivers/nvdimm/pmem.c | 26 ++++++++++++++++++++++----
3 files changed, 39 insertions(+), 5 deletions(-)
diff --git a/drivers/nvdimm/pfn.h b/drivers/nvdimm/pfn.h
index dde9853453d3..5fd29242745a 100644
--- a/drivers/nvdimm/pfn.h
+++ b/drivers/nvdimm/pfn.h
@@ -20,6 +20,12 @@
#define PFN_SIG_LEN 16
#define PFN_SIG "NVDIMM_PFN_INFO\0"
#define DAX_SIG "NVDIMM_DAX_INFO\0"
+/*
+ * increment this when we are making changes such that older
+ * kernel should fail to initialize that namespace.
+ */
+
+#define PFN_MIN_VERSION 0
struct nd_pfn_sb {
u8 signature[PFN_SIG_LEN];
@@ -36,7 +42,8 @@ struct nd_pfn_sb {
__le32 end_trunc;
/* minor-version-2 record the base alignment of the mapping */
__le32 align;
- u8 padding[4000];
+ __le16 min_version;
+ u8 padding[3998];
__le64 checksum;
};
diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
index 01f40672507f..00c57805cad3 100644
--- a/drivers/nvdimm/pfn_devs.c
+++ b/drivers/nvdimm/pfn_devs.c
@@ -439,6 +439,14 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig)
if (nvdimm_read_bytes(ndns, SZ_4K, pfn_sb, sizeof(*pfn_sb), 0))
return -ENXIO;
+ if (le16_to_cpu(pfn_sb->min_version) > PFN_MIN_VERSION) {
+ dev_err(&nd_pfn->dev,
+ "init failed, superblock min version %d kernel"
+ " support version %d\n",
+ le16_to_cpu(pfn_sb->min_version), PFN_MIN_VERSION);
+ return -EOPNOTSUPP;
+ }
+
if (memcmp(pfn_sb->signature, sig, PFN_SIG_LEN) != 0)
return -ENODEV;
@@ -769,6 +777,7 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
memcpy(pfn_sb->parent_uuid, nd_dev_to_uuid(&ndns->dev), 16);
pfn_sb->version_major = cpu_to_le16(1);
pfn_sb->version_minor = cpu_to_le16(2);
+ pfn_sb->min_version = cpu_to_le16(PFN_MIN_VERSION);
pfn_sb->start_pad = cpu_to_le32(start_pad);
pfn_sb->end_trunc = cpu_to_le32(end_trunc);
pfn_sb->align = cpu_to_le32(nd_pfn->align);
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
index d9d845077b8b..eddc28e8c357 100644
--- a/drivers/nvdimm/pmem.c
+++ b/drivers/nvdimm/pmem.c
@@ -496,6 +496,7 @@ static int pmem_attach_disk(struct device *dev,
static int nd_pmem_probe(struct device *dev)
{
+ int ret;
struct nd_namespace_common *ndns;
ndns = nvdimm_namespace_common_probe(dev);
@@ -511,12 +512,29 @@ static int nd_pmem_probe(struct device *dev)
if (is_nd_pfn(dev))
return pmem_attach_disk(dev, ndns);
- /* if we find a valid info-block we'll come back as that personality */
- if (nd_btt_probe(dev, ndns) == 0 || nd_pfn_probe(dev, ndns) == 0
- || nd_dax_probe(dev, ndns) == 0)
+ ret = nd_btt_probe(dev, ndns);
+ if (ret == 0)
return -ENXIO;
+ else if (ret == -EOPNOTSUPP)
+ return ret;
- /* ...otherwise we're just a raw pmem device */
+ ret = nd_pfn_probe(dev, ndns);
+ if (ret == 0)
+ return -ENXIO;
+ else if (ret == -EOPNOTSUPP)
+ return ret;
+
+ ret = nd_dax_probe(dev, ndns);
+ if (ret == 0)
+ return -ENXIO;
+ else if (ret == -EOPNOTSUPP)
+ return ret;
+ /*
+ * We have two failure conditions here, there is no
+ * info reserver block or we found a valid info reserve block
+ * but failed to initialize the pfn superblock.
+ * Don't create a raw pmem disk for the second case.
+ */
return pmem_attach_disk(dev, ndns);
}
--
2.21.0
^ permalink raw reply related
* [PATCH v3 4/6] mm/nvdimm: Use correct #defines instead of opencoding
From: Aneesh Kumar K.V @ 2019-06-04 9:13 UTC (permalink / raw)
To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm
In-Reply-To: <20190604091357.32213-1-aneesh.kumar@linux.ibm.com>
The nfpn related change is needed to fix the kernel message
"number of pfns truncated from 2617344 to 163584"
The change makes sure the nfpns stored in the superblock is right value.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
drivers/nvdimm/label.c | 2 +-
drivers/nvdimm/namespace_devs.c | 6 +++---
drivers/nvdimm/pfn_devs.c | 6 +++---
drivers/nvdimm/region_devs.c | 8 ++++----
4 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/nvdimm/label.c b/drivers/nvdimm/label.c
index edf278067e72..c5f28c48bde4 100644
--- a/drivers/nvdimm/label.c
+++ b/drivers/nvdimm/label.c
@@ -363,7 +363,7 @@ static bool slot_valid(struct nvdimm_drvdata *ndd,
/* check that DPA allocations are page aligned */
if ((__le64_to_cpu(nd_label->dpa)
- | __le64_to_cpu(nd_label->rawsize)) % SZ_4K)
+ | __le64_to_cpu(nd_label->rawsize)) % PAGE_SIZE)
return false;
/* check checksum */
diff --git a/drivers/nvdimm/namespace_devs.c b/drivers/nvdimm/namespace_devs.c
index d0214644e334..c4c5a191b1d6 100644
--- a/drivers/nvdimm/namespace_devs.c
+++ b/drivers/nvdimm/namespace_devs.c
@@ -1014,10 +1014,10 @@ static ssize_t __size_store(struct device *dev, unsigned long long val)
return -ENXIO;
}
- div_u64_rem(val, SZ_4K * nd_region->ndr_mappings, &remainder);
+ div_u64_rem(val, PAGE_SIZE * nd_region->ndr_mappings, &remainder);
if (remainder) {
- dev_dbg(dev, "%llu is not %dK aligned\n", val,
- (SZ_4K * nd_region->ndr_mappings) / SZ_1K);
+ dev_dbg(dev, "%llu is not %ldK aligned\n", val,
+ (PAGE_SIZE * nd_region->ndr_mappings) / SZ_1K);
return -EINVAL;
}
diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
index e01eee9efafe..d137f52f46ee 100644
--- a/drivers/nvdimm/pfn_devs.c
+++ b/drivers/nvdimm/pfn_devs.c
@@ -778,8 +778,8 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
* when populating the vmemmap. This *should* be equal to
* PMD_SIZE for most architectures.
*/
- offset = ALIGN(start + reserve + 64 * npfns,
- max(nd_pfn->align, PMD_SIZE)) - start;
+ offset = ALIGN(start + reserve + sizeof(struct page) * npfns,
+ max(nd_pfn->align, PMD_SIZE)) - start;
} else if (nd_pfn->mode == PFN_MODE_RAM)
offset = ALIGN(start + reserve, nd_pfn->align) - start;
else
@@ -791,7 +791,7 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
return -ENXIO;
}
- npfns = (size - offset - start_pad - end_trunc) / SZ_4K;
+ npfns = (size - offset - start_pad - end_trunc) / PAGE_SIZE;
pfn_sb->mode = cpu_to_le32(nd_pfn->mode);
pfn_sb->dataoff = cpu_to_le64(offset);
pfn_sb->npfns = cpu_to_le64(npfns);
diff --git a/drivers/nvdimm/region_devs.c b/drivers/nvdimm/region_devs.c
index fcf3d8828540..139d7b45b337 100644
--- a/drivers/nvdimm/region_devs.c
+++ b/drivers/nvdimm/region_devs.c
@@ -1005,10 +1005,10 @@ static struct nd_region *nd_region_create(struct nvdimm_bus *nvdimm_bus,
struct nd_mapping_desc *mapping = &ndr_desc->mapping[i];
struct nvdimm *nvdimm = mapping->nvdimm;
- if ((mapping->start | mapping->size) % SZ_4K) {
- dev_err(&nvdimm_bus->dev, "%s: %s mapping%d is not 4K aligned\n",
- caller, dev_name(&nvdimm->dev), i);
-
+ if ((mapping->start | mapping->size) % PAGE_SIZE) {
+ dev_err(&nvdimm_bus->dev,
+ "%s: %s mapping%d is not %ld aligned\n",
+ caller, dev_name(&nvdimm->dev), i, PAGE_SIZE);
return NULL;
}
--
2.21.0
^ permalink raw reply related
* [PATCH v3 6/6] mm/nvdimm: Use correct alignment when looking at first pfn from a region
From: Aneesh Kumar K.V @ 2019-06-04 9:13 UTC (permalink / raw)
To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm
In-Reply-To: <20190604091357.32213-1-aneesh.kumar@linux.ibm.com>
We already add the start_pad to the resource->start but fails to section
align the start. This make sure with altmap we compute the right first
pfn when start_pad is zero and we are doing an align down of start address.
vmem_altmap_offset() adjust the section aligned base_pfn offset.
So we need to make sure we account for the same when computing base_pfn.
ie, for altmap_valid case, our pfn_first should be:
pfn_first = altmap->base_pfn + vmem_altmap_offset(altmap);
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
kernel/memremap.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/kernel/memremap.c b/kernel/memremap.c
index 1490e63f69a9..bf488b8658e7 100644
--- a/kernel/memremap.c
+++ b/kernel/memremap.c
@@ -60,9 +60,11 @@ static unsigned long pfn_first(struct dev_pagemap *pgmap)
struct vmem_altmap *altmap = &pgmap->altmap;
unsigned long pfn;
- pfn = res->start >> PAGE_SHIFT;
- if (pgmap->altmap_valid)
- pfn += vmem_altmap_offset(altmap);
+ if (pgmap->altmap_valid) {
+ pfn = altmap->base_pfn + vmem_altmap_offset(altmap);
+ } else
+ pfn = PHYS_PFN(res->start);
+
return pfn;
}
--
2.21.0
^ permalink raw reply related
* [PATCH v3 5/6] mm/nvdimm: Pick the right alignment default when creating dax devices
From: Aneesh Kumar K.V @ 2019-06-04 9:13 UTC (permalink / raw)
To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm
In-Reply-To: <20190604091357.32213-1-aneesh.kumar@linux.ibm.com>
Allow arch to provide the supported alignments and use hugepage alignment only
if we support hugepage. Right now we depend on compile time configs whereas this
patch switch this to runtime discovery.
Architectures like ppc64 can have THP enabled in code, but then can have
hugepage size disabled by the hypervisor. This allows us to create dax devices
with PAGE_SIZE alignment in this case.
Existing dax namespace with alignment larger than PAGE_SIZE will fail to
initialize in this specific case. We still allow fsdax namespace initialization.
With respect to identifying whether to enable hugepage fault for a dax device,
if THP is enabled during compile, we default to taking hugepage fault and in dax
fault handler if we find the fault size > alignment we retry with PAGE_SIZE
fault size.
This also addresses the below failure scenario on ppc64
ndctl create-namespace --mode=devdax | grep align
"align":16777216,
"align":16777216
cat /sys/devices/ndbus0/region0/dax0.0/supported_alignments
65536 16777216
daxio.static-debug -z -o /dev/dax0.0
Bus error (core dumped)
$ dmesg | tail
lpar: Failed hash pte insert with error -4
hash-mmu: mm: Hashing failure ! EA=0x7fff17000000 access=0x8000000000000006 current=daxio
hash-mmu: trap=0x300 vsid=0x22cb7a3 ssize=1 base psize=2 psize 10 pte=0xc000000501002b86
daxio[3860]: bus error (7) at 7fff17000000 nip 7fff973c007c lr 7fff973bff34 code 2 in libpmem.so.1.0.0[7fff973b0000+20000]
daxio[3860]: code: 792945e4 7d494b78 e95f0098 7d494b78 f93f00a0 4800012c e93f0088 f93f0120
daxio[3860]: code: e93f00a0 f93f0128 e93f0120 e95f0128 <f9490000> e93f0088 39290008 f93f0110
The failure was due to guest kernel using wrong page size.
The namespaces created with 16M alignment will appear as below on a config with
16M page size disabled.
$ ndctl list -Ni
[
{
"dev":"namespace0.1",
"mode":"fsdax",
"map":"dev",
"size":5351931904,
"uuid":"fc6e9667-461a-4718-82b4-69b24570bddb",
"align":16777216,
"blockdev":"pmem0.1",
"supported_alignments":[
65536
]
},
{
"dev":"namespace0.0",
"mode":"fsdax", <==== devdax 16M alignment marked disabled.
"map":"mem",
"size":5368709120,
"uuid":"a4bdf81a-f2ee-4bc6-91db-7b87eddd0484",
"state":"disabled"
}
]
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
arch/powerpc/include/asm/libnvdimm.h | 9 ++++++++
arch/powerpc/mm/Makefile | 1 +
arch/powerpc/mm/nvdimm.c | 34 ++++++++++++++++++++++++++++
arch/x86/include/asm/libnvdimm.h | 19 ++++++++++++++++
drivers/nvdimm/nd.h | 6 -----
drivers/nvdimm/pfn_devs.c | 32 +++++++++++++++++++++++++-
include/linux/huge_mm.h | 7 +++++-
7 files changed, 100 insertions(+), 8 deletions(-)
create mode 100644 arch/powerpc/include/asm/libnvdimm.h
create mode 100644 arch/powerpc/mm/nvdimm.c
create mode 100644 arch/x86/include/asm/libnvdimm.h
diff --git a/arch/powerpc/include/asm/libnvdimm.h b/arch/powerpc/include/asm/libnvdimm.h
new file mode 100644
index 000000000000..d35fd7f48603
--- /dev/null
+++ b/arch/powerpc/include/asm/libnvdimm.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _ASM_POWERPC_LIBNVDIMM_H
+#define _ASM_POWERPC_LIBNVDIMM_H
+
+#define nd_pfn_supported_alignments nd_pfn_supported_alignments
+extern unsigned long *nd_pfn_supported_alignments(void);
+extern unsigned long nd_pfn_default_alignment(void);
+
+#endif
diff --git a/arch/powerpc/mm/Makefile b/arch/powerpc/mm/Makefile
index 0f499db315d6..42e4a399ba5d 100644
--- a/arch/powerpc/mm/Makefile
+++ b/arch/powerpc/mm/Makefile
@@ -20,3 +20,4 @@ obj-$(CONFIG_HIGHMEM) += highmem.o
obj-$(CONFIG_PPC_COPRO_BASE) += copro_fault.o
obj-$(CONFIG_PPC_PTDUMP) += ptdump/
obj-$(CONFIG_KASAN) += kasan/
+obj-$(CONFIG_NVDIMM_PFN) += nvdimm.o
diff --git a/arch/powerpc/mm/nvdimm.c b/arch/powerpc/mm/nvdimm.c
new file mode 100644
index 000000000000..a29a4510715e
--- /dev/null
+++ b/arch/powerpc/mm/nvdimm.c
@@ -0,0 +1,34 @@
+// SPDX-License-Identifier: GPL-2.0
+
+#include <asm/pgtable.h>
+#include <asm/page.h>
+
+#include <linux/mm.h>
+/*
+ * We support only pte and pmd mappings for now.
+ */
+const unsigned long *nd_pfn_supported_alignments(void)
+{
+ static unsigned long supported_alignments[3];
+
+ supported_alignments[0] = PAGE_SIZE;
+
+ if (has_transparent_hugepage())
+ supported_alignments[1] = HPAGE_PMD_SIZE;
+ else
+ supported_alignments[1] = 0;
+
+ supported_alignments[2] = 0;
+ return supported_alignments;
+}
+
+/*
+ * Use pmd mapping if supported as default alignment
+ */
+unsigned long nd_pfn_default_alignment(void)
+{
+
+ if (has_transparent_hugepage())
+ return HPAGE_PMD_SIZE;
+ return PAGE_SIZE;
+}
diff --git a/arch/x86/include/asm/libnvdimm.h b/arch/x86/include/asm/libnvdimm.h
new file mode 100644
index 000000000000..3d5361db9164
--- /dev/null
+++ b/arch/x86/include/asm/libnvdimm.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _ASM_X86_LIBNVDIMM_H
+#define _ASM_X86_LIBNVDIMM_H
+
+static inline unsigned long nd_pfn_default_alignment(void)
+{
+#ifdef CONFIG_TRANSPARENT_HUGEPAGE
+ return HPAGE_PMD_SIZE;
+#else
+ return PAGE_SIZE;
+#endif
+}
+
+static inline unsigned long nd_altmap_align_size(unsigned long nd_align)
+{
+ return PMD_SIZE;
+}
+
+#endif
diff --git a/drivers/nvdimm/nd.h b/drivers/nvdimm/nd.h
index 191d62af0e51..524be92c1cd0 100644
--- a/drivers/nvdimm/nd.h
+++ b/drivers/nvdimm/nd.h
@@ -296,12 +296,6 @@ static inline struct device *nd_btt_create(struct nd_region *nd_region)
struct nd_pfn *to_nd_pfn(struct device *dev);
#if IS_ENABLED(CONFIG_NVDIMM_PFN)
-#ifdef CONFIG_TRANSPARENT_HUGEPAGE
-#define PFN_DEFAULT_ALIGNMENT HPAGE_PMD_SIZE
-#else
-#define PFN_DEFAULT_ALIGNMENT PAGE_SIZE
-#endif
-
int nd_pfn_probe(struct device *dev, struct nd_namespace_common *ndns);
bool is_nd_pfn(struct device *dev);
struct device *nd_pfn_create(struct nd_region *nd_region);
diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
index d137f52f46ee..9855357c9040 100644
--- a/drivers/nvdimm/pfn_devs.c
+++ b/drivers/nvdimm/pfn_devs.c
@@ -18,6 +18,7 @@
#include <linux/slab.h>
#include <linux/fs.h>
#include <linux/mm.h>
+#include <asm/libnvdimm.h>
#include "nd-core.h"
#include "pfn.h"
#include "nd.h"
@@ -111,6 +112,8 @@ static ssize_t align_show(struct device *dev,
return sprintf(buf, "%ld\n", nd_pfn->align);
}
+#ifndef nd_pfn_supported_alignments
+#define nd_pfn_supported_alignments nd_pfn_supported_alignments
static const unsigned long *nd_pfn_supported_alignments(void)
{
/*
@@ -133,6 +136,7 @@ static const unsigned long *nd_pfn_supported_alignments(void)
return data;
}
+#endif
static ssize_t align_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t len)
@@ -310,7 +314,7 @@ struct device *nd_pfn_devinit(struct nd_pfn *nd_pfn,
return NULL;
nd_pfn->mode = PFN_MODE_NONE;
- nd_pfn->align = PFN_DEFAULT_ALIGNMENT;
+ nd_pfn->align = nd_pfn_default_alignment();
dev = &nd_pfn->dev;
device_initialize(&nd_pfn->dev);
if (ndns && !__nd_attach_ndns(&nd_pfn->dev, ndns, &nd_pfn->ndns)) {
@@ -420,6 +424,20 @@ static int nd_pfn_clear_memmap_errors(struct nd_pfn *nd_pfn)
return 0;
}
+static bool nd_supported_alignment(unsigned long align)
+{
+ int i;
+ const unsigned long *supported = nd_pfn_supported_alignments();
+
+ if (align == 0)
+ return false;
+
+ for (i = 0; supported[i]; i++)
+ if (align == supported[i])
+ return true;
+ return false;
+}
+
int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig)
{
u64 checksum, offset;
@@ -505,6 +523,18 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig)
return -EOPNOTSUPP;
}
+ /*
+ * Check whether the we support the alignment. For Dax if the
+ * superblock alignment is not matching, we won't initialize
+ * the device.
+ */
+ if (!nd_supported_alignment(align) &&
+ !memcmp(pfn_sb->signature, DAX_SIG, PFN_SIG_LEN)) {
+ dev_err(&nd_pfn->dev, "init failed, alignment mismatch: "
+ "%lx:%lx\n", nd_pfn->align, align);
+ return -EOPNOTSUPP;
+ }
+
if (!nd_pfn->uuid) {
/*
* When probing a namepace via nd_pfn_probe() the uuid
diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
index 7cd5c150c21d..64d16794bb27 100644
--- a/include/linux/huge_mm.h
+++ b/include/linux/huge_mm.h
@@ -108,7 +108,12 @@ static inline bool __transparent_hugepage_enabled(struct vm_area_struct *vma)
if (transparent_hugepage_flags & (1 << TRANSPARENT_HUGEPAGE_FLAG))
return true;
-
+ /*
+ * For dax let's try to do hugepage fault always. If we don't support
+ * hugepages we will not have enabled namespaces with hugepage alignment.
+ * This also means we try to handle hugepage fault on device with
+ * smaller alignment. But for then we will return with VM_FAULT_FALLBACK
+ */
if (vma_is_dax(vma))
return true;
--
2.21.0
^ permalink raw reply related
* [PATCH v3 3/6] mm/nvdimm: Add page size and struct page size to pfn superblock
From: Aneesh Kumar K.V @ 2019-06-04 9:13 UTC (permalink / raw)
To: dan.j.williams; +Cc: linux-mm, linuxppc-dev, Aneesh Kumar K.V, linux-nvdimm
In-Reply-To: <20190604091357.32213-1-aneesh.kumar@linux.ibm.com>
This is needed so that we don't wrongly initialize a namespace
which doesn't have enough space reserved for holding struct pages
with the current kernel.
We also increment PFN_MIN_VERSION to make sure that older kernel
won't initialize namespace created with newer kernel.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
---
drivers/nvdimm/pfn.h | 7 +++++--
drivers/nvdimm/pfn_devs.c | 27 ++++++++++++++++++++++++++-
2 files changed, 31 insertions(+), 3 deletions(-)
diff --git a/drivers/nvdimm/pfn.h b/drivers/nvdimm/pfn.h
index 5fd29242745a..ba11738ca8a2 100644
--- a/drivers/nvdimm/pfn.h
+++ b/drivers/nvdimm/pfn.h
@@ -25,7 +25,7 @@
* kernel should fail to initialize that namespace.
*/
-#define PFN_MIN_VERSION 0
+#define PFN_MIN_VERSION 1
struct nd_pfn_sb {
u8 signature[PFN_SIG_LEN];
@@ -43,7 +43,10 @@ struct nd_pfn_sb {
/* minor-version-2 record the base alignment of the mapping */
__le32 align;
__le16 min_version;
- u8 padding[3998];
+ /* minor-version-3 record the page size and struct page size */
+ __le16 page_struct_size;
+ __le32 page_size;
+ u8 padding[3992];
__le64 checksum;
};
diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
index 00c57805cad3..e01eee9efafe 100644
--- a/drivers/nvdimm/pfn_devs.c
+++ b/drivers/nvdimm/pfn_devs.c
@@ -467,6 +467,15 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig)
if (__le16_to_cpu(pfn_sb->version_minor) < 2)
pfn_sb->align = 0;
+ if (__le16_to_cpu(pfn_sb->version_minor) < 3) {
+ /*
+ * For a large part we use PAGE_SIZE. But we
+ * do have some accounting code using SZ_4K.
+ */
+ pfn_sb->page_struct_size = cpu_to_le16(64);
+ pfn_sb->page_size = cpu_to_le32(SZ_4K);
+ }
+
switch (le32_to_cpu(pfn_sb->mode)) {
case PFN_MODE_RAM:
case PFN_MODE_PMEM:
@@ -482,6 +491,20 @@ int nd_pfn_validate(struct nd_pfn *nd_pfn, const char *sig)
align = 1UL << ilog2(offset);
mode = le32_to_cpu(pfn_sb->mode);
+ if (le32_to_cpu(pfn_sb->page_size) != PAGE_SIZE) {
+ dev_err(&nd_pfn->dev,
+ "init failed, page size mismatch %d\n",
+ le32_to_cpu(pfn_sb->page_size));
+ return -EOPNOTSUPP;
+ }
+
+ if (le16_to_cpu(pfn_sb->page_struct_size) != sizeof(struct page)) {
+ dev_err(&nd_pfn->dev,
+ "init failed, struct page size mismatch %d\n",
+ le16_to_cpu(pfn_sb->page_struct_size));
+ return -EOPNOTSUPP;
+ }
+
if (!nd_pfn->uuid) {
/*
* When probing a namepace via nd_pfn_probe() the uuid
@@ -776,11 +799,13 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
memcpy(pfn_sb->uuid, nd_pfn->uuid, 16);
memcpy(pfn_sb->parent_uuid, nd_dev_to_uuid(&ndns->dev), 16);
pfn_sb->version_major = cpu_to_le16(1);
- pfn_sb->version_minor = cpu_to_le16(2);
+ pfn_sb->version_minor = cpu_to_le16(3);
pfn_sb->min_version = cpu_to_le16(PFN_MIN_VERSION);
pfn_sb->start_pad = cpu_to_le32(start_pad);
pfn_sb->end_trunc = cpu_to_le32(end_trunc);
pfn_sb->align = cpu_to_le32(nd_pfn->align);
+ pfn_sb->page_struct_size = cpu_to_le16(sizeof(struct page));
+ pfn_sb->page_size = cpu_to_le32(PAGE_SIZE);
checksum = nd_sb_checksum((struct nd_gen_sb *) pfn_sb);
pfn_sb->checksum = cpu_to_le64(checksum);
--
2.21.0
^ permalink raw reply related
* [POWERPC][next-20190603] Boot failure : Kernel BUG at mm/vmalloc.c:470
From: Sachin Sant @ 2019-06-04 9:15 UTC (permalink / raw)
To: linuxppc-dev, linux-next; +Cc: linux-mm, Uladzislau Rezki (Sony), linux-kernel
[-- Attachment #1: Type: text/plain, Size: 3164 bytes --]
While booting linux-next [next-20190603] on a POWER9 LPAR following
BUG is encountered and the boot fails.
If I revert the following 2 patches I no longer see this BUG message
07031d37b2f9 ( mm/vmalloc.c: switch to WARN_ON() and move it under unlink_va() )
728e0fbf263e ( mm/vmalloc.c: get rid of one single unlink_va() when merge )
[ 1.130734] ------------[ cut here ]------------
[ 1.130745] kernel BUG at mm/vmalloc.c:470!
[ 1.130753] Oops: Exception in kernel mode, sig: 5 [#1]
[ 1.130761] LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
[ 1.130768] Modules linked in: ibmvscsi(+) ibmveth scsi_transport_srp
[ 1.130781] CPU: 23 PID: 127 Comm: kworker/23:0 Not tainted 5.2.0-rc3-next-20190603 #1
[ 1.130796] Workqueue: events do_free_init
[ 1.130803] NIP: c0000000003bcc48 LR: c0000000003bcbc4 CTR: c0000000003bc860
[ 1.130812] REGS: c0000018ec7877e0 TRAP: 0700 Not tainted (5.2.0-rc3-next-20190603)
[ 1.130820] MSR: 800000010282b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE,TM[E]> CR: 24008888 XER: 20040005
[ 1.130837] CFAR: c0000000003bcc6c IRQMASK: 0
[ 1.130837] GPR00: c0000000003bd0e4 c0000018ec787a70 c000000001929400 0000000000000001
[ 1.130837] GPR04: c0000018e8d2e8f0 c0000018e8d2e8f0 c008000006570000 c008000006550000
[ 1.130837] GPR08: c008000009670000 c0000018e8d0e098 c0000018e8d0e5f8 c0000018e8ca93f0
[ 1.130837] GPR12: c0000000003bc860 c00000001ec4e200 c000000000160188 c0000018f4044d00
[ 1.130837] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 1.130837] GPR20: 0000000000000000 0000000000000000 c000000001485108 c0000000019620d8
[ 1.130837] GPR24: c000000001962464 0000000000000800 0000000000000001 0000000000001800
[ 1.130837] GPR28: c000000001ccc0a8 c000000001ccc080 c0000018e8d2e8b8 c0000018e8d2e8d8
[ 1.130899] NIP [c0000000003bcc48] __free_vmap_area+0xf8/0x480
[ 1.130906] LR [c0000000003bcbc4] __free_vmap_area+0x74/0x480
[ 1.130912] Call Trace:
[ 1.130916] [c0000018ec787a70] [c0000000003bcf70] __free_vmap_area+0x420/0x480 (unreliable)
[ 1.130924] [c0000018ec787ac0] [c0000000003bd0e4] __purge_vmap_area_lazy+0x114/0x1e0
[ 1.130932] [c0000018ec787b10] [c0000000003bef44] _vm_unmap_aliases+0x1a4/0x210
[ 1.130939] [c0000018ec787b90] [c0000000003c1c48] __vunmap+0xe8/0x220
[ 1.130946] [c0000018ec787c20] [c00000000021102c] module_memfree+0x3c/0x50
[ 1.130953] [c0000018ec787c40] [c0000000002110ac] do_free_init+0x6c/0xa0
[ 1.130964] [c0000018ec787c70] [c000000000156df0] process_one_work+0x260/0x520
[ 1.130976] [c0000018ec787d10] [c000000000157138] worker_thread+0x88/0x5f0
[ 1.130985] [c0000018ec787db0] [c000000000160328] kthread+0x1a8/0x1b0
[ 1.130996] [c0000018ec787e20] [c00000000000ba54] ret_from_kernel_thread+0x5c/0x68
[ 1.131004] Instruction dump:
[ 1.131011] e9292c90 2fa90000 419e0378 e8fe0000 e8de0008 60000000 e909ffe8 e949ffe0
[ 1.131021] 7fa74040 409c0014 7faa3040 409c002c <0fe00000> 60000000 7faa3040 409cfff4
[ 1.131032] ---[ end trace b0b43434aedbb78e ]—
Have attached the boot log for reference.
Thanks
-Sachin
[-- Attachment #2: next-20190603.log --]
[-- Type: application/octet-stream, Size: 27674 bytes --]
[84348.251113] kexec_core: Starting new kernel
[84348.271197] kexec: waiting for cpu 36 (physical 36) to enter 1 state
[84348.271208] kexec: waiting for cpu 1 (physical 1) to enter 2 state
[84348.272736] kexec: Starting switchover sequence.
I'm in purgatory
[ 0.000000] hash-mmu: Page sizes from device-tree:
[ 0.000000] hash-mmu: base_shift=12: shift=12, sllp=0x0000, avpnm=0x00000000, tlbiel=1, penc=0
[ 0.000000] hash-mmu: base_shift=12: shift=16, sllp=0x0000, avpnm=0x00000000, tlbiel=1, penc=7
[ 0.000000] hash-mmu: base_shift=12: shift=24, sllp=0x0000, avpnm=0x00000000, tlbiel=1, penc=56
[ 0.000000] hash-mmu: base_shift=16: shift=16, sllp=0x0110, avpnm=0x00000000, tlbiel=1, penc=1
[ 0.000000] hash-mmu: base_shift=16: shift=24, sllp=0x0110, avpnm=0x00000000, tlbiel=1, penc=8
[ 0.000000] hash-mmu: base_shift=24: shift=24, sllp=0x0100, avpnm=0x00000001, tlbiel=0, penc=0
[ 0.000000] hash-mmu: base_shift=34: shift=34, sllp=0x0120, avpnm=0x000007ff, tlbiel=0, penc=3
[ 0.000000] Using 1TB segments
[ 0.000000] hash-mmu: Initializing hash mmu with SLB
[ 0.000000] Linux version 5.2.0-rc3-next-20190603 (root@ltczep10-lp4.aus.stglabs.ibm.com) (gcc version 8.2.1 20180905 (Red Hat 8.2.1-3) (GCC)) #1 SMP Tue Jun 4 01:04:57 CDT 2019
[ 0.000000] Found initrd at 0xc000000003780000:0xc000000004f31731
[ 0.000000] Using pSeries machine description
[ 0.000000] printk: bootconsole [udbg0] enabled
[ 0.000000] Partition configured for 40 cpus.
[ 0.000000] CPU maps initialized for 8 threads per core
[ 0.000000] -----------------------------------------------------
[ 0.000000] phys_mem_size = 0x1900000000
[ 0.000000] dcache_bsize = 0x80
[ 0.000000] icache_bsize = 0x80
[ 0.000000] cpu_features = 0x0000c07f8f5f91a7
[ 0.000000] possible = 0x0000fbffcf5fb1a7
[ 0.000000] always = 0x00000003800081a1
[ 0.000000] cpu_user_features = 0xdc0065c2 0xefe00000
[ 0.000000] mmu_features = 0x7c006001
[ 0.000000] firmware_features = 0x00000017c45bfc57
[ 0.000000] hash-mmu: ppc64_pft_size = 0x1e
[ 0.000000] hash-mmu: htab_hash_mask = 0x7fffff
[ 0.000000] hash-mmu: kernel vmalloc start = 0xc008000000000000
[ 0.000000] hash-mmu: kernel IO start = 0xc00a000000000000
[ 0.000000] hash-mmu: kernel vmemmap start = 0xc00c000000000000
[ 0.000000] -----------------------------------------------------
[ 0.000000] numa: NODE_DATA [mem 0x18ffe98980-0x18ffe9ffff]
[ 0.000000] rfi-flush: fallback displacement flush available
[ 0.000000] rfi-flush: mttrig type flush available
[ 0.000000] count-cache-flush: full software flush sequence enabled.
[ 0.000000] stf-barrier: eieio barrier available
[ 0.000000] PPC64 nvram contains 15360 bytes
[ 0.000000] barrier-nospec: using ORI speculation barrier
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x00000018ffffffff]
[ 0.000000] Device empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x00000018ffffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000018ffffffff]
[ 0.000000] percpu: Embedded 11 pages/cpu s629912 r0 d90984 u1048576
[ 0.000000] node[0] zonelist: 0:Normal
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1636800
[ 0.000000] Policy zone: Normal
[ 0.000000] Kernel command line: root=UUID=8b2c60d2-4da6-4873-b9ac-6b332055a0f2 ro
[ 0.000000] Memory: 104635840K/104857600K available (12416K kernel code, 1792K rwdata, 6976K rodata, 4992K init, 3847K bss, 221760K reserved, 0K cma-reserved)
[ 0.000000] random: get_random_u64 called from cache_random_seq_create+0x98/0x1f0 with crng_init=0
[ 0.000000] SLUB: HWalign=128, Order=0-3, MinObjects=0, CPUs=40, Nodes=32
[ 0.000000] ftrace: allocating 31579 entries in 12 pages
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=2048 to nr_cpu_ids=40.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=40
[ 0.000000] NR_IRQS: 512, nr_irqs: 512, preallocated irqs: 16
[ 0.000000] rcu: Offload RCU callbacks from CPUs: (none).
[ 0.000001] time_init: 56 bit decrementer (max: 7fffffffffffff)
[ 0.000066] clocksource: timebase: mask: 0xffffffffffffffff max_cycles: 0x761537d007, max_idle_ns: 440795202126 ns
[ 0.000175] clocksource: timebase mult[1f40000] shift[24] registered
[ 0.000303] Console: colour dummy device 80x25
[ 0.000354] printk: console [hvc0] enabled
[ 0.000354] printk: console [hvc0] enabled
[ 0.000401] printk: bootconsole [udbg0] disabled
[ 0.000401] printk: bootconsole [udbg0] disabled
[ 0.000496] pid_max: default: 40960 minimum: 320
[ 0.000650] LSM: Security Framework initializing
[ 0.000740] Yama: becoming mindful.
[ 0.000762] SELinux: Initializing.
[ 0.000926] *** VALIDATE SELinux ***
[ 0.002919] Dentry cache hash table entries: 8388608 (order: 10, 67108864 bytes)
[ 0.003909] Inode-cache hash table entries: 4194304 (order: 9, 33554432 bytes)
[ 0.003975] Mount-cache hash table entries: 131072 (order: 4, 1048576 bytes)
[ 0.004015] Mountpoint-cache hash table entries: 131072 (order: 4, 1048576 bytes)
[ 0.004330] *** VALIDATE proc ***
[ 0.004590] *** VALIDATE cgroup1 ***
[ 0.004596] *** VALIDATE cgroup2 ***
[ 0.005137] EEH: pSeries platform initialized
[ 0.005147] POWER9 performance monitor hardware support registered
[ 0.005185] rcu: Hierarchical SRCU implementation.
[ 0.005979] smp: Bringing up secondary CPUs ...
[ 0.016355] smp: Brought up 1 node, 40 CPUs
[ 0.016365] numa: Node 0 CPUs: 0-39
[ 0.016369] Using small cores at SMT level
[ 0.016372] Using shared cache scheduler topology
[ 0.018337] devtmpfs: initialized
[ 0.033076] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.033092] futex hash table entries: 16384 (order: 5, 2097152 bytes)
[ 0.033653] NET: Registered protocol family 16
[ 0.033799] audit: initializing netlink subsys (disabled)
[ 0.033864] audit: type=2000 audit(1559629150.030:1): state=initialized audit_enabled=0 res=1
[ 0.034221] Kprobe smoke test: started
[ 0.048644] Kprobe smoke test: passed successfully
[ 0.048730] cpuidle: using governor menu
[ 0.048942] pstore: Registered nvram as persistent store backend
[ 0.055525] PCI: Probing PCI hardware
[ 0.055531] EEH: No capable adapters found
[ 0.055625] pseries-rng: Registering arch random hook.
[ 0.056923] HugeTLB registered 16.0 MiB page size, pre-allocated 0 pages
[ 0.056928] HugeTLB registered 16.0 GiB page size, pre-allocated 0 pages
[ 0.313749] cryptd: max_cpu_qlen set to 1000
[ 0.315681] alg: No test for lzo-rle (lzo-rle-generic)
[ 0.315800] alg: No test for lzo-rle (lzo-rle-scomp)
[ 0.319635] vgaarb: loaded
[ 0.319719] SCSI subsystem initialized
[ 0.319757] usbcore: registered new interface driver usbfs
[ 0.319768] usbcore: registered new interface driver hub
[ 0.319930] usbcore: registered new device driver usb
[ 0.319958] pps_core: LinuxPPS API ver. 1 registered
[ 0.319962] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.319970] PTP clock support registered
[ 0.320175] EDAC MC: Ver: 3.0.0
[ 0.320346] NetLabel: Initializing
[ 0.320350] NetLabel: domain hash size = 128
[ 0.320354] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO
[ 0.320368] NetLabel: unlabeled traffic allowed by default
[ 0.320562] clocksource: Switched to clocksource timebase
[ 0.335258] VFS: Disk quotas dquot_6.6.0
[ 0.335289] VFS: Dquot-cache hash table entries: 8192 (order 0, 65536 bytes)
[ 0.335312] *** VALIDATE hugetlbfs ***
[ 0.336931] random: fast init done
[ 0.337531] NET: Registered protocol family 2
[ 0.337722] tcp_listen_portaddr_hash hash table entries: 65536 (order: 4, 1048576 bytes)
[ 0.337849] TCP established hash table entries: 524288 (order: 6, 4194304 bytes)
[ 0.338962] TCP bind hash table entries: 65536 (order: 4, 1048576 bytes)
[ 0.339076] TCP: Hash tables configured (established 524288 bind 65536)
[ 0.339131] UDP hash table entries: 65536 (order: 5, 2097152 bytes)
[ 0.339359] UDP-Lite hash table entries: 65536 (order: 5, 2097152 bytes)
[ 0.339658] NET: Registered protocol family 1
[ 0.339666] NET: Registered protocol family 44
[ 0.339671] PCI: CLS 0 bytes, default 128
[ 0.339705] Trying to unpack rootfs image as initramfs...
[ 0.705596] Freeing initrd memory: 24256K
[ 0.708415] IOMMU table initialized, virtual merging enabled
[ 0.722241] hv-24x7: read 1530 catalog entries, created 537 event attrs (0 failures), 275 descs
[ 0.723581] workingset: timestamp_bits=38 max_order=21 bucket_order=0
[ 0.724976] zbud: loaded
[ 0.726758] NET: Registered protocol family 38
[ 0.726764] Key type asymmetric registered
[ 0.726768] Asymmetric key parser 'x509' registered
[ 0.726777] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 0.726922] io scheduler mq-deadline registered
[ 0.726927] io scheduler kyber registered
[ 0.726974] io scheduler bfq registered
[ 0.727705] atomic64_test: passed
[ 0.727771] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[ 0.727776] PowerPC PowerNV PCI Hotplug Driver version: 0.1
[ 0.728152] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.728431] Non-volatile memory driver v1.3
[ 0.728467] Linux agpgart interface v0.103
[ 0.728754] rdac: device handler registered
[ 0.728802] hp_sw: device handler registered
[ 0.728806] emc: device handler registered
[ 0.728923] alua: device handler registered
[ 0.728957] libphy: Fixed MDIO Bus: probed
[ 0.729019] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 0.729030] ehci-pci: EHCI PCI platform driver
[ 0.729040] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 0.729050] ohci-pci: OHCI PCI platform driver
[ 0.729058] uhci_hcd: USB Universal Host Controller Interface driver
[ 0.729093] usbcore: registered new interface driver usbserial_generic
[ 0.729101] usbserial: USB Serial support registered for generic
[ 0.729160] mousedev: PS/2 mouse device common for all mice
[ 0.729280] rtc-generic rtc-generic: registered as rtc0
[ 0.729745] nx_compress_pseries ibm,compression-v1: nx842_OF_upd: max_sync_size new:65536 old:0
[ 0.729753] nx_compress_pseries ibm,compression-v1: nx842_OF_upd: max_sync_sg new:510 old:0
[ 0.729760] nx_compress_pseries ibm,compression-v1: nx842_OF_upd: max_sg_len new:4080 old:0
[ 0.729830] alg: No test for 842 (842-nx)
[ 0.730811] hidraw: raw HID events driver (C) Jiri Kosina
[ 0.730849] usbcore: registered new interface driver usbhid
[ 0.730853] usbhid: USB HID core driver
[ 0.730946] drop_monitor: Initializing network drop monitor service
[ 0.731047] Initializing XFRM netlink socket
[ 0.731211] NET: Registered protocol family 10
[ 0.731589] Segment Routing with IPv6
[ 0.731613] NET: Registered protocol family 17
[ 0.731680] mpls_gso: MPLS GSO support
[ 0.732435] Running instruction emulation self-tests ...
[ 0.732442] emulate_step_test: ld : PASS
[ 0.732446] emulate_step_test: lwz : PASS
[ 0.732450] emulate_step_test: lwzx : PASS
[ 0.732454] emulate_step_test: std : PASS
[ 0.732459] emulate_step_test: ldarx / stdcx. : PASS
[ 0.732465] emulate_step_test: lfsx : PASS
[ 0.732469] emulate_step_test: stfsx : PASS
[ 0.732473] emulate_step_test: lfdx : PASS
[ 0.732476] emulate_step_test: stfdx : PASS
[ 0.732481] emulate_step_test: lvx : PASS
[ 0.732485] emulate_step_test: stvx : PASS
[ 0.732490] emulate_step_test: lxvd2x : PASS
[ 0.732494] emulate_step_test: stxvd2x : PASS
[ 0.732499] emulate_step_test: nop : R0 = LONG_MAX PASS
[ 0.732505] emulate_step_test: add : RA = LONG_MIN, RB = LONG_MIN PASS
[ 0.732511] emulate_step_test: add : RA = LONG_MIN, RB = LONG_MAX PASS
[ 0.732516] emulate_step_test: add : RA = LONG_MAX, RB = LONG_MAX PASS
[ 0.732522] emulate_step_test: add : RA = ULONG_MAX, RB = ULONG_MAX PASS
[ 0.732528] emulate_step_test: add : RA = ULONG_MAX, RB = 0x1 PASS
[ 0.732533] emulate_step_test: add : RA = INT_MIN, RB = INT_MIN PASS
[ 0.732539] emulate_step_test: add : RA = INT_MIN, RB = INT_MAX PASS
[ 0.732545] emulate_step_test: add : RA = INT_MAX, RB = INT_MAX PASS
[ 0.732550] emulate_step_test: add : RA = UINT_MAX, RB = UINT_MAX PASS
[ 0.732556] emulate_step_test: add : RA = UINT_MAX, RB = 0x1 PASS
[ 0.732562] emulate_step_test: add. : RA = LONG_MIN, RB = LONG_MIN PASS
[ 0.732568] emulate_step_test: add. : RA = LONG_MIN, RB = LONG_MAX PASS
[ 0.732573] emulate_step_test: add. : RA = LONG_MAX, RB = LONG_MAX PASS
[ 0.732579] emulate_step_test: add. : RA = ULONG_MAX, RB = ULONG_MAX PASS
[ 0.732584] emulate_step_test: add. : RA = ULONG_MAX, RB = 0x1 PASS
[ 0.732590] emulate_step_test: add. : RA = INT_MIN, RB = INT_MIN PASS
[ 0.732596] emulate_step_test: add. : RA = INT_MIN, RB = INT_MAX PASS
[ 0.732601] emulate_step_test: add. : RA = INT_MAX, RB = INT_MAX PASS
[ 0.732607] emulate_step_test: add. : RA = UINT_MAX, RB = UINT_MAX PASS
[ 0.732613] emulate_step_test: add. : RA = UINT_MAX, RB = 0x1 PASS
[ 0.732619] emulate_step_test: addc : RA = LONG_MIN, RB = LONG_MIN PASS
[ 0.732624] emulate_step_test: addc : RA = LONG_MIN, RB = LONG_MAX PASS
[ 0.732630] emulate_step_test: addc : RA = LONG_MAX, RB = LONG_MAX PASS
[ 0.732636] emulate_step_test: addc : RA = ULONG_MAX, RB = ULONG_MAX PASS
[ 0.732641] emulate_step_test: addc : RA = ULONG_MAX, RB = 0x1 PASS
[ 0.732647] emulate_step_test: addc : RA = INT_MIN, RB = INT_MIN PASS
[ 0.732652] emulate_step_test: addc : RA = INT_MIN, RB = INT_MAX PASS
[ 0.732658] emulate_step_test: addc : RA = INT_MAX, RB = INT_MAX PASS
[ 0.732664] emulate_step_test: addc : RA = UINT_MAX, RB = UINT_MAX PASS
[ 0.732669] emulate_step_test: addc : RA = UINT_MAX, RB = 0x1 PASS
[ 0.732675] emulate_step_test: addc : RA = LONG_MIN | INT_MIN, RB = LONG_MIN | INT_MIN PASS
[ 0.732680] emulate_step_test: addc. : RA = LONG_MIN, RB = LONG_MIN PASS
[ 0.732686] emulate_step_test: addc. : RA = LONG_MIN, RB = LONG_MAX PASS
[ 0.732692] emulate_step_test: addc. : RA = LONG_MAX, RB = LONG_MAX PASS
[ 0.732697] emulate_step_test: addc. : RA = ULONG_MAX, RB = ULONG_MAX PASS
[ 0.732703] emulate_step_test: addc. : RA = ULONG_MAX, RB = 0x1 PASS
[ 0.732708] emulate_step_test: addc. : RA = INT_MIN, RB = INT_MIN PASS
[ 0.732714] emulate_step_test: addc. : RA = INT_MIN, RB = INT_MAX PASS
[ 0.732720] emulate_step_test: addc. : RA = INT_MAX, RB = INT_MAX PASS
[ 0.732725] emulate_step_test: addc. : RA = UINT_MAX, RB = UINT_MAX PASS
[ 0.732731] emulate_step_test: addc. : RA = UINT_MAX, RB = 0x1 PASS
[ 0.732737] emulate_step_test: addc. : RA = LONG_MIN | INT_MIN, RB = LONG_MIN | INT_MIN PASS
[ 0.732874] registered taskstats version 1
[ 0.732914] zswap: loaded using pool lzo/zbud
[ 0.732960] pstore: Using crash dump compression: deflate
[ 0.736153] Key type big_key registered
[ 0.738681] Key type encrypted registered
[ 0.738700] ima: No TPM chip found, activating TPM-bypass!
[ 0.738705] ima: Allocated hash algorithm: sha256
[ 0.738718] No architecture policies found
[ 0.738731] evm: Initialising EVM extended attributes:
[ 0.738734] evm: security.selinux
[ 0.738737] evm: security.ima
[ 0.738740] evm: security.capability
[ 0.738743] evm: HMAC attrs: 0x1
[ 0.738987] rtc-generic rtc-generic: setting system clock to 2019-06-04T06:19:10 UTC (1559629150)
[ 0.740414] Freeing unused kernel memory: 4992K
[ 0.740419] This architecture does not have kernel memory protection.
[ 0.740424] Run /init as init process
[ 0.754661] systemd[1]: systemd 239 running in system mode. (+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=legacy)
[ 0.754843] systemd[1]: Detected architecture ppc64-le.
[ 0.754849] systemd[1]: Running in initial RAM disk.
Welcome to Red Hat Enterprise Linux 8.0 Beta (Ootpa) dracut-049-10.git20190115.el8 (Initramfs)!
[ 0.764525] systemd[1]: Set hostname to <ltczep10-lp4.aus.stglabs.ibm.com>.
[ 0.813003] random: systemd: uninitialized urandom read (16 bytes read)
[ 0.813105] systemd[1]: Listening on Journal Socket (/dev/log).
[ OK ] Listening on Journal Socket (/dev/log).
[ 0.813308] random: systemd: uninitialized urandom read (16 bytes read)
[ 0.813319] systemd[1]: Reached target Swap.
[ OK ] Reached target Swap.
[ 0.813447] random: systemd: uninitialized urandom read (16 bytes read)
[ 0.813498] systemd[1]: Listening on udev Kernel Socket.
[ OK ] Listening on udev Kernel Socket.
[ 0.813625] systemd[1]: Reached target Local File Systems.
[ OK ] Reached target Local File Systems.
[ 0.813825] systemd[1]: Listening on Journal Socket.
[ OK ] Listening on Journal Socket.
[ 0.815758] systemd[1]: Starting Setup Virtual Console...
Starting Setup Virtual Console...
Starting Create Volatile Files and Directories...
Starting Apply Kernel Variables...
[ OK ] Reached target Timers.
Starting Create list of required st…ce nodes for the current kernel...
[ OK ] Reached target Slices.
Starting Journal Service...
[ OK ] Listening on udev Control Socket.
[ OK ] Reached target Sockets.
[ OK ] Started Create list of required sta…vice nodes for the current kernel.
[ OK ] Started Create Volatile Files and Directories.
[ OK ] Started Apply Kernel Variables.
Starting Create Static Device Nodes in /dev...
[ OK ] Started Create Static Device Nodes in /dev.
[ OK ] Started Journal Service.
[ OK ] Started Setup Virtual Console.
Starting dracut cmdline hook...
[ OK ] Started dracut cmdline hook.
Starting dracut pre-udev hook...
[ OK ] Started dracut pre-udev hook.
Starting udev Kernel Device Manager...
[ OK ] Started udev Kernel Device Manager.
Starting udev Coldplug all Devices...
Mounting Kernel Configuration File System...
[ OK ] Mounted Kernel Configuration File System.
[ 1.046123] synth uevent: /devices/vio: failed to send uevent
[ 1.046134] vio vio: uevent: failed to send synthetic uevent
[ 1.046181] synth uevent: /devices/vio/4000: failed to send uevent
[ 1.046186] vio 4000: uevent: failed to send synthetic uevent
[ 1.046199] synth uevent: /devices/vio/4001: failed to send uevent
[ 1.046204] vio 4001: uevent: failed to send synthetic uevent
[ 1.046220] synth uevent: /devices/vio/4002: failed to send uevent
[ 1.046225] vio 4002: uevent: failed to send synthetic uevent
[ 1.046238] synth uevent: /devices/vio/4004: failed to send uevent
[ 1.046243] vio 4004: uevent: failed to send synthetic uevent
[ OK ] Started udev Coldplug all Devices.
Starting dracut initqueue hook...
[ OK ] Reached target System Initialization.
Starting Show Plymouth Boot Screen...
[ OK ] Started Show Plymouth Boot Screen.
[ OK ] Reached target Paths.
[ OK ] Started Forward Password Requests to Plymouth Directory Watch.
[ OK ] Reached target Basic System.
[ 1.080244] ibmvscsi 30000068: SRP_VERSION: 16.a
[ 1.089914] ibmveth 30000002 env2: renamed from eth0
[ 1.130734] ------------[ cut here ]------------
[ 1.130745] kernel BUG at mm/vmalloc.c:470!
[ 1.130753] Oops: Exception in kernel mode, sig: 5 [#1]
[ 1.130761] LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
[ 1.130768] Modules linked in: ibmvscsi(+) ibmveth scsi_transport_srp
[ 1.130781] CPU: 23 PID: 127 Comm: kworker/23:0 Not tainted 5.2.0-rc3-next-20190603 #1
[ 1.130796] Workqueue: events do_free_init
[ 1.130803] NIP: c0000000003bcc48 LR: c0000000003bcbc4 CTR: c0000000003bc860
[ 1.130812] REGS: c0000018ec7877e0 TRAP: 0700 Not tainted (5.2.0-rc3-next-20190603)
[ 1.130820] MSR: 800000010282b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE,TM[E]> CR: 24008888 XER: 20040005
[ 1.130837] CFAR: c0000000003bcc6c IRQMASK: 0
[ 1.130837] GPR00: c0000000003bd0e4 c0000018ec787a70 c000000001929400 0000000000000001
[ 1.130837] GPR04: c0000018e8d2e8f0 c0000018e8d2e8f0 c008000006570000 c008000006550000
[ 1.130837] GPR08: c008000009670000 c0000018e8d0e098 c0000018e8d0e5f8 c0000018e8ca93f0
[ 1.130837] GPR12: c0000000003bc860 c00000001ec4e200 c000000000160188 c0000018f4044d00
[ 1.130837] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 1.130837] GPR20: 0000000000000000 0000000000000000 c000000001485108 c0000000019620d8
[ 1.130837] GPR24: c000000001962464 0000000000000800 0000000000000001 0000000000001800
[ 1.130837] GPR28: c000000001ccc0a8 c000000001ccc080 c0000018e8d2e8b8 c0000018e8d2e8d8
[ 1.130899] NIP [c0000000003bcc48] __free_vmap_area+0xf8/0x480
[ 1.130906] LR [c0000000003bcbc4] __free_vmap_area+0x74/0x480
[ 1.130912] Call Trace:
[ 1.130916] [c0000018ec787a70] [c0000000003bcf70] __free_vmap_area+0x420/0x480 (unreliable)
[ 1.130924] [c0000018ec787ac0] [c0000000003bd0e4] __purge_vmap_area_lazy+0x114/0x1e0
[ 1.130932] [c0000018ec787b10] [c0000000003bef44] _vm_unmap_aliases+0x1a4/0x210
[ 1.130939] [c0000018ec787b90] [c0000000003c1c48] __vunmap+0xe8/0x220
[ 1.130946] [c0000018ec787c20] [c00000000021102c] module_memfree+0x3c/0x50
[ 1.130953] [c0000018ec787c40] [c0000000002110ac] do_free_init+0x6c/0xa0
[ 1.130964] [c0000018ec787c70] [c000000000156df0] process_one_work+0x260/0x520
[ 1.130976] [c0000018ec787d10] [c000000000157138] worker_thread+0x88/0x5f0
[ 1.130985] [c0000018ec787db0] [c000000000160328] kthread+0x1a8/0x1b0
[ 1.130996] [c0000018ec787e20] [c00000000000ba54] ret_from_kernel_thread+0x5c/0x68
[ 1.131004] Instruction dump:
[ 1.131011] e9292c90 2fa90000 419e0378 e8fe0000 e8de0008 60000000 e909ffe8 e949ffe0
[ 1.131021] 7fa74040 409c0014 7faa3040 409c002c <0fe00000> 60000000 7faa3040 409cfff4
[ 1.131032] ---[ end trace b0b43434aedbb78e ]---
[ 1.133448]
[ 2.133462] Kernel panic - not syncing: Fatal exception
[ 2.141765] WARNING: CPU: 23 PID: 127 at drivers/tty/vt/vt.c:4234 do_unblank_screen+0x190/0x250
[ 2.141775] Modules linked in: ibmvscsi(+) ibmveth scsi_transport_srp
[ 2.141785] CPU: 23 PID: 127 Comm: kworker/23:0 Tainted: G D 5.2.0-rc3-next-20190603 #1
[ 2.141796] Workqueue: events do_free_init
[ 2.141802] NIP: c0000000007718a0 LR: c00000000077188c CTR: c000000000c06d30
[ 2.141810] REGS: c0000018ec7872c0 TRAP: 0700 Tainted: G D (5.2.0-rc3-next-20190603)
[ 2.141818] MSR: 8000000000021033 <SF,ME,IR,DR,RI,LE> CR: 28002242 XER: 2004000c
[ 2.141830] CFAR: c0000000001b54e8 IRQMASK: 3
[ 2.141830] GPR00: c00000000077188c c0000018ec787550 c000000001929400 0000000000000000
[ 2.141830] GPR04: 0000000000000003 c0000018e392e00e 0000000000001dd7 c0000018ec787490
[ 2.141830] GPR08: c0000000017e3258 0000000000000000 0000000000000000 c0000018ec78730f
[ 2.141830] GPR12: 0000000028002448 c00000001ec4e200 c000000000160188 c0000018f4044d00
[ 2.141830] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 2.141830] GPR20: 0000000000000000 0000000000000000 c000000001485108 c0000000019620d8
[ 2.141830] GPR24: c000000001962464 0000000000000800 c0000000017f3b20 0000000000001800
[ 2.141830] GPR28: c000000001b066c0 c000000001b06698 0000000000000000 c000000001c15100
[ 2.141899] NIP [c0000000007718a0] do_unblank_screen+0x190/0x250
[ 2.141906] LR [c00000000077188c] do_unblank_screen+0x17c/0x250
[ 2.141912] Call Trace:
[ 2.141917] [c0000018ec787550] [c0000000007718bc] do_unblank_screen+0x1ac/0x250 (unreliable)
[ 2.141928] [c0000018ec7875d0] [c00000000012b504] panic+0x1dc/0x408
[ 2.141937] [c0000018ec787670] [c00000000002db70] oops_end+0x1b0/0x1c0
[ 2.141945] [c0000018ec7876f0] [c0000000000307a0] program_check_exception+0x2c0/0x3c0
[ 2.141954] [c0000018ec787770] [c000000000008f54] program_check_common+0x154/0x160
[ 2.141965] --- interrupt: 700 at __free_vmap_area+0xf8/0x480
[ 2.141965] LR = __free_vmap_area+0x74/0x480
[ 2.141976] [c0000018ec787a70] [c0000000003bcf70] __free_vmap_area+0x420/0x480 (unreliable)
[ 2.141985] [c0000018ec787ac0] [c0000000003bd0e4] __purge_vmap_area_lazy+0x114/0x1e0
[ 2.141995] [c0000018ec787b10] [c0000000003bef44] _vm_unmap_aliases+0x1a4/0x210
[ 2.142004] [c0000018ec787b90] [c0000000003c1c48] __vunmap+0xe8/0x220
[ 2.142012] [c0000018ec787c20] [c00000000021102c] module_memfree+0x3c/0x50
[ 2.142020] [c0000018ec787c40] [c0000000002110ac] do_free_init+0x6c/0xa0
[ 2.142029] [c0000018ec787c70] [c000000000156df0] process_one_work+0x260/0x520
[ 2.142038] [c0000018ec787d10] [c000000000157138] worker_thread+0x88/0x5f0
[ 2.142046] [c0000018ec787db0] [c000000000160328] kthread+0x1a8/0x1b0
[ 2.142054] [c0000018ec787e20] [c00000000000ba54] ret_from_kernel_thread+0x5c/0x68
[ 2.142062] Instruction dump:
[ 2.142067] 4e800020 60000000 60000000 60000000 7c0802a6 f8010090 4ba43c51 60000000
[ 2.142078] 813f0000 7d231b78 2f830000 409e0034 <0fe00000> e8010090 7c0803a6 4bfffeac
[ 2.142090] ---[ end trace b0b43434aedbb78f ]---
[ 2.142097] Rebooting in 10 seconds..
^ permalink raw reply
* [PowerPC][next-20190603] WARNING: at kernel/fork.c:721
From: Sachin Sant @ 2019-06-04 9:24 UTC (permalink / raw)
To: linuxppc-dev, linux-kernel; +Cc: linux-next
While booting linux-next [20190603] on a POWER9 LPAR ran into
following warning
[ 9.002935] WARNING: CPU: 0 PID: 1 at kernel/fork.c:721 __put_task_struct+0x34/0x170
[ 9.002947] Modules linked in: dm_mirror dm_region_hash dm_log dm_mod
[ 9.002960] CPU: 0 PID: 1 Comm: systemd Not tainted 5.2.0-rc3-next-20190603-autotest #1
[ 9.002971] NIP: c0000000001191e4 LR: c00000000020c53c CTR: 0000000000000000
[ 9.002980] REGS: c0000008b2783810 TRAP: 0700 Not tainted (5.2.0-rc3-next-20190603-autotest)
[ 9.002990] MSR: 8000000000029033 <SF,EE,ME,IR,DR,RI,LE> CR: 24222842 XER: 20040000
[ 9.003004] CFAR: c00000000020c538 IRQMASK: 0
[ 9.003004] GPR00: c00000000020c53c c0000008b2783aa0 c00000000138ca00 c0000008b92e19f8
[ 9.003004] GPR04: c0000008b2783b98 c0000008b2783b98 c0000008b92e24b0 0000000000000000
[ 9.003004] GPR08: 0000000000000000 0000000000000001 0000000000000000 c000000000a81060
[ 9.003004] GPR12: 0000000024224842 c0000000017c0000 0000000000000000 0000000000000000
[ 9.003004] GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000001
[ 9.003004] GPR20: 0000000000000000 00007fff95f90000 c0000008b2756dc0 c0000008b2783df0
[ 9.003004] GPR24: 0000000000002000 c0000008ad74d200 c0000008b926a218 0000000000000000
[ 9.003004] GPR28: c0000008b92e1400 0000000000000000 0000000000000000 c0000008b92e19f8
[ 9.003083] NIP [c0000000001191e4] __put_task_struct+0x34/0x170
[ 9.003094] LR [c00000000020c53c] css_task_iter_end+0x11c/0x1b0
[ 9.003101] Call Trace:
[ 9.003108] [c0000008b2783aa0] [c0000008b92e1400] 0xc0000008b92e1400 (unreliable)
[ 9.003119] [c0000008b2783ad0] [c00000000020c53c] css_task_iter_end+0x11c/0x1b0
[ 9.003129] [c0000008b2783b10] [c00000000020f60c] pidlist_array_load+0x12c/0x390
[ 9.003140] [c0000008b2783bf0] [c00000000020fa20] cgroup_pidlist_start+0x1b0/0x1e0
[ 9.003151] [c0000008b2783c40] [c0000000001ffd98] cgroup_seqfile_start+0x38/0x50
[ 9.003163] [c0000008b2783c60] [c00000000049c270] kernfs_seq_start+0x80/0x120
[ 9.003175] [c0000008b2783ca0] [c0000000003fea08] seq_read+0x208/0x540
[ 9.003184] [c0000008b2783d20] [c00000000049cdd4] kernfs_fop_read+0x1a4/0x260
[ 9.003196] [c0000008b2783d70] [c0000000003c3cec] __vfs_read+0x3c/0x70
[ 9.003205] [c0000008b2783d90] [c0000000003c3dd4] vfs_read+0xb4/0x1b0
[ 9.003214] [c0000008b2783dd0] [c0000000003c42bc] ksys_read+0x7c/0x130
[ 9.003224] [c0000008b2783e20] [c00000000000b688] system_call+0x5c/0x70
[ 9.003232] Instruction dump:
[ 9.003237] 38423850 7c0802a6 60000000 7c0802a6 fbc1fff0 fbe1fff8 f8010010 f821ffd1
[ 9.003251] 7c7f1b78 8123067c 7d290034 5529d97e <0b090000> 81230110 7d290034 5529d97e
[ 9.003264] ---[ end trace 2194bb4cf2567482 ]—
Have not seen this warning previously and is new with this next build.
void __put_task_struct(struct task_struct *tsk)
{
WARN_ON(!tsk->exit_state); <<==
WARN_ON(refcount_read(&tsk->usage));
Since I am running into various boot failures with next tree for last week or so
am not able to bisect.
Thanks
-Sachin
^ permalink raw reply
* Re: [PATCH 09/22] docs: mark orphan documents as such
From: Mauro Carvalho Chehab @ 2019-06-04 10:10 UTC (permalink / raw)
To: Christophe Leroy
Cc: kvm, Radim Krčmář, Maxime Ripard, dri-devel,
platform-driver-x86, Paul Mackerras, linux-stm32,
Andrew Donnellan, Jonathan Corbet, Linux Doc Mailing List,
David Airlie, Alexandre Torgue, linux-pm, Maarten Lankhorst,
Matan Ziv-Av, Mauro Carvalho Chehab, Daniel Vetter, Sean Paul,
linux-arm-kernel, linux-kernel, Maxime Coquelin, Frederic Barrat,
Paolo Bonzini, linuxppc-dev, Georgi Djakov
In-Reply-To: <2891a08c-50b1-db33-0e96-740d45c5235f@c-s.fr>
Em Mon, 3 Jun 2019 09:32:54 +0200
Christophe Leroy <christophe.leroy@c-s.fr> escreveu:
> Le 30/05/2019 à 01:23, Mauro Carvalho Chehab a écrit :
> > Sphinx doesn't like orphan documents:
> >
> > Documentation/accelerators/ocxl.rst: WARNING: document isn't included in any toctree
> > Documentation/arm/stm32/overview.rst: WARNING: document isn't included in any toctree
> > Documentation/arm/stm32/stm32f429-overview.rst: WARNING: document isn't included in any toctree
> > Documentation/arm/stm32/stm32f746-overview.rst: WARNING: document isn't included in any toctree
> > Documentation/arm/stm32/stm32f769-overview.rst: WARNING: document isn't included in any toctree
> > Documentation/arm/stm32/stm32h743-overview.rst: WARNING: document isn't included in any toctree
> > Documentation/arm/stm32/stm32mp157-overview.rst: WARNING: document isn't included in any toctree
> > Documentation/gpu/msm-crash-dump.rst: WARNING: document isn't included in any toctree
> > Documentation/interconnect/interconnect.rst: WARNING: document isn't included in any toctree
> > Documentation/laptops/lg-laptop.rst: WARNING: document isn't included in any toctree
> > Documentation/powerpc/isa-versions.rst: WARNING: document isn't included in any toctree
> > Documentation/virtual/kvm/amd-memory-encryption.rst: WARNING: document isn't included in any toctree
> > Documentation/virtual/kvm/vcpu-requests.rst: WARNING: document isn't included in any toctree
> >
> > So, while they aren't on any toctree, add :orphan: to them, in order
> > to silent this warning.
>
> Are those files really not meant to be included in a toctree ?
>
> Shouldn't we include them in the relevant toctree instead of just
> shutting up Sphinx warnings ?
This is a good point. My understanding is that those orphaned docs
are there for two reasons:
1) someone created a new document as .rst but there's no index.rst file yet,
as there are lots of other documents already there not converted. That's
the case, for example, of the ones under Documentation/arm;
2) They're part of an undergoing effort of converting stuff to ReST.
One opted to keep it orphaned temporarily in order to avoid merge
conflicts.
That's said, I have myself a big (/86 patches and growing) series
with do a huge step on txt->rst conversion (it covers a significant
amount of documentation). On this series, I'm removing the orphaned
tags for several files (including, for example, those at Documentation/arm).
Yet, it is a lot easier to see if such series is not introducing
warnings regressions if we first address those.
It should be notice that discovering the orphaned files should be as
simple as:
git grep -l ":orphan:" Documentation
>
> Christophe
>
> >
> > Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> > ---
> > Documentation/accelerators/ocxl.rst | 2 ++
> > Documentation/arm/stm32/overview.rst | 2 ++
> > Documentation/arm/stm32/stm32f429-overview.rst | 2 ++
> > Documentation/arm/stm32/stm32f746-overview.rst | 2 ++
> > Documentation/arm/stm32/stm32f769-overview.rst | 2 ++
> > Documentation/arm/stm32/stm32h743-overview.rst | 2 ++
> > Documentation/arm/stm32/stm32mp157-overview.rst | 2 ++
> > Documentation/gpu/msm-crash-dump.rst | 2 ++
> > Documentation/interconnect/interconnect.rst | 2 ++
> > Documentation/laptops/lg-laptop.rst | 2 ++
> > Documentation/powerpc/isa-versions.rst | 2 ++
> > Documentation/virtual/kvm/amd-memory-encryption.rst | 2 ++
> > Documentation/virtual/kvm/vcpu-requests.rst | 2 ++
> > 13 files changed, 26 insertions(+)
> >
> > diff --git a/Documentation/accelerators/ocxl.rst b/Documentation/accelerators/ocxl.rst
> > index 14cefc020e2d..b1cea19a90f5 100644
> > --- a/Documentation/accelerators/ocxl.rst
> > +++ b/Documentation/accelerators/ocxl.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > ========================================================
> > OpenCAPI (Open Coherent Accelerator Processor Interface)
> > ========================================================
> > diff --git a/Documentation/arm/stm32/overview.rst b/Documentation/arm/stm32/overview.rst
> > index 85cfc8410798..f7e734153860 100644
> > --- a/Documentation/arm/stm32/overview.rst
> > +++ b/Documentation/arm/stm32/overview.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > ========================
> > STM32 ARM Linux Overview
> > ========================
> > diff --git a/Documentation/arm/stm32/stm32f429-overview.rst b/Documentation/arm/stm32/stm32f429-overview.rst
> > index 18feda97f483..65bbb1c3b423 100644
> > --- a/Documentation/arm/stm32/stm32f429-overview.rst
> > +++ b/Documentation/arm/stm32/stm32f429-overview.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > STM32F429 Overview
> > ==================
> >
> > diff --git a/Documentation/arm/stm32/stm32f746-overview.rst b/Documentation/arm/stm32/stm32f746-overview.rst
> > index b5f4b6ce7656..42d593085015 100644
> > --- a/Documentation/arm/stm32/stm32f746-overview.rst
> > +++ b/Documentation/arm/stm32/stm32f746-overview.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > STM32F746 Overview
> > ==================
> >
> > diff --git a/Documentation/arm/stm32/stm32f769-overview.rst b/Documentation/arm/stm32/stm32f769-overview.rst
> > index 228656ced2fe..f6adac862b17 100644
> > --- a/Documentation/arm/stm32/stm32f769-overview.rst
> > +++ b/Documentation/arm/stm32/stm32f769-overview.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > STM32F769 Overview
> > ==================
> >
> > diff --git a/Documentation/arm/stm32/stm32h743-overview.rst b/Documentation/arm/stm32/stm32h743-overview.rst
> > index 3458dc00095d..c525835e7473 100644
> > --- a/Documentation/arm/stm32/stm32h743-overview.rst
> > +++ b/Documentation/arm/stm32/stm32h743-overview.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > STM32H743 Overview
> > ==================
> >
> > diff --git a/Documentation/arm/stm32/stm32mp157-overview.rst b/Documentation/arm/stm32/stm32mp157-overview.rst
> > index 62e176d47ca7..2c52cd020601 100644
> > --- a/Documentation/arm/stm32/stm32mp157-overview.rst
> > +++ b/Documentation/arm/stm32/stm32mp157-overview.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > STM32MP157 Overview
> > ===================
> >
> > diff --git a/Documentation/gpu/msm-crash-dump.rst b/Documentation/gpu/msm-crash-dump.rst
> > index 757cd257e0d8..240ef200f76c 100644
> > --- a/Documentation/gpu/msm-crash-dump.rst
> > +++ b/Documentation/gpu/msm-crash-dump.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > =====================
> > MSM Crash Dump Format
> > =====================
> > diff --git a/Documentation/interconnect/interconnect.rst b/Documentation/interconnect/interconnect.rst
> > index c3e004893796..56e331dab70e 100644
> > --- a/Documentation/interconnect/interconnect.rst
> > +++ b/Documentation/interconnect/interconnect.rst
> > @@ -1,5 +1,7 @@
> > .. SPDX-License-Identifier: GPL-2.0
> >
> > +:orphan:
> > +
> > =====================================
> > GENERIC SYSTEM INTERCONNECT SUBSYSTEM
> > =====================================
> > diff --git a/Documentation/laptops/lg-laptop.rst b/Documentation/laptops/lg-laptop.rst
> > index aa503ee9b3bc..f2c2ffe31101 100644
> > --- a/Documentation/laptops/lg-laptop.rst
> > +++ b/Documentation/laptops/lg-laptop.rst
> > @@ -1,5 +1,7 @@
> > .. SPDX-License-Identifier: GPL-2.0+
> >
> > +:orphan:
> > +
> > LG Gram laptop extra features
> > =============================
> >
> > diff --git a/Documentation/powerpc/isa-versions.rst b/Documentation/powerpc/isa-versions.rst
> > index 812e20cc898c..66c24140ebf1 100644
> > --- a/Documentation/powerpc/isa-versions.rst
> > +++ b/Documentation/powerpc/isa-versions.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > CPU to ISA Version Mapping
> > ==========================
> >
> > diff --git a/Documentation/virtual/kvm/amd-memory-encryption.rst b/Documentation/virtual/kvm/amd-memory-encryption.rst
> > index 659bbc093b52..33d697ab8a58 100644
> > --- a/Documentation/virtual/kvm/amd-memory-encryption.rst
> > +++ b/Documentation/virtual/kvm/amd-memory-encryption.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > ======================================
> > Secure Encrypted Virtualization (SEV)
> > ======================================
> > diff --git a/Documentation/virtual/kvm/vcpu-requests.rst b/Documentation/virtual/kvm/vcpu-requests.rst
> > index 5feb3706a7ae..c1807a1b92e6 100644
> > --- a/Documentation/virtual/kvm/vcpu-requests.rst
> > +++ b/Documentation/virtual/kvm/vcpu-requests.rst
> > @@ -1,3 +1,5 @@
> > +:orphan:
> > +
> > =================
> > KVM VCPU Requests
> > =================
> >
Thanks,
Mauro
^ permalink raw reply
* [PATCH 05/15] kbuild: add CONFIG_HEADERS_INSTALL and loosen the dependency of samples
From: Masahiro Yamada @ 2019-06-04 10:13 UTC (permalink / raw)
To: linux-kbuild
Cc: Heiko Carstens, David Howells, Masahiro Yamada, Paul Mackerras,
Vincent Chen, Sam Ravnborg, linux-s390, Arnd Bergmann,
Helge Deller, Christian Borntraeger, linux-snps-arc,
Vasily Gorbik, Jani Nikula, Greentime Hu, James E.J. Bottomley,
Michal Marek, linux-parisc, Vineet Gupta, Randy Dunlap,
linux-kernel, linuxppc-dev
In-Reply-To: <20190604101409.2078-1-yamada.masahiro@socionext.com>
Commit 5318321d367c ("samples: disable CONFIG_SAMPLES for UML") used
a big hammer to fix the build errors under the samples/ directory,
while only some samples actually include uapi headers from usr/include.
Introduce CONFIG_HEADERS_INSTALL since 'depends on HEADERS_INSTALL' is
clearer than 'depends on !UML'. If this option is enabled, uapi headers
are installed before starting directory descending.
I added 'depends on HEADERS_INSTALL' to per-sample CONFIG options.
This allows UML to compile some samples.
$ make ARCH=um allmodconfig samples/
[ snip ]
CC [M] samples/configfs/configfs_sample.o
CC [M] samples/kfifo/bytestream-example.o
CC [M] samples/kfifo/dma-example.o
CC [M] samples/kfifo/inttype-example.o
CC [M] samples/kfifo/record-example.o
CC [M] samples/kobject/kobject-example.o
CC [M] samples/kobject/kset-example.o
CC [M] samples/trace_events/trace-events-sample.o
CC [M] samples/trace_printk/trace-printk.o
AR samples/vfio-mdev/built-in.a
AR samples/built-in.a
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
Makefile | 8 ++++----
arch/arc/configs/tb10x_defconfig | 1 +
arch/nds32/configs/defconfig | 1 +
arch/parisc/configs/a500_defconfig | 1 +
arch/parisc/configs/b180_defconfig | 1 +
arch/parisc/configs/c3000_defconfig | 1 +
arch/parisc/configs/default_defconfig | 1 +
arch/powerpc/configs/ppc6xx_defconfig | 1 +
arch/s390/configs/debug_defconfig | 1 +
lib/Kconfig.debug | 19 ++++++++++++++-----
samples/Kconfig | 14 +++++++++++---
samples/Makefile | 4 ++--
12 files changed, 39 insertions(+), 14 deletions(-)
diff --git a/Makefile b/Makefile
index 8348939765d3..ce5a9551860d 100644
--- a/Makefile
+++ b/Makefile
@@ -1053,9 +1053,6 @@ vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
targets := vmlinux
-# Some samples need headers_install.
-samples: headers_install
-
# The actual objects are generated when descending,
# make sure no implicit rule kicks in
$(sort $(vmlinux-deps)): $(vmlinux-dirs) ;
@@ -1199,6 +1196,10 @@ headers_check: headers_install
$(Q)$(MAKE) $(hdr-inst)=include/uapi dst=include HDRCHECK=1
$(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi dst=include HDRCHECK=1
+ifdef CONFIG_HEADERS_INSTALL
+prepare: headers_install
+endif
+
ifdef CONFIG_HEADERS_CHECK
all: headers_check
endif
@@ -1745,7 +1746,6 @@ build-dir = $(patsubst %/,%,$(dir $(build-target)))
PHONY += /
/: ./
-samples/: headers_install
%/: prepare FORCE
$(Q)$(MAKE) KBUILD_MODULES=1 $(build)=$(build-dir)
diff --git a/arch/arc/configs/tb10x_defconfig b/arch/arc/configs/tb10x_defconfig
index 5b5119d2b5d5..dc739bd093e3 100644
--- a/arch/arc/configs/tb10x_defconfig
+++ b/arch/arc/configs/tb10x_defconfig
@@ -94,6 +94,7 @@ CONFIG_CONFIGFS_FS=y
CONFIG_DEBUG_INFO=y
CONFIG_STRIP_ASM_SYMS=y
CONFIG_DEBUG_FS=y
+CONFIG_HEADERS_INSTALL=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_MAGIC_SYSRQ=y
diff --git a/arch/nds32/configs/defconfig b/arch/nds32/configs/defconfig
index 65ce9259081b..40313a635075 100644
--- a/arch/nds32/configs/defconfig
+++ b/arch/nds32/configs/defconfig
@@ -92,6 +92,7 @@ CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_DWARF4=y
CONFIG_GDB_SCRIPTS=y
CONFIG_READABLE_ASM=y
+CONFIG_HEADERS_INSTALL=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_MAGIC_SYSRQ=y
diff --git a/arch/parisc/configs/a500_defconfig b/arch/parisc/configs/a500_defconfig
index 5acb93dcaabf..390c0bc09179 100644
--- a/arch/parisc/configs/a500_defconfig
+++ b/arch/parisc/configs/a500_defconfig
@@ -167,6 +167,7 @@ CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_UTF8=m
CONFIG_DEBUG_FS=y
+CONFIG_HEADERS_INSTALL=y
CONFIG_HEADERS_CHECK=y
CONFIG_MAGIC_SYSRQ=y
# CONFIG_DEBUG_BUGVERBOSE is not set
diff --git a/arch/parisc/configs/b180_defconfig b/arch/parisc/configs/b180_defconfig
index 83ffd161aec5..bdf1fe2b217f 100644
--- a/arch/parisc/configs/b180_defconfig
+++ b/arch/parisc/configs/b180_defconfig
@@ -91,6 +91,7 @@ CONFIG_NLS_ASCII=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_UTF8=m
+CONFIG_HEADERS_INSTALL=y
CONFIG_HEADERS_CHECK=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
diff --git a/arch/parisc/configs/c3000_defconfig b/arch/parisc/configs/c3000_defconfig
index 8d41a73bd71b..ed4d49575b38 100644
--- a/arch/parisc/configs/c3000_defconfig
+++ b/arch/parisc/configs/c3000_defconfig
@@ -140,6 +140,7 @@ CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_UTF8=m
CONFIG_DEBUG_FS=y
+CONFIG_HEADERS_INSTALL=y
CONFIG_HEADERS_CHECK=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_MUTEXES=y
diff --git a/arch/parisc/configs/default_defconfig b/arch/parisc/configs/default_defconfig
index 52c9050a7c5c..fcfd9eaadf9b 100644
--- a/arch/parisc/configs/default_defconfig
+++ b/arch/parisc/configs/default_defconfig
@@ -184,6 +184,7 @@ CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_UTF8=y
CONFIG_DEBUG_FS=y
+CONFIG_HEADERS_INSTALL=y
CONFIG_HEADERS_CHECK=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
diff --git a/arch/powerpc/configs/ppc6xx_defconfig b/arch/powerpc/configs/ppc6xx_defconfig
index 7c6baf6df139..463aa3e53084 100644
--- a/arch/powerpc/configs/ppc6xx_defconfig
+++ b/arch/powerpc/configs/ppc6xx_defconfig
@@ -1124,6 +1124,7 @@ CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_DEBUG_INFO=y
CONFIG_UNUSED_SYMBOLS=y
+CONFIG_HEADERS_INSTALL=y
CONFIG_HEADERS_CHECK=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_DEBUG_KERNEL=y
diff --git a/arch/s390/configs/debug_defconfig b/arch/s390/configs/debug_defconfig
index b0920b35f87b..994e03fad424 100644
--- a/arch/s390/configs/debug_defconfig
+++ b/arch/s390/configs/debug_defconfig
@@ -586,6 +586,7 @@ CONFIG_GDB_SCRIPTS=y
CONFIG_FRAME_WARN=1024
CONFIG_READABLE_ASM=y
CONFIG_UNUSED_SYMBOLS=y
+CONFIG_HEADERS_INSTALL=y
CONFIG_HEADERS_CHECK=y
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_MAGIC_SYSRQ=y
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 7cdcb962358c..6a6ea4219d1e 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -305,14 +305,23 @@ config DEBUG_FS
If unsure, say N.
+config HEADERS_INSTALL
+ bool "Install uapi headers to usr/include"
+ depends on !UML
+ help
+ This option will install uapi headers (headers exported to user-space)
+ into the usr/include directory for use during the kernel build.
+ This is unneeded for building the kernel itself, but needed for some
+ user-space program samples. It is also needed by some features such
+ as uapi header sanity checks.
+
config HEADERS_CHECK
bool "Run sanity checks on uapi headers when building 'all'"
- depends on !UML
+ depends on HEADERS_INSTALL
help
- This option will extract the user-visible kernel headers when
- building the 'all' target, and will run basic sanity checks on them to
- ensure that exported files do not attempt to include files which
- were not exported, etc.
+ This option will run basic sanity checks on uapi headers when
+ building the 'all' target, for example, ensure that they do not
+ attempt to include files which were not exported, etc.
If you're making modifications to header files which are
relevant for userspace, say 'Y', and check the headers
diff --git a/samples/Kconfig b/samples/Kconfig
index d63cc8a3e0df..71b5e833dd9e 100644
--- a/samples/Kconfig
+++ b/samples/Kconfig
@@ -1,7 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-only
menuconfig SAMPLES
bool "Sample kernel code"
- depends on !UML
help
You can build and test sample kernel code here.
@@ -95,16 +94,24 @@ config SAMPLE_CONFIGFS
config SAMPLE_CONNECTOR
tristate "Build connector sample -- loadable modules only"
- depends on CONNECTOR && m
+ depends on CONNECTOR && HEADERS_INSTALL && m
help
When enabled, this builds both a sample kernel module for
the connector interface and a user space tool to communicate
with it.
See also Documentation/connector/connector.txt
+config SAMPLE_HIDRAW
+ bool "hidraw sample"
+ depends on HEADERS_INSTALL
+
+config SAMPLE_PIDFD
+ bool "pidfd sample"
+ depends on HEADERS_INSTALL
+
config SAMPLE_SECCOMP
bool "Build seccomp sample code"
- depends on SECCOMP_FILTER
+ depends on SECCOMP_FILTER && HEADERS_INSTALL
help
Build samples of seccomp filters using various methods of
BPF filter construction.
@@ -156,6 +163,7 @@ config SAMPLE_ANDROID_BINDERFS
config SAMPLE_VFS
bool "Build example programs that use new VFS system calls"
+ depends on HEADERS_INSTALL
help
Build example userspace programs that use new VFS system calls such
as mount API and statx(). Note that this is restricted to the x86
diff --git a/samples/Makefile b/samples/Makefile
index debf8925f06f..7d6e4ca28d69 100644
--- a/samples/Makefile
+++ b/samples/Makefile
@@ -4,14 +4,14 @@
obj-$(CONFIG_SAMPLE_ANDROID_BINDERFS) += binderfs/
obj-$(CONFIG_SAMPLE_CONFIGFS) += configfs/
obj-$(CONFIG_SAMPLE_CONNECTOR) += connector/
-subdir-y += hidraw
+subdir-$(CONFIG_SAMPLE_HIDRAW) += hidraw
obj-$(CONFIG_SAMPLE_HW_BREAKPOINT) += hw_breakpoint/
obj-$(CONFIG_SAMPLE_KDB) += kdb/
obj-$(CONFIG_SAMPLE_KFIFO) += kfifo/
obj-$(CONFIG_SAMPLE_KOBJECT) += kobject/
obj-$(CONFIG_SAMPLE_KPROBES) += kprobes/
obj-$(CONFIG_SAMPLE_LIVEPATCH) += livepatch/
-subdir-y += pidfd
+subdir-$(CONFIG_SAMPLE_PIDFD) += pidfd
obj-$(CONFIG_SAMPLE_QMI_CLIENT) += qmi/
obj-$(CONFIG_SAMPLE_RPMSG_CLIENT) += rpmsg/
subdir-$(CONFIG_SAMPLE_SECCOMP) += seccomp
--
2.17.1
^ permalink raw reply related
* [PATCH 00/15] kbuild: refactor headers_install and support compile-test of UAPI headers
From: Masahiro Yamada @ 2019-06-04 10:13 UTC (permalink / raw)
To: linux-kbuild
Cc: Song Liu, linux-doc, Palmer Dabbelt, Heiko Carstens,
Alexei Starovoitov, David Howells, Masahiro Yamada,
Paul Mackerras, linux-riscv, Vincent Chen, Sam Ravnborg,
linux-s390, Vasily Gorbik, Daniel Borkmann, Jonathan Corbet,
Helge Deller, Christian Borntraeger, Yonghong Song,
linux-snps-arc, Albert Ou, Arnd Bergmann, Jani Nikula,
Greentime Hu, James E.J. Bottomley, Michal Marek, linux-parisc,
Vineet Gupta, Randy Dunlap, linux-kernel, netdev, bpf,
linuxppc-dev, Martin KaFai Lau
Multiple people have suggested to compile-test UAPI headers.
Currently, Kbuild provides simple sanity checks by headers_check
but they are not enough to catch bugs.
The most recent patch I know is David Howells' work:
https://patchwork.kernel.org/patch/10590203/
I agree that we need better tests for UAPI headers,
but I want to integrate it in a clean way.
The idea that has been in my mind is to compile each header
to make sure the selfcontainedness.
Recently, Jani Nikula proposed a new syntax 'header-test-y'.
https://patchwork.kernel.org/patch/10947005/
So, I implemented UAPI compile-testing on top of that.
When adding a new feature, cleaning the code first is a
good practice.
[1] Remove headers_install_all
This target installs UAPI headers of all architectures
in a single tree.
It does not make sense to compile test of headers from
multiple arches at the same time. Hence, removed.
[2] Split header installation into 'make headers' and 'make headers_install'
To compile-test UAPI headers, we need a work-directory somewhere
to save objects and .*.cmd files.
usr/include/ will be the work-directory.
Since we cannot pollute the final destination of headers_install,
I split the header installation into two stages.
'make headers' will build up
the ready-to-install headers in usr/include,
which will be also used as a work-directory for the compile-test.
'make headers_install' will copy headers
from usr/include to $(INSTALL_HDR_PATH)/include.
[3] Support compile-test of UAPI headers
This is implemented in usr/include/Makefile
Jani Nikula (1):
kbuild: add support for ensuring headers are self-contained
Masahiro Yamada (14):
kbuild: remove headers_{install,check}_all
kbuild: remove stale dependency between Documentation/ and
headers_install
kbuild: make gdb_script depend on prepare0 instead of prepare
kbuild: fix Kconfig prompt of CONFIG_HEADERS_CHECK
kbuild: add CONFIG_HEADERS_INSTALL and loosen the dependency of
samples
kbuild: remove build_unifdef target in scripts/Makefile
kbuild: build all prerequisite of headers_install simultaneously
kbuild: add 'headers' target to build up ready-to-install uapi headers
kbuild: re-implement Makefile.headersinst without directory descending
kbuild: move hdr-inst shorthand to top Makefile
kbuild: simplify scripts/headers_install.sh
kbuild: deb-pkg: do not run headers_check
fixup: kbuild: add support for ensuring headers are self-contained
kbuild: compile test UAPI headers to ensure they are self-contained
Documentation/kbuild/headers_install.txt | 7 --
Documentation/kbuild/makefiles.txt | 13 ++-
Makefile | 56 +++++-----
arch/arc/configs/tb10x_defconfig | 1 +
arch/nds32/configs/defconfig | 1 +
arch/parisc/configs/a500_defconfig | 1 +
arch/parisc/configs/b180_defconfig | 1 +
arch/parisc/configs/c3000_defconfig | 1 +
arch/parisc/configs/default_defconfig | 1 +
arch/powerpc/configs/ppc6xx_defconfig | 1 +
arch/s390/configs/debug_defconfig | 1 +
include/uapi/{linux => }/Kbuild | 6 +-
init/Kconfig | 20 ++++
lib/Kconfig.debug | 25 +++--
samples/Kconfig | 14 ++-
samples/Makefile | 4 +-
scripts/Kbuild.include | 6 --
scripts/Makefile | 5 -
scripts/Makefile.build | 9 ++
scripts/Makefile.headersinst | 132 ++++++++++-------------
scripts/Makefile.lib | 3 +
scripts/cc-system-headers.sh | 8 ++
scripts/headers.sh | 29 -----
scripts/headers_install.sh | 48 ++++-----
scripts/package/builddeb | 2 +-
usr/.gitignore | 1 -
usr/Makefile | 2 +
usr/include/.gitignore | 3 +
usr/include/Makefile | 132 +++++++++++++++++++++++
29 files changed, 329 insertions(+), 204 deletions(-)
rename include/uapi/{linux => }/Kbuild (77%)
create mode 100755 scripts/cc-system-headers.sh
delete mode 100755 scripts/headers.sh
create mode 100644 usr/include/.gitignore
create mode 100644 usr/include/Makefile
--
2.17.1
^ permalink raw reply
* Re: [POWERPC][next-20190603] Boot failure : Kernel BUG at mm/vmalloc.c:470
From: Stephen Rothwell @ 2019-06-04 10:29 UTC (permalink / raw)
To: Sachin Sant
Cc: linux-mm, linux-next, linuxppc-dev, linux-kernel,
Uladzislau Rezki (Sony)
In-Reply-To: <9F9C0085-F8A4-4B66-802B-382119E34DF5@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 552 bytes --]
Hi Sachin,
On Tue, 4 Jun 2019 14:45:43 +0530 Sachin Sant <sachinp@linux.vnet.ibm.com> wrote:
>
> While booting linux-next [next-20190603] on a POWER9 LPAR following
> BUG is encountered and the boot fails.
>
> If I revert the following 2 patches I no longer see this BUG message
>
> 07031d37b2f9 ( mm/vmalloc.c: switch to WARN_ON() and move it under unlink_va() )
> 728e0fbf263e ( mm/vmalloc.c: get rid of one single unlink_va() when merge )
This latter patch has been fixed in today's linux-next ...
--
Cheers,
Stephen Rothwell
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply
* Re: [PATCH 22/22] docs: fix broken documentation links
From: Mauro Carvalho Chehab @ 2019-06-04 9:46 UTC (permalink / raw)
To: Christophe Leroy
Cc: Andrew Lunn, Thomas Preston, Wolfram Sang, Catalin Marinas,
Linus Walleij, Will Deacon, Russell King, Paul Mackerras,
Alessia Mantegazza, Jakub Wilk, AKASHI Takahiro, Kevin Hilman,
James Morris, linux-acpi, Andy Gross, xen-devel, Jason Wang,
Alexander Popov, Qian Cai, Al Viro, Andy Lutomirski,
Thomas Gleixner, Kairui Song, Quentin Perret, Greg Kroah-Hartman,
Rafael J. Wysocki, linux-kernel, Paul Burton, Jiri Kosina,
Casey Schaufler, Andrew Morton, Lu Baolu, Mark Rutland, Feng Tang,
Linux Doc Mailing List, Dave Hansen, Mimi Zohar, Kamalesh Babulal,
Masahiro Yamada, Yannik Sembritzki, Harry Wei, linux-i2c,
Shuah Khan, Stephen Rothwell, Paul E. McKenney, Alexandre Ghiti,
YueHaibing, Robert Moore, Bartosz Golaszewski, Len Brown,
David Brown, Joerg Roedel, linux-arm-msm, Mauro Carvalho Chehab,
linux-gpio, Claudiu Manoil, Florian Fainelli, Jacek Anaszewski,
Bjorn Helgaas, linux-amlogic, Boris Ostrovsky, Mika Westerberg,
linux-arm-kernel, Tony Luck, Sean Christopherson, Rob Herring,
James Morse, Robin Murphy, Samuel Mendoza-Jonas, linux-pci,
Bhupesh Sharma, Josh Poimboeuf, platform-driver-x86, Ding Xiang,
linux-kselftest, Alex Shi, Lorenzo Pieralisi, Baoquan He,
Jonathan Corbet, Raphael Gault, Joel Stanley, Federico Vaga,
Darren Hart, Erik Schmauss, Serge E. Hallyn, Palmer Dabbelt,
Kees Cook, Bartlomiej Zolnierkiewicz, Jonathan Neuschäfer,
SeongJae Park, Mark Brown, Borislav Petkov, Sunil Muthuswamy,
virtualization, devel, Ard Biesheuvel, Liam Girdwood,
Sakari Ailus, Olof Johansson, Logan Gunthorpe, David S. Miller,
Kirill A. Shutemov, Sven Van Asbroeck, Michal Hocko, kvm,
Michael S. Tsirkin, Peter Zijlstra, Thorsten Leemhuis,
David Howells, linux-mm, H. Peter Anvin, devel, Manfred Spraul,
Luis Chamberlain, x86, Pavel Tatashin, Mike Rapoport, Ingo Molnar,
Dave Young, devicetree, Arnaldo Carvalho de Melo, Jerome Glisse,
Stefano Stabellini, Jonathan Cameron, Dmitry Vyukov, linux-edac,
Juergen Gross, Denis Efremov, netdev, Nicolas Ferre, Changbin Du,
linux-security-module, linuxppc-dev, Andy Shevchenko
In-Reply-To: <64e136de-1a7b-3436-9675-44ea9fa7b64a@c-s.fr>
Em Mon, 3 Jun 2019 09:34:15 +0200
Christophe Leroy <christophe.leroy@c-s.fr> escreveu:
> Le 30/05/2019 à 01:23, Mauro Carvalho Chehab a écrit :
> > Mostly due to x86 and acpi conversion, several documentation
> > links are still pointing to the old file. Fix them.
> >
> > Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
> > ---
> > Documentation/acpi/dsd/leds.txt | 2 +-
> > Documentation/admin-guide/kernel-parameters.rst | 6 +++---
> > Documentation/admin-guide/kernel-parameters.txt | 16 ++++++++--------
> > Documentation/admin-guide/ras.rst | 2 +-
> > .../devicetree/bindings/net/fsl-enetc.txt | 7 +++----
> > .../bindings/pci/amlogic,meson-pcie.txt | 2 +-
> > .../bindings/regulator/qcom,rpmh-regulator.txt | 2 +-
> > Documentation/devicetree/booting-without-of.txt | 2 +-
> > Documentation/driver-api/gpio/board.rst | 2 +-
> > Documentation/driver-api/gpio/consumer.rst | 2 +-
> > .../firmware-guide/acpi/enumeration.rst | 2 +-
> > .../firmware-guide/acpi/method-tracing.rst | 2 +-
> > Documentation/i2c/instantiating-devices | 2 +-
> > Documentation/sysctl/kernel.txt | 4 ++--
> > .../translations/it_IT/process/howto.rst | 2 +-
> > .../it_IT/process/stable-kernel-rules.rst | 4 ++--
> > .../translations/zh_CN/process/4.Coding.rst | 2 +-
> > Documentation/x86/x86_64/5level-paging.rst | 2 +-
> > Documentation/x86/x86_64/boot-options.rst | 4 ++--
> > .../x86/x86_64/fake-numa-for-cpusets.rst | 2 +-
> > MAINTAINERS | 6 +++---
> > arch/arm/Kconfig | 2 +-
> > arch/arm64/kernel/kexec_image.c | 2 +-
> > arch/powerpc/Kconfig | 2 +-
> > arch/x86/Kconfig | 16 ++++++++--------
> > arch/x86/Kconfig.debug | 2 +-
> > arch/x86/boot/header.S | 2 +-
> > arch/x86/entry/entry_64.S | 2 +-
> > arch/x86/include/asm/bootparam_utils.h | 2 +-
> > arch/x86/include/asm/page_64_types.h | 2 +-
> > arch/x86/include/asm/pgtable_64_types.h | 2 +-
> > arch/x86/kernel/cpu/microcode/amd.c | 2 +-
> > arch/x86/kernel/kexec-bzimage64.c | 2 +-
> > arch/x86/kernel/pci-dma.c | 2 +-
> > arch/x86/mm/tlb.c | 2 +-
> > arch/x86/platform/pvh/enlighten.c | 2 +-
> > drivers/acpi/Kconfig | 10 +++++-----
> > drivers/net/ethernet/faraday/ftgmac100.c | 2 +-
> > .../fieldbus/Documentation/fieldbus_dev.txt | 4 ++--
> > drivers/vhost/vhost.c | 2 +-
> > include/acpi/acpi_drivers.h | 2 +-
> > include/linux/fs_context.h | 2 +-
> > include/linux/lsm_hooks.h | 2 +-
> > mm/Kconfig | 2 +-
> > security/Kconfig | 2 +-
> > tools/include/linux/err.h | 2 +-
> > tools/objtool/Documentation/stack-validation.txt | 4 ++--
> > tools/testing/selftests/x86/protection_keys.c | 2 +-
> > 48 files changed, 77 insertions(+), 78 deletions(-)
>
> [...]
>
> > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> > index 8c1c636308c8..e868d2bd48b8 100644
> > --- a/arch/powerpc/Kconfig
> > +++ b/arch/powerpc/Kconfig
> > @@ -898,7 +898,7 @@ config PPC_MEM_KEYS
> > page-based protections, but without requiring modification of the
> > page tables when an application changes protection domains.
> >
> > - For details, see Documentation/vm/protection-keys.rst
> > + For details, see Documentation/x86/protection-keys.rst
>
> It looks strange to reference an x86 file, for powerpc arch.
Indeed. Yet, seeking for the API documented there:
$ git grep -l pkey_mprotect
Documentation/x86/protection-keys.rst
arch/alpha/kernel/syscalls/syscall.tbl
arch/arm/tools/syscall.tbl
arch/arm64/include/asm/unistd32.h
arch/ia64/kernel/syscalls/syscall.tbl
arch/m68k/kernel/syscalls/syscall.tbl
arch/microblaze/kernel/syscalls/syscall.tbl
arch/mips/kernel/syscalls/syscall_n32.tbl
arch/mips/kernel/syscalls/syscall_n64.tbl
arch/mips/kernel/syscalls/syscall_o32.tbl
arch/parisc/kernel/syscalls/syscall.tbl
arch/powerpc/kernel/syscalls/syscall.tbl
arch/s390/kernel/syscalls/syscall.tbl
arch/sh/kernel/syscalls/syscall.tbl
arch/sparc/kernel/syscalls/syscall.tbl
arch/x86/entry/syscalls/syscall_32.tbl
arch/x86/entry/syscalls/syscall_64.tbl
arch/xtensa/kernel/syscalls/syscall.tbl
include/linux/syscalls.h
include/uapi/asm-generic/unistd.h
kernel/sys_ni.c
mm/mprotect.c
tools/include/uapi/asm-generic/unistd.h
tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
tools/perf/builtin-trace.c
tools/testing/selftests/x86/protection_keys.c
Despite being used on several archs, the only documentation for it
is inside the x86 directory, as it seems that this is not
arch-specific.
Perhaps the file should, instead, be moved to another book.
Thanks,
Mauro
^ permalink raw reply
* Re: [PATCH 22/22] docs: fix broken documentation links
From: Mauro Carvalho Chehab @ 2019-06-04 9:58 UTC (permalink / raw)
To: Christophe Leroy
Cc: Andrew Lunn, Thomas Preston, Wolfram Sang, Catalin Marinas,
Linus Walleij, Will Deacon, Russell King, Paul Mackerras,
Alessia Mantegazza, Jakub Wilk, AKASHI Takahiro, Kevin Hilman,
James Morris, linux-acpi, Andy Gross, xen-devel, Jason Wang,
Alexander Popov, Qian Cai, Al Viro, Andy Lutomirski,
Thomas Gleixner, Kairui Song, Quentin Perret, Greg Kroah-Hartman,
Rafael J. Wysocki, linux-kernel, Paul Burton, Jiri Kosina,
Casey Schaufler, Andrew Morton, Lu Baolu, Mark Rutland, Feng Tang,
Linux Doc Mailing List, Dave Hansen, Mimi Zohar, Kamalesh Babulal,
Masahiro Yamada, Yannik Sembritzki, Harry Wei, linux-i2c,
Shuah Khan, Stephen Rothwell, Paul E. McKenney, Alexandre Ghiti,
YueHaibing, Robert Moore, Bartosz Golaszewski, Len Brown,
David Brown, Joerg Roedel, linux-arm-msm, linux-gpio,
Claudiu Manoil, Florian Fainelli, Jacek Anaszewski, Bjorn Helgaas,
linux-amlogic, Boris Ostrovsky, Mika Westerberg, linux-arm-kernel,
Tony Luck, Sean Christopherson, Rob Herring, James Morse,
Robin Murphy, Samuel Mendoza-Jonas, linux-pci, Bhupesh Sharma,
Josh Poimboeuf, platform-driver-x86, Ding Xiang, linux-kselftest,
Alex Shi, Lorenzo Pieralisi, Baoquan He, Jonathan Corbet,
Raphael Gault, Joel Stanley, Federico Vaga, Darren Hart,
Erik Schmauss, Serge E. Hallyn, Palmer Dabbelt, Kees Cook,
Bartlomiej Zolnierkiewicz, Jonathan Neuschäfer,
SeongJae Park, Mark Brown, Borislav Petkov, Sunil Muthuswamy,
virtualization, devel, Ard Biesheuvel, Liam Girdwood,
Sakari Ailus, Olof Johansson, Logan Gunthorpe, David S. Miller,
Kirill A. Shutemov, Sven Van Asbroeck, Michal Hocko, kvm,
Michael S. Tsirkin, Peter Zijlstra, Thorsten Leemhuis,
David Howells, linux-mm, H. Peter Anvin, devel, Manfred Spraul,
Luis Chamberlain, x86, Pavel Tatashin, Mike Rapoport, Ingo Molnar,
Dave Young, devicetree, Arnaldo Carvalho de Melo, Jerome Glisse,
Stefano Stabellini, Jonathan Cameron, Dmitry Vyukov, linux-edac,
Juergen Gross, Denis Efremov, netdev, Nicolas Ferre, Changbin Du,
linux-security-module, linuxppc-dev, Andy Shevchenko
In-Reply-To: <20190604064614.67cde821@coco.lan>
Em Tue, 4 Jun 2019 06:46:14 -0300
Mauro Carvalho Chehab <mchehab+samsung@kernel.org> escreveu:
> Em Mon, 3 Jun 2019 09:34:15 +0200
> Christophe Leroy <christophe.leroy@c-s.fr> escreveu:
>
> > [...]
> >
> > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
> > > index 8c1c636308c8..e868d2bd48b8 100644
> > > --- a/arch/powerpc/Kconfig
> > > +++ b/arch/powerpc/Kconfig
> > > @@ -898,7 +898,7 @@ config PPC_MEM_KEYS
> > > page-based protections, but without requiring modification of the
> > > page tables when an application changes protection domains.
> > >
> > > - For details, see Documentation/vm/protection-keys.rst
> > > + For details, see Documentation/x86/protection-keys.rst
> >
> > It looks strange to reference an x86 file, for powerpc arch.
>
> Indeed. Yet, seeking for the API documented there:
>
> $ git grep -l pkey_mprotect
> Documentation/x86/protection-keys.rst
> arch/alpha/kernel/syscalls/syscall.tbl
> arch/arm/tools/syscall.tbl
> arch/arm64/include/asm/unistd32.h
> arch/ia64/kernel/syscalls/syscall.tbl
> arch/m68k/kernel/syscalls/syscall.tbl
> arch/microblaze/kernel/syscalls/syscall.tbl
> arch/mips/kernel/syscalls/syscall_n32.tbl
> arch/mips/kernel/syscalls/syscall_n64.tbl
> arch/mips/kernel/syscalls/syscall_o32.tbl
> arch/parisc/kernel/syscalls/syscall.tbl
> arch/powerpc/kernel/syscalls/syscall.tbl
> arch/s390/kernel/syscalls/syscall.tbl
> arch/sh/kernel/syscalls/syscall.tbl
> arch/sparc/kernel/syscalls/syscall.tbl
> arch/x86/entry/syscalls/syscall_32.tbl
> arch/x86/entry/syscalls/syscall_64.tbl
> arch/xtensa/kernel/syscalls/syscall.tbl
> include/linux/syscalls.h
> include/uapi/asm-generic/unistd.h
> kernel/sys_ni.c
> mm/mprotect.c
> tools/include/uapi/asm-generic/unistd.h
> tools/perf/arch/powerpc/entry/syscalls/syscall.tbl
> tools/perf/arch/x86/entry/syscalls/syscall_64.tbl
> tools/perf/builtin-trace.c
> tools/testing/selftests/x86/protection_keys.c
>
> Despite being used on several archs, the only documentation for it
> is inside the x86 directory, as it seems that this is not
> arch-specific.
>
> Perhaps the file should, instead, be moved to another book.
I guess the best is to have this inside the core-api book.
Patch enclosed.
Regards,
Mauro
[PATCH] docs: move protection-keys.rst to the core-api book
This document is used by multiple architectures:
$ echo $(git grep -l pkey_mprotect arch|cut -d'/' -f 2|sort|uniq)
alpha arm arm64 ia64 m68k microblaze mips parisc powerpc s390 sh sparc x86 xtensa
So, let's move it to the core book and adjust the links to it
accordingly.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
diff --git a/Documentation/core-api/index.rst b/Documentation/core-api/index.rst
index ee1bb8983a88..2466a4c51031 100644
--- a/Documentation/core-api/index.rst
+++ b/Documentation/core-api/index.rst
@@ -34,6 +34,7 @@ Core utilities
timekeeping
boot-time-mm
memory-hotplug
+ protection-keys
Interfaces for kernel debugging
diff --git a/Documentation/x86/protection-keys.rst b/Documentation/core-api/protection-keys.rst
similarity index 100%
rename from Documentation/x86/protection-keys.rst
rename to Documentation/core-api/protection-keys.rst
diff --git a/Documentation/x86/index.rst b/Documentation/x86/index.rst
index ae36fc5fc649..f2de1b2d3ac7 100644
--- a/Documentation/x86/index.rst
+++ b/Documentation/x86/index.rst
@@ -19,7 +19,6 @@ x86-specific Documentation
tlb
mtrr
pat
- protection-keys
intel_mpx
amd-memory-encryption
pti
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 8c1c636308c8..3b795a0cab62 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -898,7 +898,7 @@ config PPC_MEM_KEYS
page-based protections, but without requiring modification of the
page tables when an application changes protection domains.
- For details, see Documentation/vm/protection-keys.rst
+ For details, see Documentation/core-api/protection-keys.rst
If unsure, say y.
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 2bbbd4d1ba31..d87d53fcd261 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1911,7 +1911,7 @@ config X86_INTEL_MEMORY_PROTECTION_KEYS
page-based protections, but without requiring modification of the
page tables when an application changes protection domains.
- For details, see Documentation/x86/protection-keys.txt
+ For details, see Documentation/core-api/protection-keys.rst
If unsure, say y.
diff --git a/tools/testing/selftests/x86/protection_keys.c b/tools/testing/selftests/x86/protection_keys.c
index 5d546dcdbc80..480995bceefa 100644
--- a/tools/testing/selftests/x86/protection_keys.c
+++ b/tools/testing/selftests/x86/protection_keys.c
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
/*
- * Tests x86 Memory Protection Keys (see Documentation/x86/protection-keys.txt)
+ * Tests x86 Memory Protection Keys (see Documentation/core-api/protection-keys.rst)
*
* There are examples in here of:
* * how to set protection keys on memory
^ permalink raw reply related
* [PATCH] ocxl: do not use C++ style comments in uapi header
From: Masahiro Yamada @ 2019-06-04 11:16 UTC (permalink / raw)
To: Frederic Barrat, Andrew Donnellan, linuxppc-dev
Cc: Arnd Bergmann, Greg KH, Randy Dunlap, linux-kernel,
Masahiro Yamada, Joe Perches, Thomas Gleixner
Linux kernel tolerates C++ style comments these days. Actually, the
SPDX License tags for .c files start with //.
On the other hand, uapi headers are written in more strict C, where
the C++ comment style is forbidden.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
include/uapi/misc/ocxl.h | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/include/uapi/misc/ocxl.h b/include/uapi/misc/ocxl.h
index 97937cfa3baa..6d29a60a896a 100644
--- a/include/uapi/misc/ocxl.h
+++ b/include/uapi/misc/ocxl.h
@@ -33,23 +33,23 @@ struct ocxl_ioctl_attach {
};
struct ocxl_ioctl_metadata {
- __u16 version; // struct version, always backwards compatible
+ __u16 version; /* struct version, always backwards compatible */
- // Version 0 fields
+ /* Version 0 fields */
__u8 afu_version_major;
__u8 afu_version_minor;
- __u32 pasid; // PASID assigned to the current context
+ __u32 pasid; /* PASID assigned to the current context */
- __u64 pp_mmio_size; // Per PASID MMIO size
+ __u64 pp_mmio_size; /* Per PASID MMIO size */
__u64 global_mmio_size;
- // End version 0 fields
+ /* End version 0 fields */
- __u64 reserved[13]; // Total of 16*u64
+ __u64 reserved[13]; /* Total of 16*u64 */
};
struct ocxl_ioctl_p9_wait {
- __u16 thread_id; // The thread ID required to wake this thread
+ __u16 thread_id; /* The thread ID required to wake this thread */
__u16 reserved1;
__u32 reserved2;
__u64 reserved3[3];
--
2.17.1
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox