git: 67f508db84b8 - main - Mark some sysctls as CTLFLAG_MPSAFE.

FreeBSD User freebsd at walstatt-de.de
Wed Aug 11 09:46:54 UTC 2021


Am Wed, 11 Aug 2021 02:18:35 GMT
Alexander Motin <mav at FreeBSD.org> schrieb:

> The branch main has been updated by mav:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=67f508db84b8b789db37c60972f255574417b8ed
> 
> commit 67f508db84b8b789db37c60972f255574417b8ed
> Author:     Alexander Motin <mav at FreeBSD.org>
> AuthorDate: 2021-08-11 02:17:53 +0000
> Commit:     Alexander Motin <mav at FreeBSD.org>
> CommitDate: 2021-08-11 02:18:26 +0000
> 
>     Mark some sysctls as CTLFLAG_MPSAFE.
>     
>     MFC after:      2 weeks
> ---
>  sys/kern/kern_intr.c     | 4 ++--
>  sys/kern/kern_shutdown.c | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/sys/kern/kern_intr.c b/sys/kern/kern_intr.c
> index afaf8466a1df..1660414a50ef 100644
> --- a/sys/kern/kern_intr.c
> +++ b/sys/kern/kern_intr.c
> @@ -1612,7 +1612,7 @@ sysctl_intrnames(SYSCTL_HANDLER_ARGS)
>  }
>  
>  SYSCTL_PROC(_hw, OID_AUTO, intrnames,
> -    CTLTYPE_OPAQUE | CTLFLAG_RD | CTLFLAG_NEEDGIANT, NULL, 0,
> +    CTLTYPE_OPAQUE | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0,
>      sysctl_intrnames, "",
>      "Interrupt Names");
>  
> @@ -1641,7 +1641,7 @@ sysctl_intrcnt(SYSCTL_HANDLER_ARGS)
>  }
>  
>  SYSCTL_PROC(_hw, OID_AUTO, intrcnt,
> -    CTLTYPE_OPAQUE | CTLFLAG_RD | CTLFLAG_NEEDGIANT, NULL, 0,
> +    CTLTYPE_OPAQUE | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0,
>      sysctl_intrcnt, "",
>      "Interrupt Counts");
>  
> diff --git a/sys/kern/kern_shutdown.c b/sys/kern/kern_shutdown.c
> index e200b6d8a4b4..fb2a69401801 100644
> --- a/sys/kern/kern_shutdown.c
> +++ b/sys/kern/kern_shutdown.c
> @@ -740,7 +740,7 @@ SYSCTL_INT(_debug_kassert, OID_AUTO, suppress_in_panic, KASSERT_RWTUN,
>  static int kassert_sysctl_kassert(SYSCTL_HANDLER_ARGS);
>  
>  SYSCTL_PROC(_debug_kassert, OID_AUTO, kassert,
> -    CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_SECURE | CTLFLAG_NEEDGIANT, NULL, 0,
> +    CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_SECURE | CTLFLAG_MPSAFE, NULL, 0,
>      kassert_sysctl_kassert, "I",
>      "set to trigger a test kassert");
>  
> @@ -1021,7 +1021,7 @@ dumpdevname_sysctl_handler(SYSCTL_HANDLER_ARGS)
>  	return (error);
>  }
>  SYSCTL_PROC(_kern_shutdown, OID_AUTO, dumpdevname,
> -    CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT, &dumper_configs, 0,
> +    CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, &dumper_configs, 0,
>      dumpdevname_sysctl_handler, "A",
>      "Device(s) for kernel dumps");
>  
> _______________________________________________
> dev-commits-src-main at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
> To unsubscribe, send any mail to "dev-commits-src-main-unsubscribe at freebsd.org"

Hello out there, this commit is the last one working, the follwoing commits seem to break
buildworld, I couldn't figure out which one, so I reply to this commit.

Running CURRENT:
FreeBSD 14.0-CURRENT #1 main-n248614-67f508db84b: Wed Aug 11 07:29:11 CEST 2021 amd64

I use in this case a customzied kernel config with WITH_BEARSSL (I mention this since I see a
libsecure compilation problem in the log shown below)

Error:

[...]
===> stand/libsa32 (all) --- all_subdir_rescue --- (cd /usr/src/rescue/rescue/../../sbin/dump
&&  make MK_PIE=no NO_SHARED=yes -DRESCUE CRUNCH_CFLAGS=-DRESCUE
CRUNCH_CFLAGS+=-I/usr/obj/usr/src/amd64.amd64/lib/li
                 bifconfig MK_AUTO_OBJ=yes DIRPRFX=rescue/rescue/dump/ depend && make
MK_PIE=no NO_SHARED=yes -DRESCUE CRUNCH_CFLAGS=-DRESCUE CRUNCH_CFLAGS+=-I/usr/obj/usr/src/a
                                                        md64.amd64/lib/libifconfig
MK_AUTO_OBJ=yes DIRPRFX=rescue/rescue/dump/ itime.o main.o optr.o dumprmt.o tape.o traverse.o
unctime.o cache.o) --- all_subdir_stand --- --- all_subdir_stand/libsa --- make[4]:
"/usr/src/lib/libsecureboot/local.trust.mk" line 109: warning: "cd /usr/src/stand/libsa &&
'ls' -1 *.pem t*.asc 2> /dev/null" returned non-zero status --- all_subdir_sbin --- ---
all_subdir_sbin/clri --- ===> sbin/clri (all) --- all_subdir_stand --- ---
all_subdir_stand/libsa32 --- make[4]: "/usr/src/lib/libsecureboot/local.trust.mk" line 109:
warning: "cd /usr/src/stand/libsa32 && 'ls' -1 *.pem t*.asc 2> /dev/null" returned non-zero
statu                                                            s --- all_subdir_sbin --- ---
all_subdir_sbin/comcontrol --- ===> sbin/comcontrol (all) --- all_subdir_libexec --- ---
sm_os.h --- ln -sf /usr/src/contrib/sendmail/include/sm/os/sm_os_freebsd.h sm_os.h --- .depend
--- echo mail.local: /usr/obj/usr/src/amd64.amd64/tmp/usr/lib/libc.a
/usr/obj/usr/src/amd64.amd64/lib/libsm/libsm_pie.a >> .depend --- mail.local.o --- cc -target
x86_64-unknown-freebsd14.0 --sysroot=/usr/obj/usr/src/amd64.amd64/tmp
-B/usr/obj/usr/src/amd64.amd64/tmp/usr/bin  -O2 -pipe -O2 -fno-common -I/usr/sr
                                            c/contrib/sendmail/include -I.
-I/usr/local/include -DSASL=2   -DNDEBUG -fPIE -MD  -MF.depend.mail.local.o -MTmail.local.o
-std=gnu99 -Wno-format-zero-length -f
  stack-protector-strong -Wsystem-headers -Wall -Wno-format-y2k -Wno-uninitialized
-Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variab
                                            le -Wno-tautological-compare -Wno-unused-value
-Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion -Wno-unused-local-typedef
-Wno-address-of-pac                                                            ked-member
-Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter  -Qunused-arguments    -c
/usr/src/contrib/sendmail/mail.local/mail.local.c -o mail.local.o --- all_subdir_rescue ---
`itime.o' is up to date. `main.o' is up to date. `optr.o' is up to date. `dumprmt.o' is up to
date. `tape.o' is up to date. `traverse.o' is up to date. `unctime.o' is up to date. `cache.o'
is up to date. --- dumpfs_make --- (cd /usr/src/rescue/rescue/../../sbin/dumpfs &&  make
MK_PIE=no NO_SHARED=yes -DRESCUE CRUNCH_CFLAGS=-DRESCUE
CRUNCH_CFLAGS+=-I/usr/obj/usr/src/amd64.amd64/lib/
               libifconfig MK_AUTO_OBJ=yes DIRPRFX=rescue/rescue/dumpfs/ depend && make
MK_PIE=no NO_SHARED=yes -DRESCUE CRUNCH_CFLAGS=-DRESCUE CRUNCH_CFLAGS+=-I/usr/obj/usr/s
                                                    rc/amd64.amd64/lib/libifconfig
MK_AUTO_OBJ=yes DIRPRFX=rescue/rescue/dumpfs/ dumpfs.o) --- all_subdir_sbin --- ---
all_subdir_sbin/conscontrol --- `main.o' is up to date. `optr.o' is up to date. `dumprmt.o' is
up to date. `tape.o' is up to date. `traverse.o' is up to date. `unctime.o' is up to date.
`cache.o' is up to date. --- dumpfs_make --- (cd /usr/src/rescue/rescue/../../sbin/dumpfs &&
make MK_PIE=no NO_SHARED=yes -DRESCUE CRUNCH_CFLAGS=-DRESCUE
CRUNCH_CFLAGS+=-I/usr/obj/usr/src/amd64.amd64/lib/libifconfig MK_AUTO_OBJ=yes
DIRPRFX=rescue/rescue/dumpfs/ depend && make MK_PIE=no NO_SHARED=yes -DRESCUE
CRUNCH_CFLAGS=-DRESCUE CRUNCH_CFLAGS+=-I/usr/obj/usr/src/amd64.amd64/lib/libifconfig
MK_AUTO_OBJ=yes DIRPRFX=rescue/rescue/dumpfs/ dumpfs.o) --- all_subdir_sbin --- ---
all_subdir_sbin/conscontrol --- ===> sbin/conscontrol (all) --- all_subdir_sbin/ddb --- ===>
sbin/ddb (all) --- all_subdir_sbin/devfs --- ===> sbin/devfs (all) ---
all_subdir_sbin/devmatch --- ===> sbin/devmatch (all) --- all_subdir_stand ---
--- all_subdir_stand/libsa ---
--- beforedepend ---
--- all_subdir_stand/libsa32 ---
--- beforedepend ---
--- all_subdir_stand/libsa ---
mkdir -p xlocale arpa;  for i in a.out.h assert.h elf.h limits.h nlist.h setjmp.h stddef.h
stdbool.h string.h strings.h time.h unistd.h uuid.h; do  ln -sf /usr/src/include/$i $i;  done;
 ln -sf /usr/src/sys/amd64/include/stdarg.h stdarg.h;  ln -sf /usr/src/sys/sys/errno.h
errno.h;  ln -sf /usr/src/sys/sys/stdint.h stdint.h;  ln -sf /usr/src/include/arpa/inet.h
arpa/inet.h;  ln -sf /usr/src/include/arpa/tftp.h arpa/tftp.h;  for i in _time.h _strings.h
_string.h; do  [ -f xlocale/$i ] || :> xlocale/$i;  done;  for i in ctype.h fcntl.h signal.h
stdio.h stdlib.h; do  ln -sf /usr/src/stand/libsa/stand.h $i;  done ---
all_subdir_stand/libsa32 --- mkdir -p xlocale arpa;  for i in a.out.h assert.h elf.h limits.h
nlist.h setjmp.h stddef.h stdbool.h string.h strings.h time.h unistd.h uuid.h; do  ln -sf
/usr/src/include/$i $i;  done;  ln -sf /usr/src/sys/amd64/include/stdarg.h stdarg.h;  ln -sf
/usr/src/sys/sys/errno.h errno.h;  ln -sf /usr/src/sys/sys/stdint.h stdint.h;  ln -sf
/usr/src/include/arpa/inet.h arpa/inet.h;  ln -sf /usr/src/include/arpa/tftp.h arpa/tftp.h;
for i in _time.h _strings.h _string.h; do  [ -f xlocale/$i ] || :> xlocale/$i;  done;  for i
in ctype.h fcntl.h signal.h stdio.h stdlib.h; do  ln -sf /usr/src/stand/libsa/stand.h $i;
done --- all_subdir_rescue --- `dumpfs.o' is up to date. --- dumpon_make --- (cd
/usr/src/rescue/rescue/../../sbin/dumpon &&  make MK_PIE=no NO_SHARED=yes -DRESCUE
CRUNCH_CFLAGS=-DRESCUE CRUNCH_CFLAGS+=-I/usr/obj/usr/src/amd64.amd64/lib/libifconfig
MK_AUTO_OBJ=yes DIRPRFX=rescue/rescue/dumpon/ depend && make MK_PIE=no NO_SHARED=yes -DRESCUE
CRUNCH_CFLAGS=-DRESCUE CRUNCH_CFLAGS+=-I/usr/obj/usr/src/amd64.amd64/lib/libifconfig
MK_AUTO_OBJ=yes DIRPRFX=rescue/rescue/dumpon/ dumpon.o) --- all_subdir_sbin --- ---
all_subdir_sbin/dhclient --- ===> sbin/dhclient (all) --- all_subdir_stand --- ---
libsa32_pie.a --- building pie sa32 library ar -crsD libsa32_pie.a __main.pieo abort.pieo
assert.pieo bcd.pieo environment.pieo getopt.pieo gets.pieo globals.pieo hexdump.pieo
pager.pieo panic.pieo printf.pieo strdup.pieo strerror.pieo random.pieo sbrk.pieo tslog.pieo
twiddle.pieo zalloc.pieo zalloc_malloc.pieo strcasecmp.pieo ntoh.pieo bcmp.pieo bcopy.pieo
bzero.pieo ffs.pieo fls.pieo memccpy.pieo memchr.pieo memcmp.pieo memcpy.pieo memmove.pieo
memset.pieo strcat.pieo strchr.pieo strchrnul.pieo strcmp.pieo strcpy.pieo stpcpy.pieo
stpncpy.pieo strcspn.pieo strlcat.pieo strlcpy.pieo strlen.pieo strncat.pieo strncmp.pieo
strncpy.pieo strnlen.pieo strpbrk.pieo strrchr.pieo strsep.pieo strspn.pieo strstr.pieo
strtok.pieo swab.pieo abs.pieo strtol.pieo strtoll.pieo strtoul.pieo strtoull.pieo
subr_boot.pieo clzsi2.pieo ctzsi2.pieo divmoddi4.pieo divmodsi4.pieo divdi3.pieo divsi3.pieo
moddi3.pieo modsi3.pieo udivmoddi4.pieo udivmodsi4.pieo udivdi3.pieo udivsi3.pieo umoddi3.pieo
umodsi3.pieo ashldi3.pieo ashrdi3.pieo lshrdi3.pieo hypervisor.pieo uuid_create_nil.pieo
uuid_equal.pieo uuid_from_string.pieo uuid_is_nil.pieo uuid_to_string.pieo _setjmp.pieo
bzlib.pieo crctable.pieo decompress.pieo huffman.pieo randtable.pieo adler32.pieo crc32.pieo
infback.pieo inffast.pieo inflate.pieo inftrees.pieo zutil.pieo lz4.pieo closeall.pieo
dev.pieo ioctl.pieo nullfs.pieo stat.pieo fstat.pieo close.pieo lseek.pieo open.pieo read.pieo
write.pieo readdir.pieo smbios.pieo arp.pieo ether.pieo ip.pieo inet_ntoa.pieo in_cksum.pieo
net.pieo udp.pieo netif.pieo rpc.pieo bootp.pieo rarp.pieo bootparam.pieo ufs.pieo nfs.pieo
cd9660.pieo tftp.pieo gzipfs.pieo bzipfs.pieo dosfs.pieo ext2fs.pieo splitfs.pieo pkgfs.pieo
time.pieo ffs_subr.pieo ffs_tables.pieo explicit_bzero.pieo crc32_libkern.pieo pwgets.pieo
sha256c.pieo sha512c.pieo md5c.pieo rijndael-alg-fst.pieo rijndael-api-fst.pieo
rijndael-api.pieo geliboot.pieo geliboot_crypto.pieo gelidev.pieo geli_metadata.pieo
g_eli_hmac.pieo g_eli_key.pieo g_eli_key_cache.pieo pkcs5v2.pieo xform_aes_xts.pieo ccopy.pieo
dec32be.pieo dec64be.pieo enc32be.pieo enc64be.pieo pemdec.pieo ec_all_m31.pieo
ec_c25519_m31.pieo ec_c25519_m62.pieo ec_c25519_m64.pieo ec_default.pieo ec_p256_m31.pieo
ec_p256_m62.pieo ec_p256_m64.pieo ec_prime_i31.pieo ec_pubkey.pieo ec_secp256r1.pieo
ec_secp384r1.pieo ec_secp521r1.pieo ecdsa_atr.pieo ecdsa_default_vrfy_asn1.pieo
ecdsa_i31_bits.pieo ecdsa_i31_vrfy_asn1.pieo ecdsa_i31_vrfy_raw.pieo multihash.pieo sha1.pieo
sha2big.pieo sha2small.pieo i31_add.pieo i31_bitlen.pieo i31_decmod.pieo i31_decode.pieo
i31_encode.pieo i31_fmont.pieo i31_iszero.pieo i31_moddiv.pieo i31_modpow.pieo
i31_modpow2.pieo i31_montmul.pieo i31_muladd.pieo i31_ninv31.pieo i31_rshift.pieo i31_sub.pieo
i31_tmont.pieo i32_div32.pieo i62_modpow2.pieo rsa_default_pkcs1_vrfy.pieo
rsa_i31_pkcs1_vrfy.pieo rsa_i31_pub.pieo rsa_i62_pkcs1_vrfy.pieo rsa_i62_pub.pieo
rsa_pkcs1_sig_unpad.pieo asn1enc.pieo x509_decoder.pieo x509_minimal.pieo readfile.pieo
brf.pieo vesigned.pieo vets.pieo xmem.pieo vector.pieo dearmor.pieo decode.pieo opgp_key.pieo
opgp_sig.pieo vectx.pieo veopen.pieo vepcr.pieo verify_file.pieo efi_variables.pieo
efi_init.pieo zfs.pieo nvlist.pieo skein.pieo skein_block.pieo list.pieo zstd_shim.pieo
zstd.pieo --- all_subdir_sbin --- --- all_subdir_sbin/dmesg --- ===> sbin/dmesg (all) ---
all_subdir_stand --- ar: warning: can't open file: ccopy.pieo: No such file or directory 1.72
real         3.57 user         1.07 sys

make[1]: stopped in /usr/src


-- 
O. Hartmann


More information about the dev-commits-src-all mailing list