LinuxPPC-Dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] powerpc/kasan: Fix stack overflow by increasing THREAD_SHIFT
From: Christophe Leroy @ 2020-04-08 15:58 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	erhard_f
  Cc: linuxppc-dev, linux-kernel

When CONFIG_KASAN is selected, the stack usage is increased.

In the same way as x86 and arm64 architectures, increase
THREAD_SHIFT when CONFIG_KASAN is selected.

Fixes: 2edb16efc899 ("powerpc/32: Add KASAN support")
Link: https://bugzilla.kernel.org/show_bug.cgi?id=207129
Reported-by: <erhard_f@mailbox.org>
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
---
 arch/powerpc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 05d20a8d6581..4444511f9bbc 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -771,6 +771,7 @@ config THREAD_SHIFT
 	range 13 15
 	default "15" if PPC_256K_PAGES
 	default "14" if PPC64
+	default "14" if KASAN
 	default "13"
 	help
 	  Used to define the stack size. The default is almost always what you
-- 
2.25.0


^ permalink raw reply related

* Re: [PATCH 05/35] docs: filesystems: fix renamed references
From: David Sterba @ 2020-04-08 15:51 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Jan Kara, Linux Doc Mailing List, David Airlie, Amir Goldstein,
	dri-devel, David Howells, Joseph Qi, Harry Wei, Paul Mackerras,
	Mikulas Patocka, Alex Shi, linux-afs, Jonathan Corbet,
	Mark Fasheh, Rafael J. Wysocki, Tyler Hicks, Christoph Hellwig,
	Federico Vaga, Alexey Dobriyan, freedreno, linux-arm-msm,
	ecryptfs, Alexander Viro, Tigran A. Aivazian, David Sterba,
	Sean Paul, Anton Altaparmakov, Nicolas Pitre, linux-ntfs-dev,
	Greg Kroah-Hartman, linux-kernel, Rob Clark, Daniel Vetter,
	linux-fsdevel, linuxppc-dev, ocfs2-devel, Joel Becker
In-Reply-To: <bcfddf36f60d928c78473af4e6a0b29904213c44.1586359676.git.mchehab+huawei@kernel.org>

On Wed, Apr 08, 2020 at 05:45:57PM +0200, Mauro Carvalho Chehab wrote:
> Some filesystem references got broken by a previous patch
> series I submitted. Address those.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>

For

>  fs/affs/Kconfig                                             | 2 +-

Acked-by: David Sterba <dsterba@suse.com>

^ permalink raw reply

* [PATCH 05/35] docs: filesystems: fix renamed references
From: Mauro Carvalho Chehab @ 2020-04-08 15:45 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Jan Kara, Rafael J. Wysocki, David Airlie, Amir Goldstein,
	dri-devel, David Howells, Joseph Qi, Harry Wei, Paul Mackerras,
	Mikulas Patocka, Alex Shi, linux-afs, Jonathan Corbet,
	Mauro Carvalho Chehab, Mark Fasheh, Tyler Hicks,
	Christoph Hellwig, Federico Vaga, Alexey Dobriyan, freedreno,
	linux-arm-msm, ecryptfs, Alexander Viro, Tigran A. Aivazian,
	David Sterba, Sean Paul, Anton Altaparmakov, Nicolas Pitre,
	linux-ntfs-dev, Greg Kroah-Hartman, linux-kernel, Rob Clark,
	Daniel Vetter, linux-fsdevel, linuxppc-dev, ocfs2-devel,
	Joel Becker
In-Reply-To: <cover.1586359676.git.mchehab+huawei@kernel.org>

Some filesystem references got broken by a previous patch
series I submitted. Address those.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/ABI/stable/sysfs-devices-node                 | 2 +-
 Documentation/ABI/testing/procfs-smaps_rollup               | 2 +-
 Documentation/admin-guide/cpu-load.rst                      | 2 +-
 Documentation/admin-guide/nfs/nfsroot.rst                   | 2 +-
 Documentation/driver-api/driver-model/device.rst            | 4 ++--
 Documentation/driver-api/driver-model/overview.rst          | 2 +-
 Documentation/filesystems/dax.txt                           | 2 +-
 Documentation/filesystems/dnotify.txt                       | 2 +-
 Documentation/filesystems/ramfs-rootfs-initramfs.rst        | 2 +-
 Documentation/filesystems/sysfs.rst                         | 2 +-
 Documentation/powerpc/firmware-assisted-dump.rst            | 2 +-
 Documentation/process/adding-syscalls.rst                   | 2 +-
 .../translations/it_IT/process/adding-syscalls.rst          | 2 +-
 Documentation/translations/zh_CN/filesystems/sysfs.txt      | 6 +++---
 drivers/base/core.c                                         | 2 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h                     | 2 +-
 fs/Kconfig                                                  | 2 +-
 fs/Kconfig.binfmt                                           | 2 +-
 fs/adfs/Kconfig                                             | 2 +-
 fs/affs/Kconfig                                             | 2 +-
 fs/afs/Kconfig                                              | 6 +++---
 fs/bfs/Kconfig                                              | 2 +-
 fs/cramfs/Kconfig                                           | 2 +-
 fs/ecryptfs/Kconfig                                         | 2 +-
 fs/hfs/Kconfig                                              | 2 +-
 fs/hpfs/Kconfig                                             | 2 +-
 fs/isofs/Kconfig                                            | 2 +-
 fs/namespace.c                                              | 2 +-
 fs/notify/inotify/Kconfig                                   | 2 +-
 fs/ntfs/Kconfig                                             | 2 +-
 fs/ocfs2/Kconfig                                            | 2 +-
 fs/proc/Kconfig                                             | 4 ++--
 fs/romfs/Kconfig                                            | 2 +-
 fs/sysfs/dir.c                                              | 2 +-
 fs/sysfs/file.c                                             | 2 +-
 fs/sysfs/mount.c                                            | 2 +-
 fs/sysfs/symlink.c                                          | 2 +-
 fs/sysv/Kconfig                                             | 2 +-
 fs/udf/Kconfig                                              | 2 +-
 include/linux/kobject.h                                     | 2 +-
 include/linux/kobject_ns.h                                  | 2 +-
 include/linux/relay.h                                       | 2 +-
 include/linux/sysfs.h                                       | 2 +-
 kernel/relay.c                                              | 2 +-
 lib/kobject.c                                               | 4 ++--
 45 files changed, 52 insertions(+), 52 deletions(-)

diff --git a/Documentation/ABI/stable/sysfs-devices-node b/Documentation/ABI/stable/sysfs-devices-node
index df8413cf1468..484fc04bcc25 100644
--- a/Documentation/ABI/stable/sysfs-devices-node
+++ b/Documentation/ABI/stable/sysfs-devices-node
@@ -54,7 +54,7 @@ Date:		October 2002
 Contact:	Linux Memory Management list <linux-mm@kvack.org>
 Description:
 		Provides information about the node's distribution and memory
-		utilization. Similar to /proc/meminfo, see Documentation/filesystems/proc.txt
+		utilization. Similar to /proc/meminfo, see Documentation/filesystems/proc.rst
 
 What:		/sys/devices/system/node/nodeX/numastat
 Date:		October 2002
diff --git a/Documentation/ABI/testing/procfs-smaps_rollup b/Documentation/ABI/testing/procfs-smaps_rollup
index 274df44d8b1b..046978193368 100644
--- a/Documentation/ABI/testing/procfs-smaps_rollup
+++ b/Documentation/ABI/testing/procfs-smaps_rollup
@@ -11,7 +11,7 @@ Description:
 		Additionally, the fields Pss_Anon, Pss_File and Pss_Shmem
 		are not present in /proc/pid/smaps.  These fields represent
 		the sum of the Pss field of each type (anon, file, shmem).
-		For more details, see Documentation/filesystems/proc.txt
+		For more details, see Documentation/filesystems/proc.rst
 		and the procfs man page.
 
 		Typical output looks like this:
diff --git a/Documentation/admin-guide/cpu-load.rst b/Documentation/admin-guide/cpu-load.rst
index 2d01ce43d2a2..ebdecf864080 100644
--- a/Documentation/admin-guide/cpu-load.rst
+++ b/Documentation/admin-guide/cpu-load.rst
@@ -105,7 +105,7 @@ References
 ----------
 
 - http://lkml.org/lkml/2007/2/12/6
-- Documentation/filesystems/proc.txt (1.8)
+- Documentation/filesystems/proc.rst (1.8)
 
 
 Thanks
diff --git a/Documentation/admin-guide/nfs/nfsroot.rst b/Documentation/admin-guide/nfs/nfsroot.rst
index 82a4fda057f9..c6772075c80c 100644
--- a/Documentation/admin-guide/nfs/nfsroot.rst
+++ b/Documentation/admin-guide/nfs/nfsroot.rst
@@ -18,7 +18,7 @@ Mounting the root filesystem via NFS (nfsroot)
 In order to use a diskless system, such as an X-terminal or printer server for
 example, it is necessary for the root filesystem to be present on a non-disk
 device. This may be an initramfs (see
-Documentation/filesystems/ramfs-rootfs-initramfs.txt), a ramdisk (see
+Documentation/filesystems/ramfs-rootfs-initramfs.rst), a ramdisk (see
 Documentation/admin-guide/initrd.rst) or a filesystem mounted via NFS. The
 following text describes on how to use NFS for the root filesystem. For the rest
 of this text 'client' means the diskless system, and 'server' means the NFS
diff --git a/Documentation/driver-api/driver-model/device.rst b/Documentation/driver-api/driver-model/device.rst
index 2b868d49d349..b9b022371e85 100644
--- a/Documentation/driver-api/driver-model/device.rst
+++ b/Documentation/driver-api/driver-model/device.rst
@@ -50,10 +50,10 @@ Attributes
 
 Attributes of devices can be exported by a device driver through sysfs.
 
-Please see Documentation/filesystems/sysfs.txt for more information
+Please see Documentation/filesystems/sysfs.rst for more information
 on how sysfs works.
 
-As explained in Documentation/kobject.txt, device attributes must be
+As explained in Documentation/core-api/kobject.rst, device attributes must be
 created before the KOBJ_ADD uevent is generated. The only way to realize
 that is by defining an attribute group.
 
diff --git a/Documentation/driver-api/driver-model/overview.rst b/Documentation/driver-api/driver-model/overview.rst
index d4d1e9b40e0c..e98d0ab4a9b6 100644
--- a/Documentation/driver-api/driver-model/overview.rst
+++ b/Documentation/driver-api/driver-model/overview.rst
@@ -121,4 +121,4 @@ device-specific data or tunable interfaces.
 
 More information about the sysfs directory layout can be found in
 the other documents in this directory and in the file
-Documentation/filesystems/sysfs.txt.
+Documentation/filesystems/sysfs.rst.
diff --git a/Documentation/filesystems/dax.txt b/Documentation/filesystems/dax.txt
index 679729442fd2..735f3859b19f 100644
--- a/Documentation/filesystems/dax.txt
+++ b/Documentation/filesystems/dax.txt
@@ -74,7 +74,7 @@ are zeroed out and converted to written extents before being returned to avoid
 exposure of uninitialized data through mmap.
 
 These filesystems may be used for inspiration:
-- ext2: see Documentation/filesystems/ext2.txt
+- ext2: see Documentation/filesystems/ext2.rst
 - ext4: see Documentation/filesystems/ext4/
 - xfs:  see Documentation/admin-guide/xfs.rst
 
diff --git a/Documentation/filesystems/dnotify.txt b/Documentation/filesystems/dnotify.txt
index 15156883d321..08d575ece45d 100644
--- a/Documentation/filesystems/dnotify.txt
+++ b/Documentation/filesystems/dnotify.txt
@@ -67,4 +67,4 @@ See tools/testing/selftests/filesystems/dnotify_test.c for an example.
 NOTE
 ----
 Beginning with Linux 2.6.13, dnotify has been replaced by inotify.
-See Documentation/filesystems/inotify.txt for more information on it.
+See Documentation/filesystems/inotify.rst for more information on it.
diff --git a/Documentation/filesystems/ramfs-rootfs-initramfs.rst b/Documentation/filesystems/ramfs-rootfs-initramfs.rst
index 6c576e241d86..3fddacc6bf14 100644
--- a/Documentation/filesystems/ramfs-rootfs-initramfs.rst
+++ b/Documentation/filesystems/ramfs-rootfs-initramfs.rst
@@ -71,7 +71,7 @@ be allowed write access to a ramfs mount.
 
 A ramfs derivative called tmpfs was created to add size limits, and the ability
 to write the data to swap space.  Normal users can be allowed write access to
-tmpfs mounts.  See Documentation/filesystems/tmpfs.txt for more information.
+tmpfs mounts.  See Documentation/filesystems/tmpfs.rst for more information.
 
 What is rootfs?
 ---------------
diff --git a/Documentation/filesystems/sysfs.rst b/Documentation/filesystems/sysfs.rst
index 290891c3fecb..ab0f7795792b 100644
--- a/Documentation/filesystems/sysfs.rst
+++ b/Documentation/filesystems/sysfs.rst
@@ -20,7 +20,7 @@ a means to export kernel data structures, their attributes, and the
 linkages between them to userspace.
 
 sysfs is tied inherently to the kobject infrastructure. Please read
-Documentation/kobject.txt for more information concerning the kobject
+Documentation/core-api/kobject.rst for more information concerning the kobject
 interface.
 
 
diff --git a/Documentation/powerpc/firmware-assisted-dump.rst b/Documentation/powerpc/firmware-assisted-dump.rst
index b3f3ee135dbe..20ea8cdee0aa 100644
--- a/Documentation/powerpc/firmware-assisted-dump.rst
+++ b/Documentation/powerpc/firmware-assisted-dump.rst
@@ -344,7 +344,7 @@ Here is the list of files under powerpc debugfs:
 
 
 NOTE:
-      Please refer to Documentation/filesystems/debugfs.txt on
+      Please refer to Documentation/filesystems/debugfs.rst on
       how to mount the debugfs filesystem.
 
 
diff --git a/Documentation/process/adding-syscalls.rst b/Documentation/process/adding-syscalls.rst
index 1c3a840d06b9..a6b4a3a5bf3f 100644
--- a/Documentation/process/adding-syscalls.rst
+++ b/Documentation/process/adding-syscalls.rst
@@ -33,7 +33,7 @@ interface.
        to a somewhat opaque API.
 
  - If you're just exposing runtime system information, a new node in sysfs
-   (see ``Documentation/filesystems/sysfs.txt``) or the ``/proc`` filesystem may
+   (see ``Documentation/filesystems/sysfs.rst``) or the ``/proc`` filesystem may
    be more appropriate.  However, access to these mechanisms requires that the
    relevant filesystem is mounted, which might not always be the case (e.g.
    in a namespaced/sandboxed/chrooted environment).  Avoid adding any API to
diff --git a/Documentation/translations/it_IT/process/adding-syscalls.rst b/Documentation/translations/it_IT/process/adding-syscalls.rst
index c3a3439595a6..bff0a82bf127 100644
--- a/Documentation/translations/it_IT/process/adding-syscalls.rst
+++ b/Documentation/translations/it_IT/process/adding-syscalls.rst
@@ -39,7 +39,7 @@ vostra interfaccia.
        un qualche modo opaca.
 
  - Se dovete esporre solo delle informazioni sul sistema, un nuovo nodo in
-   sysfs (vedere ``Documentation/filesystems/sysfs.txt``) o
+   sysfs (vedere ``Documentation/filesystems/sysfs.rst``) o
    in procfs potrebbe essere sufficiente.  Tuttavia, l'accesso a questi
    meccanismi richiede che il filesystem sia montato, il che potrebbe non
    essere sempre vero (per esempio, in ambienti come namespace/sandbox/chroot).
diff --git a/Documentation/translations/zh_CN/filesystems/sysfs.txt b/Documentation/translations/zh_CN/filesystems/sysfs.txt
index a15c3ebdfa82..fcf620049d11 100644
--- a/Documentation/translations/zh_CN/filesystems/sysfs.txt
+++ b/Documentation/translations/zh_CN/filesystems/sysfs.txt
@@ -1,4 +1,4 @@
-Chinese translated version of Documentation/filesystems/sysfs.txt
+Chinese translated version of Documentation/filesystems/sysfs.rst
 
 If you have any comment or update to the content, please contact the
 original document maintainer directly.  However, if you have a problem
@@ -10,7 +10,7 @@ Maintainer: Patrick Mochel	<mochel@osdl.org>
 		Mike Murphy <mamurph@cs.clemson.edu>
 Chinese maintainer: Fu Wei <tekkamanninja@gmail.com>
 ---------------------------------------------------------------------
-Documentation/filesystems/sysfs.txt 的中文翻译
+Documentation/filesystems/sysfs.rst 的中文翻译
 
 如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文
 交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻
@@ -40,7 +40,7 @@ sysfs 是一个最初基于 ramfs 且位于内存的文件系统。它提供导
 数据结构及其属性,以及它们之间的关联到用户空间的方法。
 
 sysfs 始终与 kobject 的底层结构紧密相关。请阅读
-Documentation/kobject.txt 文档以获得更多关于 kobject 接口的
+Documentation/core-api/kobject.rst 文档以获得更多关于 kobject 接口的
 信息。
 
 
diff --git a/drivers/base/core.c b/drivers/base/core.c
index 139cdf7e7327..89fcc0a09f94 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -1374,7 +1374,7 @@ static void device_release(struct kobject *kobj)
 	else if (dev->class && dev->class->dev_release)
 		dev->class->dev_release(dev);
 	else
-		WARN(1, KERN_ERR "Device '%s' does not have a release() function, it is broken and must be fixed. See Documentation/kobject.txt.\n",
+		WARN(1, KERN_ERR "Device '%s' does not have a release() function, it is broken and must be fixed. See Documentation/core-api/kobject.rst.\n",
 			dev_name(dev));
 	kfree(p);
 }
diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
index 211f5de99a44..9aba2910d83a 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h
@@ -170,7 +170,7 @@ struct dpu_global_state
  *
  * Main debugfs documentation is located at,
  *
- * Documentation/filesystems/debugfs.txt
+ * Documentation/filesystems/debugfs.rst
  *
  * @dpu_debugfs_setup_regset32: Initialize data for dpu_debugfs_create_regset32
  * @dpu_debugfs_create_regset32: Create 32-bit register dump file
diff --git a/fs/Kconfig b/fs/Kconfig
index f08fbbfafd9a..d1ad3935fb85 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -166,7 +166,7 @@ config TMPFS
 	  space. If you unmount a tmpfs instance, everything stored therein is
 	  lost.
 
-	  See <file:Documentation/filesystems/tmpfs.txt> for details.
+	  See <file:Documentation/filesystems/tmpfs.rst> for details.
 
 config TMPFS_POSIX_ACL
 	bool "Tmpfs POSIX Access Control Lists"
diff --git a/fs/Kconfig.binfmt b/fs/Kconfig.binfmt
index 62dc4f577ba1..3fbbd54f50fd 100644
--- a/fs/Kconfig.binfmt
+++ b/fs/Kconfig.binfmt
@@ -72,7 +72,7 @@ config CORE_DUMP_DEFAULT_ELF_HEADERS
 
 	  The core dump behavior can be controlled per process using
 	  the /proc/PID/coredump_filter pseudo-file; this setting is
-	  inherited.  See Documentation/filesystems/proc.txt for details.
+	  inherited.  See Documentation/filesystems/proc.rst for details.
 
 	  This config option changes the default setting of coredump_filter
 	  seen at boot time.  If unsure, say Y.
diff --git a/fs/adfs/Kconfig b/fs/adfs/Kconfig
index df4650dccf68..44738fed6625 100644
--- a/fs/adfs/Kconfig
+++ b/fs/adfs/Kconfig
@@ -12,7 +12,7 @@ config ADFS_FS
 
 	  The ADFS partition should be the first partition (i.e.,
 	  /dev/[hs]d?1) on each of your drives. Please read the file
-	  <file:Documentation/filesystems/adfs.txt> for further details.
+	  <file:Documentation/filesystems/adfs.rst> for further details.
 
 	  To compile this code as a module, choose M here: the module will be
 	  called adfs.
diff --git a/fs/affs/Kconfig b/fs/affs/Kconfig
index 84c46b9025c5..eb9d0ab850cb 100644
--- a/fs/affs/Kconfig
+++ b/fs/affs/Kconfig
@@ -9,7 +9,7 @@ config AFFS_FS
 	  FFS partition on your hard drive.  Amiga floppies however cannot be
 	  read with this driver due to an incompatibility of the floppy
 	  controller used in an Amiga and the standard floppy controller in
-	  PCs and workstations. Read <file:Documentation/filesystems/affs.txt>
+	  PCs and workstations. Read <file:Documentation/filesystems/affs.rst>
 	  and <file:fs/affs/Changes>.
 
 	  With this driver you can also mount disk files used by Bernd
diff --git a/fs/afs/Kconfig b/fs/afs/Kconfig
index 3fb1f559e317..1ad211d72b3b 100644
--- a/fs/afs/Kconfig
+++ b/fs/afs/Kconfig
@@ -8,7 +8,7 @@ config AFS_FS
 	  If you say Y here, you will get an experimental Andrew File System
 	  driver. It currently only supports unsecured read-only AFS access.
 
-	  See <file:Documentation/filesystems/afs.txt> for more information.
+	  See <file:Documentation/filesystems/afs.rst> for more information.
 
 	  If unsure, say N.
 
@@ -18,7 +18,7 @@ config AFS_DEBUG
 	help
 	  Say Y here to make runtime controllable debugging messages appear.
 
-	  See <file:Documentation/filesystems/afs.txt> for more information.
+	  See <file:Documentation/filesystems/afs.rst> for more information.
 
 	  If unsure, say N.
 
@@ -37,6 +37,6 @@ config AFS_DEBUG_CURSOR
 	  the dmesg log if the server rotation algorithm fails to successfully
 	  contact a server.
 
-	  See <file:Documentation/filesystems/afs.txt> for more information.
+	  See <file:Documentation/filesystems/afs.rst> for more information.
 
 	  If unsure, say N.
diff --git a/fs/bfs/Kconfig b/fs/bfs/Kconfig
index 3e1247f07913..3a757805b585 100644
--- a/fs/bfs/Kconfig
+++ b/fs/bfs/Kconfig
@@ -11,7 +11,7 @@ config BFS_FS
 	  on your /stand slice from within Linux.  You then also need to say Y
 	  to "UnixWare slices support", below.  More information about the BFS
 	  file system is contained in the file
-	  <file:Documentation/filesystems/bfs.txt>.
+	  <file:Documentation/filesystems/bfs.rst>.
 
 	  If you don't know what this is about, say N.
 
diff --git a/fs/cramfs/Kconfig b/fs/cramfs/Kconfig
index c8bebb70a971..d98cef0dbb6b 100644
--- a/fs/cramfs/Kconfig
+++ b/fs/cramfs/Kconfig
@@ -9,7 +9,7 @@ config CRAMFS
 	  limited to 256MB file systems (with 16MB files), and doesn't support
 	  16/32 bits uid/gid, hard links and timestamps.
 
-	  See <file:Documentation/filesystems/cramfs.txt> and
+	  See <file:Documentation/filesystems/cramfs.rst> and
 	  <file:fs/cramfs/README> for further information.
 
 	  To compile this as a module, choose M here: the module will be called
diff --git a/fs/ecryptfs/Kconfig b/fs/ecryptfs/Kconfig
index 522c35d5292b..1bdeaa6d5790 100644
--- a/fs/ecryptfs/Kconfig
+++ b/fs/ecryptfs/Kconfig
@@ -7,7 +7,7 @@ config ECRYPT_FS
 	select CRYPTO_MD5
 	help
 	  Encrypted filesystem that operates on the VFS layer.  See
-	  <file:Documentation/filesystems/ecryptfs.txt> to learn more about
+	  <file:Documentation/filesystems/ecryptfs.rst> to learn more about
 	  eCryptfs.  Userspace components are required and can be
 	  obtained from <http://ecryptfs.sf.net>.
 
diff --git a/fs/hfs/Kconfig b/fs/hfs/Kconfig
index 44f6e89bcb75..129926b5142d 100644
--- a/fs/hfs/Kconfig
+++ b/fs/hfs/Kconfig
@@ -6,7 +6,7 @@ config HFS_FS
 	help
 	  If you say Y here, you will be able to mount Macintosh-formatted
 	  floppy disks and hard drive partitions with full read-write access.
-	  Please read <file:Documentation/filesystems/hfs.txt> to learn about
+	  Please read <file:Documentation/filesystems/hfs.rst> to learn about
 	  the available mount options.
 
 	  To compile this file system support as a module, choose M here: the
diff --git a/fs/hpfs/Kconfig b/fs/hpfs/Kconfig
index 56aa0336254a..2b36dc6f0a10 100644
--- a/fs/hpfs/Kconfig
+++ b/fs/hpfs/Kconfig
@@ -9,7 +9,7 @@ config HPFS_FS
 	  write files to an OS/2 HPFS partition on your hard drive. OS/2
 	  floppies however are in regular MSDOS format, so you don't need this
 	  option in order to be able to read them. Read
-	  <file:Documentation/filesystems/hpfs.txt>.
+	  <file:Documentation/filesystems/hpfs.rst>.
 
 	  To compile this file system support as a module, choose M here: the
 	  module will be called hpfs.  If unsure, say N.
diff --git a/fs/isofs/Kconfig b/fs/isofs/Kconfig
index 5e7419599f50..08ffd37b9bb8 100644
--- a/fs/isofs/Kconfig
+++ b/fs/isofs/Kconfig
@@ -8,7 +8,7 @@ config ISO9660_FS
 	  long Unix filenames and symbolic links are also supported by this
 	  driver.  If you have a CD-ROM drive and want to do more with it than
 	  just listen to audio CDs and watch its LEDs, say Y (and read
-	  <file:Documentation/filesystems/isofs.txt> and the CD-ROM-HOWTO,
+	  <file:Documentation/filesystems/isofs.rst> and the CD-ROM-HOWTO,
 	  available from <http://www.tldp.org/docs.html#howto>), thereby
 	  enlarging your kernel by about 27 KB; otherwise say N.
 
diff --git a/fs/namespace.c b/fs/namespace.c
index e6aed405611d..894a1d12fe5f 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -3592,7 +3592,7 @@ EXPORT_SYMBOL(path_is_under);
  * file system may be mounted on put_old. After all, new_root is a mountpoint.
  *
  * Also, the current root cannot be on the 'rootfs' (initial ramfs) filesystem.
- * See Documentation/filesystems/ramfs-rootfs-initramfs.txt for alternatives
+ * See Documentation/filesystems/ramfs-rootfs-initramfs.rst for alternatives
  * in this situation.
  *
  * Notes:
diff --git a/fs/notify/inotify/Kconfig b/fs/notify/inotify/Kconfig
index 6736e47d94d8..7715fadd5fff 100644
--- a/fs/notify/inotify/Kconfig
+++ b/fs/notify/inotify/Kconfig
@@ -12,6 +12,6 @@ config INOTIFY_USER
 	  new features including multiple file events, one-shot support, and
 	  unmount notification.
 
-	  For more information, see <file:Documentation/filesystems/inotify.txt>
+	  For more information, see <file:Documentation/filesystems/inotify.rst>
 
 	  If unsure, say Y.
diff --git a/fs/ntfs/Kconfig b/fs/ntfs/Kconfig
index de9fb5cff226..1667a7e590d8 100644
--- a/fs/ntfs/Kconfig
+++ b/fs/ntfs/Kconfig
@@ -18,7 +18,7 @@ config NTFS_FS
 	  the Linux 2.4 kernel series is separately available as a patch
 	  from the project web site.
 
-	  For more information see <file:Documentation/filesystems/ntfs.txt>
+	  For more information see <file:Documentation/filesystems/ntfs.rst>
 	  and <http://www.linux-ntfs.org/>.
 
 	  To compile this file system support as a module, choose M here: the
diff --git a/fs/ocfs2/Kconfig b/fs/ocfs2/Kconfig
index 46bba20da6b5..1177c33df895 100644
--- a/fs/ocfs2/Kconfig
+++ b/fs/ocfs2/Kconfig
@@ -21,7 +21,7 @@ config OCFS2_FS
 	  OCFS2 mailing lists: http://oss.oracle.com/projects/ocfs2/mailman/
 
 	  For more information on OCFS2, see the file
-	  <file:Documentation/filesystems/ocfs2.txt>.
+	  <file:Documentation/filesystems/ocfs2.rst>.
 
 config OCFS2_FS_O2CB
 	tristate "O2CB Kernelspace Clustering"
diff --git a/fs/proc/Kconfig b/fs/proc/Kconfig
index 27ef84d99f59..971a42f6357d 100644
--- a/fs/proc/Kconfig
+++ b/fs/proc/Kconfig
@@ -23,7 +23,7 @@ config PROC_FS
 	  /proc" or the equivalent line in /etc/fstab does the job.
 
 	  The /proc file system is explained in the file
-	  <file:Documentation/filesystems/proc.txt> and on the proc(5) manpage
+	  <file:Documentation/filesystems/proc.rst> and on the proc(5) manpage
 	  ("man 5 proc").
 
 	  This option will enlarge your kernel by about 67 KB. Several
@@ -95,7 +95,7 @@ config PROC_CHILDREN
 	default n
 	help
 	  Provides a fast way to retrieve first level children pids of a task. See
-	  <file:Documentation/filesystems/proc.txt> for more information.
+	  <file:Documentation/filesystems/proc.rst> for more information.
 
 	  Say Y if you are running any user-space software which takes benefit from
 	  this interface. For example, rkt is such a piece of software.
diff --git a/fs/romfs/Kconfig b/fs/romfs/Kconfig
index ad4c45788896..9737b8e68878 100644
--- a/fs/romfs/Kconfig
+++ b/fs/romfs/Kconfig
@@ -6,7 +6,7 @@ config ROMFS_FS
 	  This is a very small read-only file system mainly intended for
 	  initial ram disks of installation disks, but it could be used for
 	  other read-only media as well.  Read
-	  <file:Documentation/filesystems/romfs.txt> for details.
+	  <file:Documentation/filesystems/romfs.rst> for details.
 
 	  To compile this file system support as a module, choose M here: the
 	  module will be called romfs.  Note that the file system of your
diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c
index aa85f2874a9f..59dffd5ca517 100644
--- a/fs/sysfs/dir.c
+++ b/fs/sysfs/dir.c
@@ -6,7 +6,7 @@
  * Copyright (c) 2007 SUSE Linux Products GmbH
  * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
  *
- * Please see Documentation/filesystems/sysfs.txt for more information.
+ * Please see Documentation/filesystems/sysfs.rst for more information.
  */
 
 #define pr_fmt(fmt)	"sysfs: " fmt
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
index 26bbf960e2a2..f275fcda62fb 100644
--- a/fs/sysfs/file.c
+++ b/fs/sysfs/file.c
@@ -6,7 +6,7 @@
  * Copyright (c) 2007 SUSE Linux Products GmbH
  * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
  *
- * Please see Documentation/filesystems/sysfs.txt for more information.
+ * Please see Documentation/filesystems/sysfs.rst for more information.
  */
 
 #include <linux/module.h>
diff --git a/fs/sysfs/mount.c b/fs/sysfs/mount.c
index db81cfbab9d6..e747c135c1d1 100644
--- a/fs/sysfs/mount.c
+++ b/fs/sysfs/mount.c
@@ -6,7 +6,7 @@
  * Copyright (c) 2007 SUSE Linux Products GmbH
  * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
  *
- * Please see Documentation/filesystems/sysfs.txt for more information.
+ * Please see Documentation/filesystems/sysfs.rst for more information.
  */
 
 #include <linux/fs.h>
diff --git a/fs/sysfs/symlink.c b/fs/sysfs/symlink.c
index c4deecc80f67..5603530a1a52 100644
--- a/fs/sysfs/symlink.c
+++ b/fs/sysfs/symlink.c
@@ -6,7 +6,7 @@
  * Copyright (c) 2007 SUSE Linux Products GmbH
  * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
  *
- * Please see Documentation/filesystems/sysfs.txt for more information.
+ * Please see Documentation/filesystems/sysfs.rst for more information.
  */
 
 #include <linux/fs.h>
diff --git a/fs/sysv/Kconfig b/fs/sysv/Kconfig
index d4edf7d9ae10..b4e23e03fbeb 100644
--- a/fs/sysv/Kconfig
+++ b/fs/sysv/Kconfig
@@ -28,7 +28,7 @@ config SYSV_FS
 	  tar" or preferably "info tar").  Note also that this option has
 	  nothing whatsoever to do with the option "System V IPC". Read about
 	  the System V file system in
-	  <file:Documentation/filesystems/sysv-fs.txt>.
+	  <file:Documentation/filesystems/sysv-fs.rst>.
 	  Saying Y here will enlarge your kernel by about 27 KB.
 
 	  To compile this as a module, choose M here: the module will be called
diff --git a/fs/udf/Kconfig b/fs/udf/Kconfig
index 6848de581ce1..26e1a49f3ba7 100644
--- a/fs/udf/Kconfig
+++ b/fs/udf/Kconfig
@@ -9,7 +9,7 @@ config UDF_FS
 	  compatible with standard unix file systems, it is also suitable for
 	  removable USB disks. Say Y if you intend to mount DVD discs or CDRW's
 	  written in packet mode, or if you want to use UDF for removable USB
-	  disks. Please read <file:Documentation/filesystems/udf.txt>.
+	  disks. Please read <file:Documentation/filesystems/udf.rst>.
 
 	  To compile this file system support as a module, choose M here: the
 	  module will be called udf.
diff --git a/include/linux/kobject.h b/include/linux/kobject.h
index e2ca0a292e21..fc8d83e91379 100644
--- a/include/linux/kobject.h
+++ b/include/linux/kobject.h
@@ -7,7 +7,7 @@
  * Copyright (c) 2006-2008 Greg Kroah-Hartman <greg@kroah.com>
  * Copyright (c) 2006-2008 Novell Inc.
  *
- * Please read Documentation/kobject.txt before using the kobject
+ * Please read Documentation/core-api/kobject.rst before using the kobject
  * interface, ESPECIALLY the parts about reference counts and object
  * destructors.
  */
diff --git a/include/linux/kobject_ns.h b/include/linux/kobject_ns.h
index 069aa2ebef90..2b5b64256cf4 100644
--- a/include/linux/kobject_ns.h
+++ b/include/linux/kobject_ns.h
@@ -8,7 +8,7 @@
  *
  * Split from kobject.h by David Howells (dhowells@redhat.com)
  *
- * Please read Documentation/kobject.txt before using the kobject
+ * Please read Documentation/core-api/kobject.rst before using the kobject
  * interface, ESPECIALLY the parts about reference counts and object
  * destructors.
  */
diff --git a/include/linux/relay.h b/include/linux/relay.h
index c759f96e39c1..e13a333e7c37 100644
--- a/include/linux/relay.h
+++ b/include/linux/relay.h
@@ -141,7 +141,7 @@ struct rchan_callbacks
 	 * cause relay_open() to create a single global buffer rather
 	 * than the default set of per-cpu buffers.
 	 *
-	 * See Documentation/filesystems/relay.txt for more info.
+	 * See Documentation/filesystems/relay.rst for more info.
 	 */
 	struct dentry *(*create_buf_file)(const char *filename,
 					  struct dentry *parent,
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
index 80bb865b3a33..86067dbe7745 100644
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -7,7 +7,7 @@
  * Copyright (c) 2007 SUSE Linux Products GmbH
  * Copyright (c) 2007 Tejun Heo <teheo@suse.de>
  *
- * Please see Documentation/filesystems/sysfs.txt for more information.
+ * Please see Documentation/filesystems/sysfs.rst for more information.
  */
 
 #ifndef _SYSFS_H_
diff --git a/kernel/relay.c b/kernel/relay.c
index 07ee1a791d85..628f570ca678 100644
--- a/kernel/relay.c
+++ b/kernel/relay.c
@@ -1,7 +1,7 @@
 /*
  * Public API and common code for kernel->userspace relay file support.
  *
- * See Documentation/filesystems/relay.txt for an overview.
+ * See Documentation/filesystems/relay.rst for an overview.
  *
  * Copyright (C) 2002-2005 - Tom Zanussi (zanussi@us.ibm.com), IBM Corp
  * Copyright (C) 1999-2005 - Karim Yaghmour (karim@opersys.com)
diff --git a/lib/kobject.c b/lib/kobject.c
index 83198cb37d8d..65fa7bf70c57 100644
--- a/lib/kobject.c
+++ b/lib/kobject.c
@@ -6,7 +6,7 @@
  * Copyright (c) 2006-2007 Greg Kroah-Hartman <greg@kroah.com>
  * Copyright (c) 2006-2007 Novell Inc.
  *
- * Please see the file Documentation/kobject.txt for critical information
+ * Please see the file Documentation/core-api/kobject.rst for critical information
  * about using the kobject interface.
  */
 
@@ -670,7 +670,7 @@ static void kobject_cleanup(struct kobject *kobj)
 		 kobject_name(kobj), kobj, __func__, kobj->parent);
 
 	if (t && !t->release)
-		pr_debug("kobject: '%s' (%p): does not have a release() function, it is broken and must be fixed. See Documentation/kobject.txt.\n",
+		pr_debug("kobject: '%s' (%p): does not have a release() function, it is broken and must be fixed. See Documentation/core-api/kobject.rst.\n",
 			 kobject_name(kobj), kobj);
 
 	/* send "remove" if the caller did not do it but sent "add" */
-- 
2.25.2


^ permalink raw reply related

* [PATCH 03/35] docs: fix broken references to text files
From: Mauro Carvalho Chehab @ 2020-04-08 15:45 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: kvm, Peter Zijlstra, Akira Yokosawa, dri-devel, linux-unionfs,
	linux-mm, Harry Wei, Alex Shi, Will Deacon, kvmarm, linux-arch,
	Jason Gunthorpe, Jonathan Corbet, Mauro Carvalho Chehab, kvm-ppc,
	David Airlie, Doug Ledford, Alan Stern, linux-arm-kernel,
	Federico Vaga, Jade Alglave, Daniel Lustig, Julien Thierry,
	Mike Leach, Andrea Parri, Daniel Vetter, Paul E. McKenney,
	Suzuki K Poulose, Boqun Feng, Maarten Lankhorst, Nicholas Piggin,
	Maxime Ripard, Luc Maranget, OGAWA Hirofumi, David Howells,
	Mathieu Poirier, Miklos Szeredi, linux-kernel, Alexander Shishkin,
	linux-rdma, James Morse, Thomas Zimmermann, Marc Zyngier,
	linux-fsdevel, Paolo Bonzini, Andrew Morton, linuxppc-dev
In-Reply-To: <cover.1586359676.git.mchehab+huawei@kernel.org>

Several references got broken due to txt to ReST conversion.

Several of them can be automatically fixed with:

	scripts/documentation-file-ref-check --fix

Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org> # hwtracing/coresight/Kconfig
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/memory-barriers.txt                    |  2 +-
 Documentation/process/submit-checklist.rst           |  2 +-
 .../translations/it_IT/process/submit-checklist.rst  |  2 +-
 Documentation/translations/ko_KR/memory-barriers.txt |  2 +-
 .../translations/zh_CN/filesystems/sysfs.txt         |  2 +-
 .../translations/zh_CN/process/submit-checklist.rst  |  2 +-
 Documentation/virt/kvm/arm/pvtime.rst                |  2 +-
 Documentation/virt/kvm/devices/vcpu.rst              |  2 +-
 Documentation/virt/kvm/hypercalls.rst                |  4 ++--
 arch/powerpc/include/uapi/asm/kvm_para.h             |  2 +-
 drivers/gpu/drm/Kconfig                              |  2 +-
 drivers/gpu/drm/drm_ioctl.c                          |  2 +-
 drivers/hwtracing/coresight/Kconfig                  |  2 +-
 fs/fat/Kconfig                                       |  8 ++++----
 fs/fuse/Kconfig                                      |  2 +-
 fs/fuse/dev.c                                        |  2 +-
 fs/overlayfs/Kconfig                                 |  6 +++---
 include/linux/mm.h                                   |  4 ++--
 include/uapi/linux/ethtool_netlink.h                 |  2 +-
 include/uapi/rdma/rdma_user_ioctl_cmds.h             |  2 +-
 mm/gup.c                                             | 12 ++++++------
 virt/kvm/arm/vgic/vgic-mmio-v3.c                     |  2 +-
 virt/kvm/arm/vgic/vgic.h                             |  4 ++--
 23 files changed, 36 insertions(+), 36 deletions(-)

diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt
index e1c355e84edd..eaabc3134294 100644
--- a/Documentation/memory-barriers.txt
+++ b/Documentation/memory-barriers.txt
@@ -620,7 +620,7 @@ because the CPUs that the Linux kernel supports don't do writes
 until they are certain (1) that the write will actually happen, (2)
 of the location of the write, and (3) of the value to be written.
 But please carefully read the "CONTROL DEPENDENCIES" section and the
-Documentation/RCU/rcu_dereference.txt file:  The compiler can and does
+Documentation/RCU/rcu_dereference.rst file:  The compiler can and does
 break dependencies in a great many highly creative ways.
 
 	CPU 1		      CPU 2
diff --git a/Documentation/process/submit-checklist.rst b/Documentation/process/submit-checklist.rst
index 8e56337d422d..3f8e9d5d95c2 100644
--- a/Documentation/process/submit-checklist.rst
+++ b/Documentation/process/submit-checklist.rst
@@ -107,7 +107,7 @@ and elsewhere regarding submitting Linux kernel patches.
     and why.
 
 26) If any ioctl's are added by the patch, then also update
-    ``Documentation/ioctl/ioctl-number.rst``.
+    ``Documentation/userspace-api/ioctl/ioctl-number.rst``.
 
 27) If your modified source code depends on or uses any of the kernel
     APIs or features that are related to the following ``Kconfig`` symbols,
diff --git a/Documentation/translations/it_IT/process/submit-checklist.rst b/Documentation/translations/it_IT/process/submit-checklist.rst
index 995ee69fab11..3e575502690f 100644
--- a/Documentation/translations/it_IT/process/submit-checklist.rst
+++ b/Documentation/translations/it_IT/process/submit-checklist.rst
@@ -117,7 +117,7 @@ sottomissione delle patch, in particolare
     sorgenti che ne spieghi la logica: cosa fanno e perché.
 
 25) Se la patch aggiunge nuove chiamate ioctl, allora aggiornate
-    ``Documentation/ioctl/ioctl-number.rst``.
+    ``Documentation/userspace-api/ioctl/ioctl-number.rst``.
 
 26) Se il codice che avete modificato dipende o usa una qualsiasi interfaccia o
     funzionalità del kernel che è associata a uno dei seguenti simboli
diff --git a/Documentation/translations/ko_KR/memory-barriers.txt b/Documentation/translations/ko_KR/memory-barriers.txt
index 2e831ece6e26..e50fe6541335 100644
--- a/Documentation/translations/ko_KR/memory-barriers.txt
+++ b/Documentation/translations/ko_KR/memory-barriers.txt
@@ -641,7 +641,7 @@ P 는 짝수 번호 캐시 라인에 저장되어 있고, 변수 B 는 홀수 
 리눅스 커널이 지원하는 CPU 들은 (1) 쓰기가 정말로 일어날지, (2) 쓰기가 어디에
 이루어질지, 그리고 (3) 쓰여질 값을 확실히 알기 전까지는 쓰기를 수행하지 않기
 때문입니다.  하지만 "컨트롤 의존성" 섹션과
-Documentation/RCU/rcu_dereference.txt 파일을 주의 깊게 읽어 주시기 바랍니다:
+Documentation/RCU/rcu_dereference.rst 파일을 주의 깊게 읽어 주시기 바랍니다:
 컴파일러는 매우 창의적인 많은 방법으로 종속성을 깰 수 있습니다.
 
 	CPU 1		      CPU 2
diff --git a/Documentation/translations/zh_CN/filesystems/sysfs.txt b/Documentation/translations/zh_CN/filesystems/sysfs.txt
index ee1f37da5b23..a15c3ebdfa82 100644
--- a/Documentation/translations/zh_CN/filesystems/sysfs.txt
+++ b/Documentation/translations/zh_CN/filesystems/sysfs.txt
@@ -281,7 +281,7 @@ drivers/ 包含了每个已为特定总线上的设备而挂载的驱动程序
 假定驱动没有跨越多个总线类型)。
 
 fs/ 包含了一个为文件系统设立的目录。现在每个想要导出属性的文件系统必须
-在 fs/ 下创建自己的层次结构(参见Documentation/filesystems/fuse.txt)。
+在 fs/ 下创建自己的层次结构(参见Documentation/filesystems/fuse.rst)。
 
 dev/ 包含两个子目录: char/ 和 block/。在这两个子目录中,有以
 <major>:<minor> 格式命名的符号链接。这些符号链接指向 sysfs 目录
diff --git a/Documentation/translations/zh_CN/process/submit-checklist.rst b/Documentation/translations/zh_CN/process/submit-checklist.rst
index 8738c55e42a2..50386e0e42e7 100644
--- a/Documentation/translations/zh_CN/process/submit-checklist.rst
+++ b/Documentation/translations/zh_CN/process/submit-checklist.rst
@@ -97,7 +97,7 @@ Linux内核补丁提交清单
 24) 所有内存屏障例如 ``barrier()``, ``rmb()``, ``wmb()`` 都需要源代码中的注
     释来解释它们正在执行的操作及其原因的逻辑。
 
-25) 如果补丁添加了任何ioctl,那么也要更新 ``Documentation/ioctl/ioctl-number.rst``
+25) 如果补丁添加了任何ioctl,那么也要更新 ``Documentation/userspace-api/ioctl/ioctl-number.rst``
 
 26) 如果修改后的源代码依赖或使用与以下 ``Kconfig`` 符号相关的任何内核API或
     功能,则在禁用相关 ``Kconfig`` 符号和/或 ``=m`` (如果该选项可用)的情况
diff --git a/Documentation/virt/kvm/arm/pvtime.rst b/Documentation/virt/kvm/arm/pvtime.rst
index 2357dd2d8655..687b60d76ca9 100644
--- a/Documentation/virt/kvm/arm/pvtime.rst
+++ b/Documentation/virt/kvm/arm/pvtime.rst
@@ -76,5 +76,5 @@ It is advisable that one or more 64k pages are set aside for the purpose of
 these structures and not used for other purposes, this enables the guest to map
 the region using 64k pages and avoids conflicting attributes with other memory.
 
-For the user space interface see Documentation/virt/kvm/devices/vcpu.txt
+For the user space interface see Documentation/virt/kvm/devices/vcpu.rst
 section "3. GROUP: KVM_ARM_VCPU_PVTIME_CTRL".
diff --git a/Documentation/virt/kvm/devices/vcpu.rst b/Documentation/virt/kvm/devices/vcpu.rst
index 9963e680770a..ca374d3fe085 100644
--- a/Documentation/virt/kvm/devices/vcpu.rst
+++ b/Documentation/virt/kvm/devices/vcpu.rst
@@ -110,5 +110,5 @@ Returns:
 
 Specifies the base address of the stolen time structure for this VCPU. The
 base address must be 64 byte aligned and exist within a valid guest memory
-region. See Documentation/virt/kvm/arm/pvtime.txt for more information
+region. See Documentation/virt/kvm/arm/pvtime.rst for more information
 including the layout of the stolen time structure.
diff --git a/Documentation/virt/kvm/hypercalls.rst b/Documentation/virt/kvm/hypercalls.rst
index dbaf207e560d..ed4fddd364ea 100644
--- a/Documentation/virt/kvm/hypercalls.rst
+++ b/Documentation/virt/kvm/hypercalls.rst
@@ -22,7 +22,7 @@ S390:
   number in R1.
 
   For further information on the S390 diagnose call as supported by KVM,
-  refer to Documentation/virt/kvm/s390-diag.txt.
+  refer to Documentation/virt/kvm/s390-diag.rst.
 
 PowerPC:
   It uses R3-R10 and hypercall number in R11. R4-R11 are used as output registers.
@@ -30,7 +30,7 @@ PowerPC:
 
   KVM hypercalls uses 4 byte opcode, that are patched with 'hypercall-instructions'
   property inside the device tree's /hypervisor node.
-  For more information refer to Documentation/virt/kvm/ppc-pv.txt
+  For more information refer to Documentation/virt/kvm/ppc-pv.rst
 
 MIPS:
   KVM hypercalls use the HYPCALL instruction with code 0 and the hypercall
diff --git a/arch/powerpc/include/uapi/asm/kvm_para.h b/arch/powerpc/include/uapi/asm/kvm_para.h
index be48c2215fa2..a809b1b44ddf 100644
--- a/arch/powerpc/include/uapi/asm/kvm_para.h
+++ b/arch/powerpc/include/uapi/asm/kvm_para.h
@@ -31,7 +31,7 @@
  * Struct fields are always 32 or 64 bit aligned, depending on them being 32
  * or 64 bit wide respectively.
  *
- * See Documentation/virt/kvm/ppc-pv.txt
+ * See Documentation/virt/kvm/ppc-pv.rst
  */
 struct kvm_vcpu_arch_shared {
 	__u64 scratch1;
diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig
index 43594978958e..fb92be7e8aa7 100644
--- a/drivers/gpu/drm/Kconfig
+++ b/drivers/gpu/drm/Kconfig
@@ -161,7 +161,7 @@ config DRM_LOAD_EDID_FIRMWARE
 	  monitor are unable to provide appropriate EDID data. Since this
 	  feature is provided as a workaround for broken hardware, the
 	  default case is N. Details and instructions how to build your own
-	  EDID data are given in Documentation/driver-api/edid.rst.
+	  EDID data are given in Documentation/admin-guide/edid.rst.
 
 config DRM_DP_CEC
 	bool "Enable DisplayPort CEC-Tunneling-over-AUX HDMI support"
diff --git a/drivers/gpu/drm/drm_ioctl.c b/drivers/gpu/drm/drm_ioctl.c
index 9e41972c4bbc..c2b8d2a953ae 100644
--- a/drivers/gpu/drm/drm_ioctl.c
+++ b/drivers/gpu/drm/drm_ioctl.c
@@ -741,7 +741,7 @@ static const struct drm_ioctl_desc drm_ioctls[] = {
  *     };
  *
  * Please make sure that you follow all the best practices from
- * ``Documentation/ioctl/botching-up-ioctls.rst``. Note that drm_ioctl()
+ * ``Documentation/process/botching-up-ioctls.rst``. Note that drm_ioctl()
  * automatically zero-extends structures, hence make sure you can add more stuff
  * at the end, i.e. don't put a variable sized array there.
  *
diff --git a/drivers/hwtracing/coresight/Kconfig b/drivers/hwtracing/coresight/Kconfig
index 83e841be1081..02dbb5ca3bcf 100644
--- a/drivers/hwtracing/coresight/Kconfig
+++ b/drivers/hwtracing/coresight/Kconfig
@@ -107,7 +107,7 @@ config CORESIGHT_CPU_DEBUG
 	  can quickly get to know program counter (PC), secure state,
 	  exception level, etc. Before use debugging functionality, platform
 	  needs to ensure the clock domain and power domain are enabled
-	  properly, please refer Documentation/trace/coresight-cpu-debug.rst
+	  properly, please refer Documentation/trace/coresight/coresight-cpu-debug.rst
 	  for detailed description and the example for usage.
 
 config CORESIGHT_CTI
diff --git a/fs/fat/Kconfig b/fs/fat/Kconfig
index 718163d0c621..ca31993dcb47 100644
--- a/fs/fat/Kconfig
+++ b/fs/fat/Kconfig
@@ -69,7 +69,7 @@ config VFAT_FS
 
 	  The VFAT support enlarges your kernel by about 10 KB and it only
 	  works if you said Y to the "DOS FAT fs support" above.  Please read
-	  the file <file:Documentation/filesystems/vfat.txt> for details.  If
+	  the file <file:Documentation/filesystems/vfat.rst> for details.  If
 	  unsure, say Y.
 
 	  To compile this as a module, choose M here: the module will be called
@@ -82,7 +82,7 @@ config FAT_DEFAULT_CODEPAGE
 	help
 	  This option should be set to the codepage of your FAT filesystems.
 	  It can be overridden with the "codepage" mount option.
-	  See <file:Documentation/filesystems/vfat.txt> for more information.
+	  See <file:Documentation/filesystems/vfat.rst> for more information.
 
 config FAT_DEFAULT_IOCHARSET
 	string "Default iocharset for FAT"
@@ -96,7 +96,7 @@ config FAT_DEFAULT_IOCHARSET
 	  Note that "utf8" is not recommended for FAT filesystems.
 	  If unsure, you shouldn't set "utf8" here - select the next option
 	  instead if you would like to use UTF-8 encoded file names by default.
-	  See <file:Documentation/filesystems/vfat.txt> for more information.
+	  See <file:Documentation/filesystems/vfat.rst> for more information.
 
 	  Enable any character sets you need in File Systems/Native Language
 	  Support.
@@ -114,4 +114,4 @@ config FAT_DEFAULT_UTF8
 
 	  Say Y if you use UTF-8 encoding for file names, N otherwise.
 
-	  See <file:Documentation/filesystems/vfat.txt> for more information.
+	  See <file:Documentation/filesystems/vfat.rst> for more information.
diff --git a/fs/fuse/Kconfig b/fs/fuse/Kconfig
index eb2a585572dc..774b2618018a 100644
--- a/fs/fuse/Kconfig
+++ b/fs/fuse/Kconfig
@@ -12,7 +12,7 @@ config FUSE_FS
 	  although chances are your distribution already has that library
 	  installed if you've installed the "fuse" package itself.
 
-	  See <file:Documentation/filesystems/fuse.txt> for more information.
+	  See <file:Documentation/filesystems/fuse.rst> for more information.
 	  See <file:Documentation/Changes> for needed library/utility version.
 
 	  If you want to develop a userspace FS, or if you want to use
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c
index 97eec7522bf2..c7a65cf2bcca 100644
--- a/fs/fuse/dev.c
+++ b/fs/fuse/dev.c
@@ -2081,7 +2081,7 @@ static void end_polls(struct fuse_conn *fc)
  * The same effect is usually achievable through killing the filesystem daemon
  * and all users of the filesystem.  The exception is the combination of an
  * asynchronous request and the tricky deadlock (see
- * Documentation/filesystems/fuse.txt).
+ * Documentation/filesystems/fuse.rst).
  *
  * Aborting requests under I/O goes as follows: 1: Separate out unlocked
  * requests, they should be finished off immediately.  Locked requests will be
diff --git a/fs/overlayfs/Kconfig b/fs/overlayfs/Kconfig
index 714c14c47ca5..dd188c7996b3 100644
--- a/fs/overlayfs/Kconfig
+++ b/fs/overlayfs/Kconfig
@@ -9,7 +9,7 @@ config OVERLAY_FS
 	  'lower' filesystem is either hidden or, in the case of directories,
 	  merged with the 'upper' object.
 
-	  For more information see Documentation/filesystems/overlayfs.txt
+	  For more information see Documentation/filesystems/overlayfs.rst
 
 config OVERLAY_FS_REDIRECT_DIR
 	bool "Overlayfs: turn on redirect directory feature by default"
@@ -38,7 +38,7 @@ config OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW
 	  If backward compatibility is not an issue, then it is safe and
 	  recommended to say N here.
 
-	  For more information, see Documentation/filesystems/overlayfs.txt
+	  For more information, see Documentation/filesystems/overlayfs.rst
 
 	  If unsure, say Y.
 
@@ -103,7 +103,7 @@ config OVERLAY_FS_XINO_AUTO
 	  If compatibility with applications that expect 32bit inodes is not an
 	  issue, then it is safe and recommended to say Y here.
 
-	  For more information, see Documentation/filesystems/overlayfs.txt
+	  For more information, see Documentation/filesystems/overlayfs.rst
 
 	  If unsure, say N.
 
diff --git a/include/linux/mm.h b/include/linux/mm.h
index b095b502eafc..02b8c64994b9 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1220,7 +1220,7 @@ void unpin_user_pages(struct page **pages, unsigned long npages);
  * used to track the pincount (instead using of the GUP_PIN_COUNTING_BIAS
  * scheme).
  *
- * For more information, please see Documentation/vm/pin_user_pages.rst.
+ * For more information, please see Documentation/core-api/pin_user_pages.rst.
  *
  * @page:	pointer to page to be queried.
  * @Return:	True, if it is likely that the page has been "dma-pinned".
@@ -2836,7 +2836,7 @@ struct page *follow_page(struct vm_area_struct *vma, unsigned long address,
  * releasing pages: get_user_pages*() pages must be released via put_page(),
  * while pin_user_pages*() pages must be released via unpin_user_page().
  *
- * Please see Documentation/vm/pin_user_pages.rst for more information.
+ * Please see Documentation/core-api/pin_user_pages.rst for more information.
  */
 
 static inline int vm_fault_to_errno(vm_fault_t vm_fault, int foll_flags)
diff --git a/include/uapi/linux/ethtool_netlink.h b/include/uapi/linux/ethtool_netlink.h
index 7fde76366ba4..1711e57f7848 100644
--- a/include/uapi/linux/ethtool_netlink.h
+++ b/include/uapi/linux/ethtool_netlink.h
@@ -2,7 +2,7 @@
 /*
  * include/uapi/linux/ethtool_netlink.h - netlink interface for ethtool
  *
- * See Documentation/networking/ethtool-netlink.txt in kernel source tree for
+ * See Documentation/networking/ethtool-netlink.rst in kernel source tree for
  * doucumentation of the interface.
  */
 
diff --git a/include/uapi/rdma/rdma_user_ioctl_cmds.h b/include/uapi/rdma/rdma_user_ioctl_cmds.h
index 7b1ec806f8f9..38ab7accb7be 100644
--- a/include/uapi/rdma/rdma_user_ioctl_cmds.h
+++ b/include/uapi/rdma/rdma_user_ioctl_cmds.h
@@ -36,7 +36,7 @@
 #include <linux/types.h>
 #include <linux/ioctl.h>
 
-/* Documentation/ioctl/ioctl-number.rst */
+/* Documentation/userspace-api/ioctl/ioctl-number.rst */
 #define RDMA_IOCTL_MAGIC	0x1b
 #define RDMA_VERBS_IOCTL \
 	_IOWR(RDMA_IOCTL_MAGIC, 1, struct ib_uverbs_ioctl_hdr)
diff --git a/mm/gup.c b/mm/gup.c
index a21230569520..ce959f371f48 100644
--- a/mm/gup.c
+++ b/mm/gup.c
@@ -2840,9 +2840,9 @@ EXPORT_SYMBOL_GPL(get_user_pages_fast);
  * the arguments here are identical.
  *
  * FOLL_PIN means that the pages must be released via unpin_user_page(). Please
- * see Documentation/vm/pin_user_pages.rst for further details.
+ * see Documentation/core-api/pin_user_pages.rst for further details.
  *
- * This is intended for Case 1 (DIO) in Documentation/vm/pin_user_pages.rst. It
+ * This is intended for Case 1 (DIO) in Documentation/core-api/pin_user_pages.rst. It
  * is NOT intended for Case 2 (RDMA: long-term pins).
  */
 int pin_user_pages_fast(unsigned long start, int nr_pages,
@@ -2880,9 +2880,9 @@ EXPORT_SYMBOL_GPL(pin_user_pages_fast);
  * the arguments here are identical.
  *
  * FOLL_PIN means that the pages must be released via unpin_user_page(). Please
- * see Documentation/vm/pin_user_pages.rst for details.
+ * see Documentation/core-api/pin_user_pages.rst for details.
  *
- * This is intended for Case 1 (DIO) in Documentation/vm/pin_user_pages.rst. It
+ * This is intended for Case 1 (DIO) in Documentation/core-api/pin_user_pages.rst. It
  * is NOT intended for Case 2 (RDMA: long-term pins).
  */
 long pin_user_pages_remote(struct task_struct *tsk, struct mm_struct *mm,
@@ -2916,9 +2916,9 @@ EXPORT_SYMBOL(pin_user_pages_remote);
  * FOLL_PIN is set.
  *
  * FOLL_PIN means that the pages must be released via unpin_user_page(). Please
- * see Documentation/vm/pin_user_pages.rst for details.
+ * see Documentation/core-api/pin_user_pages.rst for details.
  *
- * This is intended for Case 1 (DIO) in Documentation/vm/pin_user_pages.rst. It
+ * This is intended for Case 1 (DIO) in Documentation/core-api/pin_user_pages.rst. It
  * is NOT intended for Case 2 (RDMA: long-term pins).
  */
 long pin_user_pages(unsigned long start, unsigned long nr_pages,
diff --git a/virt/kvm/arm/vgic/vgic-mmio-v3.c b/virt/kvm/arm/vgic/vgic-mmio-v3.c
index e72dcc454247..859464fd413f 100644
--- a/virt/kvm/arm/vgic/vgic-mmio-v3.c
+++ b/virt/kvm/arm/vgic/vgic-mmio-v3.c
@@ -301,7 +301,7 @@ static unsigned long vgic_v3_uaccess_read_pending(struct kvm_vcpu *vcpu,
 	 * pending state of interrupt is latched in pending_latch variable.
 	 * Userspace will save and restore pending state and line_level
 	 * separately.
-	 * Refer to Documentation/virt/kvm/devices/arm-vgic-v3.txt
+	 * Refer to Documentation/virt/kvm/devices/arm-vgic-v3.rst
 	 * for handling of ISPENDR and ICPENDR.
 	 */
 	for (i = 0; i < len * 8; i++) {
diff --git a/virt/kvm/arm/vgic/vgic.h b/virt/kvm/arm/vgic/vgic.h
index 769e4802645e..64fcd7511110 100644
--- a/virt/kvm/arm/vgic/vgic.h
+++ b/virt/kvm/arm/vgic/vgic.h
@@ -42,7 +42,7 @@
 			    VGIC_AFFINITY_LEVEL(val, 3))
 
 /*
- * As per Documentation/virt/kvm/devices/arm-vgic-v3.txt,
+ * As per Documentation/virt/kvm/devices/arm-vgic-v3.rst,
  * below macros are defined for CPUREG encoding.
  */
 #define KVM_REG_ARM_VGIC_SYSREG_OP0_MASK   0x000000000000c000
@@ -63,7 +63,7 @@
 				      KVM_REG_ARM_VGIC_SYSREG_OP2_MASK)
 
 /*
- * As per Documentation/virt/kvm/devices/arm-vgic-its.txt,
+ * As per Documentation/virt/kvm/devices/arm-vgic-its.rst,
  * below macros are defined for ITS table entry encoding.
  */
 #define KVM_ITS_CTE_VALID_SHIFT		63
-- 
2.25.2


^ permalink raw reply related

* [PATCH 31/35] powerpc: docs: cxl.rst: mark two section titles as such
From: Mauro Carvalho Chehab @ 2020-04-08 15:46 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: Andrew Donnellan, Jonathan Corbet, Mauro Carvalho Chehab,
	linux-kernel, Paul Mackerras, Frederic Barrat, linuxppc-dev
In-Reply-To: <cover.1586359676.git.mchehab+huawei@kernel.org>

The User API chapter contains two sub-chapters. Mark them as
such.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 Documentation/powerpc/cxl.rst | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/powerpc/cxl.rst b/Documentation/powerpc/cxl.rst
index 920546d81326..d2d77057610e 100644
--- a/Documentation/powerpc/cxl.rst
+++ b/Documentation/powerpc/cxl.rst
@@ -133,6 +133,7 @@ User API
 ========
 
 1. AFU character devices
+^^^^^^^^^^^^^^^^^^^^^^^^
 
     For AFUs operating in AFU directed mode, two character device
     files will be created. /dev/cxl/afu0.0m will correspond to a
@@ -395,6 +396,7 @@ read
 
 
 2. Card character device (powerVM guest only)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
     In a powerVM guest, an extra character device is created for the
     card. The device is only used to write (flash) a new image on the
-- 
2.25.2


^ permalink raw reply related

* [PATCH 00/35] Documentation fixes for Kernel 5.8
From: Mauro Carvalho Chehab @ 2020-04-08 15:45 UTC (permalink / raw)
  To: Linux Doc Mailing List
  Cc: kvm, linux-pci, Linus Walleij, dri-devel, linux-unionfs, linux-mm,
	netdev, linux-i2c, linux1394-devel, kvmarm, linux-arch,
	Rob Herring, Geert Uytterhoeven, linux-scsi, Jonathan Corbet,
	Mauro Carvalho Chehab, Kishon Vijay Abraham I, Matthias Kaehlcke,
	Sandeep Maheswaram, MPT-FusionLinux.pdl, linux-media, devicetree,
	linux-afs, linux-arm-msm, ecryptfs, kvm-ppc, Stephen Boyd,
	Maxime Ripard, linux-arm-kernel, linux-edac, Matthias Brugger,
	Yuti Amonkar, linux-ide, linux-ntfs-dev, freedreno, linux-usb,
	linux-kernel, linux-spi, linux-rdma, linux-crypto, Sudeep Holla,
	linux-fsdevel, linuxppc-dev, ocfs2-devel

Hi Jon,

I have a large list of patches this time for the Documentation/. So, I'm
starting sending them a little earier. Yet, those are meant to be applied
after the end of the merge window. They're based on today's linux-next,
with has only 49 patches pending to be applied upstream touching
Documentation/, so I don't expect much conflicts if applied early at
-rc cycle.

Most of the patches here were already submitted, but weren't
merged yet at next. So, it seems that nobody picked them yet.

In any case, most of those patches here are independent from 
the others.

The number of doc build warnings have been rising with time.
The main goal with this series is to get rid of most Sphinx warnings
and other errors.

Patches 1 to 5: fix broken references detected by this tool:

        ./scripts/documentation-file-ref-check

The other patches fix other random errors due to tags being
mis-interpreted or mis-used.

You should notice that several patches touch kernel-doc scripts.
IMHO, some of the warnings are actually due to kernel-doc being
too pedantic. So, I ended by improving some things at the toolset,
in order to make it smarter. That's the case of those patches:

	docs: scripts/kernel-doc: accept blank lines on parameter description
	scripts: kernel-doc: accept negation like !@var
	scripts: kernel-doc: proper handle @foo->bar()

The last 4 patches address problems with PDF building.

The first one address a conflict that will rise during the merge
window: Documentation/media will be removed. Instead of
just drop it from the list of PDF documents, I opted to drop the
entire list, as conf.py will auto-generate from the sources:

	docs: LaTeX/PDF: drop list of documents

Also, right now, PDF output is broken due to a namespace conflict 
at I2c (two pdf outputs there will have the same name).

	docs: i2c: rename i2c.svg to i2c_bus.svg

The third PDF patch is not really a fix, but it helps a lot to identify
if the build succeeded or not, by placing the final PDF output on
a separate dir:

	docs: Makefile: place final pdf docs on a separate dir

Finally, the last one solves a bug since the first supported Sphinx
version, with also impacts PDF output: basically while nested tables
are valid with ReST notation, the toolset only started supporting
it on PDF output since version 2.4:

	docs: update recommended Sphinx version to 2.4.4

PS.: Due to the large number of C/C, I opted to keep a smaller
set of C/C at this first e-mail (only e-mails with "L:" tag from
MAINTAINERS file).

Mauro Carvalho Chehab (35):
  MAINTAINERS: dt: update display/allwinner file entry
  docs: dt: fix broken reference to phy-cadence-torrent.yaml
  docs: fix broken references to text files
  docs: fix broken references for ReST files that moved around
  docs: filesystems: fix renamed references
  docs: amu: supress some Sphinx warnings
  docs: arm64: booting.rst: get rid of some warnings
  docs: pci: boot-interrupts.rst: improve html output
  futex: get rid of a kernel-docs build warning
  firewire: firewire-cdev.hL get rid of a docs warning
  scripts: kernel-doc: proper handle @foo->bar()
  lib: bitmap.c: get rid of some doc warnings
  ata: libata-core: fix a doc warning
  fs: inode.c: get rid of docs warnings
  docs: ras: get rid of some warnings
  docs: ras: don't need to repeat twice the same thing
  docs: watch_queue.rst: supress some Sphinx warnings
  scripts: kernel-doc: accept negation like !@var
  docs: infiniband: verbs.c: fix some documentation warnings
  docs: scripts/kernel-doc: accept blank lines on parameter description
  docs: spi: spi.h: fix a doc building warning
  docs: drivers: fix some warnings at base/platform.c when building docs
  docs: fusion: mptbase.c: get rid of a doc build warning
  docs: mm: slab.h: fix a broken cross-reference
  docs mm: userfaultfd.rst: use ``foo`` for literals
  docs: mm: userfaultfd.rst: use a cross-reference for a section
  docs: vm: index.rst: add an orphan doc to the building system
  docs: dt: qcom,dwc3.txt: fix cross-reference for a converted file
  MAINTAINERS: dt: fix pointers for ARM Integrator, Versatile and
    RealView
  docs: dt: fix a broken reference for a file converted to json
  powerpc: docs: cxl.rst: mark two section titles as such
  docs: LaTeX/PDF: drop list of documents
  docs: i2c: rename i2c.svg to i2c_bus.svg
  docs: Makefile: place final pdf docs on a separate dir
  docs: update recommended Sphinx version to 2.4.4

 Documentation/ABI/stable/sysfs-devices-node   |   2 +-
 Documentation/ABI/testing/procfs-smaps_rollup |   2 +-
 Documentation/Makefile                        |   6 +-
 Documentation/PCI/boot-interrupts.rst         |  34 +--
 Documentation/admin-guide/cpu-load.rst        |   2 +-
 Documentation/admin-guide/mm/userfaultfd.rst  | 209 +++++++++---------
 Documentation/admin-guide/nfs/nfsroot.rst     |   2 +-
 Documentation/admin-guide/ras.rst             |  18 +-
 Documentation/arm64/amu.rst                   |   5 +
 Documentation/arm64/booting.rst               |  36 +--
 Documentation/conf.py                         |  38 ----
 .../bindings/net/qualcomm-bluetooth.txt       |   2 +-
 .../bindings/phy/ti,phy-j721e-wiz.yaml        |   2 +-
 .../devicetree/bindings/usb/qcom,dwc3.txt     |   4 +-
 .../doc-guide/maintainer-profile.rst          |   2 +-
 .../driver-api/driver-model/device.rst        |   4 +-
 .../driver-api/driver-model/overview.rst      |   2 +-
 Documentation/filesystems/dax.txt             |   2 +-
 Documentation/filesystems/dnotify.txt         |   2 +-
 .../filesystems/ramfs-rootfs-initramfs.rst    |   2 +-
 Documentation/filesystems/sysfs.rst           |   2 +-
 Documentation/i2c/{i2c.svg => i2c_bus.svg}    |   2 +-
 Documentation/i2c/summary.rst                 |   2 +-
 Documentation/memory-barriers.txt             |   2 +-
 Documentation/powerpc/cxl.rst                 |   2 +
 .../powerpc/firmware-assisted-dump.rst        |   2 +-
 Documentation/process/adding-syscalls.rst     |   2 +-
 Documentation/process/submit-checklist.rst    |   2 +-
 Documentation/sphinx/requirements.txt         |   2 +-
 .../it_IT/process/adding-syscalls.rst         |   2 +-
 .../it_IT/process/submit-checklist.rst        |   2 +-
 .../translations/ko_KR/memory-barriers.txt    |   2 +-
 .../translations/zh_CN/filesystems/sysfs.txt  |   8 +-
 .../zh_CN/process/submit-checklist.rst        |   2 +-
 Documentation/virt/kvm/arm/pvtime.rst         |   2 +-
 Documentation/virt/kvm/devices/vcpu.rst       |   2 +-
 Documentation/virt/kvm/hypercalls.rst         |   4 +-
 Documentation/virt/kvm/mmu.rst                |   2 +-
 Documentation/virt/kvm/review-checklist.rst   |   2 +-
 Documentation/vm/index.rst                    |   1 +
 Documentation/watch_queue.rst                 |  34 ++-
 MAINTAINERS                                   |   7 +-
 arch/powerpc/include/uapi/asm/kvm_para.h      |   2 +-
 arch/x86/kvm/mmu/mmu.c                        |   2 +-
 drivers/ata/libata-core.c                     |   2 +-
 drivers/base/core.c                           |   2 +-
 drivers/base/platform.c                       |   6 +-
 .../allwinner/sun8i-ce/sun8i-ce-cipher.c      |   2 +-
 .../crypto/allwinner/sun8i-ce/sun8i-ce-core.c |   2 +-
 .../allwinner/sun8i-ss/sun8i-ss-cipher.c      |   2 +-
 .../crypto/allwinner/sun8i-ss/sun8i-ss-core.c |   2 +-
 drivers/gpu/drm/Kconfig                       |   2 +-
 drivers/gpu/drm/drm_ioctl.c                   |   2 +-
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h       |   2 +-
 drivers/hwtracing/coresight/Kconfig           |   2 +-
 drivers/infiniband/core/verbs.c               |   7 +-
 drivers/media/v4l2-core/v4l2-fwnode.c         |   2 +-
 drivers/message/fusion/mptbase.c              |   8 +-
 fs/Kconfig                                    |   2 +-
 fs/Kconfig.binfmt                             |   2 +-
 fs/adfs/Kconfig                               |   2 +-
 fs/affs/Kconfig                               |   2 +-
 fs/afs/Kconfig                                |   6 +-
 fs/bfs/Kconfig                                |   2 +-
 fs/cramfs/Kconfig                             |   2 +-
 fs/ecryptfs/Kconfig                           |   2 +-
 fs/fat/Kconfig                                |   8 +-
 fs/fuse/Kconfig                               |   2 +-
 fs/fuse/dev.c                                 |   2 +-
 fs/hfs/Kconfig                                |   2 +-
 fs/hpfs/Kconfig                               |   2 +-
 fs/inode.c                                    |   6 +-
 fs/isofs/Kconfig                              |   2 +-
 fs/namespace.c                                |   2 +-
 fs/notify/inotify/Kconfig                     |   2 +-
 fs/ntfs/Kconfig                               |   2 +-
 fs/ocfs2/Kconfig                              |   2 +-
 fs/overlayfs/Kconfig                          |   6 +-
 fs/proc/Kconfig                               |   4 +-
 fs/romfs/Kconfig                              |   2 +-
 fs/sysfs/dir.c                                |   2 +-
 fs/sysfs/file.c                               |   2 +-
 fs/sysfs/mount.c                              |   2 +-
 fs/sysfs/symlink.c                            |   2 +-
 fs/sysv/Kconfig                               |   2 +-
 fs/udf/Kconfig                                |   2 +-
 include/linux/kobject.h                       |   2 +-
 include/linux/kobject_ns.h                    |   2 +-
 include/linux/mm.h                            |   4 +-
 include/linux/relay.h                         |   2 +-
 include/linux/slab.h                          |   2 +-
 include/linux/spi/spi.h                       |   1 +
 include/linux/sysfs.h                         |   2 +-
 include/uapi/linux/ethtool_netlink.h          |   2 +-
 include/uapi/linux/firewire-cdev.h            |   2 +-
 include/uapi/linux/kvm.h                      |   4 +-
 include/uapi/rdma/rdma_user_ioctl_cmds.h      |   2 +-
 kernel/futex.c                                |   3 +
 kernel/relay.c                                |   2 +-
 lib/bitmap.c                                  |  27 +--
 lib/kobject.c                                 |   4 +-
 mm/gup.c                                      |  12 +-
 scripts/kernel-doc                            |  41 ++--
 tools/include/uapi/linux/kvm.h                |   4 +-
 virt/kvm/arm/vgic/vgic-mmio-v3.c              |   2 +-
 virt/kvm/arm/vgic/vgic.h                      |   4 +-
 106 files changed, 373 insertions(+), 338 deletions(-)
 rename Documentation/i2c/{i2c.svg => i2c_bus.svg} (99%)

-- 
2.25.2



^ permalink raw reply

* Re: [PATCH 02/28] staging: android: ion: use vmap instead of vm_map_ram
From: Christoph Hellwig @ 2020-04-08 15:40 UTC (permalink / raw)
  To: Hillf Danton
  Cc: linux-arch, linux-hyperv, linux-s390, Peter Zijlstra,
	syzkaller-bugs, bpf, dri-devel, linux-kernel, linaro-mm-sig,
	linux-mm, iommu, Andrew Morton, linuxppc-dev, Christoph Hellwig,
	linux-arm-kernel
In-Reply-To: <20200408124833.13032-1-hdanton@sina.com>

On Wed, Apr 08, 2020 at 08:48:33PM +0800, Hillf Danton wrote:
> > -	void *addr = vm_map_ram(pages, num, -1, pgprot);
> > +	void *addr = vmap(pages, num, VM_MAP);
> 
> A merge glitch?
> 
> void *vmap(struct page **pages, unsigned int count,
> 	   unsigned long flags, pgprot_t prot)

Yes, thanks for the headsup, you were as fast as the build bot :)

Fixed now.

^ permalink raw reply

* Re: [PATCH 10/28] mm: only allow page table mappings for built-in zsmalloc
From: Randy Dunlap @ 2020-04-08 15:37 UTC (permalink / raw)
  To: Christoph Hellwig, Matthew Wilcox
  Cc: linux-hyperv, Peter Zijlstra, dri-devel, linux-mm,
	K. Y. Srinivasan, Sumit Semwal, linux-arch, linux-s390, Wei Liu,
	Stephen Hemminger, x86, David Airlie, Laura Abbott, Nitin Gupta,
	Daniel Vetter, Haiyang Zhang, linaro-mm-sig, bpf,
	linux-arm-kernel, Robin Murphy, linux-kernel, Minchan Kim, iommu,
	Sakari Ailus, Andrew Morton, linuxppc-dev
In-Reply-To: <20200408153602.GA28081@lst.de>

On 4/8/20 8:36 AM, Christoph Hellwig wrote:
> On Wed, Apr 08, 2020 at 08:15:19AM -0700, Matthew Wilcox wrote:
>>>>>  config ZSMALLOC_PGTABLE_MAPPING
>>>>>  	bool "Use page table mapping to access object in zsmalloc"
>>>>> -	depends on ZSMALLOC
>>>>> +	depends on ZSMALLOC=y
>>>>
>>>> It's a bool so this shouldn't matter... not needed.
>>>
>>> My mm/Kconfig has:
>>>
>>> config ZSMALLOC
>>> 	tristate "Memory allocator for compressed pages"
>>> 	depends on MMU
>>>
>>> which I think means it can be modular, no?
>>
>> Randy means that ZSMALLOC_PGTABLE_MAPPING is a bool, so I think hch's patch
>> is wrong ... if ZSMALLOC is 'm' then ZSMALLOC_PGTABLE_MAPPING would become
>> 'n' instead of 'y'.
> 
> In Linus' tree you can select PGTABLE_MAPPING=y with ZSMALLOC=m,
> and that fits my understanding of the kbuild language.  With this
> patch I can't anymore.
> 

Makes sense. thanks.

-- 
~Randy


^ permalink raw reply

* Re: [PATCH 10/28] mm: only allow page table mappings for built-in zsmalloc
From: Randy Dunlap @ 2020-04-08 15:36 UTC (permalink / raw)
  To: Matthew Wilcox, Peter Zijlstra
  Cc: linux-hyperv, David Airlie, dri-devel, linux-mm, K. Y. Srinivasan,
	Sumit Semwal, linux-arch, linux-s390, Wei Liu, Stephen Hemminger,
	x86, Christoph Hellwig, Laura Abbott, Nitin Gupta, Daniel Vetter,
	Haiyang Zhang, linaro-mm-sig, bpf, linux-arm-kernel, Robin Murphy,
	linux-kernel, Minchan Kim, iommu, Sakari Ailus, Andrew Morton,
	linuxppc-dev
In-Reply-To: <20200408151519.GQ21484@bombadil.infradead.org>

On 4/8/20 8:15 AM, Matthew Wilcox wrote:
> On Wed, Apr 08, 2020 at 05:12:03PM +0200, Peter Zijlstra wrote:
>> On Wed, Apr 08, 2020 at 08:01:00AM -0700, Randy Dunlap wrote:
>>> Hi,
>>>
>>> On 4/8/20 4:59 AM, Christoph Hellwig wrote:
>>>> diff --git a/mm/Kconfig b/mm/Kconfig
>>>> index 36949a9425b8..614cc786b519 100644
>>>> --- a/mm/Kconfig
>>>> +++ b/mm/Kconfig
>>>> @@ -702,7 +702,7 @@ config ZSMALLOC
>>>>  
>>>>  config ZSMALLOC_PGTABLE_MAPPING
>>>>  	bool "Use page table mapping to access object in zsmalloc"
>>>> -	depends on ZSMALLOC
>>>> +	depends on ZSMALLOC=y
>>>
>>> It's a bool so this shouldn't matter... not needed.
>>
>> My mm/Kconfig has:
>>
>> config ZSMALLOC
>> 	tristate "Memory allocator for compressed pages"
>> 	depends on MMU
>>
>> which I think means it can be modular, no?

ack. I misread it.

> Randy means that ZSMALLOC_PGTABLE_MAPPING is a bool, so I think hch's patch
> is wrong ... if ZSMALLOC is 'm' then ZSMALLOC_PGTABLE_MAPPING would become
> 'n' instead of 'y'.

sigh, I wish that I had meant that. :)

thanks.

-- 
~Randy


^ permalink raw reply

* Re: [PATCH 10/28] mm: only allow page table mappings for built-in zsmalloc
From: Christoph Hellwig @ 2020-04-08 15:36 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: linux-hyperv, Peter Zijlstra, dri-devel, linux-mm,
	K. Y. Srinivasan, Sumit Semwal, linux-arch, linux-s390, Wei Liu,
	Stephen Hemminger, x86, Christoph Hellwig, David Airlie,
	Laura Abbott, Nitin Gupta, Daniel Vetter, Haiyang Zhang,
	linaro-mm-sig, bpf, linux-arm-kernel, Robin Murphy, Randy Dunlap,
	linux-kernel, Minchan Kim, iommu, Sakari Ailus, Andrew Morton,
	linuxppc-dev
In-Reply-To: <20200408151519.GQ21484@bombadil.infradead.org>

On Wed, Apr 08, 2020 at 08:15:19AM -0700, Matthew Wilcox wrote:
> > > >  config ZSMALLOC_PGTABLE_MAPPING
> > > >  	bool "Use page table mapping to access object in zsmalloc"
> > > > -	depends on ZSMALLOC
> > > > +	depends on ZSMALLOC=y
> > > 
> > > It's a bool so this shouldn't matter... not needed.
> > 
> > My mm/Kconfig has:
> > 
> > config ZSMALLOC
> > 	tristate "Memory allocator for compressed pages"
> > 	depends on MMU
> > 
> > which I think means it can be modular, no?
> 
> Randy means that ZSMALLOC_PGTABLE_MAPPING is a bool, so I think hch's patch
> is wrong ... if ZSMALLOC is 'm' then ZSMALLOC_PGTABLE_MAPPING would become
> 'n' instead of 'y'.

In Linus' tree you can select PGTABLE_MAPPING=y with ZSMALLOC=m,
and that fits my understanding of the kbuild language.  With this
patch I can't anymore.

^ permalink raw reply

* Re: [PATCH 18/28] mm: enforce that vmap can't map pages executable
From: Christoph Hellwig @ 2020-04-08 15:32 UTC (permalink / raw)
  To: Mark Rutland
  Cc: linux-hyperv, David Airlie, Catalin marinas, dri-devel, linux-mm,
	K. Y. Srinivasan, Will Deacon, Sumit Semwal, linux-arch,
	linux-s390, Wei Liu, Stephen Hemminger, x86, Christoph Hellwig,
	Peter Zijlstra, Laura Abbott, Nitin Gupta, Daniel Vetter,
	Haiyang Zhang, linaro-mm-sig, bpf, linux-arm-kernel, Robin Murphy,
	linux-kernel, Minchan Kim, iommu, Sakari Ailus, Andrew Morton,
	linuxppc-dev
In-Reply-To: <20200408123835.GB36478@lakrids.cambridge.arm.com>

On Wed, Apr 08, 2020 at 01:38:36PM +0100, Mark Rutland wrote:
> > +static inline pgprot_t pgprot_nx(pgprot_t prot)
> > +{
> > +	return __pgprot(pgprot_val(prot) | _PAGE_NX);
> > +}
> > +#define pgprot_nx pgprot_nx
> > +
> >  #ifdef CONFIG_X86_PAE
> 
> I reckon for arm64 we can do similar in our <asm/pgtable.h>:
> 
> #define pgprot_nx(pgprot_t prot) \
> 	__pgprot_modify(prot, 0, PTE_PXN)
> 
> ... matching the style of our existing pgprot_*() modifier helpers.

I've added that for the next version with attribution to you.

^ permalink raw reply

* Re: [Bug 206203] kmemleak reports various leaks in drivers/of/unittest.c
From: Frank Rowand @ 2020-04-08 15:22 UTC (permalink / raw)
  To: Michael Ellerman, Rob Herring; +Cc: devicetree, linuxppc-dev
In-Reply-To: <877dyqlles.fsf@mpe.ellerman.id.au>

Hi Michael,

On 4/7/20 10:13 PM, Michael Ellerman wrote:
> bugzilla-daemon@bugzilla.kernel.org writes:
>> https://bugzilla.kernel.org/show_bug.cgi?id=206203
>>
>> Erhard F. (erhard_f@mailbox.org) changed:
>>
>>            What    |Removed                     |Added
>> ----------------------------------------------------------------------------
>>  Attachment #286801|0                           |1
>>         is obsolete|                            |
>>
>> --- Comment #10 from Erhard F. (erhard_f@mailbox.org) ---
>> Created attachment 288189
>>   --> https://bugzilla.kernel.org/attachment.cgi?id=288189&action=edit
>> kmemleak output (kernel 5.6.2, Talos II)
> 
> These are all in or triggered by the of unittest code AFAICS.
> Content of the log reproduced below.
> 
> Frank/Rob, are these memory leaks expected?

Thanks for the report.  I'll look at each one.

-Frank


> 
> cheers
> 
> 
> unreferenced object 0xc0000007eb89ca58 (size 192):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.747s)
>   hex dump (first 32 bytes):
>     c0 00 00 00 00 d9 21 38 00 00 00 00 00 00 00 00  ......!8........
>     c0 00 00 07 ec 97 80 08 00 00 00 00 00 00 00 00  ................
>   backtrace:
>     [<0000000007b50c76>] .__of_node_dup+0x38/0x1c0
>     [<00000000e2115f4f>] .of_unittest_changeset+0x13c/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec978008 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.747s)
>   hex dump (first 8 bytes):
>     6e 31 00 6b 6b 6b 6b a5                          n1.kkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000a074532f>] .__of_node_dup+0x50/0x1c0
>     [<00000000e2115f4f>] .of_unittest_changeset+0x13c/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb89e318 (size 192):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.747s)
>   hex dump (first 32 bytes):
>     c0 00 00 00 00 d9 21 38 00 00 00 00 00 00 00 00  ......!8........
>     c0 00 00 07 ec 97 ab 08 00 00 00 00 00 00 00 00  ................
>   backtrace:
>     [<0000000007b50c76>] .__of_node_dup+0x38/0x1c0
>     [<00000000881dc9c4>] .of_unittest_changeset+0x194/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec97ab08 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.747s)
>   hex dump (first 8 bytes):
>     6e 32 00 6b 6b 6b 6b a5                          n2.kkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000a074532f>] .__of_node_dup+0x50/0x1c0
>     [<00000000881dc9c4>] .of_unittest_changeset+0x194/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb89e528 (size 192):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.747s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 ec 97 bd d8 00 00 00 00 00 00 00 00  ................
>     c0 00 00 07 ec 97 b3 18 00 00 00 00 00 00 00 00  ................
>   backtrace:
>     [<0000000007b50c76>] .__of_node_dup+0x38/0x1c0
>     [<00000000af6923cb>] .of_unittest_changeset+0x1ec/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec97b318 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.747s)
>   hex dump (first 8 bytes):
>     6e 32 31 00 6b 6b 6b a5                          n21.kkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000a074532f>] .__of_node_dup+0x50/0x1c0
>     [<00000000af6923cb>] .of_unittest_changeset+0x1ec/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1fb00 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.757s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 ec 97 90 28 00 00 00 03 00 00 00 00  .......(........
>     c0 00 00 07 ec 97 8e d0 00 00 00 00 00 00 00 00  ................
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<000000003079b8f2>] .of_unittest_changeset+0x310/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec979028 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.757s)
>   hex dump (first 8 bytes):
>     6e 61 6d 65 00 6b 6b a5                          name.kk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<000000003079b8f2>] .of_unittest_changeset+0x310/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec978ed0 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.757s)
>   hex dump (first 8 bytes):
>     6e 31 00 6b 6b 6b 6b a5                          n1.kkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<000000003079b8f2>] .of_unittest_changeset+0x310/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1bc80 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.757s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 ec 97 b4 70 00 00 00 03 00 00 00 00  .......p........
>     c0 00 00 07 ec 97 b1 c0 00 00 00 00 00 00 00 00  ................
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<000000000f97f174>] .of_unittest_changeset+0x368/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec97b470 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.757s)
>   hex dump (first 8 bytes):
>     6e 61 6d 65 00 6b 6b a5                          name.kk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<000000000f97f174>] .of_unittest_changeset+0x368/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec97b1c0 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.757s)
>   hex dump (first 8 bytes):
>     6e 32 00 6b 6b 6b 6b a5                          n2.kkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<000000000f97f174>] .of_unittest_changeset+0x368/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1d800 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.764s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 ec 97 88 18 00 00 00 03 00 00 00 00  ................
>     c0 00 00 07 ec 97 bd d8 00 00 00 00 00 00 00 00  ................
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<00000000c71a088a>] .of_unittest_changeset+0x3c0/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec978818 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.764s)
>   hex dump (first 8 bytes):
>     6e 61 6d 65 00 6b 6b a5                          name.kk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<00000000c71a088a>] .of_unittest_changeset+0x3c0/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec97bdd8 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.764s)
>   hex dump (first 8 bytes):
>     6e 32 31 6b 6b 6b 6b a5                          n21kkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<00000000c71a088a>] .of_unittest_changeset+0x3c0/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec979d98 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.764s)
>   hex dump (first 8 bytes):
>     6e 31 00 6b 6b 6b 6b a5                          n1.kkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<0000000001df4c62>] .kvasprintf_const+0xa8/0xf0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<0000000076cbbcf2>] .kobject_add+0x50/0xe0
>     [<000000002d7a6157>] .__of_attach_node_sysfs+0xa8/0x160
>     [<000000004ed552f3>] .__of_changeset_entry_apply+0x32c/0x390
>     [<0000000062a8a683>] .__of_changeset_apply_entries+0x48/0x110
>     [<00000000530ec4ee>] .of_changeset_apply+0x54/0xc0
>     [<0000000039fa95c3>] .of_unittest_changeset+0x8a4/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec9796e0 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.764s)
>   hex dump (first 8 bytes):
>     6e 32 00 6b 6b 6b 6b a5                          n2.kkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<0000000001df4c62>] .kvasprintf_const+0xa8/0xf0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<0000000076cbbcf2>] .kobject_add+0x50/0xe0
>     [<000000002d7a6157>] .__of_attach_node_sysfs+0xa8/0x160
>     [<000000004ed552f3>] .__of_changeset_entry_apply+0x32c/0x390
>     [<0000000062a8a683>] .__of_changeset_apply_entries+0x48/0x110
>     [<00000000530ec4ee>] .of_changeset_apply+0x54/0xc0
>     [<0000000039fa95c3>] .of_unittest_changeset+0x8a4/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec979ef0 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878935 (age 824.764s)
>   hex dump (first 8 bytes):
>     6e 32 31 00 6b 6b 6b a5                          n21.kkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<0000000001df4c62>] .kvasprintf_const+0xa8/0xf0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<0000000076cbbcf2>] .kobject_add+0x50/0xe0
>     [<000000002d7a6157>] .__of_attach_node_sysfs+0xa8/0x160
>     [<000000004ed552f3>] .__of_changeset_entry_apply+0x32c/0x390
>     [<0000000062a8a683>] .__of_changeset_apply_entries+0x48/0x110
>     [<00000000530ec4ee>] .of_changeset_apply+0x54/0xc0
>     [<0000000039fa95c3>] .of_unittest_changeset+0x8a4/0xa20
>     [<00000000925a8013>] .of_unittest+0x1ba0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f2e98800 (size 2048):
>   comm "swapper/0", pid 1, jiffies 4294878936 (age 824.760s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 ec 92 dc 40 ff ff ff ff 00 00 00 00  .......@........
>     c0 00 00 07 ec 92 dc 40 c0 00 20 07 f2 e9 88 18  .......@.. .....
>   backtrace:
>     [<00000000d07b7b2c>] .platform_device_alloc+0x34/0x100
>     [<00000000d9abb21d>] .of_device_alloc+0x44/0x390
>     [<0000000002d381f5>] .of_platform_device_create_pdata+0x78/0x1a0
>     [<00000000c7a45eba>] .of_platform_bus_create+0x214/0x2f0
>     [<00000000c6ba35e7>] .of_platform_bus_create+0x268/0x2f0
>     [<0000000076525030>] .of_platform_populate+0x78/0x140
>     [<00000000d3aeed04>] .of_unittest_platform_populate+0x328/0x50c
>     [<000000003978eb44>] .of_unittest+0x24a8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec92dc40 (size 64):
>   comm "swapper/0", pid 1, jiffies 4294878936 (age 824.760s)
>   hex dump (first 32 bytes):
>     74 65 73 74 63 61 73 65 2d 64 61 74 61 3a 70 6c  testcase-data:pl
>     61 74 66 6f 72 6d 2d 74 65 73 74 73 3a 74 65 73  atform-tests:tes
>   backtrace:
>     [<00000000154ad5cf>] .kvasprintf+0x60/0xd0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<00000000cce6fd03>] .dev_set_name+0x2c/0x40
>     [<000000007d4be46f>] .of_device_alloc+0x2b0/0x390
>     [<0000000002d381f5>] .of_platform_device_create_pdata+0x78/0x1a0
>     [<00000000c7a45eba>] .of_platform_bus_create+0x214/0x2f0
>     [<00000000c6ba35e7>] .of_platform_bus_create+0x268/0x2f0
>     [<0000000076525030>] .of_platform_populate+0x78/0x140
>     [<00000000d3aeed04>] .of_unittest_platform_populate+0x328/0x50c
>     [<000000003978eb44>] .of_unittest+0x24a8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb8aa100 (size 256):
>   comm "swapper/0", pid 1, jiffies 4294878936 (age 824.760s)
>   hex dump (first 32 bytes):
>     00 00 00 00 de ad 4e ad ff ff ff ff 00 00 00 00  ......N.........
>     ff ff ff ff ff ff ff ff c0 00 00 00 02 30 31 a8  .............01.
>   backtrace:
>     [<000000008039b6cb>] .device_add+0x578/0x980
>     [<0000000012aa326f>] .of_device_add+0x58/0x70
>     [<00000000d6a8e21f>] .of_platform_device_create_pdata+0xc4/0x1a0
>     [<00000000c7a45eba>] .of_platform_bus_create+0x214/0x2f0
>     [<00000000c6ba35e7>] .of_platform_bus_create+0x268/0x2f0
>     [<0000000076525030>] .of_platform_populate+0x78/0x140
>     [<00000000d3aeed04>] .of_unittest_platform_populate+0x328/0x50c
>     [<000000003978eb44>] .of_unittest+0x24a8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f2e9a000 (size 2048):
>   comm "swapper/0", pid 1, jiffies 4294878936 (age 824.764s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f2 e7 a2 40 ff ff ff ff 00 00 00 00  .. ....@........
>     c0 00 20 07 f2 e7 a2 40 c0 00 20 07 f2 e9 a0 18  .. ....@.. .....
>   backtrace:
>     [<00000000d07b7b2c>] .platform_device_alloc+0x34/0x100
>     [<00000000d9abb21d>] .of_device_alloc+0x44/0x390
>     [<0000000002d381f5>] .of_platform_device_create_pdata+0x78/0x1a0
>     [<00000000c7a45eba>] .of_platform_bus_create+0x214/0x2f0
>     [<00000000c6ba35e7>] .of_platform_bus_create+0x268/0x2f0
>     [<0000000076525030>] .of_platform_populate+0x78/0x140
>     [<00000000d3aeed04>] .of_unittest_platform_populate+0x328/0x50c
>     [<000000003978eb44>] .of_unittest+0x24a8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f2e7a240 (size 64):
>   comm "swapper/0", pid 1, jiffies 4294878936 (age 824.764s)
>   hex dump (first 32 bytes):
>     74 65 73 74 63 61 73 65 2d 64 61 74 61 3a 70 6c  testcase-data:pl
>     61 74 66 6f 72 6d 2d 74 65 73 74 73 3a 74 65 73  atform-tests:tes
>   backtrace:
>     [<00000000154ad5cf>] .kvasprintf+0x60/0xd0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<00000000cce6fd03>] .dev_set_name+0x2c/0x40
>     [<000000007d4be46f>] .of_device_alloc+0x2b0/0x390
>     [<0000000002d381f5>] .of_platform_device_create_pdata+0x78/0x1a0
>     [<00000000c7a45eba>] .of_platform_bus_create+0x214/0x2f0
>     [<00000000c6ba35e7>] .of_platform_bus_create+0x268/0x2f0
>     [<0000000076525030>] .of_platform_populate+0x78/0x140
>     [<00000000d3aeed04>] .of_unittest_platform_populate+0x328/0x50c
>     [<000000003978eb44>] .of_unittest+0x24a8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb8ac100 (size 256):
>   comm "swapper/0", pid 1, jiffies 4294878936 (age 824.764s)
>   hex dump (first 32 bytes):
>     00 00 00 00 de ad 4e ad ff ff ff ff 00 00 00 00  ......N.........
>     ff ff ff ff ff ff ff ff c0 00 00 00 02 30 31 a8  .............01.
>   backtrace:
>     [<000000008039b6cb>] .device_add+0x578/0x980
>     [<0000000012aa326f>] .of_device_add+0x58/0x70
>     [<00000000d6a8e21f>] .of_platform_device_create_pdata+0xc4/0x1a0
>     [<00000000c7a45eba>] .of_platform_bus_create+0x214/0x2f0
>     [<00000000c6ba35e7>] .of_platform_bus_create+0x268/0x2f0
>     [<0000000076525030>] .of_platform_populate+0x78/0x140
>     [<00000000d3aeed04>] .of_unittest_platform_populate+0x328/0x50c
>     [<000000003978eb44>] .of_unittest+0x24a8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb89f7b8 (size 192):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.760s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 f1 ea 17 b0 00 00 00 00 00 00 00 00  ................
>     c0 00 20 07 f2 e8 47 40 00 00 00 00 00 00 00 00  .. ...G@........
>   backtrace:
>     [<0000000007b50c76>] .__of_node_dup+0x38/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f2e84740 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.764s)
>   hex dump (first 16 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 34 00 a5  test-unittest4..
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000a074532f>] .__of_node_dup+0x50/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1c680 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.764s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f2 e8 70 f0 00 00 00 09 00 00 00 00  .. ...p.........
>     c0 00 20 07 f4 2e b6 b0 c0 00 00 07 f1 c1 df 80  .. .............
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f2e870f0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.764s)
>   hex dump (first 16 bytes):
>     63 6f 6d 70 61 74 69 62 6c 65 00 6b 6b 6b 6b a5  compatible.kkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42eb6b0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.764s)
>   hex dump (first 16 bytes):
>     75 6e 69 74 74 65 73 74 00 6b 6b 6b 6b 6b 6b a5  unittest.kkkkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1df80 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.767s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 ec 7f ec 60 00 00 00 05 00 00 00 00  .......`........
>     c0 00 00 07 ec 7f f4 70 c0 00 00 07 f1 c1 e2 00  .......p........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec7fec60 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.767s)
>   hex dump (first 8 bytes):
>     73 74 61 74 75 73 00 a5                          status..
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec7ff470 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.767s)
>   hex dump (first 8 bytes):
>     6f 6b 61 79 00 6b 6b a5                          okay.kk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1e200 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.767s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 ec 7f dc 40 00 00 00 04 00 00 00 00  .......@........
>     c0 00 00 07 ec 7f cc 20 c0 00 00 07 f1 c1 97 00  ....... ........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec7fdc40 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.767s)
>   hex dump (first 8 bytes):
>     72 65 67 00 6b 6b 6b a5                          reg.kkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec7fcc20 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.767s)
>   hex dump (first 8 bytes):
>     00 00 00 04 6b 6b 6b a5                          ....kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c19700 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.770s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 ec 7f c5 68 00 00 00 0f 00 00 00 00  .......h........
>     c0 00 20 07 f4 2e bb 00 00 00 00 00 00 00 00 00  .. .............
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec7fc568 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.770s)
>   hex dump (first 8 bytes):
>     6e 61 6d 65 00 6b 6b a5                          name.kk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42ebb00 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.770s)
>   hex dump (first 16 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 34 00 a5  test-unittest4..
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42e8fe0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878937 (age 824.770s)
>   hex dump (first 16 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 34 00 a5  test-unittest4..
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<0000000001df4c62>] .kvasprintf_const+0xa8/0xf0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<0000000076cbbcf2>] .kobject_add+0x50/0xe0
>     [<000000002d7a6157>] .__of_attach_node_sysfs+0xa8/0x160
>     [<000000004ed552f3>] .__of_changeset_entry_apply+0x32c/0x390
>     [<0000000062a8a683>] .__of_changeset_apply_entries+0x48/0x110
>     [<0000000067290146>] .of_overlay_fdt_apply+0xb00/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<00000000d856304a>] .of_unittest+0x2758/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb89e108 (size 192):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.767s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 eb a1 c8 a0 00 00 00 00 00 00 00 00  ................
>     c0 00 20 07 f4 2e 8b 90 00 00 00 00 00 00 00 00  .. .............
>   backtrace:
>     [<0000000007b50c76>] .__of_node_dup+0x38/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42e8b90 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.767s)
>   hex dump (first 16 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 30 00  test-unittest10.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000a074532f>] .__of_node_dup+0x50/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c18f80 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.767s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f4 2e 8a 20 00 00 00 09 00 00 00 00  .. .... ........
>     c0 00 20 07 f4 2e a5 70 c0 00 00 07 f1 c1 8a 80  .. ....p........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42e8a20 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.770s)
>   hex dump (first 16 bytes):
>     63 6f 6d 70 61 74 69 62 6c 65 00 6b 6b 6b 6b a5  compatible.kkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42ea570 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.770s)
>   hex dump (first 16 bytes):
>     75 6e 69 74 74 65 73 74 00 6b 6b 6b 6b 6b 6b a5  unittest.kkkkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c18a80 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.770s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f5 57 61 a0 00 00 00 05 00 00 00 00  .. ..Wa.........
>     c0 00 20 07 f5 57 4e d0 c0 00 00 07 f1 c1 94 80  .. ..WN.........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f55761a0 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.774s)
>   hex dump (first 8 bytes):
>     73 74 61 74 75 73 00 a5                          status..
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f5574ed0 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.774s)
>   hex dump (first 8 bytes):
>     6f 6b 61 79 00 6b 6b a5                          okay.kk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c19480 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.774s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f5 57 50 28 00 00 00 04 00 00 00 00  .. ..WP(........
>     c0 00 20 07 f5 57 71 c0 c0 00 00 07 f1 c1 c1 80  .. ..Wq.........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f5575028 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.774s)
>   hex dump (first 8 bytes):
>     72 65 67 00 6b 6b 6b a5                          reg.kkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f55771c0 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.774s)
>   hex dump (first 8 bytes):
>     00 00 00 0a 6b 6b 6b a5                          ....kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1c180 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.774s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f4 2e 99 f0 00 00 00 04 00 00 00 00  .. .............
>     c0 00 20 07 f5 57 74 70 c0 00 00 07 f1 c1 ab 00  .. ..Wtp........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f5577470 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.777s)
>   hex dump (first 8 bytes):
>     00 00 00 01 6b 6b 6b a5                          ....kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1ab00 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.777s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f4 2e 88 b0 00 00 00 04 00 00 00 00  .. .............
>     c0 00 20 07 f5 57 7d d8 c0 00 00 07 f1 c1 8d 00  .. ..W}.........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42e88b0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.777s)
>   hex dump (first 16 bytes):
>     23 73 69 7a 65 2d 63 65 6c 6c 73 00 6b 6b 6b a5  #size-cells.kkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f5577dd8 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.780s)
>   hex dump (first 8 bytes):
>     00 00 00 00 6b 6b 6b a5                          ....kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c18d00 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.780s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f5 57 48 18 00 00 00 10 00 00 00 00  .. ..WH.........
>     c0 00 20 07 f4 2e ac a0 00 00 00 00 00 00 00 00  .. .............
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f5574818 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.780s)
>   hex dump (first 8 bytes):
>     6e 61 6d 65 00 6b 6b a5                          name.kk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42eaca0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.780s)
>   hex dump (first 16 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 30 00  test-unittest10.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb89d8c8 (size 192):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.780s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 eb a1 cb 50 00 00 00 00 00 00 00 00  .......P........
>     c0 00 00 07 ea dd 8d 20 00 00 00 00 00 00 00 00  ....... ........
>   backtrace:
>     [<0000000007b50c76>] .__of_node_dup+0x38/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eadd8d20 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.780s)
>   hex dump (first 32 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 30 31  test-unittest101
>     00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5  .kkkkkkkkkkkkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000a074532f>] .__of_node_dup+0x50/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1a880 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.784s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f4 2e af 80 00 00 00 09 00 00 00 00  .. .............
>     c0 00 20 07 f4 2e 81 80 c0 00 00 07 f1 c1 92 00  .. .............
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42eaf80 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.784s)
>   hex dump (first 16 bytes):
>     63 6f 6d 70 61 74 69 62 6c 65 00 6b 6b 6b 6b a5  compatible.kkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f42e8180 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.784s)
>   hex dump (first 16 bytes):
>     75 6e 69 74 74 65 73 74 00 6b 6b 6b 6b 6b 6b a5  unittest.kkkkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c19200 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.784s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f5 57 75 c8 00 00 00 05 00 00 00 00  .. ..Wu.........
>     c0 00 20 07 f5 57 7c 80 c0 00 00 07 f1 c1 d3 00  .. ..W|.........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f55775c8 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.784s)
>   hex dump (first 8 bytes):
>     73 74 61 74 75 73 00 a5                          status..
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f5577c80 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.784s)
>   hex dump (first 8 bytes):
>     6f 6b 61 79 00 6b 6b a5                          okay.kk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f1c1d300 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.787s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f5 57 77 20 00 00 00 04 00 00 00 00  .. ..Ww ........
>     c0 00 20 07 f5 57 5d 98 c0 00 00 07 f2 25 0f 80  .. ..W]......%..
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f5577720 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.787s)
>   hex dump (first 8 bytes):
>     72 65 67 00 6b 6b 6b a5                          reg.kkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f5575d98 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.787s)
>   hex dump (first 8 bytes):
>     00 00 00 01 6b 6b 6b a5                          ....kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007f2250f80 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.790s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f5 57 68 58 00 00 00 11 00 00 00 00  .. ..WhX........
>     c0 00 00 07 ea dd a2 40 00 00 00 00 00 00 00 00  .......@........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f5576858 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.790s)
>   hex dump (first 8 bytes):
>     6e 61 6d 65 00 6b 6b a5                          name.kk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eadda240 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.790s)
>   hex dump (first 32 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 30 31  test-unittest101
>     00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5  .kkkkkkkkkkkkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece6bc70 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.790s)
>   hex dump (first 16 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 30 00  test-unittest10.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<0000000001df4c62>] .kvasprintf_const+0xa8/0xf0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<0000000076cbbcf2>] .kobject_add+0x50/0xe0
>     [<000000002d7a6157>] .__of_attach_node_sysfs+0xa8/0x160
>     [<000000004ed552f3>] .__of_changeset_entry_apply+0x32c/0x390
>     [<0000000062a8a683>] .__of_changeset_apply_entries+0x48/0x110
>     [<0000000067290146>] .of_overlay_fdt_apply+0xb00/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eadd9540 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878938 (age 824.790s)
>   hex dump (first 32 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 30 31  test-unittest101
>     00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5  .kkkkkkkkkkkkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<0000000001df4c62>] .kvasprintf_const+0xa8/0xf0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<0000000076cbbcf2>] .kobject_add+0x50/0xe0
>     [<000000002d7a6157>] .__of_attach_node_sysfs+0xa8/0x160
>     [<000000004ed552f3>] .__of_changeset_entry_apply+0x32c/0x390
>     [<0000000062a8a683>] .__of_changeset_apply_entries+0x48/0x110
>     [<0000000067290146>] .of_overlay_fdt_apply+0xb00/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<00000000e3d25537>] .of_unittest_apply_overlay_check+0xfc/0x1e4
>     [<000000009b1b95aa>] .of_unittest+0x2da4/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb89e738 (size 192):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.787s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 eb a1 98 a0 00 00 00 00 00 00 00 00  ................
>     c0 00 20 07 ec e6 8e 70 00 00 00 00 00 00 00 00  .. ....p........
>   backtrace:
>     [<0000000007b50c76>] .__of_node_dup+0x38/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece68e70 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.790s)
>   hex dump (first 16 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 31 00  test-unittest11.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000a074532f>] .__of_node_dup+0x50/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec886200 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.790s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 ec e6 a4 00 00 00 00 09 00 00 00 00  .. .............
>     c0 00 20 07 ec e6 99 f0 c0 00 00 07 ec 88 55 80  .. ...........U.
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece6a400 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.790s)
>   hex dump (first 16 bytes):
>     63 6f 6d 70 61 74 69 62 6c 65 00 6b 6b 6b 6b a5  compatible.kkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece699f0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.794s)
>   hex dump (first 16 bytes):
>     75 6e 69 74 74 65 73 74 00 6b 6b 6b 6b 6b 6b a5  unittest.kkkkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec885580 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.794s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f8 5d a0 48 00 00 00 05 00 00 00 00  .. ..].H........
>     c0 00 20 07 f8 5d ac 60 c0 00 00 07 ec 88 46 80  .. ..].`......F.
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f85da048 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.794s)
>   hex dump (first 8 bytes):
>     73 74 61 74 75 73 00 a5                          status..
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f85dac60 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.794s)
>   hex dump (first 8 bytes):
>     6f 6b 61 79 00 6b 6b a5                          okay.kk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec884680 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.794s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f8 5d ab 08 00 00 00 04 00 00 00 00  .. ..]..........
>     c0 00 20 07 f8 5d 9a e8 c0 00 00 07 ec 88 6e 80  .. ..]........n.
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f85dab08 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.794s)
>   hex dump (first 8 bytes):
>     72 65 67 00 6b 6b 6b a5                          reg.kkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f85d9ae8 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.797s)
>   hex dump (first 8 bytes):
>     00 00 00 0b 6b 6b 6b a5                          ....kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec886e80 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.797s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 ec e6 a6 e0 00 00 00 04 00 00 00 00  .. .............
>     c0 00 20 07 f8 5d b3 18 c0 00 00 07 ec 88 44 00  .. ..]........D.
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece6a6e0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.797s)
>   hex dump (first 16 bytes):
>     23 61 64 64 72 65 73 73 2d 63 65 6c 6c 73 00 a5  #address-cells..
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f85db318 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.797s)
>   hex dump (first 8 bytes):
>     00 00 00 01 6b 6b 6b a5                          ....kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec884400 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.797s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 ec e6 81 80 00 00 00 04 00 00 00 00  .. .............
>     c0 00 20 07 f8 5d 92 d8 c0 00 00 07 ec 88 3a 00  .. ..]........:.
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece68180 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.797s)
>   hex dump (first 16 bytes):
>     23 73 69 7a 65 2d 63 65 6c 6c 73 00 6b 6b 6b a5  #size-cells.kkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f85d92d8 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.800s)
>   hex dump (first 8 bytes):
>     00 00 00 00 6b 6b 6b a5                          ....kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec883a00 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.800s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f8 5d 80 08 00 00 00 10 00 00 00 00  .. ..]..........
>     c0 00 20 07 ec e6 b3 d0 00 00 00 00 00 00 00 00  .. .............
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f85d8008 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.800s)
>   hex dump (first 8 bytes):
>     6e 61 6d 65 00 6b 6b a5                          name.kk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece6b3d0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.804s)
>   hex dump (first 16 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 31 00  test-unittest11.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb89fde8 (size 192):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.804s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 eb a1 9b 50 00 00 00 00 00 00 00 00  .......P........
>     c0 00 00 07 ea dd 85 00 00 00 00 00 00 00 00 00  ................
>   backtrace:
>     [<0000000007b50c76>] .__of_node_dup+0x38/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eadd8500 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.804s)
>   hex dump (first 32 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 31 31  test-unittest111
>     00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5  .kkkkkkkkkkkkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000a074532f>] .__of_node_dup+0x50/0x1c0
>     [<000000006f73e286>] .build_changeset_next_level+0x280/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec886c00 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.804s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 ec e6 8a 20 00 00 00 09 00 00 00 00  .. .... ........
>     c0 00 20 07 ec e6 ab 30 c0 00 00 07 ec 88 0a 80  .. ....0........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece68a20 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.804s)
>   hex dump (first 16 bytes):
>     63 6f 6d 70 61 74 69 62 6c 65 00 6b 6b 6b 6b a5  compatible.kkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece6ab30 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.804s)
>   hex dump (first 16 bytes):
>     75 6e 69 74 74 65 73 74 00 6b 6b 6b 6b 6b 6b a5  unittest.kkkkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec880a80 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.807s)
>   hex dump (first 32 bytes):
>     c0 00 20 07 f8 5d a5 a8 00 00 00 05 00 00 00 00  .. ..]..........
>     c0 00 00 07 eb 18 c8 18 c0 00 00 07 ec 88 58 00  ..............X.
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f85da5a8 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.807s)
>   hex dump (first 8 bytes):
>     73 74 61 74 75 73 00 a5                          status..
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb18c818 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.807s)
>   hex dump (first 8 bytes):
>     6f 6b 61 79 00 6b 6b a5                          okay.kk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec885800 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.810s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 eb 18 fc 80 00 00 00 04 00 00 00 00  ................
>     c0 00 00 07 eb 18 f4 70 c0 00 00 07 ec 88 41 80  .......p......A.
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb18fc80 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.810s)
>   hex dump (first 8 bytes):
>     72 65 67 00 6b 6b 6b a5                          reg.kkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb18f470 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.810s)
>   hex dump (first 8 bytes):
>     00 00 00 01 6b 6b 6b a5                          ....kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec884180 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.810s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 eb 18 dd 98 00 00 00 11 00 00 00 00  ................
>     c0 00 00 07 ea dd b4 20 00 00 00 00 00 00 00 00  ....... ........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb18dd98 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.810s)
>   hex dump (first 8 bytes):
>     6e 61 6d 65 00 6b 6b a5                          name.kk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eaddb420 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.810s)
>   hex dump (first 32 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 31 31  test-unittest111
>     00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5  .kkkkkkkkkkkkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<0000000038c6aced>] .add_changeset_property.isra.0+0x61c/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<0000000034ba1197>] .build_changeset_next_level+0x334/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007ece6a850 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.814s)
>   hex dump (first 16 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 31 00  test-unittest11.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<0000000001df4c62>] .kvasprintf_const+0xa8/0xf0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<0000000076cbbcf2>] .kobject_add+0x50/0xe0
>     [<000000002d7a6157>] .__of_attach_node_sysfs+0xa8/0x160
>     [<000000004ed552f3>] .__of_changeset_entry_apply+0x32c/0x390
>     [<0000000062a8a683>] .__of_changeset_apply_entries+0x48/0x110
>     [<0000000067290146>] .of_overlay_fdt_apply+0xb00/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eadda580 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878939 (age 824.814s)
>   hex dump (first 32 bytes):
>     74 65 73 74 2d 75 6e 69 74 74 65 73 74 31 31 31  test-unittest111
>     00 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b a5  .kkkkkkkkkkkkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<0000000001df4c62>] .kvasprintf_const+0xa8/0xf0
>     [<00000000b7ba15a5>] .kobject_set_name_vargs+0x34/0xf0
>     [<0000000076cbbcf2>] .kobject_add+0x50/0xe0
>     [<000000002d7a6157>] .__of_attach_node_sysfs+0xa8/0x160
>     [<000000004ed552f3>] .__of_changeset_entry_apply+0x32c/0x390
>     [<0000000062a8a683>] .__of_changeset_apply_entries+0x48/0x110
>     [<0000000067290146>] .of_overlay_fdt_apply+0xb00/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<000000003ad7372f>] .of_unittest_apply_overlay.constprop.0+0x54/0xb8
>     [<000000008fda7969>] .of_unittest_apply_revert_overlay_check.constprop.0+0xc4/0x2b4
>     [<00000000ea132166>] .of_unittest+0x2ee0/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec881200 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878943 (age 824.800s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 ec 71 d0 28 00 00 00 0c 00 00 00 00  .....q.(........
>     c0 00 20 07 f2 e8 c5 d0 00 00 00 00 00 00 00 00  .. .............
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<000000004e6be113>] .of_unittest+0x3458/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec71d028 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878943 (age 824.800s)
>   hex dump (first 8 bytes):
>     6e 61 6d 65 00 6b 6b a5                          name.kk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<000000004e6be113>] .of_unittest+0x3458/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007f2e8c5d0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878943 (age 824.804s)
>   hex dump (first 16 bytes):
>     5f 5f 73 79 6d 62 6f 6c 73 5f 5f 00 6b 6b 6b a5  __symbols__.kkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<000000004e6be113>] .of_unittest+0x3458/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eaddb280 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878943 (age 824.804s)
>   hex dump (first 32 bytes):
>     2f 74 65 73 74 63 61 73 65 2d 64 61 74 61 2d 32  /testcase-data-2
>     2f 73 75 62 73 74 61 74 69 6f 6e 40 31 30 30 00  /substation@100.
>   backtrace:
>     [<00000000154ad5cf>] .kvasprintf+0x60/0xd0
>     [<00000000c2320ab8>] .kasprintf+0x2c/0x40
>     [<000000005511b2ac>] .add_changeset_property.isra.0+0x170/0xaf0
>     [<0000000060888297>] .of_overlay_fdt_apply+0x5e4/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000daa7ed62>] .of_unittest+0x3404/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eadd9880 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878943 (age 824.804s)
>   hex dump (first 32 bytes):
>     2f 74 65 73 74 63 61 73 65 2d 64 61 74 61 2d 32  /testcase-data-2
>     2f 66 61 69 72 77 61 79 2d 31 00 6b 6b 6b 6b a5  /fairway-1.kkkk.
>   backtrace:
>     [<00000000154ad5cf>] .kvasprintf+0x60/0xd0
>     [<00000000c2320ab8>] .kasprintf+0x2c/0x40
>     [<000000005511b2ac>] .add_changeset_property.isra.0+0x170/0xaf0
>     [<0000000060888297>] .of_overlay_fdt_apply+0x5e4/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000daa7ed62>] .of_unittest+0x3404/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eaddbc40 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878943 (age 824.804s)
>   hex dump (first 32 bytes):
>     2f 74 65 73 74 63 61 73 65 2d 64 61 74 61 2d 32  /testcase-data-2
>     2f 66 61 69 72 77 61 79 2d 31 00 6b 6b 6b 6b a5  /fairway-1.kkkk.
>   backtrace:
>     [<00000000154ad5cf>] .kvasprintf+0x60/0xd0
>     [<00000000c2320ab8>] .kasprintf+0x2c/0x40
>     [<000000005511b2ac>] .add_changeset_property.isra.0+0x170/0xaf0
>     [<0000000060888297>] .of_overlay_fdt_apply+0x5e4/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000daa7ed62>] .of_unittest+0x3404/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eaddbaa0 (size 32):
>   comm "swapper/0", pid 1, jiffies 4294878943 (age 824.804s)
>   hex dump (first 32 bytes):
>     2f 74 65 73 74 63 61 73 65 2d 64 61 74 61 2d 32  /testcase-data-2
>     2f 66 61 69 72 77 61 79 2d 31 00 6b 6b 6b 6b a5  /fairway-1.kkkk.
>   backtrace:
>     [<00000000154ad5cf>] .kvasprintf+0x60/0xd0
>     [<00000000c2320ab8>] .kasprintf+0x2c/0x40
>     [<000000005511b2ac>] .add_changeset_property.isra.0+0x170/0xaf0
>     [<0000000060888297>] .of_overlay_fdt_apply+0x5e4/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000daa7ed62>] .of_unittest+0x3404/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec37b000 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878945 (age 824.797s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 eb 7a 42 f0 00 00 00 04 00 00 00 00  .....zB.........
>     c0 00 20 07 ef af e1 a0 00 00 00 00 00 00 00 00  .. .............
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<00000000e6e185ca>] .add_changeset_property.isra.0+0x960/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000043c13a57>] .build_changeset_next_level+0x21c/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000eaf6e6ea>] .of_unittest+0x35b8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb7a42f0 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878945 (age 824.797s)
>   hex dump (first 16 bytes):
>     72 70 6d 5f 61 76 61 69 6c 00 6b 6b 6b 6b 6b a5  rpm_avail.kkkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<00000000e6e185ca>] .add_changeset_property.isra.0+0x960/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000043c13a57>] .build_changeset_next_level+0x21c/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000eaf6e6ea>] .of_unittest+0x35b8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007efafe1a0 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878945 (age 824.797s)
>   hex dump (first 8 bytes):
>     00 00 00 64 6b 6b 6b a5                          ...dkkk.
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<00000000e6e185ca>] .add_changeset_property.isra.0+0x960/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<0000000043c13a57>] .build_changeset_next_level+0x21c/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000eaf6e6ea>] .of_unittest+0x35b8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007ec37bf00 (size 128):
>   comm "swapper/0", pid 1, jiffies 4294878945 (age 824.797s)
>   hex dump (first 32 bytes):
>     c0 00 00 07 eb 7a 5b 60 00 00 00 08 00 00 00 00  .....z[`........
>     c0 00 20 07 ef af f7 20 00 00 00 00 00 00 00 00  .. .... ........
>   backtrace:
>     [<00000000fd6c039b>] .__of_prop_dup+0x48/0x130
>     [<00000000e6e185ca>] .add_changeset_property.isra.0+0x960/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000eaf6e6ea>] .of_unittest+0x35b8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0000007eb7a5b60 (size 16):
>   comm "swapper/0", pid 1, jiffies 4294878945 (age 824.800s)
>   hex dump (first 16 bytes):
>     72 70 6d 5f 61 76 61 69 6c 00 6b 6b 6b 6b 6b a5  rpm_avail.kkkkk.
>   backtrace:
>     [<00000000c939be68>] .kstrdup+0x44/0xb0
>     [<00000000f0610228>] .__of_prop_dup+0x60/0x130
>     [<00000000e6e185ca>] .add_changeset_property.isra.0+0x960/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000eaf6e6ea>] .of_unittest+0x35b8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> unreferenced object 0xc0002007efaff720 (size 8):
>   comm "swapper/0", pid 1, jiffies 4294878945 (age 824.800s)
>   hex dump (first 8 bytes):
>     00 00 00 64 00 00 00 c8                          ...d....
>   backtrace:
>     [<00000000a2a61f11>] .kmemdup+0x30/0x70
>     [<00000000fcebe2cd>] .__of_prop_dup+0x7c/0x130
>     [<00000000e6e185ca>] .add_changeset_property.isra.0+0x960/0xaf0
>     [<000000008b0977be>] .build_changeset_next_level+0x74/0x370
>     [<000000009598e32c>] .of_overlay_fdt_apply+0x504/0xf90
>     [<00000000a7d4460c>] .overlay_data_apply+0xa8/0x118
>     [<00000000eaf6e6ea>] .of_unittest+0x35b8/0x3778
>     [<00000000af117d89>] .do_one_initcall+0x7c/0x420
>     [<00000000c99776b4>] .kernel_init_freeable+0x318/0x3d8
>     [<0000000001b957ee>] .kernel_init+0x14/0x168
>     [<000000001fe347b5>] .ret_from_kernel_thread+0x58/0x68
> 


^ permalink raw reply

* Re: [PATCH 10/28] mm: only allow page table mappings for built-in zsmalloc
From: Matthew Wilcox @ 2020-04-08 15:15 UTC (permalink / raw)
  To: Peter Zijlstra
  Cc: linux-hyperv, David Airlie, dri-devel, linux-mm, K. Y. Srinivasan,
	Sumit Semwal, linux-arch, linux-s390, Wei Liu, Stephen Hemminger,
	x86, Christoph Hellwig, Laura Abbott, Nitin Gupta, Daniel Vetter,
	Haiyang Zhang, linaro-mm-sig, bpf, linux-arm-kernel, Robin Murphy,
	Randy Dunlap, linux-kernel, Minchan Kim, iommu, Sakari Ailus,
	Andrew Morton, linuxppc-dev
In-Reply-To: <20200408151203.GN20730@hirez.programming.kicks-ass.net>

On Wed, Apr 08, 2020 at 05:12:03PM +0200, Peter Zijlstra wrote:
> On Wed, Apr 08, 2020 at 08:01:00AM -0700, Randy Dunlap wrote:
> > Hi,
> > 
> > On 4/8/20 4:59 AM, Christoph Hellwig wrote:
> > > diff --git a/mm/Kconfig b/mm/Kconfig
> > > index 36949a9425b8..614cc786b519 100644
> > > --- a/mm/Kconfig
> > > +++ b/mm/Kconfig
> > > @@ -702,7 +702,7 @@ config ZSMALLOC
> > >  
> > >  config ZSMALLOC_PGTABLE_MAPPING
> > >  	bool "Use page table mapping to access object in zsmalloc"
> > > -	depends on ZSMALLOC
> > > +	depends on ZSMALLOC=y
> > 
> > It's a bool so this shouldn't matter... not needed.
> 
> My mm/Kconfig has:
> 
> config ZSMALLOC
> 	tristate "Memory allocator for compressed pages"
> 	depends on MMU
> 
> which I think means it can be modular, no?

Randy means that ZSMALLOC_PGTABLE_MAPPING is a bool, so I think hch's patch
is wrong ... if ZSMALLOC is 'm' then ZSMALLOC_PGTABLE_MAPPING would become
'n' instead of 'y'.

^ permalink raw reply

* Re: [PATCH 10/28] mm: only allow page table mappings for built-in zsmalloc
From: Peter Zijlstra @ 2020-04-08 15:12 UTC (permalink / raw)
  To: Randy Dunlap
  Cc: linux-hyperv, David Airlie, dri-devel, linux-mm, K. Y. Srinivasan,
	Sumit Semwal, linux-arch, linux-s390, Wei Liu, Stephen Hemminger,
	x86, Christoph Hellwig, Laura Abbott, Nitin Gupta, Daniel Vetter,
	Haiyang Zhang, linaro-mm-sig, bpf, linux-arm-kernel, Robin Murphy,
	linux-kernel, Minchan Kim, iommu, Sakari Ailus, Andrew Morton,
	linuxppc-dev
In-Reply-To: <c0c86feb-b3d8-78f2-127f-71d682ffc51f@infradead.org>

On Wed, Apr 08, 2020 at 08:01:00AM -0700, Randy Dunlap wrote:
> Hi,
> 
> On 4/8/20 4:59 AM, Christoph Hellwig wrote:
> > diff --git a/mm/Kconfig b/mm/Kconfig
> > index 36949a9425b8..614cc786b519 100644
> > --- a/mm/Kconfig
> > +++ b/mm/Kconfig
> > @@ -702,7 +702,7 @@ config ZSMALLOC
> >  
> >  config ZSMALLOC_PGTABLE_MAPPING
> >  	bool "Use page table mapping to access object in zsmalloc"
> > -	depends on ZSMALLOC
> > +	depends on ZSMALLOC=y
> 
> It's a bool so this shouldn't matter... not needed.

My mm/Kconfig has:

config ZSMALLOC
	tristate "Memory allocator for compressed pages"
	depends on MMU

which I think means it can be modular, no?

^ permalink raw reply

* Re: [PATCH 10/28] mm: only allow page table mappings for built-in zsmalloc
From: Randy Dunlap @ 2020-04-08 15:01 UTC (permalink / raw)
  To: Christoph Hellwig, Andrew Morton, K. Y. Srinivasan, Haiyang Zhang,
	Stephen Hemminger, Wei Liu, x86, David Airlie, Daniel Vetter,
	Laura Abbott, Sumit Semwal, Sakari Ailus, Minchan Kim,
	Nitin Gupta
  Cc: linux-arch, linux-hyperv, linux-s390, Peter Zijlstra,
	linuxppc-dev, linux-kernel, dri-devel, linaro-mm-sig, linux-mm,
	iommu, bpf, Robin Murphy, linux-arm-kernel
In-Reply-To: <20200408115926.1467567-11-hch@lst.de>

Hi,

On 4/8/20 4:59 AM, Christoph Hellwig wrote:
> diff --git a/mm/Kconfig b/mm/Kconfig
> index 36949a9425b8..614cc786b519 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -702,7 +702,7 @@ config ZSMALLOC
>  
>  config ZSMALLOC_PGTABLE_MAPPING
>  	bool "Use page table mapping to access object in zsmalloc"
> -	depends on ZSMALLOC
> +	depends on ZSMALLOC=y

It's a bool so this shouldn't matter... not needed.

>  	help
>  	  By default, zsmalloc uses a copy-based object mapping method to
>  	  access allocations that span two pages. However, if a particular


-- 
~Randy


^ permalink raw reply

* Re: [PATCH 09/28] mm: rename CONFIG_PGTABLE_MAPPING to CONFIG_ZSMALLOC_PGTABLE_MAPPING
From: Randy Dunlap @ 2020-04-08 15:00 UTC (permalink / raw)
  To: Christoph Hellwig, Andrew Morton, K. Y. Srinivasan, Haiyang Zhang,
	Stephen Hemminger, Wei Liu, x86, David Airlie, Daniel Vetter,
	Laura Abbott, Sumit Semwal, Sakari Ailus, Minchan Kim,
	Nitin Gupta
  Cc: linux-arch, linux-hyperv, linux-s390, Peter Zijlstra,
	linuxppc-dev, linux-kernel, dri-devel, linaro-mm-sig, linux-mm,
	iommu, bpf, Robin Murphy, linux-arm-kernel
In-Reply-To: <20200408115926.1467567-10-hch@lst.de>

On 4/8/20 4:59 AM, Christoph Hellwig wrote:
> Rename the Kconfig variable to clarify the scope.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  arch/arm/configs/omap2plus_defconfig | 2 +-
>  include/linux/zsmalloc.h             | 2 +-
>  mm/Kconfig                           | 2 +-
>  mm/zsmalloc.c                        | 8 ++++----
>  4 files changed, 7 insertions(+), 7 deletions(-)
> 

Looks good. Thanks.

Acked-by: Randy Dunlap <rdunlap@infradead.org>


-- 
~Randy


^ permalink raw reply

* [Bug 207129] PowerMac G4 DP (5.6.2 debug kernel + inline KASAN) freezes shortly after booting with "do_IRQ: stack overflow: 1760"
From: bugzilla-daemon @ 2020-04-08 14:55 UTC (permalink / raw)
  To: linuxppc-dev
In-Reply-To: <bug-207129-206035@https.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=207129

--- Comment #5 from Christophe Leroy (christophe.leroy@c-s.fr) ---
Ok, so as a summary:
- With CONFIG_THREAD_SHIFT = 13 and CONFIG_DEBUG_STACKOVERFLOW, the system gets
stuck
- With CONFIG_THREAD_SHIFT = 13 and without CONFIG_DEBUG_STACKOVERFLOW, stack
overflow is not really detected until it gets into kernel text !!!
- With CONFIG_THREAD_SHIFT = 14 it runs fine
- With CONFIG_VMAP_STACK, the automatic restart doesn't work
- Without CONFIG_VMAP_STACK, the automatic restart works

So I'll send a patch to set CONFIG_THREAD_SHIFT to 14 when CONFIG_KASAN is
selected. x86 and arm64 already do that.

And I'll try to investigate the other points when I have time.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply

* usb: gadget: fsl_udc_core: Checking for a failed platform_get_irq() call in fsl_udc_probe()
From: Markus Elfring @ 2020-04-08 14:15 UTC (permalink / raw)
  To: linux-usb, linuxppc-dev
  Cc: Felipe Balbi, Tang Bin, Greg Kroah-Hartman, kernel-janitors, LKML,
	Li Yang

Hello,

I have taken another look at the implementation of the function “fsl_udc_probe”.
A software analysis approach points the following source code out for
further development considerations.
https://elixir.bootlin.com/linux/v5.6.2/source/drivers/usb/gadget/udc/fsl_udc_core.c#L2443
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/usb/gadget/udc/fsl_udc_core.c?id=f5e94d10e4c468357019e5c28d48499f677b284f#n2442

 	udc_controller->irq = platform_get_irq(pdev, 0);
 	if (!udc_controller->irq) {
 		ret = -ENODEV;
 		goto err_iounmap;
 	}


The software documentation is providing the following information
for the used programming interface.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/base/platform.c?id=f5e94d10e4c468357019e5c28d48499f677b284f#n221
https://elixir.bootlin.com/linux/v5.6.2/source/drivers/base/platform.c#L202

“…
 * Return: IRQ number on success, negative error number on failure.
…”

Would you like to reconsider the shown condition check?

Regards,
Markus

^ permalink raw reply

* Re: [PATCH 28/28] s390: use __vmalloc_node in stack_alloc
From: Christian Borntraeger @ 2020-04-08 13:44 UTC (permalink / raw)
  To: Christoph Hellwig, Andrew Morton, K. Y. Srinivasan, Haiyang Zhang,
	Stephen Hemminger, Wei Liu, x86, David Airlie, Daniel Vetter,
	Laura Abbott, Sumit Semwal, Sakari Ailus, Minchan Kim,
	Nitin Gupta
  Cc: linux-arch, linux-hyperv, linux-s390, Peter Zijlstra,
	linuxppc-dev, linux-kernel, dri-devel, linaro-mm-sig, linux-mm,
	iommu, bpf, Robin Murphy, linux-arm-kernel
In-Reply-To: <20200408115926.1467567-29-hch@lst.de>



On 08.04.20 13:59, Christoph Hellwig wrote:
> stack_alloc can use a slightly higher level vmalloc function.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  arch/s390/kernel/setup.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
> index 36445dd40fdb..0f0b140b5558 100644
> --- a/arch/s390/kernel/setup.c
> +++ b/arch/s390/kernel/setup.c
> @@ -305,12 +305,9 @@ void *restart_stack __section(.data);
>  unsigned long stack_alloc(void)
>  {
>  #ifdef CONFIG_VMAP_STACK
> -	return (unsigned long)
> -		__vmalloc_node_range(THREAD_SIZE, THREAD_SIZE,
> -				     VMALLOC_START, VMALLOC_END,
> -				     THREADINFO_GFP,
> -				     PAGE_KERNEL, 0, NUMA_NO_NODE,
> -				     __builtin_return_address(0));
> +	return (unsigned long)__vmalloc_node(THREAD_SIZE, THREAD_SIZE,
> +			THREADINFO_GFP, NUMA_NO_NODE,
> +			__builtin_return_address(0));

Looks sane.

Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>


>  #else
>  	return __get_free_pages(GFP_KERNEL, THREAD_SIZE_ORDER);
>  #endif
> 


^ permalink raw reply

* Re: [PATCH 27/28] s390: use __vmalloc_node in alloc_vm_stack
From: Christian Borntraeger @ 2020-04-08 13:33 UTC (permalink / raw)
  To: Christoph Hellwig, Andrew Morton, K. Y. Srinivasan, Haiyang Zhang,
	Stephen Hemminger, Wei Liu, x86, David Airlie, Daniel Vetter,
	Laura Abbott, Sumit Semwal, Sakari Ailus, Minchan Kim,
	Nitin Gupta
  Cc: linux-arch, linux-hyperv, linux-s390, Peter Zijlstra,
	linuxppc-dev, linux-kernel, dri-devel, linaro-mm-sig, linux-mm,
	iommu, bpf, Robin Murphy, linux-arm-kernel
In-Reply-To: <20200408115926.1467567-28-hch@lst.de>

On 08.04.20 13:59, Christoph Hellwig wrote:
> alloc_vm_stack can use a slightly higher level vmalloc function.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  arch/powerpc/kernel/irq.c | 5 ++---

wrong subject (power vs s390)

>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c
> index a25ed47087ee..4518fb1d6bf4 100644
> --- a/arch/powerpc/kernel/irq.c
> +++ b/arch/powerpc/kernel/irq.c
> @@ -735,9 +735,8 @@ void do_IRQ(struct pt_regs *regs)
>  
>  static void *__init alloc_vm_stack(void)
>  {
> -	return __vmalloc_node_range(THREAD_SIZE, THREAD_ALIGN, VMALLOC_START,
> -				    VMALLOC_END, THREADINFO_GFP, PAGE_KERNEL,
> -				     0, NUMA_NO_NODE, (void*)_RET_IP_);
> +	return __vmalloc_node(THREAD_SIZE, THREAD_ALIGN, THREADINFO_GFP,
> +			      NUMA_NO_NODE, (void *)_RET_IP_);
>  }
>  
>  static void __init vmap_irqstack_init(void)
> 


^ permalink raw reply

* Re: [PATCH 02/28] staging: android: ion: use vmap instead of vm_map_ram
From: Greg KH @ 2020-04-08 13:27 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-hyperv, David Airlie, dri-devel, linux-mm, K. Y. Srinivasan,
	Sumit Semwal, linux-arch, linux-s390, Wei Liu, Stephen Hemminger,
	x86, Peter Zijlstra, Laura Abbott, Nitin Gupta, Daniel Vetter,
	Haiyang Zhang, linaro-mm-sig, bpf, linux-arm-kernel, Robin Murphy,
	linux-kernel, Minchan Kim, iommu, Sakari Ailus, Andrew Morton,
	linuxppc-dev
In-Reply-To: <20200408115926.1467567-3-hch@lst.de>

On Wed, Apr 08, 2020 at 01:59:00PM +0200, Christoph Hellwig wrote:
> vm_map_ram can keep mappings around after the vm_unmap_ram.  Using that
> with non-PAGE_KERNEL mappings can lead to all kinds of aliasing issues.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

^ permalink raw reply

* Re: [PATCH 0/2] powerpc: Remove support for ppc405/440 Xilinx platforms
From: Arnd Bergmann @ 2020-04-08 13:23 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Kate Stewart, Mark Rutland, Desnes A. Nunes do Rosario,
	Geert Uytterhoeven, open list:DOCUMENTATION,
	ALSA Development Mailing List, dri-devel, Jaroslav Kysela,
	Richard Fontana, Paul Mackerras, Miquel Raynal,
	Mauro Carvalho Chehab, Fabio Estevam, Sasha Levin,
	Stephen Rothwell, Jonathan Corbet, Masahiro Yamada, Takashi Iwai,
	YueHaibing, Michal Simek, Krzysztof Kozlowski, Linux ARM,
	Leonardo Bras, DTML, Andrew Donnellan, Bartlomiej Zolnierkiewicz,
	Marc Zyngier, Alistair Popple, linuxppc-dev, Nicholas Piggin,
	Alexios Zavras, Mark Brown, git, Linux Fbdev development list,
	Jonathan Cameron, Thomas Gleixner, Andy Shevchenko,
	Allison Randal, Michal Simek, Wei Hu, Christian Lamparter,
	Greg Kroah-Hartman, Nick Desaulniers,
	linux-kernel@vger.kernel.org, Armijn Hemel, Rob Herring,
	Enrico Weigelt, David S. Miller, Thiago Jung Bauermann
In-Reply-To: <871roykwu6.fsf@mpe.ellerman.id.au>

+On Wed, Apr 8, 2020 at 2:04 PM Michael Ellerman <mpe@ellerman.id.au> wrote:
> Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
> > On Fri, 2020-04-03 at 15:59 +1100, Michael Ellerman wrote:
> >> Benjamin Herrenschmidt <benh@kernel.crashing.org> writes:
> > IBM still put 40x cores inside POWER chips no ?
>
> Oh yeah that's true. I guess most folks don't know that, or that they
> run RHEL on them.

Is there a reason for not having those dts files in mainline then?
If nothing else, it would document what machines are still being
used with future kernels.

Also, if that's the only 405 based product that is still relevant with
a 5.7+ kernel, it may be useful to know at which point they
move to a 476 core and stop updating kernels on the old ones.

          Arnd

^ permalink raw reply

* [PATCH V2 3/5] selftests/powerpc: Add NX-GZIP engine compress testcase
From: Raphael Moreira Zinsly @ 2020-04-08 13:21 UTC (permalink / raw)
  To: linuxppc-dev, linux-crypto, dja
  Cc: Raphael Moreira Zinsly, haren, herbert, abali
In-Reply-To: <87369mwgwy.fsf@dja-thinkpad.axtens.net>

Daniel Axtens <dja@axtens.net> writes:
> Raphael Moreira Zinsly <rzinsly@linux.ibm.com> writes:
...
>> +#define hwsync()    ({ asm volatile("hwsync" ::: "memory"); })
>
> This doesn't compile on the clang version I tried as it doesn't
> recognise 'hwsync'.  Does
> asm volatile("sync" ::: "memory");
> do the same thing?

Both hwsync and sync are extended mnemonics to 'sync 0'.
I just replaced hwsync for sync on this patch, but I'm
surprised that this is not recognized by clang.

--- >8 ---
Add a compression testcase for the powerpc NX-GZIP engine.

Signed-off-by: Bulent Abali <abali@us.ibm.com>
Signed-off-by: Raphael Moreira Zinsly <rzinsly@linux.ibm.com>
---
 .../selftests/powerpc/nx-gzip/Makefile        |  21 +
 .../selftests/powerpc/nx-gzip/gzfht_test.c    | 489 ++++++++++++++++++
 .../selftests/powerpc/nx-gzip/gzip_vas.c      | 259 ++++++++++
 3 files changed, 769 insertions(+)
 create mode 100644 tools/testing/selftests/powerpc/nx-gzip/Makefile
 create mode 100644 tools/testing/selftests/powerpc/nx-gzip/gzfht_test.c
 create mode 100644 tools/testing/selftests/powerpc/nx-gzip/gzip_vas.c

diff --git a/tools/testing/selftests/powerpc/nx-gzip/Makefile b/tools/testing/selftests/powerpc/nx-gzip/Makefile
new file mode 100644
index 000000000000..ab903f63bbbd
--- /dev/null
+++ b/tools/testing/selftests/powerpc/nx-gzip/Makefile
@@ -0,0 +1,21 @@
+CC = gcc
+CFLAGS = -O3
+INC = ./inc
+SRC = gzfht_test.c
+OBJ = $(SRC:.c=.o)
+TESTS = gzfht_test
+EXTRA_SOURCES = gzip_vas.c
+
+all:	$(TESTS)
+
+$(OBJ): %.o: %.c
+	$(CC) $(CFLAGS) -I$(INC) -c $<
+
+$(TESTS): $(OBJ)
+	$(CC) $(CFLAGS) -I$(INC) -o $@ $@.o $(EXTRA_SOURCES)
+
+run_tests: $(TESTS)
+	./gzfht_test gzip_vas.c
+
+clean:
+	rm -f $(TESTS) *.o *~ *.gz
diff --git a/tools/testing/selftests/powerpc/nx-gzip/gzfht_test.c b/tools/testing/selftests/powerpc/nx-gzip/gzfht_test.c
new file mode 100644
index 000000000000..7a21c25f5611
--- /dev/null
+++ b/tools/testing/selftests/powerpc/nx-gzip/gzfht_test.c
@@ -0,0 +1,489 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* P9 gzip sample code for demonstrating the P9 NX hardware interface.
+ * Not intended for productive uses or for performance or compression
+ * ratio measurements.  For simplicity of demonstration, this sample
+ * code compresses in to fixed Huffman blocks only (Deflate btype=1)
+ * and has very simple memory management.  Dynamic Huffman blocks
+ * (Deflate btype=2) are more involved as detailed in the user guide.
+ * Note also that /dev/crypto/gzip, VAS and skiboot support are
+ * required.
+ *
+ * Copyright 2020 IBM Corp.
+ *
+ * https://github.com/libnxz/power-gzip for zlib api and other utils
+ *
+ * Author: Bulent Abali <abali@us.ibm.com>
+ *
+ * Definitions of acronyms used here. See
+ * P9 NX Gzip Accelerator User's Manual for details:
+ * https://github.com/libnxz/power-gzip/blob/develop/doc/power_nx_gzip_um.pdf
+ *
+ * adler/crc: 32 bit checksums appended to stream tail
+ * ce:       completion extension
+ * cpb:      coprocessor parameter block (metadata)
+ * crb:      coprocessor request block (command)
+ * csb:      coprocessor status block (status)
+ * dht:      dynamic huffman table
+ * dde:      data descriptor element (address, length)
+ * ddl:      list of ddes
+ * dh/fh:    dynamic and fixed huffman types
+ * fc:       coprocessor function code
+ * histlen:  history/dictionary length
+ * history:  sliding window of up to 32KB of data
+ * lzcount:  Deflate LZ symbol counts
+ * rembytecnt: remaining byte count
+ * sfbt:     source final block type; last block's type during decomp
+ * spbc:     source processed byte count
+ * subc:     source unprocessed bit count
+ * tebc:     target ending bit count; valid bits in the last byte
+ * tpbc:     target processed byte count
+ * vas:      virtual accelerator switch; the user mode interface
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/fcntl.h>
+#include <sys/mman.h>
+#include <endian.h>
+#include <bits/endian.h>
+#include <sys/ioctl.h>
+#include <assert.h>
+#include <errno.h>
+#include <signal.h>
+#include "nxu.h"
+#include "nx.h"
+
+int nx_dbg;
+FILE *nx_gzip_log;
+void *nx_fault_storage_address;
+
+#define NX_MIN(X, Y) (((X) < (Y)) ? (X) : (Y))
+#define FNAME_MAX 1024
+#define FEXT ".nx.gz"
+
+/*
+ * LZ counts returned in the user supplied nx_gzip_crb_cpb_t structure.
+ */
+static int compress_fht_sample(char *src, uint32_t srclen, char *dst,
+				uint32_t dstlen, int with_count,
+				struct nx_gzip_crb_cpb_t *cmdp, void *handle)
+{
+	int cc;
+	uint32_t fc;
+
+	assert(!!cmdp);
+
+	put32(cmdp->crb, gzip_fc, 0);  /* clear */
+	fc = (with_count) ? GZIP_FC_COMPRESS_RESUME_FHT_COUNT :
+			    GZIP_FC_COMPRESS_RESUME_FHT;
+	putnn(cmdp->crb, gzip_fc, fc);
+	putnn(cmdp->cpb, in_histlen, 0); /* resuming with no history */
+	memset((void *) &cmdp->crb.csb, 0, sizeof(cmdp->crb.csb));
+
+	/* Section 6.6 programming notes; spbc may be in two different
+	 * places depending on FC.
+	 */
+	if (!with_count)
+		put32(cmdp->cpb, out_spbc_comp, 0);
+	else
+		put32(cmdp->cpb, out_spbc_comp_with_count, 0);
+
+	/* Figure 6-3 6-4; CSB location */
+	put64(cmdp->crb, csb_address, 0);
+	put64(cmdp->crb, csb_address,
+	      (uint64_t) &cmdp->crb.csb & csb_address_mask);
+
+	/* Source direct dde (scatter-gather list) */
+	clear_dde(cmdp->crb.source_dde);
+	putnn(cmdp->crb.source_dde, dde_count, 0);
+	put32(cmdp->crb.source_dde, ddebc, srclen);
+	put64(cmdp->crb.source_dde, ddead, (uint64_t) src);
+
+	/* Target direct dde (scatter-gather list) */
+	clear_dde(cmdp->crb.target_dde);
+	putnn(cmdp->crb.target_dde, dde_count, 0);
+	put32(cmdp->crb.target_dde, ddebc, dstlen);
+	put64(cmdp->crb.target_dde, ddead, (uint64_t) dst);
+
+	/* Submit the crb, the job descriptor, to the accelerator */
+	nxu_run_job(cmdp, handle);
+
+	/* Poll for the csb.v bit; you should also consider sleeping
+	 * or interrupts.
+	 */
+	do { ; } while (getnn(cmdp->crb.csb, csb_v) == 0);
+
+	/* CC Table 6-8 */
+	cc = getnn(cmdp->crb.csb, csb_cc);
+
+	return cc;
+}
+
+/*
+ * Prepares a blank no filename no timestamp gzip header and returns
+ * the number of bytes written to buf.
+ * Gzip specification at https://tools.ietf.org/html/rfc1952
+ */
+int gzip_header_blank(char *buf)
+{
+	int i = 0;
+
+	buf[i++] = 0x1f; /* ID1 */
+	buf[i++] = 0x8b; /* ID2 */
+	buf[i++] = 0x08; /* CM  */
+	buf[i++] = 0x00; /* FLG */
+	buf[i++] = 0x00; /* MTIME */
+	buf[i++] = 0x00; /* MTIME */
+	buf[i++] = 0x00; /* MTIME */
+	buf[i++] = 0x00; /* MTIME */
+	buf[i++] = 0x04; /* XFL 4=fastest */
+	buf[i++] = 0x03; /* OS UNIX */
+
+	return i;
+}
+
+/* Caller must free the allocated buffer return nonzero on error. */
+int read_alloc_input_file(char *fname, char **buf, size_t *bufsize)
+{
+	struct stat statbuf;
+	FILE *fp;
+	char *p;
+	size_t num_bytes;
+
+	if (stat(fname, &statbuf)) {
+		perror(fname);
+		return(-1);
+	}
+	fp = fopen(fname, "r");
+	if (fp == NULL) {
+		perror(fname);
+		return(-1);
+	}
+	assert(NULL != (p = (char *) malloc(statbuf.st_size)));
+	num_bytes = fread(p, 1, statbuf.st_size, fp);
+	if (ferror(fp) || (num_bytes != statbuf.st_size)) {
+		perror(fname);
+		return(-1);
+	}
+	*buf = p;
+	*bufsize = num_bytes;
+	return 0;
+}
+
+/* Returns nonzero on error */
+int write_output_file(char *fname, char *buf, size_t bufsize)
+{
+	FILE *fp;
+	size_t num_bytes;
+
+	fp = fopen(fname, "w");
+	if (fp == NULL) {
+		perror(fname);
+		return(-1);
+	}
+	num_bytes = fwrite(buf, 1, bufsize, fp);
+	if (ferror(fp) || (num_bytes != bufsize)) {
+		perror(fname);
+		return(-1);
+	}
+	fclose(fp);
+	return 0;
+}
+
+/*
+ * Z_SYNC_FLUSH as described in zlib.h.
+ * Returns number of appended bytes
+ */
+int append_sync_flush(char *buf, int tebc, int final)
+{
+	uint64_t flush;
+	int shift = (tebc & 0x7);
+
+	if (tebc > 0) {
+		/* Last byte is partially full */
+		buf = buf - 1;
+		*buf = *buf & (unsigned char) ((1<<tebc)-1);
+	} else
+		*buf = 0;
+	flush = ((0x1ULL & final) << shift) | *buf;
+	shift = shift + 3; /* BFINAL and BTYPE written */
+	shift = (shift <= 8) ? 8 : 16;
+	flush |= (0xFFFF0000ULL) << shift; /* Zero length block */
+	shift = shift + 32;
+	while (shift > 0) {
+		*buf++ = (unsigned char) (flush & 0xffULL);
+		flush = flush >> 8;
+		shift = shift - 8;
+	}
+	return(((tebc > 5) || (tebc == 0)) ? 5 : 4);
+}
+
+/*
+ * Fault in pages prior to NX job submission. wr=1 may be required to
+ * touch writeable pages.  System zero pages do not fault-in the page as
+ * intended.  Typically set wr=1 for NX target pages and set wr=0 for NX
+ * source pages.
+ */
+static int nx_touch_pages(void *buf, long buf_len, long page_len, int wr)
+{
+	char *begin = buf;
+	char *end = (char *) buf + buf_len - 1;
+	char t;
+
+	assert(buf_len >= 0 && !!buf);
+
+	NXPRT(fprintf(stderr, "touch %p %p len 0x%lx wr=%d\n", buf,
+			(buf + buf_len), buf_len, wr));
+
+	if (buf_len <= 0 || buf == NULL)
+		return -1;
+
+	do {
+		t = *begin;
+		if (wr)
+			*begin = t;
+		begin = begin + page_len;
+	} while (begin < end);
+
+	/* When buf_sz is small or buf tail is in another page */
+	t = *end;
+	if (wr)
+		*end = t;
+
+	return 0;
+}
+
+/*
+ * Final deflate block bit.  This call assumes the block
+ * beginning is byte aligned.
+ */
+static void set_bfinal(void *buf, int bfinal)
+{
+	char *b = buf;
+
+	if (bfinal)
+		*b = *b | (unsigned char) 0x01;
+	else
+		*b = *b & (unsigned char) 0xfe;
+}
+
+int compress_file(int argc, char **argv, void *handle)
+{
+	char *inbuf, *outbuf, *srcbuf, *dstbuf;
+	char outname[FNAME_MAX];
+	uint32_t srclen, dstlen;
+	uint32_t flushlen, chunk;
+	size_t inlen, outlen, dsttotlen, srctotlen;
+	uint32_t crc, spbc, tpbc, tebc;
+	int lzcounts = 0;
+	int cc;
+	int num_hdr_bytes;
+	struct nx_gzip_crb_cpb_t *cmdp;
+	uint32_t pagelen = 65536;
+	int fault_tries = 50;
+
+	cmdp = (void *)(uintptr_t)
+		aligned_alloc(sizeof(struct nx_gzip_crb_cpb_t),
+			      sizeof(struct nx_gzip_crb_cpb_t));
+
+	if (argc != 2) {
+		fprintf(stderr, "usage: %s <fname>\n", argv[0]);
+		exit(-1);
+	}
+	if (read_alloc_input_file(argv[1], &inbuf, &inlen))
+		exit(-1);
+	fprintf(stderr, "file %s read, %ld bytes\n", argv[1], inlen);
+
+	/* Generous output buffer for header/trailer */
+	outlen = 2 * inlen + 1024;
+
+	assert(NULL != (outbuf = (char *)malloc(outlen)));
+	nx_touch_pages(outbuf, outlen, pagelen, 1);
+
+	/* Compress piecemeal in smallish chunks */
+	chunk = 1<<22;
+
+	/* Write the gzip header to the stream */
+	num_hdr_bytes = gzip_header_blank(outbuf);
+	dstbuf    = outbuf + num_hdr_bytes;
+	outlen    = outlen - num_hdr_bytes;
+	dsttotlen = num_hdr_bytes;
+
+	srcbuf    = inbuf;
+	srctotlen = 0;
+
+	/* Init the CRB, the coprocessor request block */
+	memset(&cmdp->crb, 0, sizeof(cmdp->crb));
+
+	/* Initial gzip crc32 */
+	put32(cmdp->cpb, in_crc, 0);
+
+	fault_tries = 50;
+
+	while (inlen > 0) {
+
+		/* Submit chunk size source data per job */
+		srclen = NX_MIN(chunk, inlen);
+		/* Supply large target in case data expands */
+		dstlen = NX_MIN(2*srclen, outlen);
+
+		/* Page faults are handled by the user code */
+
+		/* Fault-in pages; an improved code wouldn't touch so
+		 * many pages but would try to estimate the
+		 * compression ratio and adjust both the src and dst
+		 * touch amounts.
+		 */
+		nx_touch_pages(cmdp, sizeof(struct nx_gzip_crb_cpb_t), pagelen,
+				1);
+		nx_touch_pages(srcbuf, srclen, pagelen, 0);
+		nx_touch_pages(dstbuf, dstlen, pagelen, 1);
+
+		cc = compress_fht_sample(
+			srcbuf, srclen,
+			dstbuf, dstlen,
+			lzcounts, cmdp, handle);
+
+		if (cc != ERR_NX_OK && cc != ERR_NX_TPBC_GT_SPBC &&
+		    cc != ERR_NX_TRANSLATION) {
+			fprintf(stderr, "nx error: cc= %d\n", cc);
+			exit(-1);
+		}
+
+		/* Page faults are handled by the user code */
+		if (cc == ERR_NX_TRANSLATION) {
+			NXPRT(fprintf(stderr, "page fault: cc= %d, ", cc));
+			NXPRT(fprintf(stderr, "try= %d, fsa= %08llx\n",
+				  fault_tries,
+				  (unsigned long long) cmdp->crb.csb.fsaddr));
+
+			fault_tries--;
+			if (fault_tries > 0) {
+				continue;
+			} else {
+				fprintf(stderr, "error: cannot progress; ");
+				fprintf(stderr, "too many faults\n");
+				exit(-1);
+			};
+		}
+
+		fault_tries = 50; /* Reset for the next chunk */
+
+		inlen     = inlen - srclen;
+		srcbuf    = srcbuf + srclen;
+		srctotlen = srctotlen + srclen;
+
+		/* Two possible locations for spbc depending on the function
+		 * code.
+		 */
+		spbc = (!lzcounts) ? get32(cmdp->cpb, out_spbc_comp) :
+			get32(cmdp->cpb, out_spbc_comp_with_count);
+		assert(spbc == srclen);
+
+		/* Target byte count */
+		tpbc = get32(cmdp->crb.csb, tpbc);
+		/* Target ending bit count */
+		tebc = getnn(cmdp->cpb, out_tebc);
+		NXPRT(fprintf(stderr, "compressed chunk %d " spbc));
+		NXPRT(fprintf(stderr, "to %d bytes, tebc= %d\n", tpbc, tebc));
+
+		if (inlen > 0) { /* More chunks to go */
+			set_bfinal(dstbuf, 0);
+			dstbuf    = dstbuf + tpbc;
+			dsttotlen = dsttotlen + tpbc;
+			outlen    = outlen - tpbc;
+			/* Round up to the next byte with a flush
+			 * block; do not set the BFINAqL bit.
+			 */
+			flushlen  = append_sync_flush(dstbuf, tebc, 0);
+			dsttotlen = dsttotlen + flushlen;
+			outlen    = outlen - flushlen;
+			dstbuf    = dstbuf + flushlen;
+			NXPRT(fprintf(stderr, "added sync_flush %d bytes\n",
+					flushlen));
+		} else {  /* Done */
+			/* Set the BFINAL bit of the last block per Deflate
+			 * specification.
+			 */
+			set_bfinal(dstbuf, 1);
+			dstbuf    = dstbuf + tpbc;
+			dsttotlen = dsttotlen + tpbc;
+			outlen    = outlen - tpbc;
+		}
+
+		/* Resuming crc32 for the next chunk */
+		crc = get32(cmdp->cpb, out_crc);
+		put32(cmdp->cpb, in_crc, crc);
+		crc = be32toh(crc);
+	}
+
+	/* Append crc32 and ISIZE to the end */
+	memcpy(dstbuf, &crc, 4);
+	memcpy(dstbuf+4, &srctotlen, 4);
+	dsttotlen = dsttotlen + 8;
+	outlen    = outlen - 8;
+
+	assert(FNAME_MAX > (strlen(argv[1]) + strlen(FEXT)));
+	strcpy(outname, argv[1]);
+	strcat(outname, FEXT);
+	if (write_output_file(outname, outbuf, dsttotlen)) {
+		fprintf(stderr, "write error: %s\n", outname);
+		exit(-1);
+	}
+
+	fprintf(stderr, "compressed %ld to %ld bytes total, ", srctotlen,
+		dsttotlen);
+	fprintf(stderr, "crc32 checksum = %08x\n", crc);
+
+	if (inbuf != NULL)
+		free(inbuf);
+
+	if (outbuf != NULL)
+		free(outbuf);
+
+	return 0;
+}
+
+void sigsegv_handler(int sig, siginfo_t *info, void *ctx)
+{
+	fprintf(stderr, "%d: Got signal %d si_code %d, si_addr %p\n", getpid(),
+		sig, info->si_code, info->si_addr);
+
+	nx_fault_storage_address = info->si_addr;
+}
+
+int main(int argc, char **argv)
+{
+	int rc;
+	struct sigaction act;
+	void *handle;
+
+	nx_dbg = 0;
+	nx_gzip_log = NULL;
+	act.sa_handler = 0;
+	act.sa_sigaction = sigsegv_handler;
+	act.sa_flags = SA_SIGINFO;
+	act.sa_restorer = 0;
+	sigemptyset(&act.sa_mask);
+	sigaction(SIGSEGV, &act, NULL);
+
+	handle = nx_function_begin(NX_FUNC_COMP_GZIP, 0);
+	if (!handle) {
+		fprintf(stderr, "Unable to init NX, errno %d\n", errno);
+		exit(-1);
+	}
+
+	rc = compress_file(argc, argv, handle);
+
+	nx_function_end(handle);
+
+	return rc;
+}
diff --git a/tools/testing/selftests/powerpc/nx-gzip/gzip_vas.c b/tools/testing/selftests/powerpc/nx-gzip/gzip_vas.c
new file mode 100644
index 000000000000..c8f943f3c029
--- /dev/null
+++ b/tools/testing/selftests/powerpc/nx-gzip/gzip_vas.c
@@ -0,0 +1,259 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+/* Copyright 2020 IBM Corp.
+ *
+ * Author: Bulent Abali <abali@us.ibm.com>
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/time.h>
+#include <sys/fcntl.h>
+#include <sys/mman.h>
+#include <endian.h>
+#include <bits/endian.h>
+#include <sys/ioctl.h>
+#include <assert.h>
+#include <errno.h>
+#include <signal.h>
+#include "nx-gzip.h"
+#include "nx.h"
+#include "copy-paste.h"
+#include "nxu.h"
+#include "nx_dbg.h"
+#include <sys/platform/ppc.h>
+
+#define barrier()
+#define hwsync()    ({ asm volatile("sync" ::: "memory"); })
+
+#ifndef NX_NO_CPU_PRI
+#define cpu_pri_default()  ({ asm volatile ("or 2, 2, 2"); })
+#define cpu_pri_low()      ({ asm volatile ("or 31, 31, 31"); })
+#else
+#define cpu_pri_default()
+#define cpu_pri_low()
+#endif
+
+void *nx_fault_storage_address;
+
+struct nx_handle {
+	int fd;
+	int function;
+	void *paste_addr;
+};
+
+static int open_device_nodes(char *devname, int pri, struct nx_handle *handle)
+{
+	int rc, fd;
+	void *addr;
+	struct vas_gzip_setup_attr txattr;
+
+	fd = open(devname, O_RDWR);
+	if (fd < 0) {
+		fprintf(stderr, " open device name %s\n", devname);
+		return -errno;
+	}
+
+	memset(&txattr, 0, sizeof(txattr));
+	txattr.version = 1;
+	txattr.vas_id = pri;
+	rc = ioctl(fd, VAS_GZIP_TX_WIN_OPEN, (unsigned long)&txattr);
+	if (rc < 0) {
+		fprintf(stderr, "ioctl() n %d, error %d\n", rc, errno);
+		rc = -errno;
+		goto out;
+	}
+
+	addr = mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0ULL);
+	if (addr == MAP_FAILED) {
+		fprintf(stderr, "mmap() failed, errno %d\n", errno);
+		rc = -errno;
+		goto out;
+	}
+	handle->fd = fd;
+	handle->paste_addr = (void *)((char *)addr + 0x400);
+
+	rc = 0;
+out:
+	close(fd);
+	return rc;
+}
+
+void *nx_function_begin(int function, int pri)
+{
+	int rc;
+	char *devname = "/dev/crypto/nx-gzip";
+	struct nx_handle *nxhandle;
+
+	if (function != NX_FUNC_COMP_GZIP) {
+		errno = EINVAL;
+		fprintf(stderr, " NX_FUNC_COMP_GZIP not found\n");
+		return NULL;
+	}
+
+
+	nxhandle = malloc(sizeof(*nxhandle));
+	if (!nxhandle) {
+		errno = ENOMEM;
+		fprintf(stderr, " No memory\n");
+		return NULL;
+	}
+
+	nxhandle->function = function;
+	rc = open_device_nodes(devname, pri, nxhandle);
+	if (rc < 0) {
+		errno = -rc;
+		fprintf(stderr, " open_device_nodes failed\n");
+		return NULL;
+	}
+
+	return nxhandle;
+}
+
+int nx_function_end(void *handle)
+{
+	int rc = 0;
+	struct nx_handle *nxhandle = handle;
+
+	rc = munmap(nxhandle->paste_addr - 0x400, 4096);
+	if (rc < 0) {
+		fprintf(stderr, "munmap() failed, errno %d\n", errno);
+		return rc;
+	}
+	close(nxhandle->fd);
+	free(nxhandle);
+
+	return rc;
+}
+
+static int nx_wait_for_csb(struct nx_gzip_crb_cpb_t *cmdp)
+{
+	long poll = 0;
+	uint64_t t;
+
+	/* Save power and let other threads use the h/w. top may show
+	 * 100% but only because OS doesn't know we slowed the this
+	 * h/w thread while polling. We're letting other threads have
+	 * higher throughput on the core.
+	 */
+	cpu_pri_low();
+
+#define CSB_MAX_POLL 200000000UL
+#define USLEEP_TH     300000UL
+
+	t = __ppc_get_timebase();
+
+	while (getnn(cmdp->crb.csb, csb_v) == 0) {
+		++poll;
+		hwsync();
+
+		cpu_pri_low();
+
+		/* usleep(0) takes around 29000 ticks ~60 us.
+		 * 300000 is spinning for about 600 us then
+		 * start sleeping.
+		 */
+		if ((__ppc_get_timebase() - t) > USLEEP_TH) {
+			cpu_pri_default();
+			usleep(1);
+		}
+
+		if (poll > CSB_MAX_POLL)
+			break;
+
+		/* Fault address from signal handler */
+		if (nx_fault_storage_address) {
+			cpu_pri_default();
+			return -EAGAIN;
+		}
+
+	}
+
+	cpu_pri_default();
+
+	/* hw has updated csb and output buffer */
+	hwsync();
+
+	/* Check CSB flags. */
+	if (getnn(cmdp->crb.csb, csb_v) == 0) {
+		fprintf(stderr, "CSB still not valid after %d polls.\n",
+			(int) poll);
+		prt_err("CSB still not valid after %d polls, giving up.\n",
+			(int) poll);
+		return -ETIMEDOUT;
+	}
+
+	return 0;
+}
+
+int nxu_run_job(struct nx_gzip_crb_cpb_t *cmdp, void *handle)
+{
+	int i, ret, retries;
+	struct nx_handle *nxhandle = handle;
+
+	assert(handle != NULL);
+	i = 0;
+	retries = 5000;
+	while (i++ < retries) {
+		hwsync();
+		vas_copy(&cmdp->crb, 0);
+		ret = vas_paste(nxhandle->paste_addr, 0);
+		hwsync();
+
+		NXPRT(fprintf(stderr, "Paste attempt %d/%d returns 0x%x\n",
+				i, retries, ret));
+
+		if ((ret == 2) || (ret == 3)) {
+
+			ret = nx_wait_for_csb(cmdp);
+			if (!ret) {
+				goto out;
+			} else if (ret == -EAGAIN) {
+				long x;
+
+				prt_err("Touching address %p, 0x%lx\n",
+					 nx_fault_storage_address,
+					 *(long *) nx_fault_storage_address);
+				x = *(long *) nx_fault_storage_address;
+				*(long *) nx_fault_storage_address = x;
+				nx_fault_storage_address = 0;
+				continue;
+			} else {
+				prt_err("wait_for_csb() returns %d\n", ret);
+				break;
+			}
+		} else {
+			if (i < 10) {
+				/* spin for few ticks */
+#define SPIN_TH 500UL
+				uint64_t fail_spin;
+
+				fail_spin = __ppc_get_timebase();
+				while ((__ppc_get_timebase() - fail_spin) <
+					 SPIN_TH)
+					;
+			} else {
+				/* sleep */
+				unsigned int pr = 0;
+
+				if (pr++ % 100 == 0) {
+					prt_err("Paste attempt %d/", i);
+					prt_err("%d, failed pid= %d\n", retries,
+						getpid());
+				}
+				usleep(1);
+			}
+			continue;
+		}
+	}
+
+out:
+	cpu_pri_default();
+
+	return ret;
+}
-- 
2.21.0


^ permalink raw reply related

* Re: [PATCH 02/28] staging: android: ion: use vmap instead of vm_map_ram
From: Hillf Danton @ 2020-04-08 12:48 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, linux-hyperv, linux-s390, Peter Zijlstra,
	syzkaller-bugs, linux-kernel, dri-devel, linaro-mm-sig, linux-mm,
	iommu, Andrew Morton, linuxppc-dev, bpf, linux-arm-kernel
In-Reply-To: <20200408115926.1467567-1-hch@lst.de>


On Wed,  8 Apr 2020 13:59:00 +0200
> 
> vm_map_ram can keep mappings around after the vm_unmap_ram.  Using that
> with non-PAGE_KERNEL mappings can lead to all kinds of aliasing issues.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  drivers/staging/android/ion/ion_heap.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/android/ion/ion_heap.c b/drivers/staging/android/ion/ion_heap.c
> index 473b465724f1..a2d5c6df4b96 100644
> --- a/drivers/staging/android/ion/ion_heap.c
> +++ b/drivers/staging/android/ion/ion_heap.c
> @@ -99,12 +99,12 @@ int ion_heap_map_user(struct ion_heap *heap, struct ion_buffer *buffer,
>  
>  static int ion_heap_clear_pages(struct page **pages, int num, pgprot_t pgprot)
>  {
> -	void *addr = vm_map_ram(pages, num, -1, pgprot);
> +	void *addr = vmap(pages, num, VM_MAP);

A merge glitch?

void *vmap(struct page **pages, unsigned int count,
	   unsigned long flags, pgprot_t prot)
>  
>  	if (!addr)
>  		return -ENOMEM;
>  	memset(addr, 0, PAGE_SIZE * num);
> -	vm_unmap_ram(addr, num);
> +	vunmap(addr);
>  
>  	return 0;
>  }
> -- 
> 2.25.1


^ permalink raw reply

* Re: [PATCH 18/28] mm: enforce that vmap can't map pages executable
From: Mark Rutland @ 2020-04-08 12:38 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-hyperv, David Airlie, Catalin marinas, dri-devel, linux-mm,
	K. Y. Srinivasan, Will Deacon, Sumit Semwal, linux-arch,
	linux-s390, Wei Liu, Stephen Hemminger, x86, Peter Zijlstra,
	Laura Abbott, Nitin Gupta, Daniel Vetter, Haiyang Zhang,
	linaro-mm-sig, bpf, linux-arm-kernel, Robin Murphy, linux-kernel,
	Minchan Kim, iommu, Sakari Ailus, Andrew Morton, linuxppc-dev
In-Reply-To: <20200408115926.1467567-19-hch@lst.de>

On Wed, Apr 08, 2020 at 01:59:16PM +0200, Christoph Hellwig wrote:
> To help enforcing the W^X protection don't allow remapping existing
> pages as executable.
> 
> Based on patch from Peter Zijlstra <peterz@infradead.org>.
> 
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> ---
>  arch/x86/include/asm/pgtable_types.h | 6 ++++++
>  include/asm-generic/pgtable.h        | 4 ++++
>  mm/vmalloc.c                         | 2 +-
>  3 files changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/include/asm/pgtable_types.h b/arch/x86/include/asm/pgtable_types.h
> index 947867f112ea..2e7c442cc618 100644
> --- a/arch/x86/include/asm/pgtable_types.h
> +++ b/arch/x86/include/asm/pgtable_types.h
> @@ -282,6 +282,12 @@ typedef struct pgprot { pgprotval_t pgprot; } pgprot_t;
>  
>  typedef struct { pgdval_t pgd; } pgd_t;
>  
> +static inline pgprot_t pgprot_nx(pgprot_t prot)
> +{
> +	return __pgprot(pgprot_val(prot) | _PAGE_NX);
> +}
> +#define pgprot_nx pgprot_nx
> +
>  #ifdef CONFIG_X86_PAE

I reckon for arm64 we can do similar in our <asm/pgtable.h>:

#define pgprot_nx(pgprot_t prot) \
	__pgprot_modify(prot, 0, PTE_PXN)

... matching the style of our existing pgprot_*() modifier helpers.

Mark.

>  
>  /*
> diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
> index 329b8c8ca703..8c5f9c29698b 100644
> --- a/include/asm-generic/pgtable.h
> +++ b/include/asm-generic/pgtable.h
> @@ -491,6 +491,10 @@ static inline int arch_unmap_one(struct mm_struct *mm,
>  #define flush_tlb_fix_spurious_fault(vma, address) flush_tlb_page(vma, address)
>  #endif
>  
> +#ifndef pgprot_nx
> +#define pgprot_nx(prot)	(prot)
> +#endif
> +
>  #ifndef pgprot_noncached
>  #define pgprot_noncached(prot)	(prot)
>  #endif
> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
> index 7356b3f07bd8..334c75251ddb 100644
> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -2390,7 +2390,7 @@ void *vmap(struct page **pages, unsigned int count,
>  	if (!area)
>  		return NULL;
>  
> -	if (map_kernel_range((unsigned long)area->addr, size, prot,
> +	if (map_kernel_range((unsigned long)area->addr, size, pgprot_nx(prot),
>  			pages) < 0) {
>  		vunmap(area->addr);
>  		return NULL;
> -- 
> 2.25.1
> 

^ permalink raw reply


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