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

Conrad Meyer cem at freebsd.org
Tue May 12 04:27:32 UTC 2020


Thanks Cy. I’ll revert it when I’m back at a computer.

Best,
Conrad

On Mon, May 11, 2020 at 20:28 Cy Schubert <Cy.Schubert at cschubert.com> wrote:

> In message <202005112257.04BMvMx2096445 at 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 at cschubert.com>
> FreeBSD UNIX:  <cy at FreeBSD.org>   Web:  https://FreeBSD.org
> NTP:           <cy at nwtime.org>    Web:  https://nwtime.org
>
>         The need of the many outweighs the greed of the few.
>
>
>


More information about the svn-src-head mailing list