From 665ee5434aec55c5148f8e35d9cadd4013a44e7e Mon Sep 17 00:00:00 2001 From: purplerain Date: Sun, 29 Sep 2024 20:39:38 +0000 Subject: [PATCH] sync with OpenBSD -current --- distrib/notes/arm64/prep | 44 ++++++++++++++++++++---------------- etc/rc.d/rc.subr | 4 ++-- sbin/fdisk/fdisk.8 | 10 ++++---- sys/arch/arm64/arm64/cpu.c | 6 ++--- sys/arch/arm64/dev/aplcpu.c | 4 ++-- sys/arch/arm64/include/pte.h | 30 +----------------------- usr.bin/rsync/blocks.c | 16 +++++++++---- usr.bin/tmux/tmux.c | 2 +- usr.sbin/rcctl/rcctl.8 | 6 ++--- usr.sbin/rcctl/rcctl.sh | 6 ++--- usr.sbin/rpki-client/main.c | 4 +++- usr.sbin/rpki-client/repo.c | 8 +++---- 12 files changed, 62 insertions(+), 78 deletions(-) diff --git a/distrib/notes/arm64/prep b/distrib/notes/arm64/prep index 4fe153f83..ca14ebe69 100644 --- a/distrib/notes/arm64/prep +++ b/distrib/notes/arm64/prep @@ -1,4 +1,4 @@ -dnl $OpenBSD: prep,v 1.21 2024/08/14 15:34:39 jsg Exp $ +dnl $OpenBSD: prep,v 1.22 2024/09/28 17:09:52 sthen Exp $ To perform an installation you must be able to interact with the console of the machine. In some cases this can be done by an attached monitor and keyboard. In others a serial console is required. @@ -115,32 +115,36 @@ Install on systems without a supported miniroot: If a miniroot is not available for your system you will have to modify an existing image before booting it. - To do so first install the u-boot-aarch64 and dtb packages. Write the - provided miniroot image to an SD card: + Write the provided miniroot image to an SD card: - dd if=miniroot{:--:}OSrev.img of=/dev/rsdXc bs=1m - - Add a board specific DTB file (Allwinner and Rockchip U-Boot images - come with a default DTB): - - mount /dev/sdXi /mnt - mkdir /mnt/vendor - cp /usr/local/share/dtb/arm64/vendor/board.dtb /mnt/vendor/ - umount /mnt + dd if=miniroot{:--:}OSrev.img of=/dev/rsdXc bs=1m For systems based on Allwinner Axx SoCs: - dd if=/usr/local/share/u-boot/board/u-boot-sunxi-with-spl.bin \ - of=/dev/sdXc bs=1024 seek=8 + pkg_add u-boot-sun50i + ls /usr/local/share/u-boot/*/u-boot-sunxi-with-spl.bin + dd if=/usr/local/share/u-boot/board/u-boot-sunxi-with-spl.bin \ + of=/dev/sdXc bs=1024 seek=8 For systems based on Rockchip RK33xx SoCs: - dd if=/usr/local/share/u-boot/board/idbloader.img \ - of=/dev/sdXc seek=64 - dd if=/usr/local/share/u-boot/board/u-boot.itb \ - of=/dev/sdXc seek=16384 + pkg_add u-boot-aarch64 + ls /usr/local/share/u-boot/*/u-boot.itb + dd if=/usr/local/share/u-boot/board/idbloader.img \ + of=/dev/sdXc seek=64 + dd if=/usr/local/share/u-boot/board/u-boot.itb \ + of=/dev/sdXc seek=16384 For systems based on Rockchip RK356x SoCs: - dd if=/usr/local/share/u-boot/board/u-boot-rockchip.bin \ - of=/dev/sdXc seek=64 + pkg_add u-boot-rk356x + ls /usr/local/share/u-boot/*/u-boot-rockchip.bin + dd if=/usr/local/share/u-boot/board/u-boot-rockchip.bin \ + of=/dev/sdXc seek=64 + + For systems based on Rockchip RK3588 SoCs: + + pkg_add u-boot-rk3588 + ls /usr/local/share/u-boot/*/u-boot-rockchip.bin + dd if=/usr/local/share/u-boot/board/u-boot-rockchip.bin \ + of=/dev/sdXc seek=64 diff --git a/etc/rc.d/rc.subr b/etc/rc.d/rc.subr index 1f872f0eb..d2e8fb0d4 100644 --- a/etc/rc.d/rc.subr +++ b/etc/rc.d/rc.subr @@ -1,4 +1,4 @@ -# $OpenBSD: rc.subr,v 1.162 2024/01/17 08:26:06 ajacoutot Exp $ +# $OpenBSD: rc.subr,v 1.163 2024/09/29 14:36:13 kn Exp $ # # Copyright (c) 2010, 2011, 2014-2022 Antoine Jacoutot # Copyright (c) 2010, 2011 Ingo Schwarze @@ -16,7 +16,7 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -_rc_actions="start stop restart reload check configtest" +_rc_actions="check configtest reload restart start stop" readonly _rc_actions _rc_check_name() { diff --git a/sbin/fdisk/fdisk.8 b/sbin/fdisk/fdisk.8 index 6a265a2cb..ee1a9a48e 100644 --- a/sbin/fdisk/fdisk.8 +++ b/sbin/fdisk/fdisk.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: fdisk.8,v 1.119 2023/11/10 15:41:11 krw Exp $ +.\" $OpenBSD: fdisk.8,v 1.120 2024/09/29 18:00:38 jmc Exp $ .\" .\" .\" Copyright (c) 1997 Tobias Weingartner @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: November 10 2023 $ +.Dd $Mdocdate: September 29 2024 $ .Dt FDISK 8 .Os .Sh NAME @@ -166,7 +166,7 @@ or just the disk name, e.g. .Pa sd0 . .El .Sh TYPICAL LAYOUT -When called without options +When called without options, .Nm prints the partition table of .Ar disk . @@ -253,7 +253,7 @@ Offset: 0 Signature: 0xAA55 .Sh COMMAND MODE When .Nm -enters interactive command mode +enters interactive command mode, it copies the partition table from .Ar disk into memory and performs all edits on @@ -327,7 +327,7 @@ An MBR partition will accept values from 0 to 0xff. A GPT partition will accept values from 0 to 0xfffffffffffffff. If .Ar value -is not provided the partition's bootable flag is set +is not provided, the partition's bootable flag is set and all other partitions have their bootable flags reset. MBR partitions with the bootable flag set are printed with a .Sq * diff --git a/sys/arch/arm64/arm64/cpu.c b/sys/arch/arm64/arm64/cpu.c index 31f0fa3ea..ebca49850 100644 --- a/sys/arch/arm64/arm64/cpu.c +++ b/sys/arch/arm64/arm64/cpu.c @@ -1,4 +1,4 @@ -/* $OpenBSD: cpu.c,v 1.132 2024/09/23 13:50:33 jsg Exp $ */ +/* $OpenBSD: cpu.c,v 1.133 2024/09/29 11:22:39 jsg Exp $ */ /* * Copyright (c) 2016 Dale Rahn @@ -1179,8 +1179,8 @@ cpu_identify_cleanup(void) if (ID_AA64PFR0_FP(cpu_id_aa64pfr0) != ID_AA64PFR0_FP_NONE && ID_AA64PFR0_FP(cpu_id_aa64pfr0) >= ID_AA64PFR0_FP_HP) hwcap |= HWCAP_FPHP; - if (ID_AA64PFR0_FP(cpu_id_aa64pfr0) != ID_AA64PFR0_ADV_SIMD_NONE && - ID_AA64PFR0_FP(cpu_id_aa64pfr0) >= ID_AA64PFR0_ADV_SIMD_HP) + if (ID_AA64PFR0_ADV_SIMD(cpu_id_aa64pfr0) != ID_AA64PFR0_ADV_SIMD_NONE && + ID_AA64PFR0_ADV_SIMD(cpu_id_aa64pfr0) >= ID_AA64PFR0_ADV_SIMD_HP) hwcap |= HWCAP_ASIMDHP; id_aa64mmfr2 = READ_SPECIALREG(id_aa64mmfr2_el1); if (ID_AA64MMFR2_IDS(id_aa64mmfr2) >= ID_AA64MMFR2_IDS_IMPL) diff --git a/sys/arch/arm64/dev/aplcpu.c b/sys/arch/arm64/dev/aplcpu.c index 9c1d3a978..91582ca6d 100644 --- a/sys/arch/arm64/dev/aplcpu.c +++ b/sys/arch/arm64/dev/aplcpu.c @@ -1,4 +1,4 @@ -/* $OpenBSD: aplcpu.c,v 1.8 2023/07/13 08:33:36 kettenis Exp $ */ +/* $OpenBSD: aplcpu.c,v 1.9 2024/09/29 09:25:37 jsg Exp $ */ /* * Copyright (c) 2022 Mark Kettenis * @@ -99,7 +99,7 @@ uint32_t aplcpu_opp_level(struct aplcpu_softc *, int); int aplcpu_clockspeed(int *); void aplcpu_setperf(int level); void aplcpu_refresh_sensors(void *); -void aplcpu_idle_cycle(); +void aplcpu_idle_cycle(void); void aplcpu_deep_wfi(void); int diff --git a/sys/arch/arm64/include/pte.h b/sys/arch/arm64/include/pte.h index 8306b2b7e..25a72baae 100644 --- a/sys/arch/arm64/include/pte.h +++ b/sys/arch/arm64/include/pte.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pte.h,v 1.8 2023/03/27 19:02:48 kettenis Exp $ */ +/* $OpenBSD: pte.h,v 1.9 2024/09/29 12:22:57 jsg Exp $ */ /* * Copyright (c) 2014 Dale Rahn * @@ -103,32 +103,4 @@ /* physical page mask */ #define PTE_RPGN (((1ULL << 48) - 1) & ~PAGE_MASK) -/* XXX */ -#ifndef _LOCORE -struct pte { - uint64_t pte; -}; - -typedef uint64_t pd_entry_t; /* L1 table entry */ -typedef uint64_t pt_entry_t; /* L2 table entry */ - -struct pv_node { -}; - -#endif /* _LOCORE */ - - -/// REWRITE -#define L2_L_SIZE 0x00010000 /* 64K */ -#define L2_L_OFFSET (L2_L_SIZE - 1) -#define L2_L_FRAME (~L2_L_OFFSET) -#define L2_L_SHIFT 16 - -#define L2_S_SIZE 0x00001000 /* 4K */ -#define L2_S_OFFSET (L2_S_SIZE - 1) -#define L2_S_FRAME (~L2_S_OFFSET) -#define L2_S_SHIFT 12 - -/// - #endif /* _ARM_PTE_H_ */ diff --git a/usr.bin/rsync/blocks.c b/usr.bin/rsync/blocks.c index b300e41a0..d1d9b19c3 100644 --- a/usr.bin/rsync/blocks.c +++ b/usr.bin/rsync/blocks.c @@ -1,4 +1,4 @@ -/* $OpenBSD: blocks.c,v 1.24 2024/09/18 10:22:36 job Exp $ */ +/* $OpenBSD: blocks.c,v 1.27 2024/09/27 13:13:14 tb Exp $ */ /* * Copyright (c) 2019 Kristaps Dzonsons * @@ -88,9 +88,10 @@ blkhash_alloc(void) int blkhash_set(struct blktab *p, const struct blkset *bset) { - size_t i, idx; + struct blkhash *blks; + size_t i, idx; - if (bset == NULL) + if (bset == NULL || bset->blksz == 0) return 1; /* Wipe clean the table. */ @@ -100,11 +101,14 @@ blkhash_set(struct blktab *p, const struct blkset *bset) /* Fill in the hashtable. */ - p->blks = reallocarray(p->blks, bset->blksz, sizeof(struct blkhash)); - if (p->blks == NULL) { + blks = reallocarray(p->blks, bset->blksz, sizeof(struct blkhash)); + if (blks == NULL) { ERR("reallocarray"); + free(p->blks); + p->blks = NULL; return 0; } + p->blks = blks; for (i = 0; i < bset->blksz; i++) { p->blks[i].blk = &bset->blks[i]; idx = bset->blks[i].chksum_short % p->qsz; @@ -121,6 +125,8 @@ blkhash_set(struct blktab *p, const struct blkset *bset) void blkhash_free(struct blktab *p) { + if (p == NULL) + return; free(p->q); free(p->blks); free(p); diff --git a/usr.bin/tmux/tmux.c b/usr.bin/tmux/tmux.c index 1332bf3aa..96b65bee9 100644 --- a/usr.bin/tmux/tmux.c +++ b/usr.bin/tmux/tmux.c @@ -351,7 +351,7 @@ getversion(void) if (version == NULL) { if (uname(&u) < 0) fatalx("uname failed"); - xasprintf(&version, "openbsd-%s", u.release); + xasprintf(&version, "secbsd-%s", u.release); } return (version); } diff --git a/usr.sbin/rcctl/rcctl.8 b/usr.sbin/rcctl/rcctl.8 index 63e191a4a..19551fa4f 100644 --- a/usr.sbin/rcctl/rcctl.8 +++ b/usr.sbin/rcctl/rcctl.8 @@ -1,4 +1,4 @@ -.\" $OpenBSD: rcctl.8,v 1.45 2024/05/05 08:16:45 ajacoutot Exp $ +.\" $OpenBSD: rcctl.8,v 1.46 2024/09/29 14:36:13 kn Exp $ .\" .\" Copyright (c) 2014 Antoine Jacoutot .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: May 5 2024 $ +.Dd $Mdocdate: September 29 2024 $ .Dt RCCTL 8 .Os .Sh NAME @@ -23,7 +23,7 @@ .Sh SYNOPSIS .Nm rcctl .Cm get Ns | Ns Cm getdef Ns | Ns Cm set -.Ar service | daemon Op Ar variable Op Ar argument ... +.Ar daemon Ns | Ns Ar service Op Ar variable Op Ar argument ... .Nm rcctl .Op Fl df .Sm off diff --git a/usr.sbin/rcctl/rcctl.sh b/usr.sbin/rcctl/rcctl.sh index b049e53ff..0a4226bc5 100644 --- a/usr.sbin/rcctl/rcctl.sh +++ b/usr.sbin/rcctl/rcctl.sh @@ -1,6 +1,6 @@ #!/bin/ksh # -# $OpenBSD: rcctl.sh,v 1.119 2024/07/08 14:47:42 ajacoutot Exp $ +# $OpenBSD: rcctl.sh,v 1.120 2024/09/29 14:36:13 kn Exp $ # # Copyright (c) 2014, 2015-2022 Antoine Jacoutot # Copyright (c) 2014 Ingo Schwarze @@ -29,10 +29,10 @@ _rc_parse_conf usage() { local _a _i - for _i in ${_rc_actions}; do _a="$(echo -n ${_i}${_a:+|${_a}})"; done + for _i in ${_rc_actions}; do _a=${_a:+${_a}|}$_i; done _rc_err \ - "usage: rcctl get|getdef|set service | daemon [variable [argument ...]] + "usage: rcctl get|getdef|set daemon|service [variable [argument ...]] rcctl [-df] ${_a} daemon ... rcctl disable|enable|order [daemon ...] rcctl ls all|failed|off|on|rogue|started|stopped" diff --git a/usr.sbin/rpki-client/main.c b/usr.sbin/rpki-client/main.c index 1399cc864..be1d4ec8a 100644 --- a/usr.sbin/rpki-client/main.c +++ b/usr.sbin/rpki-client/main.c @@ -1,4 +1,4 @@ -/* $OpenBSD: main.c,v 1.266 2024/09/04 15:46:43 job Exp $ */ +/* $OpenBSD: main.c,v 1.267 2024/09/27 12:52:58 tb Exp $ */ /* * Copyright (c) 2021 Claudio Jeker * Copyright (c) 2019 Kristaps Dzonsons @@ -878,6 +878,8 @@ load_skiplist(const char *slf) LIST_INSERT_HEAD(&skiplist, le, entry); stats.skiplistentries++; } + if (ferror(fp)) + err(1, "error reading %s", slf); fclose(fp); free(line); diff --git a/usr.sbin/rpki-client/repo.c b/usr.sbin/rpki-client/repo.c index 27ec6fc36..a50634ced 100644 --- a/usr.sbin/rpki-client/repo.c +++ b/usr.sbin/rpki-client/repo.c @@ -1,4 +1,4 @@ -/* $OpenBSD: repo.c,v 1.67 2024/09/19 20:48:36 tb Exp $ */ +/* $OpenBSD: repo.c,v 1.68 2024/09/27 12:55:03 tb Exp $ */ /* * Copyright (c) 2021 Claudio Jeker * Copyright (c) 2019 Kristaps Dzonsons @@ -656,10 +656,10 @@ rrdp_session_parse(struct rrdprepo *rr) { FILE *f; struct rrdp_session *state; - int fd, i, ln = 0, deltacnt = 0; + int fd, ln = 0, deltacnt = 0; const char *errstr; char *line = NULL, *file; - size_t len = 0; + size_t i, len = 0; ssize_t n; time_t now, weeks; @@ -749,7 +749,7 @@ rrdp_session_parse(struct rrdprepo *rr) free(line); free(state->session_id); free(state->last_mod); - for (i = 0; i < MAX_RRDP_DELTAS; i++) + for (i = 0; i < sizeof(state->deltas) / sizeof(state->deltas[0]); i++) free(state->deltas[i]); memset(state, 0, sizeof(*state)); rr->last_reset = now;