2022-06-08 06:24:44

by Heinrich Schuchardt

[permalink] [raw]
Subject: [PATCH 1/1] riscv: enable Docker requirements in defconfig

The defconfig kernel should be able to run Docker.

Enable the missing settings according to [1].
make savedefconfig eliminates CONFIG_STACKTRACE
which is enabled by default.

Many of the settings are also needed to run a defconfig kernel
on default distro installations or to run snaps.

[1] https://github.com/moby/moby/blob/master/contrib/check-config.sh

Signed-off-by: Heinrich Schuchardt <[email protected]>
---
Cf. [PATCH] arm64: Enable docker support in defconfig
https://lore.kernel.org/lkml/[email protected]/
---
arch/riscv/configs/defconfig | 65 +++++++++++++++++++++++++++++++++++-
1 file changed, 64 insertions(+), 1 deletion(-)

diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
index 0cc17db8aaba..d4fffcd3cc05 100644
--- a/arch/riscv/configs/defconfig
+++ b/arch/riscv/configs/defconfig
@@ -6,8 +6,18 @@ CONFIG_BPF_SYSCALL=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_CGROUPS=y
+CONFIG_MEMCG=y
+CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
+CONFIG_RT_GROUP_SCHED=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_NAMESPACES=y
CONFIG_USER_NS=y
@@ -28,9 +38,11 @@ CONFIG_KVM=m
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
+CONFIG_BLK_DEV_THROTTLING=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
+CONFIG_XFRM_USER=m
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
@@ -38,7 +50,43 @@ CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
+CONFIG_INET_ESP=m
+CONFIG_NETFILTER=y
+CONFIG_BRIDGE_NETFILTER=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_NF_LOG_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_VLAN_FILTERING=y
+CONFIG_VLAN_8021Q=m
+CONFIG_NET_SCHED=y
+CONFIG_NET_CLS_CGROUP=m
CONFIG_NETLINK_DIAG=y
+CONFIG_CGROUP_NET_PRIO=y
CONFIG_NET_9P=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_PCI=y
@@ -57,7 +105,15 @@ CONFIG_SCSI_VIRTIO=y
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
+CONFIG_MD=y
+CONFIG_BLK_DEV_DM=m
+CONFIG_DM_THIN_PROVISIONING=m
CONFIG_NETDEVICES=y
+CONFIG_DUMMY=m
+CONFIG_MACVLAN=m
+CONFIG_IPVLAN=m
+CONFIG_VXLAN=m
+CONFIG_VETH=m
CONFIG_VIRTIO_NET=y
CONFIG_MACB=y
CONFIG_E1000E=y
@@ -105,7 +161,11 @@ CONFIG_RPMSG_CTRL=y
CONFIG_RPMSG_VIRTIO=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_AUTOFS4_FS=y
+CONFIG_OVERLAY_FS=m
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
@@ -119,6 +179,10 @@ CONFIG_ROOT_NFS=y
CONFIG_9P_FS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=m
+CONFIG_SECURITY=y
+CONFIG_SECURITY_SELINUX=y
+CONFIG_SECURITY_APPARMOR=y
+CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_DEV_VIRTIO=y
CONFIG_PRINTK_TIME=y
@@ -137,7 +201,6 @@ CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
-CONFIG_STACKTRACE=y
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_PLIST=y
CONFIG_DEBUG_SG=y
--
2.36.1


2022-06-08 07:46:26

by Anup Patel

[permalink] [raw]
Subject: Re: [PATCH 1/1] riscv: enable Docker requirements in defconfig

On Wed, Jun 8, 2022 at 5:33 AM Heinrich Schuchardt
<[email protected]> wrote:
>
> The defconfig kernel should be able to run Docker.
>
> Enable the missing settings according to [1].
> make savedefconfig eliminates CONFIG_STACKTRACE
> which is enabled by default.
>
> Many of the settings are also needed to run a defconfig kernel
> on default distro installations or to run snaps.
>
> [1] https://github.com/moby/moby/blob/master/contrib/check-config.sh
>
> Signed-off-by: Heinrich Schuchardt <[email protected]>

Looks good to me.

Reviewed-by: Anup Patel <[email protected]>

Regards,
Anup

> ---
> Cf. [PATCH] arm64: Enable docker support in defconfig
> https://lore.kernel.org/lkml/[email protected]/
> ---
> arch/riscv/configs/defconfig | 65 +++++++++++++++++++++++++++++++++++-
> 1 file changed, 64 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
> index 0cc17db8aaba..d4fffcd3cc05 100644
> --- a/arch/riscv/configs/defconfig
> +++ b/arch/riscv/configs/defconfig
> @@ -6,8 +6,18 @@ CONFIG_BPF_SYSCALL=y
> CONFIG_IKCONFIG=y
> CONFIG_IKCONFIG_PROC=y
> CONFIG_CGROUPS=y
> +CONFIG_MEMCG=y
> +CONFIG_BLK_CGROUP=y
> CONFIG_CGROUP_SCHED=y
> CONFIG_CFS_BANDWIDTH=y
> +CONFIG_RT_GROUP_SCHED=y
> +CONFIG_CGROUP_PIDS=y
> +CONFIG_CGROUP_FREEZER=y
> +CONFIG_CGROUP_HUGETLB=y
> +CONFIG_CPUSETS=y
> +CONFIG_CGROUP_DEVICE=y
> +CONFIG_CGROUP_CPUACCT=y
> +CONFIG_CGROUP_PERF=y
> CONFIG_CGROUP_BPF=y
> CONFIG_NAMESPACES=y
> CONFIG_USER_NS=y
> @@ -28,9 +38,11 @@ CONFIG_KVM=m
> CONFIG_JUMP_LABEL=y
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> +CONFIG_BLK_DEV_THROTTLING=y
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_UNIX=y
> +CONFIG_XFRM_USER=m
> CONFIG_INET=y
> CONFIG_IP_MULTICAST=y
> CONFIG_IP_ADVANCED_ROUTER=y
> @@ -38,7 +50,43 @@ CONFIG_IP_PNP=y
> CONFIG_IP_PNP_DHCP=y
> CONFIG_IP_PNP_BOOTP=y
> CONFIG_IP_PNP_RARP=y
> +CONFIG_INET_ESP=m
> +CONFIG_NETFILTER=y
> +CONFIG_BRIDGE_NETFILTER=m
> +CONFIG_NF_CONNTRACK=m
> +CONFIG_NF_CONNTRACK_FTP=m
> +CONFIG_NF_CONNTRACK_TFTP=m
> +CONFIG_NETFILTER_XT_MARK=m
> +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
> +CONFIG_NETFILTER_XT_MATCH_IPVS=m
> +CONFIG_IP_VS=m
> +CONFIG_IP_VS_PROTO_TCP=y
> +CONFIG_IP_VS_PROTO_UDP=y
> +CONFIG_IP_VS_RR=m
> +CONFIG_IP_VS_NFCT=y
> +CONFIG_NF_LOG_ARP=m
> +CONFIG_NF_LOG_IPV4=m
> +CONFIG_IP_NF_IPTABLES=m
> +CONFIG_IP_NF_FILTER=m
> +CONFIG_IP_NF_TARGET_REJECT=m
> +CONFIG_IP_NF_NAT=m
> +CONFIG_IP_NF_TARGET_MASQUERADE=m
> +CONFIG_IP_NF_TARGET_REDIRECT=m
> +CONFIG_IP_NF_MANGLE=m
> +CONFIG_NF_LOG_IPV6=m
> +CONFIG_IP6_NF_IPTABLES=m
> +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
> +CONFIG_IP6_NF_FILTER=m
> +CONFIG_IP6_NF_TARGET_REJECT=m
> +CONFIG_IP6_NF_MANGLE=m
> +CONFIG_BRIDGE=m
> +CONFIG_BRIDGE_VLAN_FILTERING=y
> +CONFIG_VLAN_8021Q=m
> +CONFIG_NET_SCHED=y
> +CONFIG_NET_CLS_CGROUP=m
> CONFIG_NETLINK_DIAG=y
> +CONFIG_CGROUP_NET_PRIO=y
> CONFIG_NET_9P=y
> CONFIG_NET_9P_VIRTIO=y
> CONFIG_PCI=y
> @@ -57,7 +105,15 @@ CONFIG_SCSI_VIRTIO=y
> CONFIG_ATA=y
> CONFIG_SATA_AHCI=y
> CONFIG_SATA_AHCI_PLATFORM=y
> +CONFIG_MD=y
> +CONFIG_BLK_DEV_DM=m
> +CONFIG_DM_THIN_PROVISIONING=m
> CONFIG_NETDEVICES=y
> +CONFIG_DUMMY=m
> +CONFIG_MACVLAN=m
> +CONFIG_IPVLAN=m
> +CONFIG_VXLAN=m
> +CONFIG_VETH=m
> CONFIG_VIRTIO_NET=y
> CONFIG_MACB=y
> CONFIG_E1000E=y
> @@ -105,7 +161,11 @@ CONFIG_RPMSG_CTRL=y
> CONFIG_RPMSG_VIRTIO=y
> CONFIG_EXT4_FS=y
> CONFIG_EXT4_FS_POSIX_ACL=y
> +CONFIG_EXT4_FS_SECURITY=y
> +CONFIG_BTRFS_FS=m
> +CONFIG_BTRFS_FS_POSIX_ACL=y
> CONFIG_AUTOFS4_FS=y
> +CONFIG_OVERLAY_FS=m
> CONFIG_MSDOS_FS=y
> CONFIG_VFAT_FS=y
> CONFIG_TMPFS=y
> @@ -119,6 +179,10 @@ CONFIG_ROOT_NFS=y
> CONFIG_9P_FS=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=m
> +CONFIG_SECURITY=y
> +CONFIG_SECURITY_SELINUX=y
> +CONFIG_SECURITY_APPARMOR=y
> +CONFIG_DEFAULT_SECURITY_DAC=y
> CONFIG_CRYPTO_USER_API_HASH=y
> CONFIG_CRYPTO_DEV_VIRTIO=y
> CONFIG_PRINTK_TIME=y
> @@ -137,7 +201,6 @@ CONFIG_DEBUG_SPINLOCK=y
> CONFIG_DEBUG_MUTEXES=y
> CONFIG_DEBUG_RWSEMS=y
> CONFIG_DEBUG_ATOMIC_SLEEP=y
> -CONFIG_STACKTRACE=y
> CONFIG_DEBUG_LIST=y
> CONFIG_DEBUG_PLIST=y
> CONFIG_DEBUG_SG=y
> --
> 2.36.1
>
>
> _______________________________________________
> linux-riscv mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-riscv

2022-06-08 08:55:08

by Guo Ren

[permalink] [raw]
Subject: Re: [PATCH 1/1] riscv: enable Docker requirements in defconfig

Agree make docker support default in riscv.

Acked-by: Guo Ren <[email protected]>

On Wed, Jun 8, 2022 at 8:03 AM Heinrich Schuchardt
<[email protected]> wrote:
>
> The defconfig kernel should be able to run Docker.
>
> Enable the missing settings according to [1].
> make savedefconfig eliminates CONFIG_STACKTRACE
> which is enabled by default.
>
> Many of the settings are also needed to run a defconfig kernel
> on default distro installations or to run snaps.
>
> [1] https://github.com/moby/moby/blob/master/contrib/check-config.sh
>
> Signed-off-by: Heinrich Schuchardt <[email protected]>
> ---
> Cf. [PATCH] arm64: Enable docker support in defconfig
> https://lore.kernel.org/lkml/[email protected]/
> ---
> arch/riscv/configs/defconfig | 65 +++++++++++++++++++++++++++++++++++-
> 1 file changed, 64 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
> index 0cc17db8aaba..d4fffcd3cc05 100644
> --- a/arch/riscv/configs/defconfig
> +++ b/arch/riscv/configs/defconfig
> @@ -6,8 +6,18 @@ CONFIG_BPF_SYSCALL=y
> CONFIG_IKCONFIG=y
> CONFIG_IKCONFIG_PROC=y
> CONFIG_CGROUPS=y
> +CONFIG_MEMCG=y
> +CONFIG_BLK_CGROUP=y
> CONFIG_CGROUP_SCHED=y
> CONFIG_CFS_BANDWIDTH=y
> +CONFIG_RT_GROUP_SCHED=y
> +CONFIG_CGROUP_PIDS=y
> +CONFIG_CGROUP_FREEZER=y
> +CONFIG_CGROUP_HUGETLB=y
> +CONFIG_CPUSETS=y
> +CONFIG_CGROUP_DEVICE=y
> +CONFIG_CGROUP_CPUACCT=y
> +CONFIG_CGROUP_PERF=y
> CONFIG_CGROUP_BPF=y
> CONFIG_NAMESPACES=y
> CONFIG_USER_NS=y
> @@ -28,9 +38,11 @@ CONFIG_KVM=m
> CONFIG_JUMP_LABEL=y
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> +CONFIG_BLK_DEV_THROTTLING=y
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_UNIX=y
> +CONFIG_XFRM_USER=m
> CONFIG_INET=y
> CONFIG_IP_MULTICAST=y
> CONFIG_IP_ADVANCED_ROUTER=y
> @@ -38,7 +50,43 @@ CONFIG_IP_PNP=y
> CONFIG_IP_PNP_DHCP=y
> CONFIG_IP_PNP_BOOTP=y
> CONFIG_IP_PNP_RARP=y
> +CONFIG_INET_ESP=m
> +CONFIG_NETFILTER=y
> +CONFIG_BRIDGE_NETFILTER=m
> +CONFIG_NF_CONNTRACK=m
> +CONFIG_NF_CONNTRACK_FTP=m
> +CONFIG_NF_CONNTRACK_TFTP=m
> +CONFIG_NETFILTER_XT_MARK=m
> +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
> +CONFIG_NETFILTER_XT_MATCH_IPVS=m
> +CONFIG_IP_VS=m
> +CONFIG_IP_VS_PROTO_TCP=y
> +CONFIG_IP_VS_PROTO_UDP=y
> +CONFIG_IP_VS_RR=m
> +CONFIG_IP_VS_NFCT=y
> +CONFIG_NF_LOG_ARP=m
> +CONFIG_NF_LOG_IPV4=m
> +CONFIG_IP_NF_IPTABLES=m
> +CONFIG_IP_NF_FILTER=m
> +CONFIG_IP_NF_TARGET_REJECT=m
> +CONFIG_IP_NF_NAT=m
> +CONFIG_IP_NF_TARGET_MASQUERADE=m
> +CONFIG_IP_NF_TARGET_REDIRECT=m
> +CONFIG_IP_NF_MANGLE=m
> +CONFIG_NF_LOG_IPV6=m
> +CONFIG_IP6_NF_IPTABLES=m
> +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
> +CONFIG_IP6_NF_FILTER=m
> +CONFIG_IP6_NF_TARGET_REJECT=m
> +CONFIG_IP6_NF_MANGLE=m
> +CONFIG_BRIDGE=m
> +CONFIG_BRIDGE_VLAN_FILTERING=y
> +CONFIG_VLAN_8021Q=m
> +CONFIG_NET_SCHED=y
> +CONFIG_NET_CLS_CGROUP=m
> CONFIG_NETLINK_DIAG=y
> +CONFIG_CGROUP_NET_PRIO=y
> CONFIG_NET_9P=y
> CONFIG_NET_9P_VIRTIO=y
> CONFIG_PCI=y
> @@ -57,7 +105,15 @@ CONFIG_SCSI_VIRTIO=y
> CONFIG_ATA=y
> CONFIG_SATA_AHCI=y
> CONFIG_SATA_AHCI_PLATFORM=y
> +CONFIG_MD=y
> +CONFIG_BLK_DEV_DM=m
> +CONFIG_DM_THIN_PROVISIONING=m
> CONFIG_NETDEVICES=y
> +CONFIG_DUMMY=m
> +CONFIG_MACVLAN=m
> +CONFIG_IPVLAN=m
> +CONFIG_VXLAN=m
> +CONFIG_VETH=m
> CONFIG_VIRTIO_NET=y
> CONFIG_MACB=y
> CONFIG_E1000E=y
> @@ -105,7 +161,11 @@ CONFIG_RPMSG_CTRL=y
> CONFIG_RPMSG_VIRTIO=y
> CONFIG_EXT4_FS=y
> CONFIG_EXT4_FS_POSIX_ACL=y
> +CONFIG_EXT4_FS_SECURITY=y
> +CONFIG_BTRFS_FS=m
> +CONFIG_BTRFS_FS_POSIX_ACL=y
> CONFIG_AUTOFS4_FS=y
> +CONFIG_OVERLAY_FS=m
> CONFIG_MSDOS_FS=y
> CONFIG_VFAT_FS=y
> CONFIG_TMPFS=y
> @@ -119,6 +179,10 @@ CONFIG_ROOT_NFS=y
> CONFIG_9P_FS=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=m
> +CONFIG_SECURITY=y
> +CONFIG_SECURITY_SELINUX=y
> +CONFIG_SECURITY_APPARMOR=y
> +CONFIG_DEFAULT_SECURITY_DAC=y
> CONFIG_CRYPTO_USER_API_HASH=y
> CONFIG_CRYPTO_DEV_VIRTIO=y
> CONFIG_PRINTK_TIME=y
> @@ -137,7 +201,6 @@ CONFIG_DEBUG_SPINLOCK=y
> CONFIG_DEBUG_MUTEXES=y
> CONFIG_DEBUG_RWSEMS=y
> CONFIG_DEBUG_ATOMIC_SLEEP=y
> -CONFIG_STACKTRACE=y
> CONFIG_DEBUG_LIST=y
> CONFIG_DEBUG_PLIST=y
> CONFIG_DEBUG_SG=y
> --
> 2.36.1
>


--
Best Regards
Guo Ren

ML: https://lore.kernel.org/linux-csky/

2022-07-22 05:35:23

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH 1/1] riscv: enable Docker requirements in defconfig

On Tue, 07 Jun 2022 17:02:51 PDT (-0700), [email protected] wrote:
> The defconfig kernel should be able to run Docker.
>
> Enable the missing settings according to [1].
> make savedefconfig eliminates CONFIG_STACKTRACE
> which is enabled by default.
>
> Many of the settings are also needed to run a defconfig kernel
> on default distro installations or to run snaps.
>
> [1] https://github.com/moby/moby/blob/master/contrib/check-config.sh
>
> Signed-off-by: Heinrich Schuchardt <[email protected]>
> ---
> Cf. [PATCH] arm64: Enable docker support in defconfig
> https://lore.kernel.org/lkml/[email protected]/
> ---
> arch/riscv/configs/defconfig | 65 +++++++++++++++++++++++++++++++++++-
> 1 file changed, 64 insertions(+), 1 deletion(-)
>
> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
> index 0cc17db8aaba..d4fffcd3cc05 100644
> --- a/arch/riscv/configs/defconfig
> +++ b/arch/riscv/configs/defconfig
> @@ -6,8 +6,18 @@ CONFIG_BPF_SYSCALL=y
> CONFIG_IKCONFIG=y
> CONFIG_IKCONFIG_PROC=y
> CONFIG_CGROUPS=y
> +CONFIG_MEMCG=y
> +CONFIG_BLK_CGROUP=y
> CONFIG_CGROUP_SCHED=y
> CONFIG_CFS_BANDWIDTH=y
> +CONFIG_RT_GROUP_SCHED=y
> +CONFIG_CGROUP_PIDS=y
> +CONFIG_CGROUP_FREEZER=y
> +CONFIG_CGROUP_HUGETLB=y
> +CONFIG_CPUSETS=y
> +CONFIG_CGROUP_DEVICE=y
> +CONFIG_CGROUP_CPUACCT=y
> +CONFIG_CGROUP_PERF=y
> CONFIG_CGROUP_BPF=y
> CONFIG_NAMESPACES=y
> CONFIG_USER_NS=y
> @@ -28,9 +38,11 @@ CONFIG_KVM=m
> CONFIG_JUMP_LABEL=y
> CONFIG_MODULES=y
> CONFIG_MODULE_UNLOAD=y
> +CONFIG_BLK_DEV_THROTTLING=y
> CONFIG_NET=y
> CONFIG_PACKET=y
> CONFIG_UNIX=y
> +CONFIG_XFRM_USER=m
> CONFIG_INET=y
> CONFIG_IP_MULTICAST=y
> CONFIG_IP_ADVANCED_ROUTER=y
> @@ -38,7 +50,43 @@ CONFIG_IP_PNP=y
> CONFIG_IP_PNP_DHCP=y
> CONFIG_IP_PNP_BOOTP=y
> CONFIG_IP_PNP_RARP=y
> +CONFIG_INET_ESP=m
> +CONFIG_NETFILTER=y
> +CONFIG_BRIDGE_NETFILTER=m
> +CONFIG_NF_CONNTRACK=m
> +CONFIG_NF_CONNTRACK_FTP=m
> +CONFIG_NF_CONNTRACK_TFTP=m
> +CONFIG_NETFILTER_XT_MARK=m
> +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
> +CONFIG_NETFILTER_XT_MATCH_IPVS=m
> +CONFIG_IP_VS=m
> +CONFIG_IP_VS_PROTO_TCP=y
> +CONFIG_IP_VS_PROTO_UDP=y
> +CONFIG_IP_VS_RR=m
> +CONFIG_IP_VS_NFCT=y
> +CONFIG_NF_LOG_ARP=m
> +CONFIG_NF_LOG_IPV4=m
> +CONFIG_IP_NF_IPTABLES=m
> +CONFIG_IP_NF_FILTER=m
> +CONFIG_IP_NF_TARGET_REJECT=m
> +CONFIG_IP_NF_NAT=m
> +CONFIG_IP_NF_TARGET_MASQUERADE=m
> +CONFIG_IP_NF_TARGET_REDIRECT=m
> +CONFIG_IP_NF_MANGLE=m
> +CONFIG_NF_LOG_IPV6=m
> +CONFIG_IP6_NF_IPTABLES=m
> +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
> +CONFIG_IP6_NF_FILTER=m
> +CONFIG_IP6_NF_TARGET_REJECT=m
> +CONFIG_IP6_NF_MANGLE=m
> +CONFIG_BRIDGE=m
> +CONFIG_BRIDGE_VLAN_FILTERING=y
> +CONFIG_VLAN_8021Q=m
> +CONFIG_NET_SCHED=y
> +CONFIG_NET_CLS_CGROUP=m
> CONFIG_NETLINK_DIAG=y
> +CONFIG_CGROUP_NET_PRIO=y
> CONFIG_NET_9P=y
> CONFIG_NET_9P_VIRTIO=y
> CONFIG_PCI=y
> @@ -57,7 +105,15 @@ CONFIG_SCSI_VIRTIO=y
> CONFIG_ATA=y
> CONFIG_SATA_AHCI=y
> CONFIG_SATA_AHCI_PLATFORM=y
> +CONFIG_MD=y
> +CONFIG_BLK_DEV_DM=m
> +CONFIG_DM_THIN_PROVISIONING=m
> CONFIG_NETDEVICES=y
> +CONFIG_DUMMY=m
> +CONFIG_MACVLAN=m
> +CONFIG_IPVLAN=m
> +CONFIG_VXLAN=m
> +CONFIG_VETH=m
> CONFIG_VIRTIO_NET=y
> CONFIG_MACB=y
> CONFIG_E1000E=y
> @@ -105,7 +161,11 @@ CONFIG_RPMSG_CTRL=y
> CONFIG_RPMSG_VIRTIO=y
> CONFIG_EXT4_FS=y
> CONFIG_EXT4_FS_POSIX_ACL=y
> +CONFIG_EXT4_FS_SECURITY=y
> +CONFIG_BTRFS_FS=m
> +CONFIG_BTRFS_FS_POSIX_ACL=y
> CONFIG_AUTOFS4_FS=y
> +CONFIG_OVERLAY_FS=m
> CONFIG_MSDOS_FS=y
> CONFIG_VFAT_FS=y
> CONFIG_TMPFS=y
> @@ -119,6 +179,10 @@ CONFIG_ROOT_NFS=y
> CONFIG_9P_FS=y
> CONFIG_NLS_CODEPAGE_437=y
> CONFIG_NLS_ISO8859_1=m
> +CONFIG_SECURITY=y
> +CONFIG_SECURITY_SELINUX=y
> +CONFIG_SECURITY_APPARMOR=y
> +CONFIG_DEFAULT_SECURITY_DAC=y
> CONFIG_CRYPTO_USER_API_HASH=y
> CONFIG_CRYPTO_DEV_VIRTIO=y
> CONFIG_PRINTK_TIME=y
> @@ -137,7 +201,6 @@ CONFIG_DEBUG_SPINLOCK=y
> CONFIG_DEBUG_MUTEXES=y
> CONFIG_DEBUG_RWSEMS=y
> CONFIG_DEBUG_ATOMIC_SLEEP=y
> -CONFIG_STACKTRACE=y
> CONFIG_DEBUG_LIST=y
> CONFIG_DEBUG_PLIST=y
> CONFIG_DEBUG_SG=y

Sorry for being so slow here. I don't have any issues with this as a
concept, but it makes a handful of my test configs panic on boot. Seems
like something is tripping up a kasan failure. I guess it's kind of
arbitrary to call that a regression, as I'm sure it's just uncovering
some issue that already exists, but turning something on in defconfig
that panics with kasan is going to have a bunch of fallout.

It looks like BLK_CGROUP is the problem here, so if you're OK with it
then I'm happy to take the rest of these. I put that over at
kernel.org/palmer/linux/riscv-docker_no_blk_cgroup, if that's OK I'll
cherry-pick it onto for-next.

There's almost certainly a bug here that warrants fixing.

2022-07-22 08:41:08

by Heinrich Schuchardt

[permalink] [raw]
Subject: Re: [PATCH 1/1] riscv: enable Docker requirements in defconfig

On 7/22/22 07:06, Palmer Dabbelt wrote:
> On Tue, 07 Jun 2022 17:02:51 PDT (-0700),
> [email protected] wrote:
>> The defconfig kernel should be able to run Docker.
>>
>> Enable the missing settings according to [1].
>> make savedefconfig eliminates CONFIG_STACKTRACE
>> which is enabled by default.
>>
>> Many of the settings are also needed to run a defconfig kernel
>> on default distro installations or to run snaps.
>>
>> [1] https://github.com/moby/moby/blob/master/contrib/check-config.sh
>>
>> Signed-off-by: Heinrich Schuchardt <[email protected]>
>> ---
>> Cf. [PATCH] arm64: Enable docker support in defconfig
>> https://lore.kernel.org/lkml/[email protected]/
>> ---
>>  arch/riscv/configs/defconfig | 65 +++++++++++++++++++++++++++++++++++-
>>  1 file changed, 64 insertions(+), 1 deletion(-)
>>
>> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
>> index 0cc17db8aaba..d4fffcd3cc05 100644
>> --- a/arch/riscv/configs/defconfig
>> +++ b/arch/riscv/configs/defconfig
>> @@ -6,8 +6,18 @@ CONFIG_BPF_SYSCALL=y
>>  CONFIG_IKCONFIG=y
>>  CONFIG_IKCONFIG_PROC=y
>>  CONFIG_CGROUPS=y
>> +CONFIG_MEMCG=y
>> +CONFIG_BLK_CGROUP=y
>>  CONFIG_CGROUP_SCHED=y
>>  CONFIG_CFS_BANDWIDTH=y
>> +CONFIG_RT_GROUP_SCHED=y
>> +CONFIG_CGROUP_PIDS=y
>> +CONFIG_CGROUP_FREEZER=y
>> +CONFIG_CGROUP_HUGETLB=y
>> +CONFIG_CPUSETS=y
>> +CONFIG_CGROUP_DEVICE=y
>> +CONFIG_CGROUP_CPUACCT=y
>> +CONFIG_CGROUP_PERF=y
>>  CONFIG_CGROUP_BPF=y
>>  CONFIG_NAMESPACES=y
>>  CONFIG_USER_NS=y
>> @@ -28,9 +38,11 @@ CONFIG_KVM=m
>>  CONFIG_JUMP_LABEL=y
>>  CONFIG_MODULES=y
>>  CONFIG_MODULE_UNLOAD=y
>> +CONFIG_BLK_DEV_THROTTLING=y
>>  CONFIG_NET=y
>>  CONFIG_PACKET=y
>>  CONFIG_UNIX=y
>> +CONFIG_XFRM_USER=m
>>  CONFIG_INET=y
>>  CONFIG_IP_MULTICAST=y
>>  CONFIG_IP_ADVANCED_ROUTER=y
>> @@ -38,7 +50,43 @@ CONFIG_IP_PNP=y
>>  CONFIG_IP_PNP_DHCP=y
>>  CONFIG_IP_PNP_BOOTP=y
>>  CONFIG_IP_PNP_RARP=y
>> +CONFIG_INET_ESP=m
>> +CONFIG_NETFILTER=y
>> +CONFIG_BRIDGE_NETFILTER=m
>> +CONFIG_NF_CONNTRACK=m
>> +CONFIG_NF_CONNTRACK_FTP=m
>> +CONFIG_NF_CONNTRACK_TFTP=m
>> +CONFIG_NETFILTER_XT_MARK=m
>> +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
>> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
>> +CONFIG_NETFILTER_XT_MATCH_IPVS=m
>> +CONFIG_IP_VS=m
>> +CONFIG_IP_VS_PROTO_TCP=y
>> +CONFIG_IP_VS_PROTO_UDP=y
>> +CONFIG_IP_VS_RR=m
>> +CONFIG_IP_VS_NFCT=y
>> +CONFIG_NF_LOG_ARP=m
>> +CONFIG_NF_LOG_IPV4=m
>> +CONFIG_IP_NF_IPTABLES=m
>> +CONFIG_IP_NF_FILTER=m
>> +CONFIG_IP_NF_TARGET_REJECT=m
>> +CONFIG_IP_NF_NAT=m
>> +CONFIG_IP_NF_TARGET_MASQUERADE=m
>> +CONFIG_IP_NF_TARGET_REDIRECT=m
>> +CONFIG_IP_NF_MANGLE=m
>> +CONFIG_NF_LOG_IPV6=m
>> +CONFIG_IP6_NF_IPTABLES=m
>> +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
>> +CONFIG_IP6_NF_FILTER=m
>> +CONFIG_IP6_NF_TARGET_REJECT=m
>> +CONFIG_IP6_NF_MANGLE=m
>> +CONFIG_BRIDGE=m
>> +CONFIG_BRIDGE_VLAN_FILTERING=y
>> +CONFIG_VLAN_8021Q=m
>> +CONFIG_NET_SCHED=y
>> +CONFIG_NET_CLS_CGROUP=m
>>  CONFIG_NETLINK_DIAG=y
>> +CONFIG_CGROUP_NET_PRIO=y
>>  CONFIG_NET_9P=y
>>  CONFIG_NET_9P_VIRTIO=y
>>  CONFIG_PCI=y
>> @@ -57,7 +105,15 @@ CONFIG_SCSI_VIRTIO=y
>>  CONFIG_ATA=y
>>  CONFIG_SATA_AHCI=y
>>  CONFIG_SATA_AHCI_PLATFORM=y
>> +CONFIG_MD=y
>> +CONFIG_BLK_DEV_DM=m
>> +CONFIG_DM_THIN_PROVISIONING=m
>>  CONFIG_NETDEVICES=y
>> +CONFIG_DUMMY=m
>> +CONFIG_MACVLAN=m
>> +CONFIG_IPVLAN=m
>> +CONFIG_VXLAN=m
>> +CONFIG_VETH=m
>>  CONFIG_VIRTIO_NET=y
>>  CONFIG_MACB=y
>>  CONFIG_E1000E=y
>> @@ -105,7 +161,11 @@ CONFIG_RPMSG_CTRL=y
>>  CONFIG_RPMSG_VIRTIO=y
>>  CONFIG_EXT4_FS=y
>>  CONFIG_EXT4_FS_POSIX_ACL=y
>> +CONFIG_EXT4_FS_SECURITY=y
>> +CONFIG_BTRFS_FS=m
>> +CONFIG_BTRFS_FS_POSIX_ACL=y
>>  CONFIG_AUTOFS4_FS=y
>> +CONFIG_OVERLAY_FS=m
>>  CONFIG_MSDOS_FS=y
>>  CONFIG_VFAT_FS=y
>>  CONFIG_TMPFS=y
>> @@ -119,6 +179,10 @@ CONFIG_ROOT_NFS=y
>>  CONFIG_9P_FS=y
>>  CONFIG_NLS_CODEPAGE_437=y
>>  CONFIG_NLS_ISO8859_1=m
>> +CONFIG_SECURITY=y
>> +CONFIG_SECURITY_SELINUX=y
>> +CONFIG_SECURITY_APPARMOR=y
>> +CONFIG_DEFAULT_SECURITY_DAC=y
>>  CONFIG_CRYPTO_USER_API_HASH=y
>>  CONFIG_CRYPTO_DEV_VIRTIO=y
>>  CONFIG_PRINTK_TIME=y
>> @@ -137,7 +201,6 @@ CONFIG_DEBUG_SPINLOCK=y
>>  CONFIG_DEBUG_MUTEXES=y
>>  CONFIG_DEBUG_RWSEMS=y
>>  CONFIG_DEBUG_ATOMIC_SLEEP=y
>> -CONFIG_STACKTRACE=y
>>  CONFIG_DEBUG_LIST=y
>>  CONFIG_DEBUG_PLIST=y
>>  CONFIG_DEBUG_SG=y
>
> Sorry for being so slow here.  I don't have any issues with this as a
> concept, but it makes a handful of my test configs panic on boot.  Seems
> like something is tripping up a kasan failure.  I guess it's kind of

Hello Palmer,

thanks for sharing your test experience. Could you, please, provide the
config file and the test configuration that leads the regression.

> arbitrary to call that a regression, as I'm sure it's just uncovering
> some issue that already exists, but turning something on in defconfig
> that panics with kasan is going to have a bunch of fallout.
>
> It looks like BLK_CGROUP is the problem here, so if you're OK with it
> then I'm happy to take the rest of these.  I put that over at
> kernel.org/palmer/linux/riscv-docker_no_blk_cgroup, if that's OK I'll
> cherry-pick it onto for-next.

I am fine with cherry picking.

Best regards

Heinrich

>
> There's almost certainly a bug here that warrants fixing.

2022-07-22 23:04:00

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH 1/1] riscv: enable Docker requirements in defconfig

On Fri, 22 Jul 2022 01:03:47 PDT (-0700), [email protected] wrote:
> On 7/22/22 07:06, Palmer Dabbelt wrote:
>> On Tue, 07 Jun 2022 17:02:51 PDT (-0700),
>> [email protected] wrote:
>>> The defconfig kernel should be able to run Docker.
>>>
>>> Enable the missing settings according to [1].
>>> make savedefconfig eliminates CONFIG_STACKTRACE
>>> which is enabled by default.
>>>
>>> Many of the settings are also needed to run a defconfig kernel
>>> on default distro installations or to run snaps.
>>>
>>> [1] https://github.com/moby/moby/blob/master/contrib/check-config.sh
>>>
>>> Signed-off-by: Heinrich Schuchardt <[email protected]>
>>> ---
>>> Cf. [PATCH] arm64: Enable docker support in defconfig
>>> https://lore.kernel.org/lkml/[email protected]/
>>> ---
>>>  arch/riscv/configs/defconfig | 65 +++++++++++++++++++++++++++++++++++-
>>>  1 file changed, 64 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/arch/riscv/configs/defconfig b/arch/riscv/configs/defconfig
>>> index 0cc17db8aaba..d4fffcd3cc05 100644
>>> --- a/arch/riscv/configs/defconfig
>>> +++ b/arch/riscv/configs/defconfig
>>> @@ -6,8 +6,18 @@ CONFIG_BPF_SYSCALL=y
>>>  CONFIG_IKCONFIG=y
>>>  CONFIG_IKCONFIG_PROC=y
>>>  CONFIG_CGROUPS=y
>>> +CONFIG_MEMCG=y
>>> +CONFIG_BLK_CGROUP=y
>>>  CONFIG_CGROUP_SCHED=y
>>>  CONFIG_CFS_BANDWIDTH=y
>>> +CONFIG_RT_GROUP_SCHED=y
>>> +CONFIG_CGROUP_PIDS=y
>>> +CONFIG_CGROUP_FREEZER=y
>>> +CONFIG_CGROUP_HUGETLB=y
>>> +CONFIG_CPUSETS=y
>>> +CONFIG_CGROUP_DEVICE=y
>>> +CONFIG_CGROUP_CPUACCT=y
>>> +CONFIG_CGROUP_PERF=y
>>>  CONFIG_CGROUP_BPF=y
>>>  CONFIG_NAMESPACES=y
>>>  CONFIG_USER_NS=y
>>> @@ -28,9 +38,11 @@ CONFIG_KVM=m
>>>  CONFIG_JUMP_LABEL=y
>>>  CONFIG_MODULES=y
>>>  CONFIG_MODULE_UNLOAD=y
>>> +CONFIG_BLK_DEV_THROTTLING=y
>>>  CONFIG_NET=y
>>>  CONFIG_PACKET=y
>>>  CONFIG_UNIX=y
>>> +CONFIG_XFRM_USER=m
>>>  CONFIG_INET=y
>>>  CONFIG_IP_MULTICAST=y
>>>  CONFIG_IP_ADVANCED_ROUTER=y
>>> @@ -38,7 +50,43 @@ CONFIG_IP_PNP=y
>>>  CONFIG_IP_PNP_DHCP=y
>>>  CONFIG_IP_PNP_BOOTP=y
>>>  CONFIG_IP_PNP_RARP=y
>>> +CONFIG_INET_ESP=m
>>> +CONFIG_NETFILTER=y
>>> +CONFIG_BRIDGE_NETFILTER=m
>>> +CONFIG_NF_CONNTRACK=m
>>> +CONFIG_NF_CONNTRACK_FTP=m
>>> +CONFIG_NF_CONNTRACK_TFTP=m
>>> +CONFIG_NETFILTER_XT_MARK=m
>>> +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
>>> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
>>> +CONFIG_NETFILTER_XT_MATCH_IPVS=m
>>> +CONFIG_IP_VS=m
>>> +CONFIG_IP_VS_PROTO_TCP=y
>>> +CONFIG_IP_VS_PROTO_UDP=y
>>> +CONFIG_IP_VS_RR=m
>>> +CONFIG_IP_VS_NFCT=y
>>> +CONFIG_NF_LOG_ARP=m
>>> +CONFIG_NF_LOG_IPV4=m
>>> +CONFIG_IP_NF_IPTABLES=m
>>> +CONFIG_IP_NF_FILTER=m
>>> +CONFIG_IP_NF_TARGET_REJECT=m
>>> +CONFIG_IP_NF_NAT=m
>>> +CONFIG_IP_NF_TARGET_MASQUERADE=m
>>> +CONFIG_IP_NF_TARGET_REDIRECT=m
>>> +CONFIG_IP_NF_MANGLE=m
>>> +CONFIG_NF_LOG_IPV6=m
>>> +CONFIG_IP6_NF_IPTABLES=m
>>> +CONFIG_IP6_NF_MATCH_IPV6HEADER=m
>>> +CONFIG_IP6_NF_FILTER=m
>>> +CONFIG_IP6_NF_TARGET_REJECT=m
>>> +CONFIG_IP6_NF_MANGLE=m
>>> +CONFIG_BRIDGE=m
>>> +CONFIG_BRIDGE_VLAN_FILTERING=y
>>> +CONFIG_VLAN_8021Q=m
>>> +CONFIG_NET_SCHED=y
>>> +CONFIG_NET_CLS_CGROUP=m
>>>  CONFIG_NETLINK_DIAG=y
>>> +CONFIG_CGROUP_NET_PRIO=y
>>>  CONFIG_NET_9P=y
>>>  CONFIG_NET_9P_VIRTIO=y
>>>  CONFIG_PCI=y
>>> @@ -57,7 +105,15 @@ CONFIG_SCSI_VIRTIO=y
>>>  CONFIG_ATA=y
>>>  CONFIG_SATA_AHCI=y
>>>  CONFIG_SATA_AHCI_PLATFORM=y
>>> +CONFIG_MD=y
>>> +CONFIG_BLK_DEV_DM=m
>>> +CONFIG_DM_THIN_PROVISIONING=m
>>>  CONFIG_NETDEVICES=y
>>> +CONFIG_DUMMY=m
>>> +CONFIG_MACVLAN=m
>>> +CONFIG_IPVLAN=m
>>> +CONFIG_VXLAN=m
>>> +CONFIG_VETH=m
>>>  CONFIG_VIRTIO_NET=y
>>>  CONFIG_MACB=y
>>>  CONFIG_E1000E=y
>>> @@ -105,7 +161,11 @@ CONFIG_RPMSG_CTRL=y
>>>  CONFIG_RPMSG_VIRTIO=y
>>>  CONFIG_EXT4_FS=y
>>>  CONFIG_EXT4_FS_POSIX_ACL=y
>>> +CONFIG_EXT4_FS_SECURITY=y
>>> +CONFIG_BTRFS_FS=m
>>> +CONFIG_BTRFS_FS_POSIX_ACL=y
>>>  CONFIG_AUTOFS4_FS=y
>>> +CONFIG_OVERLAY_FS=m
>>>  CONFIG_MSDOS_FS=y
>>>  CONFIG_VFAT_FS=y
>>>  CONFIG_TMPFS=y
>>> @@ -119,6 +179,10 @@ CONFIG_ROOT_NFS=y
>>>  CONFIG_9P_FS=y
>>>  CONFIG_NLS_CODEPAGE_437=y
>>>  CONFIG_NLS_ISO8859_1=m
>>> +CONFIG_SECURITY=y
>>> +CONFIG_SECURITY_SELINUX=y
>>> +CONFIG_SECURITY_APPARMOR=y
>>> +CONFIG_DEFAULT_SECURITY_DAC=y
>>>  CONFIG_CRYPTO_USER_API_HASH=y
>>>  CONFIG_CRYPTO_DEV_VIRTIO=y
>>>  CONFIG_PRINTK_TIME=y
>>> @@ -137,7 +201,6 @@ CONFIG_DEBUG_SPINLOCK=y
>>>  CONFIG_DEBUG_MUTEXES=y
>>>  CONFIG_DEBUG_RWSEMS=y
>>>  CONFIG_DEBUG_ATOMIC_SLEEP=y
>>> -CONFIG_STACKTRACE=y
>>>  CONFIG_DEBUG_LIST=y
>>>  CONFIG_DEBUG_PLIST=y
>>>  CONFIG_DEBUG_SG=y
>>
>> Sorry for being so slow here.  I don't have any issues with this as a
>> concept, but it makes a handful of my test configs panic on boot.  Seems
>> like something is tripping up a kasan failure.  I guess it's kind of
>
> Hello Palmer,
>
> thanks for sharing your test experience. Could you, please, provide the
> config file and the test configuration that leads the regression.

My test setup is at
<http://github.com/palmer-dabbelt/riscv-systems-ci.git>. I don't
advertise it all that much because it's pretty flaky, but some folks
have gotten it working recently. `make
check/qemu-rv64gc-virt-smp8/halt-kasan-glibc/stdout` hangs for me with
your patch, that's running the "kasan" config from here
<https://github.com/palmer-dabbelt/riscv-systems-ci/blob/master/configs/linux/kasan>,
it just flips on CONFIG_KASAN so it shouldn't be all that hard to
reproduce outside the setup (those configs are all additions to
defconfig).

I don't have a trace lying around, but it triggers asan failures in a
handful of block driver initialization routines (I remember seeing
SD/MMC and USB storage). I can dig them up if you can't reproduce it,
but hopefully it's simple.

>> arbitrary to call that a regression, as I'm sure it's just uncovering
>> some issue that already exists, but turning something on in defconfig
>> that panics with kasan is going to have a bunch of fallout.
>>
>> It looks like BLK_CGROUP is the problem here, so if you're OK with it
>> then I'm happy to take the rest of these.  I put that over at
>> kernel.org/palmer/linux/riscv-docker_no_blk_cgroup, if that's OK I'll
>> cherry-pick it onto for-next.
>
> I am fine with cherry picking.

OK, it's on for-next. Thanks!

>
> Best regards
>
> Heinrich
>
>>
>> There's almost certainly a bug here that warrants fixing.

2022-08-13 16:57:05

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 1/1] riscv: enable Docker requirements in defconfig

On Wed, Jun 08, 2022 at 02:02:51AM +0200, Heinrich Schuchardt wrote:
> The defconfig kernel should be able to run Docker.
>
> Enable the missing settings according to [1].
> make savedefconfig eliminates CONFIG_STACKTRACE
> which is enabled by default.
>
> Many of the settings are also needed to run a defconfig kernel
> on default distro installations or to run snaps.
>
> [1] https://github.com/moby/moby/blob/master/contrib/check-config.sh
>
> Signed-off-by: Heinrich Schuchardt <[email protected]>

This patch results in (or exposes) the following boot warning with all
riscv32 and riscv64 qemu boots.

[ 12.278014] DEBUG_LOCKS_WARN_ON(!lockdep_hardirqs_enabled())
[ 12.278218] WARNING: CPU: 0 PID: 140 at kernel/locking/lockdep.c:5510 check_flags+0xe2/0x1c2
[ 12.278446] Modules linked in:
[ 12.278623] CPU: 0 PID: 140 Comm: S01syslogd Tainted: G N 5.19.0-14184-g69dac8e431af #1
[ 12.278791] Hardware name: riscv-virtio,qemu (DT)
[ 12.278931] epc : check_flags+0xe2/0x1c2
[ 12.279024] ra : check_flags+0xe2/0x1c2
[ 12.279092] epc : ffffffff80a8ea50 ra : ffffffff80a8ea50 sp : ff200000107f3cb0
[ 12.279180] gp : ffffffff819fec50 tp : ff600000049895c0 t0 : ffffffff81833520
[ 12.279287] t1 : 0000000000000001 t2 : 2d2d2d2d2d2d2d2d s0 : ff200000107f3cd0
[ 12.279395] s1 : ffffffff81a00130 a0 : 0000000000000030 a1 : ffffffff818925e8
[ 12.279502] a2 : 0000000000000010 a3 : fffffffffffffffe a4 : 0000000000000000
[ 12.279608] a5 : 0000000000000000 a6 : ffffffff80066d80 a7 : 0000000000000038
[ 12.279714] s2 : ffffffff81a024e0 s3 : ffffffff818935b0 s4 : ff200000107f3e28
[ 12.279825] s5 : ffffffff80e27708 s6 : 0000000200000022 s7 : ffffffffffffffff
[ 12.279932] s8 : ffffffff8249da18 s9 : 0000000000001000 s10: 0000000000000001
[ 12.280037] s11: 0000000000000001 t3 : ffffffff824740af t4 : ffffffff824740af
[ 12.280142] t5 : ffffffff824740b0 t6 : ff200000107f3aa8
[ 12.280227] status: 0000000200000100 badaddr: 0000000000000000 cause: 0000000000000003
[ 12.280382] [<ffffffff80a8eba8>] lock_is_held_type+0x78/0x14a
[ 12.280505] [<ffffffff8003d648>] __might_resched+0x26/0x232
[ 12.280608] [<ffffffff8003d892>] __might_sleep+0x3e/0x66
[ 12.280690] [<ffffffff8002262c>] get_signal+0xa6/0x8f6
[ 12.280771] [<ffffffff800051da>] do_notify_resume+0x68/0x418
[ 12.280863] [<ffffffff80003af4>] ret_from_exception+0x0/0x10
[ 12.280978] irq event stamp: 2900
[ 12.281041] hardirqs last enabled at (2899): [<ffffffff80a9761c>] _raw_spin_unlock_irqrestore+0x54/0x62
[ 12.281176] hardirqs last disabled at (2900): [<ffffffff8000812c>] __trace_hardirqs_off+0xc/0x14
[ 12.281303] softirqs last enabled at (1860): [<ffffffff80a98092>] __do_softirq+0x3e2/0x51c
[ 12.281435] softirqs last disabled at (1843): [<ffffffff80016fc8>] __irq_exit_rcu+0xb4/0xdc
[ 12.281564] ---[ end trace 0000000000000000 ]---
[ 12.281735] possible reason: unannotated irqs-on.
[ 12.281815] irq event stamp: 2900
[ 12.281875] hardirqs last enabled at (2899): [<ffffffff80a9761c>] _raw_spin_unlock_irqrestore+0x54/0x62
[ 12.282004] hardirqs last disabled at (2900): [<ffffffff8000812c>] __trace_hardirqs_off+0xc/0x14
[ 12.282125] softirqs last enabled at (1860): [<ffffffff80a98092>] __do_softirq+0x3e2/0x51c
[ 12.282242] softirqs last disabled at (1843): [<ffffffff80016fc8>] __irq_exit_rcu+0xb4/0xdc

Reverting this patch fixes the problem. Bisect log attached.

Guenter

---
# bad: [69dac8e431af26173ca0a1ebc87054e01c585bcc] Merge tag 'riscv-for-linus-5.20-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux
# good: [6614a3c3164a5df2b54abb0b3559f51041cf705b] Merge tag 'mm-stable-2022-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
git bisect start 'HEAD' '6614a3c3164a'
# bad: [24cb958695724ffb4488ef4f65892c0767bcd2f2] Merge tag 's390-5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
git bisect bad 24cb958695724ffb4488ef4f65892c0767bcd2f2
# good: [a3b5d4715fd5a839857f8b7be78dff258a8d5a47] Merge tag 'asoc-v5.20-2' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
git bisect good a3b5d4715fd5a839857f8b7be78dff258a8d5a47
# good: [1d239c1eb873c7d6c6cbc80d68330c939fd86136] Merge tag 'iommu-updates-v5.20-or-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
git bisect good 1d239c1eb873c7d6c6cbc80d68330c939fd86136
# good: [4cfa6ff24a9744ba484521c38bea613134fbfcb3] powerpc/64e: Fix kexec build error
git bisect good 4cfa6ff24a9744ba484521c38bea613134fbfcb3
# good: [ea0c39260d0c1d8e11d89c9d42ca48e172d1c868] Merge tag '9p-for-5.20' of https://github.com/martinetd/linux
git bisect good ea0c39260d0c1d8e11d89c9d42ca48e172d1c868
# bad: [d77771c926671e0362af3fe792391be66072b242] Merge tag 'mips_6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
git bisect bad d77771c926671e0362af3fe792391be66072b242
# good: [3f1901110a89b0e2e13adb2ac8d1a7102879ea98] RISC-V: Add fast call path of crash_kexec()
git bisect good 3f1901110a89b0e2e13adb2ac8d1a7102879ea98
# good: [d3164e2f3b0ac003c401d419cda2da0571724352] MIPS: Remove VR41xx support
git bisect good d3164e2f3b0ac003c401d419cda2da0571724352
# good: [534ea58b3ceb41d668adf18c4e68a846e770a6c8] Revert "MIPS: octeon: Remove vestiges of CONFIG_CAVIUM_RESERVE32"
git bisect good 534ea58b3ceb41d668adf18c4e68a846e770a6c8
# bad: [ba6cfef057e1c594c456627aad81c2343fdb5d13] riscv: enable Docker requirements in defconfig
git bisect bad ba6cfef057e1c594c456627aad81c2343fdb5d13
# good: [9c2ea4a36364bfb5cf068c6fbea5c40292b119a5] riscv: convert the t-head pbmt errata to use the __nops macro
git bisect good 9c2ea4a36364bfb5cf068c6fbea5c40292b119a5
# good: [f4361718f7654f31fee6bf323147e7062d825599] riscv: Add macro for multiple nop instructions
git bisect good f4361718f7654f31fee6bf323147e7062d825599
# first bad commit: [ba6cfef057e1c594c456627aad81c2343fdb5d13] riscv: enable Docker requirements in defconfig

2022-09-20 20:38:58

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH 1/1] riscv: enable Docker requirements in defconfig

On Sat, 13 Aug 2022 08:58:51 PDT (-0700), [email protected] wrote:
> On Wed, Jun 08, 2022 at 02:02:51AM +0200, Heinrich Schuchardt wrote:
>> The defconfig kernel should be able to run Docker.
>>
>> Enable the missing settings according to [1].
>> make savedefconfig eliminates CONFIG_STACKTRACE
>> which is enabled by default.
>>
>> Many of the settings are also needed to run a defconfig kernel
>> on default distro installations or to run snaps.
>>
>> [1] https://github.com/moby/moby/blob/master/contrib/check-config.sh
>>
>> Signed-off-by: Heinrich Schuchardt <[email protected]>
>
> This patch results in (or exposes) the following boot warning with all
> riscv32 and riscv64 qemu boots.
>
> [ 12.278014] DEBUG_LOCKS_WARN_ON(!lockdep_hardirqs_enabled())
> [ 12.278218] WARNING: CPU: 0 PID: 140 at kernel/locking/lockdep.c:5510 check_flags+0xe2/0x1c2
> [ 12.278446] Modules linked in:
> [ 12.278623] CPU: 0 PID: 140 Comm: S01syslogd Tainted: G N 5.19.0-14184-g69dac8e431af #1
> [ 12.278791] Hardware name: riscv-virtio,qemu (DT)
> [ 12.278931] epc : check_flags+0xe2/0x1c2
> [ 12.279024] ra : check_flags+0xe2/0x1c2
> [ 12.279092] epc : ffffffff80a8ea50 ra : ffffffff80a8ea50 sp : ff200000107f3cb0
> [ 12.279180] gp : ffffffff819fec50 tp : ff600000049895c0 t0 : ffffffff81833520
> [ 12.279287] t1 : 0000000000000001 t2 : 2d2d2d2d2d2d2d2d s0 : ff200000107f3cd0
> [ 12.279395] s1 : ffffffff81a00130 a0 : 0000000000000030 a1 : ffffffff818925e8
> [ 12.279502] a2 : 0000000000000010 a3 : fffffffffffffffe a4 : 0000000000000000
> [ 12.279608] a5 : 0000000000000000 a6 : ffffffff80066d80 a7 : 0000000000000038
> [ 12.279714] s2 : ffffffff81a024e0 s3 : ffffffff818935b0 s4 : ff200000107f3e28
> [ 12.279825] s5 : ffffffff80e27708 s6 : 0000000200000022 s7 : ffffffffffffffff
> [ 12.279932] s8 : ffffffff8249da18 s9 : 0000000000001000 s10: 0000000000000001
> [ 12.280037] s11: 0000000000000001 t3 : ffffffff824740af t4 : ffffffff824740af
> [ 12.280142] t5 : ffffffff824740b0 t6 : ff200000107f3aa8
> [ 12.280227] status: 0000000200000100 badaddr: 0000000000000000 cause: 0000000000000003
> [ 12.280382] [<ffffffff80a8eba8>] lock_is_held_type+0x78/0x14a
> [ 12.280505] [<ffffffff8003d648>] __might_resched+0x26/0x232
> [ 12.280608] [<ffffffff8003d892>] __might_sleep+0x3e/0x66
> [ 12.280690] [<ffffffff8002262c>] get_signal+0xa6/0x8f6
> [ 12.280771] [<ffffffff800051da>] do_notify_resume+0x68/0x418
> [ 12.280863] [<ffffffff80003af4>] ret_from_exception+0x0/0x10
> [ 12.280978] irq event stamp: 2900
> [ 12.281041] hardirqs last enabled at (2899): [<ffffffff80a9761c>] _raw_spin_unlock_irqrestore+0x54/0x62
> [ 12.281176] hardirqs last disabled at (2900): [<ffffffff8000812c>] __trace_hardirqs_off+0xc/0x14
> [ 12.281303] softirqs last enabled at (1860): [<ffffffff80a98092>] __do_softirq+0x3e2/0x51c
> [ 12.281435] softirqs last disabled at (1843): [<ffffffff80016fc8>] __irq_exit_rcu+0xb4/0xdc
> [ 12.281564] ---[ end trace 0000000000000000 ]---
> [ 12.281735] possible reason: unannotated irqs-on.
> [ 12.281815] irq event stamp: 2900
> [ 12.281875] hardirqs last enabled at (2899): [<ffffffff80a9761c>] _raw_spin_unlock_irqrestore+0x54/0x62
> [ 12.282004] hardirqs last disabled at (2900): [<ffffffff8000812c>] __trace_hardirqs_off+0xc/0x14
> [ 12.282125] softirqs last enabled at (1860): [<ffffffff80a98092>] __do_softirq+0x3e2/0x51c
> [ 12.282242] softirqs last disabled at (1843): [<ffffffff80016fc8>] __irq_exit_rcu+0xb4/0xdc
>
> Reverting this patch fixes the problem. Bisect log attached.

Sorry for having missed this report, but I don't see this now and don't
remember having seen it before. Are you still seeing the issue?

>
> Guenter
>
> ---
> # bad: [69dac8e431af26173ca0a1ebc87054e01c585bcc] Merge tag 'riscv-for-linus-5.20-mw2' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux
> # good: [6614a3c3164a5df2b54abb0b3559f51041cf705b] Merge tag 'mm-stable-2022-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
> git bisect start 'HEAD' '6614a3c3164a'
> # bad: [24cb958695724ffb4488ef4f65892c0767bcd2f2] Merge tag 's390-5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
> git bisect bad 24cb958695724ffb4488ef4f65892c0767bcd2f2
> # good: [a3b5d4715fd5a839857f8b7be78dff258a8d5a47] Merge tag 'asoc-v5.20-2' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
> git bisect good a3b5d4715fd5a839857f8b7be78dff258a8d5a47
> # good: [1d239c1eb873c7d6c6cbc80d68330c939fd86136] Merge tag 'iommu-updates-v5.20-or-v6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu
> git bisect good 1d239c1eb873c7d6c6cbc80d68330c939fd86136
> # good: [4cfa6ff24a9744ba484521c38bea613134fbfcb3] powerpc/64e: Fix kexec build error
> git bisect good 4cfa6ff24a9744ba484521c38bea613134fbfcb3
> # good: [ea0c39260d0c1d8e11d89c9d42ca48e172d1c868] Merge tag '9p-for-5.20' of https://github.com/martinetd/linux
> git bisect good ea0c39260d0c1d8e11d89c9d42ca48e172d1c868
> # bad: [d77771c926671e0362af3fe792391be66072b242] Merge tag 'mips_6.0' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux
> git bisect bad d77771c926671e0362af3fe792391be66072b242
> # good: [3f1901110a89b0e2e13adb2ac8d1a7102879ea98] RISC-V: Add fast call path of crash_kexec()
> git bisect good 3f1901110a89b0e2e13adb2ac8d1a7102879ea98
> # good: [d3164e2f3b0ac003c401d419cda2da0571724352] MIPS: Remove VR41xx support
> git bisect good d3164e2f3b0ac003c401d419cda2da0571724352
> # good: [534ea58b3ceb41d668adf18c4e68a846e770a6c8] Revert "MIPS: octeon: Remove vestiges of CONFIG_CAVIUM_RESERVE32"
> git bisect good 534ea58b3ceb41d668adf18c4e68a846e770a6c8
> # bad: [ba6cfef057e1c594c456627aad81c2343fdb5d13] riscv: enable Docker requirements in defconfig
> git bisect bad ba6cfef057e1c594c456627aad81c2343fdb5d13
> # good: [9c2ea4a36364bfb5cf068c6fbea5c40292b119a5] riscv: convert the t-head pbmt errata to use the __nops macro
> git bisect good 9c2ea4a36364bfb5cf068c6fbea5c40292b119a5
> # good: [f4361718f7654f31fee6bf323147e7062d825599] riscv: Add macro for multiple nop instructions
> git bisect good f4361718f7654f31fee6bf323147e7062d825599
> # first bad commit: [ba6cfef057e1c594c456627aad81c2343fdb5d13] riscv: enable Docker requirements in defconfig

2022-09-20 22:08:23

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH 1/1] riscv: enable Docker requirements in defconfig

On 9/20/22 13:25, Palmer Dabbelt wrote:
> On Sat, 13 Aug 2022 08:58:51 PDT (-0700), [email protected] wrote:
>> On Wed, Jun 08, 2022 at 02:02:51AM +0200, Heinrich Schuchardt wrote:
>>> The defconfig kernel should be able to run Docker.
>>>
>>> Enable the missing settings according to [1].
>>> make savedefconfig eliminates CONFIG_STACKTRACE
>>> which is enabled by default.
>>>
>>> Many of the settings are also needed to run a defconfig kernel
>>> on default distro installations or to run snaps.
>>>
>>> [1] https://github.com/moby/moby/blob/master/contrib/check-config.sh
>>>
>>> Signed-off-by: Heinrich Schuchardt <[email protected]>
>>
>> This patch results in (or exposes) the following boot warning with all
>> riscv32 and riscv64 qemu boots.
>>
>> [   12.278014] DEBUG_LOCKS_WARN_ON(!lockdep_hardirqs_enabled())
>> [   12.278218] WARNING: CPU: 0 PID: 140 at kernel/locking/lockdep.c:5510 check_flags+0xe2/0x1c2
>> [   12.278446] Modules linked in:
>> [   12.278623] CPU: 0 PID: 140 Comm: S01syslogd Tainted: G                 N 5.19.0-14184-g69dac8e431af #1
>> [   12.278791] Hardware name: riscv-virtio,qemu (DT)
>> [   12.278931] epc : check_flags+0xe2/0x1c2
>> [   12.279024]  ra : check_flags+0xe2/0x1c2
>> [   12.279092] epc : ffffffff80a8ea50 ra : ffffffff80a8ea50 sp : ff200000107f3cb0
>> [   12.279180]  gp : ffffffff819fec50 tp : ff600000049895c0 t0 : ffffffff81833520
>> [   12.279287]  t1 : 0000000000000001 t2 : 2d2d2d2d2d2d2d2d s0 : ff200000107f3cd0
>> [   12.279395]  s1 : ffffffff81a00130 a0 : 0000000000000030 a1 : ffffffff818925e8
>> [   12.279502]  a2 : 0000000000000010 a3 : fffffffffffffffe a4 : 0000000000000000
>> [   12.279608]  a5 : 0000000000000000 a6 : ffffffff80066d80 a7 : 0000000000000038
>> [   12.279714]  s2 : ffffffff81a024e0 s3 : ffffffff818935b0 s4 : ff200000107f3e28
>> [   12.279825]  s5 : ffffffff80e27708 s6 : 0000000200000022 s7 : ffffffffffffffff
>> [   12.279932]  s8 : ffffffff8249da18 s9 : 0000000000001000 s10: 0000000000000001
>> [   12.280037]  s11: 0000000000000001 t3 : ffffffff824740af t4 : ffffffff824740af
>> [   12.280142]  t5 : ffffffff824740b0 t6 : ff200000107f3aa8
>> [   12.280227] status: 0000000200000100 badaddr: 0000000000000000 cause: 0000000000000003
>> [   12.280382] [<ffffffff80a8eba8>] lock_is_held_type+0x78/0x14a
>> [   12.280505] [<ffffffff8003d648>] __might_resched+0x26/0x232
>> [   12.280608] [<ffffffff8003d892>] __might_sleep+0x3e/0x66
>> [   12.280690] [<ffffffff8002262c>] get_signal+0xa6/0x8f6
>> [   12.280771] [<ffffffff800051da>] do_notify_resume+0x68/0x418
>> [   12.280863] [<ffffffff80003af4>] ret_from_exception+0x0/0x10
>> [   12.280978] irq event stamp: 2900
>> [   12.281041] hardirqs last  enabled at (2899): [<ffffffff80a9761c>] _raw_spin_unlock_irqrestore+0x54/0x62
>> [   12.281176] hardirqs last disabled at (2900): [<ffffffff8000812c>] __trace_hardirqs_off+0xc/0x14
>> [   12.281303] softirqs last  enabled at (1860): [<ffffffff80a98092>] __do_softirq+0x3e2/0x51c
>> [   12.281435] softirqs last disabled at (1843): [<ffffffff80016fc8>] __irq_exit_rcu+0xb4/0xdc
>> [   12.281564] ---[ end trace 0000000000000000 ]---
>> [   12.281735] possible reason: unannotated irqs-on.
>> [   12.281815] irq event stamp: 2900
>> [   12.281875] hardirqs last  enabled at (2899): [<ffffffff80a9761c>] _raw_spin_unlock_irqrestore+0x54/0x62
>> [   12.282004] hardirqs last disabled at (2900): [<ffffffff8000812c>] __trace_hardirqs_off+0xc/0x14
>> [   12.282125] softirqs last  enabled at (1860): [<ffffffff80a98092>] __do_softirq+0x3e2/0x51c
>> [   12.282242] softirqs last disabled at (1843): [<ffffffff80016fc8>] __irq_exit_rcu+0xb4/0xdc
>>
>> Reverting this patch fixes the problem. Bisect log attached.
>
> Sorry for having missed this report, but I don't see this now and don't remember having seen it before.  Are you still seeing the issue?
>

Yes and no. The backtrace is only seen if CONFIG_CGROUP_FREEZER is enabled.
I disabled it in my boot tests, so I don't see it anymore.

Guenter