Message ID | 20220608000251.55271-1-heinrich.schuchardt@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/1] riscv: enable Docker requirements in defconfig | expand |
Agree make docker support default in riscv. Acked-by: Guo Ren <guoren@kernel.org> On Wed, Jun 8, 2022 at 8:03 AM Heinrich Schuchardt <heinrich.schuchardt@canonical.com> 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 <heinrich.schuchardt@canonical.com> > --- > Cf. [PATCH] arm64: Enable docker support in defconfig > https://lore.kernel.org/lkml/20220606140103.32779-1-vincenzo.frascino@arm.com/ > --- > 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 >
On Wed, Jun 8, 2022 at 5:33 AM Heinrich Schuchardt <heinrich.schuchardt@canonical.com> 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 <heinrich.schuchardt@canonical.com> Looks good to me. Reviewed-by: Anup Patel <anup@brainfault.org> Regards, Anup > --- > Cf. [PATCH] arm64: Enable docker support in defconfig > https://lore.kernel.org/lkml/20220606140103.32779-1-vincenzo.frascino@arm.com/ > --- > 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 > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv
On Tue, 07 Jun 2022 17:02:51 PDT (-0700), heinrich.schuchardt@canonical.com 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 <heinrich.schuchardt@canonical.com> > --- > Cf. [PATCH] arm64: Enable docker support in defconfig > https://lore.kernel.org/lkml/20220606140103.32779-1-vincenzo.frascino@arm.com/ > --- > 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.
On 7/22/22 07:06, Palmer Dabbelt wrote: > On Tue, 07 Jun 2022 17:02:51 PDT (-0700), > heinrich.schuchardt@canonical.com 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 <heinrich.schuchardt@canonical.com> >> --- >> Cf. [PATCH] arm64: Enable docker support in defconfig >> https://lore.kernel.org/lkml/20220606140103.32779-1-vincenzo.frascino@arm.com/ >> --- >> 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.
On Fri, 22 Jul 2022 01:03:47 PDT (-0700), heinrich.schuchardt@canonical.com wrote: > On 7/22/22 07:06, Palmer Dabbelt wrote: >> On Tue, 07 Jun 2022 17:02:51 PDT (-0700), >> heinrich.schuchardt@canonical.com 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 <heinrich.schuchardt@canonical.com> >>> --- >>> Cf. [PATCH] arm64: Enable docker support in defconfig >>> https://lore.kernel.org/lkml/20220606140103.32779-1-vincenzo.frascino@arm.com/ >>> --- >>> 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.
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 <heinrich.schuchardt@canonical.com> 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
On Sat, 13 Aug 2022 08:58:51 PDT (-0700), linux@roeck-us.net 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 <heinrich.schuchardt@canonical.com> > > 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
On 9/20/22 13:25, Palmer Dabbelt wrote: > On Sat, 13 Aug 2022 08:58:51 PDT (-0700), linux@roeck-us.net 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 <heinrich.schuchardt@canonical.com> >> >> 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
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
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 <heinrich.schuchardt@canonical.com> --- Cf. [PATCH] arm64: Enable docker support in defconfig https://lore.kernel.org/lkml/20220606140103.32779-1-vincenzo.frascino@arm.com/ --- arch/riscv/configs/defconfig | 65 +++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-)