Date: Mon, 11 May 2020 20:28:27 -0700 From: Cy Schubert <Cy.Schubert@cschubert.com> To: Conrad Meyer <cem@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r360944 - in head: sys/amd64/amd64 sys/arm/arm sys/arm64/arm64 sys/fs/fuse sys/fs/unionfs sys/i386/i386 sys/kern sys/mips/mips sys/powerpc/powerpc sys/riscv/riscv sys/sys tools/coccinelle Message-ID: <202005120328.04C3SR2X081094@slippy.cwsent.com> In-Reply-To: <202005112257.04BMvMx2096445@repo.freebsd.org> References: <202005112257.04BMvMx2096445@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <202005112257.04BMvMx2096445@repo.freebsd.org>, Conrad Meyer writes: > Author: cem > Date: Mon May 11 22:57:21 2020 > New Revision: 360944 > URL: https://svnweb.freebsd.org/changeset/base/360944 > > Log: > copystr(9): Move to deprecate [2/2] > > Unlike the other copy*() functions, it does not serve to copy from one > address space to another or protect against potential faults. It's just > an older incarnation of the now-more-common strlcpy(). > > Add a coccinelle script to tools/ which can be used to mechanically > convert existing instances where replacement with strlcpy is trivial. > In the two cases which matched, fuse_vfsops.c and union_vfsops.c, the > code was further refactored manually to simplify. > > Replace the declaration of copystr() in systm.h with a small macro > wrapper around strlcpy. > > Remove N redundant MI implementations of copystr. For MIPS, this > entailed inlining the assembler copystr into the only consumer, > copyinstr, and making the latter a leaf function. > > Reviewed by: jhb > Differential Revision: https://reviews.freebsd.org/D24672 > > Added: > head/tools/coccinelle/ > head/tools/coccinelle/copystr9.cocci (contents, props changed) > Deleted: > head/sys/arm64/arm64/copystr.c > head/sys/powerpc/powerpc/copystr.c > head/sys/riscv/riscv/copystr.c > Modified: > head/sys/amd64/amd64/support.S > head/sys/arm/arm/copystr.S > head/sys/fs/fuse/fuse_vfsops.c > head/sys/fs/unionfs/union_vfsops.c > head/sys/i386/i386/support.s > head/sys/kern/subr_csan.c > head/sys/mips/mips/support.S > head/sys/sys/systm.h > Hi Conrad, This is causing a failure to boot with geom_mirror: GEOM_MIRROR: Device mirror/gm0 launched (2/2). GEOM_MIRROR: Device mirror/gm1 launched (2/2). GEOM_MIRROR: Device mirror/gm2 launched (2/2). GEOM_MIRROR: Device mirror/gm3 launched (2/2). mountroot: waiting for device /dev/mirror/gm0a... Mounting from ufs:/dev/mirror/gm0a failed with error 2; retrying for 3 more seconds exec /sbin/init: error 20 exec /sbin/init.bak: error 20 exec /rescue/init: error 20 init: not found in path /sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init panic: no init cpuid = 1 time = 1589225852 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe004df51ba0 vpanic() at vpanic+0x182/frame 0xfffffe004df51bf0 panic() at panic+0x43/frame 0xfffffe004df51c50 start_init() at start_init+0x23c/frame 0xfffffe004df51cf0 fork_exit() at fork_exit+0x7e/frame 0xfffffe004df51d30 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe004df51d30 --- trap 0, rip = 0, rsp = 0, rbp = 0 --- Uptime: 9s acpi0: reset failed - timeout Automatic reboot in 15 seconds - press a key on the console to abort --> Press a key on the console to reboot, --> or switch off the system now. Rebooting... cpu_reset: Restarting BSP cpu_reset_proxy: Stopped CPU 1 Anticipating you might ask if r360941 is the problem. It is not. Reverting this r360944 (not r360941) resolves the boot problem. System is amd64. -- Cheers, Cy Schubert <Cy.Schubert@cschubert.com> FreeBSD UNIX: <cy@FreeBSD.org> Web: https://FreeBSD.org NTP: <cy@nwtime.org> Web: https://nwtime.org The need of the many outweighs the greed of the few.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005120328.04C3SR2X081094>