Commit Graph

271294 Commits

Author SHA1 Message Date
martin c5f0fb4614 Pull up following revision(s) (requested by riastradh in ticket #1610):
sys/kern/vfs_syscalls.c: revision 1.557

open(2): Don't map ERESTART to EINTR.

If a file or device's open function returns ERESTART, respect that --
restart the syscall; don't pretend a signal has been delivered when
it was not.  If an SA_RESTART signal was delivered, POSIX does not
allow it to fail with EINTR:

    SA_RESTART
        This flag affects the behavior of interruptible functions;
        that is, those specified to fail with errno set to [EINTR].
        If set, and a function specified as interruptible is
        interrupted by this signal, the function shall restart and
        shall not fail with [EINTR] unless otherwise specified.  If
        an interruptible function which uses a timeout is restarted,
        the duration of the timeout following the restart is set to
        an unspecified value that does not exceed the original
        timeout value.  If the flag is not set, interruptible
        functions interrupted by this signal shall fail with errno
        set to [EINTR].

https://pubs.opengroup.org/onlinepubs/9699919799/functions/sigaction.html

Nothing in the POSIX definition of open specifies otherwise.

In 1990, Kirk McKusick added these lines with a mysterious commit
message:
Author: Kirk McKusick <mckusick>
Date:   Tue Apr 10 19:36:33 1990 -0800
    eliminate longjmp from the kernel (for karels)
diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c
index 7bc7b39bbf..d572d3a32d 100644
--- a/sys/kern/vfs_syscalls.c
+++ b/sys/kern/vfs_syscalls.c
@@ -14,7 +14,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- *     @(#)vfs_syscalls.c      7.42 (Berkeley) 3/26/90
+ *     @(#)vfs_syscalls.c      7.43 (Berkeley) 4/10/90
  */
 #include "param.h"
@@ -530,8 +530,10 @@ copen(scp, fmode, cmode, ndp, resultfd)
        if (error = vn_open(ndp, fmode, (cmode & 07777) &~ S_ISVTX)) {
                crfree(fp->f_cred);
                fp->f_count--;
-               if (error == -1)        /* XXX from fdopen */
-                       return (0);     /* XXX from fdopen */
+               if (error == EJUSTRETURN)       /* XXX from fdopen */
+                       return (0);             /* XXX from fdopen */
+               if (error == ERESTART)
+                       error = EINTR;
                scp->sc_ofile[indx] = NULL;
                return (error);
        }

(found via this git import of the CSRG history:
cce2869b7a

This change appears to have served two related purposes:
1. The fdopen function (the erstwhile open routine for /dev/fd/N)
   used to return -1 as a hack to mean it had just duplicated the fd;
   it was recently changed by Mike Karels, in kern_descrip.c 7.9, to
   return EJUSTRETURN, now defined to be -2, presumably to avoid a
   conflict with ERESTART, defined to be -1.  So this change finished
   part of the change by Mike Karels to use a different magic return
   code from fdopen.
   Of course, today we use still another disgusting hack, EDUPFD, for
   the same purpose, so none of this is relevant any more.
2. Prior to April 1990, the kernel handled signals during tsleep(9)
   by longjmping out to the system call entry point or similar.  In
   April 1990, Mike Karels worked to convert all of that into
   explicit unwind logic by passing through EINTR or ERESTART as
   appropriate, instead of setjmp at each entry point.

However, it's not clear to me why this setjmp/longjmp and
fdopen/-1/EJUSTRETURN renovation justifies unconditional logic to map
ERESTART to EINTR in open(2).  I suspect it was a mistake.

In 2013, the corresponding logic to map ERESTART to EINTR in open(2)
was removed from FreeBSD:

   r246472 | kib | 2013-02-07 14:53:33 +0000 (Thu, 07 Feb 2013) | 11 lines
   Stop translating the ERESTART error from the open(2) into EINTR.
   Posix requires that open(2) is restartable for SA_RESTART.
   For non-posix objects, in particular, devfs nodes, still disable
   automatic restart of the opens. The open call to a driver could have
   significant side effects for the hardware.
   Noted and reviewed by:  jilles
   Discussed with: bde
   MFC after:      2 weeks

Index: vfs_syscalls.c
===================================================================
--- vfs_syscalls.c      (revision 246471)
+++ vfs_syscalls.c      (revision 246472)
@@ -1106,8 +1106,6 @@
                                goto success;
                }
-               if (error == ERESTART)
-                       error = EINTR;
                goto bad;
        }
        td->td_dupfd = 0;

https://cgit.freebsd.org/src/commit/sys/kern/vfs_syscalls.c?id=2ca49983425886121b506cb5126b60a705afc38c">https://cgit.freebsd.org/src/commit/sys/kern/vfs_syscalls.c?id=2ca49983425886121b506cb5126b60a705afc38c

It's not clear to me that there's any reason to treat device nodes
specially here; in fact, if a driver's .d_open routine sleeps and is
woken by a concurrent revoke without a signal pending or with an
SA_RESTART signal pending, it is wrong for it to fail with EINTR.

But it MUST restart the whole system call rather than continue
sleeping in a loop or just exit the loop and continue to open,
because it is mandatory in the security model of revoke for open(2)
to retry the permissions check at that point.

PR kern/57260
2023-03-07 20:01:06 +00:00
martin 73b18bc5af Ticket #1609 2023-03-03 17:05:04 +00:00
martin 4d750db448 Pull up following revision(s) (requested by sekiya in ticket #1609):
sys/arch/arm/ti/if_cpsw.c: revision 1.17

Uncomment and protect sanity checks that would drop into the debugger with a
CPSW_DEBUG_DMA define.

This handles a condition where checking for DMA_RXEOQ in the received packet
results in the console being spammed with "rxeoq" messages, which soon results
in a kernel panic.  The corresponding Debugger() call for this check was
commented out.

The TI documentation ("AM335x and AMIC110 Sitara(TM) Processors Technical
Reference Manual") documents the EOQ bit thus:

        (14.3.2.4.1.2.4) This bit is set by the EMAC when the EMAC identifies
        that a descriptor is the last for a given packet received (also sets
        the EOP flag), and there are no more descriptors in the receive list
        (next descriptor pointer is NULL).  The software application can use
        this bit to detect when the EMAC receiver for the corresponding channel
        has halted. This is useful when the application appends additional free
        buffer descriptors to an active receive queue. Note that this flag is
        valid on EOP descriptors only.

Moving this check (and the offending printf() ) into a debug #ifdef results in
the BeagleBone Green surviving the nightly checks; it would always drop into
the debugger before this change.
2023-03-03 17:04:17 +00:00
martin 256a0e1e0b Tickets #1606 - #1608 2023-02-24 14:10:25 +00:00
martin 180e8b8e65 Pull up the following revisions, requested by kim in ticket #1608:
crypto/external/bsd/openssl/dist/apps/vms_decc_argv.c up to 1.1.1.1
	crypto/external/bsd/openssl/dist/crypto/bn/rsa_sup_mul.c up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/certs/cross-key.pem up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/certs/cross-root.pem up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/certs/root-cross-cert.pem up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/certs/embeddedSCTs1_issuer-key.pem up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/smime-certs/badrsa.pem up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/ssl-tests/30-supported-groups.conf up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/ssl-tests/30-supported-groups.conf.in up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/dane-cross.in up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/data.bin  up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/testrsa_withattrs.der up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/testrsa_withattrs.pem up to 1.1.1.1
	crypto/external/bsd/openssl/dist/util/perl/OpenSSL/copyright.pm up to 1.1.1.1
	crypto/external/bsd/openssl/dist/test/ssl-tests/16-certstatus.conf delete
	crypto/external/bsd/openssl/dist/CHANGES        up to 1.30
	crypto/external/bsd/openssl/dist/Configure      up to 1.31
	crypto/external/bsd/openssl/dist/NEWS           up to 1.30
	crypto/external/bsd/openssl/dist/README         up to 1.30
	crypto/external/bsd/openssl/dist/config         up to 1.1.1.14
	crypto/external/bsd/openssl/dist/Configurations/10-main.conf up to 1.1.1.12
	crypto/external/bsd/openssl/dist/Configurations/15-android.conf up to 1.1.1.5
	crypto/external/bsd/openssl/dist/Configurations/descrip.mms.tmpl up to 1.1.1.8
	crypto/external/bsd/openssl/dist/Configurations/unix-Makefile.tmpl up to 1.1.1.12
	crypto/external/bsd/openssl/dist/Configurations/windows-makefile.tmpl up to 1.1.1.8
	crypto/external/bsd/openssl/dist/apps/apps.c    up to 1.1.1.23
	crypto/external/bsd/openssl/dist/apps/apps.h    up to 1.1.1.16
	crypto/external/bsd/openssl/dist/apps/ca.c      up to 1.22
	crypto/external/bsd/openssl/dist/apps/ciphers.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/apps/crl2p7.c  up to 1.1.1.7
	crypto/external/bsd/openssl/dist/apps/dgst.c    up to 1.1.1.16
	crypto/external/bsd/openssl/dist/apps/enc.c     up to 1.1.1.17
	crypto/external/bsd/openssl/dist/apps/ocsp.c    up to 1.23
	crypto/external/bsd/openssl/dist/apps/openssl.c up to 1.7
	crypto/external/bsd/openssl/dist/apps/openssl.cnf up to 1.9
	crypto/external/bsd/openssl/dist/apps/passwd.c  up to 1.1.1.8
	crypto/external/bsd/openssl/dist/apps/s_cb.c    up to 1.1.1.21
	crypto/external/bsd/openssl/dist/apps/s_client.c up to 1.25
	crypto/external/bsd/openssl/dist/apps/s_server.c up to 1.25
	crypto/external/bsd/openssl/dist/apps/s_socket.c up to 1.1.1.11
	crypto/external/bsd/openssl/dist/apps/speed.c   up to 1.21
	crypto/external/bsd/openssl/dist/apps/vms_decc_init.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/apps/x509.c    up to 1.1.1.17
	crypto/external/bsd/openssl/dist/crypto/armcap.c up to 1.14
	crypto/external/bsd/openssl/dist/crypto/init.c  up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/ppccap.c up to 1.20
	crypto/external/bsd/openssl/dist/crypto/s390x_arch.h up to 1.1.1.3
	crypto/external/bsd/openssl/dist/crypto/s390xcap.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/sparcv9cap.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/uid.c   up to 1.8
	crypto/external/bsd/openssl/dist/crypto/aes/asm/aesni-x86.pl up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/aes/asm/aesv8-armx.pl up to 1.1.1.7
	crypto/external/bsd/openssl/dist/crypto/asn1/a_object.c up to 1.1.1.13
	crypto/external/bsd/openssl/dist/crypto/asn1/a_print.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/asn1/a_strex.c up to 1.10
	crypto/external/bsd/openssl/dist/crypto/asn1/asn1_lib.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/asn1/asn_mime.c up to 1.13
	crypto/external/bsd/openssl/dist/crypto/asn1/bio_asn1.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/asn1/bio_ndef.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/asn1/charmap.h up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/asn1/charmap.pl up to 1.1.1.7
	crypto/external/bsd/openssl/dist/crypto/asn1/d2i_pr.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/asn1/t_spki.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/crypto/bio/b_addr.c up to 1.1.1.11
	crypto/external/bsd/openssl/dist/crypto/bio/b_print.c up to 1.1.1.11
	crypto/external/bsd/openssl/dist/crypto/bio/b_sock2.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/bio/bss_dgram.c up to 1.1.1.19
	crypto/external/bsd/openssl/dist/crypto/bio/bss_mem.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/crypto/bn/bn_blind.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/crypto/bn/bn_div.c up to 1.1.1.15
	crypto/external/bsd/openssl/dist/crypto/bn/bn_err.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/bn/bn_exp.c up to 1.21
	crypto/external/bsd/openssl/dist/crypto/bn/bn_exp2.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/crypto/bn/bn_gcd.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/bn/bn_local.h up to 1.1.1.3
	crypto/external/bsd/openssl/dist/crypto/bn/bn_mont.c up to 1.13
	crypto/external/bsd/openssl/dist/crypto/bn/bn_nist.c up to 1.7
	crypto/external/bsd/openssl/dist/crypto/bn/bn_prime.h up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/bn/bn_prime.pl up to 1.1.1.5
	crypto/external/bsd/openssl/dist/crypto/bn/bn_print.c up to 1.4
	crypto/external/bsd/openssl/dist/crypto/bn/bn_sqrt.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/crypto/bn/build.info up to 1.1.1.4
	crypto/external/bsd/openssl/dist/crypto/bn/rsaz_exp.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/crypto/bn/rsaz_exp.h up to 1.1.1.5
	crypto/external/bsd/openssl/dist/crypto/bn/asm/mips.pl up to 1.9
	crypto/external/bsd/openssl/dist/crypto/bn/asm/x86_64-mont5.pl up to 1.1.1.14
	crypto/external/bsd/openssl/dist/crypto/chacha/asm/chacha-x86_64.pl up to 1.1.1.5
	crypto/external/bsd/openssl/dist/crypto/cms/cms_enc.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/cms/cms_env.c up to 1.1.1.13
	crypto/external/bsd/openssl/dist/crypto/cms/cms_err.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/conf/conf_def.h up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/conf/keysets.pl up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/dh/dh_ameth.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/dsa/dsa_prn.c up to 1.1.1.5
	crypto/external/bsd/openssl/dist/crypto/ec/ec2_oct.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/ec/ec_asn1.c up to 1.13
	crypto/external/bsd/openssl/dist/crypto/ec/ec_curve.c up to 1.1.1.11
	crypto/external/bsd/openssl/dist/crypto/ec/ec_key.c up to 1.7
	crypto/external/bsd/openssl/dist/crypto/ec/ecp_nistz256.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/ec/curve448/curve448.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/crypto/ec/curve448/field.h up to 1.1.1.3
	crypto/external/bsd/openssl/dist/crypto/engine/eng_all.c up to 1.14
	crypto/external/bsd/openssl/dist/crypto/engine/eng_dyn.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/engine/eng_lib.c up to 1.9
	crypto/external/bsd/openssl/dist/crypto/engine/eng_list.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/engine/eng_local.h up to 1.1.1.2
	crypto/external/bsd/openssl/dist/crypto/err/err.c up to 1.1.1.14
	crypto/external/bsd/openssl/dist/crypto/err/openssl.txt up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/evp/bio_enc.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/evp/digest.c up to 1.1.1.13
	crypto/external/bsd/openssl/dist/crypto/evp/e_aes.c up to 1.25
	crypto/external/bsd/openssl/dist/crypto/evp/e_camellia.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/evp/evp_enc.c up to 1.15
	crypto/external/bsd/openssl/dist/crypto/evp/evp_local.h up to 1.1.1.2
	crypto/external/bsd/openssl/dist/crypto/evp/p_lib.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/crypto/hmac/hm_ameth.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/lhash/lhash.c up to 1.10
	crypto/external/bsd/openssl/dist/crypto/objects/o_names.c up to 1.10
	crypto/external/bsd/openssl/dist/crypto/objects/obj_dat.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/objects/obj_dat.h up to 1.1.1.13
	crypto/external/bsd/openssl/dist/crypto/objects/obj_dat.pl up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/objects/obj_xref.h up to 1.1.1.12
	crypto/external/bsd/openssl/dist/crypto/objects/objects.pl up to 1.1.1.7
	crypto/external/bsd/openssl/dist/crypto/objects/objxref.pl up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/pem/pem_lib.c up to 1.1.1.16
	crypto/external/bsd/openssl/dist/crypto/pkcs12/p12_key.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/poly1305/poly1305_ameth.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/crypto/rand/drbg_lib.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/crypto/rand/rand_lib.c up to 1.1.1.16
	crypto/external/bsd/openssl/dist/crypto/rand/rand_unix.c up to 1.18
	crypto/external/bsd/openssl/dist/crypto/rand/rand_vms.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/crypto/rand/rand_win.c up to 1.1.1.14
	crypto/external/bsd/openssl/dist/crypto/rsa/rsa_ameth.c up to 1.1.1.16
	crypto/external/bsd/openssl/dist/crypto/rsa/rsa_ossl.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/rsa/rsa_prn.c up to 1.1.1.5
	crypto/external/bsd/openssl/dist/crypto/siphash/siphash_ameth.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/crypto/sm2/sm2_crypt.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/crypto/sm2/sm2_pmeth.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/crypto/srp/srp_vfy.c up to 1.1.1.13
	crypto/external/bsd/openssl/dist/crypto/store/loader_file.c up to 1.1.1.5
	crypto/external/bsd/openssl/dist/crypto/ts/ts_rsp_verify.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/crypto/ts/ts_verify_ctx.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/txt_db/txt_db.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/ui/ui_openssl.c up to 1.18
	crypto/external/bsd/openssl/dist/crypto/x509/by_dir.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/crypto/x509/t_x509.c up to 1.1.1.5
	crypto/external/bsd/openssl/dist/crypto/x509/x509_cmp.c up to 1.1.1.17
	crypto/external/bsd/openssl/dist/crypto/x509/x509_req.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/crypto/x509/x509_vfy.c up to 1.26
	crypto/external/bsd/openssl/dist/crypto/x509/x509_vpm.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/crypto/x509/x_all.c up to 1.1.1.13
	crypto/external/bsd/openssl/dist/crypto/x509/x_crl.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/x509/x_name.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_addr.c up to 1.9
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_akey.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_alt.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_asid.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_cpols.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_genn.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_lib.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_ncons.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_pci.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_sxnet.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3_utl.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/crypto/x509v3/v3err.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/demos/bio/client-arg.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/demos/bio/client-conf.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/fingerprints.txt up to 1.1.1.7
	crypto/external/bsd/openssl/dist/doc/man1/cms.pod up to 1.1.1.4
	crypto/external/bsd/openssl/dist/doc/man1/enc.pod up to 1.1.1.7
	crypto/external/bsd/openssl/dist/doc/man1/passwd.pod up to 1.1.1.2
	crypto/external/bsd/openssl/dist/doc/man1/pkeyutl.pod up to 1.1.1.5
	crypto/external/bsd/openssl/dist/doc/man1/s_client.pod up to 1.1.1.8
	crypto/external/bsd/openssl/dist/doc/man1/s_server.pod up to 1.1.1.8
	crypto/external/bsd/openssl/dist/doc/man1/x509.pod up to 1.1.1.7
	crypto/external/bsd/openssl/dist/doc/man3/BIO_ctrl.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/BIO_f_base64.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/BIO_f_ssl.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/BIO_push.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/BN_add.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/BN_cmp.pod up to 1.1.1.2
	crypto/external/bsd/openssl/dist/doc/man3/BN_rand.pod up to 1.1.1.4
	crypto/external/bsd/openssl/dist/doc/man3/CMS_add0_cert.pod up to 1.1.1.2
	crypto/external/bsd/openssl/dist/doc/man3/CMS_verify.pod up to 1.1.1.4
	crypto/external/bsd/openssl/dist/doc/man3/DEFINE_STACK_OF.pod up to 1.1.1.2
	crypto/external/bsd/openssl/dist/doc/man3/EC_KEY_new.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/ENGINE_add.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/ERR_load_strings.pod up to 1.1.1.2
	crypto/external/bsd/openssl/dist/doc/man3/EVP_EncryptInit.pod up to 1.1.1.7
	crypto/external/bsd/openssl/dist/doc/man3/OBJ_nid2obj.pod up to 1.1.1.4
	crypto/external/bsd/openssl/dist/doc/man3/OPENSSL_LH_COMPFUNC.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/OPENSSL_init_crypto.pod up to 1.1.1.4
	crypto/external/bsd/openssl/dist/doc/man3/PKCS7_sign.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/PKCS7_sign_add_signer.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/PKCS7_verify.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/SSL_CONF_cmd.pod up to 1.1.1.5
	crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set1_verify_cert_store.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_num_tickets.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_timeout.pod up to 1.1.1.2
	crypto/external/bsd/openssl/dist/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod up to 1.1.1.5
	crypto/external/bsd/openssl/dist/doc/man3/SSL_get_current_cipher.pod up to 1.1.1.2
	crypto/external/bsd/openssl/dist/doc/man3/SSL_get_session.pod up to 1.1.1.2
	crypto/external/bsd/openssl/dist/doc/man3/SSL_set_fd.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/X509_STORE_CTX_new.pod up to 1.1.1.6
	crypto/external/bsd/openssl/dist/doc/man3/d2i_PrivateKey.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man3/d2i_X509.pod up to 1.1.1.6
	crypto/external/bsd/openssl/dist/doc/man7/ossl_store.pod up to 1.1.1.3
	crypto/external/bsd/openssl/dist/doc/man7/x509.pod up to 1.1.1.2
	crypto/external/bsd/openssl/dist/engines/e_afalg.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/engines/e_dasync.c up to 1.1.1.5
	crypto/external/bsd/openssl/dist/engines/asm/e_padlock-x86.pl up to 1.1.1.3
	crypto/external/bsd/openssl/dist/engines/asm/e_padlock-x86_64.pl up to 1.1.1.3
	crypto/external/bsd/openssl/dist/include/crypto/bn.h up to 1.1.1.2
	crypto/external/bsd/openssl/dist/include/crypto/rand.h up to 1.1.1.2
	crypto/external/bsd/openssl/dist/include/crypto/sm2.h up to 1.1.1.2
	crypto/external/bsd/openssl/dist/include/crypto/x509.h up to 1.1.1.2
	crypto/external/bsd/openssl/dist/include/internal/sockets.h up to 1.1.1.4
	crypto/external/bsd/openssl/dist/include/openssl/bnerr.h up to 1.1.1.3
	crypto/external/bsd/openssl/dist/include/openssl/cmserr.h up to 1.1.1.3
	crypto/external/bsd/openssl/dist/include/openssl/e_os2.h up to 1.1.1.6
	crypto/external/bsd/openssl/dist/include/openssl/ec.h up to 1.1.1.6
	crypto/external/bsd/openssl/dist/include/openssl/engine.h up to 1.1.1.3
	crypto/external/bsd/openssl/dist/include/openssl/obj_mac.h up to 1.1.1.7
	crypto/external/bsd/openssl/dist/include/openssl/opensslv.h up to 1.1.1.17
	crypto/external/bsd/openssl/dist/include/openssl/ssl.h up to 1.1.1.10
	crypto/external/bsd/openssl/dist/include/openssl/sslerr.h up to 1.1.1.6
	crypto/external/bsd/openssl/dist/include/openssl/x509v3.h up to 1.1.1.7
	crypto/external/bsd/openssl/dist/include/openssl/x509v3err.h up to 1.1.1.3
	crypto/external/bsd/openssl/dist/ssl/bio_ssl.c  up to 1.1.1.11
	crypto/external/bsd/openssl/dist/ssl/d1_lib.c   up to 1.12
	crypto/external/bsd/openssl/dist/ssl/packet.c   up to 1.1.1.3
	crypto/external/bsd/openssl/dist/ssl/packet_local.h up to 1.1.1.2
	crypto/external/bsd/openssl/dist/ssl/s3_cbc.c   up to 1.11
	crypto/external/bsd/openssl/dist/ssl/s3_enc.c   up to 1.17
	crypto/external/bsd/openssl/dist/ssl/s3_lib.c   up to 1.30
	crypto/external/bsd/openssl/dist/ssl/s3_msg.c   up to 1.1.1.5
	crypto/external/bsd/openssl/dist/ssl/ssl_asn1.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/ssl/ssl_cert.c up to 1.1.1.17
	crypto/external/bsd/openssl/dist/ssl/ssl_ciph.c up to 1.23
	crypto/external/bsd/openssl/dist/ssl/ssl_err.c  up to 1.19
	crypto/external/bsd/openssl/dist/ssl/ssl_init.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/ssl/ssl_lib.c  up to 1.22
	crypto/external/bsd/openssl/dist/ssl/ssl_local.h up to 1.1.1.4
	crypto/external/bsd/openssl/dist/ssl/ssl_rsa.c  up to 1.1.1.11
	crypto/external/bsd/openssl/dist/ssl/ssl_txt.c  up to 1.1.1.10
	crypto/external/bsd/openssl/dist/ssl/t1_enc.c   up to 1.22
	crypto/external/bsd/openssl/dist/ssl/t1_lib.c   up to 1.35
	crypto/external/bsd/openssl/dist/ssl/tls13_enc.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/ssl/record/rec_layer_s3.c up to 1.1.1.9
	crypto/external/bsd/openssl/dist/ssl/record/ssl3_buffer.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/ssl/record/ssl3_record.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/ssl/statem/README up to 1.1.1.3
	crypto/external/bsd/openssl/dist/ssl/statem/extensions.c up to 1.1.1.10
	crypto/external/bsd/openssl/dist/ssl/statem/extensions_clnt.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/ssl/statem/extensions_cust.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/ssl/statem/extensions_srvr.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/ssl/statem/statem_clnt.c up to 1.1.1.14
	crypto/external/bsd/openssl/dist/ssl/statem/statem_dtls.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/ssl/statem/statem_lib.c up to 1.1.1.11
	crypto/external/bsd/openssl/dist/ssl/statem/statem_local.h up to 1.1.1.2
	crypto/external/bsd/openssl/dist/ssl/statem/statem_srvr.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/test/afalgtest.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/asn1_decode_test.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/asn1_internal_test.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/bio_memleak_test.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/test/bntest.c  up to 1.10
	crypto/external/bsd/openssl/dist/test/build.info up to 1.1.1.13
	crypto/external/bsd/openssl/dist/test/clienthellotest.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/test/ct_test.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/test/danetest.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/dtls_mtu_test.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/dtlstest.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/test/ec_internal_test.c up to 1.1.1.5
	crypto/external/bsd/openssl/dist/test/ectest.c  up to 1.9
	crypto/external/bsd/openssl/dist/test/evp_extra_test.c up to 1.11
	crypto/external/bsd/openssl/dist/test/evp_test.c up to 1.9
	crypto/external/bsd/openssl/dist/test/exptest.c up to 1.5
	crypto/external/bsd/openssl/dist/test/packettest.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/test/pemtest.c up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/rsa_test.c up to 1.9
	crypto/external/bsd/openssl/dist/test/sm2_internal_test.c up to 1.1.1.4
	crypto/external/bsd/openssl/dist/test/sslapitest.c up to 1.1.1.12
	crypto/external/bsd/openssl/dist/test/ssltest_old.c up to 1.1.1.7
	crypto/external/bsd/openssl/dist/test/ssltestlib.c up to 1.1.1.8
	crypto/external/bsd/openssl/dist/test/ssltestlib.h up to 1.1.1.9
	crypto/external/bsd/openssl/dist/test/test_test.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/v3ext.c   up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/v3nametest.c up to 1.1.1.5
	crypto/external/bsd/openssl/dist/test/verify_extra_test.c up to 1.1.1.6
	crypto/external/bsd/openssl/dist/test/x509_internal_test.c up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/x509_time_test.c up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/certs/ee-ed25519.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/certs/ee-self-signed.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/certs/embeddedSCTs1-key.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/certs/embeddedSCTs1.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/certs/embeddedSCTs1.sct up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/certs/embeddedSCTs1_issuer.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/certs/root-ed25519.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/certs/rootCA.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/certs/setup.sh up to 1.1.1.10
	crypto/external/bsd/openssl/dist/test/recipes/01-test_symbol_presence.t up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/recipes/15-test_genrsa.t up to 1.1.1.4
	crypto/external/bsd/openssl/dist/test/recipes/20-test_dgst.t up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/recipes/25-test_req.t up to 1.1.1.5
	crypto/external/bsd/openssl/dist/test/recipes/25-test_verify.t up to 1.1.1.8
	crypto/external/bsd/openssl/dist/test/recipes/25-test_x509.t up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/recipes/70-test_tls13hrr.t up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/recipes/70-test_tls13kexmodes.t up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/recipes/70-test_verify_extra.t up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/recipes/80-test_cms.t up to 1.1.1.4
	crypto/external/bsd/openssl/dist/test/recipes/80-test_dane.t up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/recipes/80-test_ssl_new.t up to 1.1.1.6
	crypto/external/bsd/openssl/dist/test/recipes/80-test_ssl_old.t up to 1.1.1.5
	crypto/external/bsd/openssl/dist/test/recipes/10-test_bn_data/bnmod.txt up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/recipes/30-test_evp_data/evpciph.txt up to 1.1.1.5
	crypto/external/bsd/openssl/dist/test/recipes/30-test_evp_data/evpkdf.txt up to 1.3
	crypto/external/bsd/openssl/dist/test/recipes/30-test_evp_data/evppkey.txt up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/recipes/95-test_external_pyca_data/cryptography.sh up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/smime-certs/mksmime-certs.sh up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/smime-certs/smdh.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/smime-certs/smdsa1.pem up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/smime-certs/smdsa2.pem up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/smime-certs/smdsa3.pem up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/smime-certs/smec1.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/smime-certs/smec2.pem up to 1.1.1.2
	crypto/external/bsd/openssl/dist/test/smime-certs/smroot.pem up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/smime-certs/smrsa1.pem up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/smime-certs/smrsa2.pem up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/smime-certs/smrsa3.pem up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/ssl-tests/10-resumption.conf up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/ssl-tests/11-dtls_resumption.conf up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/ssl-tests/protocol_version.pm up to 1.1.1.3
	crypto/external/bsd/openssl/dist/test/testutil/driver.c up to 1.4
	crypto/external/bsd/openssl/dist/test/testutil/format_output.c up to 1.6
	crypto/external/bsd/openssl/dist/test/testutil/tests.c up to 1.6
	crypto/external/bsd/openssl/dist/tools/c_rehash.in up to 1.1.1.7
	crypto/external/bsd/openssl/dist/util/mkdir-p.pl up to 1.1.1.3
	crypto/external/bsd/openssl/dist/util/private.num up to 1.1.1.4
	crypto/external/bsd/openssl/lib/libcrypto/shlib_version up to 1.15
	crypto/external/bsd/openssl/lib/libcrypto/bn.inc up to 1.8 (patch)
	distrib/sets/lists/base/shl.mi				1.944 (patch)
	distrib/sets/lists/debug/shl.mi				1.302 (patch)
	doc/3RDPARTY						1.1912 (manual edit)

Import OpenSSL 1.1.1t.
2023-02-24 14:07:45 +00:00
martin cc8c8117a4 Pull up following revision(s) (requested by abs in ticket #1607):
sys/arch/amiga/stand/loadbsd/loadbsd.c: revision 1.37
	distrib/amiga/stand/loadbsd.uue: revision 1.3
	sys/arch/amiga/stand/loadbsd/Makefile: revision 1.4
	sys/arch/amiga/stand/loadbsd/README: revision 1.5

Update loadbsd source and distribution binary to version 3.2.

Including the following changes by Gunther Nikl:
- Added detection of A600.
- Fix handling of multiple -n options.
Make it compile with recent AmigaOS gcc ports (for example gcc6), as
older ports no longer work with current NetBSD header files.
2023-02-24 13:51:43 +00:00
martin b828bb68fd Pull up following revision(s) (requested by gutteridge in ticket #1606):
external/bsd/nvi/dist/common/search.c: revision 1.5

search.c: correctly handle escaped backslashes

Addresses PR bin/57106 from Bosco G. G., who supplied the patch.

(This was also committed in the nvi2 sources:
e7054267a3)
2023-02-24 13:06:48 +00:00
martin e44a90cdec Tickets #1600 - #1605 2023-02-22 19:57:11 +00:00
martin 6c5eda55a7 Pull up following revision(s) (requested by riastradh in ticket #1605):
sys/net/bpf.c: revision 1.247 (manually merged)

bpf(4): Reject bogus timeout values before arithmetic overflows.
2023-02-22 19:50:33 +00:00
martin 65696e46ef Pull up following revision(s) (requested by riastradh in ticket #1604):
etc/ssh/Makefile: revision 1.4
	usr.bin/mail/Makefile: revision 1.41
	external/ibm-public/postfix/etc/Makefile: revision 1.2
	etc/bluetooth/Makefile: revision 1.6
	crypto/external/bsd/openssh/bin/Makefile: revision 1.5
	etc/root/Makefile: revision 1.5
	etc/iscsi/Makefile: revision 1.4

/root: Install .cshrc and .profile links with the same mode.

Previously we would:

1. Install /root/.cshrc and /root/.profile with mode FILESMODE=644 as
   requested in src/etc/root/Makefile and as echoed in
   /etc/mtree/special.
2. Create hard links at /.cshrc and /.profile through CONFIGLINKS.
3. Because LINKSMODE was unset and defaults to NOBINMODE=444, change
   the mode to 444.

This scenario is confusing, and mtree objects to it, which is bad for
warning fatigue in a security-relevant mechanism.  (There are also
several other files mtree objects to out of the box -- we should fix
those too.)

With this change we install the links with the same mode as the
original files, in agreement with the mtree.  The files, .cshrc and
.profile, are intended to be editable configuration files, so 644
makes sense while 444 makes no sense and gets in the way of editors
like vi.

Discussed on tech-userlevel:
https://mail-index.netbsd.org/tech-userlevel/2022/08/29/msg013498.html

etc: Fix permissions of various editable configuration files.

This way they match the mtree and make sense and don't cause editors
to ask to override read-only files when editing them.

Exception: Not sure /etc/bluetooth/protocols makes as much sense to
edit, but the mtree says 644, so if you want to change it, make sure
to change it in both places -- Makefile and mtree.

/etc/ssh: Install ssh_known_hosts with mode 644.
Makes it agree with the mtree and more convenient for admin to edit.
2023-02-22 19:30:50 +00:00
martin de765e5dd2 Pull up following revision(s) (requested by riastradh in ticket #1603):
sys/arch/x86/x86/efi_machdep.c: revision 1.3
	(applied to sys/arch/x86/x86/efi.c)

x86/efi: Print uuids in slightly more standard notation.

Anyone need a spare hyphen?  We had a few extras, apparently.
2023-02-22 19:20:45 +00:00
martin 587a9264f6 Pull up following revision(s) (requested by riastradh in ticket #1602):
sys/net/route.c: revision 1.236

route(4): Work around deadlock in rt_free wait path.
PR kern/56844
2023-02-22 18:53:56 +00:00
martin d7363146ee Pull up following revision(s) (requested by riastradh in ticket #1601):
tests/lib/libc/string/t_swab.c: revision 1.3
	lib/libc/string/swab.c: revision 1.20

swab(3): Rewrite this to be understandable.

And make the tests work, and exercise all lengths up to 100.
Evidently the previous definition, presumably tightly optimized for
1980s-era compilers and CPUs, was too hard to understand, because it
was incorrectly tested for two decades and broken for years.

PR lib/57141
2023-02-22 18:49:17 +00:00
martin 62f4d2be02 Pull up following revision(s) (requested by tsutsui in ticket #1600):
sys/arch/next68k/stand/boot/en.c: revision 1.20
	sys/arch/next68k/stand/boot/scsi.c: revision 1.13
	sys/arch/next68k/stand/boot/scsi.c: revision 1.14
	sys/arch/next68k/stand/boot/conf.c: revision 1.8
	sys/arch/next68k/stand/boot/sd.c: revision 1.17
	sys/arch/next68k/stand/boot/samachdep.h: revision 1.1
	sys/arch/next68k/stand/boot/samachdep.h: revision 1.2
	sys/arch/next68k/stand/boot/rtc.c: revision 1.8
	sys/arch/next68k/stand/boot/machdep.c: revision 1.9
	sys/arch/next68k/stand/boot/boot.c: revision 1.14
	sys/arch/next68k/stand/boot/boot.c: revision 1.15
	sys/arch/next68k/stand/boot/scsivar.h: revision 1.2
	sys/arch/next68k/stand/boot/devopen.c: revision 1.8
	sys/arch/next68k/stand/boot/version: revision 1.7

Use common declarations and macros in proper headers.

Also fix inconsistent sdopen() and sdstrategy() args and
remove useless #if 0'ed out code.
No functional change.

Replace DELAY() with one in hp300 bootloader and adjust cpuspeed counts.

Fix boot failure on my ancient Seagate ST52160N drive.
It looks some of such old drives can't respond to SCSI
test-unit-ready command without proper wait after SCSI bus reset.

Bump version again to denote a fix.

XXX we should re-evaluate cpuspeed counts for DELAY() in bootloaders
    (where cache is disabled) on other m68k ports, hp300 and luna68k etc.

Actually bump version (missed in the previous commit).
2023-02-22 12:09:16 +00:00
martin c41274d785 Ticket #1599 2023-02-17 17:42:21 +00:00
martin 13ef3b7e97 Pull up following revision(s) (requested by nia in ticket #1599):
share/man/man4/urndis.4: revision 1.11
	sys/dev/usb/if_urndis.c: revision 1.48

urndis(4): Add OnePlus 5T to the quirky devices list. This allows it to
be attached as an urndis instead of ugen, and to transmit this commit
message across the tubes.

urndis.4: Add OnePlus 5T
2023-02-17 17:41:24 +00:00
martin 14e5b8b6da Regen for ticket #1599 2023-02-17 17:41:10 +00:00
martin 0471ec6f3d Pull up following revision(s) (requested by nia in ticket #1599):
sys/dev/usb/usbdevs: revision 1.807

Add OnePlus 5T
2023-02-17 17:40:28 +00:00
martin ed925562ff Tickets #1596 - #1598 2023-02-15 19:29:45 +00:00
martin e39f040604 Pull up following revision(s) (requested by tsutsui in ticket #1598):
sys/arch/next68k/next68k/nextrom.h: revision 1.13
	sys/arch/next68k/dev/nextdisplayvar.h: revision 1.6
	sys/arch/next68k/dev/intiovar.h: revision 1.8
	sys/arch/next68k/dev/nextcons.c: revision 1.12
	sys/arch/next68k/next68k/locore.s: revision 1.69
	sys/arch/next68k/dev/nextcons.c: revision 1.13
	sys/arch/next68k/dev/nextcons.c: revision 1.14
	sys/arch/next68k/include/bus_space.h: revision 1.18
	sys/arch/next68k/dev/nextdisplay.c: revision 1.30
	sys/arch/next68k/include/bus_space.h: revision 1.19
	sys/arch/next68k/stand/boot/boot.c: revision 1.13
	sys/arch/next68k/next68k/nextrom.c: revision 1.28
	sys/arch/next68k/next68k/nextrom.c: revision 1.29
	sys/arch/next68k/next68k/pmap_bootstrap.c: revision 1.46
	sys/arch/next68k/next68k/pmap_bootstrap.c: revision 1.47
	sys/arch/next68k/include/cpu.h: revision 1.52
	sys/arch/next68k/dev/intio.c: revision 1.17 (patch)
	sys/arch/next68k/dev/intio.c: revision 1.18 (patch)
	sys/arch/next68k/dev/intio.c: revision 1.19 (patch)
	sys/arch/next68k/next68k/locore.s: revision 1.72
	sys/arch/next68k/stand/boot/version: revision 1.6
	sys/arch/next68k/include/bus_space.h: revision 1.21
	sys/arch/next68k/include/bus_space.h: revision 1.22
	sys/arch/next68k/dev/nextdisplay.c: revision 1.26
	sys/arch/next68k/include/bus_space.h: revision 1.23
	sys/arch/next68k/dev/nextdisplay.c: revision 1.27
	sys/arch/next68k/dev/nextdisplay.c: revision 1.28
	sys/arch/next68k/dev/nextdisplay.c: revision 1.29

 s/impliment/implement/ in comment.

Remove cargo-culted '#if 0' code that was designed to produce a
compile-time error if any of the bus_space_*_8 functions was used,
but was documented that it produces a link-time error.

Misc KNF and cosmetics.

Use proper C99 int types.

Remove trailing spaces and TABs.

Handle NeXT Turbo VRAM regions properly.
Info from Andreas Grabher on port-next68k@:
 https://mail-index.netbsd.org/port-next68k/2023/02/06/msg000052.html

Also refactor bus_space_map(9) and fix (unused) bus_space_mmap(9).

Add and check machine type NeXT_CUBE_TURBO (type 8).
Info from Andreas Grabher on port-next68k@.

NeXT Turbo Color doesn't have NEXT_P_C16_CMD_REG.
Info from Andreas Grabher on port-next68k@.

Bump version again to denote NeXT_CUBE_TURBO support.
2023-02-15 19:28:29 +00:00
martin 8d064fb69c Pull up following revision(s) (requested by tsutsui in ticket #1597):
sys/arch/next68k/conf/GENERIC: revision 1.155 (patch)

next68k:  Specify -fno-unwind-tables to shrink kernel binary size.

next68k bootloader cannot load a kernel larger than ~3.8 MB.
2023-02-15 19:19:38 +00:00
martin ee90ba4116 Pull up following revision(s) (requested by riastradh in ticket #1596):
external/cddl/osnet/dist/lib/libdtrace/common/dt_subr.c: revision 1.15

dtrace: re-fix aggregations to report from all online CPUs

Reapply the fix to dt_status() from rev 1.10
("Don't return success when the target CPU is offline")
which was lost in rev 1.12 ("sync with FreeBSD").

The FreeBSD version that we have been using since then does run on NetBSD
but always reports that CPU 0 is online and all other CPUs are offline,
because the sysctl that it uses does not exist on NetBSD.
2023-02-15 18:58:02 +00:00
martin 0910bdcb38 Tickets #1592 - #1595 2023-02-14 16:20:43 +00:00
martin 6b5fa60b4d Pull up following revision(s) (requested by buhrow in ticket #1595):
sys/kern/subr_devsw.c: revision 1.50

        When a device driver calls devsw_attach() it has the option of attaching a block device
structure and a character device structure, or, just the character device structure.
With the existing code, if a driver elects not to attach a block device structure and if it
asks for a major number to be dynamically assigned to its character interface,
that driver will not be able to detach and reattach its character driver interface.  This is a very
long standing bug which didn't come to light until we began using loadable kernel modules more
heavily.  this patch fixes this problem.  With this patch in place, drivers that implement only
a character device interface may detach and reattach that character interface as often as they
need to.

Fixes PR kern/57229
2023-02-14 16:19:00 +00:00
martin 9c1c9756e2 Pull up following revision(s) (requested by manu in ticket #1594):
sys/dev/usb/u3g.c: revision 1.44

Add support for ZTE MF112 and D-Link DWM222 3G USB modems
2023-02-14 16:10:00 +00:00
martin 9047ce0bbc Pull up following revision(s) (requested by uwe in ticket #1593):
usr.bin/audio/play/audioplay.1: revision 1.31

audioplay(1): fix typo

From Jim Spath in PR/57228
2023-02-14 16:03:17 +00:00
martin 7455fbf4da Tickets #1589 - #1591 2023-02-12 12:24:05 +00:00
martin 50f9f91407 Pull up following revision(s) (requested by tsutsui in ticket #1591):
sys/arch/next68k/stand/boot/scsi.c: revision 1.11
	sys/arch/next68k/stand/boot/sd.c: revision 1.13
	sys/arch/next68k/stand/boot/scsi.c: revision 1.12
	sys/arch/next68k/stand/boot/sd.c: revision 1.14
	sys/arch/next68k/stand/boot/sd.c: revision 1.15
	sys/arch/next68k/stand/boot/sd.c: revision 1.16
	sys/arch/next68k/stand/boot/rtc.c: revision 1.7
	sys/arch/next68k/stand/boot/dmareg.h: revision 1.4
	sys/arch/next68k/stand/boot/machdep.c: revision 1.8
	sys/arch/next68k/stand/boot/srt0.s: revision 1.3
	sys/arch/next68k/stand/boot/README: revision 1.2
	sys/arch/next68k/stand/boot/devopen.c: revision 1.7
	sys/arch/next68k/stand/boot/Makefile: revision 1.30
	sys/arch/next68k/stand/boot/Makefile: revision 1.31
	sys/arch/next68k/stand/boot/version: revision 1.5

Remove trailing spaces and TABs.

Make sure to specify volatile explicitly on DMA register accesses.

It looks booting from SCSI disks on next68k have been broken
since NetBSD 1.6 days, but now it works.

Avoid possible division by zero trap in error cases to make debug easier.

Request only 36 bytes for a response of INQUIRY command for legacy drives.
Some drives don't respond larger requested size for newer
SCSI3 devices and not all drivers can handle short xfers.
We should fix drivers to handle such short xfers properly,
but we need only SCSI device type here (and the 36 bytes are
enough even if we want vendor and product names on a bootloader).
The problem is reported from Andreas Grabher (a maintainer of NeXT
Computer Emulator) on port-next68k@:
 https://mail-index.netbsd.org/port-next68k/2023/02/thread1.html

Disable DEBUG options properly.

Bump version to 1.6 to denote recent bootloader's >20 years old bug fixes.
2023-02-12 12:22:44 +00:00
martin 6676131d63 Pull up following revision(s) (requested by tsutsui in ticket #1590):
sys/arch/next68k/include/vmparam.h: revision 1.29
	sys/arch/next68k/next68k/machdep.c: revision 1.118
	sys/arch/next68k/include/param.h: revision 1.13
	sys/arch/next68k/next68k/pmap_bootstrap.c: revision 1.45
	sys/arch/next68k/next68k/locore.s: revision 1.70
	sys/arch/next68k/next68k/locore.s: revision 1.71

Use explicit CPU strings and remove hp300 derived stuff.

Remove #ifdef'ed out hp300 specific stuff.

Remove leftover "last kernel PT page" settings derived from hp300.

Whilehere, also remove VM definitions for obsolete COMPAT_HPUX stuff.

All hp300 machines has RAMs at a region from the highest address
i.e. 0xFFFFFFFF to smaller address (as HP claims "it's the MSB first"),
so kernels have to prepare PA==KVA mappings as the "last PT page" to
guarantee the running kernel works both before and after the MMU is
turned on.  For such a special mapping, we have to set up necessary
segment table and page table during early startup, in pmap_bootstrap()
invoked from locore.s.

On the other hand, NeXT machines have RAMs at a region from 0x40000000
to below (i.e. to larger address) so we still need a PA==KVA mapping.
However currently NetBSD/next68k just uses the transparent translation
registers to achieve the PA==KVA mapping, so unlike hp300 we don't have
to prepare special segment table and page table for it.

Note many other m68k ports (like luna68k, news68k, x68k etc.) have
RAMs at a region from 0x00000000 so usually we can assume PA==KVA
and don't have to bother to prepare such speicial mappings.

No user visible changes (except now freed wasted pages for the tables).

Tested on my NeXTstation slab.
2023-02-12 11:47:10 +00:00
martin 6a8fda3af3 Pull up following revision(s) (requested by tsutsui in ticket #1589):
sys/arch/i386/conf/GENERIC: revision 1.1243

Enable options DISKLABEL_EI by default as amd64.

No particular comment no port-i386@:
https://mail-index.netbsd.org/port-i386/2022/12/02/msg004063.html
2023-02-12 11:43:29 +00:00
martin db17519370 Ticket #1588 2023-02-08 16:43:05 +00:00
martin e5224cc784 Pull up following revision(s) (requested by hgutch in ticket #1588):
sys/arch/sparc64/include/vmparam.h: revision 1.43

Avoid using (1<<64)-1 for VM_MAX{,USER}_ADDRESS as rounding that up to
the next page boundary gives 0 and instead make the VA space end one
page earlier.

Fixes PR sparc64/57219.
2023-02-08 16:42:12 +00:00
martin 6a4f54d6a6 Tickets #1585 - #1587 2023-02-06 17:05:59 +00:00
martin 9cd41affa7 Pull up following revision(s) (requested by hannken in ticket #1587):
sys/fs/union/union_vfsops.c: revision 1.86
	sys/miscfs/nullfs/null_vfsops.c: revision 1.101 (via patch)

Set IMNT_MPSAFE only if all lower layers have it set.
2023-02-06 17:04:48 +00:00
martin 2200024291 Pull up following revision(s) (requested by tsutsui in ticket #1586):
etc/etc.next68k/MAKEDEV.conf: revision 1.6

Remove obsolete bpf entries not neceerary for clonified bpf(4).
Fixes "MAKEDEV: bpf8: unknown device" errors.
2023-02-06 16:54:53 +00:00
martin 7f9ab2d078 Pull up following revision(s) (requested by tsutsui in ticket #1585):
sys/arch/vax/vsa/smg.c: revision 1.62

Make sure to call wsfont_init(9) as other framebuffer drivers.

Otherwise wsfont_find(9) always fails and wsdisplay(4) is not attached.
2023-02-06 16:51:00 +00:00
martin 3ad630b7a2 Ticket #1584 2023-02-04 16:21:31 +00:00
martin 15ad984ba1 Pull up following revision(s) (requested by uwe in ticket #1584):
lib/libc/thread-stub/thread-stub.c: revision 1.31

change libc sched_yield() stub to actually still call the syscall
instead of doing nothing when app is not linked with pthread; this matches
other systems

suggested by Mateusz Guzik in:
http://mail-index.netbsd.org/tech-kern/2020/07/19/msg026620.html
2023-02-04 16:19:20 +00:00
martin 05f89282f6 Ticket #1583 2023-02-04 14:42:43 +00:00
martin f5170af09b Pull up following revision(s) (requested by uwe in ticket #1583):
lib/libc/thread-stub/thread-stub.c: revision 1.30

Adjust the error return value of pthread_sigmask for !libpthread usage

Instead of returning -1, return errno on error.
Catch up after the fix in libpthread by Andrew Doran in 2008
in lib/libpthread/pthread_misc.c r.1.9.

It's an open question whether this function shall be used without linked
in the POSIX thread library.

Detected by Bruno Haible (GNU) and documented in gnulib in commit
"pthread_sigmask: Avoid test failure on NetBSD 8.0. " r. 4d16a83b0c1fcb6c.
2023-02-04 14:41:39 +00:00
martin e85caa14f0 Tickets #1581 and #1582 2023-02-01 19:01:48 +00:00
martin 22a14c54d2 Pull up following revision(s) (requested by tsutsui in ticket #1582):
sys/arch/vax/boot/Makefile.inc: revision 1.19

Make a vax bootloader work on 8MB VAXen.

64KB (0x800000 - 0x7f0000) is not enough for the bootloader itself
and more spaces are required for heap on loading a kernel.

https://mail-index.netbsd.org/port-vax/2023/01/24/msg004149.html

"Go ahead" from ragge@.  Should be pulled up to netbsd-10 and netbsd-9.
2023-02-01 19:00:53 +00:00
martin d86e0ea9bf Pull up following revision(s) (requested by tsutsui in ticket #1581):
sys/arch/next68k/next68k/machdep.c: revision 1.117
	sys/arch/next68k/dev/esp.c: revision 1.65
	sys/arch/next68k/include/cpu.h: revision 1.51
	sys/arch/next68k/include/bus_space.h: revision 1.20
	sys/arch/next68k/next68k/clock.c: revision 1.13

next68k: Fix delay_divisor value for proper delay(9) on 68040.

next68k: Specify proper constraints for bus_space_read region and multi ops.

These functions write the read data into memory at a specified pointer,
but without the "memory" constraint gcc could optimize out these ops
if the memory is allocated on local stack.

With this fix nextkbd(4) works again.
Should be pulled up to netbsd-10 and netbsd-9.

next68k: Fix silent stall of next68k esp(4) SCSI.

next68k esp(4) driver requires nextdma(4) interrupts at ipl 6
during ncr53c9x_intr() for esp(4) at ipl 3.  It worked on netbsd-5
and prior, but on netbsd-5 splbio() was changed from ipl 3 to 6
for SMP support and on netbsd-6 ncr53c9x driver was changed to
use mutex(9) instead of simple_lock(9), so nextdma interrupts
were no longer raised during ncr53c9x interrupt handler.

For now, just call mutex_exit(9) and mutex_enter(9) during
waiting nextdma(4) interrupts in MD esp_dma_intr() handler.

This could be wrong and the interrupt handler for nextdma should
be reorganized, but it just works.

Should be pulled up to netbsd-10 and netbsd-9.
2023-02-01 18:56:44 +00:00
martin 1702e0af0b Ticket #1580 2023-01-30 11:42:11 +00:00
martin c5837dfc62 Pull up following revision(s) (requested by thorpej in ticket #1580):
share/man/man4/puc.4: revision 1.44
	sys/dev/pci/pucdata.c: revision 1.114

Add and entry for the EXAR XR17V354 4-port UART.
From Hakan Engvall.
PR kern/57202
2023-01-30 11:35:15 +00:00
martin 323f2c2de7 Regen for ticket #1580 2023-01-30 11:33:45 +00:00
martin 734c2cef18 Pull up following revision(s) (requested by thorpej in ticket #1580):
sys/dev/pci/pcidevs: revision 1.1477

Add ID for the EXAR XR17V354 PCIe UART.
PR kern/57202
2023-01-30 11:32:22 +00:00
martin 32dbe59649 Tickets #1570 - #1579 2023-01-23 14:12:08 +00:00
martin 78fe554871 Pull up the following revisions, requested by msaitoh in ticket #1579:
sys/dev/pci/files.pci				1.442
	sys/dev/pci/ixgbe/ix_txrx.c			1.99-1.100
	sys/dev/pci/ixgbe/ixgbe.c			1.320-1.324 via patch
	sys/dev/pci/ixgbe/ixgbe_82598.c 		1.19
	sys/dev/pci/ixgbe/ixgbe_api.c			1.28
	sys/dev/pci/ixgbe/ixgbe_common.c		1.43
	sys/dev/pci/ixgbe/ixgbe_netbsd.h		1.17
	sys/dev/pci/ixgbe/ixv.c 			1.183

- Add an option for Tx to use deferred softint regardless of whether
  can get txq lock or not. It's off by default.
- Call txeof first, then rxeof for the consistency.
- Make three "Unsupported SFP+ module..." messages the same.
- KNF. Modify comment. Fix typo.
2023-01-23 14:04:41 +00:00
martin c38cc83b06 Pull up the following revisions, requested by msaitoh in ticket #1578:
sys/dev/pci/if_wm.c				1.764-1.767 via patch
	sys/dev/pci/if_wmreg.h				1.128

- Workaround for some hypervisor environments. The environments
  cannot stop e1000 interrupt immediately.
- Rename nq_txdesc' member "nqrx_ctx" to "nqtx_ctx". No functional
  change.
- Add comment. Modify comment.
- KNF.
2023-01-23 13:59:04 +00:00