From owner-svn-src-head@freebsd.org Sun Apr 12 02:42:43 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 137582ADB7C; Sun, 12 Apr 2020 02:42:43 +0000 (UTC) (envelope-from jah@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490GJ26g9Pz4Th5; Sun, 12 Apr 2020 02:42:42 +0000 (UTC) (envelope-from jah@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DFF77225D2; Sun, 12 Apr 2020 02:42:42 +0000 (UTC) (envelope-from jah@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03C2ggvK082773; Sun, 12 Apr 2020 02:42:42 GMT (envelope-from jah@FreeBSD.org) Received: (from jah@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03C2ggMk082772; Sun, 12 Apr 2020 02:42:42 GMT (envelope-from jah@FreeBSD.org) Message-Id: <202004120242.03C2ggMk082772@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jah set sender to jah@FreeBSD.org using -f From: "Jason A. Harmening" Date: Sun, 12 Apr 2020 02:42:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359815 - head/usr.sbin/config X-SVN-Group: head X-SVN-Commit-Author: jah X-SVN-Commit-Paths: head/usr.sbin/config X-SVN-Commit-Revision: 359815 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 02:42:43 -0000 Author: jah Date: Sun Apr 12 02:42:42 2020 New Revision: 359815 URL: https://svnweb.freebsd.org/changeset/base/359815 Log: config(8): use sbuf to manage line buffers PR: 245476 Reported by: kevans Reviewed by: imp, kevans MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D24373 Modified: head/usr.sbin/config/main.c Modified: head/usr.sbin/config/main.c ============================================================================== --- head/usr.sbin/config/main.c Sun Apr 12 01:03:13 2020 (r359814) +++ head/usr.sbin/config/main.c Sun Apr 12 02:42:42 2020 (r359815) @@ -113,6 +113,8 @@ struct hdr_list { struct hdr_list *h_next; } *htab; +static struct sbuf *line_buf = NULL; + /* * Config builds a set of files for building a UNIX * system given a description of the desired system. @@ -313,6 +315,29 @@ usage(void) exit(EX_USAGE); } +static void +init_line_buf(void) +{ + if (line_buf == NULL) { + line_buf = sbuf_new(NULL, NULL, 80, SBUF_AUTOEXTEND); + if (line_buf == NULL) { + errx(EXIT_FAILURE, "failed to allocate line buffer"); + } + } else { + sbuf_clear(line_buf); + } +} + +static char * +get_line_buf(void) +{ + if (sbuf_finish(line_buf) != 0) { + errx(EXIT_FAILURE, "failed to generate line buffer, " + "partial line = %s", sbuf_data(line_buf)); + } + return sbuf_data(line_buf); +} + /* * get_word * returns EOF on end of file @@ -322,11 +347,10 @@ usage(void) char * get_word(FILE *fp) { - static char line[160]; int ch; - char *cp; int escaped_nl = 0; + init_line_buf(); begin: while ((ch = getc(fp)) != EOF) if (ch != ' ' && ch != '\t') @@ -345,29 +369,20 @@ begin: else return (NULL); } - cp = line; - *cp++ = ch; + sbuf_putc(line_buf, ch); /* Negation operator is a word by itself. */ if (ch == '!') { - *cp = 0; - return (line); + return get_line_buf(); } - while ((ch = getc(fp)) != EOF && cp < line + sizeof(line)) { + while ((ch = getc(fp)) != EOF) { if (isspace(ch)) break; - *cp++ = ch; + sbuf_putc(line_buf, ch); } - if (cp >= line + sizeof(line)) { - line[sizeof(line) - 1] = '\0'; - fprintf(stderr, "config: attempted overflow, partial line: `%s'", - line); - exit(2); - } - *cp = 0; if (ch == EOF) return ((char *)EOF); (void) ungetc(ch, fp); - return (line); + return (get_line_buf()); } /* @@ -378,11 +393,10 @@ begin: char * get_quoted_word(FILE *fp) { - static char line[512]; int ch; - char *cp; int escaped_nl = 0; + init_line_buf(); begin: while ((ch = getc(fp)) != EOF) if (ch != ' ' && ch != '\t') @@ -401,7 +415,6 @@ begin: else return (NULL); } - cp = line; if (ch == '"' || ch == '\'') { int quote = ch; @@ -410,9 +423,8 @@ begin: if (ch == quote && !escaped_nl) break; if (ch == '\n' && !escaped_nl) { - *cp = 0; printf("config: missing quote reading `%s'\n", - line); + get_line_buf()); exit(2); } if (ch == '\\' && !escaped_nl) { @@ -420,38 +432,23 @@ begin: continue; } if (ch != quote && escaped_nl) - *cp++ = '\\'; - if (cp >= line + sizeof(line)) { - line[sizeof(line) - 1] = '\0'; - printf( - "config: line buffer overflow reading partial line `%s'\n", - line); - exit(2); - } - *cp++ = ch; + sbuf_putc(line_buf, '\\'); + sbuf_putc(line_buf, ch); escaped_nl = 0; } } else { - *cp++ = ch; - while ((ch = getc(fp)) != EOF && cp < line + sizeof(line)) { + sbuf_putc(line_buf, ch); + while ((ch = getc(fp)) != EOF) { if (isspace(ch)) break; - *cp++ = ch; + sbuf_putc(line_buf, ch); } - if (cp >= line + sizeof(line)) { - line[sizeof(line) - 1] = '\0'; - printf( - "config: line buffer overflow reading partial line `%s'\n", - line); - exit(2); - } if (ch != EOF) (void) ungetc(ch, fp); } - *cp = 0; if (ch == EOF) return ((char *)EOF); - return (line); + return (get_line_buf()); } /* From owner-svn-src-head@freebsd.org Sun Apr 12 05:10:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C93F32B2410; Sun, 12 Apr 2020 05:10:48 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490KZw4zHtz4ckY; Sun, 12 Apr 2020 05:10:48 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A5FED241D5; Sun, 12 Apr 2020 05:10:48 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03C5AmqW073355; Sun, 12 Apr 2020 05:10:48 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03C5AmVN073354; Sun, 12 Apr 2020 05:10:48 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202004120510.03C5AmVN073354@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sun, 12 Apr 2020 05:10:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359818 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359818 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 05:10:48 -0000 Author: kib Date: Sun Apr 12 05:10:48 2020 New Revision: 359818 URL: https://svnweb.freebsd.org/changeset/base/359818 Log: sendfile_iodone: correct calculation of the page index for relookup. This is yet another bug in r359473. Reported and tested by: delphij Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/kern/kern_sendfile.c Modified: head/sys/kern/kern_sendfile.c ============================================================================== --- head/sys/kern/kern_sendfile.c Sun Apr 12 03:10:29 2020 (r359817) +++ head/sys/kern/kern_sendfile.c Sun Apr 12 05:10:48 2020 (r359818) @@ -298,7 +298,7 @@ sendfile_iodone(void *arg, vm_page_t *pa, int count, i for (i = 0; i < count; i++) { if (pa[i] == bogus_page) { pa[i] = vm_page_relookup(sfio->obj, - sfio->pindex0 + i + (sfio->pa - pa)); + sfio->pindex0 + i + (pa - sfio->pa)); KASSERT(pa[i] != NULL, ("%s: page %p[%d] disappeared", __func__, pa, i)); From owner-svn-src-head@freebsd.org Sun Apr 12 09:31:37 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 57A5B2B7DE4; Sun, 12 Apr 2020 09:31:37 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490RMs1kXTz3NxN; Sun, 12 Apr 2020 09:31:37 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 363B327469; Sun, 12 Apr 2020 09:31:37 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03C9VbdC034603; Sun, 12 Apr 2020 09:31:37 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03C9VbbX034602; Sun, 12 Apr 2020 09:31:37 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202004120931.03C9VbbX034602@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Sun, 12 Apr 2020 09:31:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359822 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359822 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 09:31:37 -0000 Author: tuexen Date: Sun Apr 12 09:31:36 2020 New Revision: 359822 URL: https://svnweb.freebsd.org/changeset/base/359822 Log: Revert https://svnweb.freebsd.org/changeset/base/359809 The intended change was sp->next.tqe_next = NULL; sp->next.tqe_prev = NULL; which doesn't fix the issue I'm seeing and the committed fix is not the intended fix due to copy-and-paste. Thanks a lot to Conrad Meyer for making me aware of the problem. Reported by: cem Modified: head/sys/netinet/sctp_output.c Modified: head/sys/netinet/sctp_output.c ============================================================================== --- head/sys/netinet/sctp_output.c Sun Apr 12 06:01:03 2020 (r359821) +++ head/sys/netinet/sctp_output.c Sun Apr 12 09:31:36 2020 (r359822) @@ -12275,8 +12275,6 @@ sctp_send_str_reset_req(struct sctp_tcb *stcb, /* now anything on those queues? */ TAILQ_FOREACH_SAFE(sp, &oldstream[i].outqueue, next, nsp) { TAILQ_REMOVE(&oldstream[i].outqueue, sp, next); - sp->ss_next.tqe_next = NULL; - sp->ss_next.tqe_prev = NULL; TAILQ_INSERT_TAIL(&stcb->asoc.strmout[i].outqueue, sp, next); } From owner-svn-src-head@freebsd.org Sun Apr 12 09:33:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0531D2B7FAC; Sun, 12 Apr 2020 09:33:34 +0000 (UTC) (envelope-from tuexen@freebsd.org) Received: from drew.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "*.franken.de", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490RQ561klz3PNM; Sun, 12 Apr 2020 09:33:33 +0000 (UTC) (envelope-from tuexen@freebsd.org) Received: from mbp.fritz.box (ip4d16e760.dynamic.kabel-deutschland.de [77.22.231.96]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTPSA id 01BB272243807; Sun, 12 Apr 2020 11:33:27 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: svn commit: r359809 - head/sys/netinet From: Michael Tuexen In-Reply-To: Date: Sun, 12 Apr 2020 11:33:27 +0200 Cc: src-committers , svn-src-all , svn-src-head Content-Transfer-Encoding: quoted-printable Message-Id: <55089DD1-2111-4946-964B-0AAC33F9A876@freebsd.org> References: <202004112036.03BKatfm047227@repo.freebsd.org> To: cem@freebsd.org X-Mailer: Apple Mail (2.3608.80.23.2.2) X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=disabled version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mail-n.franken.de X-Rspamd-Queue-Id: 490RQ561klz3PNM X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 09:33:34 -0000 > On 11. Apr 2020, at 23:35, Conrad Meyer wrote: >=20 > Hi Michael, >=20 > On Sat, Apr 11, 2020 at 1:37 PM Michael Tuexen = wrote: >>=20 >> Author: tuexen >> Date: Sat Apr 11 20:36:54 2020 >> New Revision: 359809 >> URL: https://svnweb.freebsd.org/changeset/base/359809 >>=20 >> Log: >> Zero out pointers for consistency. >>=20 >> This was found by running syzkaller on an INVARIANTS kernel. >=20 Hi Conrad, > For consistency? If syzkaller found something due to INVARIANTS Yes. What I meant is that in the stream scheduler code = (sctp_ss_functions.c) the pattern is TAILQ_REMOVE(&asoc->ss_data.out.list, sp, ss_next); sp->ss_next.tqe_next =3D NULL; sp->ss_next.tqe_prev =3D NULL; which I think is OK, since I'm clearing the pointers related to the = remove operation. Do you agree? While looking at the code TAILQ_FOREACH_SAFE(sp, &oldstream[i].outqueue, next, nsp) { TAILQ_REMOVE(&oldstream[i].outqueue, sp, next); TAILQ_INSERT_TAIL(&stcb->asoc.strmout[i].outqueue, sp, = next); } I observed that I don't clear the pointers after the remove operation. The intended change was adding sp->next.tqe_next =3D NULL; sp->next.tqe_prev =3D NULL; which I guess would be fine. Do you agree? Due to a copy/paste error the change was (but not intended) adding sp->ss_next.tqe_next =3D NULL; sp->ss_next.tqe_prev =3D NULL; Unfortunately testing this incorrect and unintended fix, resolved the kernel panic. BTW, the intended fix doesn't fix the panic. Therefore I've reverted the fix: = https://svnweb.freebsd.org/changeset/base/359822 Thanks a lot for making me aware of my mistake! > sys/queue.h debugging trashing the pointer values, masking them by > writing zeroes doesn't help. Generally, defeating the kernel's > INVARIANTS system is not wise or useful. I totally agree. I'm actually adding more INVARIANTS checks to the SCTP code to catch more places where the code does not behave as expected = when running syzkaller (more on the API testing) and ossfuzz (for the = userland stack, more on the packet injection side). So you will see more panics when using INVARIANTS, for example, now in the timer code. But this = points me to places I need to look at. >=20 > In this use, consider using > 'TAILQ_CONCAT(&stcb->asoc.strmout[i].outqueue, &oldstream[i].outqueue, > next)' instead of the loop construct. Thanks for the hint. Wasn't aware of it and didn't consider it more = moving over a queue. Best regards Michael >=20 > Conrad From owner-svn-src-head@freebsd.org Sun Apr 12 14:30:03 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4FA632BF26A; Sun, 12 Apr 2020 14:30:03 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490Z0C1pHwz4BRg; Sun, 12 Apr 2020 14:30:03 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1B18A2D0A; Sun, 12 Apr 2020 14:30:03 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CEU2tc013326; Sun, 12 Apr 2020 14:30:02 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CEU0lX013314; Sun, 12 Apr 2020 14:30:00 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004121430.03CEU0lX013314@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 12 Apr 2020 14:30:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359823 - in head: etc/mtree include lib/libc/gen sys/conf sys/net sys/net/route sys/netinet sys/netinet6 sys/sys usr.bin/netstat X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: in head: etc/mtree include lib/libc/gen sys/conf sys/net sys/net/route sys/netinet sys/netinet6 sys/sys usr.bin/netstat X-SVN-Commit-Revision: 359823 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 14:30:03 -0000 Author: melifaro Date: Sun Apr 12 14:30:00 2020 New Revision: 359823 URL: https://svnweb.freebsd.org/changeset/base/359823 Log: Introduce nexthop objects and new routing KPI. This is the foundational change for the routing subsytem rearchitecture. More details and goals are available in https://reviews.freebsd.org/D24141 . This patch introduces concept of nexthop objects and new nexthop-based routing KPI. Nexthops are objects, containing all necessary information for performing the packet output decision. Output interface, mtu, flags, gw address goes there. For most of the cases, these objects will serve the same role as the struct rtentry is currently serving. Typically there will be low tens of such objects for the router even with multiple BGP full-views, as these objects will be shared between routing entries. This allows to store more information in the nexthop. New KPI: struct nhop_object *fib4_lookup(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, uint32_t flowid); struct nhop_object *fib6_lookup(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, uint32_t flowid); These 2 function are intended to replace all all flavours of rtalloc[1]<_ign><_fib>, mpath functions and the previous fib[46]-generation functions. Upon successful lookup, they return nexthop object which is guaranteed to exist within current NET_EPOCH. If longer lifetime is desired, one can specify NHR_REF as a flag and get a referenced version of the nexthop. Reference semantic closely resembles rtentry one, allowing sed-style conversion. Additionally, another 2 functions are introduced to support uRPF functionality inside variety of our firewalls. Their primary goal is to hide the multipath implementation details inside the routing subsystem, greatly simplifying firewalls implementation: int fib4_lookup_urpf(uint32_t fibnum, struct in_addr dst, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if); int fib6_lookup_urpf(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid, uint32_t flags, const struct ifnet *src_if); All functions have a separate scopeid argument, paving way to eliminating IPv6 scope embedding and allowing to support IPv4 link-locals in the future. Structure changes: * rtentry gets new 'rt_nhop' pointer, slightly growing the overall size. * rib_head gets new 'rnh_preadd' callback pointer, slightly growing overall sz. Old KPI: During the transition state old and new KPI will coexists. As there are another 4-5 decent-sized conversion patches, it will probably take a couple of weeks. To support both KPIs, fields not required by the new KPI (most of rtentry) has to be kept, resulting in the temporary size increase. Once conversion is finished, rtentry will notably shrink. More details: * architectural overview: https://reviews.freebsd.org/D24141 * list of the next changes: https://reviews.freebsd.org/D24232 Reviewed by: ae,glebius(initial version) Differential Revision: https://reviews.freebsd.org/D24232 Added: head/sys/net/route/ head/sys/net/route/nhop.c (contents, props changed) head/sys/net/route/nhop.h (contents, props changed) head/sys/net/route/nhop_ctl.c (contents, props changed) head/sys/net/route/nhop_utils.c (contents, props changed) head/sys/net/route/nhop_utils.h (contents, props changed) head/sys/net/route/nhop_var.h (contents, props changed) head/sys/net/route/route_ctl.c (contents, props changed) head/sys/net/route/route_helpers.c (contents, props changed) head/sys/net/route/shared.h (contents, props changed) head/usr.bin/netstat/common.c (contents, props changed) head/usr.bin/netstat/common.h (contents, props changed) head/usr.bin/netstat/nhops.c (contents, props changed) Modified: head/etc/mtree/BSD.include.dist head/include/Makefile head/lib/libc/gen/sysctl.3 head/sys/conf/files head/sys/net/radix_mpath.c head/sys/net/radix_mpath.h head/sys/net/route.c head/sys/net/route.h head/sys/net/route_var.h head/sys/net/rtsock.c head/sys/netinet/in_fib.c head/sys/netinet/in_fib.h head/sys/netinet/in_rmx.c head/sys/netinet6/in6_fib.c head/sys/netinet6/in6_fib.h head/sys/netinet6/in6_rmx.c head/sys/sys/socket.h head/usr.bin/netstat/Makefile head/usr.bin/netstat/main.c head/usr.bin/netstat/netstat.h head/usr.bin/netstat/route.c Modified: head/etc/mtree/BSD.include.dist ============================================================================== --- head/etc/mtree/BSD.include.dist Sun Apr 12 09:31:36 2020 (r359822) +++ head/etc/mtree/BSD.include.dist Sun Apr 12 14:30:00 2020 (r359823) @@ -208,6 +208,8 @@ net altq .. + route + .. .. net80211 .. Modified: head/include/Makefile ============================================================================== --- head/include/Makefile Sun Apr 12 09:31:36 2020 (r359822) +++ head/include/Makefile Sun Apr 12 14:30:00 2020 (r359823) @@ -53,6 +53,7 @@ LSUBDIRS= cam/ata cam/mmc cam/nvme cam/scsi \ geom/mirror geom/mountver geom/multipath geom/nop \ geom/raid geom/raid3 geom/shsec geom/stripe geom/virstor \ net/altq \ + net/route \ netgraph/atm netgraph/netflow \ netinet/cc \ netinet/netdump \ Modified: head/lib/libc/gen/sysctl.3 ============================================================================== --- head/lib/libc/gen/sysctl.3 Sun Apr 12 09:31:36 2020 (r359822) +++ head/lib/libc/gen/sysctl.3 Sun Apr 12 14:30:00 2020 (r359823) @@ -563,6 +563,7 @@ The fifth, sixth, and seventh level names are as follo .It Dv NET_RT_IFLIST Ta 0 or if_index Ta None .It Dv NET_RT_IFMALIST Ta 0 or if_index Ta None .It Dv NET_RT_IFLISTL Ta 0 or if_index Ta None +.It Dv NET_RT_NHOPS Ta None Ta fib number .El .Pp The @@ -583,6 +584,9 @@ uses 'l' versions of the message header structures: .Va struct if_msghdrl and .Va struct ifa_msghdrl . +.Pp +.Dv NET_RT_NHOPS +returns all nexthops for specified address family in given fib. .It Li PF_INET Get or set various global information about the IPv4 (Internet Protocol version 4). Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Sun Apr 12 09:31:36 2020 (r359822) +++ head/sys/conf/files Sun Apr 12 14:30:00 2020 (r359823) @@ -4091,6 +4091,11 @@ net/raw_cb.c standard net/raw_usrreq.c standard net/route.c standard net/route_temporal.c standard +net/route/nhop.c standard +net/route/nhop_ctl.c standard +net/route/nhop_utils.c standard +net/route/route_ctl.c standard +net/route/route_helpers.c standard net/rss_config.c optional inet rss | inet6 rss net/rtsock.c standard net/slcompress.c optional netgraph_vjc | sppp | \ Modified: head/sys/net/radix_mpath.c ============================================================================== --- head/sys/net/radix_mpath.c Sun Apr 12 09:31:36 2020 (r359822) +++ head/sys/net/radix_mpath.c Sun Apr 12 14:30:00 2020 (r359823) @@ -211,7 +211,7 @@ rt_mpath_conflict(struct rib_head *rnh, struct rtentry return (0); } -static struct rtentry * +struct rtentry * rt_mpath_selectrte(struct rtentry *rte, uint32_t hash) { struct radix_node *rn0, *rn; Modified: head/sys/net/radix_mpath.h ============================================================================== --- head/sys/net/radix_mpath.h Sun Apr 12 09:31:36 2020 (r359822) +++ head/sys/net/radix_mpath.h Sun Apr 12 14:30:00 2020 (r359823) @@ -56,9 +56,26 @@ int rt_mpath_conflict(struct rib_head *, struct rtentr struct sockaddr *); void rtalloc_mpath_fib(struct route *, u_int32_t, u_int); struct rtentry *rt_mpath_select(struct rtentry *, uint32_t); +struct rtentry *rt_mpath_selectrte(struct rtentry *, uint32_t); int rt_mpath_deldup(struct rtentry *, struct rtentry *); int rn4_mpath_inithead(void **, int, u_int); int rn6_mpath_inithead(void **, int, u_int); + +static inline struct rtentry * +rt_mpath_next(struct rtentry *rt) +{ + struct radix_node *next, *rn; + + rn = (struct radix_node *)rt; + + if (!rn->rn_dupedkey) + return (NULL); + next = rn->rn_dupedkey; + if (rn->rn_mask == next->rn_mask) + return (struct rtentry *)next; + else + return (NULL); +} #endif Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Sun Apr 12 09:31:36 2020 (r359822) +++ head/sys/net/route.c Sun Apr 12 14:30:00 2020 (r359823) @@ -62,6 +62,8 @@ #include #include #include +#include +#include #include #ifdef RADIX_MPATH @@ -108,10 +110,7 @@ VNET_DEFINE(u_int, rt_add_addr_allfibs) = 1; SYSCTL_UINT(_net, OID_AUTO, add_addr_allfibs, CTLFLAG_RWTUN | CTLFLAG_VNET, &VNET_NAME(rt_add_addr_allfibs), 0, ""); -VNET_PCPUSTAT_DEFINE_STATIC(struct rtstat, rtstat); -#define RTSTAT_ADD(name, val) \ - VNET_PCPUSTAT_ADD(struct rtstat, rtstat, name, (val)) -#define RTSTAT_INC(name) RTSTAT_ADD(name, 1) +VNET_PCPUSTAT_DEFINE(struct rtstat, rtstat); VNET_PCPUSTAT_SYSINIT(rtstat); #ifdef VIMAGE @@ -240,6 +239,7 @@ route_init(void) rt_numfibs = RT_MAXFIBS; if (rt_numfibs == 0) rt_numfibs = 1; + nhops_init(); } SYSINIT(route_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_THIRD, route_init, NULL); @@ -377,6 +377,8 @@ rt_table_init(int offset, int family, u_int fibnum) /* Init locks */ RIB_LOCK_INIT(rh); + nhops_init_rib(rh); + /* Finally, set base callbacks */ rh->rnh_addaddr = rn_addroute; rh->rnh_deladdr = rn_delete; @@ -408,6 +410,8 @@ rt_table_destroy(struct rib_head *rh) rn_walktree(&rh->rmhead.head, rt_freeentry, &rh->rmhead.head); + nhops_destroy_rib(rh); + /* Assume table is already empty */ RIB_LOCK_DESTROY(rh); free(rh, M_RTABLE); @@ -586,6 +590,9 @@ rtfree(struct rtentry *rt) */ R_Free(rt_key(rt)); + /* Unreference nexthop */ + nhop_free(rt->rt_nhop); + /* * and the rtentry itself of course */ @@ -1400,6 +1407,7 @@ rt_updatemtu(struct ifnet *ifp) RIB_WLOCK(rnh); rnh->rnh_walktree(&rnh->head, if_updatemtu_cb, &ifmtu); RIB_WUNLOCK(rnh); + nhops_update_ifmtu(rnh, ifp, ifmtu.mtu); } } } @@ -1544,6 +1552,7 @@ int rtrequest1_fib(int req, struct rt_addrinfo *info, struct rtentry **ret_nrt, u_int fibnum) { + struct epoch_tracker et; const struct sockaddr *dst; struct rib_head *rnh; int error; @@ -1592,9 +1601,11 @@ rtrequest1_fib(int req, struct rt_addrinfo *info, stru error = add_route(rnh, info, ret_nrt); break; case RTM_CHANGE: + NET_EPOCH_ENTER(et); RIB_WLOCK(rnh); error = change_route(rnh, info, ret_nrt); RIB_WUNLOCK(rnh); + NET_EPOCH_EXIT(et); break; default: error = EOPNOTSUPP; @@ -1609,9 +1620,11 @@ add_route(struct rib_head *rnh, struct rt_addrinfo *in { struct sockaddr *dst, *ndst, *gateway, *netmask; struct rtentry *rt, *rt_old; + struct nhop_object *nh; struct radix_node *rn; struct ifaddr *ifa; int error, flags; + struct epoch_tracker et; dst = info->rti_info[RTAX_DST]; gateway = info->rti_info[RTAX_GATEWAY]; @@ -1631,18 +1644,30 @@ add_route(struct rib_head *rnh, struct rt_addrinfo *in } else { ifa_ref(info->rti_ifa); } + + NET_EPOCH_ENTER(et); + error = nhop_create_from_info(rnh, info, &nh); + NET_EPOCH_EXIT(et); + if (error != 0) { + ifa_free(info->rti_ifa); + return (error); + } + rt = uma_zalloc(V_rtzone, M_NOWAIT); if (rt == NULL) { ifa_free(info->rti_ifa); + nhop_free(nh); return (ENOBUFS); } rt->rt_flags = RTF_UP | flags; rt->rt_fibnum = rnh->rib_fibnum; + rt->rt_nhop = nh; /* * Add the gateway. Possibly re-malloc-ing the storage for it. */ if ((error = rt_setgate(rt, dst, gateway)) != 0) { ifa_free(info->rti_ifa); + nhop_free(nh); uma_zfree(V_rtzone, rt); return (error); } @@ -1682,6 +1707,7 @@ add_route(struct rib_head *rnh, struct rt_addrinfo *in ifa_free(rt->rt_ifa); R_Free(rt_key(rt)); + nhop_free(nh); uma_zfree(V_rtzone, rt); return (EEXIST); } @@ -1723,6 +1749,7 @@ add_route(struct rib_head *rnh, struct rt_addrinfo *in if (rn == NULL) { ifa_free(rt->rt_ifa); R_Free(rt_key(rt)); + nhop_free(nh); uma_zfree(V_rtzone, rt); return (EEXIST); } @@ -1802,6 +1829,7 @@ change_route(struct rib_head *rnh, struct rt_addrinfo int error = 0; int free_ifa = 0; int family, mtu; + struct nhop_object *nh; struct if_mtuinfo ifmtu; RIB_WLOCK_ASSERT(rnh); @@ -1824,6 +1852,7 @@ change_route(struct rib_head *rnh, struct rt_addrinfo } #endif + nh = NULL; RT_LOCK(rt); rt_setmetrics(info, rt); @@ -1852,6 +1881,10 @@ change_route(struct rib_head *rnh, struct rt_addrinfo goto bad; } + error = nhop_create_from_nhop(rnh, rt->rt_nhop, info, &nh); + if (error != 0) + goto bad; + /* Check if outgoing interface has changed */ if (info->rti_ifa != NULL && info->rti_ifa != rt->rt_ifa && rt->rt_ifa != NULL) { @@ -1897,6 +1930,11 @@ change_route(struct rib_head *rnh, struct rt_addrinfo } } + /* Update nexthop */ + nhop_free(rt->rt_nhop); + rt->rt_nhop = nh; + nh = NULL; + /* * This route change may have modified the route's gateway. In that * case, any inpcbs that have cached this route need to invalidate their @@ -1910,6 +1948,8 @@ change_route(struct rib_head *rnh, struct rt_addrinfo } bad: RT_UNLOCK(rt); + if (nh != NULL) + nhop_free(nh); if (free_ifa != 0) { ifa_free(info->rti_ifa); info->rti_ifa = NULL; Modified: head/sys/net/route.h ============================================================================== --- head/sys/net/route.h Sun Apr 12 09:31:36 2020 (r359822) +++ head/sys/net/route.h Sun Apr 12 14:30:00 2020 (r359823) @@ -90,7 +90,8 @@ struct rt_metrics { u_long rmx_rttvar; /* estimated rtt variance */ u_long rmx_pksent; /* packets sent using this route */ u_long rmx_weight; /* route weight */ - u_long rmx_filler[3]; /* will be used for T/TCP later */ + u_long rmx_nhidx; /* route nexhop index */ + u_long rmx_filler[2]; /* will be used for T/TCP later */ }; /* @@ -150,6 +151,7 @@ struct rtentry { struct sockaddr *rt_gateway; /* value */ struct ifnet *rt_ifp; /* the answer: interface to use */ struct ifaddr *rt_ifa; /* the answer: interface address to use */ + struct nhop_object *rt_nhop; /* nexthop data */ int rt_flags; /* up/down?, host/net */ int rt_refcnt; /* # held references */ u_int rt_fibnum; /* which FIB */ @@ -215,9 +217,13 @@ struct rtentry { #define NHF_HOST 0x0400 /* RTF_HOST */ /* Nexthop request flags */ +#define NHR_NONE 0x00 /* empty flags field */ #define NHR_IFAIF 0x01 /* Return ifa_ifp interface */ #define NHR_REF 0x02 /* For future use */ +/* uRPF */ +#define NHR_NODEFAULT 0x04 /* do not consider default route */ + /* Control plane route request flags */ #define NHR_COPY 0x100 /* Copy rte data */ @@ -245,6 +251,8 @@ struct rtstat { uint64_t rts_newgateway; /* routes modified by redirects */ uint64_t rts_unreach; /* lookups which failed */ uint64_t rts_wildcard; /* lookups satisfied by a wildcard */ + uint64_t rts_nh_idx_alloc_failure; /* nexthop index alloc failure*/ + uint64_t rts_nh_alloc_failure; /* nexthop allocation failure*/ }; /* @@ -507,6 +515,8 @@ int rib_add_redirect(u_int fibnum, struct sockaddr *ds struct sockaddr *gateway, struct sockaddr *author, struct ifnet *ifp, int flags, int expire_sec); +/* New API */ +void rib_walk(int af, u_int fibnum, rt_walktree_f_t *wa_f, void *arg); #endif #endif Added: head/sys/net/route/nhop.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/net/route/nhop.c Sun Apr 12 14:30:00 2020 (r359823) @@ -0,0 +1,388 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Alexander V. Chernikov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); +#include "opt_inet.h" +#include "opt_route.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * This file contains data structures management logic for the nexthop ("nhop") + * route subsystem. + * + * Nexthops in the original sense are the objects containing all the necessary + * information to forward the packet to the selected destination. + * In particular, nexthop is defined by a combination of + * ifp, ifa, aifp, mtu, gw addr(if set), nh_type, nh_family, mask of rt_flags and + * NHF_DEFAULT + * + * All nexthops are stored in the resizable hash table. + * Additionally, each nexthop gets assigned its unique index (nexthop index) + * so userland programs can interact with the nexthops easier. Index allocation + * is backed by the bitmask array. + */ + +static MALLOC_DEFINE(M_NHOP, "nhops", "nexthops data"); + + +/* Hash management functions */ + +int +nhops_init_rib(struct rib_head *rh) +{ + struct nh_control *ctl; + size_t alloc_size; + uint32_t num_buckets, num_items; + void *ptr; + + ctl = malloc(sizeof(struct nh_control), M_NHOP, M_WAITOK | M_ZERO); + + /* + * Allocate nexthop hash. Start with 16 items by default (128 bytes). + * This will be enough for most of the cases. + */ + num_buckets = 16; + alloc_size = CHT_SLIST_GET_RESIZE_SIZE(num_buckets); + ptr = malloc(alloc_size, M_NHOP, M_WAITOK | M_ZERO); + CHT_SLIST_INIT(&ctl->nh_head, ptr, num_buckets); + + /* + * Allocate nexthop index bitmask. + */ + num_items = 128 * 8; /* 128 bytes */ + ptr = malloc(bitmask_get_size(num_items), M_NHOP, M_WAITOK | M_ZERO); + bitmask_init(&ctl->nh_idx_head, ptr, num_items); + + NHOPS_LOCK_INIT(ctl); + + rh->nh_control = ctl; + ctl->ctl_rh = rh; + + DPRINTF("NHOPS init for fib %u af %u: ctl %p rh %p", rh->rib_fibnum, + rh->rib_family, ctl, rh); + + return (0); +} + +static void +destroy_ctl(struct nh_control *ctl) +{ + + NHOPS_LOCK_DESTROY(ctl); + free(ctl->nh_head.ptr, M_NHOP); + free(ctl->nh_idx_head.idx, M_NHOP); + free(ctl, M_NHOP); +} + +/* + * Epoch callback indicating ctl is safe to destroy + */ +static void +destroy_ctl_epoch(epoch_context_t ctx) +{ + struct nh_control *ctl; + + ctl = __containerof(ctx, struct nh_control, ctl_epoch_ctx); + + destroy_ctl(ctl); +} + +void +nhops_destroy_rib(struct rib_head *rh) +{ + struct nh_control *ctl; + struct nhop_priv *nh_priv; + + ctl = rh->nh_control; + + /* + * All routes should have been deleted in rt_table_destroy(). + * However, TCP stack or other consumers may store referenced + * nexthop pointers. When these references go to zero, + * nhop_free() will try to unlink these records from the + * datastructures, most likely leading to panic. + * + * Avoid that by explicitly marking all of the remaining + * nexthops as unlinked by removing a reference from a special + * counter. Please see nhop_free() comments for more + * details. + */ + + NHOPS_WLOCK(ctl); + CHT_SLIST_FOREACH(&ctl->nh_head, nhops, nh_priv) { + DPRINTF("Marking nhop %u unlinked", nh_priv->nh_idx); + refcount_release(&nh_priv->nh_linked); + } CHT_SLIST_FOREACH_END; + NHOPS_WUNLOCK(ctl); + + /* + * Postpone destruction till the end of current epoch + * so nhop_free() can safely use nh_control pointer. + */ + epoch_call(net_epoch_preempt, destroy_ctl_epoch, + &ctl->ctl_epoch_ctx); +} + +/* + * Nexhop hash calculation: + * + * Nexthops distribution: + * 2 "mandatory" nexthops per interface ("interface route", "loopback"). + * For direct peering: 1 nexthop for the peering router per ifp/af. + * For Ix-like peering: tens to hundreds nexthops of neghbors per ifp/af. + * IGP control plane & broadcast segment: tens of nexthops per ifp/af. + * + * Each fib/af combination has its own hash table. + * With that in mind, hash nexthops by the combination of the interface + * and GW IP address. + * + * To optimize hash calculation, ignore higher bytes of ifindex, as they + * give very little entropy. + * Similarly, use lower 4 bytes of IPv6 address to distinguish between the + * neighbors. + */ +struct _hash_data { + uint16_t ifindex; + uint8_t family; + uint8_t nh_type; + uint32_t gw_addr; +}; + +static unsigned +djb_hash(const unsigned char *h, const int len) +{ + unsigned int result = 0; + int i; + + for (i = 0; i < len; i++) + result = 33 * result ^ h[i]; + + return (result); +} + +static uint32_t +hash_priv(const struct nhop_priv *priv) +{ + struct nhop_object *nh; + uint16_t ifindex; + struct _hash_data key; + + nh = priv->nh; + ifindex = nh->nh_ifp->if_index & 0xFFFF; + memset(&key, 0, sizeof(key)); + + key.ifindex = ifindex; + key.family = nh->gw_sa.sa_family; + key.nh_type = priv->nh_type & 0xFF; + if (nh->gw_sa.sa_family == AF_INET6) + memcpy(&key.gw_addr, &nh->gw6_sa.sin6_addr.s6_addr32[3], 4); + else if (nh->gw_sa.sa_family == AF_INET) + memcpy(&key.gw_addr, &nh->gw4_sa.sin_addr, 4); + + return (uint32_t)(djb_hash((const unsigned char *)&key, sizeof(key))); +} + +/* + * Checks if hash needs resizing and performs this resize if necessary + * + */ +static void +consider_resize(struct nh_control *ctl, uint32_t new_nh_buckets, uint32_t new_idx_items) +{ + void *nh_ptr, *nh_idx_ptr; + void *old_idx_ptr; + size_t alloc_size; + + nh_ptr = NULL; + if (new_nh_buckets != 0) { + alloc_size = CHT_SLIST_GET_RESIZE_SIZE(new_nh_buckets); + nh_ptr = malloc(alloc_size, M_NHOP, M_NOWAIT | M_ZERO); + } + + nh_idx_ptr = NULL; + if (new_idx_items != 0) { + alloc_size = bitmask_get_size(new_idx_items); + nh_idx_ptr = malloc(alloc_size, M_NHOP, M_NOWAIT | M_ZERO); + } + + if (nh_ptr == NULL && nh_idx_ptr == NULL) { + /* Either resize is not required or allocations have failed. */ + return; + } + + DPRINTF("going to resize: nh:[ptr:%p sz:%u] idx:[ptr:%p sz:%u]", nh_ptr, + new_nh_buckets, nh_idx_ptr, new_idx_items); + + old_idx_ptr = NULL; + + NHOPS_WLOCK(ctl); + if (nh_ptr != NULL) { + CHT_SLIST_RESIZE(&ctl->nh_head, nhops, nh_ptr, new_nh_buckets); + } + if (nh_idx_ptr != NULL) { + if (bitmask_copy(&ctl->nh_idx_head, nh_idx_ptr, new_idx_items) == 0) + bitmask_swap(&ctl->nh_idx_head, nh_idx_ptr, new_idx_items, &old_idx_ptr); + } + NHOPS_WUNLOCK(ctl); + + if (nh_ptr != NULL) + free(nh_ptr, M_NHOP); + if (old_idx_ptr != NULL) + free(old_idx_ptr, M_NHOP); +} + +/* + * Links nextop @nh_priv to the nexhop hash table and allocates + * nexhop index. + * Returns allocated index or 0 on failure. + */ +int +link_nhop(struct nh_control *ctl, struct nhop_priv *nh_priv) +{ + uint16_t idx; + uint32_t num_buckets_new, num_items_new; + + KASSERT((nh_priv->nh_idx == 0), ("nhop index is already allocated")); + NHOPS_WLOCK(ctl); + + /* + * Check if we need to resize hash and index. + * The following 2 functions returns either new size or 0 + * if resize is not required. + */ + num_buckets_new = CHT_SLIST_GET_RESIZE_BUCKETS(&ctl->nh_head); + num_items_new = bitmask_get_resize_items(&ctl->nh_idx_head); + + if (bitmask_alloc_idx(&ctl->nh_idx_head, &idx) != 0) { + NHOPS_WUNLOCK(ctl); + DPRINTF("Unable to allocate nhop index"); + RTSTAT_INC(rts_nh_idx_alloc_failure); + consider_resize(ctl, num_buckets_new, num_items_new); + return (0); + } + + nh_priv->nh_idx = idx; + nh_priv->nh_control = ctl; + + CHT_SLIST_INSERT_HEAD(&ctl->nh_head, nhops, nh_priv); + + NHOPS_WUNLOCK(ctl); + + DPRINTF("Linked nhop priv %p to %d, hash %u, ctl %p", nh_priv, idx, + hash_priv(nh_priv), ctl); + consider_resize(ctl, num_buckets_new, num_items_new); + + return (idx); +} + +/* + * Unlinks nexthop specified by @nh_priv data from the hash. + * + * Returns found nexthop or NULL. + */ +struct nhop_priv * +unlink_nhop(struct nh_control *ctl, struct nhop_priv *nh_priv_del) +{ + struct nhop_priv *priv_ret; + int idx; + uint32_t num_buckets_new, num_items_new; + + idx = 0; + + NHOPS_WLOCK(ctl); + CHT_SLIST_REMOVE_BYOBJ(&ctl->nh_head, nhops, nh_priv_del, priv_ret); + + if (priv_ret != NULL) { + idx = priv_ret->nh_idx; + priv_ret->nh_idx = 0; + + KASSERT((idx != 0), ("bogus nhop index 0")); + if ((bitmask_free_idx(&ctl->nh_idx_head, idx)) != 0) { + DPRINTF("Unable to remove index %d from fib %u af %d", + idx, ctl->ctl_rh->rib_fibnum, + ctl->ctl_rh->rib_family); + } + } + + /* Check if hash or index needs to be resized */ + num_buckets_new = CHT_SLIST_GET_RESIZE_BUCKETS(&ctl->nh_head); + num_items_new = bitmask_get_resize_items(&ctl->nh_idx_head); + + NHOPS_WUNLOCK(ctl); + + if (priv_ret == NULL) + DPRINTF("Unable to unlink nhop priv %p from hash, hash %u ctl %p", + nh_priv_del, hash_priv(nh_priv_del), ctl); + else + DPRINTF("Unlinked nhop %p priv idx %d", priv_ret, idx); + + consider_resize(ctl, num_buckets_new, num_items_new); + + return (priv_ret); +} + +/* + * Searches for the nexthop by data specifcied in @nh_priv. + * Returns referenced nexthop or NULL. + */ +struct nhop_priv * +find_nhop(struct nh_control *ctl, const struct nhop_priv *nh_priv) +{ + struct nhop_priv *nh_priv_ret; + + NHOPS_RLOCK(ctl); + CHT_SLIST_FIND_BYOBJ(&ctl->nh_head, nhops, nh_priv, nh_priv_ret); + if (nh_priv_ret != NULL) { + if (refcount_acquire_if_not_zero(&nh_priv_ret->nh_refcnt) == 0){ + /* refcount was 0 -> nhop is being deleted */ + nh_priv_ret = NULL; + } + } + NHOPS_RUNLOCK(ctl); + + return (nh_priv_ret); +} + Added: head/sys/net/route/nhop.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/net/route/nhop.h Sun Apr 12 14:30:00 2020 (r359823) @@ -0,0 +1,229 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Alexander V. Chernikov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +/* + * This header file contains public definitions for the nexthop routing subsystem. + */ + +#ifndef _NET_ROUTE_NHOP_H_ +#define _NET_ROUTE_NHOP_H_ + +#include /* sockaddr_in && sockaddr_in6 */ + +#include + +enum nhop_type { + NH_TYPE_IPV4_ETHER_RSLV = 1, /* IPv4 ethernet without GW */ + NH_TYPE_IPV4_ETHER_NHOP = 2, /* IPv4 with pre-calculated ethernet encap */ + NH_TYPE_IPV6_ETHER_RSLV = 3, /* IPv6 ethernet, without GW */ + NH_TYPE_IPV6_ETHER_NHOP = 4 /* IPv6 with pre-calculated ethernet encap*/ +}; + +#ifdef _KERNEL + +/* + * Define shorter version of AF_LINK sockaddr. + * + * Currently the only use case of AF_LINK gateway is storing + * interface index of the interface of the source IPv6 address. + * This is used by the IPv6 code for the connections over loopback + * interface. + * + * The structure below copies 'struct sockaddr_dl', reducing the + * size of sdl_data buffer, as it is not used. This change + * allows to store the AF_LINK gateways in the nhop gateway itself, + * simplifying control plane handling. + */ +struct sockaddr_dl_short { + u_char sdl_len; /* Total length of sockaddr */ + u_char sdl_family; /* AF_LINK */ + u_short sdl_index; /* if != 0, system given index for interface */ + u_char sdl_type; /* interface type */ + u_char sdl_nlen; /* interface name length, no trailing 0 reqd. */ + u_char sdl_alen; /* link level address length */ + u_char sdl_slen; /* link layer selector length */ + char sdl_data[8]; /* unused */ +}; + +#define NHOP_RELATED_FLAGS \ + (RTF_GATEWAY | RTF_HOST | RTF_REJECT | RTF_BLACKHOLE | \ + RTF_FIXEDMTU | RTF_LOCAL | RTF_BROADCAST | RTF_MULTICAST) + +struct nh_control; +struct nhop_priv; + +/* + * Struct 'nhop_object' field description: + * + * nh_flags: NHF_ flags used in the dataplane code. NHF_GATEWAY or NHF_BLACKHOLE + * can be examples of such flags. + * nh_mtu: ready-to-use nexthop mtu. Already accounts for the link-level header, + * interface MTU and protocol-specific limitations. + * nh_prepend_len: link-level prepend length. Currently unused. + * nh_ifp: logical transmit interface. The one from which if_transmit() will be + * called. Guaranteed to be non-NULL. + * nh_aifp: ifnet of the source address. Same as nh_ifp except IPv6 loopback + * routes. See the example below. + * nh_ifa: interface address to use. Guaranteed to be non-NULL. + * nh_pksent: counter(9) reflecting the number of packets transmitted. + * + * gw_: storage suitable to hold AF_INET, AF_INET6 or AF_LINK gateway. More + * details ara available in the examples below. + * + * Examples: + * + * Direct routes (routes w/o gateway): + * NHF_GATEWAY is NOT set. + * nh_ifp denotes the logical transmit interface (). + * nh_aifp is the same as nh_ifp + * gw_sa contains AF_LINK sa with nh_aifp ifindex (compat) + * Loopback routes: + * NHF_GATEWAY is NOT set. + * nh_ifp points to the loopback interface (lo0). + * nh_aifp points to the interface where the destination address belongs to. + * This is useful in IPv6 link-local-over-loopback communications. + * gw_sa contains AF_LINK sa with nh_aifp ifindex (compat) + * GW routes: + * NHF_GATEWAY is set. + * nh_ifp denotes the logical transmit interface. + * nh_aifp is the same as nh_ifp + * gw_sa contains L3 address (either AF_INET or AF_INET6). + * + * + * Note: struct nhop_object fields are ordered in a way that + * supports memcmp-based comparisons. + * + */ +#define NHOP_END_CMP (__offsetof(struct nhop_object, nh_pksent)) + +struct nhop_object { + uint16_t nh_flags; /* nhop flags */ + uint16_t nh_mtu; /* nexthop mtu */ + union { + struct sockaddr_in gw4_sa; /* GW accessor as IPv4 */ + struct sockaddr_in6 gw6_sa; /* GW accessor as IPv6 */ + struct sockaddr gw_sa; + struct sockaddr_dl_short gwl_sa; /* AF_LINK gw (compat) */ + char gw_buf[28]; + }; + struct ifnet *nh_ifp; /* Logical egress interface. Always != NULL */ + struct ifaddr *nh_ifa; /* interface address to use. Always != NULL */ + struct ifnet *nh_aifp; /* ifnet of the source address. Always != NULL */ + counter_u64_t nh_pksent; /* packets sent using this nhop */ + /* 32 bytes + 4xPTR == 64(amd64) / 48(i386) */ + uint8_t nh_prepend_len; /* length of prepend data */ + uint8_t spare[3]; + uint32_t spare1; /* alignment */ + char nh_prepend[48]; /* L2 prepend */ + struct nhop_priv *nh_priv; /* control plane data */ + /* -- 128 bytes -- */ +}; + +/* + * Nhop validness. + * + * Currently we verify whether link is up or not on every packet, which can be + * quite costy. + * TODO: subscribe for the interface notifications and update the nexthops + * with NHF_INVALID flag. + */ + +#define NH_IS_VALID(_nh) RT_LINK_IS_UP((_nh)->nh_ifp) +#define NH_IS_MULTIPATH(_nh) ((_nh)->nh_flags & NHF_MULTIPATH) + +#define RT_GATEWAY(_rt) ((struct sockaddr *)&(_rt)->rt_nhop->gw4_sa) +#define RT_GATEWAY_CONST(_rt) ((const struct sockaddr *)&(_rt)->rt_nhop->gw4_sa) + +#define NH_FREE(_nh) do { \ + nhop_free(_nh); \ + /* guard against invalid refs */ \ + _nh = NULL; \ +} while (0) + + +void nhop_free(struct nhop_object *nh); + +struct sysctl_req; +struct sockaddr_dl; +struct rib_head; + +uint32_t nhop_get_idx(const struct nhop_object *nh); +enum nhop_type nhop_get_type(const struct nhop_object *nh); +int nhop_get_rtflags(const struct nhop_object *nh); + +int nhops_dump_sysctl(struct rib_head *rh, struct sysctl_req *w); + +#endif /* _KERNEL */ + +/* Kernel <> userland structures */ + +/* Structure usage and layout are described in dump_nhop_entry() */ +struct nhop_external { + uint32_t nh_len; /* length of the datastructure */ + uint32_t nh_idx; /* Nexthop index */ + uint32_t nh_fib; /* Fib nexhop is attached to */ + uint32_t ifindex; /* transmit interface ifindex */ + uint32_t aifindex; /* address ifindex */ + uint8_t prepend_len; /* length of the prepend */ + uint8_t nh_family; /* address family */ + uint16_t nh_type; /* nexthop type */ + uint16_t nh_mtu; /* nexthop mtu */ + + uint16_t nh_flags; /* nhop flags */ + struct in_addr nh_addr; /* GW/DST IPv4 address */ + struct in_addr nh_src; /* default source IPv4 address */ + uint64_t nh_pksent; + /* control plane */ + /* lookup key: address, family, type */ + char nh_prepend[64]; /* L2 prepend */ + uint64_t nh_refcount; /* number of references */ +}; + +struct nhop_addrs { + uint32_t na_len; /* length of the datastructure */ + uint16_t gw_sa_off; /* offset of gateway SA */ + uint16_t src_sa_off; /* offset of src address SA */ +}; + +struct mpath_nhop_external { + uint32_t nh_idx; + uint32_t nh_weight; +}; + +struct mpath_external { + uint32_t mp_idx; + uint32_t mp_refcount; + uint32_t mp_nh_count; + uint32_t mp_group_size; +}; + + +#endif + + Added: head/sys/net/route/nhop_ctl.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/net/route/nhop_ctl.c Sun Apr 12 14:30:00 2020 (r359823) @@ -0,0 +1,827 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Alexander V. Chernikov + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); +#include "opt_inet.h" +#include "opt_route.h" + +#include *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Sun Apr 12 15:16:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E4D282C07DD; Sun, 12 Apr 2020 15:16:34 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490b1t5RNhz4FJK; Sun, 12 Apr 2020 15:16:34 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B1A7C388A; Sun, 12 Apr 2020 15:16:34 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CFGYCR043438; Sun, 12 Apr 2020 15:16:34 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CFGYjU043437; Sun, 12 Apr 2020 15:16:34 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004121516.03CFGYjU043437@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 12 Apr 2020 15:16:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359824 - head/usr.bin/netstat X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/usr.bin/netstat X-SVN-Commit-Revision: 359824 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 15:16:35 -0000 Author: melifaro Date: Sun Apr 12 15:16:34 2020 New Revision: 359824 URL: https://svnweb.freebsd.org/changeset/base/359824 Log: Fix string format error missed in r359823. Modified: head/usr.bin/netstat/nhops.c Modified: head/usr.bin/netstat/nhops.c ============================================================================== --- head/usr.bin/netstat/nhops.c Sun Apr 12 14:30:00 2020 (r359823) +++ head/usr.bin/netstat/nhops.c Sun Apr 12 15:16:34 2020 (r359824) @@ -219,7 +219,7 @@ nhop_map_update(struct nhop_map *map, uint32_t idx, ch sz = new_size * (sizeof(struct nhop_entry)); if ((map->ptr = realloc(map->ptr, sz)) == NULL) - errx(2, "realloc(%lu) failed", sz); + errx(2, "realloc(%zu) failed", sz); memset(&map->ptr[map->size], 0, (new_size - map->size) * sizeof(struct nhop_entry)); map->size = new_size; From owner-svn-src-head@freebsd.org Sun Apr 12 16:07:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 22AA32C15D7; Sun, 12 Apr 2020 16:07:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490c846kwZz4Hm0; Sun, 12 Apr 2020 16:07:00 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C88DE430C; Sun, 12 Apr 2020 16:07:00 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CG70v9074429; Sun, 12 Apr 2020 16:07:00 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CG70tj074426; Sun, 12 Apr 2020 16:07:00 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202004121607.03CG70tj074426@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 12 Apr 2020 16:07:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359826 - head/contrib/llvm-project/clang/lib/CodeGen X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/clang/lib/CodeGen X-SVN-Commit-Revision: 359826 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 16:07:01 -0000 Author: dim Date: Sun Apr 12 16:06:59 2020 New Revision: 359826 URL: https://svnweb.freebsd.org/changeset/base/359826 Log: Merge commit 30588a739 from llvm git (by Erich Keane): Make target features check work with ctor and dtor- The problem was reported in PR45468, applying target features to an always_inline constructor/destructor runs afoul of GlobalDecl construction assert when checking for target-feature compatibility. The core problem is fixed by using the version of the check that takes a FunctionDecl rather than the GlobalDecl. However, while writing the test, I discovered that source locations weren't properly set for this check on ctors/dtors. This patch also fixes constructors and CALLED destructors. Unfortunately, it doesn't seem too possible to get a meaningful source location for a 'cleanup' destructor, so those are still 'frontend' level errors unfortunately. A fixme was added to the test to cover that situation. This should fix 'Assertion failed: (!isa(D) && "Use other ctor with ctor decls!"), function Init, file /usr/src/contrib/llvm-project/clang/include/clang/AST/GlobalDecl.h, line 45' when compiling the security/botan2 port. PR: 245550 MFC after: 6 weeks X-MFC-With: 358851 Modified: head/contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp head/contrib/llvm-project/clang/lib/CodeGen/CGExprCXX.cpp head/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp Modified: head/contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp Sun Apr 12 15:30:00 2020 (r359825) +++ head/contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp Sun Apr 12 16:06:59 2020 (r359826) @@ -2157,7 +2157,7 @@ void CodeGenFunction::EmitCXXConstructorCall(const CXX const CGFunctionInfo &Info = CGM.getTypes().arrangeCXXConstructorCall( Args, D, Type, ExtraArgs.Prefix, ExtraArgs.Suffix, PassPrototypeArgs); CGCallee Callee = CGCallee::forDirect(CalleePtr, GlobalDecl(D, Type)); - EmitCall(Info, Callee, ReturnValueSlot(), Args); + EmitCall(Info, Callee, ReturnValueSlot(), Args, nullptr, Loc); // Generate vtable assumptions if we're constructing a complete object // with a vtable. We don't do this for base subobjects for two reasons: Modified: head/contrib/llvm-project/clang/lib/CodeGen/CGExprCXX.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/CodeGen/CGExprCXX.cpp Sun Apr 12 15:30:00 2020 (r359825) +++ head/contrib/llvm-project/clang/lib/CodeGen/CGExprCXX.cpp Sun Apr 12 16:06:59 2020 (r359826) @@ -112,7 +112,8 @@ RValue CodeGenFunction::EmitCXXDestructorCall( commonEmitCXXMemberOrOperatorCall(*this, DtorDecl, This, ImplicitParam, ImplicitParamTy, CE, Args, nullptr); return EmitCall(CGM.getTypes().arrangeCXXStructorDeclaration(Dtor), Callee, - ReturnValueSlot(), Args); + ReturnValueSlot(), Args, nullptr, + CE ? CE->getExprLoc() : SourceLocation{}); } RValue CodeGenFunction::EmitCXXPseudoDestructorExpr( @@ -380,7 +381,7 @@ RValue CodeGenFunction::EmitCXXMemberOrOperatorMemberC IsArrow ? Base->getType()->getPointeeType() : Base->getType(); EmitCXXDestructorCall(GD, Callee, This.getPointer(*this), ThisTy, /*ImplicitParam=*/nullptr, - /*ImplicitParamTy=*/QualType(), nullptr); + /*ImplicitParamTy=*/QualType(), CE); } return RValue::get(nullptr); } Modified: head/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp ============================================================================== --- head/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp Sun Apr 12 15:30:00 2020 (r359825) +++ head/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp Sun Apr 12 16:06:59 2020 (r359826) @@ -2324,8 +2324,7 @@ void CodeGenFunction::checkTargetFeatures(SourceLocati SmallVector ReqFeatures; llvm::StringMap CalleeFeatureMap; - CGM.getContext().getFunctionFeatureMap(CalleeFeatureMap, - GlobalDecl(TargetDecl)); + CGM.getContext().getFunctionFeatureMap(CalleeFeatureMap, TargetDecl); for (const auto &F : ParsedAttr.Features) { if (F[0] == '+' && CalleeFeatureMap.lookup(F.substr(1))) From owner-svn-src-head@freebsd.org Sun Apr 12 16:09:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1F4A12C16E0; Sun, 12 Apr 2020 16:09:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490cBp01clz4HxQ; Sun, 12 Apr 2020 16:09:22 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F026D4316; Sun, 12 Apr 2020 16:09:21 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CG9LXW074597; Sun, 12 Apr 2020 16:09:21 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CG9L5A074596; Sun, 12 Apr 2020 16:09:21 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202004121609.03CG9L5A074596@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sun, 12 Apr 2020 16:09:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359827 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359827 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 16:09:22 -0000 Author: kp Date: Sun Apr 12 16:09:21 2020 New Revision: 359827 URL: https://svnweb.freebsd.org/changeset/base/359827 Log: carp: Widen epoch coverage Fix panics related to calling code which expects to be running inside the NET_EPOCH from outside that epoch. This leads to panics (with INVARIANTS) such as this one: panic: Assertion in_epoch(net_epoch_preempt) failed at /usr/src/sys/netinet/if_ether.c:373 cpuid = 7 time = 1586095719 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0090819700 vpanic() at vpanic+0x182/frame 0xfffffe0090819750 panic() at panic+0x43/frame 0xfffffe00908197b0 arprequest_internal() at arprequest_internal+0x59e/frame 0xfffffe00908198c0 arp_announce_ifaddr() at arp_announce_ifaddr+0x20/frame 0xfffffe00908198e0 carp_master_down_locked() at carp_master_down_locked+0x10d/frame 0xfffffe0090819910 carp_master_down() at carp_master_down+0x79/frame 0xfffffe0090819940 softclock_call_cc() at softclock_call_cc+0x13f/frame 0xfffffe00908199f0 softclock() at softclock+0x7c/frame 0xfffffe0090819a20 ithread_loop() at ithread_loop+0x279/frame 0xfffffe0090819ab0 fork_exit() at fork_exit+0x80/frame 0xfffffe0090819af0 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0090819af0 --- trap 0, rip = 0, rsp = 0, rbp = 0 --- Widen the NET_EPOCH to cover the relevant (callback / task) code. Differential Revision: https://reviews.freebsd.org/D24302 Modified: head/sys/netinet/ip_carp.c Modified: head/sys/netinet/ip_carp.c ============================================================================== --- head/sys/netinet/ip_carp.c Sun Apr 12 16:06:59 2020 (r359826) +++ head/sys/netinet/ip_carp.c Sun Apr 12 16:09:21 2020 (r359827) @@ -817,7 +817,9 @@ static void carp_send_ad_all(void *ctx __unused, int pending __unused) { struct carp_softc *sc; + struct epoch_tracker et; + NET_EPOCH_ENTER(et); mtx_lock(&carp_mtx); LIST_FOREACH(sc, &carp_list, sc_next) if (sc->sc_state == MASTER) { @@ -828,6 +830,7 @@ carp_send_ad_all(void *ctx __unused, int pending __unu CARP_UNLOCK(sc); } mtx_unlock(&carp_mtx); + NET_EPOCH_EXIT(et); } /* Send a periodic advertisement, executed in callout context. */ @@ -835,12 +838,15 @@ static void carp_send_ad(void *v) { struct carp_softc *sc = v; + struct epoch_tracker et; + NET_EPOCH_ENTER(et); CARP_LOCK_ASSERT(sc); CURVNET_SET(sc->sc_carpdev->if_vnet); carp_send_ad_locked(sc); CURVNET_RESTORE(); CARP_UNLOCK(sc); + NET_EPOCH_EXIT(et); } static void @@ -907,12 +913,12 @@ carp_send_ad_locked(struct carp_softc *sc) { struct carp_header ch; struct timeval tv; - struct epoch_tracker et; struct ifaddr *ifa; struct carp_header *ch_ptr; struct mbuf *m; int len, advskew; + NET_EPOCH_ASSERT(); CARP_LOCK_ASSERT(sc); advskew = DEMOTE_ADVSKEW(sc); @@ -976,10 +982,8 @@ carp_send_ad_locked(struct carp_softc *sc) CARPSTATS_INC(carps_opackets); - NET_EPOCH_ENTER(et); carp_send_ad_error(sc, ip_output(m, NULL, NULL, IP_RAWOUTPUT, &sc->sc_carpdev->if_carp->cif_imo, NULL)); - NET_EPOCH_EXIT(et); } #endif /* INET */ #ifdef INET6 @@ -1037,10 +1041,8 @@ carp_send_ad_locked(struct carp_softc *sc) CARPSTATS_INC(carps_opackets6); - NET_EPOCH_ENTER(et); carp_send_ad_error(sc, ip6_output(m, NULL, NULL, 0, &sc->sc_carpdev->if_carp->cif_im6o, NULL, NULL)); - NET_EPOCH_EXIT(et); } #endif /* INET6 */ @@ -1130,6 +1132,8 @@ carp_send_arp(struct carp_softc *sc) struct ifaddr *ifa; struct in_addr addr; + NET_EPOCH_ASSERT(); + CARP_FOREACH_IFA(sc, ifa) { if (ifa->ifa_addr->sa_family != AF_INET) continue; @@ -1258,7 +1262,9 @@ static void carp_master_down(void *v) { struct carp_softc *sc = v; + struct epoch_tracker et; + NET_EPOCH_ENTER(et); CARP_LOCK_ASSERT(sc); CURVNET_SET(sc->sc_carpdev->if_vnet); @@ -1268,12 +1274,14 @@ carp_master_down(void *v) CURVNET_RESTORE(); CARP_UNLOCK(sc); + NET_EPOCH_EXIT(et); } static void carp_master_down_locked(struct carp_softc *sc, const char *reason) { + NET_EPOCH_ASSERT(); CARP_LOCK_ASSERT(sc); switch (sc->sc_state) { From owner-svn-src-head@freebsd.org Sun Apr 12 16:13:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AF1AF2C1AB1; Sun, 12 Apr 2020 16:13:06 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490cH63yrqz4Jmr; Sun, 12 Apr 2020 16:13:06 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 834864534; Sun, 12 Apr 2020 16:13:06 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CGD6Gk080638; Sun, 12 Apr 2020 16:13:06 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CGD6r0080637; Sun, 12 Apr 2020 16:13:06 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202004121613.03CGD6r0080637@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sun, 12 Apr 2020 16:13:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359828 - head/tests/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/tests/sys/netinet X-SVN-Commit-Revision: 359828 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 16:13:06 -0000 Author: kp Date: Sun Apr 12 16:13:05 2020 New Revision: 359828 URL: https://svnweb.freebsd.org/changeset/base/359828 Log: carp tests: Basic functionality test Set up three vnet jails, bridged together. Run carp between two of them. Attempt to provoke locking / epoch issues. Reviewed by: mav (previous version), melifaro, asomers Differential Revision: https://reviews.freebsd.org/D24303 Added: head/tests/sys/netinet/carp.sh (contents, props changed) Modified: head/tests/sys/netinet/Makefile Modified: head/tests/sys/netinet/Makefile ============================================================================== --- head/tests/sys/netinet/Makefile Sun Apr 12 16:09:21 2020 (r359827) +++ head/tests/sys/netinet/Makefile Sun Apr 12 16:13:05 2020 (r359828) @@ -9,7 +9,7 @@ ATF_TESTS_C= ip_reass_test \ so_reuseport_lb_test \ socket_afinet -ATF_TESTS_SH= fibs_test redirect divert forward output +ATF_TESTS_SH= carp fibs_test redirect divert forward output PROGS= udp_dontroute tcp_user_cookie Added: head/tests/sys/netinet/carp.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tests/sys/netinet/carp.sh Sun Apr 12 16:13:05 2020 (r359828) @@ -0,0 +1,152 @@ +# $FreeBSD$ +# +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright (c) 2020 Kristof Provost +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +. $(atf_get_srcdir)/../common/vnet.subr + +is_master() +{ + jail=$1 + itf=$2 + + jexec ${jail} ifconfig ${itf} | grep carp | grep MASTER +} + +wait_for_carp() +{ + jail1=$1 + itf1=$2 + jail2=$3 + itf2=$4 + + while [ -z "$(is_master ${jail1} ${itf1})" ] && + [ -z "$(is_master ${jail2} ${itf2})" ]; do + sleep 1 + done +} + +atf_test_case "basic_v4" "cleanup" +basic_v4_head() +{ + atf_set descr 'Basic CARP test (IPv4)' + atf_set require.user root +} + +basic_v4_body() +{ + if ! kldstat -q -m carp; then + atf_skip "This test requires carp" + fi + + vnet_init + bridge=$(vnet_mkbridge) + epair_one=$(vnet_mkepair) + epair_two=$(vnet_mkepair) + + vnet_mkjail carp_basic_v4_one ${bridge} ${epair_one}a ${epair_two}a + vnet_mkjail carp_basic_v4_two ${epair_one}b + vnet_mkjail carp_basic_v4_three ${epair_two}b + + jexec carp_basic_v4_one ifconfig ${bridge} 192.0.2.4/29 up + jexec carp_basic_v4_one ifconfig ${bridge} addm ${epair_one}a \ + addm ${epair_two}a + jexec carp_basic_v4_one ifconfig ${epair_one}a up + jexec carp_basic_v4_one ifconfig ${epair_two}a up + + jexec carp_basic_v4_two ifconfig ${epair_one}b 192.0.2.202/29 up + jexec carp_basic_v4_two ifconfig ${epair_one}b add vhid 1 192.0.2.1/29 + + jexec carp_basic_v4_three ifconfig ${epair_two}b 192.0.2.203/29 up + jexec carp_basic_v4_three ifconfig ${epair_two}b add vhid 1 \ + 192.0.2.1/29 + + wait_for_carp carp_basic_v4_two ${epair_one}b \ + carp_basic_v4_three ${epair_two}b + + atf_check -s exit:0 -o ignore jexec carp_basic_v4_one \ + ping -c 3 192.0.2.1 +} + +basic_v4_cleanup() +{ + vnet_cleanup +} + +atf_test_case "basic_v6" "cleanup" +basic_v6_head() +{ + atf_set descr 'Basic CARP test (IPv6)' + atf_set require.user root +} + +basic_v6_body() +{ + if ! kldstat -q -m carp; then + atf_skip "This test requires carp" + fi + + vnet_init + bridge=$(vnet_mkbridge) + epair_one=$(vnet_mkepair) + epair_two=$(vnet_mkepair) + + vnet_mkjail carp_basic_v6_one ${bridge} ${epair_one}a ${epair_two}a + vnet_mkjail carp_basic_v6_two ${epair_one}b + vnet_mkjail carp_basic_v6_three ${epair_two}b + + jexec carp_basic_v6_one ifconfig ${bridge} inet6 2001:db8::0:4/64 up \ + no_dad + jexec carp_basic_v6_one ifconfig ${bridge} addm ${epair_one}a \ + addm ${epair_two}a + jexec carp_basic_v6_one ifconfig ${epair_one}a up + jexec carp_basic_v6_one ifconfig ${epair_two}a up + + jexec carp_basic_v6_two ifconfig ${epair_one}b inet6 \ + 2001:db8::1:2/64 up no_dad + jexec carp_basic_v6_two ifconfig ${epair_one}b inet6 add vhid 1 \ + 2001:db8::0:1/64 + + jexec carp_basic_v6_three ifconfig ${epair_two}b inet6 2001:db8::1:3/64 up no_dad + jexec carp_basic_v6_three ifconfig ${epair_two}b inet6 add vhid 1 \ + 2001:db8::0:1/64 + + wait_for_carp carp_basic_v6_two ${epair_one}b \ + carp_basic_v6_three ${epair_two}b + + atf_check -s exit:0 -o ignore jexec carp_basic_v6_one \ + ping6 -c 3 2001:db8::0:1 +} + +basic_v6_cleanup() +{ + vnet_cleanup +} + +atf_init_test_cases() +{ + atf_add_test_case "basic_v4" + atf_add_test_case "basic_v6" +} From owner-svn-src-head@freebsd.org Sun Apr 12 17:41:10 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 26F3D2C42CA; Sun, 12 Apr 2020 17:41:10 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-oi1-f173.google.com (mail-oi1-f173.google.com [209.85.167.173]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490fDk08yGz4QZx; Sun, 12 Apr 2020 17:41:09 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-oi1-f173.google.com with SMTP id v141so1289592oie.1; Sun, 12 Apr 2020 10:41:09 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc:content-transfer-encoding; bh=sC6XC70gqxWimnmy0FIJpPtV0uQaNc4VQ/9BiS8AfRs=; b=lXNJN9R2IjtY4smKagsCOohonqII01gBAJsCF8PT/dUi5SkIM6D+SlHvoi0ZrFOqM+ eNArheM/YI6ensM4LFERw2BGGmH7sl53vnktISoKYpVSZiNNugjYcv34AH25QWabXMX3 N7CVqQPz7Vnzr3m8llrHbAr530452D4MhqntxyNrRnf2WK1Rhn16jyuJPiCU74Wu5FsJ ifx3FtQePubVeeqTBftO5UO3oSocJ3n7RSG7P79ZhII7iGDFO/T4g7+dOBOQnuCS1FhL axUpysUp0jbaLczmpam4n8NzKaaXuGemg+m0dEuEkUSlCdtyfp9L//LGAU2Kyt4lWu1l EoGQ== X-Gm-Message-State: AGi0PuZNT+ekzIAXuGKkdYOVQ2krNhJr6RutDbNHKyq3v3OBvW5JQNtw JCavqnxd/dJtuoblN76GTtSwht3X X-Google-Smtp-Source: APiQypLCLxdURC0O/CZjnYaSToL8rNc+m2DpJq31sS5ZNGtgoQPM3dzq+V2VjvsjRPxl6hK1JV7ICg== X-Received: by 2002:aca:b20a:: with SMTP id b10mr8934396oif.101.1586713268411; Sun, 12 Apr 2020 10:41:08 -0700 (PDT) Received: from mail-ot1-f54.google.com (mail-ot1-f54.google.com. [209.85.210.54]) by smtp.gmail.com with ESMTPSA id u199sm4219064oif.25.2020.04.12.10.41.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 12 Apr 2020 10:41:08 -0700 (PDT) Received: by mail-ot1-f54.google.com with SMTP id x11so7009311otp.6; Sun, 12 Apr 2020 10:41:07 -0700 (PDT) X-Received: by 2002:a05:6830:1f39:: with SMTP id e25mr11949601oth.135.1586713267513; Sun, 12 Apr 2020 10:41:07 -0700 (PDT) MIME-Version: 1.0 References: <202004112036.03BKatfm047227@repo.freebsd.org> <55089DD1-2111-4946-964B-0AAC33F9A876@freebsd.org> In-Reply-To: <55089DD1-2111-4946-964B-0AAC33F9A876@freebsd.org> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Sun, 12 Apr 2020 10:40:56 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359809 - head/sys/netinet To: Michael Tuexen Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 490fDk08yGz4QZx X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 17:41:10 -0000 Hi Michael, On Sun, Apr 12, 2020 at 2:33 AM Michael Tuexen wrote: > Yes. What I meant is that in the stream scheduler code (sctp_ss_functions= .c) > the pattern is > > TAILQ_REMOVE(&asoc->ss_data.out.list, sp, ss_next); > sp->ss_next.tqe_next =3D NULL; > sp->ss_next.tqe_prev =3D NULL; > > which I think is OK, since I'm clearing the pointers related to the remov= e > operation. Do you agree? It is harmless in the sense that it is not a functional change, but I wouldn't suggest doing so. First, in the location modified, TAILQ_INSERT immediately subsequent will just overwrite the NULLs. The compiler almost certainly just optimizes this out. (If you used TAILQ_CONCAT instead, you can avoid rewriting the pointer chain in the linked list entirely and only update heads/tails.) (By the way, I was mistaken about the queue.h TRASH feature being included in INVARIANTS kernels =E2=80=94 it is instead governed by QUEUE_MACRO_DEBUG_TRASH. IMO, we should go ahead and enabled QUEUE_MACRO_DEBUG_TRASH in GENERIC/INVARIANTS =E2=80=94 unlike "TRACE," TRA= SH is inexpensive =E2=80=94 and it catches use-after-frees.) Second, generally one should not manipulate the implementation details of sys/queue.h directly. In QUEUE_MACRO_DEBUG_TRASH kernels, the REMOVE operation already stores bogus values in these pointers ("TRASHIT()"). > I totally agree. I'm actually adding more INVARIANTS checks to the SCTP > code to catch more places where the code does not behave as expected when > running syzkaller (more on the API testing) and ossfuzz (for the userland > stack, more on the packet injection side). So you will see more panics > when using INVARIANTS, for example, now in the timer code. But this point= s > me to places I need to look at. That's good to hear. I agree it is good to assert/panic more in INVARIANTS, when invariants are violated =E2=80=94 it's why we have it :-). > > In this use, consider using > > 'TAILQ_CONCAT(&stcb->asoc.strmout[i].outqueue, &oldstream[i].outqueue, > > next)' instead of the loop construct. > > Thanks for the hint. Wasn't aware of it and didn't consider it more movin= g over a queue. No problem. It is often useful to manipulate entire lists cheaply rather than individual elements. Another common pattern is: under a lock, TAILQ_SWAP the lock-protected list to an initialized (empty) stack list-head, drop the lock, and clean up the list outside the lock. Best, Conrad From owner-svn-src-head@freebsd.org Sun Apr 12 18:04:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 83D162C4A81; Sun, 12 Apr 2020 18:04:21 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490flT2v8lz4Rls; Sun, 12 Apr 2020 18:04:21 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5EA185A88; Sun, 12 Apr 2020 18:04:21 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CI4LGX048390; Sun, 12 Apr 2020 18:04:21 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CI4Kls048385; Sun, 12 Apr 2020 18:04:20 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004121804.03CI4Kls048385@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Sun, 12 Apr 2020 18:04:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359829 - in head/sys: amd64/conf conf X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: in head/sys: amd64/conf conf X-SVN-Commit-Revision: 359829 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 18:04:21 -0000 Author: cem Date: Sun Apr 12 18:04:20 2020 New Revision: 359829 URL: https://svnweb.freebsd.org/changeset/base/359829 Log: Add queue(2) debug macros as build options Add QUEUE_MACRO_DEBUG_TRACE and QUEUE_MACRO_DEBUG_TRASH as proper kernel options. While here, alpha-sort the debug section of sys/conf/options. Enable QUEUE_MACRO_DEBUG_TRASH in amd64 GENERIC (but not GENERIC-NODEBUG) kernels. It is similar in nature and cost to other use-after-free pointer trashing we do in GENERIC. It is probably reasonable to enable in any arch GENERIC kernel that defines INVARIANTS. Modified: head/sys/amd64/conf/GENERIC head/sys/amd64/conf/GENERIC-NODEBUG head/sys/conf/NOTES head/sys/conf/options Modified: head/sys/amd64/conf/GENERIC ============================================================================== --- head/sys/amd64/conf/GENERIC Sun Apr 12 16:13:05 2020 (r359828) +++ head/sys/amd64/conf/GENERIC Sun Apr 12 18:04:20 2020 (r359829) @@ -96,6 +96,7 @@ options GDB # Support remote GDB. options DEADLKRES # Enable the deadlock resolver options INVARIANTS # Enable calls of extra sanity checking options INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS +options QUEUE_MACRO_DEBUG_TRASH # Trash queue(2) internal pointers on invalidation options WITNESS # Enable checks to detect deadlocks and cycles options WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones Modified: head/sys/amd64/conf/GENERIC-NODEBUG ============================================================================== --- head/sys/amd64/conf/GENERIC-NODEBUG Sun Apr 12 16:13:05 2020 (r359828) +++ head/sys/amd64/conf/GENERIC-NODEBUG Sun Apr 12 18:04:20 2020 (r359829) @@ -40,3 +40,4 @@ nooptions FULL_BUF_TRACKING nooptions COVERAGE nooptions KCOV nooptions MALLOC_DEBUG_MAXZONES +nooptions QUEUE_MACRO_DEBUG_TRASH Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Sun Apr 12 16:13:05 2020 (r359828) +++ head/sys/conf/NOTES Sun Apr 12 18:04:20 2020 (r359829) @@ -414,6 +414,18 @@ options DDB_NUMSYM options GDB # +# Trashes list pointers when they become invalid (i.e., the element is +# removed from a list). Relatively inexpensive to enable. +# +options QUEUE_MACRO_DEBUG_TRASH + +# +# Stores information about the last caller to modify the list object +# in the list object. Requires additional memory overhead. +# +options QUEUE_MACRO_DEBUG_TRACE + +# # SYSCTL_DEBUG enables a 'sysctl' debug tree that can be used to dump the # contents of the registered sysctl nodes on the console. It is disabled by # default because it generates excessively verbose console output that can Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Sun Apr 12 16:13:05 2020 (r359828) +++ head/sys/conf/options Sun Apr 12 18:04:20 2020 (r359829) @@ -55,17 +55,19 @@ DDB_CAPTURE_DEFAULTBUFSIZE opt_ddb.h DDB_CAPTURE_MAXBUFSIZE opt_ddb.h DDB_CTF opt_ddb.h DDB_NUMSYM opt_ddb.h +EARLY_PRINTF opt_global.h FULL_BUF_TRACKING opt_global.h GDB KDB opt_global.h KDB_TRACE opt_kdb.h KDB_UNATTENDED opt_kdb.h KLD_DEBUG opt_kld.h +NUM_CORE_FILES opt_global.h +QUEUE_MACRO_DEBUG_TRACE opt_global.h +QUEUE_MACRO_DEBUG_TRASH opt_global.h SYSCTL_DEBUG opt_sysctl.h -EARLY_PRINTF opt_global.h TEXTDUMP_PREFERRED opt_ddb.h TEXTDUMP_VERBOSE opt_ddb.h -NUM_CORE_FILES opt_global.h TSLOG opt_global.h TSLOGSIZE opt_global.h From owner-svn-src-head@freebsd.org Sun Apr 12 19:43:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 71B362C72C3 for ; Sun, 12 Apr 2020 19:43:19 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic317-20.consmr.mail.gq1.yahoo.com (sonic317-20.consmr.mail.gq1.yahoo.com [98.137.66.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 490hxf1KLwz4Z9R for ; Sun, 12 Apr 2020 19:43:17 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: YT7UHPUVM1ljMsIGYmrfMyISIDG39FI4N0BX7uwRxbgmaEx9P3VFNnElLcMMuIo izuq5N2xB4Z3lQ1gA8hVGztefrElh2oDEXUhOlF3qw9Ph71xfUBP3K1Yivu_WUW2XEWFpxbPynEz B_VXyNGWR11uWRxkITRd5CTMhrUNqrIZ88dTIClViuvWDj2sQ2fKRGAiuq8qmhBd14VNmL2Egbay Qb5DWRxpcSWG6h.a.LhSa4P.WPVFZpK.sm8y0k3x9xAEvmG510rd4YzHr_6bEmr2wcw2IJY6wS.b 4L0J1Cn1bo.NUrZUm2q.CYKS7mq0YbJFiNxUXNAYE0cniWGay63eZe29MVA.Cwv4qnELd_Vwft2n u4Qz7bNCVAIeer_YI79cgE8dMVe272yEWDg7dGmR8FdIr0HiZXae9XMZ84SqzMMWmlMIrIGpLyIC wb5DTaoq2SJyOc8EXz5cyT8MIyM0SbYXWDI9AVrW7xiUQqgFr9VpI.XqQP26V_macG3qgfynYqTi 4LpNUeqAFRQc7dg60Ma8bNW7ElVbgyajILsURmKutcKmQdQiaeHO2vEkpZUndTO_3_2Cqdh2TBbD L9aU6YgHn5NqgBEAFkR_wPc2uq7KXRKjCCypwudRRplFvvfc_MeLJxbS0Nl1.MOMD_phrCyGiCbl I_jCZWjxzfypF9m7mIbqNsES0gW94ProFxGuQTKKTHS5k3ncVHjVPzbXsLM47RSGODiTn54QWCbH UsOr86VkCuLG2DQXEwzWmmSDkQEYmO.cWB5Tu5Y.Siv.BKjUgy_cS.RNQj3OmcPOOYQHIQkNjSU4 d.piXj.mICzjljLiOflkUBL9gvoSyV73CoyPapaQJjD8eo8rNw64CKaQqsQPL5FFAmuFvwg0tX6G rcahRwiII2L1BDwI3cLS3MzpASeCvT_RvmRL7w03pWJFhc9jrAb8zN3lHyCukHuWnJHn1WavuZbZ lu9yngqKaT3GMmoSSQxitrGuE7_MQW3w76x7RUQHMlscLKVpbRGqZSg_pmfc9hu.niTubqK8b_Gs bQbsbKRx44fisV7UX0TO8J63aS6ZVkeSO6G3Ej55HTCWxCVi0GVYVYVB2Gu0ydM2HEcZNYZzxmYg k7Av6n4_WCj0._xXKX807lJUy4otFDAQgQOdS4sXmr7Dw7OPV_xuxWW_kc1G1lGxHT_vfhd9Kygt 2wCAEla5znBQk95XFxOiZD0zBeMFWWBcqrlnXmkzf3ZMzfFuqQ_4j4SzyNpJf_LUcz8fOlR.E3r4 WRlz6EP4lRJH5nQoAR8SRE.aH25xUEr_6Ax1.uf44XlkSl9K.l.I3QTQkc4RA0fHjeOOurQtz3kq bZ0SXmmGtWfGP21xGPOrL5zxw_.6clIOSgGzHH2YtugiLt3EAx.R7u77GJ5s0NWHYQWdSlGBxuMh Yq8HEHXvqdnZKdw-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic317.consmr.mail.gq1.yahoo.com with HTTP; Sun, 12 Apr 2020 19:43:14 +0000 Received: by smtp408.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 11ed29bf99e374ff22cef9309f149490; Sun, 12 Apr 2020 19:43:09 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: svn commit: r359829 - in head/sys: amd64/conf conf Message-Id: Date: Sun, 12 Apr 2020 12:43:07 -0700 To: Conrad Meyer , svn-src-head@freebsd.org X-Mailer: Apple Mail (2.3608.80.23.2.2) References: X-Rspamd-Queue-Id: 490hxf1KLwz4Z9R X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.05 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.62)[-0.625,0]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; FREEMAIL_FROM(0.00)[yahoo.com]; MIME_GOOD(-0.10)[text/plain]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-0.92)[-0.921,0]; IP_SCORE_FREEMAIL(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[146.66.137.98.list.dnswl.org : 127.0.5.0]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; RCVD_TLS_LAST(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; IP_SCORE(0.00)[ip: (3.16), ipnet: 98.137.64.0/21(0.83), asn: 36647(0.66), country: US(-0.05)]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 19:43:19 -0000 > Author: cem > Date: Sun Apr 12 18:04:20 2020 > New Revision: 359829 > URL:=20 > https://svnweb.freebsd.org/changeset/base/359829 >=20 >=20 > Log: > Add queue(2) debug macros as build options > =20 > Add QUEUE_MACRO_DEBUG_TRACE and QUEUE_MACRO_DEBUG_TRASH as proper = kernel > options. While here, alpha-sort the debug section of = sys/conf/options. > =20 > Enable QUEUE_MACRO_DEBUG_TRASH in amd64 GENERIC (but not = GENERIC-NODEBUG) > kernels. It is similar in nature and cost to other use-after-free = pointer > trashing we do in GENERIC. It is probably reasonable to enable in = any arch > GENERIC kernel that defines INVARIANTS. Going the other way: Is QUEUE_MACRO_DEBUG_TRASH unsafe when INVARIANTS has been disabled? I historically produce non-debug/less-debug kernels via including = GENERIC and then disabling various debugging options, including frequently disabling INVARIANTS and INVARIANTS_SUPPORT. Would the following be appropriate for the comments, with its extra "required by" on the first line shown: options INVARIANTS # Enable calls of extra sanity = checking, required by QUEUE_MACRO_DEBUG_TRASH options INVARIANT_SUPPORT # Extra sanity checks of = internal structures, required by INVARIANTS options QUEUE_MACRO_DEBUG_TRASH # Trash queue(2) internal = pointers on invalidation Should head/sys/conf/NOTES have material about avoiding QUEUE_MACRO_DEBUG_TRASH with INVARIANTS disabled? =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar) From owner-svn-src-head@freebsd.org Sun Apr 12 20:08:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B832C2C77EF; Sun, 12 Apr 2020 20:08:53 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from anubis.delphij.net (anubis.delphij.net [64.62.153.212]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "anubis.delphij.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490jW84BGqz4Ztm; Sun, 12 Apr 2020 20:08:52 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from p51.home.us.delphij.net (unknown [IPv6:2601:646:8600:58ba:e670:b8ff:fe5c:4e69]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by anubis.delphij.net (Postfix) with ESMTPSA id 8AEA94577B; Sun, 12 Apr 2020 13:08:50 -0700 (PDT) Reply-To: d@delphij.net To: John Baldwin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003271825.02RIPOmR010857@repo.freebsd.org> From: Xin Li Autocrypt: addr=delphij@delphij.net; keydata= mQINBFuSR4oBEACvvEgwRIHs6IcSP/yaDtySF78Ji3rP29qdiQsxhMsOtvtffdbS56VApIWO UFb3/iN2gA8HwLvrmjijN0HEoLVX7na1WARmxRYzQMtApsZIUTtx7hnUYlsi2F5odZa6CDW9 a954DLRzYxiUwYDcu5Zjl9bglK1H8e/N9uC0Vuigr4teWfh86brzOyf819QzwFVYfMIK4ihw QGwMvTzbyVuCFy+LENkmcVYni70oQy6rZ5ktSuYbuOFvu7inRRfhSWPHziV7k+bW88sJ7xhv lBlegcnhkSudWX2M8tZ3MO1PJOcyys0CJlsBY5Weiog2lIPi05h/E9pZ9mc1Vud17iqDaL6w RaggOUhuPfDGCdO5ro82W4BZGeQMRnRF5Ntk+t2ShIH4nn3xRLV0E5nziCiKlgiMqOrz/ZTL QTVbHrCuiwD+fSK14y0oHbkOLYTYLlgh1JbwfY2Ty7elOYiWzyeJ7sJh2dF91NSEneWIOys3 mBpuvtU3nSzzTvAB48VV+Nbg1CpIOgNlPjj7uhIum/Z/VjUaJEyaLpTIRh0MVJVcbP7hXSqZ NA35EEZZVnWEOYdycm4CmEdeNPWkrAf2Ya77iR5VLGypwMlsUMQPh+sKVWDD38M8stFGBBNm d01Hi74Bsq5hKan654dOqMt5eYklrVj0ucMzFQtus7oE502UswARAQABtBxYaW4gTEkgPGRl bHBoaWpAZGVscGhpai5uZXQ+iQJUBBMBCgA+FiEEceNg5NEMZIki80nQQHl/fJX0g08FAluS R/YCGwMFCQmuhAAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQQHl/fJX0g0+2Og//bWpE F2V5/M5l6YW1T8oLcT9rIOH6oq9M0LMNRgFeiNNnilGIeeIgtOGBRueG4CZiZAvsRPJkrO70 1R2SrdkCIvwGUzUAxx1NfBWb+vgm4fgkW/MotGonceM5v0qfSKKXasWvDctkK28aG+IoQzmi FjXNW4+ju4zeQFYwD4ZDWqw9MqO0hVb24uW3dxtQhbfmOLgJ/PEDMQaFuANbW1c+iR0BQA3D Go/EeMY4kpN8on6Aqt/S/4JVltudfQ9OXdjQsC7netSaB9K3mHGt9aKAAB7RzlRY00DKkYS/ /eQwLzGPmK7yX13M68mMDjBs6mIR8t/E1S5OdBNhHRPNPlEbwugR4KaiCsN5yqzJoSV99fKY z2VyxjWPaG8yhHE+jmKUgIBKTfFUQEfkriQR4EASoeJ+soaMTiFDBij1Zw5n3ndLRFMB1ZCl fZLER36mAgW4m4kP83TWnDiJLxOxSOxifV8HpTFjff902H85cybg9KMwrfPDr6W19GGk5Vo1 fkza5krRMGbKWb7+74Evusi0ZxJLIOFwp5Y8eVqUMZaAD3f1ZX1M3pgXOp20QgAy+2KvMHij rLa4q+tMGRzYYD1BnFVSVdXAX5VOoTmHBcDz67DkuRwk2Byp1sgd407oEOmSwrNJlKS0TPCm xUJ2fdSQF+1/MMSRfee49vtMvz7cOrC5Ag0EW5JHigEQANiBmIFAfRNH3nzYNWC0yC+tfx3z sUwAsH1VaBM/cTib+yKtbBOSIlXWjJZWX3MHwoI/1LeGghB2mxkkX1L0pJ/vj1eXNR+sFZ32 0pYcl61Fxg/5fioG4QDTM4i3i7NR5PxDnc6UVaynSlII93DedRhZ1ROtdn4vyMgzsDiqhbL7 BthDOt5KxjqdRk4qRPSw7BovEqZLOcG5IJtf/zZUzRbM7SBljEbOAfekDGx1Br+RrYSD7/Ef Pwwzou9T8315IpBpIHyQF/dZNk3iFiB9Ed5CA71ZRYV5YoLWE9lL0j9kxOLQ5vHnX3mVq7QZ Bc7nzwZ6UhQgYmrG5+RWvuiPpGwvDRIsugJUGXucYkAQh5kuNblmkwpv6u9rNMjCNbzAylOa qdogra5EW+RUSbRz0b4iIr8nnZeAlh7BihCe7JjOwbDjoBEEEtSfVc4hD/LENqpcYVrChphf aOLB9YIXhnVDTVvMc9OklWT/81HzAaDQqOQCzEfY92199Ct9/CwRoQ2OpO8TO5+8A7b9Nb33 nmxMn09mb48ruRacMrfHxCWbgU4w9SEfbip4GcS5wGG6yTC+hw55Iwnnwus40NrJ0GEr8a4r cdsLbkvlyoNHB8ZGgyJ4aFCQ1V4qE1BnlTk7Z8BYBUkJM1odPSkVvHpCnMUjVpJ3hEOC+73Z YH1dh7lZABEBAAGJAjwEGAEKACYWIQRx42Dk0QxkiSLzSdBAeX98lfSDTwUCW5JHigIbDAUJ Ca6EAAAKCRBAeX98lfSDTz8DEACMh3poeUb+gWNF4RWFZuLteZVo0+E1JLYXQkmtrRBLXviP +Qy0pXyFAVxLM4hNIBoIDYfK9BcwrBYf7AwSKrH0GiNwFpgHCkbZd6qoZy2gB+adTnCpVCTJ KJetsH/8awkrChJWMK0ckGf3EeWMPvawG7kW7FBz70NYEZ0pOMiaEZNVtzD3wwbYWUiDFYth 83XGglOExg+1ShTW5XjQPRrdyJAO+aUW4o3lVjfyUJXMgI4rmhMiLVm06GuNrbpKIF0s+4Vd jQAjhrDQjfoXi9CkfsA/cONseuHNv1JGj3RqHiqHJq1dbrpodXp925zGDAnUGxCOBPoFopAH gVzR89GTut059GpwqsddZmU6y7rqifuam/ekJ+QRwc16vgt7pHqCrTY8WPxRZr2UpFU1wlTo COdeiFep1gq1F9jzFjJnoMaAdmC6k7bgAA+RQusOgIhJL0jIej7DoAHxmxFFCfRy+lDtpXwF gQ8HMvzHI65QWmQnMo7s6SQH/ZH5s1yR6SJq8+3lDz+dCuT42qJVqIPVvxd10LW0FNN+t7HF eLadU6ekSgD13/EYMYXlvNHkw7dAItSDxIzgRyykLz0bCU9xwNWoS4Z43+ifF9anJ+uR0ltW El1j++h6ZrD3LLuCgJIt1so0m49GzdcSpOI7LCwMlacyvafiEyjUn+tSNDsnfw== Organization: The FreeBSD Project Subject: Re: svn commit: r359374 - in head: . share/man/man4 share/man/man7 share/man/man9 sys/crypto/aesni sys/crypto/armv8 sys/crypto/blake2 sys/crypto/ccp sys/crypto/via sys/dev/cesa sys/dev/cxgbe sys/dev/cx... Message-ID: <9c343572-5bf6-7047-f435-8e3fcffa8f8e@delphij.net> Date: Sun, 12 Apr 2020 13:08:49 -0700 MIME-Version: 1.0 In-Reply-To: <202003271825.02RIPOmR010857@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 490jW84BGqz4Ztm X-Spamd-Bar: ----- X-Spamd-Result: default: False [-5.66 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[delphij.net:s=m7e2]; HAS_REPLYTO(0.00)[d@delphij.net]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+mx]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; REPLYTO_DOM_EQ_FROM_DOM(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; HAS_ORG_HEADER(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; DKIM_TRACE(0.00)[delphij.net:+]; DMARC_POLICY_ALLOW(-0.50)[delphij.net,reject]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; IP_SCORE(-2.66)[ip: (-9.90), ipnet: 64.62.128.0/18(0.23), asn: 6939(-3.60), country: US(-0.05)]; ASN(0.00)[asn:6939, ipnet:64.62.128.0/18, country:US]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 20:08:53 -0000 On 3/27/20 11:25 AM, John Baldwin wrote: [...]> - Drivers no longer register a list of supported algorithms. This > doesn't quite work when you factor in modes (e.g. a driver might > support both AES-CBC and SHA2-256-HMAC separately but not combined > for ETA). Instead, a new 'crypto_probesession' method has been > added to the kobj interface for symmteric crypto drivers. This > method returns a negative value on success (similar to how > device_probe works) and the crypto framework uses this value to pick > the "best" driver. There are three constants for hardware > (e.g. ccr), accelerated software (e.g. aesni), and plain software > (cryptosoft) that give preference in that order. One effect of this > is that if you request only hardware when creating a new session, > you will no longer get a session using accelerated software. > Another effect is that the default setting to disallow software > crypto via /dev/crypto now disables accelerated software. For user-visible interface, it seems like we are essentially treating "accelerated software" like AES-NI the same way of plain software. For example, geom_eli would now say: GEOM_ELI: Encryption: AES-XTS 128 GEOM_ELI: Crypto: software Instead of: GEOM_ELI: Encryption: AES-XTS 128 GEOM_ELI: Crypto: hardware When AES-NI is used (which is because we only have two bits to represent hardware and software, and have gave neither bits clear with its own meaning (use specific driver)). If we are not going to add a new bit to represent accelerated software, why are they categorized as software providers? Technically, all these still requires hardware that implements the cryptographic primitives to work, and it's much easier for system administrators if we expose the fact that they are using some kind of acceleration than asking them to run DTrace etc. to find out. Personally, I think it's probably better to change the notion to either "accelerated" (by either hardware or software) and "software"... Cheers, From owner-svn-src-head@freebsd.org Sun Apr 12 20:54:35 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B89382A8A31; Sun, 12 Apr 2020 20:54:35 +0000 (UTC) (envelope-from crees@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490kWv4Rd0z4dXY; Sun, 12 Apr 2020 20:54:35 +0000 (UTC) (envelope-from crees@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 930AA7C9A; Sun, 12 Apr 2020 20:54:35 +0000 (UTC) (envelope-from crees@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CKsZvA054631; Sun, 12 Apr 2020 20:54:35 GMT (envelope-from crees@FreeBSD.org) Received: (from crees@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CKsZEK054630; Sun, 12 Apr 2020 20:54:35 GMT (envelope-from crees@FreeBSD.org) Message-Id: <202004122054.03CKsZEK054630@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: crees set sender to crees@FreeBSD.org using -f From: Chris Rees Date: Sun, 12 Apr 2020 20:54:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359835 - head/usr.sbin/bsdconfig X-SVN-Group: head X-SVN-Commit-Author: crees X-SVN-Commit-Paths: head/usr.sbin/bsdconfig X-SVN-Commit-Revision: 359835 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 20:54:35 -0000 Author: crees (doc,ports committer) Date: Sun Apr 12 20:54:35 2020 New Revision: 359835 URL: https://svnweb.freebsd.org/changeset/base/359835 Log: Add mention of wireless option in bsdconfig Submitted by: debdrup Approved by: dteske (maintainer) Differential Revision: https://reviews.freebsd.org/D24378 Modified: head/usr.sbin/bsdconfig/bsdconfig.8 Modified: head/usr.sbin/bsdconfig/bsdconfig.8 ============================================================================== --- head/usr.sbin/bsdconfig/bsdconfig.8 Sun Apr 12 19:25:28 2020 (r359834) +++ head/usr.sbin/bsdconfig/bsdconfig.8 Sun Apr 12 20:54:35 2020 (r359835) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 5, 2013 +.Dd April 12, 2020 .Dt BSDCONFIG 8 .Os .Sh NAME @@ -148,8 +148,8 @@ Shortcut to the DNS Nameservers menu under networking. .It Cm netdev Shortcut to the Network Interfaces menu under networking. .It Cm networking -Utilities to set/change Hostname/Domain, Network Interfaces, Default -Router/Gateway, and DNS Nameservers. +Utilities to set/change Hostname/Domain, Network Interfaces, Wireless +Network, Default Router/Gateway, and DNS Nameservers. .It Cm packages Browse, install, uninstall, or re-install packaged software. .It Cm password @@ -209,6 +209,8 @@ Shortcut to the Delete Users menu under usermgmt. Shortcut to the Edit/View Users menu under usermgmt. .It Cm usermgmt Utilities to Add/Edit/View/Delete User Accounts. +.It Cm wireless +Shortcut to the Wireless Networks menu under networking. .El .Sh INTERNATIONALIZATION i18n features are built into From owner-svn-src-head@freebsd.org Sun Apr 12 21:23:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 45A2C2AA050; Sun, 12 Apr 2020 21:23:22 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490l9619w8z3CPH; Sun, 12 Apr 2020 21:23:22 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 23D20842B; Sun, 12 Apr 2020 21:23:22 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CLNMZp073010; Sun, 12 Apr 2020 21:23:22 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CLNK82073001; Sun, 12 Apr 2020 21:23:20 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004122123.03CLNK82073001@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Sun, 12 Apr 2020 21:23:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359836 - in head: include lib/libc/sys sys/compat/freebsd32 sys/kern sys/sys tests/sys/file X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: include lib/libc/sys sys/compat/freebsd32 sys/kern sys/sys tests/sys/file X-SVN-Commit-Revision: 359836 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 21:23:22 -0000 Author: kevans Date: Sun Apr 12 21:23:19 2020 New Revision: 359836 URL: https://svnweb.freebsd.org/changeset/base/359836 Log: Implement a close_range(2) syscall close_range(min, max, flags) allows for a range of descriptors to be closed. The Python folk have indicated that they would much prefer this interface to closefrom(2), as the case may be that they/someone have special fds dup'd to higher in the range and they can't necessarily closefrom(min) because they don't want to hit the upper range, but relocating them to lower isn't necessarily feasible. sys_closefrom has been rewritten to use kern_close_range() using ~0U to indicate closing to the end of the range. This was chosen rather than requiring callers of kern_close_range() to hold FILEDESC_SLOCK across the call to kern_close_range for simplicity. The flags argument of close_range(2) is currently unused, so any flags set is currently EINVAL. It was added to the interface in Linux so that future flags could be added for, e.g., "halt on first error" and things of this nature. This patch is based on a syscall of the same design that is expected to be merged into Linux. Reviewed by: kib, markj, vangyzen (all slightly earlier revisions) Differential Revision: https://reviews.freebsd.org/D21627 Modified: head/include/unistd.h head/lib/libc/sys/Makefile.inc head/lib/libc/sys/Symbol.map head/lib/libc/sys/closefrom.2 head/sys/compat/freebsd32/syscalls.master head/sys/kern/capabilities.conf head/sys/kern/kern_descrip.c head/sys/kern/syscalls.master head/sys/sys/syscallsubr.h head/tests/sys/file/closefrom_test.c Modified: head/include/unistd.h ============================================================================== --- head/include/unistd.h Sun Apr 12 20:54:35 2020 (r359835) +++ head/include/unistd.h Sun Apr 12 21:23:19 2020 (r359836) @@ -494,6 +494,7 @@ struct crypt_data { int acct(const char *); int async_daemon(void); int check_utility_compat(const char *); +int close_range(unsigned int, unsigned int, int); ssize_t copy_file_range(int, off_t *, int, off_t *, size_t, unsigned int); const char * crypt_get_format(void); Modified: head/lib/libc/sys/Makefile.inc ============================================================================== --- head/lib/libc/sys/Makefile.inc Sun Apr 12 20:54:35 2020 (r359835) +++ head/lib/libc/sys/Makefile.inc Sun Apr 12 21:23:19 2020 (r359836) @@ -371,6 +371,7 @@ MLINKS+=chown.2 fchown.2 \ chown.2 lchown.2 MLINKS+=clock_gettime.2 clock_getres.2 \ clock_gettime.2 clock_settime.2 +MLINKS+=closefrom.2 close_range.2 MLINKS+=nanosleep.2 clock_nanosleep.2 MLINKS+=cpuset.2 cpuset_getid.2 \ cpuset.2 cpuset_setid.2 Modified: head/lib/libc/sys/Symbol.map ============================================================================== --- head/lib/libc/sys/Symbol.map Sun Apr 12 20:54:35 2020 (r359835) +++ head/lib/libc/sys/Symbol.map Sun Apr 12 21:23:19 2020 (r359836) @@ -403,6 +403,7 @@ FBSD_1.5 { FBSD_1.6 { __sysctlbyname; + close_range; copy_file_range; fhlink; fhlinkat; Modified: head/lib/libc/sys/closefrom.2 ============================================================================== --- head/lib/libc/sys/closefrom.2 Sun Apr 12 20:54:35 2020 (r359835) +++ head/lib/libc/sys/closefrom.2 Sun Apr 12 21:23:19 2020 (r359836) @@ -25,11 +25,12 @@ .\" .\" $FreeBSD$ .\" -.Dd June 12, 2009 +.Dd April 12, 2020 .Dt CLOSEFROM 2 .Os .Sh NAME -.Nm closefrom +.Nm closefrom , +.Nm close_range .Nd delete open file descriptors .Sh LIBRARY .Lb libc @@ -37,6 +38,8 @@ .In unistd.h .Ft void .Fn closefrom "int lowfd" +.Ft int +.Fn close_range "u_int lowfd" "u_int highfd" "int flags" .Sh DESCRIPTION The .Fn closefrom @@ -44,6 +47,40 @@ system call deletes all open file descriptors greater .Fa lowfd from the per-process object reference table. Any errors encountered while closing file descriptors are ignored. +.Pp +The +.Fn close_range +system call deletes all open file descriptors between +.Fa lowfd +and +.Fa highfd +inclusive, clamped to the range of open file descriptors. +Any errors encountered while closing file descriptors are ignored. +There are currently no defined +.Fa flags . +.Sh RETURN VALUES +Upon successful completion, +.Fn close_range +returns a value +of 0. +Otherwise, a value of -1 is returned and the global variable +.Va errno +is set to indicate the error. +.Sh ERRORS +The +.Fn close_range +system call +will fail if: +.Bl -tag -width Er +.It Bq Er EINVAL +The +.Fa highfd +argument is lower than the +.Fa lowfd +argument. +.It Bq Er EINVAL +An invalid flag was set. +.El .Sh SEE ALSO .Xr close 2 .Sh HISTORY Modified: head/sys/compat/freebsd32/syscalls.master ============================================================================== --- head/sys/compat/freebsd32/syscalls.master Sun Apr 12 20:54:35 2020 (r359835) +++ head/sys/compat/freebsd32/syscalls.master Sun Apr 12 21:23:19 2020 (r359836) @@ -1162,5 +1162,7 @@ 573 AUE_NULL NOPROTO { int sigfastblock(int cmd, uint32_t *ptr); } 574 AUE_REALPATHAT NOPROTO { int __realpathat(int fd, const char *path, \ char *buf, size_t size, int flags); } +575 AUE_NULL NOPROTO { int close_range(u_int lowfd, u_int highfd, \ + int flags); } ; vim: syntax=off Modified: head/sys/kern/capabilities.conf ============================================================================== --- head/sys/kern/capabilities.conf Sun Apr 12 20:54:35 2020 (r359835) +++ head/sys/kern/capabilities.conf Sun Apr 12 21:23:19 2020 (r359836) @@ -131,6 +131,7 @@ clock_gettime ## Always allow file descriptor close(2). ## close +close_range closefrom ## Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Sun Apr 12 20:54:35 2020 (r359835) +++ head/sys/kern/kern_descrip.c Sun Apr 12 21:23:19 2020 (r359836) @@ -1313,6 +1313,57 @@ kern_close(struct thread *td, int fd) return (closefp(fdp, fd, fp, td, 1)); } +int +kern_close_range(struct thread *td, u_int lowfd, u_int highfd) +{ + struct filedesc *fdp; + int fd, ret; + + ret = 0; + fdp = td->td_proc->p_fd; + FILEDESC_SLOCK(fdp); + + /* + * Check this prior to clamping; closefrom(3) with only fd 0, 1, and 2 + * open should not be a usage error. From a close_range() perspective, + * close_range(3, ~0U, 0) in the same scenario should also likely not + * be a usage error as all fd above 3 are in-fact already closed. + */ + if (highfd < lowfd) { + ret = EINVAL; + goto out; + } + /* Clamped to [lowfd, fd_lastfile] */ + highfd = MIN(highfd, fdp->fd_lastfile); + for (fd = lowfd; fd <= highfd; fd++) { + if (fdp->fd_ofiles[fd].fde_file != NULL) { + FILEDESC_SUNLOCK(fdp); + (void)kern_close(td, fd); + FILEDESC_SLOCK(fdp); + } + } +out: + FILEDESC_SUNLOCK(fdp); + return (ret); +} + +#ifndef _SYS_SYSPROTO_H_ +struct close_range_args { + u_int lowfd; + u_int highfd; + int flags; +}; +#endif +int +sys_close_range(struct thread *td, struct close_range_args *uap) +{ + + /* No flags currently defined */ + if (uap->flags != 0) + return (EINVAL); + return (kern_close_range(td, uap->lowfd, uap->highfd)); +} + /* * Close open file descriptors. */ @@ -1325,28 +1376,16 @@ struct closefrom_args { int sys_closefrom(struct thread *td, struct closefrom_args *uap) { - struct filedesc *fdp; - int fd; + u_int lowfd; - fdp = td->td_proc->p_fd; AUDIT_ARG_FD(uap->lowfd); /* * Treat negative starting file descriptor values identical to * closefrom(0) which closes all files. */ - if (uap->lowfd < 0) - uap->lowfd = 0; - FILEDESC_SLOCK(fdp); - for (fd = uap->lowfd; fd <= fdp->fd_lastfile; fd++) { - if (fdp->fd_ofiles[fd].fde_file != NULL) { - FILEDESC_SUNLOCK(fdp); - (void)kern_close(td, fd); - FILEDESC_SLOCK(fdp); - } - } - FILEDESC_SUNLOCK(fdp); - return (0); + lowfd = MAX(0, uap->lowfd); + return (kern_close_range(td, lowfd, ~0U)); } #if defined(COMPAT_43) Modified: head/sys/kern/syscalls.master ============================================================================== --- head/sys/kern/syscalls.master Sun Apr 12 20:54:35 2020 (r359835) +++ head/sys/kern/syscalls.master Sun Apr 12 21:23:19 2020 (r359836) @@ -3227,6 +3227,13 @@ int flags ); } +575 AUE_NULL STD { + int close_range( + u_int lowfd, + u_int highfd, + int flags + ); + } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master Modified: head/sys/sys/syscallsubr.h ============================================================================== --- head/sys/sys/syscallsubr.h Sun Apr 12 20:54:35 2020 (r359835) +++ head/sys/sys/syscallsubr.h Sun Apr 12 21:23:19 2020 (r359836) @@ -105,6 +105,7 @@ int kern_clock_settime(struct thread *td, clockid_t cl struct timespec *ats); void kern_thread_cputime(struct thread *targettd, struct timespec *ats); void kern_process_cputime(struct proc *targetp, struct timespec *ats); +int kern_close_range(struct thread *td, u_int lowfd, u_int highfd); int kern_close(struct thread *td, int fd); int kern_connectat(struct thread *td, int dirfd, int fd, struct sockaddr *sa); Modified: head/tests/sys/file/closefrom_test.c ============================================================================== --- head/tests/sys/file/closefrom_test.c Sun Apr 12 20:54:35 2020 (r359835) +++ head/tests/sys/file/closefrom_test.c Sun Apr 12 21:23:19 2020 (r359836) @@ -146,7 +146,7 @@ main(void) pid_t pid; int fd, i, start; - printf("1..15\n"); + printf("1..19\n"); /* We better start up with fd's 0, 1, and 2 open. */ start = devnull(); @@ -270,6 +270,44 @@ main(void) if (fd != 3) fail("closefrom", "highest fd %d", fd); ok("closefrom"); + + /* Chew up another 8 fd */ + for (i = 0; i < 8; i++) + (void)devnull(); + fd = highest_fd(); + start = fd - 7; + + /* close_range() a hole in the middle */ + close_range(start + 3, start + 5, 0); + for (i = start + 3; i < start + 6; ++i) { + if (close(i) == 0 || errno != EBADF) { + --i; + break; + } + } + if (i != start + 6) + fail("close_range", "failed to close at %d in %d - %d", i + 1, + start + 3, start + 6); + ok("close_range"); + + /* close_range from the middle of the hole */ + close_range(start + 4, start + 6, 0); + if ((i = highest_fd()) != fd) + fail("close_range", "highest fd %d", i); + ok("close_range"); + + /* close_range to the end; effectively closefrom(2) */ + close_range(start + 3, ~0L, 0); + if ((i = highest_fd()) != start + 2) + fail("close_range", "highest fd %d", i); + ok("close_range"); + + /* Now close the rest */ + close_range(start, start + 4, 0); + fd = highest_fd(); + if (fd != 3) + fail("close_range", "highest fd %d", fd); + ok("close_range"); return (0); } From owner-svn-src-head@freebsd.org Sun Apr 12 21:23:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 75BB42AA13C; Sun, 12 Apr 2020 21:23:54 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490l9k2cb9z3CXt; Sun, 12 Apr 2020 21:23:54 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 547BD8440; Sun, 12 Apr 2020 21:23:54 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CLNsAP073100; Sun, 12 Apr 2020 21:23:54 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CLNp3Y073085; Sun, 12 Apr 2020 21:23:51 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004122123.03CLNp3Y073085@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Sun, 12 Apr 2020 21:23:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359837 - in head/sys: compat/freebsd32 kern sys X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head/sys: compat/freebsd32 kern sys X-SVN-Commit-Revision: 359837 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 21:23:54 -0000 Author: kevans Date: Sun Apr 12 21:23:51 2020 New Revision: 359837 URL: https://svnweb.freebsd.org/changeset/base/359837 Log: sysent: re-roll after introduction of close_range in r359836 Modified: head/sys/compat/freebsd32/freebsd32_syscall.h head/sys/compat/freebsd32/freebsd32_syscalls.c head/sys/compat/freebsd32/freebsd32_sysent.c head/sys/compat/freebsd32/freebsd32_systrace_args.c head/sys/kern/init_sysent.c head/sys/kern/syscalls.c head/sys/kern/systrace_args.c head/sys/sys/syscall.h head/sys/sys/syscall.mk head/sys/sys/sysproto.h Modified: head/sys/compat/freebsd32/freebsd32_syscall.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscall.h Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/compat/freebsd32/freebsd32_syscall.h Sun Apr 12 21:23:51 2020 (r359837) @@ -501,4 +501,5 @@ #define FREEBSD32_SYS_shm_rename 572 #define FREEBSD32_SYS_sigfastblock 573 #define FREEBSD32_SYS___realpathat 574 -#define FREEBSD32_SYS_MAXSYSCALL 575 +#define FREEBSD32_SYS_close_range 575 +#define FREEBSD32_SYS_MAXSYSCALL 576 Modified: head/sys/compat/freebsd32/freebsd32_syscalls.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscalls.c Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/compat/freebsd32/freebsd32_syscalls.c Sun Apr 12 21:23:51 2020 (r359837) @@ -611,4 +611,5 @@ const char *freebsd32_syscallnames[] = { "shm_rename", /* 572 = shm_rename */ "sigfastblock", /* 573 = sigfastblock */ "__realpathat", /* 574 = __realpathat */ + "close_range", /* 575 = close_range */ }; Modified: head/sys/compat/freebsd32/freebsd32_sysent.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_sysent.c Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/compat/freebsd32/freebsd32_sysent.c Sun Apr 12 21:23:51 2020 (r359837) @@ -664,4 +664,5 @@ struct sysent freebsd32_sysent[] = { { AS(shm_rename_args), (sy_call_t *)sys_shm_rename, AUE_SHMRENAME, NULL, 0, 0, 0, SY_THR_STATIC }, /* 572 = shm_rename */ { AS(sigfastblock_args), (sy_call_t *)sys_sigfastblock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 573 = sigfastblock */ { AS(__realpathat_args), (sy_call_t *)sys___realpathat, AUE_REALPATHAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 574 = __realpathat */ + { AS(close_range_args), (sy_call_t *)sys_close_range, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 575 = close_range */ }; Modified: head/sys/compat/freebsd32/freebsd32_systrace_args.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_systrace_args.c Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/compat/freebsd32/freebsd32_systrace_args.c Sun Apr 12 21:23:51 2020 (r359837) @@ -3374,6 +3374,15 @@ systrace_args(int sysnum, void *params, uint64_t *uarg *n_args = 5; break; } + /* close_range */ + case 575: { + struct close_range_args *p = params; + uarg[0] = p->lowfd; /* u_int */ + uarg[1] = p->highfd; /* u_int */ + iarg[2] = p->flags; /* int */ + *n_args = 3; + break; + } default: *n_args = 0; break; @@ -9095,6 +9104,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; }; break; + /* close_range */ + case 575: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "u_int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; default: break; }; @@ -10991,6 +11016,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* __realpathat */ case 574: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* close_range */ + case 575: if (ndx == 0 || ndx == 1) p = "int"; break; Modified: head/sys/kern/init_sysent.c ============================================================================== --- head/sys/kern/init_sysent.c Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/kern/init_sysent.c Sun Apr 12 21:23:51 2020 (r359837) @@ -630,4 +630,5 @@ struct sysent sysent[] = { { AS(shm_rename_args), (sy_call_t *)sys_shm_rename, AUE_SHMRENAME, NULL, 0, 0, 0, SY_THR_STATIC }, /* 572 = shm_rename */ { AS(sigfastblock_args), (sy_call_t *)sys_sigfastblock, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 573 = sigfastblock */ { AS(__realpathat_args), (sy_call_t *)sys___realpathat, AUE_REALPATHAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 574 = __realpathat */ + { AS(close_range_args), (sy_call_t *)sys_close_range, AUE_NULL, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 575 = close_range */ }; Modified: head/sys/kern/syscalls.c ============================================================================== --- head/sys/kern/syscalls.c Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/kern/syscalls.c Sun Apr 12 21:23:51 2020 (r359837) @@ -581,4 +581,5 @@ const char *syscallnames[] = { "shm_rename", /* 572 = shm_rename */ "sigfastblock", /* 573 = sigfastblock */ "__realpathat", /* 574 = __realpathat */ + "close_range", /* 575 = close_range */ }; Modified: head/sys/kern/systrace_args.c ============================================================================== --- head/sys/kern/systrace_args.c Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/kern/systrace_args.c Sun Apr 12 21:23:51 2020 (r359837) @@ -3366,6 +3366,15 @@ systrace_args(int sysnum, void *params, uint64_t *uarg *n_args = 5; break; } + /* close_range */ + case 575: { + struct close_range_args *p = params; + uarg[0] = p->lowfd; /* u_int */ + uarg[1] = p->highfd; /* u_int */ + iarg[2] = p->flags; /* int */ + *n_args = 3; + break; + } default: *n_args = 0; break; @@ -9000,6 +9009,22 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; }; break; + /* close_range */ + case 575: + switch(ndx) { + case 0: + p = "u_int"; + break; + case 1: + p = "u_int"; + break; + case 2: + p = "int"; + break; + default: + break; + }; + break; default: break; }; @@ -10923,6 +10948,11 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* __realpathat */ case 574: + if (ndx == 0 || ndx == 1) + p = "int"; + break; + /* close_range */ + case 575: if (ndx == 0 || ndx == 1) p = "int"; break; Modified: head/sys/sys/syscall.h ============================================================================== --- head/sys/sys/syscall.h Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/sys/syscall.h Sun Apr 12 21:23:51 2020 (r359837) @@ -510,4 +510,5 @@ #define SYS_shm_rename 572 #define SYS_sigfastblock 573 #define SYS___realpathat 574 -#define SYS_MAXSYSCALL 575 +#define SYS_close_range 575 +#define SYS_MAXSYSCALL 576 Modified: head/sys/sys/syscall.mk ============================================================================== --- head/sys/sys/syscall.mk Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/sys/syscall.mk Sun Apr 12 21:23:51 2020 (r359837) @@ -415,4 +415,5 @@ MIASM = \ shm_open2.o \ shm_rename.o \ sigfastblock.o \ - __realpathat.o + __realpathat.o \ + close_range.o Modified: head/sys/sys/sysproto.h ============================================================================== --- head/sys/sys/sysproto.h Sun Apr 12 21:23:19 2020 (r359836) +++ head/sys/sys/sysproto.h Sun Apr 12 21:23:51 2020 (r359837) @@ -1830,6 +1830,11 @@ struct __realpathat_args { char size_l_[PADL_(size_t)]; size_t size; char size_r_[PADR_(size_t)]; char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; }; +struct close_range_args { + char lowfd_l_[PADL_(u_int)]; u_int lowfd; char lowfd_r_[PADR_(u_int)]; + char highfd_l_[PADL_(u_int)]; u_int highfd; char highfd_r_[PADR_(u_int)]; + char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; +}; int nosys(struct thread *, struct nosys_args *); void sys_sys_exit(struct thread *, struct sys_exit_args *); int sys_fork(struct thread *, struct fork_args *); @@ -2220,6 +2225,7 @@ int sys_shm_open2(struct thread *, struct shm_open2_ar int sys_shm_rename(struct thread *, struct shm_rename_args *); int sys_sigfastblock(struct thread *, struct sigfastblock_args *); int sys___realpathat(struct thread *, struct __realpathat_args *); +int sys_close_range(struct thread *, struct close_range_args *); #ifdef COMPAT_43 @@ -3145,6 +3151,7 @@ int freebsd12_shm_open(struct thread *, struct freebsd #define SYS_AUE_shm_rename AUE_SHMRENAME #define SYS_AUE_sigfastblock AUE_NULL #define SYS_AUE___realpathat AUE_REALPATHAT +#define SYS_AUE_close_range AUE_NULL #undef PAD_ #undef PADL_ From owner-svn-src-head@freebsd.org Sun Apr 12 22:09:13 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 804E32AB5E9; Sun, 12 Apr 2020 22:09:13 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-no.shaw.ca (smtp-out-no.shaw.ca [64.59.134.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 490mB10fjYz3Gwf; Sun, 12 Apr 2020 22:09:12 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id Nkmrjo9iDng7KNkmsjc4Zv; Sun, 12 Apr 2020 16:09:11 -0600 X-Authority-Analysis: v=2.3 cv=ecemg4MH c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=cl8xLZFz6L8A:10 a=6I5d2MoRAAAA:8 a=YxBL1-UpAAAA:8 a=VmPQcETcNkFVR-xbPWoA:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 4008928B; Sun, 12 Apr 2020 15:09:08 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id 03CM97Y1097285; Sun, 12 Apr 2020 15:09:07 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id 03CM971W097282; Sun, 12 Apr 2020 15:09:07 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <202004122209.03CM971W097282@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Kyle Evans cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359836 - in head: include lib/libc/sys sys/compat/freebsd32 sys/kern sys/sys tests/sys/file In-reply-to: <202004122123.03CLNK82073001@repo.freebsd.org> References: <202004122123.03CLNK82073001@repo.freebsd.org> Comments: In-reply-to Kyle Evans message dated "Sun, 12 Apr 2020 21:23:20 -0000." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 12 Apr 2020 15:09:07 -0700 X-CMAE-Envelope: MS4wfCkYv5CzsT69FZ8/2RQvWfbjz3FF+53pg5ZtCyeaahz4mVFPc25h8u7RlzZhVX/9J1iGPmCoPnkGeX8TlxMAmk+sjrsEeJeUJuowRgG18YKlJNKkW4Qq qcgkAUThKWuQMp+JEK5/dInvuB26BtLIKg0fn2+IbxCkJSwHpBiGmOs2K1OijoWmXkPQG1TlA7A6YfN8mPml2Fd0YnMWCZ6WTQ3gp7r+g58rd8XVX7fLC3Zp rzEAHT2yV3n5FUX1eLgp7Q1+h0aM2SfxCp46u7EEg2eAs919pA2Rsk2PQeEfF3Lv X-Rspamd-Queue-Id: 490mB10fjYz3Gwf X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 22:09:13 -0000 In message <202004122123.03CLNK82073001@repo.freebsd.org>, Kyle Evans writes: > Author: kevans > Date: Sun Apr 12 21:23:19 2020 > New Revision: 359836 > URL: https://svnweb.freebsd.org/changeset/base/359836 > > Log: > Implement a close_range(2) syscall > > close_range(min, max, flags) allows for a range of descriptors to be > closed. The Python folk have indicated that they would much prefer this > interface to closefrom(2), as the case may be that they/someone have specia > l > fds dup'd to higher in the range and they can't necessarily closefrom(min) > because they don't want to hit the upper range, but relocating them to lowe > r > isn't necessarily feasible. > > sys_closefrom has been rewritten to use kern_close_range() using ~0U to > indicate closing to the end of the range. This was chosen rather than > requiring callers of kern_close_range() to hold FILEDESC_SLOCK across the > call to kern_close_range for simplicity. > > The flags argument of close_range(2) is currently unused, so any flags set > is currently EINVAL. It was added to the interface in Linux so that future > flags could be added for, e.g., "halt on first error" and things of this > nature. > > This patch is based on a syscall of the same design that is expected to be > merged into Linux. > > Reviewed by: kib, markj, vangyzen (all slightly earlier revisions) > Differential Revision: https://reviews.freebsd.org/D21627 > > Modified: > head/include/unistd.h > head/lib/libc/sys/Makefile.inc > head/lib/libc/sys/Symbol.map > head/lib/libc/sys/closefrom.2 > head/sys/compat/freebsd32/syscalls.master > head/sys/kern/capabilities.conf > head/sys/kern/kern_descrip.c > head/sys/kern/syscalls.master > head/sys/sys/syscallsubr.h > head/tests/sys/file/closefrom_test.c A __FreeBSD_version bump should be for ports to test for. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Sun Apr 12 22:22:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BC7362ABB49; Sun, 12 Apr 2020 22:22:53 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490mTn4ZS1z3Hmt; Sun, 12 Apr 2020 22:22:53 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9851C8FBB; Sun, 12 Apr 2020 22:22:53 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CMMr5Z010526; Sun, 12 Apr 2020 22:22:53 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CMMrNq010525; Sun, 12 Apr 2020 22:22:53 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004122222.03CMMrNq010525@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Sun, 12 Apr 2020 22:22:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359839 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 359839 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 22:22:53 -0000 Author: kevans Date: Sun Apr 12 22:22:53 2020 New Revision: 359839 URL: https://svnweb.freebsd.org/changeset/base/359839 Log: Bump __FreeBSD_version after r359836, close_range(2) Reported by: cy Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Sun Apr 12 22:11:29 2020 (r359838) +++ head/sys/sys/param.h Sun Apr 12 22:22:53 2020 (r359839) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300090 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300091 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-head@freebsd.org Mon Apr 13 00:07:38 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5BAFB2AD704; Mon, 13 Apr 2020 00:07:38 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490ppf1b66z3Mbp; Mon, 13 Apr 2020 00:07:38 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 31970A397; Mon, 13 Apr 2020 00:07:38 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03D07cLT071265; Mon, 13 Apr 2020 00:07:38 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03D07beY071264; Mon, 13 Apr 2020 00:07:37 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004130007.03D07beY071264@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Mon, 13 Apr 2020 00:07:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359840 - head/sys/fs/nfs X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfs X-SVN-Commit-Revision: 359840 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 00:07:38 -0000 Author: rmacklem Date: Mon Apr 13 00:07:37 2020 New Revision: 359840 URL: https://svnweb.freebsd.org/changeset/base/359840 Log: Delete the mbuf macros that were used for the Mac OS/X port. When the code was ported to Mac OS/X, mbuf handling functions were converted to using the Mac OS/X accessor functions. For FreeBSD, they are a simple set of macros in sys/fs/nfs/nfskpiport.h. Since r359757, r359780, r359785, r359810, r359811 have removed all uses of these macros, this patch deleted the macros from the .h files. My eventual goal is deleting nfskpiport.h, but that will take some more editting to replace uses of the remaining macros. Modified: head/sys/fs/nfs/nfskpiport.h head/sys/fs/nfs/nfsport.h Modified: head/sys/fs/nfs/nfskpiport.h ============================================================================== --- head/sys/fs/nfs/nfskpiport.h Sun Apr 12 22:22:53 2020 (r359839) +++ head/sys/fs/nfs/nfskpiport.h Mon Apr 13 00:07:37 2020 (r359840) @@ -44,15 +44,6 @@ typedef struct vnode * vnode_t; #define vnode_vtype(v) ((v)->v_type) typedef struct mbuf * mbuf_t; -#define mbuf_freem(m) m_freem(m) -#define mbuf_data(m) mtod((m), void *) -#define mbuf_len(m) ((m)->m_len) -#define mbuf_next(m) ((m)->m_next) -#define mbuf_setlen(m, l) ((m)->m_len = (l)) -#define mbuf_setnext(m, p) ((m)->m_next = (p)) -#define mbuf_pkthdr_len(m) ((m)->m_pkthdr.len) -#define mbuf_pkthdr_setlen(m, l) ((m)->m_pkthdr.len = (l)) -#define mbuf_pkthdr_setrcvif(m, p) ((m)->m_pkthdr.rcvif = (p)) /* * This stuff is needed by Darwin for handling the uio structure. Modified: head/sys/fs/nfs/nfsport.h ============================================================================== --- head/sys/fs/nfs/nfsport.h Sun Apr 12 22:22:53 2020 (r359839) +++ head/sys/fs/nfs/nfsport.h Mon Apr 13 00:07:37 2020 (r359840) @@ -172,7 +172,6 @@ MGETHDR((m), M_WAITOK, MT_DATA); \ } \ } while (0) -#define NFSMTOD mtod /* * Client side constant for size of a lockowner name. From owner-svn-src-head@freebsd.org Mon Apr 13 04:32:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 690C72B2679; Mon, 13 Apr 2020 04:32:21 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490wh52Bnxz44hL; Mon, 13 Apr 2020 04:32:21 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 22CDD1052C; Mon, 13 Apr 2020 04:32:21 +0000 (UTC) Date: Mon, 13 Apr 2020 04:32:21 +0000 From: Alexey Dokuchaev To: d@delphij.net Cc: John Baldwin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, Xin Li Subject: Re: svn commit: r359374 - in head: . share/man/man4 share/man/man7 share/man/man9 sys/crypto/aesni sys/crypto/armv8 sys/crypto/blake2 sys/crypto/ccp sys/crypto/via sys/dev/cesa sys/dev/cxgbe sys/dev/cx... Message-ID: <20200413043221.GA60842@FreeBSD.org> References: <202003271825.02RIPOmR010857@repo.freebsd.org> <9c343572-5bf6-7047-f435-8e3fcffa8f8e@delphij.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9c343572-5bf6-7047-f435-8e3fcffa8f8e@delphij.net> X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 04:32:21 -0000 On Sun, Apr 12, 2020 at 01:08:49PM -0700, Xin Li via svn-src-all wrote: > On 3/27/20 11:25 AM, John Baldwin wrote: > > - Drivers no longer register a list of supported algorithms. [...] > > For user-visible interface, it seems like we are essentially treating > "accelerated software" like AES-NI the same way of plain software. For > example, geom_eli would now say: > > GEOM_ELI: Encryption: AES-XTS 128 > GEOM_ELI: Crypto: software > > Instead of: > > GEOM_ELI: Encryption: AES-XTS 128 > GEOM_ELI: Crypto: hardware > > [...] and it's much easier for system administrators if we expose the > fact that they are using some kind of acceleration than asking them to > run DTrace etc. to find out. Personally, I think it's probably better > to change the notion to either "accelerated" (by either hardware or > software) and "software"... +1 for "accelerated" vs. "software". For most users "accelerated" would mean AES-NI (dedicated crypto cards are not as common), and since most modern CPUs have those, not being able to easily distinguish between that and "pure software" (unaccelerated) mode is rather frustrating. ./danfe From owner-svn-src-head@freebsd.org Mon Apr 13 05:58:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 591442B3A07 for ; Mon, 13 Apr 2020 05:58:25 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gate2.funkthat.com", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490ybN4gldz47l2 for ; Mon, 13 Apr 2020 05:58:24 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.15.2/8.15.2) with ESMTPS id 03D5w8Kx015346 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sun, 12 Apr 2020 22:58:08 -0700 (PDT) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.15.2/8.15.2/Submit) id 03D5w83F015345; Sun, 12 Apr 2020 22:58:08 -0700 (PDT) (envelope-from jmg) Date: Sun, 12 Apr 2020 22:58:08 -0700 From: John-Mark Gurney To: Alexey Dokuchaev Cc: d@delphij.net, John Baldwin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, Xin Li Subject: Re: svn commit: r359374 - in head: . share/man/man4 share/man/man7 share/man/man9 sys/crypto/aesni sys/crypto/armv8 sys/crypto/blake2 sys/crypto/ccp sys/crypto/via sys/dev/cesa sys/dev/cxgbe sys/dev/cx... Message-ID: <20200413055808.GP4213@funkthat.com> Mail-Followup-To: Alexey Dokuchaev , d@delphij.net, John Baldwin , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org, Xin Li References: <202003271825.02RIPOmR010857@repo.freebsd.org> <9c343572-5bf6-7047-f435-8e3fcffa8f8e@delphij.net> <20200413043221.GA60842@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200413043221.GA60842@FreeBSD.org> X-Operating-System: FreeBSD 11.3-STABLE amd64 X-PGP-Fingerprint: D87A 235F FB71 1F3F 55B7 ED9B D5FF 5A51 C0AC 3D65 X-Files: The truth is out there X-URL: https://www.funkthat.com/ X-Resume: https://www.funkthat.com/~jmg/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.6.1 (2016-04-27) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (gold.funkthat.com [127.0.0.1]); Sun, 12 Apr 2020 22:58:09 -0700 (PDT) X-Rspamd-Queue-Id: 490ybN4gldz47l2 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=none (mx1.freebsd.org: domain of jmg@gold.funkthat.com has no SPF policy when checking 208.87.223.18) smtp.mailfrom=jmg@gold.funkthat.com X-Spamd-Result: default: False [-1.14 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.87)[-0.867,0]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; IP_SCORE(-0.51)[ip: (-1.32), ipnet: 208.87.216.0/21(-0.66), asn: 32354(-0.53), country: US(-0.05)]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[funkthat.com]; AUTH_NA(1.00)[]; NEURAL_HAM_LONG(-0.96)[-0.962,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCPT_COUNT_SEVEN(0.00)[7]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[jmg@funkthat.com,jmg@gold.funkthat.com]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:32354, ipnet:208.87.216.0/21, country:US]; FROM_NEQ_ENVFROM(0.00)[jmg@funkthat.com,jmg@gold.funkthat.com]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 05:58:25 -0000 Alexey Dokuchaev wrote this message on Mon, Apr 13, 2020 at 04:32 +0000: > On Sun, Apr 12, 2020 at 01:08:49PM -0700, Xin Li via svn-src-all wrote: > > On 3/27/20 11:25 AM, John Baldwin wrote: > > > - Drivers no longer register a list of supported algorithms. [...] > > > > For user-visible interface, it seems like we are essentially treating > > "accelerated software" like AES-NI the same way of plain software. For > > example, geom_eli would now say: > > > > GEOM_ELI: Encryption: AES-XTS 128 > > GEOM_ELI: Crypto: software > > > > Instead of: > > > > GEOM_ELI: Encryption: AES-XTS 128 > > GEOM_ELI: Crypto: hardware > > > > [...] and it's much easier for system administrators if we expose the > > fact that they are using some kind of acceleration than asking them to > > run DTrace etc. to find out. Personally, I think it's probably better > > to change the notion to either "accelerated" (by either hardware or > > software) and "software"... > > +1 for "accelerated" vs. "software". For most users "accelerated" would > mean AES-NI (dedicated crypto cards are not as common), and since most > modern CPUs have those, not being able to easily distinguish between that > and "pure software" (unaccelerated) mode is rather frustrating. Yeah, w/o a differentiation, people can't tell if the aesni.ko module was loaded or not... I use this to make sure things will go fast.. If I see software, I know it'll be slow... -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not." From owner-svn-src-head@freebsd.org Mon Apr 13 08:26:11 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9D4FF2B6CEC; Mon, 13 Apr 2020 08:26:11 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4911sv3fvWz4GGy; Mon, 13 Apr 2020 08:26:11 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7855618525; Mon, 13 Apr 2020 08:26:11 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03D8QBs0076879; Mon, 13 Apr 2020 08:26:11 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03D8QBa6076878; Mon, 13 Apr 2020 08:26:11 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004130826.03D8QBa6076878@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Mon, 13 Apr 2020 08:26:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359844 - head/sys/netinet6 X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/netinet6 X-SVN-Commit-Revision: 359844 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 08:26:11 -0000 Author: melifaro Date: Mon Apr 13 08:26:11 2020 New Revision: 359844 URL: https://svnweb.freebsd.org/changeset/base/359844 Log: Remove tcp_rtlookup6() function signature. The function itself was removed in r122922 16 years ago. Modified: head/sys/netinet6/tcp6_var.h Modified: head/sys/netinet6/tcp6_var.h ============================================================================== --- head/sys/netinet6/tcp6_var.h Mon Apr 13 00:50:35 2020 (r359843) +++ head/sys/netinet6/tcp6_var.h Mon Apr 13 08:26:11 2020 (r359844) @@ -76,7 +76,6 @@ struct ip6_hdr; void tcp6_ctlinput(int, struct sockaddr *, void *); void tcp6_init(void); int tcp6_input(struct mbuf **, int *, int); -struct rtentry *tcp_rtlookup6(struct in_conninfo *); extern struct pr_usrreqs tcp6_usrreqs; From owner-svn-src-head@freebsd.org Mon Apr 13 08:42:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CD5D62B728A; Mon, 13 Apr 2020 08:42:14 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4912DQ59Ddz4HkP; Mon, 13 Apr 2020 08:42:14 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AAFAB187B1; Mon, 13 Apr 2020 08:42:14 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03D8gEVB088666; Mon, 13 Apr 2020 08:42:14 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03D8gEV4088663; Mon, 13 Apr 2020 08:42:14 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202004130842.03D8gEV4088663@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Mon, 13 Apr 2020 08:42:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359849 - head/lib/libc/gen X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/lib/libc/gen X-SVN-Commit-Revision: 359849 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 08:42:14 -0000 Author: delphij Date: Mon Apr 13 08:42:13 2020 New Revision: 359849 URL: https://svnweb.freebsd.org/changeset/base/359849 Log: Sync with OpenBSD: arc4random.c: In the incredibly unbelievable circumstance where _rs_init() fails to allocate pages, don't call abort() because of corefile data leakage concerns, but simply _exit(). The reasoning is _rs_init() will only fail if someone finds a way to apply specific pressure against this failure point, for the purpose of leaking information into a core which they can read. We don't need a corefile in this instance to debug that. So take this "lever" away from whoever in the future wants to do that. arc4random.3: reference random(4) arc4random_uniform.c: include stdint.h over sys/types.h Modified: head/lib/libc/gen/arc4random.3 head/lib/libc/gen/arc4random.c head/lib/libc/gen/arc4random_uniform.c Modified: head/lib/libc/gen/arc4random.3 ============================================================================== --- head/lib/libc/gen/arc4random.3 Mon Apr 13 08:41:24 2020 (r359848) +++ head/lib/libc/gen/arc4random.3 Mon Apr 13 08:42:13 2020 (r359849) @@ -1,4 +1,4 @@ -.\" $OpenBSD: arc4random.3,v 1.35 2014/11/25 16:45:24 millert Exp $ +.\" $OpenBSD: arc4random.3,v 1.37 2019/09/29 16:30:35 jmc Exp $ .\" .\" Copyright 1997 Niels Provos .\" All rights reserved. @@ -31,7 +31,7 @@ .\" Manual page, using -mandoc macros .\" $FreeBSD$ .\" -.Dd April 10, 2020 +.Dd April 13, 2020 .Dt ARC4RANDOM 3 .Os .Sh NAME @@ -71,7 +71,9 @@ On each call, a cryptographic pseudo-random number gen to generate a new result. One data pool is used for all consumers in a process, so that consumption under program flow can act as additional stirring. -The subsystem is re-seeded from the kernel random number subsystem using +The subsystem is re-seeded from the kernel +.Xr random 4 +subsystem using .Xr getentropy 2 on a regular basis, and also upon .Xr fork 2 . Modified: head/lib/libc/gen/arc4random.c ============================================================================== --- head/lib/libc/gen/arc4random.c Mon Apr 13 08:41:24 2020 (r359848) +++ head/lib/libc/gen/arc4random.c Mon Apr 13 08:42:13 2020 (r359849) @@ -1,4 +1,4 @@ -/* $OpenBSD: arc4random.c,v 1.54 2015/09/13 08:31:47 guenther Exp $ */ +/* $OpenBSD: arc4random.c,v 1.55 2019/03/24 17:56:54 deraadt Exp $ */ /* * Copyright (c) 1996, David Mazieres @@ -84,7 +84,7 @@ _rs_init(u_char *buf, size_t n) if (rs == NULL) { if (_rs_allocate(&rs, &rsx) == -1) - abort(); + _exit(1); } chacha_keysetup(&rsx->rs_chacha, buf, KEYSZ * 8); Modified: head/lib/libc/gen/arc4random_uniform.c ============================================================================== --- head/lib/libc/gen/arc4random_uniform.c Mon Apr 13 08:41:24 2020 (r359848) +++ head/lib/libc/gen/arc4random_uniform.c Mon Apr 13 08:42:13 2020 (r359849) @@ -1,4 +1,4 @@ -/* $OpenBSD: arc4random_uniform.c,v 1.2 2015/09/13 08:31:47 guenther Exp $ */ +/* $OpenBSD: arc4random_uniform.c,v 1.3 2019/01/20 02:59:07 bcook Exp $ */ /* * Copyright (c) 2008, Damien Miller @@ -18,7 +18,7 @@ * $FreeBSD$ */ -#include +#include #include /* From owner-svn-src-head@freebsd.org Mon Apr 13 09:01:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 267532B7C0B; Mon, 13 Apr 2020 09:01:47 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4912fz0Hqgz4KDk; Mon, 13 Apr 2020 09:01:47 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0569E18CE2; Mon, 13 Apr 2020 09:01:47 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03D91kUL097908; Mon, 13 Apr 2020 09:01:46 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03D91k5F097907; Mon, 13 Apr 2020 09:01:46 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004130901.03D91k5F097907@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Mon, 13 Apr 2020 09:01:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359854 - head/sys/dev/mn X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/dev/mn X-SVN-Commit-Revision: 359854 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 09:01:47 -0000 Author: melifaro Date: Mon Apr 13 09:01:46 2020 New Revision: 359854 URL: https://svnweb.freebsd.org/changeset/base/359854 Log: Remove unused 'struct rtentry' definition. Modified: head/sys/dev/mn/if_mn.c Modified: head/sys/dev/mn/if_mn.c ============================================================================== --- head/sys/dev/mn/if_mn.c Mon Apr 13 08:58:35 2020 (r359853) +++ head/sys/dev/mn/if_mn.c Mon Apr 13 09:01:46 2020 (r359854) @@ -165,7 +165,6 @@ struct m32_mem { struct mn_softc; struct sockaddr; -struct rtentry; static int mn_probe(device_t self); static int mn_attach(device_t self); From owner-svn-src-head@freebsd.org Mon Apr 13 14:26:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0F6E32BFBC9; Mon, 13 Apr 2020 14:26:36 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from mail.soaustin.net (mail.soaustin.net [18.222.6.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.soaustin.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4919sl6ZlWz4frG; Mon, 13 Apr 2020 14:26:35 +0000 (UTC) (envelope-from linimon@lonesome.com) Received: from lonesome.com (unknown [18.188.142.31]) by mail.soaustin.net (Postfix) with ESMTPSA id 11DEB13E42; Mon, 13 Apr 2020 14:26:35 +0000 (UTC) Date: Mon, 13 Apr 2020 14:26:34 +0000 From: Mark Linimon To: "Alexander V. Chernikov" Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359844 - head/sys/netinet6 Message-ID: <20200413142633.GA12511@lonesome.com> References: <202004130826.03D8QBa6076878@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202004130826.03D8QBa6076878@repo.freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-Rspamd-Queue-Id: 4919sl6ZlWz4frG X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 14:26:36 -0000 On Mon, Apr 13, 2020 at 08:26:11AM +0000, Alexander V. Chernikov wrote: > Remove tcp_rtlookup6() function signature. > The function itself was removed in r122922 16 years ago. I nominate this for "most amusing commit of the month" :-) Who knows what other cobwebs lurk in our src tree ... mcl From owner-svn-src-head@freebsd.org Mon Apr 13 14:35:08 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 964C52BFE88; Mon, 13 Apr 2020 14:35:08 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491B3c3Ry8z4gJg; Mon, 13 Apr 2020 14:35:08 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6D5611CD34; Mon, 13 Apr 2020 14:35:08 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DEZ859017968; Mon, 13 Apr 2020 14:35:08 GMT (envelope-from lwhsu@FreeBSD.org) Received: (from lwhsu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DEZ8tu017967; Mon, 13 Apr 2020 14:35:08 GMT (envelope-from lwhsu@FreeBSD.org) Message-Id: <202004131435.03DEZ8tu017967@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: lwhsu set sender to lwhsu@FreeBSD.org using -f From: Li-Wen Hsu Date: Mon, 13 Apr 2020 14:35:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359862 - head/usr.bin/calendar/tests X-SVN-Group: head X-SVN-Commit-Author: lwhsu X-SVN-Commit-Paths: head/usr.bin/calendar/tests X-SVN-Commit-Revision: 359862 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 14:35:08 -0000 Author: lwhsu Date: Mon Apr 13 14:35:07 2020 New Revision: 359862 URL: https://svnweb.freebsd.org/changeset/base/359862 Log: Install expected output file of test missed in r359585 Sponsored by: The FreeBSD Foundation Modified: head/usr.bin/calendar/tests/Makefile Modified: head/usr.bin/calendar/tests/Makefile ============================================================================== --- head/usr.bin/calendar/tests/Makefile Mon Apr 13 13:33:24 2020 (r359861) +++ head/usr.bin/calendar/tests/Makefile Mon Apr 13 14:35:07 2020 (r359862) @@ -21,6 +21,7 @@ ${PACKAGE}FILES+= regress.s1.out ${PACKAGE}FILES+= regress.s2.out ${PACKAGE}FILES+= regress.s3.out ${PACKAGE}FILES+= regress.s4.out +${PACKAGE}FILES+= regress.s5.out ${PACKAGE}FILES+= regress.sh ${PACKAGE}FILES+= regress.w0-1.out ${PACKAGE}FILES+= regress.w0-2.out From owner-svn-src-head@freebsd.org Mon Apr 13 15:59:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AF9052C1CD4; Mon, 13 Apr 2020 15:59:15 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491Cwg4BDCz3Hpf; Mon, 13 Apr 2020 15:59:15 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8AC6F1DDA8; Mon, 13 Apr 2020 15:59:15 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DFxFrr067583; Mon, 13 Apr 2020 15:59:15 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DFxFSl067582; Mon, 13 Apr 2020 15:59:15 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004131559.03DFxFSl067582@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 13 Apr 2020 15:59:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359865 - head/lib/libc/sys X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/lib/libc/sys X-SVN-Commit-Revision: 359865 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 15:59:15 -0000 Author: kevans Date: Mon Apr 13 15:59:15 2020 New Revision: 359865 URL: https://svnweb.freebsd.org/changeset/base/359865 Log: libc: remove shm_open(2)'s compat fallback This had been introduced to ease any pain for using slightly older kernels with a newer libc, e.g., for bisecting a kernel across the introduction of shm_open2(2). 6 months has passed, retire the fallback and let shm_open() unconditionally call shm_open2(). Stale includes are removed as well. Modified: head/lib/libc/sys/shm_open.c Modified: head/lib/libc/sys/shm_open.c ============================================================================== --- head/lib/libc/sys/shm_open.c Mon Apr 13 14:44:44 2020 (r359864) +++ head/lib/libc/sys/shm_open.c Mon Apr 13 15:59:15 2020 (r359865) @@ -33,12 +33,10 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include #include -#include #include #include @@ -47,25 +45,13 @@ __FBSDID("$FreeBSD$"); __weak_reference(shm_open, _shm_open); __weak_reference(shm_open, __sys_shm_open); -#define SHM_OPEN2_OSREL 1300048 - #define MEMFD_NAME_PREFIX "memfd:" int shm_open(const char *path, int flags, mode_t mode) { - if (__getosreldate() >= SHM_OPEN2_OSREL) - return (__sys_shm_open2(path, flags | O_CLOEXEC, mode, 0, - NULL)); - - /* - * Fallback to shm_open(2) on older kernels. The kernel will enforce - * O_CLOEXEC in this interface, unlike the newer shm_open2 which does - * not enforce it. The newer interface allows memfd_create(), for - * instance, to not have CLOEXEC on the returned fd. - */ - return (syscall(SYS_freebsd12_shm_open, path, flags, mode)); + return (__sys_shm_open2(path, flags | O_CLOEXEC, mode, 0, NULL)); } /* From owner-svn-src-head@freebsd.org Mon Apr 13 16:56:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C37C42C3A02; Mon, 13 Apr 2020 16:56:21 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491FBY4ZY6z3Q2C; Mon, 13 Apr 2020 16:56:21 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-164.local (unknown [IPv6:2601:648:8881:1e90:d8bf:7fe5:771e:58a8]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 0DFC02FC38; Mon, 13 Apr 2020 16:56:20 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r359374 - in head: . share/man/man4 share/man/man7 share/man/man9 sys/crypto/aesni sys/crypto/armv8 sys/crypto/blake2 sys/crypto/ccp sys/crypto/via sys/dev/cesa sys/dev/cxgbe sys/dev/cx... To: d@delphij.net, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003271825.02RIPOmR010857@repo.freebsd.org> <9c343572-5bf6-7047-f435-8e3fcffa8f8e@delphij.net> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: <36ec45df-1217-8709-61ec-9c335dee5736@FreeBSD.org> Date: Mon, 13 Apr 2020 09:56:20 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <9c343572-5bf6-7047-f435-8e3fcffa8f8e@delphij.net> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 16:56:21 -0000 On 4/12/20 1:08 PM, Xin Li wrote: > > > On 3/27/20 11:25 AM, John Baldwin wrote: > [...]> - Drivers no longer register a list of supported algorithms. This >> doesn't quite work when you factor in modes (e.g. a driver might >> support both AES-CBC and SHA2-256-HMAC separately but not combined >> for ETA). Instead, a new 'crypto_probesession' method has been >> added to the kobj interface for symmteric crypto drivers. This >> method returns a negative value on success (similar to how >> device_probe works) and the crypto framework uses this value to pick >> the "best" driver. There are three constants for hardware >> (e.g. ccr), accelerated software (e.g. aesni), and plain software >> (cryptosoft) that give preference in that order. One effect of this >> is that if you request only hardware when creating a new session, >> you will no longer get a session using accelerated software. >> Another effect is that the default setting to disallow software >> crypto via /dev/crypto now disables accelerated software. > > For user-visible interface, it seems like we are essentially treating > "accelerated software" like AES-NI the same way of plain software. For > example, geom_eli would now say: > > GEOM_ELI: Encryption: AES-XTS 128 > GEOM_ELI: Crypto: software > > Instead of: > > GEOM_ELI: Encryption: AES-XTS 128 > GEOM_ELI: Crypto: hardware > > When AES-NI is used (which is because we only have two bits to represent > hardware and software, and have gave neither bits clear with its own > meaning (use specific driver)). > > If we are not going to add a new bit to represent accelerated software, > why are they categorized as software providers? Technically, all these > still requires hardware that implements the cryptographic primitives to > work, and it's much easier for system administrators if we expose the > fact that they are using some kind of acceleration than asking them to > run DTrace etc. to find out. Personally, I think it's probably better > to change the notion to either "accelerated" (by either hardware or > software) and "software"... The only case where this is visible is in fact GELI (there is no printf for IPsec or KTLS). For /dev/crypto using aesni.ko is a bug, not a feature, as any such software would be much better off using AES-NI in userland instead of round-tripping through the kernel. We could add a bit to appease the GELI printf, or we could just kill the GELI printf. I think a more useful approach would probably be to kill the GELI printf and instead add something less GELI-specific such as counters of active sessions for the various cryptographic drivers that would show which drivers are in use for any in-kernel crypto. This approach also lends itself to supporting a more flexible API where a single crypto session might be backed by multiple drivers where a binary hardware / software setting might not even make sense as you might have a mix. (I know of other out-of-tree crypto use cases that experimented with splitting in-kernel crypto workloads between an async co-processor and AES-NI.) Also, while AES-NI instructions are faster than plain C, they are still very much software rather than an engine like QAT or ccr(4). They run synchronously using host CPU cycles rather than async on a separate co-processor. This means that if you tweak the various geli sysctls for batching vs non-batching, etc. you need to make the same choices for both accelerated software and "plain" software vs possibly different choices for an async co-processor. -- John Baldwin From owner-svn-src-head@freebsd.org Mon Apr 13 17:55:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 138D52C4E5E; Mon, 13 Apr 2020 17:55:32 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491GVq6qmYz401C; Mon, 13 Apr 2020 17:55:31 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E5A6B1F5E4; Mon, 13 Apr 2020 17:55:31 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DHtVrr049555; Mon, 13 Apr 2020 17:55:31 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DHtVAC049554; Mon, 13 Apr 2020 17:55:31 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004131755.03DHtVAC049554@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 13 Apr 2020 17:55:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359891 - in head: sys/kern tests/sys/file X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: sys/kern tests/sys/file X-SVN-Commit-Revision: 359891 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 17:55:32 -0000 Author: kevans Date: Mon Apr 13 17:55:31 2020 New Revision: 359891 URL: https://svnweb.freebsd.org/changeset/base/359891 Log: close_range/closefrom: fix regression from close_range introduction close_range will clamp the range between [0, fdp->fd_lastfile], but failed to take into account that fdp->fd_lastfile can become -1 if all fds are closed. =-( In this scenario, just return because there's nothing further we can do at the moment. Add a test case for this, fork() and simply closefrom(0) twice in the child; on the second invocation, fdp->fd_lastfile == -1 and will trigger a panic before this change. X-MFC-With: r359836 Modified: head/sys/kern/kern_descrip.c head/tests/sys/file/closefrom_test.c Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Mon Apr 13 16:34:21 2020 (r359890) +++ head/sys/kern/kern_descrip.c Mon Apr 13 17:55:31 2020 (r359891) @@ -1333,6 +1333,14 @@ kern_close_range(struct thread *td, u_int lowfd, u_int ret = EINVAL; goto out; } + + /* + * If fdp->fd_lastfile == -1, we're dealing with either a fresh file + * table or one in which every fd has been closed. Just return + * successful; there's nothing left to do. + */ + if (fdp->fd_lastfile == -1) + goto out; /* Clamped to [lowfd, fd_lastfile] */ highfd = MIN(highfd, fdp->fd_lastfile); for (fd = lowfd; fd <= highfd; fd++) { Modified: head/tests/sys/file/closefrom_test.c ============================================================================== --- head/tests/sys/file/closefrom_test.c Mon Apr 13 16:34:21 2020 (r359890) +++ head/tests/sys/file/closefrom_test.c Mon Apr 13 17:55:31 2020 (r359891) @@ -146,7 +146,7 @@ main(void) pid_t pid; int fd, i, start; - printf("1..19\n"); + printf("1..20\n"); /* We better start up with fd's 0, 1, and 2 open. */ start = devnull(); @@ -308,6 +308,22 @@ main(void) if (fd != 3) fail("close_range", "highest fd %d", fd); ok("close_range"); + + /* Fork a child process to test closefrom(0) twice. */ + pid = fork(); + if (pid < 0) + fail_err("fork"); + if (pid == 0) { + /* Child. */ + closefrom(0); + closefrom(0); + cok(info, "closefrom(0)"); + } + if (wait(NULL) < 0) + fail_err("wait"); + if (info->failed) + fail(info->tag, "%s", info->message); + ok(info->tag); return (0); } From owner-svn-src-head@freebsd.org Mon Apr 13 19:20:39 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B693D2C6C8A; Mon, 13 Apr 2020 19:20:39 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491JP34RxWz44QD; Mon, 13 Apr 2020 19:20:39 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9400020601; Mon, 13 Apr 2020 19:20:39 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DJKdoF001419; Mon, 13 Apr 2020 19:20:39 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DJKdTU001418; Mon, 13 Apr 2020 19:20:39 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202004131920.03DJKdTU001418@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 13 Apr 2020 19:20:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359892 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359892 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 19:20:39 -0000 Author: markj Date: Mon Apr 13 19:20:39 2020 New Revision: 359892 URL: https://svnweb.freebsd.org/changeset/base/359892 Log: Relax restrictions on private mappings of POSIX shm objects. When creating a private mapping of a POSIX shared memory object, VM_PROT_WRITE should always be included in maxprot regardless of permissions on the underlying FD. Otherwise it is possible to open a shm object read-only, map it with MAP_PRIVATE and PROT_WRITE, and violate the invariant in vm_map_insert() that (prot & maxprot) == prot. Reported by: syzkaller Reviewed by: kevans, kib MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24398 Modified: head/sys/kern/uipc_shm.c Modified: head/sys/kern/uipc_shm.c ============================================================================== --- head/sys/kern/uipc_shm.c Mon Apr 13 17:55:31 2020 (r359891) +++ head/sys/kern/uipc_shm.c Mon Apr 13 19:20:39 2020 (r359892) @@ -1136,23 +1136,28 @@ shm_mmap(struct file *fp, vm_map_t map, vm_offset_t *a /* * If FWRITE's set, we can allow VM_PROT_WRITE unless it's a shared - * mapping with a write seal applied. + * mapping with a write seal applied. Private mappings are always + * writeable. */ - if ((fp->f_flag & FWRITE) != 0 && ((flags & MAP_SHARED) == 0 || - (shmfd->shm_seals & F_SEAL_WRITE) == 0)) + if ((flags & MAP_SHARED) == 0) { + cap_maxprot |= VM_PROT_WRITE; maxprot |= VM_PROT_WRITE; + writecnt = false; + } else { + if ((fp->f_flag & FWRITE) != 0 && + (shmfd->shm_seals & F_SEAL_WRITE) == 0) + maxprot |= VM_PROT_WRITE; + writecnt = (prot & VM_PROT_WRITE) != 0; + if (writecnt && (shmfd->shm_seals & F_SEAL_WRITE) != 0) { + error = EPERM; + goto out; + } - writecnt = (flags & MAP_SHARED) != 0 && (prot & VM_PROT_WRITE) != 0; - - if (writecnt && (shmfd->shm_seals & F_SEAL_WRITE) != 0) { - error = EPERM; - goto out; - } - - /* Don't permit shared writable mappings on read-only descriptors. */ - if (writecnt && (maxprot & VM_PROT_WRITE) == 0) { - error = EACCES; - goto out; + /* Don't permit shared writable mappings on read-only descriptors. */ + if (writecnt && (maxprot & VM_PROT_WRITE) == 0) { + error = EACCES; + goto out; + } } maxprot &= cap_maxprot; From owner-svn-src-head@freebsd.org Mon Apr 13 19:22:05 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CE3912C6D56; Mon, 13 Apr 2020 19:22:05 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491JQj583Hz44ll; Mon, 13 Apr 2020 19:22:05 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ABBFA207B5; Mon, 13 Apr 2020 19:22:05 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DJM52C003793; Mon, 13 Apr 2020 19:22:05 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DJM56L003792; Mon, 13 Apr 2020 19:22:05 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202004131922.03DJM56L003792@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 13 Apr 2020 19:22:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359893 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359893 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 19:22:05 -0000 Author: markj Date: Mon Apr 13 19:22:05 2020 New Revision: 359893 URL: https://svnweb.freebsd.org/changeset/base/359893 Log: Fix sendto() on unconnected SOCK_STREAM/SEQPACKET unix sockets. Previously the unpcb pointer of the newly connected remote socket was not initialized correctly, so attempting to lock it would result in a null pointer dereference. Reported by: syzkaller MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/kern/uipc_usrreq.c Modified: head/sys/kern/uipc_usrreq.c ============================================================================== --- head/sys/kern/uipc_usrreq.c Mon Apr 13 19:20:39 2020 (r359892) +++ head/sys/kern/uipc_usrreq.c Mon Apr 13 19:22:05 2020 (r359893) @@ -1138,25 +1138,29 @@ uipc_send(struct socket *so, int flags, struct mbuf *m case SOCK_STREAM: if ((so->so_state & SS_ISCONNECTED) == 0) { if (nam != NULL) { - if ((error = connect_internal(so, nam, td))) + error = connect_internal(so, nam, td); + if (error != 0) break; - } else { + } else { error = ENOTCONN; break; } - } else if ((unp2 = unp->unp_conn) == NULL) { + } else { + UNP_PCB_LOCK(unp); + } + + if ((unp2 = unp->unp_conn) == NULL) { + UNP_PCB_UNLOCK(unp); error = ENOTCONN; break; } else if (so->so_snd.sb_state & SBS_CANTSENDMORE) { + UNP_PCB_UNLOCK(unp); error = EPIPE; break; - } else { - UNP_PCB_LOCK(unp); - if ((unp2 = unp->unp_conn) == NULL) { - UNP_PCB_UNLOCK(unp); - error = ENOTCONN; - break; - } + } else if ((unp2 = unp->unp_conn) == NULL) { + UNP_PCB_UNLOCK(unp); + error = ENOTCONN; + break; } unp_pcb_owned_lock2(unp, unp2, freed); UNP_PCB_UNLOCK(unp); @@ -1198,15 +1202,11 @@ uipc_send(struct socket *so, int flags, struct mbuf *m sbappend_locked(&so2->so_rcv, m, flags); break; - case SOCK_SEQPACKET: { - const struct sockaddr *from; - - from = &sun_noname; + case SOCK_SEQPACKET: if (sbappendaddr_nospacecheck_locked(&so2->so_rcv, - from, m, control)) + &sun_noname, m, control)) control = NULL; break; - } } mbcnt = so2->so_rcv.sb_mbcnt; From owner-svn-src-head@freebsd.org Mon Apr 13 19:22:10 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 996CC2C6D77; Mon, 13 Apr 2020 19:22:10 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (gate2.funkthat.com [208.87.223.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "gate2.funkthat.com", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491JQp0Vd4z44nS; Mon, 13 Apr 2020 19:22:09 +0000 (UTC) (envelope-from jmg@gold.funkthat.com) Received: from gold.funkthat.com (localhost [127.0.0.1]) by gold.funkthat.com (8.15.2/8.15.2) with ESMTPS id 03DJM34J099555 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 13 Apr 2020 12:22:03 -0700 (PDT) (envelope-from jmg@gold.funkthat.com) Received: (from jmg@localhost) by gold.funkthat.com (8.15.2/8.15.2/Submit) id 03DJM3qM099554; Mon, 13 Apr 2020 12:22:03 -0700 (PDT) (envelope-from jmg) Date: Mon, 13 Apr 2020 12:22:02 -0700 From: John-Mark Gurney To: John Baldwin Cc: d@delphij.net, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359374 - in head: . share/man/man4 share/man/man7 share/man/man9 sys/crypto/aesni sys/crypto/armv8 sys/crypto/blake2 sys/crypto/ccp sys/crypto/via sys/dev/cesa sys/dev/cxgbe sys/dev/cx... Message-ID: <20200413192202.GQ4213@funkthat.com> Mail-Followup-To: John Baldwin , d@delphij.net, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202003271825.02RIPOmR010857@repo.freebsd.org> <9c343572-5bf6-7047-f435-8e3fcffa8f8e@delphij.net> <36ec45df-1217-8709-61ec-9c335dee5736@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <36ec45df-1217-8709-61ec-9c335dee5736@FreeBSD.org> X-Operating-System: FreeBSD 11.3-STABLE amd64 X-PGP-Fingerprint: D87A 235F FB71 1F3F 55B7 ED9B D5FF 5A51 C0AC 3D65 X-Files: The truth is out there X-URL: https://www.funkthat.com/ X-Resume: https://www.funkthat.com/~jmg/resume.html X-TipJar: bitcoin:13Qmb6AeTgQecazTWph4XasEsP7nGRbAPE X-to-the-FBI-CIA-and-NSA: HI! HOW YA DOIN? can i haz chizburger? User-Agent: Mutt/1.6.1 (2016-04-27) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.4.3 (gold.funkthat.com [127.0.0.1]); Mon, 13 Apr 2020 12:22:03 -0700 (PDT) X-Rspamd-Queue-Id: 491JQp0Vd4z44nS X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 19:22:10 -0000 John Baldwin wrote this message on Mon, Apr 13, 2020 at 09:56 -0700: > On 4/12/20 1:08 PM, Xin Li wrote: > > > > > > On 3/27/20 11:25 AM, John Baldwin wrote: > > [...]> - Drivers no longer register a list of supported algorithms. This > >> doesn't quite work when you factor in modes (e.g. a driver might > >> support both AES-CBC and SHA2-256-HMAC separately but not combined > >> for ETA). Instead, a new 'crypto_probesession' method has been > >> added to the kobj interface for symmteric crypto drivers. This > >> method returns a negative value on success (similar to how > >> device_probe works) and the crypto framework uses this value to pick > >> the "best" driver. There are three constants for hardware > >> (e.g. ccr), accelerated software (e.g. aesni), and plain software > >> (cryptosoft) that give preference in that order. One effect of this > >> is that if you request only hardware when creating a new session, > >> you will no longer get a session using accelerated software. > >> Another effect is that the default setting to disallow software > >> crypto via /dev/crypto now disables accelerated software. > > > > For user-visible interface, it seems like we are essentially treating > > "accelerated software" like AES-NI the same way of plain software. For > > example, geom_eli would now say: > > > > GEOM_ELI: Encryption: AES-XTS 128 > > GEOM_ELI: Crypto: software > > > > Instead of: > > > > GEOM_ELI: Encryption: AES-XTS 128 > > GEOM_ELI: Crypto: hardware > > > > When AES-NI is used (which is because we only have two bits to represent > > hardware and software, and have gave neither bits clear with its own > > meaning (use specific driver)). > > > > If we are not going to add a new bit to represent accelerated software, > > why are they categorized as software providers? Technically, all these > > still requires hardware that implements the cryptographic primitives to > > work, and it's much easier for system administrators if we expose the > > fact that they are using some kind of acceleration than asking them to > > run DTrace etc. to find out. Personally, I think it's probably better > > to change the notion to either "accelerated" (by either hardware or > > software) and "software"... > > The only case where this is visible is in fact GELI (there is no printf > for IPsec or KTLS). For /dev/crypto using aesni.ko is a bug, not a > feature, as any such software would be much better off using AES-NI in > userland instead of round-tripping through the kernel. We could add a > bit to appease the GELI printf, or we could just kill the GELI > printf. I think a more useful approach would probably be to kill the > GELI printf and instead add something less GELI-specific such as > counters of active sessions for the various cryptographic drivers that > would show which drivers are in use for any in-kernel crypto. This > approach also lends itself to supporting a more flexible API where a > single crypto session might be backed by multiple drivers where a > binary hardware / software setting might not even make sense as you > might have a mix. (I know of other out-of-tree crypto use cases that > experimented with splitting in-kernel crypto workloads between an > async co-processor and AES-NI.) As long as there remains some what to warn the user that when they've mounted a geli volume that they're using slow crypto, I'm fine... We have done a bad job on doing the right thing, and I'm afraid that removing this print w/o doing something to address it will go from FreeBSD already not doing the right thing, but to not allowing the user to know that FreeBSD isn't doing the right thing. Even a simple print in the crypto driver when the processor supports AES-NI, but the aesni module isn't loaded would be useful.. Without the geli print, it's likely articles, like the recent Anandtech, will think FreeBSD's encrypted volumes are slow when it's just a failure for us to do the correct thing. I haven't looeked at the new code, but the resaon that aesni.ko was considered a hardware vs software device was that the existing crypto framework didn't have a well to tell the two apart, and it wasn't possible to select the aesni.ko routines over the software routines in a reliable manner. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not." From owner-svn-src-head@freebsd.org Mon Apr 13 19:31:50 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9EE612C73CA for ; Mon, 13 Apr 2020 19:31:50 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qv1-xf41.google.com (mail-qv1-xf41.google.com [IPv6:2607:f8b0:4864:20::f41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491Jdx4fXcz45b5 for ; Mon, 13 Apr 2020 19:31:49 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qv1-xf41.google.com with SMTP id q73so4997561qvq.2 for ; Mon, 13 Apr 2020 12:31:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=/AYDxP2Q3Mh49CQR1w0RDODJGLYGfShpBU3bQtJYqXI=; b=q+uoVCekLK1jHgdPoJSygRef3x9hPxN86pXvTDETJrQWSombwxnivM0ShxZ7IZqzQt YF3uadninlPG+P/ORuCpH7m8+nbmE+XV6Wv/lSjHORO9c8l1DK7Dokkv1lUKNPUhEm0H 6mbkInTPu2+6rUmeKxEtN3HCbWmTsscC155FCm7OzlRTdqDBDX2uTtl1x/j56WrLWkaV 0P6WLLGNl4WvtbHfyOpyNLIBQCjiHGXn68zPV+XB/xo8dA8raS8iO1neA1o1Ex1Qv2s3 Piya1cYSHmladg4nyOecAAQJtfML4fXGRxMXSCX60jd9UNFcUKT3c52hQfBFgFJWi40G mrTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=/AYDxP2Q3Mh49CQR1w0RDODJGLYGfShpBU3bQtJYqXI=; b=AyZX+5j1Y5kNXKkki+IZ768JN8oVp2U8PtTAT9CKXackTiWy9edbmcDXySJ4zegZLd TyShNIk+LI0hHhzz+GYNy4D5nBLSkOixNiJoRxtUepT7lC7Buhv82nmx9XVEFHP9zRUz Tw4ATb74Il+HrdewXIRMRcajhtpFNHbYrmBS+6N3E1FErCiUJKZqnS+SksAZlPy9WGGc 9SAMfyR+70EJrujfP4bt2T2n8QgeR0H8dsbcrL8r1pWUhmb3AdOxSMB2vo3zztGS8pf/ xkF7HkM6PWJ/G7fNqrG3VQ1oclBq98C+LdLJ9fu9Gej0oSLzU4AVkbRlD5KDoBorgrJq aZvg== X-Gm-Message-State: AGi0PuZZQbsearzndRMAXgoKmDHftzdG8CrAYaz7ly8WHX3VmUWbMXQ/ DK2OvW3jCERQyC0ZKR2PXXFm/oZQn11H3G91iYEHUWBH X-Google-Smtp-Source: APiQypJJwpns9hkEeyvoWKcvK3O0Tv/s+ipNQgXkbS/rSjyqRESq6obWTtrFq/l3vWpFue+u47tQtdHKAc7xmUcajSs= X-Received: by 2002:a0c:e105:: with SMTP id w5mr2335124qvk.118.1586806307998; Mon, 13 Apr 2020 12:31:47 -0700 (PDT) MIME-Version: 1.0 References: <202003271825.02RIPOmR010857@repo.freebsd.org> <9c343572-5bf6-7047-f435-8e3fcffa8f8e@delphij.net> <36ec45df-1217-8709-61ec-9c335dee5736@FreeBSD.org> <20200413192202.GQ4213@funkthat.com> In-Reply-To: <20200413192202.GQ4213@funkthat.com> From: Warner Losh Date: Mon, 13 Apr 2020 13:31:36 -0600 Message-ID: Subject: Re: svn commit: r359374 - in head: . share/man/man4 share/man/man7 share/man/man9 sys/crypto/aesni sys/crypto/armv8 sys/crypto/blake2 sys/crypto/ccp sys/crypto/via sys/dev/cesa sys/dev/cxgbe sys/dev/cx... To: John Baldwin , Xin LI , src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 491Jdx4fXcz45b5 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=q+uoVCek; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::f41) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-2.15 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.99)[-0.994,0]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCVD_IN_DNSWL_NONE(0.00)[1.4.f.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-0.16)[ip: (0.00), ipnet: 2607:f8b0::/32(-0.33), asn: 15169(-0.43), country: US(-0.05)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 19:31:50 -0000 On Mon, Apr 13, 2020 at 1:22 PM John-Mark Gurney wrote: > John Baldwin wrote this message on Mon, Apr 13, 2020 at 09:56 -0700: > > On 4/12/20 1:08 PM, Xin Li wrote: > > > > > > > > > On 3/27/20 11:25 AM, John Baldwin wrote: > > > [...]> - Drivers no longer register a list of supported algorithms. > This > > >> doesn't quite work when you factor in modes (e.g. a driver might > > >> support both AES-CBC and SHA2-256-HMAC separately but not combined > > >> for ETA). Instead, a new 'crypto_probesession' method has been > > >> added to the kobj interface for symmteric crypto drivers. This > > >> method returns a negative value on success (similar to how > > >> device_probe works) and the crypto framework uses this value to > pick > > >> the "best" driver. There are three constants for hardware > > >> (e.g. ccr), accelerated software (e.g. aesni), and plain software > > >> (cryptosoft) that give preference in that order. One effect of > this > > >> is that if you request only hardware when creating a new session, > > >> you will no longer get a session using accelerated software. > > >> Another effect is that the default setting to disallow software > > >> crypto via /dev/crypto now disables accelerated software. > > > > > > For user-visible interface, it seems like we are essentially treating > > > "accelerated software" like AES-NI the same way of plain software. For > > > example, geom_eli would now say: > > > > > > GEOM_ELI: Encryption: AES-XTS 128 > > > GEOM_ELI: Crypto: software > > > > > > Instead of: > > > > > > GEOM_ELI: Encryption: AES-XTS 128 > > > GEOM_ELI: Crypto: hardware > > > > > > When AES-NI is used (which is because we only have two bits to > represent > > > hardware and software, and have gave neither bits clear with its own > > > meaning (use specific driver)). > > > > > > If we are not going to add a new bit to represent accelerated software, > > > why are they categorized as software providers? Technically, all these > > > still requires hardware that implements the cryptographic primitives to > > > work, and it's much easier for system administrators if we expose the > > > fact that they are using some kind of acceleration than asking them to > > > run DTrace etc. to find out. Personally, I think it's probably better > > > to change the notion to either "accelerated" (by either hardware or > > > software) and "software"... > > > > The only case where this is visible is in fact GELI (there is no printf > > for IPsec or KTLS). For /dev/crypto using aesni.ko is a bug, not a > > feature, as any such software would be much better off using AES-NI in > > userland instead of round-tripping through the kernel. We could add a > > bit to appease the GELI printf, or we could just kill the GELI > > printf. I think a more useful approach would probably be to kill the > > GELI printf and instead add something less GELI-specific such as > > counters of active sessions for the various cryptographic drivers that > > would show which drivers are in use for any in-kernel crypto. This > > approach also lends itself to supporting a more flexible API where a > > single crypto session might be backed by multiple drivers where a > > binary hardware / software setting might not even make sense as you > > might have a mix. (I know of other out-of-tree crypto use cases that > > experimented with splitting in-kernel crypto workloads between an > > async co-processor and AES-NI.) > > As long as there remains some what to warn the user that when they've > mounted a geli volume that they're using slow crypto, I'm fine... > > We have done a bad job on doing the right thing, and I'm afraid that > removing this print w/o doing something to address it will go from > FreeBSD already not doing the right thing, but to not allowing the user > to know that FreeBSD isn't doing the right thing. > > Even a simple print in the crypto driver when the processor supports > AES-NI, but the aesni module isn't loaded would be useful.. > > Without the geli print, it's likely articles, like the recent Anandtech, > will think FreeBSD's encrypted volumes are slow when it's just a failure > for us to do the correct thing. > > I haven't looeked at the new code, but the resaon that aesni.ko was > considered a hardware vs software device was that the existing crypto > framework didn't have a well to tell the two apart, and it wasn't > possible to select the aesni.ko routines over the software routines > in a reliable manner. > Seems to me this isn't a binary, but a triary: software, CPU assist, hardware offload. but that maybe over-complicating things... Warner From owner-svn-src-head@freebsd.org Mon Apr 13 19:45:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 395BD2C77F0; Mon, 13 Apr 2020 19:45:46 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491Jy20dYWz46N0; Mon, 13 Apr 2020 19:45:46 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 10F7B20BC9; Mon, 13 Apr 2020 19:45:46 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DJjjpw016855; Mon, 13 Apr 2020 19:45:45 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DJjj8M016854; Mon, 13 Apr 2020 19:45:45 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202004131945.03DJjj8M016854@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Mon, 13 Apr 2020 19:45:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359894 - head/sys/dev/sound/pci/hda X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 359894 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 19:45:46 -0000 Author: markj Date: Mon Apr 13 19:45:45 2020 New Revision: 359894 URL: https://svnweb.freebsd.org/changeset/base/359894 Log: snd_hda(4): Recognize the ALC257 codec. PR: 245524 Submitted by: Jose Luis Duran MFC after: 1 week Modified: head/sys/dev/sound/pci/hda/hdac.h head/sys/dev/sound/pci/hda/hdacc.c Modified: head/sys/dev/sound/pci/hda/hdac.h ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.h Mon Apr 13 19:22:05 2020 (r359893) +++ head/sys/dev/sound/pci/hda/hdac.h Mon Apr 13 19:45:45 2020 (r359894) @@ -366,6 +366,7 @@ #define HDA_CODEC_ALC235 HDA_CODEC_CONSTRUCT(REALTEK, 0x0235) #define HDA_CODEC_ALC255 HDA_CODEC_CONSTRUCT(REALTEK, 0x0255) #define HDA_CODEC_ALC256 HDA_CODEC_CONSTRUCT(REALTEK, 0x0256) +#define HDA_CODEC_ALC257 HDA_CODEC_CONSTRUCT(REALTEK, 0x0257) #define HDA_CODEC_ALC260 HDA_CODEC_CONSTRUCT(REALTEK, 0x0260) #define HDA_CODEC_ALC262 HDA_CODEC_CONSTRUCT(REALTEK, 0x0262) #define HDA_CODEC_ALC267 HDA_CODEC_CONSTRUCT(REALTEK, 0x0267) Modified: head/sys/dev/sound/pci/hda/hdacc.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdacc.c Mon Apr 13 19:22:05 2020 (r359893) +++ head/sys/dev/sound/pci/hda/hdacc.c Mon Apr 13 19:45:45 2020 (r359894) @@ -86,6 +86,7 @@ static const struct { { HDA_CODEC_ALC235, 0, "Realtek ALC235" }, { HDA_CODEC_ALC255, 0, "Realtek ALC255" }, { HDA_CODEC_ALC256, 0, "Realtek ALC256" }, + { HDA_CODEC_ALC257, 0, "Realtek ALC257" }, { HDA_CODEC_ALC260, 0, "Realtek ALC260" }, { HDA_CODEC_ALC262, 0, "Realtek ALC262" }, { HDA_CODEC_ALC267, 0, "Realtek ALC267" }, From owner-svn-src-head@freebsd.org Mon Apr 13 19:49:12 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 241A12C7906; Mon, 13 Apr 2020 19:49:12 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491K2007gLz46dg; Mon, 13 Apr 2020 19:49:12 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-164.local (unknown [IPv6:2601:648:8881:1e90:d8bf:7fe5:771e:58a8]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 3D17413B7; Mon, 13 Apr 2020 19:49:11 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r359374 - in head: . share/man/man4 share/man/man7 share/man/man9 sys/crypto/aesni sys/crypto/armv8 sys/crypto/blake2 sys/crypto/ccp sys/crypto/via sys/dev/cesa sys/dev/cxgbe sys/dev/cx... To: Warner Losh , Xin LI , src-committers , svn-src-all , svn-src-head References: <202003271825.02RIPOmR010857@repo.freebsd.org> <9c343572-5bf6-7047-f435-8e3fcffa8f8e@delphij.net> <36ec45df-1217-8709-61ec-9c335dee5736@FreeBSD.org> <20200413192202.GQ4213@funkthat.com> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: <7aa19355-7e3f-912e-5dff-a0c28f9f1189@FreeBSD.org> Date: Mon, 13 Apr 2020 12:49:09 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 19:49:12 -0000 On 4/13/20 12:31 PM, Warner Losh wrote: > On Mon, Apr 13, 2020 at 1:22 PM John-Mark Gurney wrote: > >> John Baldwin wrote this message on Mon, Apr 13, 2020 at 09:56 -0700: >>> On 4/12/20 1:08 PM, Xin Li wrote: >>>> >>>> >>>> On 3/27/20 11:25 AM, John Baldwin wrote: >>>> [...]> - Drivers no longer register a list of supported algorithms. >> This >>>>> doesn't quite work when you factor in modes (e.g. a driver might >>>>> support both AES-CBC and SHA2-256-HMAC separately but not combined >>>>> for ETA). Instead, a new 'crypto_probesession' method has been >>>>> added to the kobj interface for symmteric crypto drivers. This >>>>> method returns a negative value on success (similar to how >>>>> device_probe works) and the crypto framework uses this value to >> pick >>>>> the "best" driver. There are three constants for hardware >>>>> (e.g. ccr), accelerated software (e.g. aesni), and plain software >>>>> (cryptosoft) that give preference in that order. One effect of >> this >>>>> is that if you request only hardware when creating a new session, >>>>> you will no longer get a session using accelerated software. >>>>> Another effect is that the default setting to disallow software >>>>> crypto via /dev/crypto now disables accelerated software. >>>> >>>> For user-visible interface, it seems like we are essentially treating >>>> "accelerated software" like AES-NI the same way of plain software. For >>>> example, geom_eli would now say: >>>> >>>> GEOM_ELI: Encryption: AES-XTS 128 >>>> GEOM_ELI: Crypto: software >>>> >>>> Instead of: >>>> >>>> GEOM_ELI: Encryption: AES-XTS 128 >>>> GEOM_ELI: Crypto: hardware >>>> >>>> When AES-NI is used (which is because we only have two bits to >> represent >>>> hardware and software, and have gave neither bits clear with its own >>>> meaning (use specific driver)). >>>> >>>> If we are not going to add a new bit to represent accelerated software, >>>> why are they categorized as software providers? Technically, all these >>>> still requires hardware that implements the cryptographic primitives to >>>> work, and it's much easier for system administrators if we expose the >>>> fact that they are using some kind of acceleration than asking them to >>>> run DTrace etc. to find out. Personally, I think it's probably better >>>> to change the notion to either "accelerated" (by either hardware or >>>> software) and "software"... >>> >>> The only case where this is visible is in fact GELI (there is no printf >>> for IPsec or KTLS). For /dev/crypto using aesni.ko is a bug, not a >>> feature, as any such software would be much better off using AES-NI in >>> userland instead of round-tripping through the kernel. We could add a >>> bit to appease the GELI printf, or we could just kill the GELI >>> printf. I think a more useful approach would probably be to kill the >>> GELI printf and instead add something less GELI-specific such as >>> counters of active sessions for the various cryptographic drivers that >>> would show which drivers are in use for any in-kernel crypto. This >>> approach also lends itself to supporting a more flexible API where a >>> single crypto session might be backed by multiple drivers where a >>> binary hardware / software setting might not even make sense as you >>> might have a mix. (I know of other out-of-tree crypto use cases that >>> experimented with splitting in-kernel crypto workloads between an >>> async co-processor and AES-NI.) >> >> As long as there remains some what to warn the user that when they've >> mounted a geli volume that they're using slow crypto, I'm fine... >> >> We have done a bad job on doing the right thing, and I'm afraid that >> removing this print w/o doing something to address it will go from >> FreeBSD already not doing the right thing, but to not allowing the user >> to know that FreeBSD isn't doing the right thing. >> >> Even a simple print in the crypto driver when the processor supports >> AES-NI, but the aesni module isn't loaded would be useful.. >> >> Without the geli print, it's likely articles, like the recent Anandtech, >> will think FreeBSD's encrypted volumes are slow when it's just a failure >> for us to do the correct thing. >> >> I haven't looeked at the new code, but the resaon that aesni.ko was >> considered a hardware vs software device was that the existing crypto >> framework didn't have a well to tell the two apart, and it wasn't >> possible to select the aesni.ko routines over the software routines >> in a reliable manner. >> > > Seems to me this isn't a binary, but a triary: software, CPU assist, > hardware offload. but that maybe over-complicating things... The new code does the trinary under the hood for the interface between sessions and drivers. It's even documented that way now in crypto_driver.9: When a new session is created by crypto_newsession(), CRYPTODEV_PROBESESSION() is invoked by the cryptographic framework on each active driver to determine the best driver to use for the session. This method should inspect the session parameters in csp. If a driver does not support requests described by csp, this method should return an error value. If the driver does support requests described by csp, it should return a negative value. The framework prefers drivers with the largest negative value, similar to DEVICE_PROBE(9). The following values are defined for non-error return values from this method: CRYPTODEV_PROBE_HARDWARE The driver processes requests via a co- processor. CRYPTODEV_PROBE_ACCEL_SOFTWARE The driver processes requests on the host CPU using optimized instructions such as AES-NI. CRYPTODEV_PROBE_SOFTWARE The driver processes requests on the host CPU. This method should not sleep. This ensures that aesni.ko is always preferred to plain C, but not necessarily to async co-processors (but see my caveat that we probably want the ability for more nuance here). However, the other end of the API that governs how in-kernel consumers request sessions is still binary, and GELI is using that part of the API that I didn't change for its printf. However, in-kernel consumers mostly don't care in that they always want some crypto even if it's the slow fallback. The only cases that care are /dev/crypto (for which the right answer is to not user any kind of software by default), and the GELI printf. At the moment I'm working on further performance improvements and cleanups in OCF motivated by KTLS, though they should also help at least some cases in GELI by reducing the number of copies needed. I can circle back to adding a flag for GELI's printf at some point after I've made more progress on the current work. -- John Baldwin From owner-svn-src-head@freebsd.org Mon Apr 13 19:50:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7E2462C79ED; Mon, 13 Apr 2020 19:50:48 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491K3r2pMpz46t7; Mon, 13 Apr 2020 19:50:48 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5B63620BF2; Mon, 13 Apr 2020 19:50:48 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DJomgG021093; Mon, 13 Apr 2020 19:50:48 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DJol9d021091; Mon, 13 Apr 2020 19:50:47 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004131950.03DJol9d021091@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 13 Apr 2020 19:50:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359895 - in head: . tools/build X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: . tools/build X-SVN-Commit-Revision: 359895 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 19:50:48 -0000 Author: kevans Date: Mon Apr 13 19:50:47 2020 New Revision: 359895 URL: https://svnweb.freebsd.org/changeset/base/359895 Log: Move shm_open dependency cleanup into a new home r359461 introduced this nifty script to centralize these things, so add shm_open.c there to remove a total of one (1) bad example from Makefile.inc1. Looked over by: emaste Modified: head/Makefile.inc1 head/tools/build/depend-cleanup.sh Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Mon Apr 13 19:45:45 2020 (r359894) +++ head/Makefile.inc1 Mon Apr 13 19:50:47 2020 (r359895) @@ -956,15 +956,6 @@ _cleanobj_fast_depend_hack: .PHONY fi .endif .endfor -# 20190916 r352703 shm_open -.for f in shm_open - @if [ -e "${OBJTOP}/lib/libc/.depend.${f}.o" ] && \ - egrep -qw '${f}\.[sS]' ${OBJTOP}/lib/libc/.depend.${f}.o; then \ - echo "Removing stale dependencies for ${f} syscall wrappers"; \ - rm -f ${OBJTOP}/lib/libc/.depend.${f}.* \ - ${_LIBCOMPAT:D${LIBCOMPAT_OBJTOP}/lib/libc/.depend.${f}.*}; \ - fi -.endfor _worldtmp: .PHONY @echo Modified: head/tools/build/depend-cleanup.sh ============================================================================== --- head/tools/build/depend-cleanup.sh Mon Apr 13 19:45:45 2020 (r359894) +++ head/tools/build/depend-cleanup.sh Mon Apr 13 19:50:47 2020 (r359895) @@ -32,5 +32,7 @@ clean_dep() } # Date Rev Description +# 20190916 r352703 shm_open syscall reimplemented in C +clean_dep lib/libc shm_open c # 20200310 r358851 rename of openmp's ittnotify_static.c to .cpp clean_dep lib/libomp ittnotify_static c From owner-svn-src-head@freebsd.org Mon Apr 13 20:00:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 785B72C7C5F; Mon, 13 Apr 2020 20:00:45 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491KHK2dfRz47Lw; Mon, 13 Apr 2020 20:00:45 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 55B7020DF0; Mon, 13 Apr 2020 20:00:45 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DK0jHf023452; Mon, 13 Apr 2020 20:00:45 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DK0jwA023451; Mon, 13 Apr 2020 20:00:45 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004132000.03DK0jwA023451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Mon, 13 Apr 2020 20:00:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359896 - head/tools/build X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/tools/build X-SVN-Commit-Revision: 359896 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 20:00:45 -0000 Author: kevans Date: Mon Apr 13 20:00:44 2020 New Revision: 359896 URL: https://svnweb.freebsd.org/changeset/base/359896 Log: depend-cleanup: fix typo, ^/lib/libc/sys/Makefile.inc generates .S stubs Pointy hat: kevans Modified: head/tools/build/depend-cleanup.sh Modified: head/tools/build/depend-cleanup.sh ============================================================================== --- head/tools/build/depend-cleanup.sh Mon Apr 13 19:50:47 2020 (r359895) +++ head/tools/build/depend-cleanup.sh Mon Apr 13 20:00:44 2020 (r359896) @@ -33,6 +33,6 @@ clean_dep() # Date Rev Description # 20190916 r352703 shm_open syscall reimplemented in C -clean_dep lib/libc shm_open c +clean_dep lib/libc shm_open S # 20200310 r358851 rename of openmp's ittnotify_static.c to .cpp clean_dep lib/libomp ittnotify_static c From owner-svn-src-head@freebsd.org Mon Apr 13 20:12:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9728C2A806D; Mon, 13 Apr 2020 20:12:47 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491KYC3WhPz48BF; Mon, 13 Apr 2020 20:12:47 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 740F6211AD; Mon, 13 Apr 2020 20:12:47 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DKCler035291; Mon, 13 Apr 2020 20:12:47 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DKClBG035290; Mon, 13 Apr 2020 20:12:47 GMT (envelope-from np@FreeBSD.org) Message-Id: <202004132012.03DKClBG035290@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Mon, 13 Apr 2020 20:12:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359897 - head/sys/dev/cxgbe/tom X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe/tom X-SVN-Commit-Revision: 359897 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 20:12:47 -0000 Author: np Date: Mon Apr 13 20:12:47 2020 New Revision: 359897 URL: https://svnweb.freebsd.org/changeset/base/359897 Log: cxgbe(4): Make sure 'flags' is at the same offset in structs toepcb and synq_entry. TAILQ_ENTRY isn't always the same size as two pointers. Reported by: rmacklem@ MFC after: 3 days Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/tom/t4_tom.h Modified: head/sys/dev/cxgbe/tom/t4_tom.h ============================================================================== --- head/sys/dev/cxgbe/tom/t4_tom.h Mon Apr 13 20:00:44 2020 (r359896) +++ head/sys/dev/cxgbe/tom/t4_tom.h Mon Apr 13 20:12:47 2020 (r359897) @@ -176,11 +176,11 @@ struct ddp_pcb { }; struct toepcb { - TAILQ_ENTRY(toepcb) link; /* toep_list */ - u_int flags; /* miscellaneous flags */ - int refcount; struct tom_data *td; struct inpcb *inp; /* backpointer to host stack's PCB */ + u_int flags; /* miscellaneous flags */ + TAILQ_ENTRY(toepcb) link; /* toep_list */ + int refcount; struct vnet *vnet; struct vi_info *vi; /* virtual interface */ struct sge_wrq *ofld_txq; From owner-svn-src-head@freebsd.org Mon Apr 13 20:25:01 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9B6AF2A8538; Mon, 13 Apr 2020 20:25:01 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491KqK3crNz499J; Mon, 13 Apr 2020 20:25:01 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 76F9D213B1; Mon, 13 Apr 2020 20:25:01 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DKP1Qg042246; Mon, 13 Apr 2020 20:25:01 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DKP1Vq042245; Mon, 13 Apr 2020 20:25:01 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004132025.03DKP1Vq042245@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Mon, 13 Apr 2020 20:25:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359898 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 359898 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 20:25:01 -0000 Author: cem Date: Mon Apr 13 20:25:01 2020 New Revision: 359898 URL: https://svnweb.freebsd.org/changeset/base/359898 Log: Disable QUEUE_MACRO_DEBUG_TRACE in LINT kernels It changes the size of TAILQ_ENTRY, which obviously impacts ABI in a variety of ways. Some of these things are _Static_asserted. For now, mask the option from LINT. Reported by: crees, np, jhb X-MFC-With: r359829 Sponsored by: Dell EMC Isilon Modified: head/sys/conf/NOTES Modified: head/sys/conf/NOTES ============================================================================== --- head/sys/conf/NOTES Mon Apr 13 20:12:47 2020 (r359897) +++ head/sys/conf/NOTES Mon Apr 13 20:25:01 2020 (r359898) @@ -423,7 +423,7 @@ options QUEUE_MACRO_DEBUG_TRASH # Stores information about the last caller to modify the list object # in the list object. Requires additional memory overhead. # -options QUEUE_MACRO_DEBUG_TRACE +#options QUEUE_MACRO_DEBUG_TRACE # # SYSCTL_DEBUG enables a 'sysctl' debug tree that can be used to dump the From owner-svn-src-head@freebsd.org Mon Apr 13 20:43:57 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9A2FA2A8C57; Mon, 13 Apr 2020 20:43:57 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491LF93gHNz4BQq; Mon, 13 Apr 2020 20:43:57 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 78FC8217A9; Mon, 13 Apr 2020 20:43:57 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DKhv0o054620; Mon, 13 Apr 2020 20:43:57 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DKhvE5054619; Mon, 13 Apr 2020 20:43:57 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004132043.03DKhvE5054619@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 13 Apr 2020 20:43:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359899 - head/sys/dev/uart X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/dev/uart X-SVN-Commit-Revision: 359899 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 20:43:57 -0000 Author: jhb Date: Mon Apr 13 20:43:57 2020 New Revision: 359899 URL: https://svnweb.freebsd.org/changeset/base/359899 Log: Correct baud rate error calculation. Shifting right by 1 is not the same as dividing by 2 for signed values. In particular, dividing a signed value by 2 gives the integer ceiling of the (e.g. -5 / 2 == -2) whereas shifting right by 1 always gives the floor (-5 >> 1 == -3). An embedded board with a 25 Mhz base clock results in an error of -30.5% when used with a baud rate of 115200. Using division, this truncates to -30% and is permitted. Using the shift, this fails and is rejected causing TIOCSETA requests to fail with EINVAL and breaking getty(8). Using division gives the same error range for both over and under baud rates and also makes the code match the behavior documented in the existing comment about supporting boards with 25 Mhz clocks. Reported by: imp MFC after: 2 weeks Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24367 Modified: head/sys/dev/uart/uart_dev_ns8250.c Modified: head/sys/dev/uart/uart_dev_ns8250.c ============================================================================== --- head/sys/dev/uart/uart_dev_ns8250.c Mon Apr 13 20:25:01 2020 (r359898) +++ head/sys/dev/uart/uart_dev_ns8250.c Mon Apr 13 20:43:57 2020 (r359899) @@ -139,7 +139,7 @@ ns8250_divisor(int rclk, int baudrate) actual_baud = rclk / (divisor << 4); /* 10 times error in percent: */ - error = ((actual_baud - baudrate) * 2000 / baudrate + 1) >> 1; + error = ((actual_baud - baudrate) * 2000 / baudrate + 1) / 2; /* enforce maximum error tolerance: */ if (error < -UART_DEV_TOLERANCE_PCT || error > UART_DEV_TOLERANCE_PCT) From owner-svn-src-head@freebsd.org Mon Apr 13 20:59:10 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 100012A8FD3; Mon, 13 Apr 2020 20:59:10 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491LZj6Np8z4C48; Mon, 13 Apr 2020 20:59:09 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D5FFE21991; Mon, 13 Apr 2020 20:59:09 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DKx978061097; Mon, 13 Apr 2020 20:59:09 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DKx97I061096; Mon, 13 Apr 2020 20:59:09 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004132059.03DKx97I061096@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Mon, 13 Apr 2020 20:59:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359900 - head/sys/dev/uart X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/dev/uart X-SVN-Commit-Revision: 359900 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 20:59:10 -0000 Author: jhb Date: Mon Apr 13 20:59:09 2020 New Revision: 359900 URL: https://svnweb.freebsd.org/changeset/base/359900 Log: Export a sysctl count of RX FIFO overrun events. uart(4) backends currently detect RX FIFO overrun errors and report them to the uart(4) core layer. They are then reported to the generic TTY layer which promptly ignores them. As a result, there is currently no good way to determine if a uart is experiencing RX FIFO overruns. One could add a generic per-tty counter, but there did not appear to be a good way to export those. Instead, add a sysctl under the uart(4) sysctl tree to export the count of overruns. Reviewed by: brooks MFC after: 2 weeks Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24368 Modified: head/sys/dev/uart/uart_bus.h head/sys/dev/uart/uart_core.c Modified: head/sys/dev/uart/uart_bus.h ============================================================================== --- head/sys/dev/uart/uart_bus.h Mon Apr 13 20:43:57 2020 (r359899) +++ head/sys/dev/uart/uart_bus.h Mon Apr 13 20:59:09 2020 (r359900) @@ -111,6 +111,7 @@ struct uart_softc { int sc_rxput; int sc_rxget; int sc_rxfifosz; /* Size of RX FIFO. */ + int sc_rxoverruns; /* Transmitter data. */ uint8_t *sc_txbuf; Modified: head/sys/dev/uart/uart_core.c ============================================================================== --- head/sys/dev/uart/uart_core.c Mon Apr 13 20:43:57 2020 (r359899) +++ head/sys/dev/uart/uart_core.c Mon Apr 13 20:59:09 2020 (r359900) @@ -333,6 +333,7 @@ uart_intr_overrun(void *arg) sc->sc_rxbuf[sc->sc_rxput] = UART_STAT_OVERRUN; uart_sched_softih(sc, SER_INT_RXREADY); } + sc->sc_rxoverruns++; UART_FLUSH(sc, UART_FLUSH_RECEIVER); return (0); } @@ -740,6 +741,12 @@ uart_bus_attach(device_t dev) if (sc->sc_sysdev != NULL) sc->sc_sysdev->hwmtx = sc->sc_hwmtx; + + if (sc->sc_rxfifosz > 1) + SYSCTL_ADD_INT(device_get_sysctl_ctx(dev), + SYSCTL_CHILDREN(device_get_sysctl_tree(dev)), OID_AUTO, + "rx_overruns", CTLFLAG_RD, &sc->sc_rxoverruns, 0, + "Receive overruns"); return (0); From owner-svn-src-head@freebsd.org Mon Apr 13 21:03:30 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9F82C2A926B; Mon, 13 Apr 2020 21:03:30 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491Lgk3kN8z4CTK; Mon, 13 Apr 2020 21:03:30 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 79ACF21B8C; Mon, 13 Apr 2020 21:03:30 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DL3UZt066660; Mon, 13 Apr 2020 21:03:30 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DL3U2s066659; Mon, 13 Apr 2020 21:03:30 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202004132103.03DL3U2s066659@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Mon, 13 Apr 2020 21:03:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359901 - head/sys/cam X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/cam X-SVN-Commit-Revision: 359901 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 21:03:30 -0000 Author: imp Date: Mon Apr 13 21:03:30 2020 New Revision: 359901 URL: https://svnweb.freebsd.org/changeset/base/359901 Log: Remove stale comment There's no useracc here, and even if there was it shouldn't be here. vmapbuf is sufficient and as the comment says, useracc is racy. Modified: head/sys/cam/cam_periph.c Modified: head/sys/cam/cam_periph.c ============================================================================== --- head/sys/cam/cam_periph.c Mon Apr 13 20:59:09 2020 (r359900) +++ head/sys/cam/cam_periph.c Mon Apr 13 21:03:30 2020 (r359901) @@ -971,14 +971,7 @@ cam_periph_mapmem(union ccb *ccb, struct cam_periph_ma mapinfo->bp[i]->b_iocmd = (dirs[i] == CAM_DIR_OUT) ? BIO_WRITE : BIO_READ; - /* - * Map the buffer into kernel memory. - * - * Note that useracc() alone is not a sufficient test. - * vmapbuf() can still fail due to a smaller file mapped - * into a larger area of VM, or if userland races against - * vmapbuf() after the useracc() check. - */ + /* Map the buffer into kernel memory. */ if (vmapbuf(mapinfo->bp[i], 1) < 0) { uma_zfree(pbuf_zone, mapinfo->bp[i]); goto fail; From owner-svn-src-head@freebsd.org Mon Apr 13 21:04:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9767A2A9302; Mon, 13 Apr 2020 21:04:34 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491Lhy3bH9z4CcM; Mon, 13 Apr 2020 21:04:34 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7463521B90; Mon, 13 Apr 2020 21:04:34 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DL4YhF066771; Mon, 13 Apr 2020 21:04:34 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DL4Yir066770; Mon, 13 Apr 2020 21:04:34 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202004132104.03DL4Yir066770@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Mon, 13 Apr 2020 21:04:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359902 - head/sys/cam/scsi X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: head/sys/cam/scsi X-SVN-Commit-Revision: 359902 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 21:04:34 -0000 Author: imp Date: Mon Apr 13 21:04:33 2020 New Revision: 359902 URL: https://svnweb.freebsd.org/changeset/base/359902 Log: Checks here against useracc are not useful and are racy. copyin/copyout are sufficient to guard against bad addresses. They will return EFAULT if the user is up to no good (by choice or ignorance). There's no point in checking, since it doesn't even improve the error messages. Noticed by: jhb Reviewed by: brooks, jhb Modified: head/sys/cam/scsi/scsi_pass.c Modified: head/sys/cam/scsi/scsi_pass.c ============================================================================== --- head/sys/cam/scsi/scsi_pass.c Mon Apr 13 21:03:30 2020 (r359901) +++ head/sys/cam/scsi/scsi_pass.c Mon Apr 13 21:04:33 2020 (r359902) @@ -1232,15 +1232,6 @@ passcopysglist(struct cam_periph *periph, struct pass_ user_watermark += len_to_copy; kern_watermark += len_to_copy; - if (!useracc(user_ptr, len_to_copy, - (direction == CAM_DIR_IN) ? VM_PROT_WRITE : VM_PROT_READ)) { - xpt_print(periph->path, "%s: unable to access user " - "S/G list element %p len %zu\n", __func__, - user_ptr, len_to_copy); - error = EFAULT; - goto bailout; - } - if (direction == CAM_DIR_IN) { error = copyout(kern_ptr, user_ptr, len_to_copy); if (error != 0) { @@ -1445,20 +1436,6 @@ passmemsetup(struct cam_periph *periph, struct pass_io if (io_req->lengths[i] == 0) continue; - /* - * Make sure that the user's buffer is accessible - * to that process. - */ - if (!useracc(io_req->user_bufs[i], io_req->lengths[i], - (io_req->dirs[i] == CAM_DIR_IN) ? VM_PROT_WRITE : - VM_PROT_READ)) { - xpt_print(periph->path, "%s: user address %p " - "length %u is not accessible\n", __func__, - io_req->user_bufs[i], io_req->lengths[i]); - error = EFAULT; - goto bailout; - } - tmp_buf = malloc(lengths[i], M_SCSIPASS, M_WAITOK | M_ZERO); io_req->kern_bufs[i] = tmp_buf; @@ -1560,13 +1537,6 @@ passmemsetup(struct cam_periph *periph, struct pass_io io_req->flags |= PASS_IO_USER_SEG_MALLOC; } else io_req->user_segptr = io_req->user_segs; - - if (!useracc(*data_ptrs[0], sg_length, VM_PROT_READ)) { - xpt_print(periph->path, "%s: unable to access user " - "S/G list at %p\n", __func__, *data_ptrs[0]); - error = EFAULT; - goto bailout; - } error = copyin(*data_ptrs[0], io_req->user_segptr, sg_length); if (error != 0) { From owner-svn-src-head@freebsd.org Mon Apr 13 21:08:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DB8662A93BA; Mon, 13 Apr 2020 21:08:54 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491Lny5Vmbz4CnQ; Mon, 13 Apr 2020 21:08:54 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B832121B92; Mon, 13 Apr 2020 21:08:54 +0000 (UTC) (envelope-from lwhsu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DL8sgB067049; Mon, 13 Apr 2020 21:08:54 GMT (envelope-from lwhsu@FreeBSD.org) Received: (from lwhsu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DL8su4067048; Mon, 13 Apr 2020 21:08:54 GMT (envelope-from lwhsu@FreeBSD.org) Message-Id: <202004132108.03DL8su4067048@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: lwhsu set sender to lwhsu@FreeBSD.org using -f From: Li-Wen Hsu Date: Mon, 13 Apr 2020 21:08:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359903 - head/sbin/nvmecontrol/tests X-SVN-Group: head X-SVN-Commit-Author: lwhsu X-SVN-Commit-Paths: head/sbin/nvmecontrol/tests X-SVN-Commit-Revision: 359903 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 21:08:54 -0000 Author: lwhsu Date: Mon Apr 13 21:08:54 2020 New Revision: 359903 URL: https://svnweb.freebsd.org/changeset/base/359903 Log: Ensure `kyua list` working when there is no /dev/nvme* Sponsored by: The FreeBSD Foundation Modified: head/sbin/nvmecontrol/tests/basic.sh Modified: head/sbin/nvmecontrol/tests/basic.sh ============================================================================== --- head/sbin/nvmecontrol/tests/basic.sh Mon Apr 13 21:04:33 2020 (r359902) +++ head/sbin/nvmecontrol/tests/basic.sh Mon Apr 13 21:08:54 2020 (r359903) @@ -33,7 +33,7 @@ DANGEROUS=false # Set to true to run "dangerous" tests # Select a nvme device to use for testing. If none exist, use nvme0. -TEST_DEV=$(cd /dev/;ls nvme[0-9]* | grep 'nvme[0-9][0-9]*$' | head -1) 2>/dev/null +TEST_DEV=$(cd /dev/; ls -1 nvme[0-9]* 2> /dev/null | grep -E 'nvme[0-9][0-9]*$' | head -n 1) TEST_DEV=${TEST_DEV:-nvme0} TEST_DEV_PATH=/dev/${TEST_DEV} INV_OPT="-z" From owner-svn-src-head@freebsd.org Mon Apr 13 22:06:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F0BFE2AAB07; Mon, 13 Apr 2020 22:06:28 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491N4N658Tz4H4M; Mon, 13 Apr 2020 22:06:28 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CBA542277B; Mon, 13 Apr 2020 22:06:28 +0000 (UTC) (envelope-from wulf@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DM6ST0004376; Mon, 13 Apr 2020 22:06:28 GMT (envelope-from wulf@FreeBSD.org) Received: (from wulf@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DM6SZA004375; Mon, 13 Apr 2020 22:06:28 GMT (envelope-from wulf@FreeBSD.org) Message-Id: <202004132206.03DM6SZA004375@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: wulf set sender to wulf@FreeBSD.org using -f From: Vladimir Kondratyev Date: Mon, 13 Apr 2020 22:06:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359905 - head/sys/dev/evdev X-SVN-Group: head X-SVN-Commit-Author: wulf X-SVN-Commit-Paths: head/sys/dev/evdev X-SVN-Commit-Revision: 359905 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 22:06:29 -0000 Author: wulf Date: Mon Apr 13 22:06:28 2020 New Revision: 359905 URL: https://svnweb.freebsd.org/changeset/base/359905 Log: [evdev] Use proper mutex reference in autorepeat callout initialization. This fixes panic occuring when evdev key autorepeat is enabled by driver which initializes evdev with external mutex. Modified: head/sys/dev/evdev/evdev.c Modified: head/sys/dev/evdev/evdev.c ============================================================================== --- head/sys/dev/evdev/evdev.c Mon Apr 13 21:23:39 2020 (r359904) +++ head/sys/dev/evdev/evdev.c Mon Apr 13 22:06:28 2020 (r359905) @@ -295,7 +295,7 @@ evdev_register_common(struct evdev_dev *evdev) if (evdev_event_supported(evdev, EV_REP) && bit_test(evdev->ev_flags, EVDEV_FLAG_SOFTREPEAT)) { /* Initialize callout */ - callout_init_mtx(&evdev->ev_rep_callout, &evdev->ev_mtx, 0); + callout_init_mtx(&evdev->ev_rep_callout, evdev->ev_lock, 0); if (evdev->ev_rep[REP_DELAY] == 0 && evdev->ev_rep[REP_PERIOD] == 0) { From owner-svn-src-head@freebsd.org Mon Apr 13 23:06:56 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D0BFE2AC05C; Mon, 13 Apr 2020 23:06:56 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491PQ857wdz4LF5; Mon, 13 Apr 2020 23:06:56 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9174F23325; Mon, 13 Apr 2020 23:06:56 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DN6uPw041805; Mon, 13 Apr 2020 23:06:56 GMT (envelope-from gallatin@FreeBSD.org) Received: (from gallatin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DN6uXF041804; Mon, 13 Apr 2020 23:06:56 GMT (envelope-from gallatin@FreeBSD.org) Message-Id: <202004132306.03DN6uXF041804@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gallatin set sender to gallatin@FreeBSD.org using -f From: Andrew Gallatin Date: Mon, 13 Apr 2020 23:06:56 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359908 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: gallatin X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 359908 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 23:06:56 -0000 Author: gallatin Date: Mon Apr 13 23:06:56 2020 New Revision: 359908 URL: https://svnweb.freebsd.org/changeset/base/359908 Log: lagg: stop double-counting output errors and counting drops as errors Before this change, lagg double-counted errors from lagg members, and counted every drop by a lagg member as an error. Eg, if lagg sent a packet, and the underlying hardware driver dropped it, a counter would be incremented by both lagg and the underlying driver. This change attempts to fix that by incrementing lagg's counters only for errors that do not come from underlying drivers. Reviewed by: hselasky, jhb Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D24331 Modified: head/sys/net/if_lagg.c Modified: head/sys/net/if_lagg.c ============================================================================== --- head/sys/net/if_lagg.c Mon Apr 13 22:21:01 2020 (r359907) +++ head/sys/net/if_lagg.c Mon Apr 13 23:06:56 2020 (r359908) @@ -1874,10 +1874,6 @@ lagg_transmit(struct ifnet *ifp, struct mbuf *m) error = lagg_proto_start(sc, m); LAGG_RUNLOCK(); - - if (error != 0) - if_inc_counter(ifp, IFCOUNTER_OERRORS, 1); - return (error); } @@ -2100,6 +2096,7 @@ lagg_rr_start(struct lagg_softc *sc, struct mbuf *m) * port if the link is down or the port is NULL. */ if ((lp = lagg_link_active(sc, lp)) == NULL) { + if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return (ENETDOWN); } @@ -2145,31 +2142,28 @@ lagg_bcast_start(struct lagg_softc *sc, struct mbuf *m errors++; break; } - - ret = lagg_enqueue(last->lp_ifp, m0); - if (ret != 0) - errors++; + lagg_enqueue(last->lp_ifp, m0); } last = lp; } if (last == NULL) { + if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return (ENOENT); } if ((last = lagg_link_active(sc, last)) == NULL) { + errors++; + if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, errors); m_freem(m); return (ENETDOWN); } ret = lagg_enqueue(last->lp_ifp, m); - if (ret != 0) - errors++; + if (errors != 0) + if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, errors); - if (errors == 0) - return (ret); - - return (0); + return (ret); } static struct mbuf* @@ -2192,6 +2186,7 @@ lagg_fail_start(struct lagg_softc *sc, struct mbuf *m) /* Use the master port if active or the next available port */ if ((lp = lagg_link_active(sc, sc->sc_primary)) == NULL) { + if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return (ENETDOWN); } @@ -2315,6 +2310,7 @@ lagg_lb_start(struct lagg_softc *sc, struct mbuf *m) * port if the link is down or the port is NULL. */ if ((lp = lagg_link_active(sc, lp)) == NULL) { + if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return (ENETDOWN); } @@ -2386,6 +2382,7 @@ lagg_lacp_start(struct lagg_softc *sc, struct mbuf *m) lp = lacp_select_tx_port(sc, m); if (lp == NULL) { + if_inc_counter(sc->sc_ifp, IFCOUNTER_OERRORS, 1); m_freem(m); return (ENETDOWN); } From owner-svn-src-head@freebsd.org Mon Apr 13 23:16:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BC8DF2AC305; Mon, 13 Apr 2020 23:16:32 +0000 (UTC) (envelope-from cognet@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491PdD4bTHz4LhL; Mon, 13 Apr 2020 23:16:32 +0000 (UTC) (envelope-from cognet@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 98F7723528; Mon, 13 Apr 2020 23:16:32 +0000 (UTC) (envelope-from cognet@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03DNGW8O047645; Mon, 13 Apr 2020 23:16:32 GMT (envelope-from cognet@FreeBSD.org) Received: (from cognet@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03DNGW3S047644; Mon, 13 Apr 2020 23:16:32 GMT (envelope-from cognet@FreeBSD.org) Message-Id: <202004132316.03DNGW3S047644@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cognet set sender to cognet@FreeBSD.org using -f From: Olivier Houchard Date: Mon, 13 Apr 2020 23:16:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359909 - in head/sys/contrib/ck/include: . gcc/arm X-SVN-Group: head X-SVN-Commit-Author: cognet X-SVN-Commit-Paths: in head/sys/contrib/ck/include: . gcc/arm X-SVN-Commit-Revision: 359909 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Apr 2020 23:16:32 -0000 Author: cognet Date: Mon Apr 13 23:16:32 2020 New Revision: 359909 URL: https://svnweb.freebsd.org/changeset/base/359909 Log: Remove FreeBSD/armv4 specific bits from CK. Now that armv4/v5 is gone, remove the bits that implemented atomic operations by disabling interrupts. Those were specific to FreeBSD and never reached upstream. Deleted: head/sys/contrib/ck/include/gcc/arm/ck_pr_armv4.h Modified: head/sys/contrib/ck/include/ck_pr.h Modified: head/sys/contrib/ck/include/ck_pr.h ============================================================================== --- head/sys/contrib/ck/include/ck_pr.h Mon Apr 13 23:06:56 2020 (r359908) +++ head/sys/contrib/ck/include/ck_pr.h Mon Apr 13 23:16:32 2020 (r359909) @@ -48,11 +48,7 @@ #elif defined(__ppc__) #include "gcc/ppc/ck_pr.h" #elif defined(__arm__) -#if __ARM_ARCH >= 6 #include "gcc/arm/ck_pr.h" -#else -#include "gcc/arm/ck_pr_armv4.h" -#endif #elif defined(__aarch64__) #include "gcc/aarch64/ck_pr.h" #elif !defined(__GNUC__) From owner-svn-src-head@freebsd.org Tue Apr 14 00:01:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2E73E2AD0E4; Tue, 14 Apr 2020 00:01:28 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491Qd40hBQz4Ndd; Tue, 14 Apr 2020 00:01:28 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 12A7523E42; Tue, 14 Apr 2020 00:01:28 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03E01SAa075308; Tue, 14 Apr 2020 00:01:28 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03E01RT3075302; Tue, 14 Apr 2020 00:01:27 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004140001.03E01RT3075302@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Tue, 14 Apr 2020 00:01:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359910 - in head/sys: conf fs/nfsserver modules/nfsd nfs X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys: conf fs/nfsserver modules/nfsd nfs X-SVN-Commit-Revision: 359910 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 00:01:28 -0000 Author: rmacklem Date: Tue Apr 14 00:01:26 2020 New Revision: 359910 URL: https://svnweb.freebsd.org/changeset/base/359910 Log: Re-organize the NFS file handle affinity code for the NFS server. The file handle affinity code was configured to be used by both the old and new NFS servers. This no longer makes sense, since there is only one NFS server. This patch copies a majority of the code in sys/nfs/nfs_fha.c and sys/nfs/nfs_fha.h into sys/fs/nfsserver/nfs_fha_new.c and sys/fs/nfsserver/nfs_fha_new.h, so that the files in sys/nfs can be deleted. The code is simplified by deleting the function callback pointers used to call functions in either the old or new NFS server and they were replaced by calls to the functions. As well as a cleanup, this re-organization simplifies the changes required for handling of external page mbufs, which is required for KERN_TLS. This patch should not result in a semantic change to file handle affinity. Deleted: head/sys/nfs/nfs_fha.c head/sys/nfs/nfs_fha.h Modified: head/sys/conf/files head/sys/fs/nfsserver/nfs_fha_new.c head/sys/fs/nfsserver/nfs_fha_new.h head/sys/fs/nfsserver/nfs_nfsdkrpc.c head/sys/modules/nfsd/Makefile Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Mon Apr 13 23:16:32 2020 (r359909) +++ head/sys/conf/files Tue Apr 14 00:01:26 2020 (r359910) @@ -4435,7 +4435,6 @@ netsmb/smb_usr.c optional netsmb nfs/bootp_subr.c optional bootp nfscl nfs/krpc_subr.c optional bootp nfscl nfs/nfs_diskless.c optional nfscl nfs_root -nfs/nfs_fha.c optional nfsd nfs/nfs_nfssvc.c optional nfscl | nfslockd | nfsd nlm/nlm_advlock.c optional nfslockd | nfsd nlm/nlm_prot_clnt.c optional nfslockd | nfsd Modified: head/sys/fs/nfsserver/nfs_fha_new.c ============================================================================== --- head/sys/fs/nfsserver/nfs_fha_new.c Mon Apr 13 23:16:32 2020 (r359909) +++ head/sys/fs/nfsserver/nfs_fha_new.c Tue Apr 14 00:01:26 2020 (r359910) @@ -29,29 +29,33 @@ #include __FBSDID("$FreeBSD$"); +#include +#include +#include + #include +#include #include -#include -#include -#include -#include -#include -#include -static void fhanew_init(void *foo); -static void fhanew_uninit(void *foo); -rpcproc_t fhanew_get_procnum(rpcproc_t procnum); -int fhanew_realign(struct mbuf **mb, int malloc_flags); -int fhanew_get_fh(uint64_t *fh, int v3, struct mbuf **md, caddr_t *dpos); -int fhanew_is_read(rpcproc_t procnum); -int fhanew_is_write(rpcproc_t procnum); -int fhanew_get_offset(struct mbuf **md, caddr_t *dpos, int v3, - struct fha_info *info); -int fhanew_no_offset(rpcproc_t procnum); -void fhanew_set_locktype(rpcproc_t procnum, struct fha_info *info); -static int fhenew_stats_sysctl(SYSCTL_HANDLER_ARGS); +static MALLOC_DEFINE(M_NFS_FHA, "NFS FHA", "NFS FHA"); +static void fhanew_init(void *foo); +static void fhanew_uninit(void *foo); +static rpcproc_t fhanew_get_procnum(rpcproc_t procnum); +static int fhanew_get_fh(uint64_t *fh, int v3, struct mbuf **md, + caddr_t *dpos); +static int fhanew_is_read(rpcproc_t procnum); +static int fhanew_is_write(rpcproc_t procnum); +static int fhanew_get_offset(struct mbuf **md, caddr_t *dpos, + int v3, struct fha_info *info); +static int fhanew_no_offset(rpcproc_t procnum); +static void fhanew_set_locktype(rpcproc_t procnum, + struct fha_info *info); +static int fhenew_stats_sysctl(SYSCTL_HANDLER_ARGS); +static void fha_extract_info(struct svc_req *req, + struct fha_info *i); + static struct fha_params fhanew_softc; SYSCTL_DECL(_vfs_nfsd); @@ -66,24 +70,12 @@ static void fhanew_init(void *foo) { struct fha_params *softc; + int i; softc = &fhanew_softc; bzero(softc, sizeof(*softc)); - /* - * Setup the callbacks for this FHA personality. - */ - softc->callbacks.get_procnum = fhanew_get_procnum; - softc->callbacks.realign = fhanew_realign; - softc->callbacks.get_fh = fhanew_get_fh; - softc->callbacks.is_read = fhanew_is_read; - softc->callbacks.is_write = fhanew_is_write; - softc->callbacks.get_offset = fhanew_get_offset; - softc->callbacks.no_offset = fhanew_no_offset; - softc->callbacks.set_locktype = fhanew_set_locktype; - softc->callbacks.fhe_stats_sysctl = fhenew_stats_sysctl; - snprintf(softc->server_name, sizeof(softc->server_name), FHANEW_SERVER_NAME); @@ -101,20 +93,68 @@ fhanew_init(void *foo) return; } - fha_init(softc); + for (i = 0; i < FHA_HASH_SIZE; i++) + mtx_init(&softc->fha_hash[i].mtx, "fhalock", NULL, MTX_DEF); + + /* + * Set the default tuning parameters. + */ + softc->ctls.enable = FHA_DEF_ENABLE; + softc->ctls.read = FHA_DEF_READ; + softc->ctls.write = FHA_DEF_WRITE; + softc->ctls.bin_shift = FHA_DEF_BIN_SHIFT; + softc->ctls.max_nfsds_per_fh = FHA_DEF_MAX_NFSDS_PER_FH; + softc->ctls.max_reqs_per_nfsd = FHA_DEF_MAX_REQS_PER_NFSD; + + /* + * Add sysctls so the user can change the tuning parameters. + */ + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "enable", CTLFLAG_RWTUN, + &softc->ctls.enable, 0, "Enable NFS File Handle Affinity (FHA)"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "read", CTLFLAG_RWTUN, + &softc->ctls.read, 0, "Enable NFS FHA read locality"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "write", CTLFLAG_RWTUN, + &softc->ctls.write, 0, "Enable NFS FHA write locality"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "bin_shift", CTLFLAG_RWTUN, + &softc->ctls.bin_shift, 0, + "Maximum locality distance 2^(bin_shift) bytes"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "max_nfsds_per_fh", CTLFLAG_RWTUN, + &softc->ctls.max_nfsds_per_fh, 0, "Maximum nfsd threads that " + "should be working on requests for the same file handle"); + + SYSCTL_ADD_UINT(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "max_reqs_per_nfsd", CTLFLAG_RWTUN, + &softc->ctls.max_reqs_per_nfsd, 0, "Maximum requests that " + "single nfsd thread should be working on at any time"); + + SYSCTL_ADD_OID(&softc->sysctl_ctx, SYSCTL_CHILDREN(softc->sysctl_tree), + OID_AUTO, "fhe_stats", CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, + 0, 0, fhenew_stats_sysctl, "A", ""); } static void fhanew_uninit(void *foo) { struct fha_params *softc; + int i; softc = &fhanew_softc; - fha_uninit(softc); + sysctl_ctx_free(&softc->sysctl_ctx); + for (i = 0; i < FHA_HASH_SIZE; i++) + mtx_destroy(&softc->fha_hash[i].mtx); } -rpcproc_t +static rpcproc_t fhanew_get_procnum(rpcproc_t procnum) { if (procnum > NFSV2PROC_STATFS) @@ -123,13 +163,7 @@ fhanew_get_procnum(rpcproc_t procnum) return (newnfs_nfsv3_procid[procnum]); } -int -fhanew_realign(struct mbuf **mb, int malloc_flags) -{ - return (newnfs_realign(mb, malloc_flags)); -} - -int +static int fhanew_get_fh(uint64_t *fh, int v3, struct mbuf **md, caddr_t *dpos) { struct nfsrv_descript lnd, *nd; @@ -170,7 +204,7 @@ nfsmout: return (error); } -int +static int fhanew_is_read(rpcproc_t procnum) { if (procnum == NFSPROC_READ) @@ -179,7 +213,7 @@ fhanew_is_read(rpcproc_t procnum) return (0); } -int +static int fhanew_is_write(rpcproc_t procnum) { if (procnum == NFSPROC_WRITE) @@ -188,9 +222,9 @@ fhanew_is_write(rpcproc_t procnum) return (0); } -int +static int fhanew_get_offset(struct mbuf **md, caddr_t *dpos, int v3, - struct fha_info *info) + struct fha_info *info) { struct nfsrv_descript lnd, *nd; uint32_t *tl; @@ -217,7 +251,7 @@ nfsmout: return (error); } -int +static int fhanew_no_offset(rpcproc_t procnum) { if (procnum == NFSPROC_FSSTAT || @@ -230,7 +264,7 @@ fhanew_no_offset(rpcproc_t procnum) return (0); } -void +static void fhanew_set_locktype(rpcproc_t procnum, struct fha_info *info) { switch (procnum) { @@ -264,15 +298,414 @@ fhanew_set_locktype(rpcproc_t procnum, struct fha_info } } -static int -fhenew_stats_sysctl(SYSCTL_HANDLER_ARGS) + +/* + * This just specifies that offsets should obey affinity when within + * the same 1Mbyte (1<<20) chunk for the file (reads only for now). + */ +static void +fha_extract_info(struct svc_req *req, struct fha_info *i) { - return (fhe_stats_sysctl(oidp, arg1, arg2, req, &fhanew_softc)); + struct mbuf *md; + caddr_t dpos; + static u_int64_t random_fh = 0; + int error; + int v3 = (req->rq_vers == 3); + rpcproc_t procnum; + + /* + * We start off with a random fh. If we get a reasonable + * procnum, we set the fh. If there's a concept of offset + * that we're interested in, we set that. + */ + i->fh = ++random_fh; + i->offset = 0; + i->locktype = LK_EXCLUSIVE; + i->read = i->write = 0; + + /* + * Extract the procnum and convert to v3 form if necessary, + * taking care to deal with out-of-range procnums. Caller will + * ensure that rq_vers is either 2 or 3. + */ + procnum = req->rq_proc; + if (!v3) { + rpcproc_t tmp_procnum; + + tmp_procnum = fhanew_get_procnum(procnum); + if (tmp_procnum == -1) + goto out; + procnum = tmp_procnum; + } + + /* + * We do affinity for most. However, we divide a realm of affinity + * by file offset so as to allow for concurrent random access. We + * only do this for reads today, but this may change when IFS supports + * efficient concurrent writes. + */ + if (fhanew_no_offset(procnum)) + goto out; + + i->read = fhanew_is_read(procnum); + i->write = fhanew_is_write(procnum); + + error = newnfs_realign(&req->rq_args, M_NOWAIT); + if (error) + goto out; + md = req->rq_args; + dpos = mtod(md, caddr_t); + + /* Grab the filehandle. */ + error = fhanew_get_fh(&i->fh, v3, &md, &dpos); + if (error) + goto out; + + /* Content ourselves with zero offset for all but reads. */ + if (i->read || i->write) + fhanew_get_offset(&md, &dpos, v3, i); + +out: + fhanew_set_locktype(procnum, i); } +static struct fha_hash_entry * +fha_hash_entry_new(u_int64_t fh) +{ + struct fha_hash_entry *e; + e = malloc(sizeof(*e), M_NFS_FHA, M_WAITOK); + e->fh = fh; + e->num_rw = 0; + e->num_exclusive = 0; + e->num_threads = 0; + LIST_INIT(&e->threads); + + return (e); +} + +static void +fha_hash_entry_destroy(struct fha_hash_entry *e) +{ + + mtx_assert(e->mtx, MA_OWNED); + KASSERT(e->num_rw == 0, + ("%d reqs on destroyed fhe %p", e->num_rw, e)); + KASSERT(e->num_exclusive == 0, + ("%d exclusive reqs on destroyed fhe %p", e->num_exclusive, e)); + KASSERT(e->num_threads == 0, + ("%d threads on destroyed fhe %p", e->num_threads, e)); + free(e, M_NFS_FHA); +} + +static void +fha_hash_entry_remove(struct fha_hash_entry *e) +{ + + mtx_assert(e->mtx, MA_OWNED); + LIST_REMOVE(e, link); + fha_hash_entry_destroy(e); +} + +static struct fha_hash_entry * +fha_hash_entry_lookup(struct fha_params *softc, u_int64_t fh) +{ + struct fha_hash_slot *fhs; + struct fha_hash_entry *fhe, *new_fhe; + + fhs = &softc->fha_hash[fh % FHA_HASH_SIZE]; + new_fhe = fha_hash_entry_new(fh); + new_fhe->mtx = &fhs->mtx; + mtx_lock(&fhs->mtx); + LIST_FOREACH(fhe, &fhs->list, link) + if (fhe->fh == fh) + break; + if (!fhe) { + fhe = new_fhe; + LIST_INSERT_HEAD(&fhs->list, fhe, link); + } else + fha_hash_entry_destroy(new_fhe); + return (fhe); +} + +static void +fha_hash_entry_add_thread(struct fha_hash_entry *fhe, SVCTHREAD *thread) +{ + + mtx_assert(fhe->mtx, MA_OWNED); + thread->st_p2 = 0; + LIST_INSERT_HEAD(&fhe->threads, thread, st_alink); + fhe->num_threads++; +} + +static void +fha_hash_entry_remove_thread(struct fha_hash_entry *fhe, SVCTHREAD *thread) +{ + + mtx_assert(fhe->mtx, MA_OWNED); + KASSERT(thread->st_p2 == 0, + ("%d reqs on removed thread %p", thread->st_p2, thread)); + LIST_REMOVE(thread, st_alink); + fhe->num_threads--; +} + +/* + * Account for an ongoing operation associated with this file. + */ +static void +fha_hash_entry_add_op(struct fha_hash_entry *fhe, int locktype, int count) +{ + + mtx_assert(fhe->mtx, MA_OWNED); + if (LK_EXCLUSIVE == locktype) + fhe->num_exclusive += count; + else + fhe->num_rw += count; +} + +/* + * Get the service thread currently associated with the fhe that is + * appropriate to handle this operation. + */ +static SVCTHREAD * +fha_hash_entry_choose_thread(struct fha_params *softc, + struct fha_hash_entry *fhe, struct fha_info *i, SVCTHREAD *this_thread) +{ + SVCTHREAD *thread, *min_thread = NULL; + int req_count, min_count = 0; + off_t offset1, offset2; + + LIST_FOREACH(thread, &fhe->threads, st_alink) { + req_count = thread->st_p2; + + /* If there are any writes in progress, use the first thread. */ + if (fhe->num_exclusive) { +#if 0 + ITRACE_CURPROC(ITRACE_NFS, ITRACE_INFO, + "fha: %p(%d)w", thread, req_count); +#endif + return (thread); + } + + /* Check whether we should consider locality. */ + if ((i->read && !softc->ctls.read) || + (i->write && !softc->ctls.write)) + goto noloc; + + /* + * Check for locality, making sure that we won't + * exceed our per-thread load limit in the process. + */ + offset1 = i->offset; + offset2 = thread->st_p3; + + if (((offset1 >= offset2) + && ((offset1 - offset2) < (1 << softc->ctls.bin_shift))) + || ((offset2 > offset1) + && ((offset2 - offset1) < (1 << softc->ctls.bin_shift)))) { + if ((softc->ctls.max_reqs_per_nfsd == 0) || + (req_count < softc->ctls.max_reqs_per_nfsd)) { +#if 0 + ITRACE_CURPROC(ITRACE_NFS, ITRACE_INFO, + "fha: %p(%d)r", thread, req_count); +#endif + return (thread); + } + } + +noloc: + /* + * We don't have a locality match, so skip this thread, + * but keep track of the most attractive thread in case + * we need to come back to it later. + */ +#if 0 + ITRACE_CURPROC(ITRACE_NFS, ITRACE_INFO, + "fha: %p(%d)s off1 %llu off2 %llu", thread, + req_count, offset1, offset2); +#endif + if ((min_thread == NULL) || (req_count < min_count)) { + min_count = req_count; + min_thread = thread; + } + } + + /* + * We didn't find a good match yet. See if we can add + * a new thread to this file handle entry's thread list. + */ + if ((softc->ctls.max_nfsds_per_fh == 0) || + (fhe->num_threads < softc->ctls.max_nfsds_per_fh)) { + thread = this_thread; +#if 0 + ITRACE_CURPROC(ITRACE_NFS, ITRACE_INFO, + "fha: %p(%d)t", thread, thread->st_p2); +#endif + fha_hash_entry_add_thread(fhe, thread); + } else { + /* + * We don't want to use any more threads for this file, so + * go back to the most attractive nfsd we're already using. + */ + thread = min_thread; + } + + return (thread); +} + +/* + * After getting a request, try to assign it to some thread. Usually we + * handle it ourselves. + */ SVCTHREAD * fhanew_assign(SVCTHREAD *this_thread, struct svc_req *req) { - return (fha_assign(this_thread, req, &fhanew_softc)); + struct fha_params *softc = &fhanew_softc; + SVCTHREAD *thread; + struct fha_info i; + struct fha_hash_entry *fhe; + + /* Check to see whether we're enabled. */ + if (softc->ctls.enable == 0) + goto thist; + + /* + * Only do placement if this is an NFS request. + */ + if (req->rq_prog != NFS_PROG) + goto thist; + + if (req->rq_vers != 2 && req->rq_vers != 3) + goto thist; + + fha_extract_info(req, &i); + + /* + * We save the offset associated with this request for later + * nfsd matching. + */ + fhe = fha_hash_entry_lookup(softc, i.fh); + req->rq_p1 = fhe; + req->rq_p2 = i.locktype; + req->rq_p3 = i.offset; + + /* + * Choose a thread, taking into consideration locality, thread load, + * and the number of threads already working on this file. + */ + thread = fha_hash_entry_choose_thread(softc, fhe, &i, this_thread); + KASSERT(thread, ("fha_assign: NULL thread!")); + fha_hash_entry_add_op(fhe, i.locktype, 1); + thread->st_p2++; + thread->st_p3 = i.offset; + + /* + * Grab the pool lock here to not let chosen thread go away before + * the new request inserted to its queue while we drop fhe lock. + */ + mtx_lock(&thread->st_lock); + mtx_unlock(fhe->mtx); + + return (thread); +thist: + req->rq_p1 = NULL; + mtx_lock(&this_thread->st_lock); + return (this_thread); +} + +/* + * Called when we're done with an operation. The request has already + * been de-queued. + */ +void +fhanew_nd_complete(SVCTHREAD *thread, struct svc_req *req) +{ + struct fha_hash_entry *fhe = req->rq_p1; + struct mtx *mtx; + + /* + * This may be called for reqs that didn't go through + * fha_assign (e.g. extra NULL ops used for RPCSEC_GSS. + */ + if (!fhe) + return; + + mtx = fhe->mtx; + mtx_lock(mtx); + fha_hash_entry_add_op(fhe, req->rq_p2, -1); + thread->st_p2--; + KASSERT(thread->st_p2 >= 0, ("Negative request count %d on %p", + thread->st_p2, thread)); + if (thread->st_p2 == 0) { + fha_hash_entry_remove_thread(fhe, thread); + if (0 == fhe->num_rw + fhe->num_exclusive) + fha_hash_entry_remove(fhe); + } + mtx_unlock(mtx); +} + +static int +fhenew_stats_sysctl(SYSCTL_HANDLER_ARGS) +{ + struct fha_params *softc = &fhanew_softc; + int error, i; + struct sbuf sb; + struct fha_hash_entry *fhe; + bool_t first, hfirst; + SVCTHREAD *thread; + + sbuf_new(&sb, NULL, 65536, SBUF_FIXEDLEN); + + if (!*softc->pool) { + sbuf_printf(&sb, "NFSD not running\n"); + goto out; + } + + for (i = 0; i < FHA_HASH_SIZE; i++) + if (!LIST_EMPTY(&softc->fha_hash[i].list)) + break; + + if (i == FHA_HASH_SIZE) { + sbuf_printf(&sb, "No file handle entries.\n"); + goto out; + } + + hfirst = TRUE; + for (; i < FHA_HASH_SIZE; i++) { + mtx_lock(&softc->fha_hash[i].mtx); + if (LIST_EMPTY(&softc->fha_hash[i].list)) { + mtx_unlock(&softc->fha_hash[i].mtx); + continue; + } + sbuf_printf(&sb, "%shash %d: {\n", hfirst ? "" : ", ", i); + first = TRUE; + LIST_FOREACH(fhe, &softc->fha_hash[i].list, link) { + sbuf_printf(&sb, "%sfhe %p: {\n", first ? " " : ", ", + fhe); + sbuf_printf(&sb, " fh: %ju\n", (uintmax_t) fhe->fh); + sbuf_printf(&sb, " num_rw/exclusive: %d/%d\n", + fhe->num_rw, fhe->num_exclusive); + sbuf_printf(&sb, " num_threads: %d\n", + fhe->num_threads); + + LIST_FOREACH(thread, &fhe->threads, st_alink) { + sbuf_printf(&sb, " thread %p offset %ju " + "reqs %d\n", thread, + thread->st_p3, thread->st_p2); + } + + sbuf_printf(&sb, " }"); + first = FALSE; + } + sbuf_printf(&sb, "\n}"); + mtx_unlock(&softc->fha_hash[i].mtx); + hfirst = FALSE; + } + + out: + sbuf_trim(&sb); + sbuf_finish(&sb); + error = sysctl_handle_string(oidp, sbuf_data(&sb), sbuf_len(&sb), req); + sbuf_delete(&sb); + return (error); } Modified: head/sys/fs/nfsserver/nfs_fha_new.h ============================================================================== --- head/sys/fs/nfsserver/nfs_fha_new.h Mon Apr 13 23:16:32 2020 (r359909) +++ head/sys/fs/nfsserver/nfs_fha_new.h Tue Apr 14 00:01:26 2020 (r359910) @@ -35,7 +35,75 @@ #define FHANEW_SERVER_NAME "nfsd" +/* Sysctl defaults. */ +#define FHA_DEF_ENABLE 1 +#define FHA_DEF_READ 1 +#define FHA_DEF_WRITE 1 +#define FHA_DEF_BIN_SHIFT 22 /* 4MB */ +#define FHA_DEF_MAX_NFSDS_PER_FH 8 +#define FHA_DEF_MAX_REQS_PER_NFSD 0 /* Unlimited */ + +#define FHA_HASH_SIZE 251 + +struct fha_ctls { + int enable; + int read; + int write; + uint32_t bin_shift; + uint32_t max_nfsds_per_fh; + uint32_t max_reqs_per_nfsd; +}; + +/* + * These are the entries in the filehandle hash. They talk about a specific + * file, requests against which are being handled by one or more nfsds. We + * keep a chain of nfsds against the file. We only have more than one if reads + * are ongoing, and then only if the reads affect disparate regions of the + * file. + * + * In general, we want to assign a new request to an existing nfsd if it is + * going to contend with work happening already on that nfsd, or if the + * operation is a read and the nfsd is already handling a proximate read. We + * do this to avoid jumping around in the read stream unnecessarily, and to + * avoid contention between threads over single files. + */ +struct fha_hash_entry { + struct mtx *mtx; + LIST_ENTRY(fha_hash_entry) link; + u_int64_t fh; + u_int32_t num_rw; + u_int32_t num_exclusive; + u_int8_t num_threads; + struct svcthread_list threads; +}; + +LIST_HEAD(fha_hash_entry_list, fha_hash_entry); + +struct fha_hash_slot { + struct fha_hash_entry_list list; + struct mtx mtx; +}; + +/* A structure used for passing around data internally. */ +struct fha_info { + u_int64_t fh; + off_t offset; + int locktype; + int read; + int write; +}; + +struct fha_params { + struct fha_hash_slot fha_hash[FHA_HASH_SIZE]; + struct sysctl_ctx_list sysctl_ctx; + struct sysctl_oid *sysctl_tree; + struct fha_ctls ctls; + char server_name[32]; + SVCPOOL **pool; +}; + SVCTHREAD *fhanew_assign(SVCTHREAD *this_thread, struct svc_req *req); +void fhanew_nd_complete(SVCTHREAD *, struct svc_req *); #endif /* _KERNEL */ #endif /* _NFS_FHA_NEW_H */ Modified: head/sys/fs/nfsserver/nfs_nfsdkrpc.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdkrpc.c Mon Apr 13 23:16:32 2020 (r359909) +++ head/sys/fs/nfsserver/nfs_nfsdkrpc.c Tue Apr 14 00:01:26 2020 (r359910) @@ -44,7 +44,6 @@ __FBSDID("$FreeBSD$"); #include #include -#include #include #include @@ -589,7 +588,7 @@ nfsrvd_init(int terminating) SYSCTL_STATIC_CHILDREN(_vfs_nfsd)); nfsrvd_pool->sp_rcache = NULL; nfsrvd_pool->sp_assign = fhanew_assign; - nfsrvd_pool->sp_done = fha_nd_complete; + nfsrvd_pool->sp_done = fhanew_nd_complete; NFSD_LOCK(); } } Modified: head/sys/modules/nfsd/Makefile ============================================================================== --- head/sys/modules/nfsd/Makefile Mon Apr 13 23:16:32 2020 (r359909) +++ head/sys/modules/nfsd/Makefile Tue Apr 14 00:01:26 2020 (r359910) @@ -1,9 +1,8 @@ # $FreeBSD$ -.PATH: ${SRCTOP}/sys/fs/nfsserver ${SRCTOP}/sys/nfs +.PATH: ${SRCTOP}/sys/fs/nfsserver KMOD= nfsd SRCS= vnode_if.h \ - nfs_fha.c \ nfs_fha_new.c \ nfs_nfsdserv.c \ nfs_nfsdcache.c \ From owner-svn-src-head@freebsd.org Tue Apr 14 07:38:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EB9392B7DEE; Tue, 14 Apr 2020 07:38:34 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491cmV5jMGz3JLy; Tue, 14 Apr 2020 07:38:34 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BF1121673; Tue, 14 Apr 2020 07:38:34 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03E7cYZ6055260; Tue, 14 Apr 2020 07:38:34 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03E7cYUm055259; Tue, 14 Apr 2020 07:38:34 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004140738.03E7cYUm055259@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Tue, 14 Apr 2020 07:38:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359914 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 359914 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 07:38:35 -0000 Author: melifaro Date: Tue Apr 14 07:38:34 2020 New Revision: 359914 URL: https://svnweb.freebsd.org/changeset/base/359914 Log: Postpone multipath seed init till SI_SUB_LAST, as it is needed only after some useland program installs multiple paths to the same destination. While here, make multipath init conditional. Discussed with: cem,ian Modified: head/sys/net/radix_mpath.c Modified: head/sys/net/radix_mpath.c ============================================================================== --- head/sys/net/radix_mpath.c Tue Apr 14 01:07:58 2020 (r359913) +++ head/sys/net/radix_mpath.c Tue Apr 14 07:38:34 2020 (r359914) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include "opt_inet.h" #include "opt_inet6.h" +#include "opt_mpath.h" #include #include @@ -298,11 +299,13 @@ rt_mpath_init_rnh(struct rib_head *rnh) rnh->rnh_multipath = 1; } +#ifdef RADIX_MPATH static void mpath_init(void) { hashjitter = arc4random(); } -SYSINIT(mpath_init, SI_SUB_PROTO_DOMAIN, SI_ORDER_ANY, mpath_init, NULL); +SYSINIT(mpath_init, SI_SUB_LAST, SI_ORDER_ANY, mpath_init, NULL); +#endif From owner-svn-src-head@freebsd.org Tue Apr 14 10:10:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0C17C2BBED5; Tue, 14 Apr 2020 10:10:32 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491h7q6ZyWz3y9Q; Tue, 14 Apr 2020 10:10:31 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D8F1333F2; Tue, 14 Apr 2020 10:10:31 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EAAVra046800; Tue, 14 Apr 2020 10:10:31 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EAAV3L046799; Tue, 14 Apr 2020 10:10:31 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202004141010.03EAAV3L046799@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Tue, 14 Apr 2020 10:10:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359916 - head/sbin/umount X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/sbin/umount X-SVN-Commit-Revision: 359916 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 10:10:32 -0000 Author: 0mp (doc,ports committer) Date: Tue Apr 14 10:10:31 2020 New Revision: 359916 URL: https://svnweb.freebsd.org/changeset/base/359916 Log: Improve manual page formatting - Use appropriate macros for command arguments. - Increase option list indentation for better readability. MFC after: 3 days Modified: head/sbin/umount/umount.8 Modified: head/sbin/umount/umount.8 ============================================================================== --- head/sbin/umount/umount.8 Tue Apr 14 08:34:34 2020 (r359915) +++ head/sbin/umount/umount.8 Tue Apr 14 10:10:31 2020 (r359916) @@ -28,7 +28,7 @@ .\" @(#)umount.8 8.2 (Berkeley) 5/8/95 .\" $FreeBSD$ .\" -.Dd July 25, 2017 +.Dd April 14, 2020 .Dt UMOUNT 8 .Os .Sh NAME @@ -52,7 +52,9 @@ utility calls the system call to remove a file system from the file system tree. The file system can be specified by its .Ar special -device or remote node (rhost:path), the path to the mount point +device or remote node +.Pq Ar rhost Ns Cm \& : Ns Ar path , +the path to the mount point .Ar node or by the file system ID .Ar fsid @@ -61,7 +63,7 @@ as reported by when run by root. .Pp The options are as follows: -.Bl -tag -width indent +.Bl -tag -width "-F fstab" .It Fl a All the file systems described in .Xr fstab 5 From owner-svn-src-head@freebsd.org Tue Apr 14 12:24:57 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1DAFD2BF707; Tue, 14 Apr 2020 12:24:57 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [IPv6:2a01:4f8:c17:6c4b::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 491l6w0zVjz46tf; Tue, 14 Apr 2020 12:24:55 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [62.141.129.235]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 60C2A2602DF; Tue, 14 Apr 2020 14:24:47 +0200 (CEST) Subject: Re: svn commit: r359823 - in head: etc/mtree include lib/libc/gen sys/conf sys/net sys/net/route sys/netinet sys/netinet6 sys/sys usr.bin/netstat To: "Alexander V. Chernikov" , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202004121430.03CEU0lX013314@repo.freebsd.org> From: Hans Petter Selasky Message-ID: <74fe07bc-af55-ac8d-ef64-d9912fe3bd57@selasky.org> Date: Tue, 14 Apr 2020 14:23:45 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: <202004121430.03CEU0lX013314@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 491l6w0zVjz46tf X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of hps@selasky.org designates 2a01:4f8:c17:6c4b::2 as permitted sender) smtp.mailfrom=hps@selasky.org X-Spamd-Result: default: False [-4.98 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+a:mail.turbocat.net:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[selasky.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; IP_SCORE(-2.68)[ip: (-9.21), ipnet: 2a01:4f8::/29(-2.62), asn: 24940(-1.58), country: DE(-0.02)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 12:24:57 -0000 Hi, It looks like you need to add some NULL checks: > diff --git a/sys/netinet/in_rmx.c b/sys/netinet/in_rmx.c > index eeb7760c5cc..5f9ae967177 100644 > --- a/sys/netinet/in_rmx.c > +++ b/sys/netinet/in_rmx.c > @@ -103,7 +103,7 @@ rib4_preadd(u_int fibnum, const struct sockaddr *addr, const struct sockaddr *ma > > /* Ensure that default route nhop has special flag */ > const struct sockaddr_in *mask4 = (const struct sockaddr_in *)mask; > - if ((rt_flags & RTF_HOST) == 0 && mask4->sin_addr.s_addr == 0) > + if ((rt_flags & RTF_HOST) == 0 && mask4 != NULL && mask4->sin_addr.s_addr == 0) > nh->nh_flags |= NHF_DEFAULT; > > /* Set nhop type to basic per-AF nhop */ > diff --git a/sys/netinet6/in6_rmx.c b/sys/netinet6/in6_rmx.c > index 7f10b290309..4621669dab9 100644 > --- a/sys/netinet6/in6_rmx.c > +++ b/sys/netinet6/in6_rmx.c > @@ -125,7 +125,7 @@ rib6_preadd(u_int fibnum, const struct sockaddr *addr, const struct sockaddr *ma > > /* Ensure that default route nhop has special flag */ > const struct sockaddr_in6 *mask6 = (const struct sockaddr_in6 *)mask; > - if ((nhop_get_rtflags(nh) & RTF_HOST) == 0 && > + if ((nhop_get_rtflags(nh) & RTF_HOST) == 0 && mask6 != NULL && > IN6_IS_ADDR_UNSPECIFIED(&mask6->sin6_addr)) > nh->nh_flags |= NHF_DEFAULT; > Else I hit a panic with this command: sysctl net.inet.icmp.bmcastecho=1 route add -net 255.255.255.255 a.b.c.d Where a.b.c.d is a valid IPv4 on the local network. --HPS From owner-svn-src-head@freebsd.org Tue Apr 14 13:12:23 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5BC0B2C04EA; Tue, 14 Apr 2020 13:12:23 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491m9g1fCNz49v9; Tue, 14 Apr 2020 13:12:23 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 33B0C5B70; Tue, 14 Apr 2020 13:12:23 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EDCMGY066025; Tue, 14 Apr 2020 13:12:22 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EDCMA5066023; Tue, 14 Apr 2020 13:12:22 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004141312.03EDCMA5066023@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Tue, 14 Apr 2020 13:12:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359917 - in head/sys: netinet netinet6 X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: in head/sys: netinet netinet6 X-SVN-Commit-Revision: 359917 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 13:12:23 -0000 Author: melifaro Date: Tue Apr 14 13:12:22 2020 New Revision: 359917 URL: https://svnweb.freebsd.org/changeset/base/359917 Log: Plug netmask NULL check during route addition causing kernel panic. This bug was introduced by the r359823. Reported by: hselasky Modified: head/sys/netinet/in_rmx.c head/sys/netinet6/in6_rmx.c Modified: head/sys/netinet/in_rmx.c ============================================================================== --- head/sys/netinet/in_rmx.c Tue Apr 14 10:10:31 2020 (r359916) +++ head/sys/netinet/in_rmx.c Tue Apr 14 13:12:22 2020 (r359917) @@ -103,7 +103,8 @@ rib4_preadd(u_int fibnum, const struct sockaddr *addr, /* Ensure that default route nhop has special flag */ const struct sockaddr_in *mask4 = (const struct sockaddr_in *)mask; - if ((rt_flags & RTF_HOST) == 0 && mask4->sin_addr.s_addr == 0) + if ((rt_flags & RTF_HOST) == 0 && mask4 != NULL && + mask4->sin_addr.s_addr == 0) nh->nh_flags |= NHF_DEFAULT; /* Set nhop type to basic per-AF nhop */ Modified: head/sys/netinet6/in6_rmx.c ============================================================================== --- head/sys/netinet6/in6_rmx.c Tue Apr 14 10:10:31 2020 (r359916) +++ head/sys/netinet6/in6_rmx.c Tue Apr 14 13:12:22 2020 (r359917) @@ -125,7 +125,7 @@ rib6_preadd(u_int fibnum, const struct sockaddr *addr, /* Ensure that default route nhop has special flag */ const struct sockaddr_in6 *mask6 = (const struct sockaddr_in6 *)mask; - if ((nhop_get_rtflags(nh) & RTF_HOST) == 0 && + if ((nhop_get_rtflags(nh) & RTF_HOST) == 0 && mask6 != NULL && IN6_IS_ADDR_UNSPECIFIED(&mask6->sin6_addr)) nh->nh_flags |= NHF_DEFAULT; From owner-svn-src-head@freebsd.org Tue Apr 14 13:15:37 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C253C2C06A6; Tue, 14 Apr 2020 13:15:37 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from forward500o.mail.yandex.net (forward500o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::610]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 491mFN0LKlz4BC3; Tue, 14 Apr 2020 13:15:35 +0000 (UTC) (envelope-from melifaro@ipfw.ru) Received: from mxback6o.mail.yandex.net (mxback6o.mail.yandex.net [IPv6:2a02:6b8:0:1a2d::20]) by forward500o.mail.yandex.net (Yandex) with ESMTP id 27CA86118F; Tue, 14 Apr 2020 16:15:32 +0300 (MSK) Received: from localhost (localhost [::1]) by mxback6o.mail.yandex.net (mxback/Yandex) with ESMTP id 7Z6GY972Zl-FV3CfVd7; Tue, 14 Apr 2020 16:15:31 +0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfw.ru; s=mail; t=1586870131; bh=v9kZBPN3iv8NVIMLDPzcxxzEa3dt8sBwnvQqlS9kGZU=; h=Message-Id:Subject:In-Reply-To:Date:References:To:From; b=Lm9azazZqJdYXJ1TwuTDFT2kqNoMYPn1aWwuBACKDT/2vSVgIjhCnjwQqlhD1yF9t QoyneeXGWAWt0rEDUdbL0ndeWjAL7X5zK2nbB6kNUfsKBaD3OBBEQV5ywG2LG7cuhL +9PdXDtfSA+9YX8mRW6Ej7gB83Njg/F8VSXWYnVU= Received: by sas1-c7aad230fe87.qloud-c.yandex.net with HTTP; Tue, 14 Apr 2020 16:15:31 +0300 From: Alexander V. Chernikov Envelope-From: melifaro@ipfw.ru To: Hans Petter Selasky , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" In-Reply-To: <74fe07bc-af55-ac8d-ef64-d9912fe3bd57@selasky.org> References: <202004121430.03CEU0lX013314@repo.freebsd.org> <74fe07bc-af55-ac8d-ef64-d9912fe3bd57@selasky.org> Subject: Re: svn commit: r359823 - in head: etc/mtree include lib/libc/gen sys/conf sys/net sys/net/route sys/netinet sys/netinet6 sys/sys usr.bin/netstat MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Tue, 14 Apr 2020 14:15:31 +0100 Message-Id: <10890571586869980@sas2-ca838ac7608b.qloud-c.yandex.net> Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=utf-8 X-Rspamd-Queue-Id: 491mFN0LKlz4BC3 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=ipfw.ru header.s=mail header.b=Lm9azazZ; dmarc=none; spf=pass (mx1.freebsd.org: domain of melifaro@ipfw.ru designates 2a02:6b8:0:1a2d::610 as permitted sender) smtp.mailfrom=melifaro@ipfw.ru X-Spamd-Result: default: False [-5.79 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[ipfw.ru:s=mail]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2a02:6b8:0:1000::/52]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[freebsd.org]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[ipfw.ru:+]; RCVD_IN_DNSWL_NONE(0.00)[0.1.6.0.0.0.0.0.0.0.0.0.0.0.0.0.d.2.a.1.0.0.0.0.8.b.6.0.2.0.a.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(-3.59)[ip: (-9.37), ipnet: 2a02:6b8::/32(-4.76), asn: 13238(-3.85), country: RU(0.01)]; FORGED_SENDER(0.30)[melifaro@freebsd.org,melifaro@ipfw.ru]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:13238, ipnet:2a02:6b8::/32, country:RU]; FROM_NEQ_ENVFROM(0.00)[melifaro@freebsd.org,melifaro@ipfw.ru] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 13:15:37 -0000 14.04.2020, 13:25, "Hans Petter Selasky" : > Hi, Hi Hans, Thank you! Indeed, the check slipped through the cracks while merging the code. Should be fixed by r359917. I'll add the testcases to cover that later today. > > It looks like you need to add some NULL checks: > >>  diff --git a/sys/netinet/in_rmx.c b/sys/netinet/in_rmx.c >>  index eeb7760c5cc..5f9ae967177 100644 >>  --- a/sys/netinet/in_rmx.c >>  +++ b/sys/netinet/in_rmx.c >>  @@ -103,7 +103,7 @@ rib4_preadd(u_int fibnum, const struct sockaddr *addr, const struct sockaddr *ma >> >>          /* Ensure that default route nhop has special flag */ >>          const struct sockaddr_in *mask4 = (const struct sockaddr_in *)mask; >>  - if ((rt_flags & RTF_HOST) == 0 && mask4->sin_addr.s_addr == 0) >>  + if ((rt_flags & RTF_HOST) == 0 && mask4 != NULL && mask4->sin_addr.s_addr == 0) >>                  nh->nh_flags |= NHF_DEFAULT; >> >>          /* Set nhop type to basic per-AF nhop */ >>  diff --git a/sys/netinet6/in6_rmx.c b/sys/netinet6/in6_rmx.c >>  index 7f10b290309..4621669dab9 100644 >>  --- a/sys/netinet6/in6_rmx.c >>  +++ b/sys/netinet6/in6_rmx.c >>  @@ -125,7 +125,7 @@ rib6_preadd(u_int fibnum, const struct sockaddr *addr, const struct sockaddr *ma >> >>          /* Ensure that default route nhop has special flag */ >>          const struct sockaddr_in6 *mask6 = (const struct sockaddr_in6 *)mask; >>  - if ((nhop_get_rtflags(nh) & RTF_HOST) == 0 && >>  + if ((nhop_get_rtflags(nh) & RTF_HOST) == 0 && mask6 != NULL && >>              IN6_IS_ADDR_UNSPECIFIED(&mask6->sin6_addr)) >>                  nh->nh_flags |= NHF_DEFAULT; > > Else I hit a panic with this command: > > sysctl net.inet.icmp.bmcastecho=1 > route add -net 255.255.255.255 a.b.c.d > > Where a.b.c.d is a valid IPv4 on the local network. > > --HPS From owner-svn-src-head@freebsd.org Tue Apr 14 13:32:03 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id EC5A32C0C8C; Tue, 14 Apr 2020 13:32:03 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491mcM5zmJz4CQv; Tue, 14 Apr 2020 13:32:03 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C8A025F53; Tue, 14 Apr 2020 13:32:03 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EDW3lQ075640; Tue, 14 Apr 2020 13:32:03 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EDW3tQ075638; Tue, 14 Apr 2020 13:32:03 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004141332.03EDW3tQ075638@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 14 Apr 2020 13:32:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359918 - in head: sys/kern tests/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: sys/kern tests/sys/kern X-SVN-Commit-Revision: 359918 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 13:32:04 -0000 Author: kevans Date: Tue Apr 14 13:32:03 2020 New Revision: 359918 URL: https://svnweb.freebsd.org/changeset/base/359918 Log: posixshm: fix counting of writable mappings Similar to mmap'ing vnodes, posixshm should count any mapping where maxprot contains VM_PROT_WRITE (i.e. fd opened r/w with no write-seal applied) as writable and thus blocking of any write-seal. The memfd tests have been amended to reflect the fixes here, which notably includes: 1. Fix for error return bug; EPERM is not a documented failure mode for mmap 2. Fix rejection of write-seal with active mappings that can be upgraded via mprotect(2). Reported by: markj Discussed with: markj, kib Modified: head/sys/kern/uipc_shm.c head/tests/sys/kern/memfd_test.c Modified: head/sys/kern/uipc_shm.c ============================================================================== --- head/sys/kern/uipc_shm.c Tue Apr 14 13:12:22 2020 (r359917) +++ head/sys/kern/uipc_shm.c Tue Apr 14 13:32:03 2020 (r359918) @@ -1147,14 +1147,16 @@ shm_mmap(struct file *fp, vm_map_t map, vm_offset_t *a if ((fp->f_flag & FWRITE) != 0 && (shmfd->shm_seals & F_SEAL_WRITE) == 0) maxprot |= VM_PROT_WRITE; - writecnt = (prot & VM_PROT_WRITE) != 0; - if (writecnt && (shmfd->shm_seals & F_SEAL_WRITE) != 0) { - error = EPERM; - goto out; - } - /* Don't permit shared writable mappings on read-only descriptors. */ - if (writecnt && (maxprot & VM_PROT_WRITE) == 0) { + /* + * Any mappings from a writable descriptor may be upgraded to + * VM_PROT_WRITE with mprotect(2), unless a write-seal was + * applied between the open and subsequent mmap(2). We want to + * reject application of a write seal as long as any such + * mapping exists so that the seal cannot be trivially bypassed. + */ + writecnt = (maxprot & VM_PROT_WRITE) != 0; + if (!writecnt && (prot & VM_PROT_WRITE) != 0) { error = EACCES; goto out; } Modified: head/tests/sys/kern/memfd_test.c ============================================================================== --- head/tests/sys/kern/memfd_test.c Tue Apr 14 13:12:22 2020 (r359917) +++ head/tests/sys/kern/memfd_test.c Tue Apr 14 13:32:03 2020 (r359918) @@ -108,7 +108,7 @@ ATF_TC_BODY(write_seal, tc) ATF_REQUIRE(mmap(0, BUF_SIZE, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, 0) == MAP_FAILED); - ATF_REQUIRE(errno == EPERM); + ATF_REQUIRE(errno == EACCES); close(fd); } @@ -136,13 +136,23 @@ ATF_TC_BODY(mmap_write_seal, tc) ATF_REQUIRE(munmap(addr, BUF_SIZE) == 0); + /* + * This should fail, because raddr still exists and it was spawned from + * a r/w fd. + */ + ATF_REQUIRE(fcntl(fd, F_ADD_SEALS, F_SEAL_WRITE) == -1); + ATF_REQUIRE(errno == EBUSY); + + ATF_REQUIRE(munmap(raddr, BUF_SIZE) == 0); + /* This one should succeed; only the private mapping remains. */ ATF_REQUIRE(fcntl(fd, F_ADD_SEALS, F_SEAL_WRITE) == 0); ATF_REQUIRE(munmap(paddr, BUF_SIZE) == 0); - ATF_REQUIRE(munmap(raddr, BUF_SIZE) == 0); ATF_REQUIRE(mmap(0, BUF_SIZE, (PROT_READ | PROT_WRITE), MAP_SHARED, fd, 0) == MAP_FAILED); - ATF_REQUIRE(errno == EPERM); + ATF_REQUIRE(errno == EACCES); + + /* Make sure we can still map privately r/w or shared r/o. */ paddr = mmap(0, BUF_SIZE, (PROT_READ | PROT_WRITE), MAP_PRIVATE, fd, 0); ATF_REQUIRE(paddr != MAP_FAILED); raddr = mmap(0, BUF_SIZE, PROT_READ, MAP_SHARED, fd, 0); @@ -227,7 +237,7 @@ ATF_TC_BODY(dup_seals, tc) ATF_REQUIRE(mmap(0, BUF_SIZE, (PROT_READ | PROT_WRITE), MAP_SHARED, fdx, 0) == MAP_FAILED); - ATF_REQUIRE(errno == EPERM); + ATF_REQUIRE(errno == EACCES); close(fd); close(fdx); @@ -259,7 +269,6 @@ ATF_TC_BODY(immutable_seals, tc) "Added duplicate grow seal after restricting seals"); close(fd); } - ATF_TP_ADD_TCS(tp) { From owner-svn-src-head@freebsd.org Tue Apr 14 14:46:09 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 66B312C23F4; Tue, 14 Apr 2020 14:46:09 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491pFs2HYMz4JCc; Tue, 14 Apr 2020 14:46:09 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 444866DA2; Tue, 14 Apr 2020 14:46:09 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EEk9NC026209; Tue, 14 Apr 2020 14:46:09 GMT (envelope-from gallatin@FreeBSD.org) Received: (from gallatin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EEk6ja026190; Tue, 14 Apr 2020 14:46:06 GMT (envelope-from gallatin@FreeBSD.org) Message-Id: <202004141446.03EEk6ja026190@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gallatin set sender to gallatin@FreeBSD.org using -f From: Andrew Gallatin Date: Tue, 14 Apr 2020 14:46:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359919 - in head/sys: dev/cxgbe dev/cxgbe/crypto dev/cxgbe/tom dev/mlx5/mlx5_en kern netinet netinet6 sys X-SVN-Group: head X-SVN-Commit-Author: gallatin X-SVN-Commit-Paths: in head/sys: dev/cxgbe dev/cxgbe/crypto dev/cxgbe/tom dev/mlx5/mlx5_en kern netinet netinet6 sys X-SVN-Commit-Revision: 359919 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 14:46:09 -0000 Author: gallatin Date: Tue Apr 14 14:46:06 2020 New Revision: 359919 URL: https://svnweb.freebsd.org/changeset/base/359919 Log: KTLS: Re-work unmapped mbufs to carry ext_pgs in the mbuf itself. While the original implementation of unmapped mbufs was a large step forward in terms of reducing cache misses by enabling mbufs to carry more than a single page for sendfile, they are rather cache unfriendly when accessing the ext_pgs metadata and data. This is because the ext_pgs part of the mbuf is allocated separately, and almost guaranteed to be cold in cache. This change takes advantage of the fact that unmapped mbufs are never used at the same time as pkthdr mbufs. Given this fact, we can overlap the ext_pgs metadata with the mbuf pkthdr, and carry the ext_pgs meta directly in the mbuf itself. Similarly, we can carry the ext_pgs data (TLS hdr/trailer/array of pages) directly after the existing m_ext. In order to be able to carry 5 pages (which is the minimum required for a 16K TLS record which is not perfectly aligned) on LP64, I've had to steal ext_arg2. The only user of this in the xmit path is sendfile, and I've adjusted it to use arg1 when using unmapped mbufs. This change is almost entirely mechanical, except that we change mb_alloc_ext_pgs() to no longer allow allocating pkthdrs, the change to avoid ext_arg2 as mentioned above, and the removal of the ext_pgs zone, This change saves roughly 2% "raw" CPU (~59% -> 57%), or over 3% "scaled" CPU on a Netflix 100% software kTLS workload at 90+ Gb/s on Broadwell Xeons. In a follow-on commit, I plan to remove some hacks to avoid access ext_pgs fields of mbufs, since they will now be in cache. Many thanks to glebius for helping to make this better in the Netflix tree. Reviewed by: hselasky, jhb, rrs, glebius (early version) Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D24213 Modified: head/sys/dev/cxgbe/crypto/t4_kern_tls.c head/sys/dev/cxgbe/t4_sge.c head/sys/dev/cxgbe/tom/t4_cpl_io.c head/sys/dev/cxgbe/tom/t4_tls.c head/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c head/sys/kern/kern_mbuf.c head/sys/kern/kern_sendfile.c head/sys/kern/subr_bus_dma.c head/sys/kern/subr_sglist.c head/sys/kern/uipc_ktls.c head/sys/kern/uipc_mbuf.c head/sys/kern/uipc_sockbuf.c head/sys/netinet/ip_output.c head/sys/netinet/tcp_output.c head/sys/netinet6/ip6_output.c head/sys/sys/mbuf.h Modified: head/sys/dev/cxgbe/crypto/t4_kern_tls.c ============================================================================== --- head/sys/dev/cxgbe/crypto/t4_kern_tls.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/dev/cxgbe/crypto/t4_kern_tls.c Tue Apr 14 14:46:06 2020 (r359919) @@ -905,8 +905,8 @@ ktls_tcp_payload_length(struct tlspcb *tlsp, struct mb u_int plen, mlen; MBUF_EXT_PGS_ASSERT(m_tls); - ext_pgs = m_tls->m_ext.ext_pgs; - hdr = (void *)ext_pgs->hdr; + ext_pgs = &m_tls->m_ext_pgs; + hdr = (void *)ext_pgs->m_epg_hdr; plen = ntohs(hdr->tls_length); /* @@ -961,8 +961,8 @@ ktls_payload_offset(struct tlspcb *tlsp, struct mbuf * #endif MBUF_EXT_PGS_ASSERT(m_tls); - ext_pgs = m_tls->m_ext.ext_pgs; - hdr = (void *)ext_pgs->hdr; + ext_pgs = &m_tls->m_ext_pgs; + hdr = (void *)ext_pgs->m_epg_hdr; plen = ntohs(hdr->tls_length); #ifdef INVARIANTS mlen = mtod(m_tls, vm_offset_t) + m_tls->m_len; @@ -1008,7 +1008,7 @@ ktls_wr_len(struct tlspcb *tlsp, struct mbuf *m, struc u_int imm_len, offset, plen, wr_len, tlen; MBUF_EXT_PGS_ASSERT(m_tls); - ext_pgs = m_tls->m_ext.ext_pgs; + ext_pgs = &m_tls->m_ext_pgs; /* * Determine the size of the TLS record payload to send @@ -1040,7 +1040,7 @@ ktls_wr_len(struct tlspcb *tlsp, struct mbuf *m, struc return (wr_len); } - hdr = (void *)ext_pgs->hdr; + hdr = (void *)ext_pgs->m_epg_hdr; plen = TLS_HEADER_LENGTH + ntohs(hdr->tls_length) - ext_pgs->trail_len; if (tlen < plen) { plen = tlen; @@ -1474,7 +1474,7 @@ ktls_write_tunnel_packet(struct sge_txq *txq, void *ds /* Locate the template TLS header. */ MBUF_EXT_PGS_ASSERT(m_tls); - ext_pgs = m_tls->m_ext.ext_pgs; + ext_pgs = &m_tls->m_ext_pgs; /* This should always be the last TLS record in a chain. */ MPASS(m_tls->m_next == NULL); @@ -1543,8 +1543,8 @@ ktls_write_tunnel_packet(struct sge_txq *txq, void *ds (m->m_pkthdr.l2hlen + m->m_pkthdr.l3hlen + sizeof(*tcp))); /* Copy the subset of the TLS header requested. */ - copy_to_txd(&txq->eq, (char *)ext_pgs->hdr + mtod(m_tls, vm_offset_t), - &out, m_tls->m_len); + copy_to_txd(&txq->eq, (char *)ext_pgs->m_epg_hdr + + mtod(m_tls, vm_offset_t), &out, m_tls->m_len); txq->imm_wrs++; txq->txpkt_wrs++; @@ -1603,8 +1603,8 @@ ktls_write_tls_wr(struct tlspcb *tlsp, struct sge_txq /* Locate the TLS header. */ MBUF_EXT_PGS_ASSERT(m_tls); - ext_pgs = m_tls->m_ext.ext_pgs; - hdr = (void *)ext_pgs->hdr; + ext_pgs = &m_tls->m_ext_pgs; + hdr = (void *)ext_pgs->m_epg_hdr; plen = TLS_HEADER_LENGTH + ntohs(hdr->tls_length) - ext_pgs->trail_len; /* Determine how much of the TLS record to send. */ @@ -2031,7 +2031,7 @@ ktls_write_tls_wr(struct tlspcb *tlsp, struct sge_txq /* Populate the TLS header */ out = (void *)(tx_data + 1); if (offset == 0) { - memcpy(out, ext_pgs->hdr, ext_pgs->hdr_len); + memcpy(out, ext_pgs->m_epg_hdr, ext_pgs->hdr_len); out += ext_pgs->hdr_len; } Modified: head/sys/dev/cxgbe/t4_sge.c ============================================================================== --- head/sys/dev/cxgbe/t4_sge.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/dev/cxgbe/t4_sge.c Tue Apr 14 14:46:06 2020 (r359919) @@ -2419,7 +2419,7 @@ count_mbuf_ext_pgs(struct mbuf *m, int skip, vm_paddr_ int nsegs = 0; MBUF_EXT_PGS_ASSERT(m); - ext_pgs = m->m_ext.ext_pgs; + ext_pgs = &m->m_ext_pgs; off = mtod(m, vm_offset_t); len = m->m_len; off += skip; @@ -2435,7 +2435,7 @@ count_mbuf_ext_pgs(struct mbuf *m, int skip, vm_paddr_ off = 0; len -= seglen; paddr = pmap_kextract( - (vm_offset_t)&ext_pgs->hdr[segoff]); + (vm_offset_t)&ext_pgs->m_epg_hdr[segoff]); if (*nextaddr != paddr) nsegs++; *nextaddr = paddr + seglen; @@ -2454,7 +2454,7 @@ count_mbuf_ext_pgs(struct mbuf *m, int skip, vm_paddr_ off = 0; seglen = min(seglen, len); len -= seglen; - paddr = ext_pgs->pa[i] + segoff; + paddr = ext_pgs->m_epg_pa[i] + segoff; if (*nextaddr != paddr) nsegs++; *nextaddr = paddr + seglen; @@ -2463,7 +2463,7 @@ count_mbuf_ext_pgs(struct mbuf *m, int skip, vm_paddr_ if (len != 0) { seglen = min(len, ext_pgs->trail_len - off); len -= seglen; - paddr = pmap_kextract((vm_offset_t)&ext_pgs->trail[off]); + paddr = pmap_kextract((vm_offset_t)&ext_pgs->m_epg_trail[off]); if (*nextaddr != paddr) nsegs++; *nextaddr = paddr + seglen; Modified: head/sys/dev/cxgbe/tom/t4_cpl_io.c ============================================================================== --- head/sys/dev/cxgbe/tom/t4_cpl_io.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/dev/cxgbe/tom/t4_cpl_io.c Tue Apr 14 14:46:06 2020 (r359919) @@ -732,7 +732,7 @@ t4_push_frames(struct adapter *sc, struct toepcb *toep if (m->m_flags & M_NOMAP) { #ifdef KERN_TLS - if (m->m_ext.ext_pgs->tls != NULL) { + if (m->m_ext_pgs.tls != NULL) { toep->flags |= TPF_KTLS; if (plen == 0) { SOCKBUF_UNLOCK(sb); @@ -1927,7 +1927,7 @@ aiotx_free_pgs(struct mbuf *m) vm_page_t pg; MBUF_EXT_PGS_ASSERT(m); - ext_pgs = m->m_ext.ext_pgs; + ext_pgs = &m->m_ext_pgs; job = m->m_ext.ext_arg1; #ifdef VERBOSE_TRACES CTR3(KTR_CXGBE, "%s: completed %d bytes for tid %d", __func__, @@ -1935,7 +1935,7 @@ aiotx_free_pgs(struct mbuf *m) #endif for (int i = 0; i < ext_pgs->npgs; i++) { - pg = PHYS_TO_VM_PAGE(ext_pgs->pa[i]); + pg = PHYS_TO_VM_PAGE(ext_pgs->m_epg_pa[i]); vm_page_unwire(pg, PQ_ACTIVE); } @@ -1984,13 +1984,13 @@ alloc_aiotx_mbuf(struct kaiocb *job, int len) if (npages < 0) break; - m = mb_alloc_ext_pgs(M_WAITOK, false, aiotx_free_pgs); + m = mb_alloc_ext_pgs(M_WAITOK, aiotx_free_pgs); if (m == NULL) { vm_page_unhold_pages(pgs, npages); break; } - ext_pgs = m->m_ext.ext_pgs; + ext_pgs = &m->m_ext_pgs; ext_pgs->first_pg_off = pgoff; ext_pgs->npgs = npages; if (npages == 1) { @@ -2003,7 +2003,7 @@ alloc_aiotx_mbuf(struct kaiocb *job, int len) (npages - 2) * PAGE_SIZE; } for (i = 0; i < npages; i++) - ext_pgs->pa[i] = VM_PAGE_TO_PHYS(pgs[i]); + ext_pgs->m_epg_pa[i] = VM_PAGE_TO_PHYS(pgs[i]); m->m_len = mlen; m->m_ext.ext_size = npages * PAGE_SIZE; Modified: head/sys/dev/cxgbe/tom/t4_tls.c ============================================================================== --- head/sys/dev/cxgbe/tom/t4_tls.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/dev/cxgbe/tom/t4_tls.c Tue Apr 14 14:46:06 2020 (r359919) @@ -1568,24 +1568,26 @@ t4_push_tls_records(struct adapter *sc, struct toepcb #ifdef KERN_TLS static int -count_ext_pgs_segs(struct mbuf_ext_pgs *ext_pgs) +count_ext_pgs_segs(struct mbuf_ext_pgs *ext_pgs, + struct mbuf_ext_pgs_data *ext_pgs_data) { vm_paddr_t nextpa; u_int i, nsegs; MPASS(ext_pgs->npgs > 0); nsegs = 1; - nextpa = ext_pgs->pa[0] + PAGE_SIZE; + nextpa = ext_pgs_data->pa[0] + PAGE_SIZE; for (i = 1; i < ext_pgs->npgs; i++) { - if (nextpa != ext_pgs->pa[i]) + if (nextpa != ext_pgs_data->pa[i]) nsegs++; - nextpa = ext_pgs->pa[i] + PAGE_SIZE; + nextpa = ext_pgs_data->pa[i] + PAGE_SIZE; } return (nsegs); } static void -write_ktlstx_sgl(void *dst, struct mbuf_ext_pgs *ext_pgs, int nsegs) +write_ktlstx_sgl(void *dst, struct mbuf_ext_pgs *ext_pgs, + struct mbuf_ext_pgs_data *ext_pgs_data, int nsegs) { struct ulptx_sgl *usgl = dst; vm_paddr_t pa; @@ -1598,12 +1600,12 @@ write_ktlstx_sgl(void *dst, struct mbuf_ext_pgs *ext_p V_ULPTX_NSGE(nsegs)); /* Figure out the first S/G length. */ - pa = ext_pgs->pa[0] + ext_pgs->first_pg_off; + pa = ext_pgs_data->pa[0] + ext_pgs->first_pg_off; usgl->addr0 = htobe64(pa); len = mbuf_ext_pg_len(ext_pgs, 0, ext_pgs->first_pg_off); pa += len; for (i = 1; i < ext_pgs->npgs; i++) { - if (ext_pgs->pa[i] != pa) + if (ext_pgs_data->pa[i] != pa) break; len += mbuf_ext_pg_len(ext_pgs, i, 0); pa += mbuf_ext_pg_len(ext_pgs, i, 0); @@ -1615,14 +1617,14 @@ write_ktlstx_sgl(void *dst, struct mbuf_ext_pgs *ext_p j = -1; for (; i < ext_pgs->npgs; i++) { - if (j == -1 || ext_pgs->pa[i] != pa) { + if (j == -1 || ext_pgs_data->pa[i] != pa) { if (j >= 0) usgl->sge[j / 2].len[j & 1] = htobe32(len); j++; #ifdef INVARIANTS nsegs--; #endif - pa = ext_pgs->pa[i]; + pa = ext_pgs_data->pa[i]; usgl->sge[j / 2].addr[j & 1] = htobe64(pa); len = mbuf_ext_pg_len(ext_pgs, i, 0); pa += len; @@ -1744,7 +1746,7 @@ t4_push_ktls(struct adapter *sc, struct toepcb *toep, KASSERT(m->m_flags & M_NOMAP, ("%s: mbuf %p is not NOMAP", __func__, m)); - KASSERT(m->m_ext.ext_pgs->tls != NULL, + KASSERT(m->m_ext_pgs.tls != NULL, ("%s: mbuf %p doesn't have TLS session", __func__, m)); /* Calculate WR length. */ @@ -1756,7 +1758,8 @@ t4_push_ktls(struct adapter *sc, struct toepcb *toep, wr_len += AES_BLOCK_LEN; /* Account for SGL in work request length. */ - nsegs = count_ext_pgs_segs(m->m_ext.ext_pgs); + nsegs = count_ext_pgs_segs(&m->m_ext_pgs, + &m->m_ext.ext_pgs); wr_len += sizeof(struct ulptx_sgl) + ((3 * (nsegs - 1)) / 2 + ((nsegs - 1) & 1)) * 8; @@ -1810,22 +1813,22 @@ t4_push_ktls(struct adapter *sc, struct toepcb *toep, return; } - thdr = (struct tls_hdr *)m->m_ext.ext_pgs->hdr; + thdr = (struct tls_hdr *)&m->m_epg_hdr; #ifdef VERBOSE_TRACES CTR5(KTR_CXGBE, "%s: tid %d TLS record %ju type %d len %#x", - __func__, toep->tid, m->m_ext.ext_pgs->seqno, thdr->type, + __func__, toep->tid, m->m_ext_pgs.seqno, thdr->type, m->m_len); #endif txwr = wrtod(wr); cpl = (struct cpl_tx_tls_sfo *)(txwr + 1); memset(txwr, 0, roundup2(wr_len, 16)); credits = howmany(wr_len, 16); - expn_size = m->m_ext.ext_pgs->hdr_len + - m->m_ext.ext_pgs->trail_len; + expn_size = m->m_ext_pgs.hdr_len + + m->m_ext_pgs.trail_len; tls_size = m->m_len - expn_size; write_tlstx_wr(txwr, toep, 0, tls_size, expn_size, 1, credits, shove, 1); - toep->tls.tx_seq_no = m->m_ext.ext_pgs->seqno; + toep->tls.tx_seq_no = m->m_ext_pgs.seqno; write_tlstx_cpl(cpl, toep, thdr, tls_size, 1); tls_copy_tx_key(toep, cpl + 1); @@ -1834,7 +1837,8 @@ t4_push_ktls(struct adapter *sc, struct toepcb *toep, memcpy(buf, thdr + 1, toep->tls.iv_len); buf += AES_BLOCK_LEN; - write_ktlstx_sgl(buf, m->m_ext.ext_pgs, nsegs); + write_ktlstx_sgl(buf, &m->m_ext_pgs, &m->m_ext.ext_pgs, + nsegs); KASSERT(toep->tx_credits >= credits, ("%s: not enough credits", __func__)); Modified: head/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c ============================================================================== --- head/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/dev/mlx5/mlx5_en/mlx5_en_hw_tls.c Tue Apr 14 14:46:06 2020 (r359919) @@ -618,15 +618,14 @@ mlx5e_tls_send_nop(struct mlx5e_sq *sq, struct mlx5e_t static struct mbuf * sbtls_recover_record(struct mbuf *mb, int wait, uint32_t tcp_old, uint32_t *ptcp_seq) { - struct mbuf *mr; + struct mbuf *mr, *top; uint32_t offset; uint32_t delta; /* check format of incoming mbuf */ if (mb->m_next == NULL || - (mb->m_next->m_flags & (M_NOMAP | M_EXT)) != (M_NOMAP | M_EXT) || - mb->m_next->m_ext.ext_buf == NULL) { - mr = NULL; + (mb->m_next->m_flags & (M_NOMAP | M_EXT)) != (M_NOMAP | M_EXT)) { + top = NULL; goto done; } @@ -635,22 +634,31 @@ sbtls_recover_record(struct mbuf *mb, int wait, uint32 /* check if we don't need to re-transmit anything */ if (offset == 0) { - mr = SBTLS_MBUF_NO_DATA; + top = SBTLS_MBUF_NO_DATA; goto done; } - /* try to get a new mbufs with packet header */ - mr = m_gethdr(wait, MT_DATA); - if (mr == NULL) + /* try to get a new packet header */ + top = m_gethdr(wait, MT_DATA); + if (top == NULL) goto done; + mr = m_get(wait, MT_DATA); + if (mr == NULL) { + m_free(top); + top = NULL; + goto done; + } + + top->m_next = mr; + mb_dupcl(mr, mb->m_next); /* the beginning of the TLS record */ mr->m_data = NULL; /* setup packet header length */ - mr->m_pkthdr.len = mr->m_len = offset; + top->m_pkthdr.len = mr->m_len = offset; /* check for partial re-transmit */ delta = *ptcp_seq - tcp_old; @@ -666,7 +674,7 @@ sbtls_recover_record(struct mbuf *mb, int wait, uint32 */ *ptcp_seq -= offset; done: - return (mr); + return (top); } static int @@ -677,7 +685,7 @@ mlx5e_sq_tls_populate(struct mbuf *mb, uint64_t *pseq) for (; mb != NULL; mb = mb->m_next) { if (!(mb->m_flags & M_NOMAP)) continue; - ext_pgs = (void *)mb->m_ext.ext_buf; + ext_pgs = &mb->m_ext_pgs; *pseq = ext_pgs->seqno; return (1); } Modified: head/sys/kern/kern_mbuf.c ============================================================================== --- head/sys/kern/kern_mbuf.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/kern/kern_mbuf.c Tue Apr 14 14:46:06 2020 (r359919) @@ -295,7 +295,6 @@ uma_zone_t zone_pack; uma_zone_t zone_jumbop; uma_zone_t zone_jumbo9; uma_zone_t zone_jumbo16; -uma_zone_t zone_extpgs; /* * Local prototypes. @@ -312,9 +311,11 @@ static void mb_reclaim(uma_zone_t, int); /* Ensure that MSIZE is a power of 2. */ CTASSERT((((MSIZE - 1) ^ MSIZE) + 1) >> 1 == MSIZE); -_Static_assert(sizeof(struct mbuf_ext_pgs) == 256, - "mbuf_ext_pgs size mismatch"); - +_Static_assert(offsetof(struct mbuf, m_ext) == + offsetof(struct mbuf, m_ext_pgs.m_ext), + "m_ext offset mismatch between mbuf and ext_pgs"); +_Static_assert(sizeof(struct mbuf) <= MSIZE, + "size of mbuf exceeds MSIZE"); /* * Initialize FreeBSD Network buffer allocation. */ @@ -369,11 +370,6 @@ mbuf_init(void *dummy) uma_zone_set_warning(zone_jumbo16, "kern.ipc.nmbjumbo16 limit reached"); uma_zone_set_maxaction(zone_jumbo16, mb_reclaim); - zone_extpgs = uma_zcreate(MBUF_EXTPGS_MEM_NAME, - sizeof(struct mbuf_ext_pgs), - NULL, NULL, NULL, NULL, - UMA_ALIGN_CACHE, 0); - /* * Hook event handler for low-memory situation, used to * drain protocols and push data back to the caches (UMA @@ -840,8 +836,8 @@ mb_free_notready(struct mbuf *m, int count) for (i = 0; i < count && m != NULL; i++) { if ((m->m_flags & M_EXT) != 0 && m->m_ext.ext_type == EXT_PGS) { - m->m_ext.ext_pgs->nrdy--; - if (m->m_ext.ext_pgs->nrdy != 0) + m->m_ext_pgs.nrdy--; + if (m->m_ext_pgs.nrdy != 0) continue; } m = m_free(m); @@ -883,27 +879,22 @@ mb_unmapped_compress(struct mbuf *m) if (*refcnt != 1) return (EBUSY); - /* - * Copy mbuf header and m_ext portion of 'm' to 'm_temp' to - * create a "fake" EXT_PGS mbuf that can be used with - * m_copydata() as well as the ext_free callback. - */ - memcpy(&m_temp, m, offsetof(struct mbuf, m_ext) + sizeof (m->m_ext)); - m_temp.m_next = NULL; - m_temp.m_nextpkt = NULL; + m_init(&m_temp, M_NOWAIT, MT_DATA, 0); + /* copy data out of old mbuf */ + m_copydata(m, 0, m->m_len, mtod(&m_temp, char *)); + m_temp.m_len = m->m_len; + + /* Free the backing pages. */ + m->m_ext.ext_free(m); + /* Turn 'm' into a "normal" mbuf. */ m->m_flags &= ~(M_EXT | M_RDONLY | M_NOMAP); m->m_data = m->m_dat; - /* Copy data from template's ext_pgs. */ - m_copydata(&m_temp, 0, m_temp.m_len, mtod(m, caddr_t)); + /* copy data back into m */ + m_copydata(&m_temp, 0, m_temp.m_len, mtod(m, char *)); - /* Free the backing pages. */ - m_temp.m_ext.ext_free(&m_temp); - - /* Finally, free the ext_pgs struct. */ - uma_zfree(zone_extpgs, m_temp.m_ext.ext_pgs); return (0); } @@ -959,7 +950,7 @@ _mb_unmapped_to_ext(struct mbuf *m) u_int ref_inc = 0; MBUF_EXT_PGS_ASSERT(m); - ext_pgs = m->m_ext.ext_pgs; + ext_pgs = &m->m_ext_pgs; len = m->m_len; KASSERT(ext_pgs->tls == NULL, ("%s: can't convert TLS mbuf %p", __func__, m)); @@ -993,7 +984,7 @@ _mb_unmapped_to_ext(struct mbuf *m) goto fail; m_new->m_len = seglen; prev = top = m_new; - memcpy(mtod(m_new, void *), &ext_pgs->hdr[segoff], + memcpy(mtod(m_new, void *), &ext_pgs->m_epg_hdr[segoff], seglen); } } @@ -1011,7 +1002,7 @@ _mb_unmapped_to_ext(struct mbuf *m) seglen = min(seglen, len); len -= seglen; - pg = PHYS_TO_VM_PAGE(ext_pgs->pa[i]); + pg = PHYS_TO_VM_PAGE(ext_pgs->m_epg_pa[i]); m_new = m_get(M_NOWAIT, MT_DATA); if (m_new == NULL) goto fail; @@ -1045,7 +1036,7 @@ _mb_unmapped_to_ext(struct mbuf *m) else prev->m_next = m_new; m_new->m_len = len; - memcpy(mtod(m_new, void *), &ext_pgs->trail[off], len); + memcpy(mtod(m_new, void *), &ext_pgs->m_epg_trail[off], len); } if (ref_inc != 0) { @@ -1132,23 +1123,16 @@ mb_unmapped_to_ext(struct mbuf *top) * freed. */ struct mbuf * -mb_alloc_ext_pgs(int how, bool pkthdr, m_ext_free_t ext_free) +mb_alloc_ext_pgs(int how, m_ext_free_t ext_free) { struct mbuf *m; struct mbuf_ext_pgs *ext_pgs; - if (pkthdr) - m = m_gethdr(how, MT_DATA); - else - m = m_get(how, MT_DATA); + m = m_get(how, MT_DATA); if (m == NULL) return (NULL); - ext_pgs = uma_zalloc(zone_extpgs, how); - if (ext_pgs == NULL) { - m_free(m); - return (NULL); - } + ext_pgs = &m->m_ext_pgs; ext_pgs->npgs = 0; ext_pgs->nrdy = 0; ext_pgs->first_pg_off = 0; @@ -1163,7 +1147,6 @@ mb_alloc_ext_pgs(int how, bool pkthdr, m_ext_free_t ex m->m_ext.ext_type = EXT_PGS; m->m_ext.ext_flags = EXT_FLAG_EMBREF; m->m_ext.ext_count = 1; - m->m_ext.ext_pgs = ext_pgs; m->m_ext.ext_size = 0; m->m_ext.ext_free = ext_free; return (m); @@ -1180,7 +1163,7 @@ mb_ext_pgs_check(struct mbuf_ext_pgs *ext_pgs) */ KASSERT(ext_pgs->npgs > 0, ("ext_pgs with no valid pages: %p", ext_pgs)); - KASSERT(ext_pgs->npgs <= nitems(ext_pgs->pa), + KASSERT(ext_pgs->npgs <= nitems(ext_pgs->m_epg_pa), ("ext_pgs with too many pages: %p", ext_pgs)); KASSERT(ext_pgs->nrdy <= ext_pgs->npgs, ("ext_pgs with too many ready pages: %p", ext_pgs)); @@ -1195,9 +1178,9 @@ mb_ext_pgs_check(struct mbuf_ext_pgs *ext_pgs) PAGE_SIZE, ("ext_pgs with single page too large: %p", ext_pgs)); } - KASSERT(ext_pgs->hdr_len <= sizeof(ext_pgs->hdr), + KASSERT(ext_pgs->hdr_len <= sizeof(ext_pgs->m_epg_hdr), ("ext_pgs with too large header length: %p", ext_pgs)); - KASSERT(ext_pgs->trail_len <= sizeof(ext_pgs->trail), + KASSERT(ext_pgs->trail_len <= sizeof(ext_pgs->m_epg_trail), ("ext_pgs with too large header length: %p", ext_pgs)); } #endif @@ -1277,15 +1260,14 @@ mb_free_ext(struct mbuf *m) ("%s: ext_free not set", __func__)); mref->m_ext.ext_free(mref); #ifdef KERN_TLS - pgs = mref->m_ext.ext_pgs; + pgs = &mref->m_ext_pgs; tls = pgs->tls; if (tls != NULL && !refcount_release_if_not_last(&tls->refcount)) ktls_enqueue_to_free(pgs); else #endif - uma_zfree(zone_extpgs, mref->m_ext.ext_pgs); - uma_zfree(zone_mbuf, mref); + uma_zfree(zone_mbuf, mref); break; } case EXT_SFBUF: Modified: head/sys/kern/kern_sendfile.c ============================================================================== --- head/sys/kern/kern_sendfile.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/kern/kern_sendfile.c Tue Apr 14 14:46:06 2020 (r359919) @@ -174,18 +174,18 @@ sendfile_free_mext_pg(struct mbuf *m) ("%s: m %p !M_EXT or !EXT_PGS", __func__, m)); cache_last = m->m_ext.ext_flags & EXT_FLAG_CACHE_LAST; - ext_pgs = m->m_ext.ext_pgs; + ext_pgs = &m->m_ext_pgs; flags = (m->m_ext.ext_flags & EXT_FLAG_NOCACHE) != 0 ? VPR_TRYFREE : 0; for (i = 0; i < ext_pgs->npgs; i++) { if (cache_last && i == ext_pgs->npgs - 1) flags = 0; - pg = PHYS_TO_VM_PAGE(ext_pgs->pa[i]); + pg = PHYS_TO_VM_PAGE(ext_pgs->m_epg_pa[i]); vm_page_release(pg, flags); } if (m->m_ext.ext_flags & EXT_FLAG_SYNC) { - struct sendfile_sync *sfs = m->m_ext.ext_arg2; + struct sendfile_sync *sfs = m->m_ext.ext_arg1; mtx_lock(&sfs->mtx); KASSERT(sfs->count > 0, ("Sendfile sync botchup count == 0")); @@ -329,7 +329,7 @@ sendfile_iodone(void *arg, vm_page_t *pa, int count, i #if defined(KERN_TLS) && defined(INVARIANTS) if ((sfio->m->m_flags & M_EXT) != 0 && sfio->m->m_ext.ext_type == EXT_PGS) - KASSERT(sfio->tls == sfio->m->m_ext.ext_pgs->tls, + KASSERT(sfio->tls == sfio->m->m_ext_pgs.tls, ("TLS session mismatch")); else KASSERT(sfio->tls == NULL, @@ -958,7 +958,7 @@ retry_space: ext_pgs_idx++; if (ext_pgs_idx == max_pgs) { - m0 = mb_alloc_ext_pgs(M_WAITOK, false, + m0 = mb_alloc_ext_pgs(M_WAITOK, sendfile_free_mext_pg); if (flags & SF_NOCACHE) { @@ -979,12 +979,18 @@ retry_space: if (sfs != NULL) { m0->m_ext.ext_flags |= EXT_FLAG_SYNC; - m0->m_ext.ext_arg2 = sfs; + if (m0->m_ext.ext_type == + EXT_PGS) + m0->m_ext.ext_arg1 = + sfs; + else + m0->m_ext.ext_arg2 = + sfs; mtx_lock(&sfs->mtx); sfs->count++; mtx_unlock(&sfs->mtx); } - ext_pgs = m0->m_ext.ext_pgs; + ext_pgs = &m0->m_ext_pgs; ext_pgs_idx = 0; /* Append to mbuf chain. */ @@ -1001,7 +1007,7 @@ retry_space: ext_pgs->nrdy++; } - ext_pgs->pa[ext_pgs_idx] = VM_PAGE_TO_PHYS(pga); + ext_pgs->m_epg_pa[ext_pgs_idx] = VM_PAGE_TO_PHYS(pga); ext_pgs->npgs++; xfs = xfsize(i, npages, off, space); ext_pgs->last_pg_len = xfs; @@ -1055,6 +1061,10 @@ retry_space: m0->m_ext.ext_flags |= EXT_FLAG_NOCACHE; if (sfs != NULL) { m0->m_ext.ext_flags |= EXT_FLAG_SYNC; + if (m0->m_ext.ext_type == EXT_PGS) + m0->m_ext.ext_arg1 = sfs; + else + m0->m_ext.ext_arg2 = sfs; m0->m_ext.ext_arg2 = sfs; mtx_lock(&sfs->mtx); sfs->count++; Modified: head/sys/kern/subr_bus_dma.c ============================================================================== --- head/sys/kern/subr_bus_dma.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/kern/subr_bus_dma.c Tue Apr 14 14:46:06 2020 (r359919) @@ -123,7 +123,7 @@ _bus_dmamap_load_unmapped_mbuf_sg(bus_dma_tag_t dmat, int error, i, off, len, pglen, pgoff, seglen, segoff; MBUF_EXT_PGS_ASSERT(m); - ext_pgs = m->m_ext.ext_pgs; + ext_pgs = &m->m_ext_pgs; len = m->m_len; error = 0; @@ -141,7 +141,7 @@ _bus_dmamap_load_unmapped_mbuf_sg(bus_dma_tag_t dmat, off = 0; len -= seglen; error = _bus_dmamap_load_buffer(dmat, map, - &ext_pgs->hdr[segoff], seglen, kernel_pmap, + &ext_pgs->m_epg_hdr[segoff], seglen, kernel_pmap, flags, segs, nsegs); } } @@ -159,7 +159,7 @@ _bus_dmamap_load_unmapped_mbuf_sg(bus_dma_tag_t dmat, seglen = min(seglen, len); len -= seglen; error = _bus_dmamap_load_phys(dmat, map, - ext_pgs->pa[i] + segoff, seglen, flags, segs, nsegs); + ext_pgs->m_epg_pa[i] + segoff, seglen, flags, segs, nsegs); pgoff = 0; }; if (len != 0 && error == 0) { @@ -167,7 +167,7 @@ _bus_dmamap_load_unmapped_mbuf_sg(bus_dma_tag_t dmat, ("off + len > trail (%d + %d > %d)", off, len, ext_pgs->trail_len)); error = _bus_dmamap_load_buffer(dmat, map, - &ext_pgs->trail[off], len, kernel_pmap, flags, segs, + &ext_pgs->m_epg_trail[off], len, kernel_pmap, flags, segs, nsegs); } return (error); Modified: head/sys/kern/subr_sglist.c ============================================================================== --- head/sys/kern/subr_sglist.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/kern/subr_sglist.c Tue Apr 14 14:46:06 2020 (r359919) @@ -242,7 +242,8 @@ sglist_count_ext_pgs(struct mbuf_ext_pgs *ext_pgs, siz seglen = MIN(seglen, len); off = 0; len -= seglen; - nsegs += sglist_count(&ext_pgs->hdr[segoff], seglen); + nsegs += sglist_count(&ext_pgs->m_epg_hdr[segoff], + seglen); } } nextaddr = 0; @@ -259,7 +260,7 @@ sglist_count_ext_pgs(struct mbuf_ext_pgs *ext_pgs, siz off = 0; seglen = MIN(seglen, len); len -= seglen; - paddr = ext_pgs->pa[i] + segoff; + paddr = ext_pgs->m_epg_pa[i] + segoff; if (paddr != nextaddr) nsegs++; nextaddr = paddr + seglen; @@ -268,7 +269,7 @@ sglist_count_ext_pgs(struct mbuf_ext_pgs *ext_pgs, siz if (len != 0) { seglen = MIN(len, ext_pgs->trail_len - off); len -= seglen; - nsegs += sglist_count(&ext_pgs->trail[off], seglen); + nsegs += sglist_count(&ext_pgs->m_epg_trail[off], seglen); } KASSERT(len == 0, ("len != 0")); return (nsegs); @@ -283,7 +284,7 @@ sglist_count_mb_ext_pgs(struct mbuf *m) { MBUF_EXT_PGS_ASSERT(m); - return (sglist_count_ext_pgs(m->m_ext.ext_pgs, mtod(m, vm_offset_t), + return (sglist_count_ext_pgs(&m->m_ext_pgs, mtod(m, vm_offset_t), m->m_len)); } @@ -412,7 +413,7 @@ sglist_append_ext_pgs(struct sglist *sg, struct mbuf_e off = 0; len -= seglen; error = sglist_append(sg, - &ext_pgs->hdr[segoff], seglen); + &ext_pgs->m_epg_hdr[segoff], seglen); } } pgoff = ext_pgs->first_pg_off; @@ -428,7 +429,7 @@ sglist_append_ext_pgs(struct sglist *sg, struct mbuf_e off = 0; seglen = MIN(seglen, len); len -= seglen; - paddr = ext_pgs->pa[i] + segoff; + paddr = ext_pgs->m_epg_pa[i] + segoff; error = sglist_append_phys(sg, paddr, seglen); pgoff = 0; }; @@ -436,7 +437,7 @@ sglist_append_ext_pgs(struct sglist *sg, struct mbuf_e seglen = MIN(len, ext_pgs->trail_len - off); len -= seglen; error = sglist_append(sg, - &ext_pgs->trail[off], seglen); + &ext_pgs->m_epg_trail[off], seglen); } if (error == 0) KASSERT(len == 0, ("len != 0")); @@ -454,7 +455,7 @@ sglist_append_mb_ext_pgs(struct sglist *sg, struct mbu /* for now, all unmapped mbufs are assumed to be EXT_PGS */ MBUF_EXT_PGS_ASSERT(m); - return (sglist_append_ext_pgs(sg, m->m_ext.ext_pgs, + return (sglist_append_ext_pgs(sg, &m->m_ext_pgs, mtod(m, vm_offset_t), m->m_len)); } Modified: head/sys/kern/uipc_ktls.c ============================================================================== --- head/sys/kern/uipc_ktls.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/kern/uipc_ktls.c Tue Apr 14 14:46:06 2020 (r359919) @@ -1216,7 +1216,7 @@ ktls_seq(struct sockbuf *sb, struct mbuf *m) KASSERT((m->m_flags & M_NOMAP) != 0, ("ktls_seq: mapped mbuf %p", m)); - pgs = m->m_ext.ext_pgs; + pgs = &m->m_ext_pgs; pgs->seqno = sb->sb_tls_seqno; sb->sb_tls_seqno++; } @@ -1264,7 +1264,7 @@ ktls_frame(struct mbuf *top, struct ktls_session *tls, ("ktls_frame: mapped mbuf %p (top = %p)\n", m, top)); tls_len = m->m_len; - pgs = m->m_ext.ext_pgs; + pgs = &m->m_ext_pgs; /* Save a reference to the session. */ pgs->tls = ktls_hold(tls); @@ -1297,7 +1297,7 @@ ktls_frame(struct mbuf *top, struct ktls_session *tls, m->m_len += pgs->hdr_len + pgs->trail_len; /* Populate the TLS header. */ - tlshdr = (void *)pgs->hdr; + tlshdr = (void *)pgs->m_epg_hdr; tlshdr->tls_vmajor = tls->params.tls_vmajor; /* @@ -1310,6 +1310,7 @@ ktls_frame(struct mbuf *top, struct ktls_session *tls, tlshdr->tls_type = TLS_RLTYPE_APP; /* save the real record type for later */ pgs->record_type = record_type; + pgs->m_epg_trail[0] = record_type; } else { tlshdr->tls_vminor = tls->params.tls_vminor; tlshdr->tls_type = record_type; @@ -1380,7 +1381,7 @@ ktls_enqueue(struct mbuf *m, struct socket *so, int pa ("ktls_enqueue: %p not unready & nomap mbuf\n", m)); KASSERT(page_count != 0, ("enqueueing TLS mbuf with zero page count")); - pgs = m->m_ext.ext_pgs; + pgs = &m->m_ext_pgs; KASSERT(pgs->tls->mode == TCP_TLS_MODE_SW, ("!SW TLS mbuf")); @@ -1447,7 +1448,7 @@ ktls_encrypt(struct mbuf_ext_pgs *pgs) */ error = 0; for (m = top; npages != total_pages; m = m->m_next) { - pgs = m->m_ext.ext_pgs; + pgs = &m->m_ext_pgs; KASSERT(pgs->tls == tls, ("different TLS sessions in a single mbuf chain: %p vs %p", @@ -1474,7 +1475,8 @@ ktls_encrypt(struct mbuf_ext_pgs *pgs) len = mbuf_ext_pg_len(pgs, i, off); src_iov[i].iov_len = len; src_iov[i].iov_base = - (char *)(void *)PHYS_TO_DMAP(pgs->pa[i]) + off; + (char *)(void *)PHYS_TO_DMAP(pgs->m_epg_pa[i]) + + off; if (is_anon) { dst_iov[i].iov_base = src_iov[i].iov_base; @@ -1497,8 +1499,8 @@ retry_page: npages += i; error = (*tls->sw_encrypt)(tls, - (const struct tls_record_layer *)pgs->hdr, - pgs->trail, src_iov, dst_iov, i, pgs->seqno, + (const struct tls_record_layer *)pgs->m_epg_hdr, + pgs->m_epg_trail, src_iov, dst_iov, i, pgs->seqno, pgs->record_type); if (error) { counter_u64_add(ktls_offload_failed_crypto, 1); @@ -1516,7 +1518,7 @@ retry_page: /* Replace them with the new pages. */ for (i = 0; i < pgs->npgs; i++) - pgs->pa[i] = parray[i]; + pgs->m_epg_pa[i] = parray[i]; /* Use the basic free routine. */ m->m_ext.ext_free = mb_free_mext_pgs; @@ -1556,6 +1558,7 @@ ktls_work_thread(void *ctx) struct ktls_wq *wq = ctx; struct mbuf_ext_pgs *p, *n; struct ktls_session *tls; + struct mbuf *m; STAILQ_HEAD(, mbuf_ext_pgs) local_head; #if defined(__aarch64__) || defined(__amd64__) || defined(__i386__) @@ -1580,7 +1583,8 @@ ktls_work_thread(void *ctx) } else { tls = p->tls; ktls_free(tls); - uma_zfree(zone_extpgs, p); + m = __containerof(p, struct mbuf, m_ext_pgs); + uma_zfree(zone_mbuf, m); } } } Modified: head/sys/kern/uipc_mbuf.c ============================================================================== --- head/sys/kern/uipc_mbuf.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/kern/uipc_mbuf.c Tue Apr 14 14:46:06 2020 (r359919) @@ -163,11 +163,11 @@ CTASSERT(offsetof(struct mbuf, m_pktdat) % 8 == 0); #if defined(__LP64__) CTASSERT(offsetof(struct mbuf, m_dat) == 32); CTASSERT(sizeof(struct pkthdr) == 56); -CTASSERT(sizeof(struct m_ext) == 48); +CTASSERT(sizeof(struct m_ext) == 168); #else CTASSERT(offsetof(struct mbuf, m_dat) == 24); CTASSERT(sizeof(struct pkthdr) == 48); -CTASSERT(sizeof(struct m_ext) == 28); +CTASSERT(sizeof(struct m_ext) == 184); #endif /* @@ -203,6 +203,9 @@ mb_dupcl(struct mbuf *n, struct mbuf *m) */ if (m->m_ext.ext_type == EXT_EXTREF) bcopy(&m->m_ext, &n->m_ext, sizeof(struct m_ext)); + else if (m->m_ext.ext_type == EXT_PGS) + bcopy(&m->m_ext_pgs, &n->m_ext_pgs, + sizeof(struct mbuf_ext_pgs)); else bcopy(&m->m_ext, &n->m_ext, m_ext_copylen); n->m_flags |= M_EXT; @@ -1426,7 +1429,7 @@ frags_per_mbuf(struct mbuf *m) * XXX: This overestimates the number of fragments by assuming * all the backing physical pages are disjoint. */ - ext_pgs = m->m_ext.ext_pgs; + ext_pgs = &m->m_ext_pgs; frags = 0; if (ext_pgs->hdr_len != 0) frags++; @@ -1618,9 +1621,9 @@ mb_free_mext_pgs(struct mbuf *m) vm_page_t pg; MBUF_EXT_PGS_ASSERT(m); - ext_pgs = m->m_ext.ext_pgs; + ext_pgs = &m->m_ext_pgs; for (int i = 0; i < ext_pgs->npgs; i++) { - pg = PHYS_TO_VM_PAGE(ext_pgs->pa[i]); + pg = PHYS_TO_VM_PAGE(ext_pgs->m_epg_pa[i]); vm_page_unwire_noq(pg); vm_page_free(pg); } @@ -1653,9 +1656,9 @@ m_uiotombuf_nomap(struct uio *uio, int how, int len, i * Allocate the pages */ m = NULL; + MPASS((flags & M_PKTHDR) == 0); while (total > 0) { - mb = mb_alloc_ext_pgs(how, (flags & M_PKTHDR), - mb_free_mext_pgs); + mb = mb_alloc_ext_pgs(how, mb_free_mext_pgs); if (mb == NULL) goto failed; if (m == NULL) @@ -1663,7 +1666,7 @@ m_uiotombuf_nomap(struct uio *uio, int how, int len, i else prev->m_next = mb; prev = mb; - pgs = mb->m_ext.ext_pgs; + pgs = &mb->m_ext_pgs; pgs->flags = MBUF_PEXT_FLAG_ANON; needed = length = MIN(maxseg, total); for (i = 0; needed > 0; i++, needed -= PAGE_SIZE) { @@ -1678,7 +1681,7 @@ retry_page: } } pg_array[i]->flags &= ~PG_ZERO; - pgs->pa[i] = VM_PAGE_TO_PHYS(pg_array[i]); + pgs->m_epg_pa[i] = VM_PAGE_TO_PHYS(pg_array[i]); pgs->npgs++; } pgs->last_pg_len = length - PAGE_SIZE * (pgs->npgs - 1); @@ -1769,7 +1772,7 @@ m_unmappedtouio(const struct mbuf *m, int m_off, struc int error, i, off, pglen, pgoff, seglen, segoff; MBUF_EXT_PGS_ASSERT(m); - ext_pgs = m->m_ext.ext_pgs; + ext_pgs = __DECONST(void *, &m->m_ext_pgs); error = 0; /* Skip over any data removed from the front. */ @@ -1785,7 +1788,7 @@ m_unmappedtouio(const struct mbuf *m, int m_off, struc seglen = min(seglen, len); off = 0; len -= seglen; - error = uiomove(&ext_pgs->hdr[segoff], seglen, uio); + error = uiomove(&ext_pgs->m_epg_hdr[segoff], seglen, uio); } } pgoff = ext_pgs->first_pg_off; @@ -1801,7 +1804,7 @@ m_unmappedtouio(const struct mbuf *m, int m_off, struc off = 0; seglen = min(seglen, len); len -= seglen; - pg = PHYS_TO_VM_PAGE(ext_pgs->pa[i]); + pg = PHYS_TO_VM_PAGE(ext_pgs->m_epg_pa[i]); error = uiomove_fromphys(&pg, segoff, seglen, uio); pgoff = 0; }; @@ -1809,7 +1812,7 @@ m_unmappedtouio(const struct mbuf *m, int m_off, struc KASSERT((off + len) <= ext_pgs->trail_len, ("off + len > trail (%d + %d > %d, m_off = %d)", off, len, ext_pgs->trail_len, m_off)); - error = uiomove(&ext_pgs->trail[off], len, uio); + error = uiomove(&ext_pgs->m_epg_trail[off], len, uio); } return (error); } Modified: head/sys/kern/uipc_sockbuf.c ============================================================================== --- head/sys/kern/uipc_sockbuf.c Tue Apr 14 13:32:03 2020 (r359918) +++ head/sys/kern/uipc_sockbuf.c Tue Apr 14 14:46:06 2020 (r359919) @@ -131,15 +131,15 @@ sbready_compress(struct sockbuf *sb, struct mbuf *m0, struct mbuf_ext_pgs *mpgs, *npgs; int hdr_len, trail_len; - mpgs = m->m_ext.ext_pgs; - npgs = n->m_ext.ext_pgs; + mpgs = &m->m_ext_pgs; + npgs = &n->m_ext_pgs; hdr_len = npgs->hdr_len; trail_len = mpgs->trail_len; if (trail_len != 0 && hdr_len != 0 && trail_len + hdr_len <= MBUF_PEXT_TRAIL_LEN) { /* copy n's header to m's trailer */ - memcpy(&mpgs->trail[trail_len], npgs->hdr, - hdr_len); + memcpy(&m->m_epg_trail[trail_len], + n->m_epg_hdr, hdr_len); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Tue Apr 14 14:48:00 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A67B72C248E; Tue, 14 Apr 2020 14:48:00 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491pJ03yb4z4JNC; Tue, 14 Apr 2020 14:48:00 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8344D6DC6; Tue, 14 Apr 2020 14:48:00 +0000 (UTC) (envelope-from gallatin@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EEm05P026530; Tue, 14 Apr 2020 14:48:00 GMT (envelope-from gallatin@FreeBSD.org) Received: (from gallatin@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EEm0Fd026529; Tue, 14 Apr 2020 14:48:00 GMT (envelope-from gallatin@FreeBSD.org) Message-Id: <202004141448.03EEm0Fd026529@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gallatin set sender to gallatin@FreeBSD.org using -f From: Andrew Gallatin Date: Tue, 14 Apr 2020 14:48:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359920 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: gallatin X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 359920 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 14:48:00 -0000 Author: gallatin Date: Tue Apr 14 14:48:00 2020 New Revision: 359920 URL: https://svnweb.freebsd.org/changeset/base/359920 Log: Bump FreeBSD version after r359919 (KTLS / unmapped mbuf changes) The above changes mbufs, and any module using unmapped mbufs would need to be re-compiled. Sponsored by: Netflix Modified: head/sys/sys/param.h Modified: head/sys/sys/param.h ============================================================================== --- head/sys/sys/param.h Tue Apr 14 14:46:06 2020 (r359919) +++ head/sys/sys/param.h Tue Apr 14 14:48:00 2020 (r359920) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300091 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300092 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-head@freebsd.org Tue Apr 14 15:27:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 63A7F2C30F7; Tue, 14 Apr 2020 15:27:25 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491q9T20Slz4Lhy; Tue, 14 Apr 2020 15:27:25 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3FC8875CB; Tue, 14 Apr 2020 15:27:25 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EFRPdI055695; Tue, 14 Apr 2020 15:27:25 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EFRPMw055694; Tue, 14 Apr 2020 15:27:25 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <202004141527.03EFRPMw055694@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Tue, 14 Apr 2020 15:27:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359921 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: jtl X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 359921 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 15:27:25 -0000 Author: jtl Date: Tue Apr 14 15:27:24 2020 New Revision: 359921 URL: https://svnweb.freebsd.org/changeset/base/359921 Log: Make the path length of UNIX domain sockets specified by a #define. Also, add a comment describing the historical context for this length. Reviewed by: bz, jhb, kbowling (previous version) MFC after: 2 weeks Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D24272 Modified: head/sys/sys/un.h Modified: head/sys/sys/un.h ============================================================================== --- head/sys/sys/un.h Tue Apr 14 14:48:00 2020 (r359920) +++ head/sys/sys/un.h Tue Apr 14 15:27:24 2020 (r359921) @@ -44,12 +44,20 @@ typedef __sa_family_t sa_family_t; #endif /* + * Historically, (struct sockaddr) needed to fit inside an mbuf. + * For this reason, UNIX domain sockets were therefore limited to + * 104 bytes. While this limit is no longer necessary, it is kept for + * binary compatibility reasons. + */ +#define SUNPATHLEN 104 + +/* * Definitions for UNIX IPC domain. */ struct sockaddr_un { unsigned char sun_len; /* sockaddr len including null */ sa_family_t sun_family; /* AF_UNIX */ - char sun_path[104]; /* path name (gag) */ + char sun_path[SUNPATHLEN]; /* path name (gag) */ }; #if __BSD_VISIBLE From owner-svn-src-head@freebsd.org Tue Apr 14 15:30:35 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C26062C31F4; Tue, 14 Apr 2020 15:30:35 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491qF72VzJz4M0l; Tue, 14 Apr 2020 15:30:35 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5161375FE; Tue, 14 Apr 2020 15:30:35 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EFUZvD056533; Tue, 14 Apr 2020 15:30:35 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EFUZ5D056532; Tue, 14 Apr 2020 15:30:35 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <202004141530.03EFUZ5D056532@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Tue, 14 Apr 2020 15:30:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359922 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: jtl X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359922 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 15:30:35 -0000 Author: jtl Date: Tue Apr 14 15:30:34 2020 New Revision: 359922 URL: https://svnweb.freebsd.org/changeset/base/359922 Log: Print more detail as part of the sonewconn() overflow message. When a socket's listen queue overflows, sonewconn() emits a debug-level log message. These messages are sometimes useful to systems administrators in highlighting a process which is not keeping up with its listen queue. This commit attempts to enhance the usefulness of this message by printing more details about the socket's address. If all else fails, it will at least print the domain name of the socket. Reviewed by: bz, jhb, kbowling MFC after: 2 weeks Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D24272 Modified: head/sys/kern/uipc_socket.c Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Tue Apr 14 15:27:24 2020 (r359921) +++ head/sys/kern/uipc_socket.c Tue Apr 14 15:30:34 2020 (r359922) @@ -130,6 +130,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -140,9 +141,12 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include #include #include +#include #include #include @@ -587,8 +591,17 @@ sonewconn(struct socket *head, int connstatus) static struct timeval overinterval = { 60, 0 }; static int overcount; + struct sbuf descrsb; struct socket *so; u_int over; + int len; + const char localprefix[] = "local:"; + char descrbuf[SUNPATHLEN + sizeof(localprefix)]; +#if defined(INET6) + char addrbuf[INET6_ADDRSTRLEN]; +#elif defined(INET) + char addrbuf[INET_ADDRSTRLEN]; +#endif SOLISTEN_LOCK(head); over = (head->sol_qlen > 3 * head->sol_qlimit / 2); @@ -601,10 +614,80 @@ sonewconn(struct socket *head, int connstatus) overcount++; if (ratecheck(&lastover, &overinterval)) { - log(LOG_DEBUG, "%s: pcb %p: Listen queue overflow: " + /* + * Try to print something descriptive about the + * socket for the error message. + */ + sbuf_new(&descrsb, descrbuf, sizeof(descrbuf), + SBUF_FIXEDLEN); + switch (head->so_proto->pr_domain->dom_family) { +#if defined(INET) || defined(INET6) +#ifdef INET + case AF_INET: +#endif +#ifdef INET6 + case AF_INET6: + if (head->so_proto->pr_domain->dom_family == + AF_INET6 || + (sotoinpcb(head)->inp_inc.inc_flags & + INC_ISIPV6)) { + ip6_sprintf(addrbuf, + &sotoinpcb(head)->inp_inc.inc6_laddr); + sbuf_printf(&descrsb, "[%s]", addrbuf); + } else +#endif + { +#ifdef INET + inet_ntoa_r( + sotoinpcb(head)->inp_inc.inc_laddr, + addrbuf); + sbuf_cat(&descrsb, addrbuf); +#endif + } + sbuf_printf(&descrsb, ":%hu (proto %u)", + ntohs(sotoinpcb(head)->inp_inc.inc_lport), + head->so_proto->pr_protocol); + break; +#endif /* INET || INET6 */ + case AF_UNIX: + sbuf_cat(&descrsb, localprefix); + if (sotounpcb(head)->unp_addr != NULL) + len = + sotounpcb(head)->unp_addr->sun_len - + offsetof(struct sockaddr_un, + sun_path); + else + len = 0; + if (len > 0) + sbuf_bcat(&descrsb, + sotounpcb(head)->unp_addr->sun_path, + len); + else + sbuf_cat(&descrsb, "(unknown)"); + break; + } + + /* + * If we can't print something more specific, at least + * print the domain name. + */ + if (sbuf_finish(&descrsb) != 0 || + sbuf_len(&descrsb) <= 0) { + sbuf_clear(&descrsb); + sbuf_cat(&descrsb, + head->so_proto->pr_domain->dom_name ?: + "unknown"); + sbuf_finish(&descrsb); + } + KASSERT(sbuf_len(&descrsb) > 0, + ("%s: sbuf creation failed", __func__)); + log(LOG_DEBUG, + "%s: pcb %p (%s): Listen queue overflow: " "%i already in queue awaiting acceptance " "(%d occurrences)\n", - __func__, head->so_pcb, head->sol_qlen, overcount); + __func__, head->so_pcb, sbuf_data(&descrsb), + head->sol_qlen, overcount); + sbuf_delete(&descrsb); overcount = 0; } From owner-svn-src-head@freebsd.org Tue Apr 14 15:38:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 135382C34F4; Tue, 14 Apr 2020 15:38:19 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491qQ26tMDz4MhD; Tue, 14 Apr 2020 15:38:18 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E78D9784C; Tue, 14 Apr 2020 15:38:18 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EFcIgA063816; Tue, 14 Apr 2020 15:38:18 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EFcIaO063813; Tue, 14 Apr 2020 15:38:18 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <202004141538.03EFcIaO063813@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Tue, 14 Apr 2020 15:38:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359923 - in head: lib/libc/sys sys/kern sys/sys X-SVN-Group: head X-SVN-Commit-Author: jtl X-SVN-Commit-Paths: in head: lib/libc/sys sys/kern sys/sys X-SVN-Commit-Revision: 359923 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 15:38:19 -0000 Author: jtl Date: Tue Apr 14 15:38:18 2020 New Revision: 359923 URL: https://svnweb.freebsd.org/changeset/base/359923 Log: Make sonewconn() overflow messages have per-socket rate-limits and values. sonewconn() emits debug-level messages when a listen socket's queue overflows. Currently, sonewconn() tracks overflows on a global basis. It will only log one message every 60 seconds, regardless of how many sockets experience overflows. And, when it next logs at the end of the 60 seconds, it records a single message referencing a single PCB with the total number of overflows across all sockets. This commit changes to per-socket overflow tracking. The code will now log one message every 60 seconds per socket. And, the code will provide per-socket queue length and overflow counts. It also provides a way to change the period between log messages using a sysctl. Reviewed by: jhb (previous version), bcr (manpages) MFC after: 2 weeks Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D24316 Modified: head/lib/libc/sys/listen.2 head/sys/kern/uipc_socket.c head/sys/sys/socketvar.h Modified: head/lib/libc/sys/listen.2 ============================================================================== --- head/lib/libc/sys/listen.2 Tue Apr 14 15:30:34 2020 (r359922) +++ head/lib/libc/sys/listen.2 Tue Apr 14 15:38:18 2020 (r359923) @@ -28,7 +28,7 @@ .\" From: @(#)listen.2 8.2 (Berkeley) 12/11/93 .\" $FreeBSD$ .\" -.Dd August 18, 2016 +.Dd April 14, 2020 .Dt LISTEN 2 .Os .Sh NAME @@ -110,6 +110,13 @@ or less than zero is specified, .Fa backlog is silently forced to .Va kern.ipc.soacceptqueue . +.Pp +If the listen queue overflows, the kernel will emit a LOG_DEBUG syslog message. +The +.Xr sysctl 3 +MIB variable +.Va kern.ipc.sooverinterval +specifies a per-socket limit on how often the kernel will emit these messages. .Sh INTERACTION WITH ACCEPT FILTERS When accept filtering is used on a socket, a second queue will be used to hold sockets that have connected, but have not yet Modified: head/sys/kern/uipc_socket.c ============================================================================== --- head/sys/kern/uipc_socket.c Tue Apr 14 15:30:34 2020 (r359922) +++ head/sys/kern/uipc_socket.c Tue Apr 14 15:38:18 2020 (r359923) @@ -575,6 +575,11 @@ SYSCTL_INT(_regression, OID_AUTO, sonewconn_earlytest, ®ression_sonewconn_earlytest, 0, "Perform early sonewconn limit test"); #endif +static struct timeval overinterval = { 60, 0 }; +SYSCTL_TIMEVAL_SEC(_kern_ipc, OID_AUTO, sooverinterval, CTLFLAG_RW, + &overinterval, + "Delay in seconds between warnings for listen socket overflows"); + /* * When an attempt at a new connection is noted on a socket which accepts * connections, sonewconn is called. If the connection is possible (subject @@ -587,14 +592,10 @@ SYSCTL_INT(_regression, OID_AUTO, sonewconn_earlytest, struct socket * sonewconn(struct socket *head, int connstatus) { - static struct timeval lastover; - static struct timeval overinterval = { 60, 0 }; - static int overcount; - struct sbuf descrsb; struct socket *so; - u_int over; - int len; + int len, overcount; + u_int qlen; const char localprefix[] = "local:"; char descrbuf[SUNPATHLEN + sizeof(localprefix)]; #if defined(INET6) @@ -602,18 +603,31 @@ sonewconn(struct socket *head, int connstatus) #elif defined(INET) char addrbuf[INET_ADDRSTRLEN]; #endif + bool dolog, over; SOLISTEN_LOCK(head); over = (head->sol_qlen > 3 * head->sol_qlimit / 2); - SOLISTEN_UNLOCK(head); #ifdef REGRESSION if (regression_sonewconn_earlytest && over) { #else if (over) { #endif - overcount++; + head->sol_overcount++; + dolog = !!ratecheck(&head->sol_lastover, &overinterval); - if (ratecheck(&lastover, &overinterval)) { + /* + * If we're going to log, copy the overflow count and queue + * length from the listen socket before dropping the lock. + * Also, reset the overflow count. + */ + if (dolog) { + overcount = head->sol_overcount; + head->sol_overcount = 0; + qlen = head->sol_qlen; + } + SOLISTEN_UNLOCK(head); + + if (dolog) { /* * Try to print something descriptive about the * socket for the error message. @@ -686,7 +700,7 @@ sonewconn(struct socket *head, int connstatus) "%i already in queue awaiting acceptance " "(%d occurrences)\n", __func__, head->so_pcb, sbuf_data(&descrsb), - head->sol_qlen, overcount); + qlen, overcount); sbuf_delete(&descrsb); overcount = 0; @@ -694,6 +708,7 @@ sonewconn(struct socket *head, int connstatus) return (NULL); } + SOLISTEN_UNLOCK(head); VNET_ASSERT(head->so_vnet != NULL, ("%s: so %p vnet is NULL", __func__, head)); so = soalloc(head->so_vnet); Modified: head/sys/sys/socketvar.h ============================================================================== --- head/sys/sys/socketvar.h Tue Apr 14 15:30:34 2020 (r359922) +++ head/sys/sys/socketvar.h Tue Apr 14 15:38:18 2020 (r359923) @@ -172,6 +172,10 @@ struct socket { short sol_sbsnd_flags; sbintime_t sol_sbrcv_timeo; sbintime_t sol_sbsnd_timeo; + + /* Information tracking listen queue overflows. */ + struct timeval sol_lastover; /* (e) */ + int sol_overcount; /* (e) */ }; }; }; From owner-svn-src-head@freebsd.org Tue Apr 14 16:30:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8419F2C45B2; Tue, 14 Apr 2020 16:30:55 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491rZl26g1z4QmR; Tue, 14 Apr 2020 16:30:55 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 43C3883A5; Tue, 14 Apr 2020 16:30:55 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EGUtvT003547; Tue, 14 Apr 2020 16:30:55 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EGUsDK003543; Tue, 14 Apr 2020 16:30:54 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004141630.03EGUsDK003543@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 14 Apr 2020 16:30:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359924 - in head/sys: conf dev/mmc X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: in head/sys: conf dev/mmc X-SVN-Commit-Revision: 359924 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 16:30:55 -0000 Author: manu Date: Tue Apr 14 16:30:54 2020 New Revision: 359924 URL: https://svnweb.freebsd.org/changeset/base/359924 Log: Those functions are here to help fdt mmc controller drivers to parse the dts to find the supported speeds and the regulators. Not all DTS have every settings properly defined so host controller will still have to add some caps themselves. It also add a mmc_fdt_gpio_setup function which will read the cd-gpios property and register it as the CD pin. If the pin support interrupts one will be registered and the cd_helper function will be called. If the pin doesn't support interrupts the internal taskqueue will poll for change and call the same cd_helper function. mmc_fdt_gpio_setup will also parse the wp-gpio property and MMC drivers can know the write-protect pin value by calling the mmc_fdt_gpio_get_readonly function. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D23267 Added: head/sys/dev/mmc/mmc_fdt_helpers.c (contents, props changed) head/sys/dev/mmc/mmc_fdt_helpers.h (contents, props changed) Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Tue Apr 14 15:38:18 2020 (r359923) +++ head/sys/conf/files Tue Apr 14 16:30:54 2020 (r359924) @@ -2399,6 +2399,7 @@ dev/mmc/mmc.c optional mmc !mmccam dev/mmc/mmcbr_if.m standard dev/mmc/mmcbus_if.m standard dev/mmc/mmcsd.c optional mmcsd !mmccam +dev/mmc/mmc_fdt_helpers.c optional mmc fdt dev/mmcnull/mmcnull.c optional mmcnull dev/mn/if_mn.c optional mn pci dev/mpr/mpr.c optional mpr Added: head/sys/dev/mmc/mmc_fdt_helpers.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/mmc/mmc_fdt_helpers.c Tue Apr 14 16:30:54 2020 (r359924) @@ -0,0 +1,414 @@ +/* + * Copyright 2019 Emmanuel Vadot + * Copyright (c) 2017 Ian Lepore All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#ifdef EXT_RESOURCES +#include +#endif + +static inline void +mmc_fdt_parse_sd_speed(phandle_t node, struct mmc_host *host) +{ + bool no_18v = false; + + /* + * Parse SD supported modes + * All UHS-I modes requires 1.8V signaling. + */ + if (OF_hasprop(node, "no1-8-v")) + no_18v = true; + if (OF_hasprop(node, "cap-sd-highspeed")) + host->caps |= MMC_CAP_HSPEED; + if (OF_hasprop(node, "sd-uhs-sdr12") && no_18v == false) + host->caps |= MMC_CAP_UHS_SDR12 | MMC_CAP_SIGNALING_180; + if (OF_hasprop(node, "sd-uhs-sdr25") && no_18v == false) + host->caps |= MMC_CAP_UHS_SDR25 | MMC_CAP_SIGNALING_180; + if (OF_hasprop(node, "sd-uhs-sdr50") && no_18v == false) + host->caps |= MMC_CAP_UHS_SDR50 | MMC_CAP_SIGNALING_180; + if (OF_hasprop(node, "sd-uhs-sdr104") && no_18v == false) + host->caps |= MMC_CAP_UHS_SDR104 | MMC_CAP_SIGNALING_180; + if (OF_hasprop(node, "sd-uhs-ddr50") && no_18v == false) + host->caps |= MMC_CAP_UHS_DDR50 | MMC_CAP_SIGNALING_180; +} + +static inline void +mmc_fdt_parse_mmc_speed(phandle_t node, struct mmc_host *host) +{ + + /* Parse eMMC supported modes */ + if (OF_hasprop(node, "cap-mmc-highspeed")) + host->caps |= MMC_CAP_HSPEED; + if (OF_hasprop(node, "mmc-ddr-1_2v")) + host->caps |= MMC_CAP_MMC_DDR52_120 | MMC_CAP_SIGNALING_120; + if (OF_hasprop(node, "mmc-ddr-1_8v")) + host->caps |= MMC_CAP_MMC_DDR52_180 | MMC_CAP_SIGNALING_180; + if (OF_hasprop(node, "mmc-ddr-3_3v")) + host->caps |= MMC_CAP_SIGNALING_330; + if (OF_hasprop(node, "mmc-hs200-1_2v")) + host->caps |= MMC_CAP_MMC_HS200_120 | MMC_CAP_SIGNALING_120; + if (OF_hasprop(node, "mmc-hs200-1_8v")) + host->caps |= MMC_CAP_MMC_HS200_180 | MMC_CAP_SIGNALING_180; + if (OF_hasprop(node, "mmc-hs400-1_2v")) + host->caps |= MMC_CAP_MMC_HS400_120 | MMC_CAP_SIGNALING_120; + if (OF_hasprop(node, "mmc-hs400-1_8v")) + host->caps |= MMC_CAP_MMC_HS400_180 | MMC_CAP_SIGNALING_180; + if (OF_hasprop(node, "mmc-hs400-enhanced-strobe")) + host->caps |= MMC_CAP_MMC_ENH_STROBE; +} + +int +mmc_fdt_parse(device_t dev, phandle_t node, struct mmc_fdt_helper *helper, + struct mmc_host *host) +{ + uint32_t bus_width; + + if (node <= 0) + node = ofw_bus_get_node(dev); + if (node <= 0) + return (ENXIO); + + if (OF_getencprop(node, "bus-width", &bus_width, sizeof(uint32_t)) <= 0) + bus_width = 1; + + if (bus_width >= 4) + host->caps |= MMC_CAP_4_BIT_DATA; + if (bus_width >= 8) + host->caps |= MMC_CAP_8_BIT_DATA; + + /* + * max-frequency is optional, drivers should tweak this value + * if it's not present based on the clock that the mmc controller + * operates on + */ + OF_getencprop(node, "max-frequency", &host->f_max, sizeof(uint32_t)); + + if (OF_hasprop(node, "broken-cd")) + helper->props |= MMC_PROP_BROKEN_CD; + if (OF_hasprop(node, "non-removable")) + helper->props |= MMC_PROP_NON_REMOVABLE; + if (OF_hasprop(node, "wp-inverted")) + helper->props |= MMC_PROP_WP_INVERTED; + if (OF_hasprop(node, "cd-inverted")) + helper->props |= MMC_PROP_CD_INVERTED; + if (OF_hasprop(node, "no-sdio")) + helper->props |= MMC_PROP_NO_SDIO; + if (OF_hasprop(node, "no-sd")) + helper->props |= MMC_PROP_NO_SD; + if (OF_hasprop(node, "no-mmc")) + helper->props |= MMC_PROP_NO_MMC; + + if (!(helper->props & MMC_PROP_NO_SD)) + mmc_fdt_parse_sd_speed(node, host); + + if (!(helper->props & MMC_PROP_NO_MMC)) + mmc_fdt_parse_mmc_speed(node, host); + +#ifdef EXT_RESOURCES + /* + * Get the regulators if they are supported and + * clean the non supported modes based on the available voltages. + */ + if (regulator_get_by_ofw_property(dev, 0, "vmmc-supply", + &helper->vmmc_supply) == 0) { + if (bootverbose) + device_printf(dev, "vmmc-supply regulator found\n"); + } + if (regulator_get_by_ofw_property(dev, 0, "vqmmc-supply", + &helper->vqmmc_supply) == 0 && bootverbose) { + if (bootverbose) + device_printf(dev, "vqmmc-supply regulator found\n"); + } + + if (helper->vqmmc_supply != NULL) { + if (regulator_check_voltage(helper->vqmmc_supply, 1200000) == 0) + host->caps |= MMC_CAP_SIGNALING_120; + else + host->caps &= ~( MMC_CAP_MMC_HS400_120 | + MMC_CAP_MMC_HS200_120 | + MMC_CAP_MMC_DDR52_120); + if (regulator_check_voltage(helper->vqmmc_supply, 1800000) == 0) + host->caps |= MMC_CAP_SIGNALING_180; + else + host->caps &= ~(MMC_CAP_MMC_HS400_180 | + MMC_CAP_MMC_HS200_180 | + MMC_CAP_MMC_DDR52_180 | + MMC_CAP_UHS_DDR50 | + MMC_CAP_UHS_SDR104 | + MMC_CAP_UHS_SDR50 | + MMC_CAP_UHS_SDR25); + if (regulator_check_voltage(helper->vqmmc_supply, 3300000) == 0) + host->caps |= MMC_CAP_SIGNALING_330; + } else + host->caps |= MMC_CAP_SIGNALING_330; +#endif + + return (0); +} + +/* + * Card detect interrupt handler. + */ +static void +cd_intr(void *arg) +{ + struct mmc_fdt_helper *helper = arg; + + taskqueue_enqueue_timeout(taskqueue_swi_giant, + &helper->cd_delayed_task, -(hz / 2)); +} + +static void +cd_card_task(void *arg, int pending __unused) +{ + struct mmc_fdt_helper *helper = arg; + bool cd_present; + + cd_present = mmc_fdt_gpio_get_present(helper); + if(helper->cd_handler && cd_present != helper->cd_present) + helper->cd_handler(helper->dev, + cd_present); + helper->cd_present = cd_present; + + /* If we're polling re-schedule the task */ + if (helper->cd_ihandler == NULL) + taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant, + &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2)); +} + +/* + * Card detect setup. + */ +static void +cd_setup(struct mmc_fdt_helper *helper, phandle_t node) +{ + int pincaps; + device_t dev; + const char *cd_mode_str; + + dev = helper->dev; + /* + * If the device is flagged as non-removable, set that slot option, and + * set a flag to make sdhci_fdt_gpio_get_present() always return true. + */ + if (helper->props & MMC_PROP_NON_REMOVABLE) { + helper->cd_disabled = true; + if (bootverbose) + device_printf(dev, "Non-removable media\n"); + return; + } + + /* + * If there is no cd-gpios property, then presumably the hardware + * PRESENT_STATE register and interrupts will reflect card state + * properly, and there's nothing more for us to do. Our get_present() + * will return sdhci_generic_get_card_present() because cd_pin is NULL. + * + * If there is a property, make sure we can read the pin. + */ + if (gpio_pin_get_by_ofw_property(dev, node, "cd-gpios", + &helper->cd_pin)) + return; + + if (gpio_pin_getcaps(helper->cd_pin, &pincaps) != 0 || + !(pincaps & GPIO_PIN_INPUT)) { + device_printf(dev, "Cannot read card-detect gpio pin; " + "setting card-always-present flag.\n"); + helper->cd_disabled = true; + return; + } + + /* + * If the pin can trigger an interrupt on both rising and falling edges, + * we can use it to detect card presence changes. If not, we'll request + * card presence polling instead of using interrupts. + */ + if (!(pincaps & GPIO_INTR_EDGE_BOTH)) { + if (bootverbose) + device_printf(dev, "Cannot configure " + "GPIO_INTR_EDGE_BOTH for card detect\n"); + goto without_interrupts; + } + + if (helper->cd_handler == NULL) { + if (bootverbose) + device_printf(dev, "Cannot configure " + "interrupts as no cd_handler is set\n"); + goto without_interrupts; + } + + /* + * Create an interrupt resource from the pin and set up the interrupt. + */ + if ((helper->cd_ires = gpio_alloc_intr_resource(dev, &helper->cd_irid, + RF_ACTIVE, helper->cd_pin, GPIO_INTR_EDGE_BOTH)) == NULL) { + if (bootverbose) + device_printf(dev, "Cannot allocate an IRQ for card " + "detect GPIO\n"); + goto without_interrupts; + } + + if (bus_setup_intr(dev, helper->cd_ires, INTR_TYPE_BIO | INTR_MPSAFE, + NULL, cd_intr, helper, &helper->cd_ihandler) != 0) { + device_printf(dev, "Unable to setup card-detect irq handler\n"); + helper->cd_ihandler = NULL; + goto without_interrupts; + } + +without_interrupts: + TIMEOUT_TASK_INIT(taskqueue_swi_giant, &helper->cd_delayed_task, 0, + cd_card_task, helper); + + /* + * If we have a readable gpio pin, but didn't successfully configure + * gpio interrupts, setup a timeout task to poll the pin + */ + if (helper->cd_ihandler == NULL) { + cd_mode_str = "polling"; + } else { + cd_mode_str = "interrupts"; + } + + if (bootverbose) { + device_printf(dev, "Card presence detect on %s pin %u, " + "configured for %s.\n", + device_get_nameunit(helper->cd_pin->dev), helper->cd_pin->pin, + cd_mode_str); + } +} + +/* + * Write protect setup. + */ +static void +wp_setup(struct mmc_fdt_helper *helper, phandle_t node) +{ + device_t dev; + + dev = helper->dev; + + if (OF_hasprop(node, "disable-wp")) { + helper->wp_disabled = true; + if (bootverbose) + device_printf(dev, "Write protect disabled\n"); + return; + } + + if (gpio_pin_get_by_ofw_property(dev, node, "wp-gpios", &helper->wp_pin)) + return; + + if (bootverbose) + device_printf(dev, "Write protect switch on %s pin %u\n", + device_get_nameunit(helper->wp_pin->dev), helper->wp_pin->pin); +} + +int +mmc_fdt_gpio_setup(device_t dev, phandle_t node, struct mmc_fdt_helper *helper, + mmc_fdt_cd_handler handler) +{ + + if (node <= 0) + node = ofw_bus_get_node(dev); + if (node <= 0) { + device_printf(dev, "Cannot get node for device\n"); + return (ENXIO); + } + + helper->dev = dev; + helper->cd_handler = handler; + cd_setup(helper, node); + wp_setup(helper, node); + + /* + * Schedule a card detection + */ + taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant, + &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2)); + return (0); +} + +void +mmc_fdt_gpio_teardown(struct mmc_fdt_helper *helper) +{ + + if (helper == NULL) + return; + + if (helper->cd_ihandler != NULL) + bus_teardown_intr(helper->dev, helper->cd_ires, helper->cd_ihandler); + if (helper->wp_pin != NULL) + gpio_pin_release(helper->wp_pin); + if (helper->cd_pin != NULL) + gpio_pin_release(helper->cd_pin); + if (helper->cd_ires != NULL) + bus_release_resource(helper->dev, SYS_RES_IRQ, 0, helper->cd_ires); +} + +bool +mmc_fdt_gpio_get_present(struct mmc_fdt_helper *helper) +{ + bool pinstate; + + if (helper->cd_disabled) + return (true); + if (helper->cd_pin == NULL) + return (false); + + gpio_pin_is_active(helper->cd_pin, &pinstate); + + return (pinstate ^ (helper->props & MMC_PROP_CD_INVERTED)); +} + +bool +mmc_fdt_gpio_get_readonly(struct mmc_fdt_helper *helper) +{ + bool pinstate; + + if (helper->wp_disabled) + return (false); + + if (helper->wp_pin == NULL) + return (false); + + gpio_pin_is_active(helper->wp_pin, &pinstate); + + return (pinstate ^ (helper->props & MMC_PROP_WP_INVERTED)); +} Added: head/sys/dev/mmc/mmc_fdt_helpers.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/dev/mmc/mmc_fdt_helpers.h Tue Apr 14 16:30:54 2020 (r359924) @@ -0,0 +1,76 @@ +/* + * Copyright 2019 Emmanuel Vadot + * Copyright (c) 2017 Ian Lepore All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _MMC_FDT_HELPERS_H_ +#define _MMC_FDT_HELPERS_H_ + +#include +#include + +#ifdef EXT_RESOURCES +#include +#endif + +struct mmc_fdt_helper { + device_t dev; + gpio_pin_t wp_pin; + gpio_pin_t cd_pin; + void * cd_ihandler; + struct resource * cd_ires; + int cd_irid; + void (*cd_handler)(device_t, bool); + struct timeout_task cd_delayed_task; + bool cd_disabled; + bool wp_disabled; + bool cd_present; + uint32_t props; +#define MMC_PROP_BROKEN_CD (1 << 0) +#define MMC_PROP_NON_REMOVABLE (1 << 1) +#define MMC_PROP_WP_INVERTED (1 << 2) +#define MMC_PROP_CD_INVERTED (1 << 3) +#define MMC_PROP_DISABLE_WP (1 << 4) +#define MMC_PROP_NO_SDIO (1 << 5) +#define MMC_PROP_NO_SD (1 << 6) +#define MMC_PROP_NO_MMC (1 << 7) + +#ifdef EXT_RESOURCES + regulator_t vmmc_supply; + regulator_t vqmmc_supply; +#endif +}; + +typedef void (*mmc_fdt_cd_handler)(device_t dev, bool present); + +int mmc_fdt_parse(device_t dev, phandle_t node, struct mmc_fdt_helper *helper, struct mmc_host *host); +int mmc_fdt_gpio_setup(device_t dev, phandle_t node, struct mmc_fdt_helper *helper, mmc_fdt_cd_handler handler); +void mmc_fdt_gpio_teardown(struct mmc_fdt_helper *helper); +bool mmc_fdt_gpio_get_present(struct mmc_fdt_helper *helper); +bool mmc_fdt_gpio_get_readonly(struct mmc_fdt_helper *helper); + +#endif From owner-svn-src-head@freebsd.org Tue Apr 14 16:34:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 734AA2C465D; Tue, 14 Apr 2020 16:34:14 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491rfZ2XqBz4R8y; Tue, 14 Apr 2020 16:34:14 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4DC108563; Tue, 14 Apr 2020 16:34:14 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EGYEaJ009596; Tue, 14 Apr 2020 16:34:14 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EGYE0m009595; Tue, 14 Apr 2020 16:34:14 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004141634.03EGYE0m009595@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 14 Apr 2020 16:34:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359925 - head/sys/arm/allwinner X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/arm/allwinner X-SVN-Commit-Revision: 359925 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 16:34:14 -0000 Author: manu Date: Tue Apr 14 16:34:13 2020 New Revision: 359925 URL: https://svnweb.freebsd.org/changeset/base/359925 Log: arm: allwinner: aw_mmc: Use the mmc_fdt_helper The fdt properties are now parsed via the help of mmc_fdt_helper functions. This also adds card detection. Note that on some boards (like the Pine64) card detection is broken due to a missing resistor on the cd pin. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D23268 Modified: head/sys/arm/allwinner/aw_mmc.c Modified: head/sys/arm/allwinner/aw_mmc.c ============================================================================== --- head/sys/arm/allwinner/aw_mmc.c Tue Apr 14 16:30:54 2020 (r359924) +++ head/sys/arm/allwinner/aw_mmc.c Tue Apr 14 16:34:13 2020 (r359925) @@ -41,6 +41,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #include @@ -49,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -122,6 +125,7 @@ struct aw_mmc_softc { int aw_timeout; struct callout aw_timeoutc; struct mmc_host aw_host; + struct mmc_fdt_helper mmc_helper; #ifdef MMCCAM union ccb * ccb; struct cam_devq * devq; @@ -136,9 +140,8 @@ struct aw_mmc_softc { uint32_t aw_intr; uint32_t aw_intr_wait; void * aw_intrhand; - regulator_t aw_reg_vmmc; - regulator_t aw_reg_vqmmc; unsigned int aw_clock; + device_t child; /* Fields required for DMA access. */ bus_addr_t aw_dma_desc_phys; @@ -164,6 +167,7 @@ static int aw_mmc_reset(struct aw_mmc_softc *); static int aw_mmc_init(struct aw_mmc_softc *); static void aw_mmc_intr(void *); static int aw_mmc_update_clock(struct aw_mmc_softc *, uint32_t); +static void aw_mmc_helper_cd_handler(device_t, bool); static void aw_mmc_print_error(uint32_t); static int aw_mmc_update_ios(device_t, device_t); @@ -360,6 +364,40 @@ aw_mmc_cam_request(struct aw_mmc_softc *sc, union ccb } #endif /* MMCCAM */ +static void +aw_mmc_helper_cd_handler(device_t dev, bool present) +{ + struct aw_mmc_softc *sc; + + sc = device_get_softc(dev); + AW_MMC_LOCK(sc); + if (present) { + if (sc->child == NULL) { + if (bootverbose) + device_printf(sc->aw_dev, "Card inserted\n"); + + sc->child = device_add_child(sc->aw_dev, "mmc", -1); + AW_MMC_UNLOCK(sc); + if (sc->child) { + device_set_ivars(sc->child, sc); + (void)device_probe_and_attach(sc->child); + } + } else + AW_MMC_UNLOCK(sc); + } else { + /* Card isn't present, detach if necessary */ + if (sc->child != NULL) { + if (bootverbose) + device_printf(sc->aw_dev, "Card removed\n"); + + AW_MMC_UNLOCK(sc); + device_delete_child(sc->aw_dev, sc->child); + sc->child = NULL; + } else + AW_MMC_UNLOCK(sc); + } +} + static int aw_mmc_probe(device_t dev) { @@ -377,15 +415,11 @@ aw_mmc_probe(device_t dev) static int aw_mmc_attach(device_t dev) { - device_t child; struct aw_mmc_softc *sc; struct sysctl_ctx_list *ctx; struct sysctl_oid_list *tree; - uint32_t bus_width, max_freq; - phandle_t node; int error; - node = ofw_bus_get_node(dev); sc = device_get_softc(dev); sc->aw_dev = dev; @@ -399,7 +433,7 @@ aw_mmc_attach(device_t dev) return (ENXIO); } if (bus_setup_intr(dev, sc->aw_res[AW_MMC_IRQRES], - INTR_TYPE_MISC | INTR_MPSAFE, NULL, aw_mmc_intr, sc, + INTR_TYPE_NET | INTR_MPSAFE, NULL, aw_mmc_intr, sc, &sc->aw_intrhand)) { bus_release_resources(dev, aw_mmc_res_spec, sc->aw_res); device_printf(dev, "cannot setup interrupt handler\n"); @@ -463,47 +497,15 @@ aw_mmc_attach(device_t dev) goto fail; } - if (OF_getencprop(node, "bus-width", &bus_width, sizeof(uint32_t)) <= 0) - bus_width = 4; - - if (regulator_get_by_ofw_property(dev, 0, "vmmc-supply", - &sc->aw_reg_vmmc) == 0) { - if (bootverbose) - device_printf(dev, "vmmc-supply regulator found\n"); - } - if (regulator_get_by_ofw_property(dev, 0, "vqmmc-supply", - &sc->aw_reg_vqmmc) == 0 && bootverbose) { - if (bootverbose) - device_printf(dev, "vqmmc-supply regulator found\n"); - } - + /* Set some defaults for freq and supported mode */ sc->aw_host.f_min = 400000; - - if (OF_getencprop(node, "max-frequency", &max_freq, - sizeof(uint32_t)) <= 0) - max_freq = 52000000; - sc->aw_host.f_max = max_freq; - + sc->aw_host.f_max = 52000000; sc->aw_host.host_ocr = MMC_OCR_320_330 | MMC_OCR_330_340; - sc->aw_host.caps = MMC_CAP_HSPEED | MMC_CAP_UHS_SDR12 | - MMC_CAP_UHS_SDR25 | MMC_CAP_UHS_SDR50 | - MMC_CAP_UHS_DDR50 | MMC_CAP_MMC_DDR52; + sc->aw_host.caps |= MMC_CAP_HSPEED | MMC_CAP_SIGNALING_330; + mmc_fdt_parse(dev, 0, &sc->mmc_helper, &sc->aw_host); + mmc_fdt_gpio_setup(dev, 0, &sc->mmc_helper, aw_mmc_helper_cd_handler); - if (sc->aw_reg_vqmmc != NULL) { - if (regulator_check_voltage(sc->aw_reg_vqmmc, 1800000) == 0) - sc->aw_host.caps |= MMC_CAP_SIGNALING_180; - if (regulator_check_voltage(sc->aw_reg_vqmmc, 3300000) == 0) - sc->aw_host.caps |= MMC_CAP_SIGNALING_330; - } else - sc->aw_host.caps |= MMC_CAP_SIGNALING_330; - - if (bus_width >= 4) - sc->aw_host.caps |= MMC_CAP_4_BIT_DATA; - if (bus_width >= 8) - sc->aw_host.caps |= MMC_CAP_8_BIT_DATA; - #ifdef MMCCAM - child = NULL; /* Not used by MMCCAM, need to silence compiler warnings */ sc->ccb = NULL; if ((sc->devq = cam_simq_alloc(1)) == NULL) { goto fail; @@ -530,18 +532,8 @@ aw_mmc_attach(device_t dev) } mtx_unlock(&sc->sim_mtx); -#else /* !MMCCAM */ - child = device_add_child(dev, "mmc", -1); - if (child == NULL) { - device_printf(dev, "attaching MMC bus failed!\n"); - goto fail; - } - if (device_probe_and_attach(child) != 0) { - device_printf(dev, "attaching MMC child failed!\n"); - device_delete_child(dev, child); - goto fail; - } #endif /* MMCCAM */ + return (0); fail: @@ -1301,7 +1293,7 @@ aw_mmc_switch_vccq(device_t bus, device_t child) sc = device_get_softc(bus); - if (sc->aw_reg_vqmmc == NULL) + if (sc->mmc_helper.vqmmc_supply == NULL) return EOPNOTSUPP; switch (sc->aw_host.ios.vccq) { @@ -1315,7 +1307,7 @@ aw_mmc_switch_vccq(device_t bus, device_t child) return EINVAL; } - err = regulator_set_voltage(sc->aw_reg_vqmmc, uvolt, uvolt); + err = regulator_set_voltage(sc->mmc_helper.vqmmc_supply, uvolt, uvolt); if (err != 0) { device_printf(sc->aw_dev, "Cannot set vqmmc to %d<->%d\n", @@ -1360,10 +1352,10 @@ aw_mmc_update_ios(device_t bus, device_t child) if (bootverbose) device_printf(sc->aw_dev, "Powering down sd/mmc\n"); - if (sc->aw_reg_vmmc) - regulator_disable(sc->aw_reg_vmmc); - if (sc->aw_reg_vqmmc) - regulator_disable(sc->aw_reg_vqmmc); + if (sc->mmc_helper.vmmc_supply) + regulator_disable(sc->mmc_helper.vmmc_supply); + if (sc->mmc_helper.vqmmc_supply) + regulator_disable(sc->mmc_helper.vqmmc_supply); aw_mmc_reset(sc); break; @@ -1371,10 +1363,10 @@ aw_mmc_update_ios(device_t bus, device_t child) if (bootverbose) device_printf(sc->aw_dev, "Powering up sd/mmc\n"); - if (sc->aw_reg_vmmc) - regulator_enable(sc->aw_reg_vmmc); - if (sc->aw_reg_vqmmc) - regulator_enable(sc->aw_reg_vqmmc); + if (sc->mmc_helper.vmmc_supply) + regulator_enable(sc->mmc_helper.vmmc_supply); + if (sc->mmc_helper.vqmmc_supply) + regulator_enable(sc->mmc_helper.vqmmc_supply); aw_mmc_init(sc); break; }; @@ -1450,8 +1442,11 @@ aw_mmc_update_ios(device_t bus, device_t child) static int aw_mmc_get_ro(device_t bus, device_t child) { + struct aw_mmc_softc *sc; - return (0); + sc = device_get_softc(bus); + + return (mmc_fdt_gpio_get_readonly(&sc->mmc_helper)); } static int From owner-svn-src-head@freebsd.org Tue Apr 14 16:35:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2F4792C46D0; Tue, 14 Apr 2020 16:35:06 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491rgZ0BbRz4RJD; Tue, 14 Apr 2020 16:35:06 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 01F11857B; Tue, 14 Apr 2020 16:35:06 +0000 (UTC) (envelope-from tuexen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EGZ5N7009798; Tue, 14 Apr 2020 16:35:05 GMT (envelope-from tuexen@FreeBSD.org) Received: (from tuexen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EGZ5Zj009796; Tue, 14 Apr 2020 16:35:05 GMT (envelope-from tuexen@FreeBSD.org) Message-Id: <202004141635.03EGZ5Zj009796@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tuexen set sender to tuexen@FreeBSD.org using -f From: Michael Tuexen Date: Tue, 14 Apr 2020 16:35:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359926 - head/sys/netinet X-SVN-Group: head X-SVN-Commit-Author: tuexen X-SVN-Commit-Paths: head/sys/netinet X-SVN-Commit-Revision: 359926 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 16:35:06 -0000 Author: tuexen Date: Tue Apr 14 16:35:05 2020 New Revision: 359926 URL: https://svnweb.freebsd.org/changeset/base/359926 Log: Improve the TCP blackhole detection. The principle is to reduce the MSS in two steps and try each candidate two times. However, if two candidates are the same (which is the case in TCP/IPv6), this candidate was tested four times. This patch ensures that each candidate actually reduced the MSS and is only tested 2 times. This reduces the time window of missclassifying a temporary outage as an MTU issue. Reviewed by: jtl MFC after: 1 week Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D24308 Modified: head/sys/netinet/tcp_timer.c head/sys/netinet/tcp_var.h Modified: head/sys/netinet/tcp_timer.c ============================================================================== --- head/sys/netinet/tcp_timer.c Tue Apr 14 16:34:13 2020 (r359925) +++ head/sys/netinet/tcp_timer.c Tue Apr 14 16:35:05 2020 (r359926) @@ -723,16 +723,40 @@ tcp_timer_rexmt(void * xtp) (V_tcp_pmtud_blackhole_detect == 3 && isipv6)) && ((tp->t_state == TCPS_ESTABLISHED) || (tp->t_state == TCPS_FIN_WAIT_1))) { - /* - * Idea here is that at each stage of mtu probe (usually, 1448 - * -> 1188 -> 524) should be given 2 chances to recover before - * further clamping down. 'tp->t_rxtshift % 2 == 0' should - * take care of that. - */ + if (tp->t_rxtshift == 1) { + /* + * We enter blackhole detection after the first + * unsuccessful timer based retransmission. + * Then we reduce up to two times the MSS, each + * candidate giving two tries of retransmissions. + * But we give a candidate only two tries, if it + * actually reduces the MSS. + */ + tp->t_blackhole_enter = 2; + tp->t_blackhole_exit = tp->t_blackhole_enter; + if (isipv6) { +#ifdef INET6 + if (tp->t_maxseg > V_tcp_v6pmtud_blackhole_mss) + tp->t_blackhole_exit += 2; + if (tp->t_maxseg > V_tcp_v6mssdflt && + V_tcp_v6pmtud_blackhole_mss > V_tcp_v6mssdflt) + tp->t_blackhole_exit += 2; +#endif + } else { +#ifdef INET + if (tp->t_maxseg > V_tcp_pmtud_blackhole_mss) + tp->t_blackhole_exit += 2; + if (tp->t_maxseg > V_tcp_mssdflt && + V_tcp_pmtud_blackhole_mss > V_tcp_mssdflt) + tp->t_blackhole_exit += 2; +#endif + } + } if (((tp->t_flags2 & (TF2_PLPMTU_PMTUD|TF2_PLPMTU_MAXSEGSNT)) == (TF2_PLPMTU_PMTUD|TF2_PLPMTU_MAXSEGSNT)) && - (tp->t_rxtshift >= 2 && tp->t_rxtshift < 6 && - tp->t_rxtshift % 2 == 0)) { + (tp->t_rxtshift >= tp->t_blackhole_enter && + tp->t_rxtshift < tp->t_blackhole_exit && + (tp->t_rxtshift - tp->t_blackhole_enter) % 2 == 0)) { /* * Enter Path MTU Black-hole Detection mechanism: * - Disable Path MTU Discovery (IP "DF" bit). @@ -752,7 +776,8 @@ tcp_timer_rexmt(void * xtp) */ #ifdef INET6 if (isipv6 && - tp->t_maxseg > V_tcp_v6pmtud_blackhole_mss) { + tp->t_maxseg > V_tcp_v6pmtud_blackhole_mss && + V_tcp_v6pmtud_blackhole_mss > V_tcp_v6mssdflt) { /* Use the sysctl tuneable blackhole MSS. */ tp->t_maxseg = V_tcp_v6pmtud_blackhole_mss; TCPSTAT_INC(tcps_pmtud_blackhole_activated); @@ -771,7 +796,8 @@ tcp_timer_rexmt(void * xtp) else #endif #ifdef INET - if (tp->t_maxseg > V_tcp_pmtud_blackhole_mss) { + if (tp->t_maxseg > V_tcp_pmtud_blackhole_mss && + V_tcp_pmtud_blackhole_mss > V_tcp_mssdflt) { /* Use the sysctl tuneable blackhole MSS. */ tp->t_maxseg = V_tcp_pmtud_blackhole_mss; TCPSTAT_INC(tcps_pmtud_blackhole_activated); @@ -798,11 +824,9 @@ tcp_timer_rexmt(void * xtp) * with a lowered MTU, maybe this isn't a blackhole and * we restore the previous MSS and blackhole detection * flags. - * The limit '6' is determined by giving each probe - * stage (1448, 1188, 524) 2 chances to recover. */ if ((tp->t_flags2 & TF2_PLPMTU_BLACKHOLE) && - (tp->t_rxtshift >= 6)) { + (tp->t_rxtshift >= tp->t_blackhole_exit)) { tp->t_flags2 |= TF2_PLPMTU_PMTUD; tp->t_flags2 &= ~TF2_PLPMTU_BLACKHOLE; tp->t_maxseg = tp->t_pmtud_saved_maxseg; Modified: head/sys/netinet/tcp_var.h ============================================================================== --- head/sys/netinet/tcp_var.h Tue Apr 14 16:34:13 2020 (r359925) +++ head/sys/netinet/tcp_var.h Tue Apr 14 16:35:05 2020 (r359926) @@ -169,6 +169,8 @@ struct tcpcb { u_int t_starttime; /* time connection was established */ u_int t_pmtud_saved_maxseg; /* pre-blackhole MSS */ + int t_blackhole_enter; /* when to enter blackhole detection */ + int t_blackhole_exit; /* when to exit blackhole detection */ u_int t_rttmin; /* minimum rtt allowed */ u_int t_rttbest; /* best rtt we've seen */ From owner-svn-src-head@freebsd.org Tue Apr 14 16:35:20 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 506602C4726; Tue, 14 Apr 2020 16:35:20 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491rgr1V1pz4RQb; Tue, 14 Apr 2020 16:35:20 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 269DC857C; Tue, 14 Apr 2020 16:35:20 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EGZKv5009885; Tue, 14 Apr 2020 16:35:20 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EGZIux009877; Tue, 14 Apr 2020 16:35:18 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004141635.03EGZIux009877@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 14 Apr 2020 16:35:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359927 - head/sys/dev/mmc/host X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/dev/mmc/host X-SVN-Commit-Revision: 359927 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 16:35:20 -0000 Author: manu Date: Tue Apr 14 16:35:18 2020 New Revision: 359927 URL: https://svnweb.freebsd.org/changeset/base/359927 Log: arm: dwmmc: Use mmc_fdt_helpers Use the mmc_fdt_parse function instead of parsing everything in the driver. MFC after: 1 month Modified: head/sys/dev/mmc/host/dwmmc.c head/sys/dev/mmc/host/dwmmc_altera.c head/sys/dev/mmc/host/dwmmc_hisi.c head/sys/dev/mmc/host/dwmmc_rockchip.c head/sys/dev/mmc/host/dwmmc_samsung.c head/sys/dev/mmc/host/dwmmc_var.h Modified: head/sys/dev/mmc/host/dwmmc.c ============================================================================== --- head/sys/dev/mmc/host/dwmmc.c Tue Apr 14 16:35:05 2020 (r359926) +++ head/sys/dev/mmc/host/dwmmc.c Tue Apr 14 16:35:18 2020 (r359927) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -446,7 +447,6 @@ dwmmc_card_task(void *arg, int pending __unused) } } else DWMMC_UNLOCK(sc); - } else { /* Card isn't present, detach if necessary */ if (sc->child != NULL) { @@ -466,7 +466,7 @@ parse_fdt(struct dwmmc_softc *sc) { pcell_t dts_value[3]; phandle_t node; - uint32_t bus_hz = 0, bus_width; + uint32_t bus_hz = 0; int len; #ifdef EXT_RESOURCES int error; @@ -475,18 +475,13 @@ parse_fdt(struct dwmmc_softc *sc) if ((node = ofw_bus_get_node(sc->dev)) == -1) return (ENXIO); - /* bus-width */ - if (OF_getencprop(node, "bus-width", &bus_width, sizeof(uint32_t)) <= 0) - bus_width = 4; - if (bus_width >= 4) - sc->host.caps |= MMC_CAP_4_BIT_DATA; - if (bus_width >= 8) - sc->host.caps |= MMC_CAP_8_BIT_DATA; + /* Set some defaults for freq and supported mode */ + sc->host.f_min = 400000; + sc->host.f_max = 200000000; + sc->host.host_ocr = MMC_OCR_320_330 | MMC_OCR_330_340; + sc->host.caps = MMC_CAP_HSPEED | MMC_CAP_SIGNALING_330; + mmc_fdt_parse(sc->dev, node, &sc->mmc_helper, &sc->host); - /* max-frequency */ - if (OF_getencprop(node, "max-frequency", &sc->host.f_max, sizeof(uint32_t)) <= 0) - sc->host.f_max = 200000000; - /* fifo-depth */ if ((len = OF_getproplen(node, "fifo-depth")) > 0) { OF_getencprop(node, "fifo-depth", dts_value, len); @@ -721,11 +716,6 @@ dwmmc_attach(device_t dev) DWMMC_ERR_FLAGS | SDMMC_INTMASK_CD)); WRITE4(sc, SDMMC_CTRL, SDMMC_CTRL_INT_ENABLE); - - sc->host.f_min = 400000; - sc->host.host_ocr = MMC_OCR_320_330 | MMC_OCR_330_340; - sc->host.caps |= MMC_CAP_HSPEED; - sc->host.caps |= MMC_CAP_SIGNALING_330; TASK_INIT(&sc->card_task, 0, dwmmc_card_task, sc); TIMEOUT_TASK_INIT(taskqueue_swi_giant, &sc->card_delayed_task, 0, Modified: head/sys/dev/mmc/host/dwmmc_altera.c ============================================================================== --- head/sys/dev/mmc/host/dwmmc_altera.c Tue Apr 14 16:35:05 2020 (r359926) +++ head/sys/dev/mmc/host/dwmmc_altera.c Tue Apr 14 16:35:18 2020 (r359927) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include Modified: head/sys/dev/mmc/host/dwmmc_hisi.c ============================================================================== --- head/sys/dev/mmc/host/dwmmc_hisi.c Tue Apr 14 16:35:05 2020 (r359926) +++ head/sys/dev/mmc/host/dwmmc_hisi.c Tue Apr 14 16:35:18 2020 (r359927) @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include Modified: head/sys/dev/mmc/host/dwmmc_rockchip.c ============================================================================== --- head/sys/dev/mmc/host/dwmmc_rockchip.c Tue Apr 14 16:35:05 2020 (r359926) +++ head/sys/dev/mmc/host/dwmmc_rockchip.c Tue Apr 14 16:35:18 2020 (r359927) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include Modified: head/sys/dev/mmc/host/dwmmc_samsung.c ============================================================================== --- head/sys/dev/mmc/host/dwmmc_samsung.c Tue Apr 14 16:35:05 2020 (r359926) +++ head/sys/dev/mmc/host/dwmmc_samsung.c Tue Apr 14 16:35:18 2020 (r359927) @@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include Modified: head/sys/dev/mmc/host/dwmmc_var.h ============================================================================== --- head/sys/dev/mmc/host/dwmmc_var.h Tue Apr 14 16:35:05 2020 (r359926) +++ head/sys/dev/mmc/host/dwmmc_var.h Tue Apr 14 16:35:18 2020 (r359927) @@ -52,6 +52,7 @@ struct dwmmc_softc { device_t dev; void *intr_cookie; struct mmc_host host; + struct mmc_fdt_helper mmc_helper; struct mtx sc_mtx; struct mmc_request *req; struct mmc_command *curcmd; From owner-svn-src-head@freebsd.org Tue Apr 14 18:07:44 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C8AC02C6230; Tue, 14 Apr 2020 18:07:44 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491tkS4wwnz4XCj; Tue, 14 Apr 2020 18:07:44 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A3FBE9797; Tue, 14 Apr 2020 18:07:44 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EI7iD9076323; Tue, 14 Apr 2020 18:07:44 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EI7gh4076312; Tue, 14 Apr 2020 18:07:42 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004141807.03EI7gh4076312@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 14 Apr 2020 18:07:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359930 - in head: lib/libc/include lib/libc/sys sys/compat/freebsd32 sys/kern tools/build X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: lib/libc/include lib/libc/sys sys/compat/freebsd32 sys/kern tools/build X-SVN-Commit-Revision: 359930 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 18:07:44 -0000 Author: kevans Date: Tue Apr 14 18:07:42 2020 New Revision: 359930 URL: https://svnweb.freebsd.org/changeset/base/359930 Log: Mark closefrom(2) COMPAT12, reimplement in libc to wrap close_range Include a temporarily compatibility shim as well for kernels predating close_range, since closefrom is used in some critical areas. Reviewed by: markj (previous version), kib Differential Revision: https://reviews.freebsd.org/D24399 Added: head/lib/libc/sys/closefrom.c (contents, props changed) Modified: head/lib/libc/include/libc_private.h head/lib/libc/sys/Makefile.inc head/lib/libc/sys/Symbol.map head/sys/compat/freebsd32/syscalls.master head/sys/kern/kern_descrip.c head/sys/kern/syscalls.master head/tools/build/depend-cleanup.sh Modified: head/lib/libc/include/libc_private.h ============================================================================== --- head/lib/libc/include/libc_private.h Tue Apr 14 16:56:57 2020 (r359929) +++ head/lib/libc/include/libc_private.h Tue Apr 14 18:07:42 2020 (r359930) @@ -331,6 +331,7 @@ int __sys_clock_gettime(__clockid_t, struct timespec int __sys_clock_nanosleep(__clockid_t, int, const struct timespec *, struct timespec *); int __sys_close(int); +int __sys_close_range(unsigned, unsigned, int); int __sys_connect(int, const struct sockaddr *, __socklen_t); int __sys_fcntl(int, int, ...); int __sys_fdatasync(int); Modified: head/lib/libc/sys/Makefile.inc ============================================================================== --- head/lib/libc/sys/Makefile.inc Tue Apr 14 16:56:57 2020 (r359929) +++ head/lib/libc/sys/Makefile.inc Tue Apr 14 18:07:42 2020 (r359930) @@ -45,6 +45,7 @@ NOASM+= getdirentries.o PSEUDO+= _getdirentries.o SRCS+= brk.c +SRCS+= closefrom.c SRCS+= pipe.c SRCS+= shm_open.c SRCS+= vadvise.c Modified: head/lib/libc/sys/Symbol.map ============================================================================== --- head/lib/libc/sys/Symbol.map Tue Apr 14 16:56:57 2020 (r359929) +++ head/lib/libc/sys/Symbol.map Tue Apr 14 18:07:42 2020 (r359930) @@ -520,8 +520,6 @@ FBSDprivate_1.0 { __sys_clock_settime; _close; __sys_close; - _closefrom; - __sys_closefrom; _connect; __sys_connect; _cpuset; Added: head/lib/libc/sys/closefrom.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/lib/libc/sys/closefrom.c Tue Apr 14 18:07:42 2020 (r359930) @@ -0,0 +1,47 @@ +/* + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2020 Kyle Evans + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include + +#include "libc_private.h" + +#define CLOSE_RANGE_OSREL 1300091 + +void +closefrom(int lowfd) +{ + + if (__getosreldate() >= CLOSE_RANGE_OSREL) + __sys_close_range(lowfd, ~0U, 0); + else + /* Fallback to closefrom(2) on older kernels. */ + syscall(SYS_freebsd12_closefrom, lowfd); +} Modified: head/sys/compat/freebsd32/syscalls.master ============================================================================== --- head/sys/compat/freebsd32/syscalls.master Tue Apr 14 16:56:57 2020 (r359929) +++ head/sys/compat/freebsd32/syscalls.master Tue Apr 14 18:07:42 2020 (r359930) @@ -980,7 +980,7 @@ 507 AUE_JAIL_SET STD { int freebsd32_jail_set(struct iovec32 *iovp, \ unsigned int iovcnt, int flags); } 508 AUE_JAIL_REMOVE NOPROTO { int jail_remove(int jid); } -509 AUE_CLOSEFROM NOPROTO { int closefrom(int lowfd); } +509 AUE_CLOSEFROM COMPAT12|NOPROTO { int closefrom(int lowfd); } 510 AUE_SEMCTL NOSTD { int freebsd32_semctl(int semid, int semnum, \ int cmd, union semun32 *arg); } 511 AUE_MSGCTL NOSTD { int freebsd32_msgctl(int msqid, int cmd, \ Modified: head/sys/kern/kern_descrip.c ============================================================================== --- head/sys/kern/kern_descrip.c Tue Apr 14 16:56:57 2020 (r359929) +++ head/sys/kern/kern_descrip.c Tue Apr 14 18:07:42 2020 (r359930) @@ -1372,17 +1372,18 @@ sys_close_range(struct thread *td, struct close_range_ return (kern_close_range(td, uap->lowfd, uap->highfd)); } +#ifdef COMPAT_FREEBSD12 /* * Close open file descriptors. */ #ifndef _SYS_SYSPROTO_H_ -struct closefrom_args { +struct freebsd12_closefrom_args { int lowfd; }; #endif /* ARGSUSED */ int -sys_closefrom(struct thread *td, struct closefrom_args *uap) +freebsd12_closefrom(struct thread *td, struct freebsd12_closefrom_args *uap) { u_int lowfd; @@ -1395,6 +1396,7 @@ sys_closefrom(struct thread *td, struct closefrom_args lowfd = MAX(0, uap->lowfd); return (kern_close_range(td, lowfd, ~0U)); } +#endif /* COMPAT_FREEBSD12 */ #if defined(COMPAT_43) /* Modified: head/sys/kern/syscalls.master ============================================================================== --- head/sys/kern/syscalls.master Tue Apr 14 16:56:57 2020 (r359929) +++ head/sys/kern/syscalls.master Tue Apr 14 18:07:42 2020 (r359930) @@ -2776,7 +2776,7 @@ int jid ); } -509 AUE_CLOSEFROM STD { +509 AUE_CLOSEFROM COMPAT12 { int closefrom( int lowfd ); Modified: head/tools/build/depend-cleanup.sh ============================================================================== --- head/tools/build/depend-cleanup.sh Tue Apr 14 16:56:57 2020 (r359929) +++ head/tools/build/depend-cleanup.sh Tue Apr 14 18:07:42 2020 (r359930) @@ -36,3 +36,5 @@ clean_dep() clean_dep lib/libc shm_open S # 20200310 r358851 rename of openmp's ittnotify_static.c to .cpp clean_dep lib/libomp ittnotify_static c +# 20200414 r359930 closefrom +clean_dep lib/libc closefrom S From owner-svn-src-head@freebsd.org Tue Apr 14 18:11:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 725F72C6344; Tue, 14 Apr 2020 18:11:29 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491tpn28Zcz4XfV; Tue, 14 Apr 2020 18:11:29 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 423F9991B; Tue, 14 Apr 2020 18:11:29 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EIBT02081242; Tue, 14 Apr 2020 18:11:29 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EIBQHB081228; Tue, 14 Apr 2020 18:11:26 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004141811.03EIBQHB081228@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 14 Apr 2020 18:11:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359931 - in head/sys: compat/freebsd32 kern sys X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head/sys: compat/freebsd32 kern sys X-SVN-Commit-Revision: 359931 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 18:11:29 -0000 Author: kevans Date: Tue Apr 14 18:11:26 2020 New Revision: 359931 URL: https://svnweb.freebsd.org/changeset/base/359931 Log: sysent: re-roll after r359930 Modified: head/sys/compat/freebsd32/freebsd32_syscall.h head/sys/compat/freebsd32/freebsd32_syscalls.c head/sys/compat/freebsd32/freebsd32_sysent.c head/sys/compat/freebsd32/freebsd32_systrace_args.c head/sys/kern/init_sysent.c head/sys/kern/syscalls.c head/sys/kern/systrace_args.c head/sys/sys/syscall.h head/sys/sys/syscall.mk head/sys/sys/sysproto.h Modified: head/sys/compat/freebsd32/freebsd32_syscall.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscall.h Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/compat/freebsd32/freebsd32_syscall.h Tue Apr 14 18:11:26 2020 (r359931) @@ -431,7 +431,7 @@ #define FREEBSD32_SYS_freebsd32_jail_get 506 #define FREEBSD32_SYS_freebsd32_jail_set 507 #define FREEBSD32_SYS_jail_remove 508 -#define FREEBSD32_SYS_closefrom 509 +#define FREEBSD32_SYS_freebsd12_closefrom 509 #define FREEBSD32_SYS_freebsd32_semctl 510 #define FREEBSD32_SYS_freebsd32_msgctl 511 #define FREEBSD32_SYS_freebsd32_shmctl 512 Modified: head/sys/compat/freebsd32/freebsd32_syscalls.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_syscalls.c Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/compat/freebsd32/freebsd32_syscalls.c Tue Apr 14 18:11:26 2020 (r359931) @@ -531,7 +531,7 @@ const char *freebsd32_syscallnames[] = { "freebsd32_jail_get", /* 506 = freebsd32_jail_get */ "freebsd32_jail_set", /* 507 = freebsd32_jail_set */ "jail_remove", /* 508 = jail_remove */ - "closefrom", /* 509 = closefrom */ + "compat12.closefrom", /* 509 = freebsd12 closefrom */ "freebsd32_semctl", /* 510 = freebsd32_semctl */ "freebsd32_msgctl", /* 511 = freebsd32_msgctl */ "freebsd32_shmctl", /* 512 = freebsd32_shmctl */ Modified: head/sys/compat/freebsd32/freebsd32_sysent.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_sysent.c Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/compat/freebsd32/freebsd32_sysent.c Tue Apr 14 18:11:26 2020 (r359931) @@ -584,7 +584,7 @@ struct sysent freebsd32_sysent[] = { { AS(freebsd32_jail_get_args), (sy_call_t *)freebsd32_jail_get, AUE_JAIL_GET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 506 = freebsd32_jail_get */ { AS(freebsd32_jail_set_args), (sy_call_t *)freebsd32_jail_set, AUE_JAIL_SET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 507 = freebsd32_jail_set */ { AS(jail_remove_args), (sy_call_t *)sys_jail_remove, AUE_JAIL_REMOVE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 508 = jail_remove */ - { AS(closefrom_args), (sy_call_t *)sys_closefrom, AUE_CLOSEFROM, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 509 = closefrom */ + { compat12(AS(freebsd12_closefrom_args),closefrom), AUE_CLOSEFROM, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 509 = freebsd12 closefrom */ { AS(freebsd32_semctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 510 = freebsd32_semctl */ { AS(freebsd32_msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 511 = freebsd32_msgctl */ { AS(freebsd32_shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 512 = freebsd32_shmctl */ Modified: head/sys/compat/freebsd32/freebsd32_systrace_args.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_systrace_args.c Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/compat/freebsd32/freebsd32_systrace_args.c Tue Apr 14 18:11:26 2020 (r359931) @@ -2722,13 +2722,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg *n_args = 1; break; } - /* closefrom */ - case 509: { - struct closefrom_args *p = params; - iarg[0] = p->lowfd; /* int */ - *n_args = 1; - break; - } /* freebsd32_semctl */ case 510: { struct freebsd32_semctl_args *p = params; @@ -7904,16 +7897,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; }; break; - /* closefrom */ - case 509: - switch(ndx) { - case 0: - p = "int"; - break; - default: - break; - }; - break; /* freebsd32_semctl */ case 510: switch(ndx) { @@ -10675,11 +10658,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* jail_remove */ case 508: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* closefrom */ - case 509: if (ndx == 0 || ndx == 1) p = "int"; break; Modified: head/sys/kern/init_sysent.c ============================================================================== --- head/sys/kern/init_sysent.c Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/kern/init_sysent.c Tue Apr 14 18:11:26 2020 (r359931) @@ -564,7 +564,7 @@ struct sysent sysent[] = { { AS(jail_get_args), (sy_call_t *)sys_jail_get, AUE_JAIL_GET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 506 = jail_get */ { AS(jail_set_args), (sy_call_t *)sys_jail_set, AUE_JAIL_SET, NULL, 0, 0, 0, SY_THR_STATIC }, /* 507 = jail_set */ { AS(jail_remove_args), (sy_call_t *)sys_jail_remove, AUE_JAIL_REMOVE, NULL, 0, 0, 0, SY_THR_STATIC }, /* 508 = jail_remove */ - { AS(closefrom_args), (sy_call_t *)sys_closefrom, AUE_CLOSEFROM, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 509 = closefrom */ + { compat12(AS(freebsd12_closefrom_args),closefrom), AUE_CLOSEFROM, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 509 = freebsd12 closefrom */ { AS(__semctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 510 = __semctl */ { AS(msgctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 511 = msgctl */ { AS(shmctl_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 512 = shmctl */ Modified: head/sys/kern/syscalls.c ============================================================================== --- head/sys/kern/syscalls.c Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/kern/syscalls.c Tue Apr 14 18:11:26 2020 (r359931) @@ -515,7 +515,7 @@ const char *syscallnames[] = { "jail_get", /* 506 = jail_get */ "jail_set", /* 507 = jail_set */ "jail_remove", /* 508 = jail_remove */ - "closefrom", /* 509 = closefrom */ + "compat12.closefrom", /* 509 = freebsd12 closefrom */ "__semctl", /* 510 = __semctl */ "msgctl", /* 511 = msgctl */ "shmctl", /* 512 = shmctl */ Modified: head/sys/kern/systrace_args.c ============================================================================== --- head/sys/kern/systrace_args.c Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/kern/systrace_args.c Tue Apr 14 18:11:26 2020 (r359931) @@ -2795,13 +2795,6 @@ systrace_args(int sysnum, void *params, uint64_t *uarg *n_args = 1; break; } - /* closefrom */ - case 509: { - struct closefrom_args *p = params; - iarg[0] = p->lowfd; /* int */ - *n_args = 1; - break; - } /* __semctl */ case 510: { struct __semctl_args *p = params; @@ -7979,16 +7972,6 @@ systrace_entry_setargdesc(int sysnum, int ndx, char *d break; }; break; - /* closefrom */ - case 509: - switch(ndx) { - case 0: - p = "int"; - break; - default: - break; - }; - break; /* __semctl */ case 510: switch(ndx) { @@ -10641,11 +10624,6 @@ systrace_return_setargdesc(int sysnum, int ndx, char * break; /* jail_remove */ case 508: - if (ndx == 0 || ndx == 1) - p = "int"; - break; - /* closefrom */ - case 509: if (ndx == 0 || ndx == 1) p = "int"; break; Modified: head/sys/sys/syscall.h ============================================================================== --- head/sys/sys/syscall.h Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/sys/syscall.h Tue Apr 14 18:11:26 2020 (r359931) @@ -445,7 +445,7 @@ #define SYS_jail_get 506 #define SYS_jail_set 507 #define SYS_jail_remove 508 -#define SYS_closefrom 509 +#define SYS_freebsd12_closefrom 509 #define SYS___semctl 510 #define SYS_msgctl 511 #define SYS_shmctl 512 Modified: head/sys/sys/syscall.mk ============================================================================== --- head/sys/sys/syscall.mk Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/sys/syscall.mk Tue Apr 14 18:11:26 2020 (r359931) @@ -354,7 +354,7 @@ MIASM = \ jail_get.o \ jail_set.o \ jail_remove.o \ - closefrom.o \ + freebsd12_closefrom.o \ __semctl.o \ msgctl.o \ shmctl.o \ Modified: head/sys/sys/sysproto.h ============================================================================== --- head/sys/sys/sysproto.h Tue Apr 14 18:07:42 2020 (r359930) +++ head/sys/sys/sysproto.h Tue Apr 14 18:11:26 2020 (r359931) @@ -1505,9 +1505,6 @@ struct jail_set_args { struct jail_remove_args { char jid_l_[PADL_(int)]; int jid; char jid_r_[PADR_(int)]; }; -struct closefrom_args { - char lowfd_l_[PADL_(int)]; int lowfd; char lowfd_r_[PADR_(int)]; -}; struct __semctl_args { char semid_l_[PADL_(int)]; int semid; char semid_r_[PADR_(int)]; char semnum_l_[PADL_(int)]; int semnum; char semnum_r_[PADR_(int)]; @@ -2163,7 +2160,6 @@ int sys_gssd_syscall(struct thread *, struct gssd_sysc int sys_jail_get(struct thread *, struct jail_get_args *); int sys_jail_set(struct thread *, struct jail_set_args *); int sys_jail_remove(struct thread *, struct jail_remove_args *); -int sys_closefrom(struct thread *, struct closefrom_args *); int sys___semctl(struct thread *, struct __semctl_args *); int sys_msgctl(struct thread *, struct msgctl_args *); int sys_shmctl(struct thread *, struct shmctl_args *); @@ -2678,7 +2674,11 @@ struct freebsd12_shm_open_args { char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; char mode_l_[PADL_(mode_t)]; mode_t mode; char mode_r_[PADR_(mode_t)]; }; +struct freebsd12_closefrom_args { + char lowfd_l_[PADL_(int)]; int lowfd; char lowfd_r_[PADR_(int)]; +}; int freebsd12_shm_open(struct thread *, struct freebsd12_shm_open_args *); +int freebsd12_closefrom(struct thread *, struct freebsd12_closefrom_args *); #endif /* COMPAT_FREEBSD12 */ @@ -3089,7 +3089,7 @@ int freebsd12_shm_open(struct thread *, struct freebsd #define SYS_AUE_jail_get AUE_JAIL_GET #define SYS_AUE_jail_set AUE_JAIL_SET #define SYS_AUE_jail_remove AUE_JAIL_REMOVE -#define SYS_AUE_closefrom AUE_CLOSEFROM +#define SYS_AUE_freebsd12_closefrom AUE_CLOSEFROM #define SYS_AUE___semctl AUE_SEMCTL #define SYS_AUE_msgctl AUE_MSGCTL #define SYS_AUE_shmctl AUE_SHMCTL From owner-svn-src-head@freebsd.org Tue Apr 14 18:11:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 984662C63F7; Tue, 14 Apr 2020 18:11:55 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491tqH2yrxz4Xqh; Tue, 14 Apr 2020 18:11:55 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5012D9944; Tue, 14 Apr 2020 18:11:55 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EIBtYO081353; Tue, 14 Apr 2020 18:11:55 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EIBtEM081352; Tue, 14 Apr 2020 18:11:55 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004141811.03EIBtEM081352@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 14 Apr 2020 18:11:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359932 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 359932 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 18:11:55 -0000 Author: manu Date: Tue Apr 14 18:11:54 2020 New Revision: 359932 URL: https://svnweb.freebsd.org/changeset/base/359932 Log: files: Add mmc_fdt_helpers for mmccam enabled config MFC after: 1 month X-MFC-With: r359924 Modified: head/sys/conf/files Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Tue Apr 14 18:11:26 2020 (r359931) +++ head/sys/conf/files Tue Apr 14 18:11:54 2020 (r359932) @@ -2399,7 +2399,7 @@ dev/mmc/mmc.c optional mmc !mmccam dev/mmc/mmcbr_if.m standard dev/mmc/mmcbus_if.m standard dev/mmc/mmcsd.c optional mmcsd !mmccam -dev/mmc/mmc_fdt_helpers.c optional mmc fdt +dev/mmc/mmc_fdt_helpers.c optional mmc fdt | mmccam fdt dev/mmcnull/mmcnull.c optional mmcnull dev/mn/if_mn.c optional mn pci dev/mpr/mpr.c optional mpr From owner-svn-src-head@freebsd.org Tue Apr 14 18:57:03 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AD2132C6FBD; Tue, 14 Apr 2020 18:57:03 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491vqM3gMLz4ZpC; Tue, 14 Apr 2020 18:57:03 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 78B76A146; Tue, 14 Apr 2020 18:57:03 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EIv3wn012822; Tue, 14 Apr 2020 18:57:03 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EIv04S012801; Tue, 14 Apr 2020 18:57:00 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004141857.03EIv04S012801@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 14 Apr 2020 18:57:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359934 - in head/sys/gnu/dts: arm arm64/allwinner arm64/altera arm64/amlogic arm64/arm arm64/bitmain arm64/exynos arm64/freescale arm64/hisilicon arm64/intel arm64/marvell arm64/mediat... X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: in head/sys/gnu/dts: arm arm64/allwinner arm64/altera arm64/amlogic arm64/arm arm64/bitmain arm64/exynos arm64/freescale arm64/hisilicon arm64/intel arm64/marvell arm64/mediatek arm64/nvidia arm64/qco... X-SVN-Commit-Revision: 359934 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 18:57:03 -0000 Author: manu Date: Tue Apr 14 18:57:00 2020 New Revision: 359934 URL: https://svnweb.freebsd.org/changeset/base/359934 Log: dts: Import DTS from Linux 5.6 Added: head/sys/gnu/dts/arm/am3703.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/am3703.dtsi head/sys/gnu/dts/arm/am3715.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/am3715.dtsi head/sys/gnu/dts/arm/armada-385-clearfog-gtr-l8.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/armada-385-clearfog-gtr-l8.dts head/sys/gnu/dts/arm/armada-385-clearfog-gtr-s4.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/armada-385-clearfog-gtr-s4.dts head/sys/gnu/dts/arm/armada-385-clearfog-gtr.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/armada-385-clearfog-gtr.dtsi head/sys/gnu/dts/arm/at91-kizboxmini-base.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/at91-kizboxmini-base.dts head/sys/gnu/dts/arm/at91-kizboxmini-common.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/at91-kizboxmini-common.dtsi head/sys/gnu/dts/arm/at91-kizboxmini-mb.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/at91-kizboxmini-mb.dts head/sys/gnu/dts/arm/at91-kizboxmini-rd.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/at91-kizboxmini-rd.dts head/sys/gnu/dts/arm/at91-sam9x60ek.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/at91-sam9x60ek.dts head/sys/gnu/dts/arm/at91-sama5d27_wlsom1.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/at91-sama5d27_wlsom1.dtsi head/sys/gnu/dts/arm/at91-sama5d27_wlsom1_ek.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/at91-sama5d27_wlsom1_ek.dts head/sys/gnu/dts/arm/at91-smartkiz.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/at91-smartkiz.dts head/sys/gnu/dts/arm/dm3725.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/dm3725.dtsi head/sys/gnu/dts/arm/imx6dl-gw5907.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6dl-gw5907.dts head/sys/gnu/dts/arm/imx6dl-gw5910.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6dl-gw5910.dts head/sys/gnu/dts/arm/imx6dl-gw5912.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6dl-gw5912.dts head/sys/gnu/dts/arm/imx6dl-gw5913.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6dl-gw5913.dts head/sys/gnu/dts/arm/imx6q-gw5907.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6q-gw5907.dts head/sys/gnu/dts/arm/imx6q-gw5910.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6q-gw5910.dts head/sys/gnu/dts/arm/imx6q-gw5912.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6q-gw5912.dts head/sys/gnu/dts/arm/imx6q-gw5913.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6q-gw5913.dts head/sys/gnu/dts/arm/imx6qdl-gw5907.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6qdl-gw5907.dtsi head/sys/gnu/dts/arm/imx6qdl-gw5910.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6qdl-gw5910.dtsi head/sys/gnu/dts/arm/imx6qdl-gw5912.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6qdl-gw5912.dtsi head/sys/gnu/dts/arm/imx6qdl-gw5913.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6qdl-gw5913.dtsi head/sys/gnu/dts/arm/imx6sl-tolino-shine3.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx6sl-tolino-shine3.dts head/sys/gnu/dts/arm/imx7ulp-com.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/imx7ulp-com.dts head/sys/gnu/dts/arm/omap3-echo.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/omap3-echo.dts head/sys/gnu/dts/arm/rk3288-veyron-broadcom-bluetooth.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/rk3288-veyron-broadcom-bluetooth.dtsi head/sys/gnu/dts/arm/rockchip-radxa-dalang-carrier.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/rockchip-radxa-dalang-carrier.dtsi head/sys/gnu/dts/arm/sam9x60.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/sam9x60.dtsi head/sys/gnu/dts/arm/ste-ab8505.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/ste-ab8505.dtsi head/sys/gnu/dts/arm/ste-db8500.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/ste-db8500.dtsi head/sys/gnu/dts/arm/ste-db8520.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/ste-db8520.dtsi head/sys/gnu/dts/arm/ste-dbx5x0-pinctrl.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/ste-dbx5x0-pinctrl.dtsi head/sys/gnu/dts/arm/ste-href-tvk1281618-r2.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/ste-href-tvk1281618-r2.dtsi head/sys/gnu/dts/arm/ste-href-tvk1281618-r3.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/ste-href-tvk1281618-r3.dtsi head/sys/gnu/dts/arm/ste-href520-tvk.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/ste-href520-tvk.dts head/sys/gnu/dts/arm/ste-ux500-samsung-golden.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/ste-ux500-samsung-golden.dts head/sys/gnu/dts/arm/stm32mp15-pinctrl.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp15-pinctrl.dtsi head/sys/gnu/dts/arm/stm32mp151.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp151.dtsi head/sys/gnu/dts/arm/stm32mp153.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp153.dtsi head/sys/gnu/dts/arm/stm32mp157.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp157.dtsi head/sys/gnu/dts/arm/stm32mp15xc.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp15xc.dtsi head/sys/gnu/dts/arm/stm32mp15xx-dkx.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp15xx-dkx.dtsi head/sys/gnu/dts/arm/stm32mp15xxaa-pinctrl.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp15xxaa-pinctrl.dtsi head/sys/gnu/dts/arm/stm32mp15xxab-pinctrl.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp15xxab-pinctrl.dtsi head/sys/gnu/dts/arm/stm32mp15xxac-pinctrl.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp15xxac-pinctrl.dtsi head/sys/gnu/dts/arm/stm32mp15xxad-pinctrl.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/stm32mp15xxad-pinctrl.dtsi head/sys/gnu/dts/arm/sun8i-h3-emlid-neutis-n5h3-devboard.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm/sun8i-h3-emlid-neutis-n5h3-devboard.dts head/sys/gnu/dts/arm/sun8i-h3-emlid-neutis-n5h3.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/sun8i-h3-emlid-neutis-n5h3.dtsi head/sys/gnu/dts/arm/sunxi-h3-h5-emlid-neutis.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/sunxi-h3-h5-emlid-neutis.dtsi head/sys/gnu/dts/arm/sunxi-libretech-all-h3-it.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm/sunxi-libretech-all-h3-it.dtsi head/sys/gnu/dts/arm64/allwinner/sun50i-a64-cpu-opp.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/allwinner/sun50i-a64-cpu-opp.dtsi head/sys/gnu/dts/arm64/allwinner/sun50i-h5-libretech-all-h3-it.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/allwinner/sun50i-h5-libretech-all-h3-it.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h5-libretech-all-h5-cc.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/allwinner/sun50i-h5-libretech-all-h5-cc.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h6-pine-h64-model-b.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/allwinner/sun50i-h6-pine-h64-model-b.dts head/sys/gnu/dts/arm64/altera/socfpga_stratix10_socdk_nand.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/altera/socfpga_stratix10_socdk_nand.dts head/sys/gnu/dts/arm64/amlogic/meson-gx-libretech-pc.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/amlogic/meson-gx-libretech-pc.dtsi head/sys/gnu/dts/arm64/amlogic/meson-gxbb-kii-pro.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/amlogic/meson-gxbb-kii-pro.dts head/sys/gnu/dts/arm64/amlogic/meson-gxl-s905d-libretech-pc.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/amlogic/meson-gxl-s905d-libretech-pc.dts head/sys/gnu/dts/arm64/amlogic/meson-gxm-s912-libretech-pc.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/amlogic/meson-gxm-s912-libretech-pc.dts head/sys/gnu/dts/arm64/freescale/fsl-lx2160a-cex7.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/freescale/fsl-lx2160a-cex7.dtsi head/sys/gnu/dts/arm64/freescale/fsl-lx2160a-clearfog-cx.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/freescale/fsl-lx2160a-clearfog-cx.dts head/sys/gnu/dts/arm64/freescale/fsl-lx2160a-clearfog-itx.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/freescale/fsl-lx2160a-clearfog-itx.dtsi head/sys/gnu/dts/arm64/freescale/fsl-lx2160a-honeycomb.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/freescale/fsl-lx2160a-honeycomb.dts head/sys/gnu/dts/arm64/freescale/imx8mq-phanbell.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/freescale/imx8mq-phanbell.dts head/sys/gnu/dts/arm64/freescale/imx8mq-thor96.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/freescale/imx8mq-thor96.dts head/sys/gnu/dts/arm64/intel/socfpga_agilex_socdk_nand.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/intel/socfpga_agilex_socdk_nand.dts head/sys/gnu/dts/arm64/qcom/apq8096-ifc6640.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/qcom/apq8096-ifc6640.dts head/sys/gnu/dts/arm64/qcom/pm6150.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/qcom/pm6150.dtsi head/sys/gnu/dts/arm64/qcom/pm6150l.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/qcom/pm6150l.dtsi head/sys/gnu/dts/arm64/qcom/sc7180-idp.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/qcom/sc7180-idp.dts head/sys/gnu/dts/arm64/qcom/sc7180.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/qcom/sc7180.dtsi head/sys/gnu/dts/arm64/renesas/r8a774c0-ek874-idk-2121wr.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a774c0-ek874-idk-2121wr.dts head/sys/gnu/dts/arm64/renesas/r8a77950-salvator-x.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77950-salvator-x.dts head/sys/gnu/dts/arm64/renesas/r8a77950-ulcb-kf.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77950-ulcb-kf.dts head/sys/gnu/dts/arm64/renesas/r8a77950-ulcb.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77950-ulcb.dts head/sys/gnu/dts/arm64/renesas/r8a77950.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77950.dtsi head/sys/gnu/dts/arm64/renesas/r8a77951-salvator-x.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77951-salvator-x.dts head/sys/gnu/dts/arm64/renesas/r8a77951-salvator-xs.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77951-salvator-xs.dts head/sys/gnu/dts/arm64/renesas/r8a77951-ulcb-kf.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77951-ulcb-kf.dts head/sys/gnu/dts/arm64/renesas/r8a77951-ulcb.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77951-ulcb.dts head/sys/gnu/dts/arm64/renesas/r8a77951.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77951.dtsi head/sys/gnu/dts/arm64/renesas/r8a77960-salvator-x.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77960-salvator-x.dts head/sys/gnu/dts/arm64/renesas/r8a77960-salvator-xs.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77960-salvator-xs.dts head/sys/gnu/dts/arm64/renesas/r8a77960-ulcb-kf.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77960-ulcb-kf.dts head/sys/gnu/dts/arm64/renesas/r8a77960-ulcb.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77960-ulcb.dts head/sys/gnu/dts/arm64/renesas/r8a77960.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77960.dtsi head/sys/gnu/dts/arm64/renesas/r8a77965-ulcb-kf.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77965-ulcb-kf.dts head/sys/gnu/dts/arm64/renesas/r8a77965-ulcb.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/renesas/r8a77965-ulcb.dts head/sys/gnu/dts/arm64/rockchip/rk3399-rockpro64-v2.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/rockchip/rk3399-rockpro64-v2.dts head/sys/gnu/dts/arm64/rockchip/rk3399-rockpro64.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/rockchip/rk3399-rockpro64.dtsi head/sys/gnu/dts/arm64/rockchip/rk3399pro-rock-pi-n10.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/rockchip/rk3399pro-rock-pi-n10.dts head/sys/gnu/dts/arm64/rockchip/rk3399pro-vmarc-som.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/rockchip/rk3399pro-vmarc-som.dtsi head/sys/gnu/dts/arm64/sprd/sc9863a.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/sprd/sc9863a.dtsi head/sys/gnu/dts/arm64/sprd/sharkl3.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/sprd/sharkl3.dtsi head/sys/gnu/dts/arm64/sprd/sp9863a-1h10.dts - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/sprd/sp9863a-1h10.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-clk-ccf.dtsi - copied unchanged from r359928, vendor/device-tree/dist/src/arm64/xilinx/zynqmp-clk-ccf.dtsi head/sys/gnu/dts/include/dt-bindings/clock/imx8mp-clock.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/clock/imx8mp-clock.h head/sys/gnu/dts/include/dt-bindings/clock/meson8-ddr-clkc.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/clock/meson8-ddr-clkc.h head/sys/gnu/dts/include/dt-bindings/clock/qcom,dispcc-sc7180.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/clock/qcom,dispcc-sc7180.h head/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-ipq6018.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/clock/qcom,gcc-ipq6018.h head/sys/gnu/dts/include/dt-bindings/clock/qcom,gpucc-sc7180.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/clock/qcom,gpucc-sc7180.h head/sys/gnu/dts/include/dt-bindings/clock/qcom,mmcc-msm8998.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/clock/qcom,mmcc-msm8998.h head/sys/gnu/dts/include/dt-bindings/clock/qcom,videocc-sc7180.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/clock/qcom,videocc-sc7180.h head/sys/gnu/dts/include/dt-bindings/clock/ti-dra7-atl.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/clock/ti-dra7-atl.h head/sys/gnu/dts/include/dt-bindings/clock/xlnx-versal-clk.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/clock/xlnx-versal-clk.h head/sys/gnu/dts/include/dt-bindings/dma/x1830-dma.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/dma/x1830-dma.h head/sys/gnu/dts/include/dt-bindings/interconnect/qcom,msm8916.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/interconnect/qcom,msm8916.h head/sys/gnu/dts/include/dt-bindings/interrupt-controller/aspeed-scu-ic.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/interrupt-controller/aspeed-scu-ic.h head/sys/gnu/dts/include/dt-bindings/memory/tegra194-mc.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/memory/tegra194-mc.h head/sys/gnu/dts/include/dt-bindings/power/mt6765-power.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/power/mt6765-power.h head/sys/gnu/dts/include/dt-bindings/reset-controller/mt2712-resets.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/reset-controller/mt2712-resets.h head/sys/gnu/dts/include/dt-bindings/reset/nuvoton,npcm7xx-reset.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/reset/nuvoton,npcm7xx-reset.h head/sys/gnu/dts/include/dt-bindings/reset/qcom,gcc-ipq6018.h - copied unchanged from r359928, vendor/device-tree/dist/include/dt-bindings/reset/qcom,gcc-ipq6018.h Deleted: head/sys/gnu/dts/arm/at91-kizboxmini.dts head/sys/gnu/dts/arm/ste-href-ab8505.dtsi head/sys/gnu/dts/arm/stm32mp157-pinctrl.dtsi head/sys/gnu/dts/arm/stm32mp157c.dtsi head/sys/gnu/dts/arm/stm32mp157xaa-pinctrl.dtsi head/sys/gnu/dts/arm/stm32mp157xab-pinctrl.dtsi head/sys/gnu/dts/arm/stm32mp157xac-pinctrl.dtsi head/sys/gnu/dts/arm/stm32mp157xad-pinctrl.dtsi head/sys/gnu/dts/arm64/qcom/apq8096-db820c-pins.dtsi head/sys/gnu/dts/arm64/qcom/apq8096-db820c-pmic-pins.dtsi head/sys/gnu/dts/arm64/renesas/r8a7795-es1-h3ulcb-kf.dts head/sys/gnu/dts/arm64/renesas/r8a7795-es1-h3ulcb.dts head/sys/gnu/dts/arm64/renesas/r8a7795-es1-salvator-x.dts head/sys/gnu/dts/arm64/renesas/r8a7795-es1.dtsi head/sys/gnu/dts/arm64/renesas/r8a7795-h3ulcb-kf.dts head/sys/gnu/dts/arm64/renesas/r8a7795-h3ulcb.dts head/sys/gnu/dts/arm64/renesas/r8a7795-salvator-x.dts head/sys/gnu/dts/arm64/renesas/r8a7795-salvator-xs.dts head/sys/gnu/dts/arm64/renesas/r8a7795.dtsi head/sys/gnu/dts/arm64/renesas/r8a7796-m3ulcb-kf.dts head/sys/gnu/dts/arm64/renesas/r8a7796-m3ulcb.dts head/sys/gnu/dts/arm64/renesas/r8a7796-salvator-x.dts head/sys/gnu/dts/arm64/renesas/r8a7796-salvator-xs.dts head/sys/gnu/dts/arm64/renesas/r8a7796.dtsi head/sys/gnu/dts/arm64/renesas/r8a77965-m3nulcb-kf.dts head/sys/gnu/dts/arm64/renesas/r8a77965-m3nulcb.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-clk.dtsi head/sys/gnu/dts/include/dt-bindings/clk/ti-dra7-atl.h Modified: head/sys/gnu/dts/arm/am335x-evm.dts head/sys/gnu/dts/arm/am335x-evmsk.dts head/sys/gnu/dts/arm/am335x-icev2.dts head/sys/gnu/dts/arm/am33xx-l4.dtsi head/sys/gnu/dts/arm/am33xx.dtsi head/sys/gnu/dts/arm/am3517.dtsi head/sys/gnu/dts/arm/am4372.dtsi head/sys/gnu/dts/arm/am437x-idk-evm.dts head/sys/gnu/dts/arm/am437x-l4.dtsi head/sys/gnu/dts/arm/am437x-sk-evm.dts head/sys/gnu/dts/arm/am43x-epos-evm.dts head/sys/gnu/dts/arm/am43xx-clocks.dtsi head/sys/gnu/dts/arm/am57xx-idk-common.dtsi head/sys/gnu/dts/arm/armada-388-clearfog.dtsi head/sys/gnu/dts/arm/armada-388-helios4.dts head/sys/gnu/dts/arm/armada-38x-solidrun-microsom.dtsi head/sys/gnu/dts/arm/aspeed-bmc-facebook-wedge100.dts head/sys/gnu/dts/arm/aspeed-bmc-facebook-wedge40.dts head/sys/gnu/dts/arm/aspeed-bmc-facebook-yamp.dts head/sys/gnu/dts/arm/aspeed-bmc-ibm-rainier.dts head/sys/gnu/dts/arm/aspeed-bmc-inspur-fp5280g2.dts head/sys/gnu/dts/arm/aspeed-bmc-opp-swift.dts head/sys/gnu/dts/arm/aspeed-bmc-opp-vesnin.dts head/sys/gnu/dts/arm/aspeed-bmc-opp-witherspoon.dts head/sys/gnu/dts/arm/aspeed-g4.dtsi head/sys/gnu/dts/arm/aspeed-g5.dtsi head/sys/gnu/dts/arm/aspeed-g6.dtsi head/sys/gnu/dts/arm/ast2500-facebook-netbmc-common.dtsi head/sys/gnu/dts/arm/at91-kizbox.dts head/sys/gnu/dts/arm/at91-nattis-2-natte-2.dts head/sys/gnu/dts/arm/at91-sama5d27_som1.dtsi head/sys/gnu/dts/arm/at91-sama5d27_som1_ek.dts head/sys/gnu/dts/arm/at91sam9260.dtsi head/sys/gnu/dts/arm/at91sam9261.dtsi head/sys/gnu/dts/arm/at91sam9263.dtsi head/sys/gnu/dts/arm/at91sam9g45.dtsi head/sys/gnu/dts/arm/at91sam9rl.dtsi head/sys/gnu/dts/arm/bcm2711-rpi-4-b.dts head/sys/gnu/dts/arm/bcm2711.dtsi head/sys/gnu/dts/arm/bcm2835-common.dtsi head/sys/gnu/dts/arm/bcm2835-rpi-zero-w.dts head/sys/gnu/dts/arm/bcm2835-rpi.dtsi head/sys/gnu/dts/arm/bcm2837-rpi-3-a-plus.dts head/sys/gnu/dts/arm/bcm2837-rpi-3-b-plus.dts head/sys/gnu/dts/arm/bcm283x.dtsi head/sys/gnu/dts/arm/bcm958625hr.dts head/sys/gnu/dts/arm/dm8148-evm.dts head/sys/gnu/dts/arm/dm8148-t410.dts head/sys/gnu/dts/arm/dra62x-j5eco-evm.dts head/sys/gnu/dts/arm/dra7-evm-common.dtsi head/sys/gnu/dts/arm/dra7-evm.dts head/sys/gnu/dts/arm/dra7-l4.dtsi head/sys/gnu/dts/arm/dra7.dtsi head/sys/gnu/dts/arm/dra72-evm-common.dtsi head/sys/gnu/dts/arm/dra72x.dtsi head/sys/gnu/dts/arm/dra74x.dtsi head/sys/gnu/dts/arm/dra76-evm.dts head/sys/gnu/dts/arm/dra76x.dtsi head/sys/gnu/dts/arm/dra7xx-clocks.dtsi head/sys/gnu/dts/arm/e60k02.dtsi head/sys/gnu/dts/arm/exynos3250.dtsi head/sys/gnu/dts/arm/exynos4210-universal_c210.dts head/sys/gnu/dts/arm/exynos4210.dtsi head/sys/gnu/dts/arm/exynos4412-galaxy-s3.dtsi head/sys/gnu/dts/arm/exynos4412-midas.dtsi head/sys/gnu/dts/arm/exynos4412-n710x.dts head/sys/gnu/dts/arm/exynos4412-odroid-common.dtsi head/sys/gnu/dts/arm/exynos4412-tiny4412.dts head/sys/gnu/dts/arm/exynos4412.dtsi head/sys/gnu/dts/arm/exynos5.dtsi head/sys/gnu/dts/arm/exynos5250-arndale.dts head/sys/gnu/dts/arm/exynos5250-smdk5250.dts head/sys/gnu/dts/arm/exynos5250.dtsi head/sys/gnu/dts/arm/exynos5260-xyref5260.dts head/sys/gnu/dts/arm/exynos5260.dtsi head/sys/gnu/dts/arm/exynos5410-odroidxu.dts head/sys/gnu/dts/arm/exynos5410-smdk5410.dts head/sys/gnu/dts/arm/exynos5410.dtsi head/sys/gnu/dts/arm/exynos5420-arndale-octa.dts head/sys/gnu/dts/arm/exynos5420-cpus.dtsi head/sys/gnu/dts/arm/exynos5420-smdk5420.dts head/sys/gnu/dts/arm/exynos5420.dtsi head/sys/gnu/dts/arm/exynos5422-cpus.dtsi head/sys/gnu/dts/arm/exynos5422-odroid-core.dtsi head/sys/gnu/dts/arm/exynos5422-odroidhc1.dts head/sys/gnu/dts/arm/exynos5422-odroidxu3-common.dtsi head/sys/gnu/dts/arm/exynos5422-odroidxu3-lite.dts head/sys/gnu/dts/arm/exynos54xx.dtsi head/sys/gnu/dts/arm/exynos5800-peach-pi.dts head/sys/gnu/dts/arm/exynos5800.dtsi head/sys/gnu/dts/arm/ibm-power9-dual.dtsi head/sys/gnu/dts/arm/imx25-eukrea-mbimxsd25-baseboard.dts head/sys/gnu/dts/arm/imx25-pdk.dts head/sys/gnu/dts/arm/imx25.dtsi head/sys/gnu/dts/arm/imx51-babbage.dts head/sys/gnu/dts/arm/imx6dl-colibri-eval-v3.dts head/sys/gnu/dts/arm/imx6q-logicpd.dts head/sys/gnu/dts/arm/imx6qdl-apalis.dtsi head/sys/gnu/dts/arm/imx6qdl-icore-1.5.dtsi head/sys/gnu/dts/arm/imx6qdl-icore.dtsi head/sys/gnu/dts/arm/imx6qdl-phytec-phycore-som.dtsi head/sys/gnu/dts/arm/imx6qdl-zii-rdu2.dtsi head/sys/gnu/dts/arm/imx6sll.dtsi head/sys/gnu/dts/arm/imx6sx-sdb-reva.dts head/sys/gnu/dts/arm/imx6ul-14x14-evk.dtsi head/sys/gnu/dts/arm/imx6ull-colibri.dtsi head/sys/gnu/dts/arm/imx7-colibri.dtsi head/sys/gnu/dts/arm/imx7d-pico.dtsi head/sys/gnu/dts/arm/imx7d-sdb-reva.dts head/sys/gnu/dts/arm/imx7d.dtsi head/sys/gnu/dts/arm/imx7s.dtsi head/sys/gnu/dts/arm/iwg20d-q7-common.dtsi head/sys/gnu/dts/arm/iwg20d-q7-dbcm-ca.dtsi head/sys/gnu/dts/arm/ls1021a-tsn.dts head/sys/gnu/dts/arm/ls1021a.dtsi head/sys/gnu/dts/arm/meson.dtsi head/sys/gnu/dts/arm/meson6.dtsi head/sys/gnu/dts/arm/meson8.dtsi head/sys/gnu/dts/arm/meson8b-ec100.dts head/sys/gnu/dts/arm/meson8b-mxq.dts head/sys/gnu/dts/arm/meson8b-odroidc1.dts head/sys/gnu/dts/arm/meson8b.dtsi head/sys/gnu/dts/arm/mmp3-dell-ariel.dts head/sys/gnu/dts/arm/mmp3.dtsi head/sys/gnu/dts/arm/motorola-cpcap-mapphone.dtsi head/sys/gnu/dts/arm/motorola-mapphone-common.dtsi head/sys/gnu/dts/arm/omap2.dtsi head/sys/gnu/dts/arm/omap2430.dtsi head/sys/gnu/dts/arm/omap3-n900.dts head/sys/gnu/dts/arm/omap3.dtsi head/sys/gnu/dts/arm/omap36xx.dtsi head/sys/gnu/dts/arm/omap4-l4-abe.dtsi head/sys/gnu/dts/arm/omap4-l4.dtsi head/sys/gnu/dts/arm/omap4.dtsi head/sys/gnu/dts/arm/omap44xx-clocks.dtsi head/sys/gnu/dts/arm/omap5-l4-abe.dtsi head/sys/gnu/dts/arm/omap5-l4.dtsi head/sys/gnu/dts/arm/omap5.dtsi head/sys/gnu/dts/arm/omap54xx-clocks.dtsi head/sys/gnu/dts/arm/ox810se.dtsi head/sys/gnu/dts/arm/ox820.dtsi head/sys/gnu/dts/arm/qcom-apq8084.dtsi head/sys/gnu/dts/arm/qcom-ipq4019.dtsi head/sys/gnu/dts/arm/qcom-mdm9615-wp8548-mangoh-green.dts head/sys/gnu/dts/arm/qcom-msm8974-fairphone-fp2.dts head/sys/gnu/dts/arm/qcom-msm8974.dtsi head/sys/gnu/dts/arm/r7s72100.dtsi head/sys/gnu/dts/arm/r8a73a4.dtsi head/sys/gnu/dts/arm/r8a7740-armadillo800eva.dts head/sys/gnu/dts/arm/r8a7740.dtsi head/sys/gnu/dts/arm/r8a7743.dtsi head/sys/gnu/dts/arm/r8a7744.dtsi head/sys/gnu/dts/arm/r8a7745-iwg22d-sodimm.dts head/sys/gnu/dts/arm/r8a7745.dtsi head/sys/gnu/dts/arm/r8a77470-iwg23s-sbc.dts head/sys/gnu/dts/arm/r8a77470.dtsi head/sys/gnu/dts/arm/r8a7778.dtsi head/sys/gnu/dts/arm/r8a7779-marzen.dts head/sys/gnu/dts/arm/r8a7779.dtsi head/sys/gnu/dts/arm/r8a7790-lager.dts head/sys/gnu/dts/arm/r8a7790.dtsi head/sys/gnu/dts/arm/r8a7791-koelsch.dts head/sys/gnu/dts/arm/r8a7791-porter.dts head/sys/gnu/dts/arm/r8a7791.dtsi head/sys/gnu/dts/arm/r8a7792.dtsi head/sys/gnu/dts/arm/r8a7793-gose.dts head/sys/gnu/dts/arm/r8a7793.dtsi head/sys/gnu/dts/arm/r8a7794-alt.dts head/sys/gnu/dts/arm/r8a7794-silk.dts head/sys/gnu/dts/arm/r8a7794.dtsi head/sys/gnu/dts/arm/rk3036.dtsi head/sys/gnu/dts/arm/rk3188-bqedison2qc.dts head/sys/gnu/dts/arm/rk322x.dtsi head/sys/gnu/dts/arm/rk3288-evb.dtsi head/sys/gnu/dts/arm/rk3288-tinker.dtsi head/sys/gnu/dts/arm/rk3288-veyron-brain.dts head/sys/gnu/dts/arm/rk3288-veyron-chromebook.dtsi head/sys/gnu/dts/arm/rk3288-veyron-edp.dtsi head/sys/gnu/dts/arm/rk3288-veyron-fievel.dts head/sys/gnu/dts/arm/rk3288-veyron-jaq.dts head/sys/gnu/dts/arm/rk3288-veyron-jerry.dts head/sys/gnu/dts/arm/rk3288-veyron-mickey.dts head/sys/gnu/dts/arm/rk3288-veyron-minnie.dts head/sys/gnu/dts/arm/rk3288-veyron-pinky.dts head/sys/gnu/dts/arm/rk3288-veyron-speedy.dts head/sys/gnu/dts/arm/rk3288-veyron-tiger.dts head/sys/gnu/dts/arm/rk3288-veyron.dtsi head/sys/gnu/dts/arm/rk3288.dtsi head/sys/gnu/dts/arm/rk3xxx.dtsi head/sys/gnu/dts/arm/rv1108.dtsi head/sys/gnu/dts/arm/s3c2416-smdk2416.dts head/sys/gnu/dts/arm/s3c6410-smdk6410.dts head/sys/gnu/dts/arm/sama5d2.dtsi head/sys/gnu/dts/arm/sama5d3.dtsi head/sys/gnu/dts/arm/sama5d3_can.dtsi head/sys/gnu/dts/arm/sama5d3_tcb1.dtsi head/sys/gnu/dts/arm/sama5d3_uart.dtsi head/sys/gnu/dts/arm/sh73a0.dtsi head/sys/gnu/dts/arm/ste-ab8500.dtsi head/sys/gnu/dts/arm/ste-dbx5x0.dtsi head/sys/gnu/dts/arm/ste-href-family-pinctrl.dtsi head/sys/gnu/dts/arm/ste-href-tvk1281618.dtsi head/sys/gnu/dts/arm/ste-href.dtsi head/sys/gnu/dts/arm/ste-hrefprev60-stuib.dts head/sys/gnu/dts/arm/ste-hrefprev60-tvk.dts head/sys/gnu/dts/arm/ste-hrefprev60.dtsi head/sys/gnu/dts/arm/ste-hrefv60plus-stuib.dts head/sys/gnu/dts/arm/ste-hrefv60plus-tvk.dts head/sys/gnu/dts/arm/ste-hrefv60plus.dtsi head/sys/gnu/dts/arm/ste-nomadik-pinctrl.dtsi head/sys/gnu/dts/arm/ste-snowball.dts head/sys/gnu/dts/arm/stih410-b2260.dts head/sys/gnu/dts/arm/stihxxx-b2120.dtsi head/sys/gnu/dts/arm/stm32429i-eval.dts head/sys/gnu/dts/arm/stm32f4-pinctrl.dtsi head/sys/gnu/dts/arm/stm32f429.dtsi head/sys/gnu/dts/arm/stm32f469-disco.dts head/sys/gnu/dts/arm/stm32f7-pinctrl.dtsi head/sys/gnu/dts/arm/stm32f746.dtsi head/sys/gnu/dts/arm/stm32h743.dtsi head/sys/gnu/dts/arm/stm32mp157a-avenger96.dts head/sys/gnu/dts/arm/stm32mp157a-dk1.dts head/sys/gnu/dts/arm/stm32mp157c-dk2.dts head/sys/gnu/dts/arm/stm32mp157c-ed1.dts head/sys/gnu/dts/arm/stm32mp157c-ev1.dts head/sys/gnu/dts/arm/sun4i-a10.dtsi head/sys/gnu/dts/arm/sun5i.dtsi head/sys/gnu/dts/arm/sun6i-a31.dtsi head/sys/gnu/dts/arm/sun7i-a20.dtsi head/sys/gnu/dts/arm/sun8i-a23-a33.dtsi head/sys/gnu/dts/arm/sun8i-a33.dtsi head/sys/gnu/dts/arm/sun8i-a83t-tbs-a711.dts head/sys/gnu/dts/arm/sun8i-a83t.dtsi head/sys/gnu/dts/arm/sun8i-h3-beelink-x2.dts head/sys/gnu/dts/arm/sun8i-h3-nanopi-duo2.dts head/sys/gnu/dts/arm/sun8i-h3.dtsi head/sys/gnu/dts/arm/sun8i-r40.dtsi head/sys/gnu/dts/arm/sun8i-v3s.dtsi head/sys/gnu/dts/arm/sun9i-a80.dtsi head/sys/gnu/dts/arm/sunxi-h3-h5.dtsi head/sys/gnu/dts/arm/tegra124-apalis-emc.dtsi head/sys/gnu/dts/arm/tegra124-jetson-tk1-emc.dtsi head/sys/gnu/dts/arm/tegra124-nyan-big-emc.dtsi head/sys/gnu/dts/arm/tegra124-nyan-blaze-emc.dtsi head/sys/gnu/dts/arm/tegra124.dtsi head/sys/gnu/dts/arm/tegra20-paz00.dts head/sys/gnu/dts/arm/uniphier-ld4.dtsi head/sys/gnu/dts/arm/uniphier-pinctrl.dtsi head/sys/gnu/dts/arm/uniphier-pro4.dtsi head/sys/gnu/dts/arm/uniphier-pro5.dtsi head/sys/gnu/dts/arm/uniphier-pxs2.dtsi head/sys/gnu/dts/arm/uniphier-sld8.dtsi head/sys/gnu/dts/arm/vf610-zii-dev-rev-b.dts head/sys/gnu/dts/arm/vf610-zii-scu4-aib.dts head/sys/gnu/dts/arm/zynq-7000.dtsi head/sys/gnu/dts/arm64/allwinner/axp803.dtsi head/sys/gnu/dts/arm64/allwinner/sun50i-a64-amarula-relic.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-bananapi-m64.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-nanopi-a64.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-oceanic-5205-5inmfd.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-olinuxino-emmc.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-olinuxino.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-orangepi-win.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-pine64-lts.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-pine64-plus.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-pine64.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-pinebook.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-sopine-baseboard.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64-sopine.dtsi head/sys/gnu/dts/arm64/allwinner/sun50i-a64-teres-i.dts head/sys/gnu/dts/arm64/allwinner/sun50i-a64.dtsi head/sys/gnu/dts/arm64/allwinner/sun50i-h5-emlid-neutis-n5-devboard.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h5-emlid-neutis-n5.dtsi head/sys/gnu/dts/arm64/allwinner/sun50i-h5-libretech-all-h3-cc.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h5-nanopi-neo-plus2.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h5-nanopi-neo2.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h5-orangepi-pc2.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h5-orangepi-prime.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h5-orangepi-zero-plus.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h5-orangepi-zero-plus2.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h5.dtsi head/sys/gnu/dts/arm64/allwinner/sun50i-h6-beelink-gs1.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h6-orangepi-3.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h6-orangepi-lite2.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h6-orangepi-one-plus.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h6-orangepi.dtsi head/sys/gnu/dts/arm64/allwinner/sun50i-h6-pine-h64.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h6-tanix-tx6.dts head/sys/gnu/dts/arm64/allwinner/sun50i-h6.dtsi head/sys/gnu/dts/arm64/amlogic/meson-a1.dtsi head/sys/gnu/dts/arm64/amlogic/meson-axg.dtsi head/sys/gnu/dts/arm64/amlogic/meson-g12-common.dtsi head/sys/gnu/dts/arm64/amlogic/meson-g12.dtsi head/sys/gnu/dts/arm64/amlogic/meson-gxl.dtsi head/sys/gnu/dts/arm64/amlogic/meson-gxm-khadas-vim2.dts head/sys/gnu/dts/arm64/amlogic/meson-sm1-sei610.dts head/sys/gnu/dts/arm64/amlogic/meson-sm1.dtsi head/sys/gnu/dts/arm64/arm/fvp-base-revc.dts head/sys/gnu/dts/arm64/bitmain/bm1880-sophon-edge.dts head/sys/gnu/dts/arm64/bitmain/bm1880.dtsi head/sys/gnu/dts/arm64/exynos/exynos5433-tm2-common.dtsi head/sys/gnu/dts/arm64/exynos/exynos5433-tm2.dts head/sys/gnu/dts/arm64/exynos/exynos5433-tm2e.dts head/sys/gnu/dts/arm64/exynos/exynos7-espresso.dts head/sys/gnu/dts/arm64/exynos/exynos7.dtsi head/sys/gnu/dts/arm64/freescale/fsl-ls1028a-qds.dts head/sys/gnu/dts/arm64/freescale/fsl-ls1028a-rdb.dts head/sys/gnu/dts/arm64/freescale/fsl-ls1028a.dtsi head/sys/gnu/dts/arm64/freescale/fsl-ls1043-post.dtsi head/sys/gnu/dts/arm64/freescale/fsl-ls1043a-rdb.dts head/sys/gnu/dts/arm64/freescale/fsl-ls1046a-frwy.dts head/sys/gnu/dts/arm64/freescale/fsl-ls1046a-rdb.dts head/sys/gnu/dts/arm64/freescale/fsl-ls1088a-qds.dts head/sys/gnu/dts/arm64/freescale/fsl-ls1088a-rdb.dts head/sys/gnu/dts/arm64/freescale/fsl-ls1088a.dtsi head/sys/gnu/dts/arm64/freescale/fsl-ls208xa-rdb.dtsi head/sys/gnu/dts/arm64/freescale/fsl-ls208xa.dtsi head/sys/gnu/dts/arm64/freescale/fsl-lx2160a-rdb.dts head/sys/gnu/dts/arm64/freescale/fsl-lx2160a.dtsi head/sys/gnu/dts/arm64/freescale/imx8mm-evk.dts head/sys/gnu/dts/arm64/freescale/imx8mm-pinfunc.h head/sys/gnu/dts/arm64/freescale/imx8mm.dtsi head/sys/gnu/dts/arm64/freescale/imx8mn-ddr4-evk.dts head/sys/gnu/dts/arm64/freescale/imx8mn-evk.dtsi head/sys/gnu/dts/arm64/freescale/imx8mn.dtsi head/sys/gnu/dts/arm64/freescale/imx8mq-evk.dts head/sys/gnu/dts/arm64/freescale/imx8mq-hummingboard-pulse.dts head/sys/gnu/dts/arm64/freescale/imx8mq-librem5-devkit.dts head/sys/gnu/dts/arm64/freescale/imx8mq-sr-som.dtsi head/sys/gnu/dts/arm64/freescale/imx8mq-zii-ultra-rmb3.dts head/sys/gnu/dts/arm64/freescale/imx8mq-zii-ultra-zest.dts head/sys/gnu/dts/arm64/freescale/imx8mq.dtsi head/sys/gnu/dts/arm64/freescale/imx8qxp-mek.dts head/sys/gnu/dts/arm64/freescale/imx8qxp.dtsi head/sys/gnu/dts/arm64/hisilicon/hi3798cv200-poplar.dts head/sys/gnu/dts/arm64/hisilicon/hi3798cv200.dtsi head/sys/gnu/dts/arm64/intel/socfpga_agilex.dtsi head/sys/gnu/dts/arm64/marvell/armada-3720-uDPU.dts head/sys/gnu/dts/arm64/marvell/armada-8040-clearfog-gt-8k.dts head/sys/gnu/dts/arm64/mediatek/mt8173.dtsi head/sys/gnu/dts/arm64/mediatek/mt8183.dtsi head/sys/gnu/dts/arm64/nvidia/tegra132.dtsi head/sys/gnu/dts/arm64/nvidia/tegra186-p3310.dtsi head/sys/gnu/dts/arm64/nvidia/tegra186.dtsi head/sys/gnu/dts/arm64/nvidia/tegra194-p2888.dtsi head/sys/gnu/dts/arm64/nvidia/tegra194-p2972-0000.dts head/sys/gnu/dts/arm64/nvidia/tegra194.dtsi head/sys/gnu/dts/arm64/nvidia/tegra210-p3450-0000.dts head/sys/gnu/dts/arm64/qcom/apq8016-sbc-pmic-pins.dtsi head/sys/gnu/dts/arm64/qcom/apq8016-sbc.dtsi head/sys/gnu/dts/arm64/qcom/apq8096-db820c.dtsi head/sys/gnu/dts/arm64/qcom/msm8916.dtsi head/sys/gnu/dts/arm64/qcom/msm8996.dtsi head/sys/gnu/dts/arm64/qcom/msm8998-clamshell.dtsi head/sys/gnu/dts/arm64/qcom/msm8998-mtp.dtsi head/sys/gnu/dts/arm64/qcom/msm8998-pins.dtsi head/sys/gnu/dts/arm64/qcom/msm8998.dtsi head/sys/gnu/dts/arm64/qcom/pm8004.dtsi head/sys/gnu/dts/arm64/qcom/pm8916.dtsi head/sys/gnu/dts/arm64/qcom/pm8994.dtsi head/sys/gnu/dts/arm64/qcom/qcs404-evb.dtsi head/sys/gnu/dts/arm64/qcom/qcs404.dtsi head/sys/gnu/dts/arm64/qcom/sdm845-cheza.dtsi head/sys/gnu/dts/arm64/qcom/sdm845-db845c.dts head/sys/gnu/dts/arm64/qcom/sdm845-mtp.dts head/sys/gnu/dts/arm64/qcom/sdm845.dtsi head/sys/gnu/dts/arm64/qcom/sdm850-lenovo-yoga-c630.dts head/sys/gnu/dts/arm64/qcom/sm8150-mtp.dts head/sys/gnu/dts/arm64/qcom/sm8150.dtsi head/sys/gnu/dts/arm64/renesas/hihope-common.dtsi head/sys/gnu/dts/arm64/renesas/r8a774a1.dtsi head/sys/gnu/dts/arm64/renesas/r8a774b1.dtsi head/sys/gnu/dts/arm64/renesas/r8a774c0-cat874.dts head/sys/gnu/dts/arm64/renesas/r8a774c0.dtsi head/sys/gnu/dts/arm64/renesas/r8a77961.dtsi head/sys/gnu/dts/arm64/renesas/r8a77965.dtsi head/sys/gnu/dts/arm64/renesas/r8a77970.dtsi head/sys/gnu/dts/arm64/renesas/r8a77980.dtsi head/sys/gnu/dts/arm64/renesas/r8a77990-ebisu.dts head/sys/gnu/dts/arm64/renesas/r8a77990.dtsi head/sys/gnu/dts/arm64/renesas/r8a77995.dtsi head/sys/gnu/dts/arm64/renesas/salvator-common.dtsi head/sys/gnu/dts/arm64/renesas/ulcb.dtsi head/sys/gnu/dts/arm64/rockchip/px30-evb.dts head/sys/gnu/dts/arm64/rockchip/px30.dtsi head/sys/gnu/dts/arm64/rockchip/rk3308.dtsi head/sys/gnu/dts/arm64/rockchip/rk3328.dtsi head/sys/gnu/dts/arm64/rockchip/rk3368-lion-haikou.dts head/sys/gnu/dts/arm64/rockchip/rk3368.dtsi head/sys/gnu/dts/arm64/rockchip/rk3399-firefly.dts head/sys/gnu/dts/arm64/rockchip/rk3399-gru-bob.dts head/sys/gnu/dts/arm64/rockchip/rk3399-gru-kevin.dts head/sys/gnu/dts/arm64/rockchip/rk3399-hugsun-x99.dts head/sys/gnu/dts/arm64/rockchip/rk3399-khadas-edge.dtsi head/sys/gnu/dts/arm64/rockchip/rk3399-nanopc-t4.dts head/sys/gnu/dts/arm64/rockchip/rk3399-nanopi4.dtsi head/sys/gnu/dts/arm64/rockchip/rk3399-orangepi.dts head/sys/gnu/dts/arm64/rockchip/rk3399-roc-pc-mezzanine.dts head/sys/gnu/dts/arm64/rockchip/rk3399-roc-pc.dtsi head/sys/gnu/dts/arm64/rockchip/rk3399-rock-pi-4.dts head/sys/gnu/dts/arm64/rockchip/rk3399-rock960.dtsi head/sys/gnu/dts/arm64/rockchip/rk3399-rockpro64.dts head/sys/gnu/dts/arm64/rockchip/rk3399-sapphire-excavator.dts head/sys/gnu/dts/arm64/rockchip/rk3399.dtsi head/sys/gnu/dts/arm64/socionext/uniphier-ld11.dtsi head/sys/gnu/dts/arm64/socionext/uniphier-ld20.dtsi head/sys/gnu/dts/arm64/socionext/uniphier-pxs3.dtsi head/sys/gnu/dts/arm64/ti/k3-am65-main.dtsi head/sys/gnu/dts/arm64/ti/k3-am65-mcu.dtsi head/sys/gnu/dts/arm64/ti/k3-am65.dtsi head/sys/gnu/dts/arm64/ti/k3-am654-base-board.dts head/sys/gnu/dts/arm64/ti/k3-j721e-common-proc-board.dts head/sys/gnu/dts/arm64/ti/k3-j721e-main.dtsi head/sys/gnu/dts/arm64/ti/k3-j721e-mcu-wakeup.dtsi head/sys/gnu/dts/arm64/ti/k3-j721e-som-p0.dtsi head/sys/gnu/dts/arm64/ti/k3-j721e.dtsi head/sys/gnu/dts/arm64/xilinx/zynqmp-zc1232-revA.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zc1254-revA.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zc1275-revA.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zc1751-xm015-dc1.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zc1751-xm016-dc2.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zc1751-xm017-dc3.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zc1751-xm018-dc4.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zc1751-xm019-dc5.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zcu100-revC.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zcu102-revA.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zcu102-revB.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zcu104-revA.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zcu106-revA.dts head/sys/gnu/dts/arm64/xilinx/zynqmp-zcu111-revA.dts head/sys/gnu/dts/arm64/xilinx/zynqmp.dtsi head/sys/gnu/dts/include/dt-bindings/clock/dra7.h head/sys/gnu/dts/include/dt-bindings/clock/imx8mn-clock.h head/sys/gnu/dts/include/dt-bindings/clock/marvell,mmp2.h head/sys/gnu/dts/include/dt-bindings/clock/omap4.h head/sys/gnu/dts/include/dt-bindings/clock/omap5.h head/sys/gnu/dts/include/dt-bindings/clock/qcom,dispcc-sdm845.h head/sys/gnu/dts/include/dt-bindings/clock/qcom,gcc-msm8998.h head/sys/gnu/dts/include/dt-bindings/clock/sun50i-a64-ccu.h head/sys/gnu/dts/include/dt-bindings/clock/sun6i-a31-ccu.h head/sys/gnu/dts/include/dt-bindings/clock/sun8i-a23-a33-ccu.h head/sys/gnu/dts/include/dt-bindings/clock/sun8i-r40-ccu.h head/sys/gnu/dts/include/dt-bindings/input/linux-event-codes.h head/sys/gnu/dts/include/dt-bindings/memory/tegra186-mc.h head/sys/gnu/dts/include/dt-bindings/phy/phy.h head/sys/gnu/dts/include/dt-bindings/power/qcom-rpmpd.h head/sys/gnu/dts/include/dt-bindings/reset-controller/mt8183-resets.h head/sys/gnu/dts/include/dt-bindings/thermal/thermal_exynos.h head/sys/gnu/dts/riscv/sifive/fu540-c000.dtsi head/sys/gnu/dts/riscv/sifive/hifive-unleashed-a00.dts Directory Properties: head/sys/gnu/dts/arm/ (props changed) head/sys/gnu/dts/arm64/ (props changed) head/sys/gnu/dts/include/ (props changed) head/sys/gnu/dts/riscv/ (props changed) Modified: head/sys/gnu/dts/arm/am335x-evm.dts ============================================================================== --- head/sys/gnu/dts/arm/am335x-evm.dts Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am335x-evm.dts Tue Apr 14 18:57:00 2020 (r359934) @@ -113,7 +113,7 @@ }; }; - backlight { + backlight: backlight { compatible = "pwm-backlight"; pwms = <&ecap0 0 50000 0>; brightness-levels = <0 51 53 56 62 75 101 152 255>; @@ -121,35 +121,15 @@ }; panel { - compatible = "ti,tilcdc,panel"; - status = "okay"; + compatible = "tfc,s9700rtwv43tr-01b"; + pinctrl-names = "default"; pinctrl-0 = <&lcd_pins_s0>; - panel-info { - ac-bias = <255>; - ac-bias-intrpt = <0>; - dma-burst-sz = <16>; - bpp = <32>; - fdd = <0x80>; - sync-edge = <0>; - sync-ctrl = <1>; - raster-order = <0>; - fifo-th = <0>; - }; + backlight = <&backlight>; - display-timings { - 800x480p62 { - clock-frequency = <30000000>; - hactive = <800>; - vactive = <480>; - hfront-porch = <39>; - hback-porch = <39>; - hsync-len = <47>; - vback-porch = <29>; - vfront-porch = <13>; - vsync-len = <2>; - hsync-active = <1>; - vsync-active = <1>; + port { + panel_0: endpoint@0 { + remote-endpoint = <&lcdc_0>; }; }; }; @@ -500,6 +480,12 @@ status = "okay"; blue-and-red-wiring = "crossed"; + + port { + lcdc_0: endpoint@0 { + remote-endpoint = <&panel_0>; + }; + }; }; &elm { Modified: head/sys/gnu/dts/arm/am335x-evmsk.dts ============================================================================== --- head/sys/gnu/dts/arm/am335x-evmsk.dts Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am335x-evmsk.dts Tue Apr 14 18:57:00 2020 (r359934) @@ -183,36 +183,16 @@ }; panel { - compatible = "ti,tilcdc,panel"; + compatible = "newhaven,nhd-4.3-480272ef-atxl"; + pinctrl-names = "default", "sleep"; pinctrl-0 = <&lcd_pins_default>; pinctrl-1 = <&lcd_pins_sleep>; backlight = <&lcd_bl>; - status = "okay"; - panel-info { - ac-bias = <255>; - ac-bias-intrpt = <0>; - dma-burst-sz = <16>; - bpp = <32>; - fdd = <0x80>; - sync-edge = <0>; - sync-ctrl = <1>; - raster-order = <0>; - fifo-th = <0>; - }; - display-timings { - 480x272 { - hactive = <480>; - vactive = <272>; - hback-porch = <43>; - hfront-porch = <8>; - hsync-len = <4>; - vback-porch = <12>; - vfront-porch = <4>; - vsync-len = <10>; - clock-frequency = <9000000>; - hsync-active = <0>; - vsync-active = <0>; + + port { + panel_0: endpoint@0 { + remote-endpoint = <&lcdc_0>; }; }; }; @@ -725,6 +705,12 @@ status = "okay"; blue-and-red-wiring = "crossed"; + + port { + lcdc_0: endpoint@0 { + remote-endpoint = <&panel_0>; + }; + }; }; &rtc { Modified: head/sys/gnu/dts/arm/am335x-icev2.dts ============================================================================== --- head/sys/gnu/dts/arm/am335x-icev2.dts Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am335x-icev2.dts Tue Apr 14 18:57:00 2020 (r359934) @@ -287,6 +287,19 @@ gpio-controller; #gpio-cells = <2>; }; + + /* osd9616p0899-10 */ + display@3c { + compatible = "solomon,ssd1306fb-i2c"; + reg = <0x3c>; + solomon,height = <16>; + solomon,width = <96>; + solomon,com-seq; + solomon,com-invdir; + solomon,page-offset = <0>; + solomon,prechargep1 = <2>; + solomon,prechargep2 = <13>; + }; }; &spi0 { Modified: head/sys/gnu/dts/arm/am33xx-l4.dtsi ============================================================================== --- head/sys/gnu/dts/arm/am33xx-l4.dtsi Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am33xx-l4.dtsi Tue Apr 14 18:57:00 2020 (r359934) @@ -225,7 +225,6 @@ target-module@d000 { /* 0x44e0d000, ap 20 38.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "adc_tsc"; reg = <0xd000 0x4>, <0xd010 0x4>; reg-names = "rev", "sysc"; @@ -1009,7 +1008,6 @@ target-module@30000 { /* 0x48030000, ap 77 08.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "spi0"; reg = <0x30000 0x4>, <0x30110 0x4>, <0x30114 0x4>; @@ -1134,7 +1132,6 @@ target-module@42000 { /* 0x48042000, ap 24 1c.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer3"; reg = <0x42000 0x4>, <0x42010 0x4>, <0x42014 0x4>; @@ -1160,7 +1157,6 @@ target-module@44000 { /* 0x48044000, ap 26 26.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer4"; reg = <0x44000 0x4>, <0x44010 0x4>, <0x44014 0x4>; @@ -1187,7 +1183,6 @@ target-module@46000 { /* 0x48046000, ap 28 28.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer5"; reg = <0x46000 0x4>, <0x46010 0x4>, <0x46014 0x4>; @@ -1214,7 +1209,6 @@ target-module@48000 { /* 0x48048000, ap 30 22.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer6"; reg = <0x48000 0x4>, <0x48010 0x4>, <0x48014 0x4>; @@ -1241,7 +1235,6 @@ target-module@4a000 { /* 0x4804a000, ap 85 60.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer7"; reg = <0x4a000 0x4>, <0x4a010 0x4>, <0x4a014 0x4>; @@ -1344,7 +1337,6 @@ target-module@80000 { /* 0x48080000, ap 38 18.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "elm"; reg = <0x80000 0x4>, <0x80010 0x4>, <0x80014 0x4>; @@ -1412,7 +1404,6 @@ target-module@ca000 { /* 0x480ca000, ap 91 40.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "spinlock"; reg = <0xca000 0x4>, <0xca010 0x4>, <0xca014 0x4>; @@ -1533,7 +1524,6 @@ target-module@a0000 { /* 0x481a0000, ap 79 24.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "spi1"; reg = <0xa0000 0x4>, <0xa0110 0x4>, <0xa0114 0x4>; @@ -1749,7 +1739,6 @@ compatible = "ti,sysc-omap4", "ti,sysc"; reg = <0xcc020 0x4>; reg-names = "rev"; - ti,hwmods = "d_can0"; /* Domains (P, C): per_pwrdm, l4ls_clkdm */ clocks = <&l4ls_clkctrl AM3_L4LS_D_CAN0_CLKCTRL 0>, <&dcan0_fck>; @@ -1773,7 +1762,6 @@ compatible = "ti,sysc-omap4", "ti,sysc"; reg = <0xd0020 0x4>; reg-names = "rev"; - ti,hwmods = "d_can1"; /* Domains (P, C): per_pwrdm, l4ls_clkdm */ clocks = <&l4ls_clkctrl AM3_L4LS_D_CAN1_CLKCTRL 0>, <&dcan1_fck>; @@ -1863,7 +1851,6 @@ target-module@0 { /* 0x48300000, ap 66 48.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "epwmss0"; reg = <0x0 0x4>, <0x4 0x4>; reg-names = "rev", "sysc"; @@ -1916,7 +1903,6 @@ target-module@2000 { /* 0x48302000, ap 68 52.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "epwmss1"; reg = <0x2000 0x4>, <0x2004 0x4>; reg-names = "rev", "sysc"; @@ -1969,7 +1955,6 @@ target-module@4000 { /* 0x48304000, ap 70 44.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "epwmss2"; reg = <0x4000 0x4>, <0x4004 0x4>; reg-names = "rev", "sysc"; @@ -2022,7 +2007,6 @@ target-module@e000 { /* 0x4830e000, ap 72 4a.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "lcdc"; reg = <0xe000 0x4>, <0xe054 0x4>; reg-names = "rev", "sysc"; Modified: head/sys/gnu/dts/arm/am33xx.dtsi ============================================================================== --- head/sys/gnu/dts/arm/am33xx.dtsi Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am33xx.dtsi Tue Apr 14 18:57:00 2020 (r359934) @@ -440,23 +440,87 @@ status = "disabled"; }; - sham: sham@53100000 { - compatible = "ti,omap4-sham"; - ti,hwmods = "sham"; - reg = <0x53100000 0x200>; - interrupts = <109>; - dmas = <&edma 36 0>; - dma-names = "rx"; + sham_target: target-module@53100000 { + compatible = "ti,sysc-omap3-sham", "ti,sysc"; + reg = <0x53100100 0x4>, + <0x53100110 0x4>, + <0x53100114 0x4>; + reg-names = "rev", "sysc", "syss"; + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | + SYSC_OMAP2_AUTOIDLE)>; + ti,sysc-sidle = , + , + ; + ti,syss-mask = <1>; + /* Domains (P, C): per_pwrdm, l3_clkdm */ + clocks = <&l3_clkctrl AM3_L3_SHAM_CLKCTRL 0>; + clock-names = "fck"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x53100000 0x1000>; + + sham: sham@0 { + compatible = "ti,omap4-sham"; + reg = <0 0x200>; + interrupts = <109>; + dmas = <&edma 36 0>; + dma-names = "rx"; + }; }; - aes: aes@53500000 { - compatible = "ti,omap4-aes"; - ti,hwmods = "aes"; - reg = <0x53500000 0xa0>; - interrupts = <103>; - dmas = <&edma 6 0>, - <&edma 5 0>; - dma-names = "tx", "rx"; + aes_target: target-module@53500000 { + compatible = "ti,sysc-omap2", "ti,sysc"; + reg = <0x53500080 0x4>, + <0x53500084 0x4>, + <0x53500088 0x4>; + reg-names = "rev", "sysc", "syss"; + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | + SYSC_OMAP2_AUTOIDLE)>; + ti,sysc-sidle = , + , + , + ; + ti,syss-mask = <1>; + /* Domains (P, C): per_pwrdm, l3_clkdm */ + clocks = <&l3_clkctrl AM3_L3_AES_CLKCTRL 0>; + clock-names = "fck"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x53500000 0x1000>; + + aes: aes@0 { + compatible = "ti,omap4-aes"; + reg = <0 0xa0>; + interrupts = <103>; + dmas = <&edma 6 0>, + <&edma 5 0>; + dma-names = "tx", "rx"; + }; + }; + + target-module@56000000 { + compatible = "ti,sysc-omap4", "ti,sysc"; + reg = <0x5600fe00 0x4>, + <0x5600fe10 0x4>; + reg-names = "rev", "sysc"; + ti,sysc-midle = , + , + ; + ti,sysc-sidle = , + , + ; + clocks = <&gfx_l3_clkctrl AM3_GFX_L3_GFX_CLKCTRL 0>; + clock-names = "fck"; + resets = <&prm_gfx 0>; + reset-names = "rstctrl"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x56000000 0x1000000>; + + /* + * Closed source PowerVR driver, no child device + * binding or driver in mainline + */ }; }; }; Modified: head/sys/gnu/dts/arm/am3517.dtsi ============================================================================== --- head/sys/gnu/dts/arm/am3517.dtsi Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am3517.dtsi Tue Apr 14 18:57:00 2020 (r359934) @@ -74,7 +74,7 @@ clock-names = "ick"; }; - davinci_mdio: ethernet@5c030000 { + davinci_mdio: mdio@5c030000 { compatible = "ti,davinci_mdio"; ti,hwmods = "davinci_mdio"; status = "disabled"; Copied: head/sys/gnu/dts/arm/am3703.dtsi (from r359928, vendor/device-tree/dist/src/arm/am3703.dtsi) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/am3703.dtsi Tue Apr 14 18:57:00 2020 (r359934, copy of r359928, vendor/device-tree/dist/src/arm/am3703.dtsi) @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2020 André Hentschel + */ + +#include "omap36xx.dtsi" + +&iva { + status = "disabled"; +}; + +&sgx_module { + status = "disabled"; +}; Copied: head/sys/gnu/dts/arm/am3715.dtsi (from r359928, vendor/device-tree/dist/src/arm/am3715.dtsi) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/gnu/dts/arm/am3715.dtsi Tue Apr 14 18:57:00 2020 (r359934, copy of r359928, vendor/device-tree/dist/src/arm/am3715.dtsi) @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * Copyright (C) 2020 André Hentschel + */ + +#include "omap36xx.dtsi" + +&iva { + status = "disabled"; +}; Modified: head/sys/gnu/dts/arm/am4372.dtsi ============================================================================== --- head/sys/gnu/dts/arm/am4372.dtsi Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am4372.dtsi Tue Apr 14 18:57:00 2020 (r359934) @@ -256,33 +256,92 @@ }; }; - sham: sham@53100000 { - compatible = "ti,omap5-sham"; - ti,hwmods = "sham"; - reg = <0x53100000 0x300>; - dmas = <&edma 36 0>; - dma-names = "rx"; - interrupts = ; + sham_target: target-module@53100000 { + compatible = "ti,sysc-omap3-sham", "ti,sysc"; + reg = <0x53100100 0x4>, + <0x53100110 0x4>, + <0x53100114 0x4>; + reg-names = "rev", "sysc", "syss"; + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | + SYSC_OMAP2_AUTOIDLE)>; + ti,sysc-sidle = , + , + ; + ti,syss-mask = <1>; + /* Domains (P, C): per_pwrdm, l3_clkdm */ + clocks = <&l3_clkctrl AM4_L3_SHAM_CLKCTRL 0>; + clock-names = "fck"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x53100000 0x1000>; + + sham: sham@0 { + compatible = "ti,omap5-sham"; + reg = <0 0x300>; + dmas = <&edma 36 0>; + dma-names = "rx"; + interrupts = ; + }; }; - aes: aes@53501000 { - compatible = "ti,omap4-aes"; - ti,hwmods = "aes"; - reg = <0x53501000 0xa0>; - interrupts = ; - dmas = <&edma 6 0>, - <&edma 5 0>; - dma-names = "tx", "rx"; + aes_target: target-module@53501000 { + compatible = "ti,sysc-omap2", "ti,sysc"; + reg = <0x53501080 0x4>, + <0x53501084 0x4>, + <0x53501088 0x4>; + reg-names = "rev", "sysc", "syss"; + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | + SYSC_OMAP2_AUTOIDLE)>; + ti,sysc-sidle = , + , + , + ; + ti,syss-mask = <1>; + /* Domains (P, C): per_pwrdm, l3_clkdm */ + clocks = <&l3_clkctrl AM4_L3_AES_CLKCTRL 0>; + clock-names = "fck"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0x0 0x53501000 0x1000>; + + aes: aes@0 { + compatible = "ti,omap4-aes"; + reg = <0 0xa0>; + interrupts = ; + dmas = <&edma 6 0>, + <&edma 5 0>; + dma-names = "tx", "rx"; + }; }; - des: des@53701000 { - compatible = "ti,omap4-des"; - ti,hwmods = "des"; - reg = <0x53701000 0xa0>; - interrupts = ; - dmas = <&edma 34 0>, - <&edma 33 0>; - dma-names = "tx", "rx"; + des_target: target-module@53701000 { + compatible = "ti,sysc-omap2", "ti,sysc"; + reg = <0x53701030 0x4>, + <0x53701034 0x4>, + <0x53701038 0x4>; + reg-names = "rev", "sysc", "syss"; + ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET | + SYSC_OMAP2_AUTOIDLE)>; + ti,sysc-sidle = , + , + , + ; + ti,syss-mask = <1>; + /* Domains (P, C): per_pwrdm, l3_clkdm */ + clocks = <&l3_clkctrl AM4_L3_DES_CLKCTRL 0>; + clock-names = "fck"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x53701000 0x1000>; + + des: des@0 { + compatible = "ti,omap4-des"; + reg = <0 0xa0>; + interrupts = ; + dmas = <&edma 34 0>, + <&edma 33 0>; + dma-names = "tx", "rx"; + }; }; gpmc: gpmc@50000000 { @@ -305,17 +364,34 @@ status = "disabled"; }; - qspi: spi@47900000 { - compatible = "ti,am4372-qspi"; - reg = <0x47900000 0x100>, - <0x30000000 0x4000000>; - reg-names = "qspi_base", "qspi_mmap"; + target-module@47900000 { + compatible = "ti,sysc-omap4", "ti,sysc"; + reg = <0x47900000 0x4>, + <0x47900010 0x4>; + reg-names = "rev", "sysc"; + ti,sysc-sidle = , + , + , + ; + clocks = <&l3s_clkctrl AM4_L3S_QSPI_CLKCTRL 0>; + clock-names = "fck"; #address-cells = <1>; - #size-cells = <0>; - ti,hwmods = "qspi"; - interrupts = <0 138 0x4>; - num-cs = <4>; - status = "disabled"; + #size-cells = <1>; + ranges = <0x0 0x47900000 0x1000>, + <0x30000000 0x30000000 0x4000000>; + + qspi: spi@0 { + compatible = "ti,am4372-qspi"; + reg = <0 0x100>, + <0x30000000 0x4000000>; + reg-names = "qspi_base", "qspi_mmap"; + clocks = <&dpll_per_m2_div4_ck>; + clock-names = "fck"; + #address-cells = <1>; + #size-cells = <0>; + interrupts = <0 138 0x4>; + num-cs = <4>; + }; }; dss: dss@4832a000 { @@ -368,6 +444,26 @@ reg = <0x1000 0x1000>; pool; }; + }; + + target-module@56000000 { + compatible = "ti,sysc-omap4", "ti,sysc"; + reg = <0x5600fe00 0x4>, + <0x5600fe10 0x4>; + reg-names = "rev", "sysc"; + ti,sysc-midle = , + , + ; + ti,sysc-sidle = , + , + ; + clocks = <&gfx_l3_clkctrl AM4_GFX_L3_GFX_CLKCTRL 0>; + clock-names = "fck"; + resets = <&prm_gfx 0>; + reset-names = "rstctrl"; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0x56000000 0x1000000>; }; }; }; Modified: head/sys/gnu/dts/arm/am437x-idk-evm.dts ============================================================================== --- head/sys/gnu/dts/arm/am437x-idk-evm.dts Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am437x-idk-evm.dts Tue Apr 14 18:57:00 2020 (r359934) @@ -526,11 +526,11 @@ * Supply voltage supervisor on board will not allow opp50 so * disable it and set opp100 as suspend OPP. */ - opp50@300000000 { + opp50-300000000 { status = "disabled"; }; - opp100@600000000 { + opp100-600000000 { opp-suspend; }; }; Modified: head/sys/gnu/dts/arm/am437x-l4.dtsi ============================================================================== --- head/sys/gnu/dts/arm/am437x-l4.dtsi Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am437x-l4.dtsi Tue Apr 14 18:57:00 2020 (r359934) @@ -225,7 +225,6 @@ target-module@d000 { /* 0x44e0d000, ap 20 38.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "adc_tsc"; reg = <0xd000 0x4>, <0xd010 0x4>; reg-names = "rev", "sysc"; @@ -763,7 +762,6 @@ target-module@30000 { /* 0x48030000, ap 65 08.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "spi0"; reg = <0x30000 0x4>, <0x30110 0x4>, <0x30114 0x4>; @@ -900,7 +898,6 @@ target-module@42000 { /* 0x48042000, ap 20 24.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer3"; reg = <0x42000 0x4>, <0x42010 0x4>, <0x42014 0x4>; @@ -927,7 +924,6 @@ target-module@44000 { /* 0x48044000, ap 22 26.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer4"; reg = <0x44000 0x4>, <0x44010 0x4>, <0x44014 0x4>; @@ -955,7 +951,6 @@ target-module@46000 { /* 0x48046000, ap 24 28.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer5"; reg = <0x46000 0x4>, <0x46010 0x4>, <0x46014 0x4>; @@ -983,7 +978,6 @@ target-module@48000 { /* 0x48048000, ap 26 1a.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer6"; reg = <0x48000 0x4>, <0x48010 0x4>, <0x48014 0x4>; @@ -1011,7 +1005,6 @@ target-module@4a000 { /* 0x4804a000, ap 71 48.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer7"; reg = <0x4a000 0x4>, <0x4a010 0x4>, <0x4a014 0x4>; @@ -1107,7 +1100,6 @@ target-module@80000 { /* 0x48080000, ap 32 18.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "elm"; reg = <0x80000 0x4>, <0x80010 0x4>, <0x80014 0x4>; @@ -1169,7 +1161,6 @@ target-module@ca000 { /* 0x480ca000, ap 77 38.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "spinlock"; reg = <0xca000 0x4>, <0xca010 0x4>, <0xca014 0x4>; @@ -1282,7 +1273,6 @@ target-module@a0000 { /* 0x481a0000, ap 67 2c.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "spi1"; reg = <0xa0000 0x4>, <0xa0110 0x4>, <0xa0114 0x4>; @@ -1313,7 +1303,6 @@ target-module@a2000 { /* 0x481a2000, ap 69 2e.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "spi2"; reg = <0xa2000 0x4>, <0xa2110 0x4>, <0xa2114 0x4>; @@ -1344,7 +1333,6 @@ target-module@a4000 { /* 0x481a4000, ap 92 62.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "spi3"; reg = <0xa4000 0x4>, <0xa4110 0x4>, <0xa4114 0x4>; @@ -1527,7 +1515,6 @@ target-module@c1000 { /* 0x481c1000, ap 94 68.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer8"; reg = <0xc1000 0x4>, <0xc1010 0x4>, <0xc1014 0x4>; @@ -1556,7 +1543,6 @@ compatible = "ti,sysc-omap4", "ti,sysc"; reg = <0xcc020 0x4>; reg-names = "rev"; - ti,hwmods = "d_can0"; /* Domains (P, C): per_pwrdm, l4ls_clkdm */ clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN0_CLKCTRL 0>; clock-names = "fck"; @@ -1577,7 +1563,6 @@ compatible = "ti,sysc-omap4", "ti,sysc"; reg = <0xd0020 0x4>; reg-names = "rev"; - ti,hwmods = "d_can1"; /* Domains (P, C): per_pwrdm, l4ls_clkdm */ clocks = <&l4ls_clkctrl AM4_L4LS_D_CAN1_CLKCTRL 0>; clock-names = "fck"; @@ -1695,7 +1680,6 @@ target-module@0 { /* 0x48300000, ap 56 40.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "epwmss0"; reg = <0x0 0x4>, <0x4 0x4>; reg-names = "rev", "sysc"; @@ -1748,7 +1732,6 @@ target-module@2000 { /* 0x48302000, ap 58 4a.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "epwmss1"; reg = <0x2000 0x4>, <0x2004 0x4>; reg-names = "rev", "sysc"; @@ -1801,7 +1784,6 @@ target-module@4000 { /* 0x48304000, ap 60 44.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "epwmss2"; reg = <0x4000 0x4>, <0x4004 0x4>; reg-names = "rev", "sysc"; @@ -1854,7 +1836,6 @@ target-module@6000 { /* 0x48306000, ap 96 58.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "epwmss3"; reg = <0x6000 0x4>, <0x6004 0x4>; reg-names = "rev", "sysc"; @@ -1896,7 +1877,6 @@ target-module@8000 { /* 0x48308000, ap 98 54.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "epwmss4"; reg = <0x8000 0x4>, <0x8004 0x4>; reg-names = "rev", "sysc"; @@ -1938,7 +1918,6 @@ target-module@a000 { /* 0x4830a000, ap 100 60.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "epwmss5"; reg = <0xa000 0x4>, <0xa004 0x4>; reg-names = "rev", "sysc"; @@ -2086,7 +2065,6 @@ target-module@26000 { /* 0x48326000, ap 86 66.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "vpfe0"; reg = <0x26000 0x4>, <0x26104 0x4>; reg-names = "rev", "sysc"; @@ -2113,7 +2091,6 @@ target-module@28000 { /* 0x48328000, ap 75 0e.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "vpfe1"; reg = <0x28000 0x4>, <0x28104 0x4>; reg-names = "rev", "sysc"; @@ -2162,7 +2139,6 @@ target-module@3d000 { /* 0x4833d000, ap 102 6e.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer9"; reg = <0x3d000 0x4>, <0x3d010 0x4>, <0x3d014 0x4>; @@ -2189,7 +2165,6 @@ target-module@3f000 { /* 0x4833f000, ap 104 5c.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer10"; reg = <0x3f000 0x4>, <0x3f010 0x4>, <0x3f014 0x4>; @@ -2216,7 +2191,6 @@ target-module@41000 { /* 0x48341000, ap 106 76.0 */ compatible = "ti,sysc-omap4-timer", "ti,sysc"; - ti,hwmods = "timer11"; reg = <0x41000 0x4>, <0x41010 0x4>, <0x41014 0x4>; @@ -2243,7 +2217,6 @@ target-module@45000 { /* 0x48345000, ap 108 6a.0 */ compatible = "ti,sysc-omap2", "ti,sysc"; - ti,hwmods = "spi4"; reg = <0x45000 0x4>, <0x45110 0x4>, <0x45114 0x4>; @@ -2358,7 +2331,6 @@ target-module@a8000 { /* 0x483a8000, ap 125 6c.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "ocp2scp0"; reg = <0xa8000 0x4>; reg-names = "rev"; /* Domains (P, C): per_pwrdm, l4ls_clkdm */ @@ -2440,7 +2412,6 @@ target-module@e8000 { /* 0x483e8000, ap 129 78.0 */ compatible = "ti,sysc-omap4", "ti,sysc"; - ti,hwmods = "ocp2scp1"; reg = <0xe8000 0x4>; reg-names = "rev"; /* Domains (P, C): per_pwrdm, l4ls_clkdm */ Modified: head/sys/gnu/dts/arm/am437x-sk-evm.dts ============================================================================== --- head/sys/gnu/dts/arm/am437x-sk-evm.dts Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am437x-sk-evm.dts Tue Apr 14 18:57:00 2020 (r359934) @@ -272,6 +272,12 @@ >; }; + clkout1_pin: pinmux_clkout1_pin { + pinctrl-single,pins = < + 0x270 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* XDMA_EVENT_INTR0/CLKOUT1 */ + >; + }; + cpsw_default: cpsw_default { pinctrl-single,pins = < /* Slave 1 */ @@ -593,6 +599,25 @@ pinctrl-0 = <&i2c1_pins>; clock-frequency = <400000>; + ov2659@30 { + compatible = "ovti,ov2659"; + reg = <0x30>; + pinctrl-names = "default"; + pinctrl-0 = <&clkout1_pin>; + + clocks = <&clkout1_mux_ck>; + clock-names = "xvclk"; + assigned-clocks = <&clkout1_mux_ck>; + assigned-clock-parents = <&clkout1_osc_div_ck>; + + port { + ov2659_1: endpoint { + remote-endpoint = <&vpfe0_ep>; + link-frequencies = /bits/ 64 <70000000>; + }; + }; + }; + edt-ft5306@38 { status = "okay"; compatible = "edt,edt-ft5306", "edt,edt-ft5x06"; @@ -877,7 +902,7 @@ /* Camera port */ port { vpfe0_ep: endpoint { - /* remote-endpoint = <&sensor>; add once we have it */ + remote-endpoint = <&ov2659_1>; ti,am437x-vpfe-interface = <0>; bus-width = <8>; hsync-active = <0>; Modified: head/sys/gnu/dts/arm/am43x-epos-evm.dts ============================================================================== --- head/sys/gnu/dts/arm/am43x-epos-evm.dts Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am43x-epos-evm.dts Tue Apr 14 18:57:00 2020 (r359934) @@ -145,6 +145,12 @@ system-clock-frequency = <12000000>; }; }; + + audio_mstrclk: clock { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <12000000>; + }; }; &am43xx_pinmux { @@ -696,6 +702,21 @@ IOVDD-supply = <&dcdc4>; /* V3_3D -> DCDC4 */ DVDD-supply = <&ldo1>; /* V1_8AUD -> V1_8D -> LDO1 */ }; + + ov2659@30 { + compatible = "ovti,ov2659"; + reg = <0x30>; + + clocks = <&audio_mstrclk>; + clock-names = "xvclk"; + + port { + ov2659_1: endpoint { + remote-endpoint = <&vpfe1_ep>; + link-frequencies = /bits/ 64 <70000000>; + }; + }; + }; }; &i2c2 { @@ -964,7 +985,7 @@ port { vpfe1_ep: endpoint { - /* remote-endpoint = <&sensor>; add once we have it */ + remote-endpoint = <&ov2659_1>; ti,am437x-vpfe-interface = <0>; bus-width = <8>; hsync-active = <0>; Modified: head/sys/gnu/dts/arm/am43xx-clocks.dtsi ============================================================================== --- head/sys/gnu/dts/arm/am43xx-clocks.dtsi Tue Apr 14 18:24:59 2020 (r359933) +++ head/sys/gnu/dts/arm/am43xx-clocks.dtsi Tue Apr 14 18:57:00 2020 (r359934) @@ -704,6 +704,60 @@ ti,bit-shift = <8>; reg = <0x2a48>; }; + + clkout1_osc_div_ck: clkout1-osc-div-ck { + #clock-cells = <0>; + compatible = "ti,divider-clock"; + clocks = <&sys_clkin_ck>; + ti,bit-shift = <20>; + ti,max-div = <4>; + reg = <0x4100>; + }; + + clkout1_src2_mux_ck: clkout1-src2-mux-ck { + #clock-cells = <0>; + compatible = "ti,mux-clock"; + clocks = <&clk_rc32k_ck>, <&sysclk_div>, <&dpll_ddr_m2_ck>, + <&dpll_per_m2_ck>, <&dpll_disp_m2_ck>, + <&dpll_mpu_m2_ck>; + reg = <0x4100>; + }; + + clkout1_src2_pre_div_ck: clkout1-src2-pre-div-ck { + #clock-cells = <0>; + compatible = "ti,divider-clock"; + clocks = <&clkout1_src2_mux_ck>; + ti,bit-shift = <4>; + ti,max-div = <8>; + reg = <0x4100>; + }; + + clkout1_src2_post_div_ck: clkout1-src2-post-div-ck { + #clock-cells = <0>; + compatible = "ti,divider-clock"; + clocks = <&clkout1_src2_pre_div_ck>; + ti,bit-shift = <8>; + ti,max-div = <32>; + ti,index-power-of-two; + reg = <0x4100>; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-head@freebsd.org Tue Apr 14 19:05:18 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A78DF2C725D; Tue, 14 Apr 2020 19:05:18 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491w0t435bz4bR5; Tue, 14 Apr 2020 19:05:18 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 862EDA32A; Tue, 14 Apr 2020 19:05:18 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EJ5I7g020403; Tue, 14 Apr 2020 19:05:18 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EJ5H5L020399; Tue, 14 Apr 2020 19:05:17 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004141905.03EJ5H5L020399@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 14 Apr 2020 19:05:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359935 - in head: . sys/arm/allwinner sys/dts/arm/overlays sys/dts/arm64/overlays X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: in head: . sys/arm/allwinner sys/dts/arm/overlays sys/dts/arm64/overlays X-SVN-Commit-Revision: 359935 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 19:05:18 -0000 Author: manu Date: Tue Apr 14 19:05:17 2020 New Revision: 359935 URL: https://svnweb.freebsd.org/changeset/base/359935 Log: allwinner: aw_thermal: Cope with DTS changes The upstream DTS now include the thermal device node and the SID calibration entry. Update our driver to cope with this change and remove the DTB overlays that aren't needed anymore. MFC after: 2 months X-MFC-With: r359934 Deleted: head/sys/dts/arm/overlays/sun8i-h3-sid.dtso head/sys/dts/arm/overlays/sun8i-h3-ths.dtso head/sys/dts/arm64/overlays/sun50i-a64-sid.dtso head/sys/dts/arm64/overlays/sun50i-a64-ths.dtso head/sys/dts/arm64/overlays/sun50i-h5-sid.dtso head/sys/dts/arm64/overlays/sun50i-h5-ths.dtso Modified: head/UPDATING head/sys/arm/allwinner/aw_sid.c head/sys/arm/allwinner/aw_thermal.c Modified: head/UPDATING ============================================================================== --- head/UPDATING Tue Apr 14 18:57:00 2020 (r359934) +++ head/UPDATING Tue Apr 14 19:05:17 2020 (r359935) @@ -26,6 +26,14 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20200414: + Upstream DTS from Linux 5.6 was merged and they now have the SID + and THS (Secure ID controller and THermal Sensor) node present. + The DTB overlays have now been removed from the tree for the H3/H5 and + A64 SoCs and the aw_sid and aw_thermal driver have been updated to + deal with upstream DTS. If you are using those overlays you need to + remove them from loader.conf and update the DTBs on the FAT partition. + 20200310: Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have been upgraded to 10.0.0. Please see the 20141231 entry below for Modified: head/sys/arm/allwinner/aw_sid.c ============================================================================== --- head/sys/arm/allwinner/aw_sid.c Tue Apr 14 18:57:00 2020 (r359934) +++ head/sys/arm/allwinner/aw_sid.c Tue Apr 14 19:05:17 2020 (r359935) @@ -100,7 +100,7 @@ static struct aw_sid_efuse a64_efuses[] = { .public = true, }, { - .name = "ths-calib", + .name = "calibration", .desc = "Thermal Sensor Calibration Data", .base = EFUSE_OFFSET, .offset = 0x34, @@ -121,7 +121,7 @@ static struct aw_sid_efuse a83t_efuses[] = { .public = true, }, { - .name = "ths-calib", + .name = "calibration", .desc = "Thermal Sensor Calibration Data", .base = EFUSE_OFFSET, .offset = 0x34, @@ -142,11 +142,11 @@ static struct aw_sid_efuse h3_efuses[] = { .public = true, }, { - .name = "ths-calib", + .name = "calibration", .desc = "Thermal Sensor Calibration Data", .base = EFUSE_OFFSET, .offset = 0x34, - .size = 2, + .size = 4, .id = AW_SID_FUSE_THSSENSOR, .public = false, }, @@ -163,7 +163,7 @@ static struct aw_sid_efuse h5_efuses[] = { .public = true, }, { - .name = "ths-calib", + .name = "calibration", .desc = "Thermal Sensor Calibration Data", .base = EFUSE_OFFSET, .offset = 0x34, @@ -350,8 +350,7 @@ aw_sid_read(device_t dev, uint32_t offset, uint32_t si sc = device_get_softc(dev); for (i = 0; i < sc->sid_conf->nfuses; i++) - if (offset == (sc->sid_conf->efuses[i].base + - sc->sid_conf->efuses[i].offset)) { + if (offset == sc->sid_conf->efuses[i].offset) { fuse_id = sc->sid_conf->efuses[i].id; break; } Modified: head/sys/arm/allwinner/aw_thermal.c ============================================================================== --- head/sys/arm/allwinner/aw_thermal.c Tue Apr 14 18:57:00 2020 (r359934) +++ head/sys/arm/allwinner/aw_thermal.c Tue Apr 14 19:05:17 2020 (r359935) @@ -267,7 +267,7 @@ static const struct aw_thermal_config h3_config = { .thermal_per = H3_THERMAL_PER, .to_temp = h3_to_temp, .to_reg = h3_to_reg, - .calib0_mask = 0xffff, + .calib0_mask = 0xffffffff, }; static int @@ -387,12 +387,12 @@ aw_thermal_init(struct aw_thermal_softc *sc) int error; node = ofw_bus_get_node(sc->dev); - if (nvmem_get_cell_len(node, "ths-calib") > sizeof(calib)) { - device_printf(sc->dev, "ths-calib nvmem cell is too large\n"); + if (nvmem_get_cell_len(node, "calibration") > sizeof(calib)) { + device_printf(sc->dev, "calibration nvmem cell is too large\n"); return (ENXIO); } - error = nvmem_read_cell_by_name(node, "ths-calib", - (void *)&calib, nvmem_get_cell_len(node, "ths-calib")); + error = nvmem_read_cell_by_name(node, "calibration", + (void *)&calib, nvmem_get_cell_len(node, "calibration")); /* Read calibration settings from EFUSE */ if (error != 0) { device_printf(sc->dev, "Cannot read THS efuse\n"); @@ -624,7 +624,7 @@ aw_thermal_attach(device_t dev) return (ENXIO); } - if (clk_get_by_ofw_name(dev, 0, "apb", &sc->clk_apb) == 0) { + if (clk_get_by_ofw_name(dev, 0, "bus", &sc->clk_apb) == 0) { error = clk_enable(sc->clk_apb); if (error != 0) { device_printf(dev, "cannot enable apb clock\n"); @@ -632,7 +632,7 @@ aw_thermal_attach(device_t dev) } } - if (clk_get_by_ofw_name(dev, 0, "ths", &sc->clk_ths) == 0) { + if (clk_get_by_ofw_name(dev, 0, "mod", &sc->clk_ths) == 0) { error = clk_set_freq(sc->clk_ths, sc->conf->clk_rate, 0); if (error != 0) { device_printf(dev, "cannot set ths clock rate\n"); From owner-svn-src-head@freebsd.org Tue Apr 14 20:20:09 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5AA922C8CBD; Tue, 14 Apr 2020 20:20:09 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491xgF1Y0tz3Cj4; Tue, 14 Apr 2020 20:20:09 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2B8FDB0EE; Tue, 14 Apr 2020 20:20:09 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EKK9NO072983; Tue, 14 Apr 2020 20:20:09 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EKK9eU072982; Tue, 14 Apr 2020 20:20:09 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004142020.03EKK9eU072982@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 14 Apr 2020 20:20:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359936 - head/sys/modules/dtb/allwinner X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/modules/dtb/allwinner X-SVN-Commit-Revision: 359936 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 20:20:09 -0000 Author: manu Date: Tue Apr 14 20:20:08 2020 New Revision: 359936 URL: https://svnweb.freebsd.org/changeset/base/359936 Log: modules: dtb: allwinner: Remove non existant files Those files have been removed in r359935. MFC after: 2 months X-MFC-With: r359935 Modified: head/sys/modules/dtb/allwinner/Makefile Modified: head/sys/modules/dtb/allwinner/Makefile ============================================================================== --- head/sys/modules/dtb/allwinner/Makefile Tue Apr 14 19:05:17 2020 (r359935) +++ head/sys/modules/dtb/allwinner/Makefile Tue Apr 14 20:20:08 2020 (r359936) @@ -24,9 +24,7 @@ DTS= \ sun8i-h3-orangepi-plus2e.dts DTSO= sun8i-a83t-sid.dtso \ - sun8i-h3-i2c0.dtso \ - sun8i-h3-sid.dtso \ - sun8i-h3-ths.dtso + sun8i-h3-i2c0.dtso LINKS= \ ${DTBDIR}/sun4i-a10-cubieboard.dtb ${DTBDIR}/cubieboard.dtb \ @@ -55,11 +53,8 @@ DTSO= sun50i-a64-opp.dtso \ sun50i-a64-rpwm.dtso \ sun50i-a64-sid.dtso \ sun50i-a64-spi0-spigen.dtso \ - sun50i-a64-ths.dtso \ sun50i-a64-timer.dtso \ sun50i-h5-opp.dtso \ - sun50i-h5-sid.dtso \ - sun50i-h5-ths.dtso \ sun50i-h5-nanopi-neo2-opp.dtso .endif From owner-svn-src-head@freebsd.org Tue Apr 14 20:30:51 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C53482C8F3B; Tue, 14 Apr 2020 20:30:51 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491xvb56xFz3DZV; Tue, 14 Apr 2020 20:30:51 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AB004B31C; Tue, 14 Apr 2020 20:30:51 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EKUpW6082024; Tue, 14 Apr 2020 20:30:51 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EKUmOJ080400; Tue, 14 Apr 2020 20:30:48 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004142030.03EKUmOJ080400@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 14 Apr 2020 20:30:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359937 - in head/sys: amd64/linux amd64/linux32 arm64/linux compat/freebsd32 compat/linux dev/ipmi dev/mpr dev/mps dev/mpt i386/linux kern sys X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in head/sys: amd64/linux amd64/linux32 arm64/linux compat/freebsd32 compat/linux dev/ipmi dev/mpr dev/mps dev/mpt i386/linux kern sys X-SVN-Commit-Revision: 359937 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 20:30:51 -0000 Author: brooks Date: Tue Apr 14 20:30:48 2020 New Revision: 359937 URL: https://svnweb.freebsd.org/changeset/base/359937 Log: Centralize compatability translation macros. Copy the CP, PTRIN, etc macros from freebsd32.h into a sys/abi_compat.h and replace existing definitation with includes where required. This eliminates duplicate code and allows Linux and FreeBSD compatability headers to be included in the same files. Input from: cem, jhb Obtained from: CheriBSD MFC after: 2 weeks Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24275 Added: head/sys/sys/abi_compat.h (contents, props changed) Modified: head/sys/amd64/linux/linux.h head/sys/amd64/linux32/linux.h head/sys/arm64/linux/linux.h head/sys/compat/freebsd32/freebsd32.h head/sys/compat/linux/linux_ioctl.c head/sys/compat/linux/linux_timer.h head/sys/dev/ipmi/ipmi.c head/sys/dev/mpr/mpr_user.c head/sys/dev/mps/mps_user.c head/sys/dev/mpt/mpt_user.c head/sys/i386/linux/linux.h head/sys/kern/sysv_sem.c head/sys/kern/sysv_shm.c Modified: head/sys/amd64/linux/linux.h ============================================================================== --- head/sys/amd64/linux/linux.h Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/amd64/linux/linux.h Tue Apr 14 20:30:48 2020 (r359937) @@ -32,20 +32,14 @@ #ifndef _AMD64_LINUX_H_ #define _AMD64_LINUX_H_ +#include + #include #include #define LINUX_LEGACY_SYSCALLS #define LINUX_DTRACE linuxulator - -#define PTRIN(v) (void *)(v) -#define PTROUT(v) (uintptr_t)(v) - -#define CP(src,dst,fld) do { (dst).fld = (src).fld; } while (0) -#define CP2(src,dst,sfld,dfld) do { (dst).dfld = (src).sfld; } while (0) -#define PTRIN_CP(src,dst,fld) \ - do { (dst).fld = PTRIN((src).fld); } while (0) /* * Provide a separate set of types for the Linux types. Modified: head/sys/amd64/linux32/linux.h ============================================================================== --- head/sys/amd64/linux32/linux.h Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/amd64/linux32/linux.h Tue Apr 14 20:30:48 2020 (r359937) @@ -35,6 +35,8 @@ #ifndef _AMD64_LINUX_H_ #define _AMD64_LINUX_H_ +#include + #include #include @@ -51,14 +53,6 @@ #define LINUX32_MAXDSIZ (512 * 1024 * 1024) /* 512MB */ #define LINUX32_MAXSSIZ (64 * 1024 * 1024) /* 64MB */ #define LINUX32_MAXVMEM 0 /* Unlimited */ - -#define PTRIN(v) (void *)(uintptr_t)(v) -#define PTROUT(v) (l_uintptr_t)(uintptr_t)(v) - -#define CP(src,dst,fld) do { (dst).fld = (src).fld; } while (0) -#define CP2(src,dst,sfld,dfld) do { (dst).dfld = (src).sfld; } while (0) -#define PTRIN_CP(src,dst,fld) \ - do { (dst).fld = PTRIN((src).fld); } while (0) /* * Provide a separate set of types for the Linux types. Modified: head/sys/arm64/linux/linux.h ============================================================================== --- head/sys/arm64/linux/linux.h Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/arm64/linux/linux.h Tue Apr 14 20:30:48 2020 (r359937) @@ -31,18 +31,12 @@ #ifndef _ARM64_LINUX_H_ #define _ARM64_LINUX_H_ +#include + #include #include #define LINUX_DTRACE linuxulator - -#define PTRIN(v) (void *)(v) -#define PTROUT(v) (uintptr_t)(v) - -#define CP(src,dst,fld) do { (dst).fld = (src).fld; } while (0) -#define CP2(src,dst,sfld,dfld) do { (dst).dfld = (src).sfld; } while (0) -#define PTRIN_CP(src,dst,fld) \ - do { (dst).fld = PTRIN((src).fld); } while (0) /* Provide a separate set of types for the Linux types */ typedef int32_t l_int; Modified: head/sys/compat/freebsd32/freebsd32.h ============================================================================== --- head/sys/compat/freebsd32/freebsd32.h Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/compat/freebsd32/freebsd32.h Tue Apr 14 20:30:48 2020 (r359937) @@ -31,19 +31,11 @@ #ifndef _COMPAT_FREEBSD32_FREEBSD32_H_ #define _COMPAT_FREEBSD32_FREEBSD32_H_ +#include #include #include #include -#define PTRIN(v) (void *)(uintptr_t) (v) -#define PTROUT(v) (u_int32_t)(uintptr_t) (v) - -#define CP(src,dst,fld) do { (dst).fld = (src).fld; } while (0) -#define PTRIN_CP(src,dst,fld) \ - do { (dst).fld = PTRIN((src).fld); } while (0) -#define PTROUT_CP(src,dst,fld) \ - do { (dst).fld = PTROUT((src).fld); } while (0) - /* * i386 is the only arch with a 32-bit time_t */ @@ -57,37 +49,21 @@ struct timeval32 { time32_t tv_sec; int32_t tv_usec; }; -#define TV_CP(src,dst,fld) do { \ - CP((src).fld,(dst).fld,tv_sec); \ - CP((src).fld,(dst).fld,tv_usec); \ -} while (0) struct timespec32 { time32_t tv_sec; int32_t tv_nsec; }; -#define TS_CP(src,dst,fld) do { \ - CP((src).fld,(dst).fld,tv_sec); \ - CP((src).fld,(dst).fld,tv_nsec); \ -} while (0) struct itimerspec32 { struct timespec32 it_interval; struct timespec32 it_value; }; -#define ITS_CP(src, dst) do { \ - TS_CP((src), (dst), it_interval); \ - TS_CP((src), (dst), it_value); \ -} while (0) struct bintime32 { time32_t sec; uint32_t frac[2]; }; -#define BT_CP(src, dst, fld) do { \ - CP((src).fld, (dst).fld, sec); \ - *(uint64_t *)&(dst).fld.frac[0] = (src).fld.frac; \ -} while (0) struct rusage32 { struct timeval32 ru_utime; Modified: head/sys/compat/linux/linux_ioctl.c ============================================================================== --- head/sys/compat/linux/linux_ioctl.c Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/compat/linux/linux_ioctl.c Tue Apr 14 20:30:48 2020 (r359937) @@ -34,6 +34,9 @@ __FBSDID("$FreeBSD$"); #include #include #include +#ifdef COMPAT_LINUX32 +#include +#endif #include #include #include @@ -2543,12 +2546,6 @@ linux_ioctl_drm(struct thread *td, struct linux_ioctl_ } #ifdef COMPAT_LINUX32 -#define CP(src,dst,fld) do { (dst).fld = (src).fld; } while (0) -#define PTRIN_CP(src,dst,fld) \ - do { (dst).fld = PTRIN((src).fld); } while (0) -#define PTROUT_CP(src,dst,fld) \ - do { (dst).fld = PTROUT((src).fld); } while (0) - static int linux_ioctl_sg_io(struct thread *td, struct linux_ioctl_args *args) { Modified: head/sys/compat/linux/linux_timer.h ============================================================================== --- head/sys/compat/linux/linux_timer.h Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/compat/linux/linux_timer.h Tue Apr 14 20:30:48 2020 (r359937) @@ -33,6 +33,8 @@ #ifndef _LINUX_TIMER_H #define _LINUX_TIMER_H +#include + #ifndef __LINUX_ARCH_SIGEV_PREAMBLE_SIZE #define __LINUX_ARCH_SIGEV_PREAMBLE_SIZE \ (sizeof(l_int) * 2 + sizeof(l_sigval_t)) @@ -78,16 +80,6 @@ #define L_SIGEV_NONE 1 #define L_SIGEV_THREAD 2 #define L_SIGEV_THREAD_ID 4 - -#define TS_CP(src,dst,fld) do { \ - CP((src).fld,(dst).fld,tv_sec); \ - CP((src).fld,(dst).fld,tv_nsec); \ -} while (0) - -#define ITS_CP(src, dst) do { \ - TS_CP((src), (dst), it_interval); \ - TS_CP((src), (dst), it_value); \ -} while (0) struct l_sigevent { l_sigval_t sigev_value; Modified: head/sys/dev/ipmi/ipmi.c ============================================================================== --- head/sys/dev/ipmi/ipmi.c Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/dev/ipmi/ipmi.c Tue Apr 14 20:30:48 2020 (r359937) @@ -55,6 +55,10 @@ __FBSDID("$FreeBSD$"); #include #endif +#ifdef IPMICTL_SEND_COMMAND_32 +#include +#endif + /* * Driver request structures are allocated on the stack via alloca() to * avoid calling malloc(), especially for the watchdog handler. @@ -313,11 +317,6 @@ ipmi_handle_attn(struct ipmi_softc *sc) return (error); } -#endif - -#ifdef IPMICTL_SEND_COMMAND_32 -#define PTRIN(p) ((void *)(uintptr_t)(p)) -#define PTROUT(p) ((uintptr_t)(p)) #endif static int Modified: head/sys/dev/mpr/mpr_user.c ============================================================================== --- head/sys/dev/mpr/mpr_user.c Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/dev/mpr/mpr_user.c Tue Apr 14 20:30:48 2020 (r359937) @@ -74,6 +74,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -177,16 +178,6 @@ static int mpr_user_reg_access(struct mpr_softc *sc, m static int mpr_user_btdh(struct mpr_softc *sc, mpr_btdh_mapping_t *data); static MALLOC_DEFINE(M_MPRUSER, "mpr_user", "Buffers for mpr(4) ioctls"); - -/* Macros from compat/freebsd32/freebsd32.h */ -#define PTRIN(v) (void *)(uintptr_t)(v) -#define PTROUT(v) (uint32_t)(uintptr_t)(v) - -#define CP(src,dst,fld) do { (dst).fld = (src).fld; } while (0) -#define PTRIN_CP(src,dst,fld) \ - do { (dst).fld = PTRIN((src).fld); } while (0) -#define PTROUT_CP(src,dst,fld) \ - do { (dst).fld = PTROUT((src).fld); } while (0) /* * MPI functions that support IEEE SGLs for SAS3. Modified: head/sys/dev/mps/mps_user.c ============================================================================== --- head/sys/dev/mps/mps_user.c Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/dev/mps/mps_user.c Tue Apr 14 20:30:48 2020 (r359937) @@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -179,16 +180,6 @@ static int mps_user_reg_access(struct mps_softc *sc, m static int mps_user_btdh(struct mps_softc *sc, mps_btdh_mapping_t *data); MALLOC_DEFINE(M_MPSUSER, "mps_user", "Buffers for mps(4) ioctls"); - -/* Macros from compat/freebsd32/freebsd32.h */ -#define PTRIN(v) (void *)(uintptr_t)(v) -#define PTROUT(v) (uint32_t)(uintptr_t)(v) - -#define CP(src,dst,fld) do { (dst).fld = (src).fld; } while (0) -#define PTRIN_CP(src,dst,fld) \ - do { (dst).fld = PTRIN((src).fld); } while (0) -#define PTROUT_CP(src,dst,fld) \ - do { (dst).fld = PTROUT((src).fld); } while (0) int mps_attach_user(struct mps_softc *sc) Modified: head/sys/dev/mpt/mpt_user.c ============================================================================== --- head/sys/dev/mpt/mpt_user.c Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/dev/mpt/mpt_user.c Tue Apr 14 20:30:48 2020 (r359937) @@ -36,6 +36,9 @@ __FBSDID("$FreeBSD$"); #include +#ifdef __amd64__ +#include +#endif #include #include #include @@ -587,11 +590,6 @@ mpt_user_raid_action(struct mpt_softc *mpt, struct mpt mpt_free_request(mpt, req); return (0); } - -#ifdef __amd64__ -#define PTRIN(p) ((void *)(uintptr_t)(p)) -#define PTROUT(v) ((u_int32_t)(uintptr_t)(v)) -#endif static int mpt_ioctl(struct cdev *dev, u_long cmd, caddr_t arg, int flag, struct thread *td) Modified: head/sys/i386/linux/linux.h ============================================================================== --- head/sys/i386/linux/linux.h Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/i386/linux/linux.h Tue Apr 14 20:30:48 2020 (r359937) @@ -30,6 +30,7 @@ #ifndef _I386_LINUX_H_ #define _I386_LINUX_H_ +#include #include /* for sigval union */ #include @@ -41,14 +42,6 @@ #define LINUX_SHAREDPAGE (VM_MAXUSER_ADDRESS - PAGE_SIZE) #define LINUX_USRSTACK LINUX_SHAREDPAGE - -#define PTRIN(v) (void *)(v) -#define PTROUT(v) (l_uintptr_t)(v) - -#define CP(src,dst,fld) do { (dst).fld = (src).fld; } while (0) -#define CP2(src,dst,sfld,dfld) do { (dst).dfld = (src).sfld; } while (0) -#define PTRIN_CP(src,dst,fld) \ - do { (dst).fld = PTRIN((src).fld); } while (0) /* * Provide a separate set of types for the Linux types. Modified: head/sys/kern/sysv_sem.c ============================================================================== --- head/sys/kern/sysv_sem.c Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/kern/sysv_sem.c Tue Apr 14 20:30:48 2020 (r359937) @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -1751,10 +1752,6 @@ sys_semsys(td, uap) error = (*semcalls[uap->which])(td, &uap->a2); return (error); } - -#ifndef CP -#define CP(src, dst, fld) do { (dst).fld = (src).fld; } while (0) -#endif #ifndef _SYS_SYSPROTO_H_ struct freebsd7___semctl_args { Modified: head/sys/kern/sysv_shm.c ============================================================================== --- head/sys/kern/sysv_shm.c Tue Apr 14 20:20:08 2020 (r359936) +++ head/sys/kern/sysv_shm.c Tue Apr 14 20:30:48 2020 (r359937) @@ -75,6 +75,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include #include @@ -1592,10 +1593,6 @@ done: #if defined(COMPAT_FREEBSD4) || defined(COMPAT_FREEBSD5) || \ defined(COMPAT_FREEBSD6) || defined(COMPAT_FREEBSD7) - -#ifndef CP -#define CP(src, dst, fld) do { (dst).fld = (src).fld; } while (0) -#endif #ifndef _SYS_SYSPROTO_H_ struct freebsd7_shmctl_args { Added: head/sys/sys/abi_compat.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/sys/abi_compat.h Tue Apr 14 20:30:48 2020 (r359937) @@ -0,0 +1,77 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (c) 2001 Doug Rabson + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#ifndef _COMPAT_H_ +#define _COMPAT_H_ + +/* + * Helper macros for translating objects between different ABIs. + */ + +#define PTRIN(v) (void *)(uintptr_t)(v) +#define PTROUT(v) (uintptr_t)(v) + +#define CP(src, dst, fld) do { \ + (dst).fld = (src).fld; \ +} while (0) + +#define CP2(src, dst, sfld, dfld) do { \ + (dst).dfld = (src).sfld; \ +} while (0) + +#define PTRIN_CP(src, dst, fld) do { \ + (dst).fld = PTRIN((src).fld); \ +} while (0) + +#define PTROUT_CP(src, dst, fld) do { \ + (dst).fld = PTROUT((src).fld); \ +} while (0) + +#define TV_CP(src, dst, fld) do { \ + CP((src).fld, (dst).fld, tv_sec); \ + CP((src).fld, (dst).fld, tv_usec); \ +} while (0) + +#define TS_CP(src, dst, fld) do { \ + CP((src).fld, (dst).fld, tv_sec); \ + CP((src).fld, (dst).fld, tv_nsec); \ +} while (0) + +#define ITS_CP(src, dst) do { \ + TS_CP((src), (dst), it_interval); \ + TS_CP((src), (dst), it_value); \ +} while (0) + +#define BT_CP(src, dst, fld) do { \ + CP((src).fld, (dst).fld, sec); \ + *(uint64_t *)&(dst).fld.frac[0] = (src).fld.frac; \ +} while (0) + +#endif /* !_COMPAT_H_ */ From owner-svn-src-head@freebsd.org Tue Apr 14 20:53:13 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ED3AC2C9888; Tue, 14 Apr 2020 20:53:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 491yPP4pYqz3GTv; Tue, 14 Apr 2020 20:53:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 85F56B898; Tue, 14 Apr 2020 20:53:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EKrDDQ001308; Tue, 14 Apr 2020 20:53:13 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EKrDYl001307; Tue, 14 Apr 2020 20:53:13 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004142053.03EKrDYl001307@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Tue, 14 Apr 2020 20:53:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359938 - in head/sys: compat/freebsd32 kern X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in head/sys: compat/freebsd32 kern X-SVN-Commit-Revision: 359938 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 20:53:14 -0000 Author: brooks Date: Tue Apr 14 20:53:12 2020 New Revision: 359938 URL: https://svnweb.freebsd.org/changeset/base/359938 Log: Remove bogus use of useracc() in (clock_)nanosleep. There's no point in pre-checking that we can access the user's rmtp pointer before we do it in copyout(). While here, improve style(9) compliance. Reviewed by: imp MFC after: 1 week Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24409 Modified: head/sys/compat/freebsd32/freebsd32_misc.c head/sys/kern/kern_time.c Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Tue Apr 14 20:30:48 2020 (r359937) +++ head/sys/compat/freebsd32/freebsd32_misc.c Tue Apr 14 20:53:12 2020 (r359938) @@ -2651,7 +2651,7 @@ freebsd32_user_clock_nanosleep(struct thread *td, cloc { struct timespec32 rmt32, rqt32; struct timespec rmt, rqt; - int error; + int error, error2; error = copyin(ua_rqtp, &rqt32, sizeof(rqt32)); if (error) @@ -2660,18 +2660,13 @@ freebsd32_user_clock_nanosleep(struct thread *td, cloc CP(rqt32, rqt, tv_sec); CP(rqt32, rqt, tv_nsec); - if (ua_rmtp != NULL && (flags & TIMER_ABSTIME) == 0 && - !useracc(ua_rmtp, sizeof(rmt32), VM_PROT_WRITE)) - return (EFAULT); error = kern_clock_nanosleep(td, clock_id, flags, &rqt, &rmt); if (error == EINTR && ua_rmtp != NULL && (flags & TIMER_ABSTIME) == 0) { - int error2; - CP(rmt, rmt32, tv_sec); CP(rmt, rmt32, tv_nsec); error2 = copyout(&rmt32, ua_rmtp, sizeof(rmt32)); - if (error2) + if (error2 != 0) error = error2; } return (error); Modified: head/sys/kern/kern_time.c ============================================================================== --- head/sys/kern/kern_time.c Tue Apr 14 20:30:48 2020 (r359937) +++ head/sys/kern/kern_time.c Tue Apr 14 20:53:12 2020 (r359938) @@ -625,20 +625,15 @@ user_clock_nanosleep(struct thread *td, clockid_t cloc const struct timespec *ua_rqtp, struct timespec *ua_rmtp) { struct timespec rmt, rqt; - int error; + int error, error2; error = copyin(ua_rqtp, &rqt, sizeof(rqt)); if (error) return (error); - if (ua_rmtp != NULL && (flags & TIMER_ABSTIME) == 0 && - !useracc(ua_rmtp, sizeof(rmt), VM_PROT_WRITE)) - return (EFAULT); error = kern_clock_nanosleep(td, clock_id, flags, &rqt, &rmt); if (error == EINTR && ua_rmtp != NULL && (flags & TIMER_ABSTIME) == 0) { - int error2; - error2 = copyout(&rmt, ua_rmtp, sizeof(rmt)); - if (error2) + if (error2 != 0) error = error2; } return (error); From owner-svn-src-head@freebsd.org Tue Apr 14 22:08:38 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 19ACC2CAC8B; Tue, 14 Apr 2020 22:08:38 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-oi1-f195.google.com (mail-oi1-f195.google.com [209.85.167.195]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49204P6yb0z3Ltv; Tue, 14 Apr 2020 22:08:37 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-oi1-f195.google.com with SMTP id x10so2441357oie.1; Tue, 14 Apr 2020 15:08:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=n5pPKCsRB1khCt8Ti/rE2ZTKtJq5ChB+FYC/6w+xtcI=; b=YJPC+sCNZbYZdJoSadvN4TFbKvT8gOuL15vwjpWhp94gEhxb6s6It5Xq42oZNInrkX 2Z251lIX/r1HISrNgPSJ664G9wDSUZ5pVJaXsjPMAerAlZ6kxByB+3qar/xSRX2PSaaA whHvlUfw65JQz9KzjRxw8gXGzlbS8aD7XzBrMiidjN6+vP1/FBIYlSOy6MFRW6ueHmmq anV7DAKtziII9vkvu5XNP1Soyv0DhV6sVtImD02o6v6U1vU/OY1YubBszKJ4y2N0HllX 2bo9LQuFUpTRCpe573jIISa1ZJOduYuRYEx2Qpp97GqrkWNiWb+F+ZG71bDVkAwtzM9s vh2A== X-Gm-Message-State: AGi0Puab4yDoOVocbsS/k0su6GwJbqQlQYZ7udi+H6bE0qD1ouBejhQ2 KRWFkllapNAF4p06OOCaQyL4DQak X-Google-Smtp-Source: APiQypIDFQ/aqhE9LHy/h+RDIYX/NpU2p1UQC7hbpxP4TDTXwgFbwxrBOABin5TdHazbtearei4qqQ== X-Received: by 2002:a05:6808:a8e:: with SMTP id q14mr14841670oij.63.1586902116793; Tue, 14 Apr 2020 15:08:36 -0700 (PDT) Received: from mail-ot1-f41.google.com (mail-ot1-f41.google.com. [209.85.210.41]) by smtp.gmail.com with ESMTPSA id u127sm5835799oib.1.2020.04.14.15.08.36 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 14 Apr 2020 15:08:36 -0700 (PDT) Received: by mail-ot1-f41.google.com with SMTP id e20so1418194otl.2; Tue, 14 Apr 2020 15:08:36 -0700 (PDT) X-Received: by 2002:a05:6830:11d7:: with SMTP id v23mr20751549otq.216.1586902115954; Tue, 14 Apr 2020 15:08:35 -0700 (PDT) MIME-Version: 1.0 References: <202004142030.03EKUmOJ080400@repo.freebsd.org> In-Reply-To: <202004142030.03EKUmOJ080400@repo.freebsd.org> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Tue, 14 Apr 2020 15:08:24 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359937 - in head/sys: amd64/linux amd64/linux32 arm64/linux compat/freebsd32 compat/linux dev/ipmi dev/mpr dev/mps dev/mpt i386/linux kern sys To: Brooks Davis Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-Rspamd-Queue-Id: 49204P6yb0z3Ltv X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 22:08:38 -0000 Brooks, On Tue, Apr 14, 2020 at 13:31 Brooks Davis wrote: > Author: brooks > Date: Tue Apr 14 20:30:48 2020 > New Revision: 359937 > URL: https://svnweb.freebsd.org/changeset/base/359937 > > Log: > Centralize compatability translation macros. > > Copy the CP, PTRIN, etc macros from freebsd32.h into a sys/abi_compat.h > and replace existing definitation with includes where required. This > eliminates duplicate code and allows Linux and FreeBSD compatability > headers to be included in the same files. > > Input from: cem, jhb You dismissed my input, so I don=E2=80=99t think there=E2=80=99s a good rea= son to suggest I was involved with the revision. Conrad From owner-svn-src-head@freebsd.org Tue Apr 14 22:16:40 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CBDCC2CAE5B; Tue, 14 Apr 2020 22:16:40 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4920Fh4r2sz3MNv; Tue, 14 Apr 2020 22:16:40 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9CDB3C9F7; Tue, 14 Apr 2020 22:16:40 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EMGeSc061905; Tue, 14 Apr 2020 22:16:40 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EMGeWS061904; Tue, 14 Apr 2020 22:16:40 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004142216.03EMGeWS061904@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Tue, 14 Apr 2020 22:16:40 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359939 - head/sys/modules/dtb/allwinner X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/modules/dtb/allwinner X-SVN-Commit-Revision: 359939 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 22:16:40 -0000 Author: manu Date: Tue Apr 14 22:16:40 2020 New Revision: 359939 URL: https://svnweb.freebsd.org/changeset/base/359939 Log: modules: dtb: allwinner: Remove sun50i-a64-sid.dtso File was removed in r359935 MFC after: 2 month X-MFC-With: r359935 Modified: head/sys/modules/dtb/allwinner/Makefile Modified: head/sys/modules/dtb/allwinner/Makefile ============================================================================== --- head/sys/modules/dtb/allwinner/Makefile Tue Apr 14 20:53:12 2020 (r359938) +++ head/sys/modules/dtb/allwinner/Makefile Tue Apr 14 22:16:40 2020 (r359939) @@ -51,7 +51,6 @@ DTS= \ DTSO= sun50i-a64-opp.dtso \ sun50i-a64-pwm.dtso \ sun50i-a64-rpwm.dtso \ - sun50i-a64-sid.dtso \ sun50i-a64-spi0-spigen.dtso \ sun50i-a64-timer.dtso \ sun50i-h5-opp.dtso \ From owner-svn-src-head@freebsd.org Tue Apr 14 22:37:43 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 62B3E2CB7B9; Tue, 14 Apr 2020 22:37:43 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4920jy5gm8z3NyZ; Tue, 14 Apr 2020 22:37:42 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 8F4003C0199; Tue, 14 Apr 2020 22:37:36 +0000 (UTC) Date: Tue, 14 Apr 2020 22:37:36 +0000 From: Brooks Davis To: Conrad Meyer Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359937 - in head/sys: amd64/linux amd64/linux32 arm64/linux compat/freebsd32 compat/linux dev/ipmi dev/mpr dev/mps dev/mpt i386/linux kern sys Message-ID: <20200414223736.GA78726@spindle.one-eyed-alien.net> References: <202004142030.03EKUmOJ080400@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="YZ5djTAD1cGYuMQK" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Rspamd-Queue-Id: 4920jy5gm8z3NyZ X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 22:37:43 -0000 --YZ5djTAD1cGYuMQK Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 14, 2020 at 03:08:24PM -0700, Conrad Meyer wrote: > Brooks, >=20 > On Tue, Apr 14, 2020 at 13:31 Brooks Davis wrote: >=20 > > Author: brooks > > Date: Tue Apr 14 20:30:48 2020 > > New Revision: 359937 > > URL: https://svnweb.freebsd.org/changeset/base/359937 > > > > Log: > > Centralize compatability translation macros. > > > > Copy the CP, PTRIN, etc macros from freebsd32.h into a sys/abi_compat= =2Eh > > and replace existing definitation with includes where required. This > > eliminates duplicate code and allows Linux and FreeBSD compatability > > headers to be included in the same files. > > > > Input from: cem, jhb >=20 >=20 > You dismissed my input, so I don???t think there???s a good reason to sug= gest I > was involved with the revision. I apologize. I did make some (admittedly trivial) changes in response to your feedback and thought it was worth a mention. Your other proposed suggestions do seem worth exploring, but they were an enormous expansion of scope from a tiny bit of code consolidation to touching a large portion of macro sites. -- Brooks --YZ5djTAD1cGYuMQK Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJeljsvAAoJEKzQXbSebgfAY0wIAI97gpft0KBgvTP2z58mBLbU n1jdfZh7Pf5ahr50MErTS4SlVBQJnEv8VbBmz1YPoj+4LvTRGNrc3GJ+h++zPR1M GJ8FC9kDJk6ltq6hzw0GqVPDXrwuOoJaILmlfHv56dyEKWXoC9/mbMW7pKDlr1gD ZSiJyCfpD3jhA4GD34Pl6UmHx+2ccKhYmprbrR5jtY8Xo6CrAcPzcGIpx4F3BrxD NMqd1Gqf4i7FNkMsaUIfoRYAt1receh4LZ+XQAHcn2W9nPf9InoIg/KSxQUy2cf9 gnl6HT9rIglBb27af34ETmMiG5BeYNSRFINBgjQjNYPLKRy+/itJNUWDx+0cClY= =MZ+3 -----END PGP SIGNATURE----- --YZ5djTAD1cGYuMQK-- From owner-svn-src-head@freebsd.org Tue Apr 14 22:48:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C6F452CBD68; Tue, 14 Apr 2020 22:48:34 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4920yV4wtDz3Q1y; Tue, 14 Apr 2020 22:48:34 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A4452CFFA; Tue, 14 Apr 2020 22:48:34 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EMmYnJ083289; Tue, 14 Apr 2020 22:48:34 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EMmYFw083283; Tue, 14 Apr 2020 22:48:34 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004142248.03EMmYFw083283@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Tue, 14 Apr 2020 22:48:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359940 - in head/sys: net netinet6 X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: in head/sys: net netinet6 X-SVN-Commit-Revision: 359940 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 22:48:34 -0000 Author: melifaro Date: Tue Apr 14 22:48:33 2020 New Revision: 359940 URL: https://svnweb.freebsd.org/changeset/base/359940 Log: Reorganise nd6 notification code to avoid direct rtentry field access. One of the goals of the new routing KPI defined in r359823 is to entirely hide `struct rtentry` from the consumers. Doing so will allow to improve routing subsystem internals and deliver features more easily. This change is one of the ongoing changes to eliminate direct struct rtentry field accesses. It introduces rtfree_func() wrapper around RTFREE() and reorganises nd6 notification code to avoid accessing most of the rtentry fields. Reviewed by: ae Differential Revision: https://reviews.freebsd.org/D24404 Modified: head/sys/net/route.c head/sys/net/route.h head/sys/netinet6/nd6_rtr.c Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Tue Apr 14 22:16:40 2020 (r359939) +++ head/sys/net/route.c Tue Apr 14 22:48:33 2020 (r359940) @@ -604,6 +604,18 @@ done: } /* + * Temporary RTFREE() function wrapper. + * Intended to use in control plane code to + * avoid exposing internal layout of 'struct rtentry'. + */ +void +rtfree_func(struct rtentry *rt) +{ + + RTFREE(rt); +} + +/* * Adds a temporal redirect entry to the routing table. * @fibnum: fib number * @dst: destination to install redirect to Modified: head/sys/net/route.h ============================================================================== --- head/sys/net/route.h Tue Apr 14 22:16:40 2020 (r359939) +++ head/sys/net/route.h Tue Apr 14 22:48:33 2020 (r359940) @@ -422,6 +422,8 @@ struct rt_addrinfo { RTFREE_LOCKED(_rt); \ } while (0) +#define RTFREE_FUNC(_rt) rtfree_func(_rt) + #define RO_RTFREE(_ro) do { \ if ((_ro)->ro_rt) \ RTFREE((_ro)->ro_rt); \ @@ -482,6 +484,7 @@ int rtsock_routemsg_info(int, struct rt_addrinfo *, in */ void rtfree(struct rtentry *); +void rtfree_func(struct rtentry *); void rt_updatemtu(struct ifnet *); typedef int rt_walktree_f_t(struct rtentry *, void *); Modified: head/sys/netinet6/nd6_rtr.c ============================================================================== --- head/sys/netinet6/nd6_rtr.c Tue Apr 14 22:16:40 2020 (r359939) +++ head/sys/netinet6/nd6_rtr.c Tue Apr 14 22:48:33 2020 (r359940) @@ -603,14 +603,6 @@ nd6_ra_input(struct mbuf *m, int off, int icmp6len) m_freem(m); } -/* tell the change to user processes watching the routing socket. */ -static void -nd6_rtmsg(int cmd, struct rtentry *rt) -{ - - rt_routemsg(cmd, rt, rt->rt_ifp, 0, rt->rt_fibnum); -} - /* PFXRTR */ static struct nd_pfxrouter * pfxrtr_lookup(struct nd_prefix *pr, struct nd_defrouter *dr) @@ -681,6 +673,7 @@ defrouter_addreq(struct nd_defrouter *new) { struct sockaddr_in6 def, mask, gate; struct rtentry *newrt = NULL; + unsigned int fibnum; int error; bzero(&def, sizeof(def)); @@ -691,13 +684,14 @@ defrouter_addreq(struct nd_defrouter *new) sizeof(struct sockaddr_in6); def.sin6_family = gate.sin6_family = AF_INET6; gate.sin6_addr = new->rtaddr; + fibnum = new->ifp->if_fib; error = in6_rtrequest(RTM_ADD, (struct sockaddr *)&def, (struct sockaddr *)&gate, (struct sockaddr *)&mask, - RTF_GATEWAY, &newrt, new->ifp->if_fib); + RTF_GATEWAY, &newrt, fibnum); if (newrt) { - nd6_rtmsg(RTM_ADD, newrt); /* tell user process */ - RTFREE(newrt); + rt_routemsg(RTM_ADD, newrt, new->ifp, 0, fibnum); + RTFREE_FUNC(newrt); } if (error == 0) new->installed = 1; @@ -713,6 +707,7 @@ defrouter_delreq(struct nd_defrouter *dr) { struct sockaddr_in6 def, mask, gate; struct rtentry *oldrt = NULL; + unsigned int fibnum; bzero(&def, sizeof(def)); bzero(&mask, sizeof(mask)); @@ -722,13 +717,14 @@ defrouter_delreq(struct nd_defrouter *dr) sizeof(struct sockaddr_in6); def.sin6_family = gate.sin6_family = AF_INET6; gate.sin6_addr = dr->rtaddr; + fibnum = dr->ifp->if_fib; in6_rtrequest(RTM_DELETE, (struct sockaddr *)&def, (struct sockaddr *)&gate, - (struct sockaddr *)&mask, RTF_GATEWAY, &oldrt, dr->ifp->if_fib); + (struct sockaddr *)&mask, RTF_GATEWAY, &oldrt, fibnum); if (oldrt) { - nd6_rtmsg(RTM_DELETE, oldrt); - RTFREE(oldrt); + rt_routemsg(RTM_DELETE, oldrt, dr->ifp, 0, fibnum); + RTFREE_FUNC(oldrt); } dr->installed = 0; @@ -2044,15 +2040,7 @@ nd6_prefix_onlink_rtrequest(struct nd_prefix *pr, stru error = in6_rtrequest(RTM_ADD, (struct sockaddr *)&pr->ndpr_prefix, (struct sockaddr *)&sdl, (struct sockaddr *)&mask6, rtflags, &rt, fibnum); - if (error == 0) { - KASSERT(rt != NULL, ("%s: in6_rtrequest return no " - "error(%d) but rt is NULL, pr=%p, ifa=%p", __func__, - error, pr, ifa)); - RT_LOCK(rt); - nd6_rtmsg(RTM_ADD, rt); - RT_UNLOCK(rt); - pr->ndpr_stateflags |= NDPRF_ONLINK; - } else { + if (error != 0) { char ip6buf[INET6_ADDRSTRLEN]; char ip6bufg[INET6_ADDRSTRLEN]; char ip6bufm[INET6_ADDRSTRLEN]; @@ -2070,13 +2058,12 @@ nd6_prefix_onlink_rtrequest(struct nd_prefix *pr, stru /* Save last error to return, see rtinit(). */ a_failure = error; + continue; } - if (rt != NULL) { - RT_LOCK(rt); - RT_REMREF(rt); - RT_UNLOCK(rt); - } + pr->ndpr_stateflags |= NDPRF_ONLINK; + rt_routemsg(RTM_ADD, rt, pr->ndpr_ifp, 0, fibnum); + RTFREE_FUNC(rt); } /* Return the last error we got. */ @@ -2209,17 +2196,15 @@ nd6_prefix_offlink(struct nd_prefix *pr) rt = NULL; error = in6_rtrequest(RTM_DELETE, (struct sockaddr *)&sa6, NULL, (struct sockaddr *)&mask6, 0, &rt, fibnum); - if (error == 0) { - /* report the route deletion to the routing socket. */ - if (rt != NULL) - nd6_rtmsg(RTM_DELETE, rt); - } else { + if (error != 0) { /* Save last error to return, see rtinit(). */ a_failure = error; + continue; } - if (rt != NULL) { - RTFREE(rt); - } + + /* report route deletion to the routing socket. */ + rt_routemsg(RTM_DELETE, rt, ifp, 0, fibnum); + RTFREE_FUNC(rt); } error = a_failure; a_failure = 1; From owner-svn-src-head@freebsd.org Tue Apr 14 22:57:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5D39D2CC28F; Tue, 14 Apr 2020 22:57:22 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49218f1sTJz3QmS; Tue, 14 Apr 2020 22:57:22 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3AF4DD284; Tue, 14 Apr 2020 22:57:22 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EMvMHB090400; Tue, 14 Apr 2020 22:57:22 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EMvLup090397; Tue, 14 Apr 2020 22:57:21 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004142257.03EMvLup090397@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Tue, 14 Apr 2020 22:57:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359941 - in head/sys/fs: nfsclient nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys/fs: nfsclient nfsserver X-SVN-Commit-Revision: 359941 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 22:57:22 -0000 Author: rmacklem Date: Tue Apr 14 22:57:21 2020 New Revision: 359941 URL: https://svnweb.freebsd.org/changeset/base/359941 Log: Fix the NFSv2 extended attribute support to handle 0 length attributes. I did not realize that zero length attributes are allowed, but they are. This patch fixes the NFSv4.2 client and server to handle zero length extended attributes correctly. Submitted by: Frank van der Linden (earlier version) Reported by: Frank van der Linden Modified: head/sys/fs/nfsclient/nfs_clrpcops.c head/sys/fs/nfsclient/nfs_clvnops.c head/sys/fs/nfsserver/nfs_nfsdport.c head/sys/fs/nfsserver/nfs_nfsdserv.c Modified: head/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clrpcops.c Tue Apr 14 22:48:33 2020 (r359940) +++ head/sys/fs/nfsclient/nfs_clrpcops.c Tue Apr 14 22:57:21 2020 (r359941) @@ -8341,7 +8341,7 @@ nfsrpc_getextattr(vnode_t vp, const char *name, struct } else if (uiop == NULL && len > 0) { /* Just wants the length and not the data. */ error = nfsm_advance(nd, NFSM_RNDUP(len), -1); - } else + } else if (len > 0) error = ENOATTR; if (error != 0) goto nfsmout; Modified: head/sys/fs/nfsclient/nfs_clvnops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clvnops.c Tue Apr 14 22:48:33 2020 (r359940) +++ head/sys/fs/nfsclient/nfs_clvnops.c Tue Apr 14 22:57:21 2020 (r359941) @@ -3982,7 +3982,7 @@ nfs_setextattr(struct vop_setextattr_args *ap) } mtx_unlock(&nmp->nm_mtx); - if (ap->a_uio->uio_resid <= 0) + if (ap->a_uio->uio_resid < 0) return (EINVAL); cred = ap->a_cred; if (cred == NULL) Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Tue Apr 14 22:48:33 2020 (r359940) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Tue Apr 14 22:57:21 2020 (r359941) @@ -6159,8 +6159,14 @@ nfsvno_getxattr(struct vnode *vp, char *name, uint32_t return (NFSERR_XATTR2BIG); len = siz; tlen = NFSM_RNDUP(len); - uiop->uio_iovcnt = nfsrv_createiovec(tlen, &m, &m2, &iv); - uiop->uio_iov = iv; + if (tlen > 0) { + uiop->uio_iovcnt = nfsrv_createiovec(tlen, &m, &m2, &iv); + uiop->uio_iov = iv; + } else { + uiop->uio_iovcnt = 0; + uiop->uio_iov = iv = NULL; + m = m2 = NULL; + } uiop->uio_offset = 0; uiop->uio_resid = tlen; uiop->uio_rw = UIO_READ; @@ -6173,8 +6179,9 @@ nfsvno_getxattr(struct vnode *vp, char *name, uint32_t goto out; #endif - error = VOP_GETEXTATTR(vp, EXTATTR_NAMESPACE_USER, name, uiop, NULL, - cred, p); + if (tlen > 0) + error = VOP_GETEXTATTR(vp, EXTATTR_NAMESPACE_USER, name, uiop, + NULL, cred, p); if (error != 0) goto out; if (uiop->uio_resid > 0) { @@ -6191,7 +6198,8 @@ nfsvno_getxattr(struct vnode *vp, char *name, uint32_t out: if (error != 0) { - m_freem(m); + if (m != NULL) + m_freem(m); *lenp = 0; } free(iv, M_TEMP); @@ -6223,9 +6231,14 @@ nfsvno_setxattr(struct vnode *vp, char *name, int len, uiop->uio_td = p; uiop->uio_offset = 0; uiop->uio_resid = len; - error = nfsrv_createiovecw(len, m, cp, &iv, &cnt); - uiop->uio_iov = iv; - uiop->uio_iovcnt = cnt; + if (len > 0) { + error = nfsrv_createiovecw(len, m, cp, &iv, &cnt); + uiop->uio_iov = iv; + uiop->uio_iovcnt = cnt; + } else { + uiop->uio_iov = iv = NULL; + uiop->uio_iovcnt = 0; + } if (error == 0) { error = VOP_SETEXTATTR(vp, EXTATTR_NAMESPACE_USER, name, uiop, cred, p); Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Tue Apr 14 22:48:33 2020 (r359940) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Tue Apr 14 22:57:21 2020 (r359941) @@ -5564,9 +5564,11 @@ nfsrvd_getxattr(struct nfsrv_descript *nd, __unused in if (nd->nd_repstat == 0) { NFSM_BUILD(tl, uint32_t *, NFSX_UNSIGNED); *tl = txdr_unsigned(len); - nd->nd_mb->m_next = mp; - nd->nd_mb = mpend; - nd->nd_bpos = mtod(mpend, caddr_t) + mpend->m_len; + if (len > 0) { + nd->nd_mb->m_next = mp; + nd->nd_mb = mpend; + nd->nd_bpos = mtod(mpend, caddr_t) + mpend->m_len; + } } free(name, M_TEMP); @@ -5616,7 +5618,7 @@ nfsrvd_setxattr(struct nfsrv_descript *nd, __unused in goto nfsmout; NFSM_DISSECT(tl, uint32_t *, NFSX_UNSIGNED); len = fxdr_unsigned(int, *tl); - if (len <= 0 || len > IOSIZE_MAX) { + if (len < 0 || len > IOSIZE_MAX) { nd->nd_repstat = NFSERR_XATTR2BIG; goto nfsmout; } @@ -5652,7 +5654,7 @@ nfsrvd_setxattr(struct nfsrv_descript *nd, __unused in if (nd->nd_repstat == ENXIO) nd->nd_repstat = NFSERR_XATTR2BIG; } - if (nd->nd_repstat == 0) + if (nd->nd_repstat == 0 && len > 0) nd->nd_repstat = nfsm_advance(nd, NFSM_RNDUP(len), -1); if (nd->nd_repstat == 0) nd->nd_repstat = nfsvno_getattr(vp, &nva, nd, p, 1, &attrbits); From owner-svn-src-head@freebsd.org Tue Apr 14 23:06:27 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7F67C2CC52E; Tue, 14 Apr 2020 23:06:27 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4921M739XYz3RD4; Tue, 14 Apr 2020 23:06:27 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 63B44D45E; Tue, 14 Apr 2020 23:06:27 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03EN6RUw096383; Tue, 14 Apr 2020 23:06:27 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03EN6Qvc096375; Tue, 14 Apr 2020 23:06:26 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004142306.03EN6Qvc096375@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Tue, 14 Apr 2020 23:06:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359942 - in head/sys: netinet netinet6 X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: in head/sys: netinet netinet6 X-SVN-Commit-Revision: 359942 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 23:06:27 -0000 Author: melifaro Date: Tue Apr 14 23:06:25 2020 New Revision: 359942 URL: https://svnweb.freebsd.org/changeset/base/359942 Log: Convert IP/IPv6 forwarding, ICMP processing and IP PCB laddr selection to the new routing KPI. Reviewed by: ae Differential Revision: https://reviews.freebsd.org/D24245 Modified: head/sys/netinet/icmp6.h head/sys/netinet/in_pcb.c head/sys/netinet/ip_fastfwd.c head/sys/netinet/ip_icmp.c head/sys/netinet6/icmp6.c head/sys/netinet6/ip6_fastfwd.c head/sys/netinet6/ip6_forward.c Modified: head/sys/netinet/icmp6.h ============================================================================== --- head/sys/netinet/icmp6.h Tue Apr 14 22:57:21 2020 (r359941) +++ head/sys/netinet/icmp6.h Tue Apr 14 23:06:25 2020 (r359942) @@ -693,7 +693,7 @@ void kmod_icmp6stat_inc(int statnum); #ifdef _KERNEL # ifdef __STDC__ -struct rtentry; +struct nhop_object; struct rttimer; struct in6_multi; # endif @@ -705,7 +705,7 @@ void icmp6_fasttimo(void); void icmp6_slowtimo(void); void icmp6_prepare(struct mbuf *); void icmp6_redirect_input(struct mbuf *, int); -void icmp6_redirect_output(struct mbuf *, struct rtentry *); +void icmp6_redirect_output(struct mbuf *, struct nhop_object *); struct ip6ctlparam; void icmp6_mtudisc_update(struct ip6ctlparam *, int); Modified: head/sys/netinet/in_pcb.c ============================================================================== --- head/sys/netinet/in_pcb.c Tue Apr 14 22:57:21 2020 (r359941) +++ head/sys/netinet/in_pcb.c Tue Apr 14 23:06:25 2020 (r359942) @@ -88,6 +88,7 @@ __FBSDID("$FreeBSD$"); #include #ifdef INET #include +#include #endif #include #include @@ -102,6 +103,7 @@ __FBSDID("$FreeBSD$"); #include #include #endif /* INET6 */ +#include #endif #include @@ -1033,8 +1035,8 @@ in_pcbladdr(struct inpcb *inp, struct in_addr *faddr, { struct ifaddr *ifa; struct sockaddr *sa; - struct sockaddr_in *sin; - struct route sro; + struct sockaddr_in *sin, dst; + struct nhop_object *nh; int error; NET_EPOCH_ASSERT(); @@ -1047,9 +1049,10 @@ in_pcbladdr(struct inpcb *inp, struct in_addr *faddr, return (0); error = 0; - bzero(&sro, sizeof(sro)); - sin = (struct sockaddr_in *)&sro.ro_dst; + nh = NULL; + bzero(&dst, sizeof(dst)); + sin = &dst; sin->sin_family = AF_INET; sin->sin_len = sizeof(struct sockaddr_in); sin->sin_addr.s_addr = faddr->s_addr; @@ -1061,7 +1064,8 @@ in_pcbladdr(struct inpcb *inp, struct in_addr *faddr, * Find out route to destination. */ if ((inp->inp_socket->so_options & SO_DONTROUTE) == 0) - in_rtalloc_ign(&sro, 0, inp->inp_inc.inc_fibnum); + nh = fib4_lookup(inp->inp_inc.inc_fibnum, *faddr, + 0, NHR_NONE, 0); /* * If we found a route, use the address corresponding to @@ -1071,7 +1075,7 @@ in_pcbladdr(struct inpcb *inp, struct in_addr *faddr, * network and try to find a corresponding interface to take * the source address from. */ - if (sro.ro_rt == NULL || sro.ro_rt->rt_ifp == NULL) { + if (nh == NULL || nh->nh_ifp == NULL) { struct in_ifaddr *ia; struct ifnet *ifp; @@ -1124,22 +1128,22 @@ in_pcbladdr(struct inpcb *inp, struct in_addr *faddr, * belonging to this jail. If so use it. * 3. as a last resort return the 'default' jail address. */ - if ((sro.ro_rt->rt_ifp->if_flags & IFF_LOOPBACK) == 0) { + if ((nh->nh_ifp->if_flags & IFF_LOOPBACK) == 0) { struct in_ifaddr *ia; struct ifnet *ifp; /* If not jailed, use the default returned. */ if (cred == NULL || !prison_flag(cred, PR_IP4)) { - ia = (struct in_ifaddr *)sro.ro_rt->rt_ifa; + ia = (struct in_ifaddr *)nh->nh_ifa; laddr->s_addr = ia->ia_addr.sin_addr.s_addr; goto done; } /* Jailed. */ /* 1. Check if the iface address belongs to the jail. */ - sin = (struct sockaddr_in *)sro.ro_rt->rt_ifa->ifa_addr; + sin = (struct sockaddr_in *)nh->nh_ifa->ifa_addr; if (prison_check_ip4(cred, &sin->sin_addr) == 0) { - ia = (struct in_ifaddr *)sro.ro_rt->rt_ifa; + ia = (struct in_ifaddr *)nh->nh_ifa; laddr->s_addr = ia->ia_addr.sin_addr.s_addr; goto done; } @@ -1149,7 +1153,7 @@ in_pcbladdr(struct inpcb *inp, struct in_addr *faddr, * belonging to this jail. */ ia = NULL; - ifp = sro.ro_rt->rt_ifp; + ifp = nh->nh_ifp; CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { sa = ifa->ifa_addr; if (sa->sa_family != AF_INET) @@ -1179,22 +1183,16 @@ in_pcbladdr(struct inpcb *inp, struct in_addr *faddr, * In case of jails, check that it is an address of the jail * and if we cannot find, fall back to the 'default' jail address. */ - if ((sro.ro_rt->rt_ifp->if_flags & IFF_LOOPBACK) != 0) { - struct sockaddr_in sain; + if ((nh->nh_ifp->if_flags & IFF_LOOPBACK) != 0) { struct in_ifaddr *ia; - bzero(&sain, sizeof(struct sockaddr_in)); - sain.sin_family = AF_INET; - sain.sin_len = sizeof(struct sockaddr_in); - sain.sin_addr.s_addr = faddr->s_addr; - - ia = ifatoia(ifa_ifwithdstaddr(sintosa(&sain), + ia = ifatoia(ifa_ifwithdstaddr(sintosa(&dst), inp->inp_socket->so_fibnum)); if (ia == NULL) - ia = ifatoia(ifa_ifwithnet(sintosa(&sain), 0, + ia = ifatoia(ifa_ifwithnet(sintosa(&dst), 0, inp->inp_socket->so_fibnum)); if (ia == NULL) - ia = ifatoia(ifa_ifwithaddr(sintosa(&sain))); + ia = ifatoia(ifa_ifwithaddr(sintosa(&dst))); if (cred == NULL || !prison_flag(cred, PR_IP4)) { if (ia == NULL) { @@ -1234,8 +1232,6 @@ in_pcbladdr(struct inpcb *inp, struct in_addr *faddr, } done: - if (sro.ro_rt != NULL) - RTFREE(sro.ro_rt); return (error); } Modified: head/sys/netinet/ip_fastfwd.c ============================================================================== --- head/sys/netinet/ip_fastfwd.c Tue Apr 14 22:57:21 2020 (r359941) +++ head/sys/netinet/ip_fastfwd.c Tue Apr 14 23:06:25 2020 (r359942) @@ -96,6 +96,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -111,11 +112,13 @@ __FBSDID("$FreeBSD$"); #include static int -ip_findroute(struct nhop4_basic *pnh, struct in_addr dest, struct mbuf *m) +ip_findroute(struct nhop_object **pnh, struct in_addr dest, struct mbuf *m) { + struct nhop_object *nh; - bzero(pnh, sizeof(*pnh)); - if (fib4_lookup_nh_basic(M_GETFIB(m), dest, 0, 0, pnh) != 0) { + nh = fib4_lookup(M_GETFIB(m), dest, 0, NHR_NONE, + m->m_pkthdr.flowid); + if (nh == NULL) { IPSTAT_INC(ips_noroute); IPSTAT_INC(ips_cantforward); icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_HOST, 0, 0); @@ -124,18 +127,20 @@ ip_findroute(struct nhop4_basic *pnh, struct in_addr d /* * Drop blackholed traffic and directed broadcasts. */ - if ((pnh->nh_flags & (NHF_BLACKHOLE | NHF_BROADCAST)) != 0) { + if ((nh->nh_flags & (NHF_BLACKHOLE | NHF_BROADCAST)) != 0) { IPSTAT_INC(ips_cantforward); m_freem(m); return (EHOSTUNREACH); } - if (pnh->nh_flags & NHF_REJECT) { + if (nh->nh_flags & NHF_REJECT) { IPSTAT_INC(ips_cantforward); icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_HOST, 0, 0); return (EHOSTUNREACH); } + *pnh = nh; + return (0); } @@ -151,7 +156,7 @@ ip_tryforward(struct mbuf *m) { struct ip *ip; struct mbuf *m0 = NULL; - struct nhop4_basic nh; + struct nhop_object *nh; struct sockaddr_in dst; struct in_addr dest, odest, rtdest; uint16_t ip_len, ip_off; @@ -323,7 +328,7 @@ passin: if (!PFIL_HOOKED_OUT(V_inet_pfil_head)) goto passout; - if (pfil_run_hooks(V_inet_pfil_head, &m, nh.nh_ifp, + if (pfil_run_hooks(V_inet_pfil_head, &m, nh->nh_ifp, PFIL_OUT | PFIL_FWD, NULL) != PFIL_PASS) goto drop; @@ -376,12 +381,15 @@ passout: bzero(&dst, sizeof(dst)); dst.sin_family = AF_INET; dst.sin_len = sizeof(dst); - dst.sin_addr = nh.nh_addr; + if (nh->nh_flags & NHF_GATEWAY) + dst.sin_addr = nh->gw4_sa.sin_addr; + else + dst.sin_addr = dest; /* * Check if packet fits MTU or if hardware will fragment for us */ - if (ip_len <= nh.nh_mtu) { + if (ip_len <= nh->nh_mtu) { /* * Avoid confusing lower layers. */ @@ -389,8 +397,8 @@ passout: /* * Send off the packet via outgoing interface */ - IP_PROBE(send, NULL, NULL, ip, nh.nh_ifp, ip, NULL); - error = (*nh.nh_ifp->if_output)(nh.nh_ifp, m, + IP_PROBE(send, NULL, NULL, ip, nh->nh_ifp, ip, NULL); + error = (*nh->nh_ifp->if_output)(nh->nh_ifp, m, (struct sockaddr *)&dst, NULL); } else { /* @@ -399,15 +407,15 @@ passout: if (ip_off & IP_DF) { IPSTAT_INC(ips_cantfrag); icmp_error(m, ICMP_UNREACH, ICMP_UNREACH_NEEDFRAG, - 0, nh.nh_mtu); + 0, nh->nh_mtu); goto consumed; } else { /* * We have to fragment the packet */ m->m_pkthdr.csum_flags |= CSUM_IP; - if (ip_fragment(ip, &m, nh.nh_mtu, - nh.nh_ifp->if_hwassist) != 0) + if (ip_fragment(ip, &m, nh->nh_mtu, + nh->nh_ifp->if_hwassist) != 0) goto drop; KASSERT(m != NULL, ("null mbuf and no error")); /* @@ -423,10 +431,9 @@ passout: m_clrprotoflags(m); IP_PROBE(send, NULL, NULL, - mtod(m, struct ip *), nh.nh_ifp, + mtod(m, struct ip *), nh->nh_ifp, mtod(m, struct ip *), NULL); - /* XXX: we can use cached route here */ - error = (*nh.nh_ifp->if_output)(nh.nh_ifp, m, + error = (*nh->nh_ifp->if_output)(nh->nh_ifp, m, (struct sockaddr *)&dst, NULL); if (error) break; Modified: head/sys/netinet/ip_icmp.c ============================================================================== --- head/sys/netinet/ip_icmp.c Tue Apr 14 22:57:21 2020 (r359941) +++ head/sys/netinet/ip_icmp.c Tue Apr 14 23:06:25 2020 (r359942) @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -945,7 +946,7 @@ static int icmp_verify_redirect_gateway(struct sockaddr_in *src, struct sockaddr_in *dst, struct sockaddr_in *gateway, u_int fibnum) { - struct rtentry *rt; + struct nhop_object *nh; struct ifaddr *ifa; NET_EPOCH_ASSERT(); @@ -958,8 +959,8 @@ icmp_verify_redirect_gateway(struct sockaddr_in *src, if (ifa_ifwithaddr_check((struct sockaddr *)gateway)) return (EHOSTUNREACH); - rt = rtalloc1_fib((struct sockaddr *)dst, 0, 0UL, fibnum); /* NB: rt is locked */ - if (rt == NULL) + nh = fib4_lookup(fibnum, dst->sin_addr, 0, NHR_NONE, 0); + if (nh == NULL) return (EINVAL); /* @@ -968,28 +969,19 @@ icmp_verify_redirect_gateway(struct sockaddr_in *src, * we have a routing loop, perhaps as a result of an interface * going down recently. */ - if (!sa_equal((struct sockaddr *)src, rt->rt_gateway)) { - RTFREE_LOCKED(rt); + if (!sa_equal((struct sockaddr *)src, &nh->gw_sa)) return (EINVAL); - } - if (rt->rt_ifa != ifa && ifa->ifa_addr->sa_family != AF_LINK) { - RTFREE_LOCKED(rt); + if (nh->nh_ifa != ifa && ifa->ifa_addr->sa_family != AF_LINK) return (EINVAL); - } /* If host route already exists, ignore redirect. */ - if (rt->rt_flags & RTF_HOST) { - RTFREE_LOCKED(rt); + if (nh->nh_flags & NHF_HOST) return (EEXIST); - } /* If the prefix is directly reachable, ignore redirect. */ - if (!(rt->rt_flags & RTF_GATEWAY)) { - RTFREE_LOCKED(rt); + if (!(nh->nh_flags & NHF_GATEWAY)) return (EEXIST); - } - RTFREE_LOCKED(rt); return (0); } Modified: head/sys/netinet6/icmp6.c ============================================================================== --- head/sys/netinet6/icmp6.c Tue Apr 14 22:57:21 2020 (r359941) +++ head/sys/netinet6/icmp6.c Tue Apr 14 23:06:25 2020 (r359942) @@ -93,6 +93,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -2412,7 +2413,7 @@ icmp6_redirect_input(struct mbuf *m, int off) } void -icmp6_redirect_output(struct mbuf *m0, struct rtentry *rt) +icmp6_redirect_output(struct mbuf *m0, struct nhop_object *nh) { struct ifnet *ifp; /* my outgoing interface */ struct in6_addr *ifp_ll6; @@ -2435,7 +2436,7 @@ icmp6_redirect_output(struct mbuf *m0, struct rtentry goto fail; /* sanity check */ - if (!m0 || !rt || !(rt->rt_flags & RTF_UP) || !(ifp = rt->rt_ifp)) + if (!m0 || !nh || !(NH_IS_VALID(nh)) || !(ifp = nh->nh_ifp)) goto fail; /* @@ -2469,7 +2470,7 @@ icmp6_redirect_output(struct mbuf *m0, struct rtentry m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR); if (m == NULL) goto fail; - M_SETFIB(m, rt->rt_fibnum); + M_SETFIB(m, M_GETFIB(m0)); maxlen = M_TRAILINGSPACE(m); maxlen = min(IPV6_MMTU, maxlen); /* just for safety */ @@ -2491,9 +2492,9 @@ icmp6_redirect_output(struct mbuf *m0, struct rtentry } /* get ip6 linklocal address for the router. */ - if (rt->rt_gateway && (rt->rt_flags & RTF_GATEWAY)) { + if (nh->nh_flags & NHF_GATEWAY) { struct sockaddr_in6 *sin6; - sin6 = (struct sockaddr_in6 *)rt->rt_gateway; + sin6 = &nh->gw6_sa; router_ll6 = &sin6->sin6_addr; if (!IN6_IS_ADDR_LINKLOCAL(router_ll6)) router_ll6 = (struct in6_addr *)NULL; @@ -2517,7 +2518,7 @@ icmp6_redirect_output(struct mbuf *m0, struct rtentry nd_rd->nd_rd_type = ND_REDIRECT; nd_rd->nd_rd_code = 0; nd_rd->nd_rd_reserved = 0; - if (rt->rt_flags & RTF_GATEWAY) { + if (nh->nh_flags & NHF_GATEWAY) { /* * nd_rd->nd_rd_target must be a link-local address in * better router cases. Modified: head/sys/netinet6/ip6_fastfwd.c ============================================================================== --- head/sys/netinet6/ip6_fastfwd.c Tue Apr 14 22:57:21 2020 (r359941) +++ head/sys/netinet6/ip6_fastfwd.c Tue Apr 14 23:06:25 2020 (r359942) @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -55,30 +56,35 @@ __FBSDID("$FreeBSD$"); #include static int -ip6_findroute(struct nhop6_basic *pnh, const struct sockaddr_in6 *dst, +ip6_findroute(struct nhop_object **pnh, const struct sockaddr_in6 *dst, struct mbuf *m) { + struct nhop_object *nh; - if (fib6_lookup_nh_basic(M_GETFIB(m), &dst->sin6_addr, - dst->sin6_scope_id, 0, dst->sin6_flowinfo, pnh) != 0) { + nh = fib6_lookup(M_GETFIB(m), &dst->sin6_addr, + dst->sin6_scope_id, NHR_NONE, m->m_pkthdr.flowid); + if (nh == NULL) { IP6STAT_INC(ip6s_noroute); IP6STAT_INC(ip6s_cantforward); icmp6_error(m, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_NOROUTE, 0); return (EHOSTUNREACH); } - if (pnh->nh_flags & NHF_BLACKHOLE) { + if (nh->nh_flags & NHF_BLACKHOLE) { IP6STAT_INC(ip6s_cantforward); m_freem(m); return (EHOSTUNREACH); } - if (pnh->nh_flags & NHF_REJECT) { + if (nh->nh_flags & NHF_REJECT) { IP6STAT_INC(ip6s_cantforward); icmp6_error(m, ICMP6_DST_UNREACH, ICMP6_DST_UNREACH_REJECT, 0); return (EHOSTUNREACH); } + + *pnh = nh; + return (0); } @@ -86,7 +92,7 @@ struct mbuf* ip6_tryforward(struct mbuf *m) { struct sockaddr_in6 dst; - struct nhop6_basic nh; + struct nhop_object *nh; struct m_tag *fwd_tag; struct ip6_hdr *ip6; struct ifnet *rcvif; @@ -196,9 +202,9 @@ passin: goto dropin; } if (!PFIL_HOOKED_OUT(V_inet6_pfil_head)) { - if (m->m_pkthdr.len > nh.nh_mtu) { - in6_ifstat_inc(nh.nh_ifp, ifs6_in_toobig); - icmp6_error(m, ICMP6_PACKET_TOO_BIG, 0, nh.nh_mtu); + if (m->m_pkthdr.len > nh->nh_mtu) { + in6_ifstat_inc(nh->nh_ifp, ifs6_in_toobig); + icmp6_error(m, ICMP6_PACKET_TOO_BIG, 0, nh->nh_mtu); m = NULL; goto dropout; } @@ -208,7 +214,7 @@ passin: /* * Outgoing packet firewall processing. */ - if (pfil_run_hooks(V_inet6_pfil_head, &m, nh.nh_ifp, PFIL_OUT | + if (pfil_run_hooks(V_inet6_pfil_head, &m, nh->nh_ifp, PFIL_OUT | PFIL_FWD, NULL) != PFIL_PASS) goto dropout; @@ -216,9 +222,9 @@ passin: * We used slow path processing for packets with scoped addresses. * So, scope checks aren't needed here. */ - if (m->m_pkthdr.len > nh.nh_mtu) { - in6_ifstat_inc(nh.nh_ifp, ifs6_in_toobig); - icmp6_error(m, ICMP6_PACKET_TOO_BIG, 0, nh.nh_mtu); + if (m->m_pkthdr.len > nh->nh_mtu) { + in6_ifstat_inc(nh->nh_ifp, ifs6_in_toobig); + icmp6_error(m, ICMP6_PACKET_TOO_BIG, 0, nh->nh_mtu); m = NULL; goto dropout; } @@ -272,16 +278,17 @@ passout: } m_clrprotoflags(m); /* Avoid confusing lower layers. */ - IP_PROBE(send, NULL, NULL, ip6, nh.nh_ifp, NULL, ip6); + IP_PROBE(send, NULL, NULL, ip6, nh->nh_ifp, NULL, ip6); - dst.sin6_addr = nh.nh_addr; - error = (*nh.nh_ifp->if_output)(nh.nh_ifp, m, + if (nh->nh_flags & NHF_GATEWAY) + dst.sin6_addr = nh->gw6_sa.sin6_addr; + error = (*nh->nh_ifp->if_output)(nh->nh_ifp, m, (struct sockaddr *)&dst, NULL); if (error != 0) { - in6_ifstat_inc(nh.nh_ifp, ifs6_out_discard); + in6_ifstat_inc(nh->nh_ifp, ifs6_out_discard); IP6STAT_INC(ip6s_cantforward); } else { - in6_ifstat_inc(nh.nh_ifp, ifs6_out_forward); + in6_ifstat_inc(nh->nh_ifp, ifs6_out_forward); IP6STAT_INC(ip6s_forward); } return (NULL); @@ -289,7 +296,7 @@ dropin: in6_ifstat_inc(rcvif, ifs6_in_discard); goto drop; dropout: - in6_ifstat_inc(nh.nh_ifp, ifs6_out_discard); + in6_ifstat_inc(nh->nh_ifp, ifs6_out_discard); drop: if (m != NULL) m_freem(m); Modified: head/sys/netinet6/ip6_forward.c ============================================================================== --- head/sys/netinet6/ip6_forward.c Tue Apr 14 22:57:21 2020 (r359941) +++ head/sys/netinet6/ip6_forward.c Tue Apr 14 23:06:25 2020 (r359942) @@ -401,7 +401,7 @@ pass: switch (error) { case 0: if (type == ND_REDIRECT) { - icmp6_redirect_output(mcopy, rt); + icmp6_redirect_output(mcopy, rt->rt_nhop); goto out; } goto freecopy; From owner-svn-src-head@freebsd.org Tue Apr 14 23:24:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0832D2CCABE; Tue, 14 Apr 2020 23:24:25 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4921lr6QbPz3xQL; Tue, 14 Apr 2020 23:24:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D7A92D84B; Tue, 14 Apr 2020 23:24:24 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ENOOfa008747; Tue, 14 Apr 2020 23:24:24 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ENOOdS008746; Tue, 14 Apr 2020 23:24:24 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004142324.03ENOOdS008746@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 14 Apr 2020 23:24:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359943 - head/lib/libc/sys X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/lib/libc/sys X-SVN-Commit-Revision: 359943 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 23:24:25 -0000 Author: kevans Date: Tue Apr 14 23:24:24 2020 New Revision: 359943 URL: https://svnweb.freebsd.org/changeset/base/359943 Log: closefrom: clamp lowfd to >= 0; close_range's parameters are unsigned. Pointy hat: kevans Reported by: CI (lwhsu) Modified: head/lib/libc/sys/closefrom.c Modified: head/lib/libc/sys/closefrom.c ============================================================================== --- head/lib/libc/sys/closefrom.c Tue Apr 14 23:06:25 2020 (r359942) +++ head/lib/libc/sys/closefrom.c Tue Apr 14 23:24:24 2020 (r359943) @@ -28,6 +28,7 @@ #include __FBSDID("$FreeBSD$"); +#include #include #include @@ -40,7 +41,7 @@ closefrom(int lowfd) { if (__getosreldate() >= CLOSE_RANGE_OSREL) - __sys_close_range(lowfd, ~0U, 0); + __sys_close_range(MAX(0, lowfd), ~0U, 0); else /* Fallback to closefrom(2) on older kernels. */ syscall(SYS_freebsd12_closefrom, lowfd); From owner-svn-src-head@freebsd.org Tue Apr 14 23:36:03 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ED6FF2CCDD6; Tue, 14 Apr 2020 23:36:03 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49221H60lsz3xxv; Tue, 14 Apr 2020 23:36:03 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C4697DA2C; Tue, 14 Apr 2020 23:36:03 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ENa3nY015136; Tue, 14 Apr 2020 23:36:03 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ENa3iQ015135; Tue, 14 Apr 2020 23:36:03 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004142336.03ENa3iQ015135@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Tue, 14 Apr 2020 23:36:03 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359944 - head/tests/sys/audit X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/tests/sys/audit X-SVN-Commit-Revision: 359944 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Apr 2020 23:36:04 -0000 Author: kevans Date: Tue Apr 14 23:36:03 2020 New Revision: 359944 URL: https://svnweb.freebsd.org/changeset/base/359944 Log: tests: audit: mark closefrom test an expected fail for now closefrom has been converted to close_range internally; remediation is underway for this, marking it as an expected fail for now while proper course is determined. PR: 245625 Modified: head/tests/sys/audit/file-close.c Modified: head/tests/sys/audit/file-close.c ============================================================================== --- head/tests/sys/audit/file-close.c Tue Apr 14 23:24:24 2020 (r359943) +++ head/tests/sys/audit/file-close.c Tue Apr 14 23:36:03 2020 (r359944) @@ -156,6 +156,8 @@ ATF_TC_BODY(closefrom_success, tc) { const char *regex = "closefrom.*return,success"; FILE *pipefd = setup(fds, auclass); + + atf_tc_expect_fail("closefrom was converted to close_range"); /* closefrom(2) returns 'void' */ closefrom(INT_MAX); check_audit(fds, regex, pipefd); From owner-svn-src-head@freebsd.org Wed Apr 15 00:14:52 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AAC092CDA57; Wed, 15 Apr 2020 00:14:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4922t43q9cz40lq; Wed, 15 Apr 2020 00:14:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7E228E1A0; Wed, 15 Apr 2020 00:14:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F0EqA2039767; Wed, 15 Apr 2020 00:14:52 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F0EpQt039761; Wed, 15 Apr 2020 00:14:51 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004150014.03F0EpQt039761@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 15 Apr 2020 00:14:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359945 - in head: lib/geom/eli sys/geom/eli X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: in head: lib/geom/eli sys/geom/eli X-SVN-Commit-Revision: 359945 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 00:14:52 -0000 Author: jhb Date: Wed Apr 15 00:14:50 2020 New Revision: 359945 URL: https://svnweb.freebsd.org/changeset/base/359945 Log: Remove support for geli(4) algorithms deprecated in r348206. This removes support for reading and writing volumes using the following algorithms: - Triple DES - Blowfish - MD5 HMAC integrity In addition, this commit adds an explicit whitelist of supported algorithms to give a better error message when an invalid or unsupported algorithm is used by an existing volume. Reviewed by: cem Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24343 Modified: head/lib/geom/eli/geli.8 head/lib/geom/eli/geom_eli.c head/sys/geom/eli/g_eli.c head/sys/geom/eli/g_eli.h head/sys/geom/eli/g_eli_crypto.c head/sys/geom/eli/g_eli_ctl.c Modified: head/lib/geom/eli/geli.8 ============================================================================== --- head/lib/geom/eli/geli.8 Tue Apr 14 23:36:03 2020 (r359944) +++ head/lib/geom/eli/geli.8 Wed Apr 15 00:14:50 2020 (r359945) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 19, 2020 +.Dd April 14, 2020 .Dt GELI 8 .Os .Sh NAME @@ -172,14 +172,11 @@ will make use of it automatically. Supports many cryptographic algorithms (currently .Nm AES-XTS , .Nm AES-CBC , -.Nm Blowfish-CBC , -.Nm Camellia-CBC and -.Nm 3DES-CBC ) . +.Nm Camellia-CBC ) . .It Can optionally perform data authentication (integrity verification) utilizing one of the following algorithms: -.Nm HMAC/MD5 , .Nm HMAC/SHA1 , .Nm HMAC/RIPEMD160 , .Nm HMAC/SHA256 , @@ -259,7 +256,6 @@ For example, when using 4096 bytes sector and .Nm HMAC/SHA256 algorithm, 89% of the original provider storage will be available for use. Currently supported algorithms are: -.Nm HMAC/MD5 , .Nm HMAC/SHA1 , .Nm HMAC/RIPEMD160 , .Nm HMAC/SHA256 , @@ -303,9 +299,7 @@ Encryption algorithm to use. Currently supported algorithms are: .Nm AES-XTS , .Nm AES-CBC , -.Nm Blowfish-CBC , .Nm Camellia-CBC , -.Nm 3DES-CBC , and .Nm NULL . The default and recommended algorithm is @@ -359,11 +353,6 @@ key length. .Em 128 , 192, 256 -.It Nm Blowfish-CBC -.Em 128 -+ n * 32, for n=[0..10] -.It Nm 3DES-CBC -.Em 192 .El .It Fl P Do not use a passphrase as a component of the User Key. @@ -901,18 +890,6 @@ specified in .El .Sh EXIT STATUS Exit status is 0 on success, and 1 if the command fails. -.Sh DEPRECATION NOTICE -Support for the -.Nm Blowfish-CBC -and -.Nm 3DES-CBC -cryptographic algorithms and -.Nm HMAC/MD5 -authentication algorithm will be removed in -.Fx 13.0 . -New volumes cannot be created using these algorithms. -Existing volumes should be migrated to a new volume that uses -non-deprecated algorithms. .Sh EXAMPLES Initialize a provider which is going to be encrypted with a passphrase and random data from a file on the user's pen drive. @@ -967,7 +944,7 @@ Reenter new passphrase: Encrypted swap partition setup: .Bd -literal -offset indent # dd if=/dev/random of=/dev/ada0s1b bs=1m -# geli onetime -d -e 3des ada0s1b +# geli onetime -d ada0s1b # swapon /dev/ada0s1b.eli .Ed .Pp Modified: head/lib/geom/eli/geom_eli.c ============================================================================== --- head/lib/geom/eli/geom_eli.c Tue Apr 14 23:36:03 2020 (r359944) +++ head/lib/geom/eli/geom_eli.c Wed Apr 15 00:14:50 2020 (r359945) @@ -805,22 +805,6 @@ eli_init(struct gctl_req *req) return; } } - if (md.md_flags & G_ELI_FLAG_AUTH) { - switch (md.md_aalgo) { - case CRYPTO_MD5_HMAC: - gctl_error(req, - "The %s authentication algorithm is deprecated.", - g_eli_algo2str(md.md_aalgo)); - return; - } - } - switch (md.md_ealgo) { - case CRYPTO_3DES_CBC: - case CRYPTO_BLF_CBC: - gctl_error(req, "The %s encryption algorithm is deprecated.", - g_eli_algo2str(md.md_ealgo)); - return; - } val = gctl_get_intmax(req, "keylen"); md.md_keylen = val; md.md_keylen = g_eli_keylen(md.md_ealgo, md.md_keylen); Modified: head/sys/geom/eli/g_eli.c ============================================================================== --- head/sys/geom/eli/g_eli.c Tue Apr 14 23:36:03 2020 (r359944) +++ head/sys/geom/eli/g_eli.c Wed Apr 15 00:14:50 2020 (r359945) @@ -847,6 +847,8 @@ g_eli_create(struct gctl_req *req, struct g_class *mp, int dcw, error; G_ELI_DEBUG(1, "Creating device %s%s.", bpp->name, G_ELI_SUFFIX); + KASSERT(eli_metadata_crypto_supported(md), + ("%s: unsupported crypto for %s", __func__, bpp->name)); gp = g_new_geomf(mp, "%s%s", bpp->name, G_ELI_SUFFIX); sc = malloc(sizeof(*sc), M_ELI, M_WAITOK | M_ZERO); @@ -975,25 +977,8 @@ g_eli_create(struct gctl_req *req, struct g_class *mp, G_ELI_DEBUG(0, "Device %s created.", pp->name); G_ELI_DEBUG(0, "Encryption: %s %u", g_eli_algo2str(sc->sc_ealgo), sc->sc_ekeylen); - switch (sc->sc_ealgo) { - case CRYPTO_3DES_CBC: - gone_in(13, - "support for GEOM_ELI volumes encrypted with 3des"); - break; - case CRYPTO_BLF_CBC: - gone_in(13, - "support for GEOM_ELI volumes encrypted with blowfish"); - break; - } - if (sc->sc_flags & G_ELI_FLAG_AUTH) { + if (sc->sc_flags & G_ELI_FLAG_AUTH) G_ELI_DEBUG(0, " Integrity: %s", g_eli_algo2str(sc->sc_aalgo)); - switch (sc->sc_aalgo) { - case CRYPTO_MD5_HMAC: - gone_in(13, - "support for GEOM_ELI volumes authenticated with hmac/md5"); - break; - } - } G_ELI_DEBUG(0, " Crypto: %s", sc->sc_crypto == G_ELI_CRYPTO_SW ? "software" : "hardware"); return (gp); @@ -1188,6 +1173,11 @@ g_eli_taste(struct g_class *mp, struct g_provider *pp, return (NULL); if (md.md_keys == 0x00) { G_ELI_DEBUG(0, "No valid keys on %s.", pp->name); + return (NULL); + } + if (!eli_metadata_crypto_supported(&md)) { + G_ELI_DEBUG(0, "%s uses invalid or unsupported algorithms\n", + pp->name); return (NULL); } if (md.md_iterations == -1) { Modified: head/sys/geom/eli/g_eli.h ============================================================================== --- head/sys/geom/eli/g_eli.h Tue Apr 14 23:36:03 2020 (r359944) +++ head/sys/geom/eli/g_eli.h Wed Apr 15 00:14:50 2020 (r359945) @@ -417,18 +417,10 @@ g_eli_str2ealgo(const char *name) return (CRYPTO_AES_CBC); else if (strcasecmp("aes-xts", name) == 0) return (CRYPTO_AES_XTS); - else if (strcasecmp("blowfish", name) == 0) - return (CRYPTO_BLF_CBC); - else if (strcasecmp("blowfish-cbc", name) == 0) - return (CRYPTO_BLF_CBC); else if (strcasecmp("camellia", name) == 0) return (CRYPTO_CAMELLIA_CBC); else if (strcasecmp("camellia-cbc", name) == 0) return (CRYPTO_CAMELLIA_CBC); - else if (strcasecmp("3des", name) == 0) - return (CRYPTO_3DES_CBC); - else if (strcasecmp("3des-cbc", name) == 0) - return (CRYPTO_3DES_CBC); return (CRYPTO_ALGORITHM_MIN - 1); } @@ -436,9 +428,7 @@ static __inline u_int g_eli_str2aalgo(const char *name) { - if (strcasecmp("hmac/md5", name) == 0) - return (CRYPTO_MD5_HMAC); - else if (strcasecmp("hmac/sha1", name) == 0) + if (strcasecmp("hmac/sha1", name) == 0) return (CRYPTO_SHA1_HMAC); else if (strcasecmp("hmac/ripemd160", name) == 0) return (CRYPTO_RIPEMD160_HMAC); @@ -462,14 +452,8 @@ g_eli_algo2str(u_int algo) return ("AES-CBC"); case CRYPTO_AES_XTS: return ("AES-XTS"); - case CRYPTO_BLF_CBC: - return ("Blowfish-CBC"); case CRYPTO_CAMELLIA_CBC: return ("CAMELLIA-CBC"); - case CRYPTO_3DES_CBC: - return ("3DES-CBC"); - case CRYPTO_MD5_HMAC: - return ("HMAC/MD5"); case CRYPTO_SHA1_HMAC: return ("HMAC/SHA1"); case CRYPTO_RIPEMD160_HMAC: @@ -522,6 +506,36 @@ eli_metadata_dump(const struct g_eli_metadata *md) printf(" MD5 hash: %s\n", str); } +#ifdef _KERNEL +static bool +eli_metadata_crypto_supported(const struct g_eli_metadata *md) +{ + + switch (md->md_ealgo) { + case CRYPTO_NULL_CBC: + case CRYPTO_AES_CBC: + case CRYPTO_CAMELLIA_CBC: + case CRYPTO_AES_XTS: + break; + default: + return (false); + } + if (md->md_flags & G_ELI_FLAG_AUTH) { + switch (md->md_aalgo) { + case CRYPTO_SHA1_HMAC: + case CRYPTO_RIPEMD160_HMAC: + case CRYPTO_SHA2_256_HMAC: + case CRYPTO_SHA2_384_HMAC: + case CRYPTO_SHA2_512_HMAC: + break; + default: + return (false); + } + } + return (true); +} +#endif + static __inline u_int g_eli_keylen(u_int algo, u_int keylen) { @@ -557,18 +571,6 @@ g_eli_keylen(u_int algo, u_int keylen) default: return (0); } - case CRYPTO_BLF_CBC: - if (keylen == 0) - return (128); - if (keylen < 128 || keylen > 448) - return (0); - if ((keylen % 32) != 0) - return (0); - return (keylen); - case CRYPTO_3DES_CBC: - if (keylen == 0 || keylen == 192) - return (192); - return (0); default: return (0); } @@ -583,12 +585,8 @@ g_eli_ivlen(u_int algo) return (AES_XTS_IV_LEN); case CRYPTO_AES_CBC: return (AES_BLOCK_LEN); - case CRYPTO_BLF_CBC: - return (BLOWFISH_BLOCK_LEN); case CRYPTO_CAMELLIA_CBC: return (CAMELLIA_BLOCK_LEN); - case CRYPTO_3DES_CBC: - return (DES3_BLOCK_LEN); } return (0); } @@ -598,8 +596,6 @@ g_eli_hashlen(u_int algo) { switch (algo) { - case CRYPTO_MD5_HMAC: - return (16); case CRYPTO_SHA1_HMAC: return (20); case CRYPTO_RIPEMD160_HMAC: Modified: head/sys/geom/eli/g_eli_crypto.c ============================================================================== --- head/sys/geom/eli/g_eli_crypto.c Tue Apr 14 23:36:03 2020 (r359944) +++ head/sys/geom/eli/g_eli_crypto.c Wed Apr 15 00:14:50 2020 (r359945) @@ -138,9 +138,6 @@ g_eli_crypto_cipher(u_int algo, int enc, u_char *data, return (EINVAL); } break; - case CRYPTO_BLF_CBC: - type = EVP_bf_cbc(); - break; #ifndef OPENSSL_NO_CAMELLIA case CRYPTO_CAMELLIA_CBC: switch (keysize) { @@ -158,9 +155,6 @@ g_eli_crypto_cipher(u_int algo, int enc, u_char *data, } break; #endif - case CRYPTO_3DES_CBC: - type = EVP_des_ede3_cbc(); - break; default: return (EINVAL); } Modified: head/sys/geom/eli/g_eli_ctl.c ============================================================================== --- head/sys/geom/eli/g_eli_ctl.c Tue Apr 14 23:36:03 2020 (r359944) +++ head/sys/geom/eli/g_eli_ctl.c Wed Apr 15 00:14:50 2020 (r359945) @@ -138,6 +138,11 @@ g_eli_ctl_attach(struct gctl_req *req, struct g_class gctl_error(req, "No valid keys on %s.", pp->name); return; } + if (!eli_metadata_crypto_supported(&md)) { + explicit_bzero(&md, sizeof(md)); + gctl_error(req, "Invalid or unsupported algorithms."); + return; + } key = gctl_get_param(req, "key", &keysize); if (key == NULL || keysize != G_ELI_USERKEYLEN) { From owner-svn-src-head@freebsd.org Wed Apr 15 00:21:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 562B72CDBD0; Wed, 15 Apr 2020 00:21:22 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com [209.85.210.48]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49231Z1dT3z416M; Wed, 15 Apr 2020 00:21:22 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ot1-f48.google.com with SMTP id w12so1620957otm.13; Tue, 14 Apr 2020 17:21:22 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qPyjswjAHPvmLpuDAmod/0U1qxB4YWi60vUuXLW4704=; b=fMzeP/dOODXrjuNfuwM6d3kCkKeuyU71lm/63GNCNi2X1+uJXLziBWiqmSrG4feSMS fCeUaq5otblyepxMv/yuoULsxyPbeYALHZoh4PDsXfobNBRznw9rU9Pnu47Vq+AwhqOc un8GN8yT3jxwGtsiaE1b98l2ysFMaOmo36vNN8TgB9THr/Jo3gW2RKLQ8NTHMVMZZTrS DMEhzFMT8PytEopmujr8hgdbHfhL1gLDaxmXnwOAqCsMRH6tcSO1ocHmd6J+eO5Gbz8m mc73Mdw296TqTxZHbb3ej9K94HDWKedx5jD/mQsg4uex8Ao5H+AlZi35G1f6tHM1ilI/ emow== X-Gm-Message-State: AGi0PubzHJ+AMSSQhF2yspOc8ZhIWnHQGeQw837Hv/ReMnObM+8Hdqxz e9oeuFHT7c0FI/8Vjz+vqEgTeg2ptbygZBf52BzYxX8s X-Google-Smtp-Source: APiQypLxYt+wqSUj4YM2DPUkgMFJ4RNDi5iuUxZAJ665RNPlH4H7aKs6ncs6AC8S3TdL/4FxBG8/vPfs/jkL99bVMN8= X-Received: by 2002:a05:6830:3150:: with SMTP id c16mr19569248ots.251.1586910080942; Tue, 14 Apr 2020 17:21:20 -0700 (PDT) MIME-Version: 1.0 References: <202004142336.03ENa3iQ015135@repo.freebsd.org> In-Reply-To: <202004142336.03ENa3iQ015135@repo.freebsd.org> From: Alan Somers Date: Tue, 14 Apr 2020 18:21:09 -0600 Message-ID: Subject: Re: svn commit: r359944 - head/tests/sys/audit To: Kyle Evans Cc: src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 49231Z1dT3z416M X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 00:21:22 -0000 On Tue, Apr 14, 2020 at 5:36 PM Kyle Evans wrote: > Author: kevans > Date: Tue Apr 14 23:36:03 2020 > New Revision: 359944 > URL: https://svnweb.freebsd.org/changeset/base/359944 > > Log: > tests: audit: mark closefrom test an expected fail for now > > closefrom has been converted to close_range internally; remediation is > underway for this, marking it as an expected fail for now while proper > course is determined. > > PR: 245625 > Thanks for taking care of this. It sounds like somebody forgot to run the tests before committing. -Alan From owner-svn-src-head@freebsd.org Wed Apr 15 00:23:12 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4A4982CDD7D; Wed, 15 Apr 2020 00:23:12 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-ot1-f44.google.com (mail-ot1-f44.google.com [209.85.210.44]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49233h1F5Xz41Rm; Wed, 15 Apr 2020 00:23:11 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-ot1-f44.google.com with SMTP id z17so1694170oto.4; Tue, 14 Apr 2020 17:23:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=DKSTN5UC0f9OH5gwf2D+TxBCpg6PvOs/XKjtRC0oLAI=; b=NGfex2MZ6YaHT3wTnpbf6+bVlPmOQI7ZKauOYBAzWWJgpwF4FRDEoeRdN3Y6RKOdOU K+wdJViEqZAtAfztXcBcb07JOf1ReosCYGKTYurxgwU8m+U/X/8oTbvV+gjTHrU+8hWq COZFMRUQ/Xl4QT9LVeEjIsZjwBGzpfFxMPz7Dlh4F5AwFgSulrulPXGimII7EAdIEOYh u9bV86oGPU+Hwk86XR4NhOICXI//70batKaln8g6pd2TE0DAylL589IBsY3fqTcD6PKq cbKHrcBVJUB4bk2QvSc/uFOrAtO8GDhMWe5Q/pNBKgF3qO6k90uMAbj7BlZJQ0vC0a0u xUEw== X-Gm-Message-State: AGi0PuYan+s+aiT4u9hcDtbj8kRR75wmwllvx/hxRI/xBrtS+1t7b1TZ OndfWSfrXrVZAqHdcMFfnX8zNaHapB+L55OxgzYqBndh X-Google-Smtp-Source: APiQypIUunE9I6mKamP1rSIyWHAPi+nREPw2DL0oVndViQdH/nUcZ040k/Agrje++gjAVYST1ttIsK9kFnR9kC0d8a0= X-Received: by 2002:a05:6820:348:: with SMTP id m8mr20472734ooe.38.1586910190807; Tue, 14 Apr 2020 17:23:10 -0700 (PDT) MIME-Version: 1.0 References: <202004150014.03F0EpQt039761@repo.freebsd.org> In-Reply-To: <202004150014.03F0EpQt039761@repo.freebsd.org> From: Alan Somers Date: Tue, 14 Apr 2020 18:22:59 -0600 Message-ID: Subject: Re: svn commit: r359945 - in head: lib/geom/eli sys/geom/eli To: John Baldwin Cc: src-committers , svn-src-all , svn-src-head X-Rspamd-Queue-Id: 49233h1F5Xz41Rm X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 00:23:12 -0000 On Tue, Apr 14, 2020 at 6:15 PM John Baldwin wrote: > Author: jhb > Date: Wed Apr 15 00:14:50 2020 > New Revision: 359945 > URL: https://svnweb.freebsd.org/changeset/base/359945 > > Log: > Remove support for geli(4) algorithms deprecated in r348206. > > This removes support for reading and writing volumes using the > following algorithms: > > - Triple DES > - Blowfish > - MD5 HMAC integrity > > In addition, this commit adds an explicit whitelist of supported > algorithms to give a better error message when an invalid or > unsupported algorithm is used by an existing volume. > > Reviewed by: cem > Sponsored by: Chelsio Communications > Differential Revision: https://reviews.freebsd.org/D24343 > Why remove read-only support? That will make it much harder to convert old volumes. -Alan From owner-svn-src-head@freebsd.org Wed Apr 15 00:33:20 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 135A82CDFBA; Wed, 15 Apr 2020 00:33:20 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4923HM6dzlz41xT; Wed, 15 Apr 2020 00:33:19 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qt1-f182.google.com (mail-qt1-f182.google.com [209.85.160.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id D64E0EB7B; Wed, 15 Apr 2020 00:33:19 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qt1-f182.google.com with SMTP id w24so11896806qts.11; Tue, 14 Apr 2020 17:33:19 -0700 (PDT) X-Gm-Message-State: AGi0PuaUpsOa24gtmwJboMQQw8BGd7LwctE9PloUwcfH+mfY8hx7yIRQ 424NLoBL09SUE2uVz46Rw9Z6en+iFw3HZA5A6Ys= X-Google-Smtp-Source: APiQypIkLOzaxfDGRevliXBEgiyv/4dtt4Gp7LFXg3Jf2xJvDBa1fJS+5TrPDRpqgqycrOLjOBbFH/syYwkUO6Mnvig= X-Received: by 2002:ac8:65cc:: with SMTP id t12mr18544129qto.310.1586910799452; Tue, 14 Apr 2020 17:33:19 -0700 (PDT) MIME-Version: 1.0 References: <202004142336.03ENa3iQ015135@repo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Tue, 14 Apr 2020 19:33:08 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359944 - head/tests/sys/audit To: Alan Somers Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 00:33:20 -0000 On Tue, Apr 14, 2020 at 7:21 PM Alan Somers wrote: > > On Tue, Apr 14, 2020 at 5:36 PM Kyle Evans wrote: >> >> Author: kevans >> Date: Tue Apr 14 23:36:03 2020 >> New Revision: 359944 >> URL: https://svnweb.freebsd.org/changeset/base/359944 >> >> Log: >> tests: audit: mark closefrom test an expected fail for now >> >> closefrom has been converted to close_range internally; remediation is >> underway for this, marking it as an expected fail for now while proper >> course is determined. >> >> PR: 245625 > > > Thanks for taking care of this. It sounds like somebody forgot to run the tests before committing. Yes- strange, given how many times I ran them with the adjacent changes as I was amending them for close_range support. =-( From owner-svn-src-head@freebsd.org Wed Apr 15 00:48:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6C6A72CE336; Wed, 15 Apr 2020 00:48:21 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from anubis.delphij.net (anubis.delphij.net [IPv6:2001:470:1:117::25]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "anubis.delphij.net", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4923cj1RfXz42XH; Wed, 15 Apr 2020 00:48:20 +0000 (UTC) (envelope-from delphij@delphij.net) Received: from odin.corp.delphij.net (unknown [IPv6:2601:646:8600:58ba:e8a7:7c50:1605:edb4]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by anubis.delphij.net (Postfix) with ESMTPSA id 915B14856E; Tue, 14 Apr 2020 17:48:14 -0700 (PDT) Reply-To: d@delphij.net To: Alan Somers , John Baldwin Cc: src-committers , svn-src-all , svn-src-head References: <202004150014.03F0EpQt039761@repo.freebsd.org> From: Xin Li Autocrypt: addr=delphij@delphij.net; prefer-encrypt=mutual; keydata= mQINBFuSR4oBEACvvEgwRIHs6IcSP/yaDtySF78Ji3rP29qdiQsxhMsOtvtffdbS56VApIWO UFb3/iN2gA8HwLvrmjijN0HEoLVX7na1WARmxRYzQMtApsZIUTtx7hnUYlsi2F5odZa6CDW9 a954DLRzYxiUwYDcu5Zjl9bglK1H8e/N9uC0Vuigr4teWfh86brzOyf819QzwFVYfMIK4ihw QGwMvTzbyVuCFy+LENkmcVYni70oQy6rZ5ktSuYbuOFvu7inRRfhSWPHziV7k+bW88sJ7xhv lBlegcnhkSudWX2M8tZ3MO1PJOcyys0CJlsBY5Weiog2lIPi05h/E9pZ9mc1Vud17iqDaL6w RaggOUhuPfDGCdO5ro82W4BZGeQMRnRF5Ntk+t2ShIH4nn3xRLV0E5nziCiKlgiMqOrz/ZTL QTVbHrCuiwD+fSK14y0oHbkOLYTYLlgh1JbwfY2Ty7elOYiWzyeJ7sJh2dF91NSEneWIOys3 mBpuvtU3nSzzTvAB48VV+Nbg1CpIOgNlPjj7uhIum/Z/VjUaJEyaLpTIRh0MVJVcbP7hXSqZ NA35EEZZVnWEOYdycm4CmEdeNPWkrAf2Ya77iR5VLGypwMlsUMQPh+sKVWDD38M8stFGBBNm d01Hi74Bsq5hKan654dOqMt5eYklrVj0ucMzFQtus7oE502UswARAQABtBxYaW4gTEkgPGRl bHBoaWpAZGVscGhpai5uZXQ+iQJUBBMBCgA+FiEEceNg5NEMZIki80nQQHl/fJX0g08FAluS R/YCGwMFCQmuhAAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQQHl/fJX0g0+2Og//bWpE F2V5/M5l6YW1T8oLcT9rIOH6oq9M0LMNRgFeiNNnilGIeeIgtOGBRueG4CZiZAvsRPJkrO70 1R2SrdkCIvwGUzUAxx1NfBWb+vgm4fgkW/MotGonceM5v0qfSKKXasWvDctkK28aG+IoQzmi FjXNW4+ju4zeQFYwD4ZDWqw9MqO0hVb24uW3dxtQhbfmOLgJ/PEDMQaFuANbW1c+iR0BQA3D Go/EeMY4kpN8on6Aqt/S/4JVltudfQ9OXdjQsC7netSaB9K3mHGt9aKAAB7RzlRY00DKkYS/ /eQwLzGPmK7yX13M68mMDjBs6mIR8t/E1S5OdBNhHRPNPlEbwugR4KaiCsN5yqzJoSV99fKY z2VyxjWPaG8yhHE+jmKUgIBKTfFUQEfkriQR4EASoeJ+soaMTiFDBij1Zw5n3ndLRFMB1ZCl fZLER36mAgW4m4kP83TWnDiJLxOxSOxifV8HpTFjff902H85cybg9KMwrfPDr6W19GGk5Vo1 fkza5krRMGbKWb7+74Evusi0ZxJLIOFwp5Y8eVqUMZaAD3f1ZX1M3pgXOp20QgAy+2KvMHij rLa4q+tMGRzYYD1BnFVSVdXAX5VOoTmHBcDz67DkuRwk2Byp1sgd407oEOmSwrNJlKS0TPCm xUJ2fdSQF+1/MMSRfee49vtMvz7cOrC5Ag0EW5JHigEQANiBmIFAfRNH3nzYNWC0yC+tfx3z sUwAsH1VaBM/cTib+yKtbBOSIlXWjJZWX3MHwoI/1LeGghB2mxkkX1L0pJ/vj1eXNR+sFZ32 0pYcl61Fxg/5fioG4QDTM4i3i7NR5PxDnc6UVaynSlII93DedRhZ1ROtdn4vyMgzsDiqhbL7 BthDOt5KxjqdRk4qRPSw7BovEqZLOcG5IJtf/zZUzRbM7SBljEbOAfekDGx1Br+RrYSD7/Ef Pwwzou9T8315IpBpIHyQF/dZNk3iFiB9Ed5CA71ZRYV5YoLWE9lL0j9kxOLQ5vHnX3mVq7QZ Bc7nzwZ6UhQgYmrG5+RWvuiPpGwvDRIsugJUGXucYkAQh5kuNblmkwpv6u9rNMjCNbzAylOa qdogra5EW+RUSbRz0b4iIr8nnZeAlh7BihCe7JjOwbDjoBEEEtSfVc4hD/LENqpcYVrChphf aOLB9YIXhnVDTVvMc9OklWT/81HzAaDQqOQCzEfY92199Ct9/CwRoQ2OpO8TO5+8A7b9Nb33 nmxMn09mb48ruRacMrfHxCWbgU4w9SEfbip4GcS5wGG6yTC+hw55Iwnnwus40NrJ0GEr8a4r cdsLbkvlyoNHB8ZGgyJ4aFCQ1V4qE1BnlTk7Z8BYBUkJM1odPSkVvHpCnMUjVpJ3hEOC+73Z YH1dh7lZABEBAAGJAjwEGAEKACYWIQRx42Dk0QxkiSLzSdBAeX98lfSDTwUCW5JHigIbDAUJ Ca6EAAAKCRBAeX98lfSDTz8DEACMh3poeUb+gWNF4RWFZuLteZVo0+E1JLYXQkmtrRBLXviP +Qy0pXyFAVxLM4hNIBoIDYfK9BcwrBYf7AwSKrH0GiNwFpgHCkbZd6qoZy2gB+adTnCpVCTJ KJetsH/8awkrChJWMK0ckGf3EeWMPvawG7kW7FBz70NYEZ0pOMiaEZNVtzD3wwbYWUiDFYth 83XGglOExg+1ShTW5XjQPRrdyJAO+aUW4o3lVjfyUJXMgI4rmhMiLVm06GuNrbpKIF0s+4Vd jQAjhrDQjfoXi9CkfsA/cONseuHNv1JGj3RqHiqHJq1dbrpodXp925zGDAnUGxCOBPoFopAH gVzR89GTut059GpwqsddZmU6y7rqifuam/ekJ+QRwc16vgt7pHqCrTY8WPxRZr2UpFU1wlTo COdeiFep1gq1F9jzFjJnoMaAdmC6k7bgAA+RQusOgIhJL0jIej7DoAHxmxFFCfRy+lDtpXwF gQ8HMvzHI65QWmQnMo7s6SQH/ZH5s1yR6SJq8+3lDz+dCuT42qJVqIPVvxd10LW0FNN+t7HF eLadU6ekSgD13/EYMYXlvNHkw7dAItSDxIzgRyykLz0bCU9xwNWoS4Z43+ifF9anJ+uR0ltW El1j++h6ZrD3LLuCgJIt1so0m49GzdcSpOI7LCwMlacyvafiEyjUn+tSNDsnfw== Subject: Re: svn commit: r359945 - in head: lib/geom/eli sys/geom/eli Message-ID: <8a2a2c4e-1ad3-0f0d-24e5-a0d38046aef8@delphij.net> Date: Tue, 14 Apr 2020 17:48:13 -0700 User-Agent: Thunderbird MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 4923cj1RfXz42XH X-Spamd-Bar: ----- X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 00:48:21 -0000 On 4/14/20 17:22, Alan Somers wrote: > On Tue, Apr 14, 2020 at 6:15 PM John Baldwin > wrote: > > Author: jhb > Date: Wed Apr 15 00:14:50 2020 > New Revision: 359945 > URL: https://svnweb.freebsd.org/changeset/base/359945 > > Log: >   Remove support for geli(4) algorithms deprecated in r348206. [snip] > Why remove read-only support?  That will make it much harder to convert > old volumes. Because they uses 64-bit block size and is vulnerable to birthday attacks. We have officially communicated that these algorithms would be gone in 13 last year, with gone_in messages in place, so I think it's fine to remove them as we are not going to keep the code forever. Cheers, From owner-svn-src-head@freebsd.org Wed Apr 15 01:39:17 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B2DA02CF302; Wed, 15 Apr 2020 01:39:17 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4924lT4G86z44jm; Wed, 15 Apr 2020 01:39:17 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8D92DF124; Wed, 15 Apr 2020 01:39:17 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F1dHNr089245; Wed, 15 Apr 2020 01:39:17 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F1dHl0089244; Wed, 15 Apr 2020 01:39:17 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004150139.03F1dHl0089244@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Wed, 15 Apr 2020 01:39:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359948 - head/share/man/man9 X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/share/man/man9 X-SVN-Commit-Revision: 359948 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 01:39:17 -0000 Author: cem Date: Wed Apr 15 01:39:17 2020 New Revision: 359948 URL: https://svnweb.freebsd.org/changeset/base/359948 Log: bus_dma.9: Remove erroneous usage recommendation It is not valid to pass BUS_SPACE_UNRESTRICTED to bus_dma_tag_create()'s nsegments parameter as it is interpreted as a very large segment count. Subsequent allocation operations on the tag will preallocate some multiple of that count. BUS_SPACE_UNRESTRICTED therefore indicates something like: malloc(infinity). Discussed with: bcr, jhb (earlier version) Modified: head/share/man/man9/bus_dma.9 Modified: head/share/man/man9/bus_dma.9 ============================================================================== --- head/share/man/man9/bus_dma.9 Wed Apr 15 00:36:00 2020 (r359947) +++ head/share/man/man9/bus_dma.9 Wed Apr 15 01:39:17 2020 (r359948) @@ -53,7 +53,7 @@ .\" $FreeBSD$ .\" $NetBSD: bus_dma.9,v 1.25 2002/10/14 13:43:16 wiz Exp $ .\" -.Dd March 27, 2020 +.Dd April 14, 2020 .Dt BUS_DMA 9 .Os .Sh NAME @@ -618,9 +618,6 @@ DMA mapping associated with this tag. .It Fa nsegments Number of discontinuities (scatter/gather segments) allowed in a DMA mapped region. -If there is no restriction, -.Dv BUS_SPACE_UNRESTRICTED -may be specified. .It Fa maxsegsz Maximum size, in bytes, of a segment in any DMA mapped region associated with From owner-svn-src-head@freebsd.org Wed Apr 15 01:58:52 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5F9E32CF745; Wed, 15 Apr 2020 01:58:52 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4925B41rTYz45Rg; Wed, 15 Apr 2020 01:58:52 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 39FEDF509; Wed, 15 Apr 2020 01:58:52 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F1wqVm001757; Wed, 15 Apr 2020 01:58:52 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F1wpiw001754; Wed, 15 Apr 2020 01:58:51 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004150158.03F1wpiw001754@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Wed, 15 Apr 2020 01:58:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359949 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 359949 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 01:58:52 -0000 Author: cem Date: Wed Apr 15 01:58:51 2020 New Revision: 359949 URL: https://svnweb.freebsd.org/changeset/base/359949 Log: bhyve(8): Add bootrom allocation abstraction To allow more general use of the bootrom region, separate initialization from allocation, and allocation from loading a file. The bootrom segment is the high 16MB of the low 4GB region. Each allocation in the segment creates a new mapping with specified protection. By default, allocation begins at the low end of the range. However, the BOOTROM_ALLOC_TOP flag is provided to locate a provided bootrom in the high region it is expected to be in. The existing ROM-file loading code is refactored to use the new interface. Reviewed by: grehan (earlier version) Differential Revision: https://reviews.freebsd.org/D24422 Modified: head/usr.sbin/bhyve/bhyverun.c head/usr.sbin/bhyve/bootrom.c head/usr.sbin/bhyve/bootrom.h head/usr.sbin/bhyve/pci_lpc.c Modified: head/usr.sbin/bhyve/bhyverun.c ============================================================================== --- head/usr.sbin/bhyve/bhyverun.c Wed Apr 15 01:39:17 2020 (r359948) +++ head/usr.sbin/bhyve/bhyverun.c Wed Apr 15 01:58:51 2020 (r359949) @@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$"); #include "bhyverun.h" #include "acpi.h" #include "atkbdc.h" +#include "bootrom.h" #include "inout.h" #include "dbgport.h" #include "fwctl.h" @@ -1157,6 +1158,7 @@ main(int argc, char *argv[]) init_mem(); init_inout(); + init_bootrom(ctx); atkbdc_init(ctx); pci_irq_init(ctx); ioapic_init(ctx); Modified: head/usr.sbin/bhyve/bootrom.c ============================================================================== --- head/usr.sbin/bhyve/bootrom.c Wed Apr 15 01:39:17 2020 (r359948) +++ head/usr.sbin/bhyve/bootrom.c Wed Apr 15 01:58:51 2020 (r359949) @@ -35,6 +35,7 @@ __FBSDID("$FreeBSD$"); #include +#include #include #include #include @@ -47,16 +48,102 @@ __FBSDID("$FreeBSD$"); #include "bootrom.h" #include "debug.h" -#define MAX_BOOTROM_SIZE (16 * 1024 * 1024) /* 16 MB */ +#define BOOTROM_SIZE (16 * 1024 * 1024) /* 16 MB */ +/* + * ROM region is 16 MB at the top of 4GB ("low") memory. + * + * The size is limited so it doesn't encroach into reserved MMIO space (e.g., + * APIC, HPET, MSI). + * + * It is allocated in page-multiple blocks on a first-come first-serve basis, + * from high to low, during initialization, and does not change at runtime. + */ +static char *romptr; /* Pointer to userspace-mapped bootrom region. */ +static vm_paddr_t gpa_base; /* GPA of low end of region. */ +static vm_paddr_t gpa_allocbot; /* Low GPA of free region. */ +static vm_paddr_t gpa_alloctop; /* High GPA, minus 1, of free region. */ + +void +init_bootrom(struct vmctx *ctx) +{ + romptr = vm_create_devmem(ctx, VM_BOOTROM, "bootrom", BOOTROM_SIZE); + if (romptr == MAP_FAILED) + err(4, "%s: vm_create_devmem", __func__); + gpa_base = (1ULL << 32) - BOOTROM_SIZE; + gpa_allocbot = gpa_base; + gpa_alloctop = (1ULL << 32) - 1; +} + int -bootrom_init(struct vmctx *ctx, const char *romfile) +bootrom_alloc(struct vmctx *ctx, size_t len, int prot, int flags, + char **region_out, uint64_t *gpa_out) { - struct stat sbuf; + static const int bootrom_valid_flags = BOOTROM_ALLOC_TOP; + vm_paddr_t gpa; + vm_ooffset_t segoff; + + if (flags & ~bootrom_valid_flags) { + warnx("%s: Invalid flags: %x", __func__, + flags & ~bootrom_valid_flags); + return (EINVAL); + } + if (prot & ~_PROT_ALL) { + warnx("%s: Invalid protection: %x", __func__, + prot & ~_PROT_ALL); + return (EINVAL); + } + + if (len == 0 || len > BOOTROM_SIZE) { + warnx("ROM size %zu is invalid", len); + return (EINVAL); + } + if (len & PAGE_MASK) { + warnx("ROM size %zu is not a multiple of the page size", + len); + return (EINVAL); + } + + if (flags & BOOTROM_ALLOC_TOP) { + gpa = (gpa_alloctop - len) + 1; + if (gpa < gpa_allocbot) { + warnx("No room for %zu ROM in bootrom region", len); + return (ENOMEM); + } + } else { + gpa = gpa_allocbot; + if (gpa > (gpa_alloctop - len) + 1) { + warnx("No room for %zu ROM in bootrom region", len); + return (ENOMEM); + } + } + + segoff = gpa - gpa_base; + if (vm_mmap_memseg(ctx, gpa, VM_BOOTROM, segoff, len, prot) != 0) { + int serrno = errno; + warn("%s: vm_mmap_mapseg", __func__); + return (serrno); + } + + if (flags & BOOTROM_ALLOC_TOP) + gpa_alloctop = gpa - 1; + else + gpa_allocbot = gpa + len; + + *region_out = romptr + segoff; + if (gpa_out != NULL) + *gpa_out = gpa; + return (0); +} + +int +bootrom_loadrom(struct vmctx *ctx, const char *romfile) +{ + struct stat sbuf; ssize_t rlen; char *ptr; - int fd, i, rv, prot; + int fd, i, rv; rv = -1; fd = open(romfile, O_RDONLY); @@ -72,29 +159,9 @@ bootrom_init(struct vmctx *ctx, const char *romfile) goto done; } - /* - * Limit bootrom size to 16MB so it doesn't encroach into reserved - * MMIO space (e.g. APIC, HPET, MSI). - */ - if (sbuf.st_size > MAX_BOOTROM_SIZE || sbuf.st_size < PAGE_SIZE) { - EPRINTLN("Invalid bootrom size %ld", sbuf.st_size); - goto done; - } - - if (sbuf.st_size & PAGE_MASK) { - EPRINTLN("Bootrom size %ld is not a multiple of the " - "page size", sbuf.st_size); - goto done; - } - - ptr = vm_create_devmem(ctx, VM_BOOTROM, "bootrom", sbuf.st_size); - if (ptr == MAP_FAILED) - goto done; - /* Map the bootrom into the guest address space */ - prot = PROT_READ | PROT_EXEC; - gpa = (1ULL << 32) - sbuf.st_size; - if (vm_mmap_memseg(ctx, gpa, VM_BOOTROM, 0, sbuf.st_size, prot) != 0) + if (bootrom_alloc(ctx, sbuf.st_size, PROT_READ | PROT_EXEC, + BOOTROM_ALLOC_TOP, &ptr, NULL) != 0) goto done; /* Read 'romfile' into the guest address space */ Modified: head/usr.sbin/bhyve/bootrom.h ============================================================================== --- head/usr.sbin/bhyve/bootrom.h Wed Apr 15 01:39:17 2020 (r359948) +++ head/usr.sbin/bhyve/bootrom.h Wed Apr 15 01:58:51 2020 (r359949) @@ -32,9 +32,19 @@ #define _BOOTROM_H_ #include +#include +#include +#include struct vmctx; -int bootrom_init(struct vmctx *ctx, const char *romfile); +void init_bootrom(struct vmctx *ctx); +enum { + BOOTROM_ALLOC_TOP = 0x80, + _FORCE_INT = INT_MIN, +}; +int bootrom_alloc(struct vmctx *ctx, size_t len, int prot, int flags, + char **region_out, uint64_t *gpa_out); +int bootrom_loadrom(struct vmctx *ctx, const char *romfile); #endif Modified: head/usr.sbin/bhyve/pci_lpc.c ============================================================================== --- head/usr.sbin/bhyve/pci_lpc.c Wed Apr 15 01:39:17 2020 (r359948) +++ head/usr.sbin/bhyve/pci_lpc.c Wed Apr 15 01:58:51 2020 (r359949) @@ -192,7 +192,7 @@ lpc_init(struct vmctx *ctx) int unit, error; if (romfile != NULL) { - error = bootrom_init(ctx, romfile); + error = bootrom_loadrom(ctx, romfile); if (error) return (error); } From owner-svn-src-head@freebsd.org Wed Apr 15 02:00:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C02D52CF8E0; Wed, 15 Apr 2020 02:00:19 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4925Cl4kFDz45gf; Wed, 15 Apr 2020 02:00:19 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9D365F531; Wed, 15 Apr 2020 02:00:19 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F20JpA001959; Wed, 15 Apr 2020 02:00:19 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F20I3H001953; Wed, 15 Apr 2020 02:00:18 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004150200.03F20I3H001953@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Wed, 15 Apr 2020 02:00:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359950 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 359950 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 02:00:19 -0000 Author: cem Date: Wed Apr 15 02:00:17 2020 New Revision: 359950 URL: https://svnweb.freebsd.org/changeset/base/359950 Log: bhyve(8): Add VM Generation Counter ACPI device Add an implementatation of the 'Virtual Machine Generation ID' spec to Bhyve. The spec provides a randomly generated GUID (at bhyve start) in device memory, along with an ACPI device with _CID VM_Gen_Counter and ADDR evaluating to a Package pointing at that GUID. A GPE is defined which Notifies the ACPI Device when the generation changes (such as when a snapshot is rolled back). At this time, Bhyve does not support snapshotting, so the GPE is never actually raised. Suggested by: rpokala Discussed with: grehan Differential Revision: https://reviews.freebsd.org/D23165 Added: head/usr.sbin/bhyve/vmgenc.c (contents, props changed) head/usr.sbin/bhyve/vmgenc.h (contents, props changed) Modified: head/usr.sbin/bhyve/Makefile head/usr.sbin/bhyve/acpi.c head/usr.sbin/bhyve/acpi.h head/usr.sbin/bhyve/bhyverun.c head/usr.sbin/bhyve/pm.c Modified: head/usr.sbin/bhyve/Makefile ============================================================================== --- head/usr.sbin/bhyve/Makefile Wed Apr 15 01:58:51 2020 (r359949) +++ head/usr.sbin/bhyve/Makefile Wed Apr 15 02:00:17 2020 (r359950) @@ -67,6 +67,7 @@ SRCS= \ usb_mouse.c \ virtio.c \ vga.c \ + vmgenc.c \ xmsr.c \ spinup_ap.c \ iov.c Modified: head/usr.sbin/bhyve/acpi.c ============================================================================== --- head/usr.sbin/bhyve/acpi.c Wed Apr 15 01:58:51 2020 (r359949) +++ head/usr.sbin/bhyve/acpi.c Wed Apr 15 02:00:17 2020 (r359950) @@ -74,6 +74,7 @@ __FBSDID("$FreeBSD$"); #include "bhyverun.h" #include "acpi.h" #include "pci_emul.h" +#include "vmgenc.h" /* * Define the base address of the ACPI tables, the sizes of some tables, @@ -367,13 +368,13 @@ basl_fwrite_fadt(FILE *fp) EFPRINTF(fp, "[0004]\t\tPM2 Control Block Address : 00000000\n"); EFPRINTF(fp, "[0004]\t\tPM Timer Block Address : %08X\n", IO_PMTMR); - EFPRINTF(fp, "[0004]\t\tGPE0 Block Address : 00000000\n"); + EFPRINTF(fp, "[0004]\t\tGPE0 Block Address : %08X\n", IO_GPE0_BLK); EFPRINTF(fp, "[0004]\t\tGPE1 Block Address : 00000000\n"); EFPRINTF(fp, "[0001]\t\tPM1 Event Block Length : 04\n"); EFPRINTF(fp, "[0001]\t\tPM1 Control Block Length : 02\n"); EFPRINTF(fp, "[0001]\t\tPM2 Control Block Length : 00\n"); EFPRINTF(fp, "[0001]\t\tPM Timer Block Length : 04\n"); - EFPRINTF(fp, "[0001]\t\tGPE0 Block Length : 00\n"); + EFPRINTF(fp, "[0001]\t\tGPE0 Block Length : %02x\n", IO_GPE0_LEN); EFPRINTF(fp, "[0001]\t\tGPE1 Block Length : 00\n"); EFPRINTF(fp, "[0001]\t\tGPE1 Base Offset : 00\n"); EFPRINTF(fp, "[0001]\t\t_CST Support : 00\n"); @@ -501,10 +502,10 @@ basl_fwrite_fadt(FILE *fp) EFPRINTF(fp, "[0012]\t\tGPE0 Block : [Generic Address Structure]\n"); EFPRINTF(fp, "[0001]\t\tSpace ID : 01 [SystemIO]\n"); - EFPRINTF(fp, "[0001]\t\tBit Width : 00\n"); + EFPRINTF(fp, "[0001]\t\tBit Width : %02x\n", IO_GPE0_LEN * 8); EFPRINTF(fp, "[0001]\t\tBit Offset : 00\n"); EFPRINTF(fp, "[0001]\t\tEncoded Access Width : 01 [Byte Access:8]\n"); - EFPRINTF(fp, "[0008]\t\tAddress : 0000000000000000\n"); + EFPRINTF(fp, "[0008]\t\tAddress : %016X\n", IO_GPE0_BLK); EFPRINTF(fp, "\n"); EFPRINTF(fp, "[0012]\t\tGPE1 Block : [Generic Address Structure]\n"); @@ -756,6 +757,9 @@ basl_fwrite_dsdt(FILE *fp) dsdt_line(" })"); dsdt_line(" }"); dsdt_line(" }"); + + vmgenc_write_dsdt(); + dsdt_line("}"); if (dsdt_error != 0) Modified: head/usr.sbin/bhyve/acpi.h ============================================================================== --- head/usr.sbin/bhyve/acpi.h Wed Apr 15 01:58:51 2020 (r359949) +++ head/usr.sbin/bhyve/acpi.h Wed Apr 15 02:00:17 2020 (r359950) @@ -42,9 +42,19 @@ #define IO_PMTMR 0x408 /* 4-byte i/o port for the timer */ +#define IO_GPE0_BLK 0x40c /* 2x 1-byte IO port for GPE0_STS/EN */ +#define IO_GPE0_LEN 0x2 + +#define IO_GPE0_STS IO_GPE0_BLK +#define IO_GPE0_EN (IO_GPE0_BLK + (IO_GPE0_LEN / 2)) + +/* Allocated GPE bits. */ +#define GPE_VMGENC 0 + struct vmctx; int acpi_build(struct vmctx *ctx, int ncpu); +void acpi_raise_gpe(struct vmctx *ctx, unsigned bit); void dsdt_line(const char *fmt, ...); void dsdt_fixed_ioport(uint16_t iobase, uint16_t length); void dsdt_fixed_irq(uint8_t irq); Modified: head/usr.sbin/bhyve/bhyverun.c ============================================================================== --- head/usr.sbin/bhyve/bhyverun.c Wed Apr 15 01:58:51 2020 (r359949) +++ head/usr.sbin/bhyve/bhyverun.c Wed Apr 15 02:00:17 2020 (r359950) @@ -85,6 +85,7 @@ __FBSDID("$FreeBSD$"); #include "xmsr.h" #include "spinup_ap.h" #include "rtc.h" +#include "vmgenc.h" #define GUEST_NIO_PORT 0x488 /* guest upcalls via i/o port */ @@ -1173,6 +1174,13 @@ main(int argc, char *argv[]) perror("device emulation initialization error"); exit(4); } + + /* + * Initialize after PCI, to allow a bootrom file to reserve the high + * region. + */ + if (acpi) + vmgenc_init(ctx); if (dbg_port != 0) init_dbgport(dbg_port); Modified: head/usr.sbin/bhyve/pm.c ============================================================================== --- head/usr.sbin/bhyve/pm.c Wed Apr 15 01:58:51 2020 (r359949) +++ head/usr.sbin/bhyve/pm.c Wed Apr 15 02:00:17 2020 (r359950) @@ -49,6 +49,10 @@ static pthread_mutex_t pm_lock = PTHREAD_MUTEX_INITIAL static struct mevent *power_button; static sig_t old_power_handler; +static unsigned gpe0_active; +static unsigned gpe0_enabled; +static const unsigned gpe0_valid = (1u << GPE_VMGENC); + /* * Reset Control register at I/O port 0xcf9. Bit 2 forces a system * reset when it transitions from 0 to 1. Bit 1 selects the type of @@ -144,6 +148,9 @@ sci_update(struct vmctx *ctx) need_sci = 1; if ((pm1_enable & PM1_RTC_EN) && (pm1_status & PM1_RTC_STS)) need_sci = 1; + if ((gpe0_enabled & gpe0_active) != 0) + need_sci = 1; + if (need_sci) sci_assert(ctx); else @@ -261,6 +268,64 @@ pm1_control_handler(struct vmctx *ctx, int vcpu, int i } INOUT_PORT(pm1_control, PM1A_CNT_ADDR, IOPORT_F_INOUT, pm1_control_handler); SYSRES_IO(PM1A_EVT_ADDR, 8); + +void +acpi_raise_gpe(struct vmctx *ctx, unsigned bit) +{ + unsigned mask; + + assert(bit < (IO_GPE0_LEN * (8 / 2))); + mask = (1u << bit); + assert((mask & ~gpe0_valid) == 0); + + pthread_mutex_lock(&pm_lock); + gpe0_active |= mask; + sci_update(ctx); + pthread_mutex_unlock(&pm_lock); +} + +static int +gpe0_sts(struct vmctx *ctx, int vcpu, int in, int port, int bytes, + uint32_t *eax, void *arg) +{ + /* + * ACPI 6.2 specifies the GPE register blocks are accessed + * byte-at-a-time. + */ + if (bytes != 1) + return (-1); + + pthread_mutex_lock(&pm_lock); + if (in) + *eax = gpe0_active; + else { + /* W1C */ + gpe0_active &= ~(*eax & gpe0_valid); + sci_update(ctx); + } + pthread_mutex_unlock(&pm_lock); + return (0); +} +INOUT_PORT(gpe0_sts, IO_GPE0_STS, IOPORT_F_INOUT, gpe0_sts); + +static int +gpe0_en(struct vmctx *ctx, int vcpu, int in, int port, int bytes, + uint32_t *eax, void *arg) +{ + if (bytes != 1) + return (-1); + + pthread_mutex_lock(&pm_lock); + if (in) + *eax = gpe0_enabled; + else { + gpe0_enabled = (*eax & gpe0_valid); + sci_update(ctx); + } + pthread_mutex_unlock(&pm_lock); + return (0); +} +INOUT_PORT(gpe0_en, IO_GPE0_EN, IOPORT_F_INOUT, gpe0_en); /* * ACPI SMI Command Register Added: head/usr.sbin/bhyve/vmgenc.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/bhyve/vmgenc.c Wed Apr 15 02:00:17 2020 (r359950) @@ -0,0 +1,119 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright 2020 Conrad Meyer . All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "acpi.h" +#include "bootrom.h" +#include "vmgenc.h" + +static uint64_t vmgen_gpa; + +void +vmgenc_init(struct vmctx *ctx) +{ + char *region; + int error; + + error = bootrom_alloc(ctx, PAGE_SIZE, PROT_READ, 0, ®ion, + &vmgen_gpa); + if (error != 0) + errx(4, "%s: bootrom_alloc", __func__); + + /* + * It is basically harmless to always generate a random ID when + * starting a VM. + */ + error = getentropy(region, sizeof(struct uuid)); + if (error == -1) + err(4, "%s: getentropy", __func__); + + /* XXX When we have suspend/resume/rollback. */ +#if 0 + acpi_raise_gpe(ctx, GPE_VMGENC); +#endif +} + +void +vmgenc_write_dsdt(void) +{ + dsdt_line(""); + dsdt_indent(1); + dsdt_line("Scope (_SB)"); + dsdt_line("{"); + + dsdt_line(" Device (GENC)"); + dsdt_line(" {"); + + dsdt_indent(2); + dsdt_line("Name (_CID, \"VM_Gen_Counter\")"); + dsdt_line("Method (_HID, 0, NotSerialized)"); + dsdt_line("{"); + dsdt_line(" Return (\"Bhyve_V_Gen_Counter_V1\")"); + dsdt_line("}"); + dsdt_line("Name (_UID, 0)"); + dsdt_line("Name (_DDN, \"VM_Gen_Counter\")"); + dsdt_line("Name (ADDR, Package (0x02)"); + dsdt_line("{"); + dsdt_line(" 0x%08x,", (uint32_t)vmgen_gpa); + dsdt_line(" 0x%08x", (uint32_t)(vmgen_gpa >> 32)); + dsdt_line("})"); + + dsdt_unindent(2); + dsdt_line(" }"); /* Device (GENC) */ + + dsdt_line("}"); /* Scope (_SB) */ + dsdt_line(""); + + dsdt_line("Scope (_GPE)"); + dsdt_line("{"); + dsdt_line(" Method (_E%02x, 0, NotSerialized)", GPE_VMGENC); + dsdt_line(" {"); + dsdt_line(" Notify (\\_SB.GENC, 0x80)"); + dsdt_line(" }"); + dsdt_line("}"); + dsdt_unindent(1); +} Added: head/usr.sbin/bhyve/vmgenc.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/usr.sbin/bhyve/vmgenc.h Wed Apr 15 02:00:17 2020 (r359950) @@ -0,0 +1,31 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright 2020 Conrad Meyer . All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ +#pragma once +void vmgenc_init(struct vmctx *); +void vmgenc_write_dsdt(void); From owner-svn-src-head@freebsd.org Wed Apr 15 02:34:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3A0EC2A8771; Wed, 15 Apr 2020 02:34:45 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4925zT0lfdz47kl; Wed, 15 Apr 2020 02:34:45 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 14F8EFD19; Wed, 15 Apr 2020 02:34:45 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F2YiU0026325; Wed, 15 Apr 2020 02:34:44 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F2YiHk026324; Wed, 15 Apr 2020 02:34:44 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004150234.03F2YiHk026324@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Wed, 15 Apr 2020 02:34:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359951 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 359951 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 02:34:45 -0000 Author: cem Date: Wed Apr 15 02:34:44 2020 New Revision: 359951 URL: https://svnweb.freebsd.org/changeset/base/359951 Log: bhyve(8): Minor cosmetic niceties in instemul failure Print the failed instruction stream as a contiguous stream of hex. This is closer to something you could throw at a disassembler than 0xHH 0xHH 0xHH. Also, use the debug.h 'raw' stdio-aware printf helper to avoid the cascading line effect. Modified: head/usr.sbin/bhyve/bhyverun.c Modified: head/usr.sbin/bhyve/bhyverun.c ============================================================================== --- head/usr.sbin/bhyve/bhyverun.c Wed Apr 15 02:00:17 2020 (r359950) +++ head/usr.sbin/bhyve/bhyverun.c Wed Apr 15 02:34:44 2020 (r359951) @@ -72,6 +72,7 @@ __FBSDID("$FreeBSD$"); #include "bootrom.h" #include "inout.h" #include "dbgport.h" +#include "debug.h" #include "fwctl.h" #include "gdb.h" #include "ioapic.h" @@ -718,16 +719,14 @@ vmexit_inst_emul(struct vmctx *ctx, struct vm_exit *vm if (err) { if (err == ESRCH) { - fprintf(stderr, "Unhandled memory access to 0x%lx\n", + EPRINTLN("Unhandled memory access to 0x%lx\n", vmexit->u.inst_emul.gpa); } - fprintf(stderr, "Failed to emulate instruction ["); - for (i = 0; i < vie->num_valid; i++) { - fprintf(stderr, "0x%02x%s", vie->inst[i], - i != (vie->num_valid - 1) ? " " : ""); - } - fprintf(stderr, "] at 0x%lx\n", vmexit->rip); + fprintf(stderr, "Failed to emulate instruction sequence [ "); + for (i = 0; i < vie->num_valid; i++) + fprintf(stderr, "%02x", vie->inst[i]); + FPRINTLN(stderr, " ] at 0x%lx", vmexit->rip); return (VMEXIT_ABORT); } From owner-svn-src-head@freebsd.org Wed Apr 15 03:40:33 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9C9552A959D; Wed, 15 Apr 2020 03:40:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4927RP3kGGz4Bjm; Wed, 15 Apr 2020 03:40:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7B22B18921; Wed, 15 Apr 2020 03:40:33 +0000 (UTC) (envelope-from np@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F3eXNG064846; Wed, 15 Apr 2020 03:40:33 GMT (envelope-from np@FreeBSD.org) Received: (from np@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F3eXjk064845; Wed, 15 Apr 2020 03:40:33 GMT (envelope-from np@FreeBSD.org) Message-Id: <202004150340.03F3eXjk064845@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: np set sender to np@FreeBSD.org using -f From: Navdeep Parhar Date: Wed, 15 Apr 2020 03:40:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359952 - head/sys/dev/cxgbe/iw_cxgbe X-SVN-Group: head X-SVN-Commit-Author: np X-SVN-Commit-Paths: head/sys/dev/cxgbe/iw_cxgbe X-SVN-Commit-Revision: 359952 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 03:40:33 -0000 Author: np Date: Wed Apr 15 03:40:33 2020 New Revision: 359952 URL: https://svnweb.freebsd.org/changeset/base/359952 Log: cxgbe/iw_cxgbe: Do not start the EP timer if soaccept fails. This fixes a panic that would occur when the timer tried to close a stale socket. Submitted by: Krishnamraju Eraparaju @ Chelsio MFC after: 1 week Sponsored by: Chelsio Communications Modified: head/sys/dev/cxgbe/iw_cxgbe/cm.c Modified: head/sys/dev/cxgbe/iw_cxgbe/cm.c ============================================================================== --- head/sys/dev/cxgbe/iw_cxgbe/cm.c Wed Apr 15 02:34:44 2020 (r359951) +++ head/sys/dev/cxgbe/iw_cxgbe/cm.c Wed Apr 15 03:40:33 2020 (r359952) @@ -1013,7 +1013,6 @@ process_newconn(struct c4iw_listen_ep *master_lep, str c4iw_get_ep(&real_lep->com); init_timer(&new_ep->timer); new_ep->com.state = MPA_REQ_WAIT; - START_EP_TIMER(new_ep); setiwsockopt(new_so); ret = soaccept(new_so, (struct sockaddr **)&remote); @@ -1023,13 +1022,14 @@ process_newconn(struct c4iw_listen_ep *master_lep, str __func__, master_lep->com.so, new_so, ret); if (remote != NULL) free(remote, M_SONAME); - uninit_iwarp_socket(new_so); soclose(new_so); c4iw_put_ep(&new_ep->com); c4iw_put_ep(&real_lep->com); return; } free(remote, M_SONAME); + + START_EP_TIMER(new_ep); /* MPA request might have been queued up on the socket already, so we * initialize the socket/upcall_handler under lock to prevent processing From owner-svn-src-head@freebsd.org Wed Apr 15 03:59:27 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 397C92A9B6E; Wed, 15 Apr 2020 03:59:27 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4927sC0mRNz4Cqd; Wed, 15 Apr 2020 03:59:27 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 155D118CF9; Wed, 15 Apr 2020 03:59:27 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F3xQeb077713; Wed, 15 Apr 2020 03:59:26 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F3xQnK077710; Wed, 15 Apr 2020 03:59:26 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004150359.03F3xQnK077710@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Wed, 15 Apr 2020 03:59:26 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359953 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 359953 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 03:59:27 -0000 Author: kevans Date: Wed Apr 15 03:59:26 2020 New Revision: 359953 URL: https://svnweb.freebsd.org/changeset/base/359953 Log: kern uuid: break format validation out into a separate KPI This new KPI, validate_uuid, strictly validates the formatting of the input UUID and, optionally, populates a given struct uuid. As noted in the header, the key differences are that the new KPI won't recognize an empty string as a nil UUID and it won't do any kind of semantic validation on it. Also key is that populating a struct uuid is optional, so the caller doesn't necessarily need to allocate a bogus one on the stack just to validate the string. This KPI has specifically been broken out in support of D24288, which will preload /etc/hostid in loader so that early boot hostuuid users (e.g. anything that calls ether_gen_addr) can have a valid hostuuid to work with once it's been stashed in /etc/hostid. Modified: head/sys/kern/kern_uuid.c head/sys/sys/uuid.h Modified: head/sys/kern/kern_uuid.c ============================================================================== --- head/sys/kern/kern_uuid.c Wed Apr 15 03:40:33 2020 (r359952) +++ head/sys/kern/kern_uuid.c Wed Apr 15 03:59:26 2020 (r359953) @@ -382,19 +382,16 @@ be_uuid_dec(void const *buf, struct uuid *uuid) } int -parse_uuid(const char *str, struct uuid *uuid) +validate_uuid(const char *str, size_t size, struct uuid *uuid) { u_int c[11]; int n; - /* An empty string represents a nil UUID. */ - if (*str == '\0') { - bzero(uuid, sizeof(*uuid)); - return (0); - } + if (size == 0 || *str == '\0') + return (EINVAL); /* The UUID string representation has a fixed length. */ - if (strlen(str) != 36) + if (size != 36) return (EINVAL); /* @@ -406,25 +403,48 @@ parse_uuid(const char *str, struct uuid *uuid) if (str[8] != '-') return (EINVAL); + /* Now check the format. */ n = sscanf(str, "%8x-%4x-%4x-%2x%2x-%2x%2x%2x%2x%2x%2x", c + 0, c + 1, c + 2, c + 3, c + 4, c + 5, c + 6, c + 7, c + 8, c + 9, c + 10); /* Make sure we have all conversions. */ if (n != 11) return (EINVAL); - /* Successful scan. Build the UUID. */ - uuid->time_low = c[0]; - uuid->time_mid = c[1]; - uuid->time_hi_and_version = c[2]; - uuid->clock_seq_hi_and_reserved = c[3]; - uuid->clock_seq_low = c[4]; - for (n = 0; n < 6; n++) - uuid->node[n] = c[n + 5]; + /* Successful scan. Build the UUID if requested. */ + if (uuid != NULL) { + uuid->time_low = c[0]; + uuid->time_mid = c[1]; + uuid->time_hi_and_version = c[2]; + uuid->clock_seq_hi_and_reserved = c[3]; + uuid->clock_seq_low = c[4]; + for (n = 0; n < 6; n++) + uuid->node[n] = c[n + 5]; + } + return (0); +} + +int +parse_uuid(const char *str, struct uuid *uuid) +{ + unsigned int clock_seq; + int ret; + + /* An empty string represents a nil UUID. */ + if (*str == '\0') { + bzero(uuid, sizeof(*uuid)); + return (0); + } + + ret = validate_uuid(str, strlen(str), uuid); + if (ret != 0) + return (ret); + /* Check semantics... */ - return (((c[3] & 0x80) != 0x00 && /* variant 0? */ - (c[3] & 0xc0) != 0x80 && /* variant 1? */ - (c[3] & 0xe0) != 0xc0) ? EINVAL : 0); /* variant 2? */ + clock_seq = uuid->clock_seq_hi_and_reserved; + return (((clock_seq & 0x80) != 0x00 && /* variant 0? */ + (clock_seq & 0xc0) != 0x80 && /* variant 1? */ + (clock_seq & 0xe0) != 0xc0) ? EINVAL : 0); /* variant 2? */ } int Modified: head/sys/sys/uuid.h ============================================================================== --- head/sys/sys/uuid.h Wed Apr 15 03:40:33 2020 (r359952) +++ head/sys/sys/uuid.h Wed Apr 15 03:59:26 2020 (r359953) @@ -66,6 +66,21 @@ int uuid_ether_del(const uint8_t *); int snprintf_uuid(char *, size_t, struct uuid *); int printf_uuid(struct uuid *); int sbuf_printf_uuid(struct sbuf *, struct uuid *); + +/* + * There are a few key differences between validate_uuid and parse_uuid: + * + * - The struct uuid * parameter to validate_uuid is optional, so the caller + * can simply validate UUID format without doing anything with the result. + * - validate_uuid will not pass an empty string as a valid UUID, as it doesn't + * strictly meet the formatting requirements. parse_uuid will accept an + * empty string and zero out the uuid struct accordingly. + * - parse_uuid does additional semantic checks on clock_seq_hi_and_reserved + * that validate_uuid will not do. + * + * validate_uuid is intended to strictly check that it's a well-formed uuid. + */ +int validate_uuid(const char *, size_t, struct uuid *); int parse_uuid(const char *, struct uuid *); int uuidcmp(const struct uuid *, const struct uuid *); From owner-svn-src-head@freebsd.org Wed Apr 15 04:03:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 33FCB2A9DA1; Wed, 15 Apr 2020 04:03:47 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4927yC0bVNz4DK6; Wed, 15 Apr 2020 04:03:47 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0FA2618EEC; Wed, 15 Apr 2020 04:03:47 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F43kgS083623; Wed, 15 Apr 2020 04:03:46 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F43kUH083622; Wed, 15 Apr 2020 04:03:46 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004150403.03F43kUH083622@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Wed, 15 Apr 2020 04:03:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359954 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 359954 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 04:03:47 -0000 Author: kevans Date: Wed Apr 15 04:03:46 2020 New Revision: 359954 URL: https://svnweb.freebsd.org/changeset/base/359954 Log: sys/types.h: adjust #endif comment to match reality Submitted by: sigsys gmail com Modified: head/sys/sys/types.h Modified: head/sys/sys/types.h ============================================================================== --- head/sys/sys/types.h Wed Apr 15 03:59:26 2020 (r359953) +++ head/sys/sys/types.h Wed Apr 15 04:03:46 2020 (r359954) @@ -304,7 +304,7 @@ typedef _Bool bool; #define offsetof(type, field) __offsetof(type, field) -#endif /* !_KERNEL */ +#endif /* _KERNEL */ /* * The following are all things that really shouldn't exist in this header, From owner-svn-src-head@freebsd.org Wed Apr 15 05:55:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6FD662ABFF3; Wed, 15 Apr 2020 05:55:15 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492BQq20dxz4K0F; Wed, 15 Apr 2020 05:55:15 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3B9D51A368; Wed, 15 Apr 2020 05:55:15 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F5tFHb052295; Wed, 15 Apr 2020 05:55:15 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F5tEl6052293; Wed, 15 Apr 2020 05:55:14 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004150555.03F5tEl6052293@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Wed, 15 Apr 2020 05:55:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359959 - head/usr.sbin/bhyve X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/usr.sbin/bhyve X-SVN-Commit-Revision: 359959 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 05:55:15 -0000 Author: cem Date: Wed Apr 15 05:55:14 2020 New Revision: 359959 URL: https://svnweb.freebsd.org/changeset/base/359959 Log: bhyve(8): Correct copyright boilerplate for r359950 Use the text from the canonical sys/copyright.h 2-clause FreeBSD License. Reported by: grehan (thanks!) Modified: head/usr.sbin/bhyve/vmgenc.c head/usr.sbin/bhyve/vmgenc.h Modified: head/usr.sbin/bhyve/vmgenc.c ============================================================================== --- head/usr.sbin/bhyve/vmgenc.c Wed Apr 15 05:02:49 2020 (r359958) +++ head/usr.sbin/bhyve/vmgenc.c Wed Apr 15 05:55:14 2020 (r359959) @@ -12,10 +12,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) Modified: head/usr.sbin/bhyve/vmgenc.h ============================================================================== --- head/usr.sbin/bhyve/vmgenc.h Wed Apr 15 05:02:49 2020 (r359958) +++ head/usr.sbin/bhyve/vmgenc.h Wed Apr 15 05:55:14 2020 (r359959) @@ -12,10 +12,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) From owner-svn-src-head@freebsd.org Wed Apr 15 08:18:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 706442AF07C; Wed, 15 Apr 2020 08:18:29 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492Fc52NLsz4SVr; Wed, 15 Apr 2020 08:18:29 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 486041BDE9; Wed, 15 Apr 2020 08:18:29 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03F8ITi9039935; Wed, 15 Apr 2020 08:18:29 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03F8ITwQ039934; Wed, 15 Apr 2020 08:18:29 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <202004150818.03F8ITwQ039934@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Wed, 15 Apr 2020 08:18:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359961 - head X-SVN-Group: head X-SVN-Commit-Author: jkim X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 359961 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 08:18:29 -0000 Author: jkim Date: Wed Apr 15 08:18:28 2020 New Revision: 359961 URL: https://svnweb.freebsd.org/changeset/base/359961 Log: Do not attempt to remove backward compatibility timezones. Since r359736, these timezones are unconditionally installed. Modified: head/ObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Wed Apr 15 08:11:19 2020 (r359960) +++ head/ObsoleteFiles.inc Wed Apr 15 08:18:28 2020 (r359961) @@ -1685,8 +1685,6 @@ OLD_FILES+=lib/casper/libcap_sysctl.so.1 # 20190509: tests/sys/opencrypto requires the net/py-dpkt package. OLD_FILES+=usr/tests/sys/opencrypto/dpkt.py OLD_FILES+=usr/tests/sys/opencrypto/dpkt.pyc -# 20190326: tzdata 2019a import -OLD_FILES+=usr/share/zoneinfo/Etc/UCT # 20190304: new libc++ import which bumps version from 7.0.1 to 8.0.0. OLD_FILES+=usr/include/c++/v1/experimental/dynarray # 20190304: new clang import which bumps version from 7.0.1 to 8.0.0. @@ -5499,8 +5497,6 @@ OLD_FILES+=usr/lib32/libheimsqlite.a OLD_FILES+=usr/lib32/libheimsqlite.so OLD_LIBS+=usr/lib32/libheimsqlite.so.11 OLD_FILES+=usr/lib32/libheimsqlite_p.a -# 20150518: tzdata2015c update -OLD_FILES+=usr/share/zoneinfo/America/Montreal # 20150506 OLD_FILES+=usr/share/man/man9/NDHASGIANT.9.gz # 20150504 @@ -6004,10 +6000,6 @@ OLD_FILES+=etc/rc.d/hv_kvpd OLD_LIBS+=usr/lib/libnv.so.0 # 20140829: rc.d/kerberos removed OLD_FILES+=etc/rc.d/kerberos -# 20140827: tzdata2014f import -OLD_FILES+=usr/share/zoneinfo/Asia/Chongqing -OLD_FILES+=usr/share/zoneinfo/Asia/Harbin -OLD_FILES+=usr/share/zoneinfo/Asia/Kashgar # 20140814: libopie version bump OLD_LIBS+=usr/lib/libopie.so.7 OLD_LIBS+=usr/lib32/libopie.so.7 @@ -6298,9 +6290,6 @@ OLD_FILES+=usr/share/man/man2/extattr_get_list.2.gz # 20131107: example files removed OLD_FILES+=usr/share/examples/libusb20/aux.c OLD_FILES+=usr/share/examples/libusb20/aux.h -# 20131105: tzdata 2013h import -OLD_FILES+=usr/share/zoneinfo/America/Shiprock -OLD_FILES+=usr/share/zoneinfo/Antarctica/South_Pole # 20131103: WITH_LIBICONV_COMPAT removal OLD_FILES+=usr/include/_libiconv_compat.h OLD_FILES+=usr/lib/libiconv.a @@ -7243,9 +7232,6 @@ OLD_FILES+=usr/share/man/man3/ascftime.3.gz OLD_FILES+=usr/share/man/man3/cfree.3.gz OLD_FILES+=usr/share/man/man3/cftime.3.gz OLD_FILES+=usr/share/man/man3/getpw.3.gz -# 20100801: tzdata2010k import -OLD_FILES+=usr/share/zoneinfo/Pacific/Ponape -OLD_FILES+=usr/share/zoneinfo/Pacific/Truk # 20100725: acpi_aiboost(4) removal. OLD_FILES+=usr/share/man/man4/acpi_aiboost.4.gz # 20100724: nfsclient/nfs_lock.h moved to nfs/nfs_lock.h @@ -7922,8 +7908,6 @@ OLD_FILES+=usr/include/pccard/cis.h OLD_DIRS+=usr/include/pccard # 20090203: adding_user.8 moved to adding_user.7 OLD_FILES+=usr/share/man/man8/adding_user.8.gz -# 20090122: tzdata2009a import -OLD_FILES+=usr/share/zoneinfo/Asia/Katmandu # 20090102: file 4.26 import OLD_FILES+=usr/share/misc/magic.mime OLD_FILES+=usr/share/misc/magic.mime.mgc @@ -8156,9 +8140,6 @@ OLD_FILES+=usr/sbin/pkg_check OLD_FILES+=usr/sbin/pkg_sign OLD_FILES+=usr/share/man/man1/pkg_check.1.gz OLD_FILES+=usr/share/man/man1/pkg_sign.1.gz -# 20080325: tzdata2008b import -OLD_FILES+=usr/share/zoneinfo/Asia/Calcutta -OLD_FILES+=usr/share/zoneinfo/Asia/Saigon # 20080314: stack_print(9) mlink fixed OLD_FILES+=usr/share/man/man9/stack_printf.9.gz # 20080312: libkse removal @@ -10371,19 +10352,6 @@ OLD_FILES+=usr/share/misc/nslookup.help OLD_FILES+=usr/share/sendmail/cf/feature/nodns.m4 OLD_FILES+=usr/share/syscons/keymaps/lat-amer.kbd OLD_FILES+=usr/share/vi/catalog/ru_SU.KOI8-R -OLD_FILES+=usr/share/zoneinfo/Africa/Timbuktu -OLD_FILES+=usr/share/zoneinfo/Africa/Asmera -OLD_FILES+=usr/share/zoneinfo/America/Buenos_Aires -OLD_FILES+=usr/share/zoneinfo/America/Cordoba -OLD_FILES+=usr/share/zoneinfo/America/Jujuy -OLD_FILES+=usr/share/zoneinfo/America/Catamarca -OLD_FILES+=usr/share/zoneinfo/America/Mendoza -OLD_FILES+=usr/share/zoneinfo/America/Indianapolis -OLD_FILES+=usr/share/zoneinfo/America/Louisville -OLD_FILES+=usr/share/zoneinfo/America/Argentina/ComodRivadavia -OLD_FILES+=usr/share/zoneinfo/Atlantic/Faeroe -OLD_FILES+=usr/share/zoneinfo/Europe/Belfast -OLD_FILES+=usr/share/zoneinfo/Pacific/Yap OLD_FILES+=usr/share/zoneinfo/SystemV/YST9 OLD_FILES+=usr/share/zoneinfo/SystemV/PST8 OLD_FILES+=usr/share/zoneinfo/SystemV/EST5EDT From owner-svn-src-head@freebsd.org Wed Apr 15 10:20:18 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B01AE2B1BF8; Wed, 15 Apr 2020 10:20:18 +0000 (UTC) (envelope-from tagattie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492JJf4DMsz4c8b; Wed, 15 Apr 2020 10:20:18 +0000 (UTC) (envelope-from tagattie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8C6061D53F; Wed, 15 Apr 2020 10:20:18 +0000 (UTC) (envelope-from tagattie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FAKI1C014586; Wed, 15 Apr 2020 10:20:18 GMT (envelope-from tagattie@FreeBSD.org) Received: (from tagattie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FAKIwn014585; Wed, 15 Apr 2020 10:20:18 GMT (envelope-from tagattie@FreeBSD.org) Message-Id: <202004151020.03FAKIwn014585@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: tagattie set sender to tagattie@FreeBSD.org using -f From: Hiroki Tagato Date: Wed, 15 Apr 2020 10:20:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359962 - head/usr.bin/calendar/calendars X-SVN-Group: head X-SVN-Commit-Author: tagattie X-SVN-Commit-Paths: head/usr.bin/calendar/calendars X-SVN-Commit-Revision: 359962 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 10:20:18 -0000 Author: tagattie (ports committer) Date: Wed Apr 15 10:20:18 2020 New Revision: 359962 URL: https://svnweb.freebsd.org/changeset/base/359962 Log: Add my birthday Approved by: ehaupt (mentor) Modified: head/usr.bin/calendar/calendars/calendar.freebsd Modified: head/usr.bin/calendar/calendars/calendar.freebsd ============================================================================== --- head/usr.bin/calendar/calendars/calendar.freebsd Wed Apr 15 08:18:28 2020 (r359961) +++ head/usr.bin/calendar/calendars/calendar.freebsd Wed Apr 15 10:20:18 2020 (r359962) @@ -457,6 +457,7 @@ 12/05 Ivan Voras born in Slavonski Brod, Croatia, 1981 12/06 Stefan Farfeleder born in Wien, Austria, 1980 12/08 Michael Tuexen born in Oldenburg, Germany, 1966 +12/10 Hiroki Tagato born in Shiga, Japan, 1971 12/11 Ganael Laplanche born in Reims, France, 1980 12/11 Koichiro Iwao born in Oita, Japan, 1987 12/15 James FitzGibbon born in Amersham, Buckinghamshire, United Kingdom, 1974 From owner-svn-src-head@freebsd.org Wed Apr 15 12:30:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E1BED2B4FBA for ; Wed, 15 Apr 2020 12:30:21 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: from mail-qt1-x829.google.com (mail-qt1-x829.google.com [IPv6:2607:f8b0:4864:20::829]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492MBh51Tpz3GZK for ; Wed, 15 Apr 2020 12:30:20 +0000 (UTC) (envelope-from shawn.webb@hardenedbsd.org) Received: by mail-qt1-x829.google.com with SMTP id i19so10077676qtp.13 for ; Wed, 15 Apr 2020 05:30:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hardenedbsd.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=88kprrGEC/QWUPjYpaEjaHyFeImyAz6jEiXGQpXxxZ8=; b=Hky1DBTP2/hMFdNnvbFCOap7WpEfgF++UFextxwZ9yw5+oO9YgNR2uUY4o0pb3WH3b b1+awp3Iuh3NTJGLGlxD3UjNv9ZSD301Fo2J8emh8bktzCoq3/mpF2szzFqE5LjxbpMv odgNWiimpolbL/iiKjAs4Vq66BndU6IYNOdo1S8DtAG7cXRkYT0nu+hZ6sJ65T70m/1v eFMY8IDgvb6EcUIle6oCG9zSZ1tkUAWwRAZ/qRICipWLo7C+MfIxPPVxvyk+kD4HzDSt BWw6vRsSHsq8WsMfiy/SEE+LmRqxZ9CDNDHdbB6gOmjRd/WqJUByU1mBHHNKMEYAronP 7NmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=88kprrGEC/QWUPjYpaEjaHyFeImyAz6jEiXGQpXxxZ8=; b=XACJke0I2zrsiAjgN8PSpubcPIpAnwwiwfk1jVVxOLi4ydfSg2P7D6PDuQUCKyXtQH W9C2k7mHXnDSp5AE0FPkfF9VRfHXEBtTaCFGMF9ldJ5MWWVWBbvsKbHGrFfWdAoUJ1oT E39QcwjaLs6VnwIIgYw3d1eof7HvFJhPtujsw64/rbo0vA9wzCSFGGKwoKXZXeiVfbwH mELph8cfvgF56ZuHB1eNHb2NCdp3p5vHfgTQlC6wUCQhfPsUmmvEbdGyhcaB3Fz6fn68 i9dwpbxrmbvMcoHZobYk48qHarbcZVI7+g6NGCE0dvMtTRumSatN8aQNiG+zQlnYvmq2 n03Q== X-Gm-Message-State: AGi0PuZS8dFCUURtxV7QnH4ogDa3QBjmJnnGrf0yega8LfYs2WC7YHzp TshJO3F+LtOC6uBZxzMMs9tSKQ== X-Google-Smtp-Source: APiQypKHOJmyRv3IOUcQVbbciPLKUViync7jPaOlfN5fNFQm9RkVNXwE0qW2L2CBvxNnqt0ycAjOoA== X-Received: by 2002:ac8:3f2c:: with SMTP id c41mr21519691qtk.338.1586953819557; Wed, 15 Apr 2020 05:30:19 -0700 (PDT) Received: from mutt-hbsd ([63.88.83.120]) by smtp.gmail.com with ESMTPSA id g12sm12626769qtu.69.2020.04.15.05.30.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2020 05:30:18 -0700 (PDT) Date: Wed, 15 Apr 2020 08:30:22 -0400 From: Shawn Webb To: Conrad Meyer Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359949 - head/usr.sbin/bhyve Message-ID: <20200415123022.n5zq2ldhhvy7czce@mutt-hbsd> X-Operating-System: FreeBSD mutt-hbsd 13.0-CURRENT-HBSD FreeBSD 13.0-CURRENT-HBSD X-PGP-Key: http://pgp.mit.edu/pks/lookup?op=vindex&search=0xFF2E67A277F8E1FA References: <202004150158.03F1wpiw001754@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="yacwudkas2yiy3ok" Content-Disposition: inline In-Reply-To: <202004150158.03F1wpiw001754@repo.freebsd.org> X-Rspamd-Queue-Id: 492MBh51Tpz3GZK X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org; dkim=pass header.d=hardenedbsd.org header.s=google header.b=Hky1DBTP; dmarc=none; spf=pass (mx1.freebsd.org: domain of shawn.webb@hardenedbsd.org designates 2607:f8b0:4864:20::829 as permitted sender) smtp.mailfrom=shawn.webb@hardenedbsd.org X-Spamd-Result: default: False [-6.11 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[hardenedbsd.org:s=google]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[hardenedbsd.org]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[hardenedbsd.org:+]; RCVD_IN_DNSWL_NONE(0.00)[9.2.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MID_RHS_NOT_FQDN(0.50)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; IP_SCORE(-2.01)[ip: (-9.27), ipnet: 2607:f8b0::/32(-0.33), asn: 15169(-0.43), country: US(-0.05)] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 12:30:21 -0000 --yacwudkas2yiy3ok Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Apr 15, 2020 at 01:58:51AM +0000, Conrad Meyer wrote: > Author: cem > Date: Wed Apr 15 01:58:51 2020 > New Revision: 359949 > URL: https://svnweb.freebsd.org/changeset/base/359949 >=20 > Log: > bhyve(8): Add bootrom allocation abstraction > =20 > To allow more general use of the bootrom region, separate initializatio= n from > allocation, and allocation from loading a file. > =20 > The bootrom segment is the high 16MB of the low 4GB region. > =20 > Each allocation in the segment creates a new mapping with specified pro= tection. > By default, allocation begins at the low end of the range. However, the > BOOTROM_ALLOC_TOP flag is provided to locate a provided bootrom in the = high > region it is expected to be in. > =20 > The existing ROM-file loading code is refactored to use the new interfa= ce. > =20 > Reviewed by: grehan (earlier version) > Differential Revision: https://reviews.freebsd.org/D24422 Hey Conrad, Is there any way you'd have a change of heart and support MFC'ing? I'm sure many people, including myself, would be ever so grateful not to have to maintain their own MFC's of your work. Thanks, --=20 Shawn Webb Cofounder / Security Engineer HardenedBSD GPG Key ID: 0xFF2E67A277F8E1FA GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Sha= wn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc --yacwudkas2yiy3ok Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEA6TL67gupaZ9nzhT/y5nonf44foFAl6W/lEACgkQ/y5nonf4 4fq7Yg//UsORvIbGLsVH7I+p7AYB7BdeybLa+VaB1gVKWzpN91SaNHNWm4Rb2c7m v+eEmPHytNq8MTLEq9YRMoZYD9s69q/KxtYzSbL5lk+om/BaQY5k5mX8fWLgiFWp 9SdBLuSAjlO8tkxPwADErpHEe6sFZfmhkjq7Dvn6MkCyZjL9mIBiy7isVmkJ7Qua 2ejuAw9M1z4XcbBQSjNL7HKIbldyetDddDqzRiEoV6D9AZlRGwRbX0JUpDi29f5W xM0c77K4GKazbsf/qjKEpCJY38pB/4HAxxxD7fTQg25LFIq+eZWtrDzH34AeRbco FiAhkDwlsSiIqTbx36SRCXqoK4s8aIconST6EzvZpuTeSs27dFzSfFpJKzBsvabM 49NVGV/JS83VKDxsB7HznYhMhF5qn83DSULErF4Dm2A+0HFr/g2qGu49Bna1Oayo +ONCTl1lIs22kXyWFR06A7f1FW6jE+cg1LrVfvdzpBs3/rBXTjZGRtb9aXjfstNJ Ob9dyBm2Tqu5yiJLnl7CHxVs/j6QEGxaWDiM7Il1JQSQ5Vxa81x0hBkEv+qZINqH z4jsrl6l3Y1KIPsUt7E8qTnz049SYQGFSyepMVtE37LhSJG5BLVvVgTsr4uglsNA MMLlgyB7Cw58zQz3FJsA1sNaFj9ZqE1Gkeg2BtW7CKGayYYf2Go= =O8sv -----END PGP SIGNATURE----- --yacwudkas2yiy3ok-- From owner-svn-src-head@freebsd.org Wed Apr 15 12:56:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D6B8D2B59EE; Wed, 15 Apr 2020 12:56:06 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492MmQ5MpLz3JGQ; Wed, 15 Apr 2020 12:56:06 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AED431F3BB; Wed, 15 Apr 2020 12:56:06 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FCu6OI013838; Wed, 15 Apr 2020 12:56:06 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FCu63x013836; Wed, 15 Apr 2020 12:56:06 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004151256.03FCu63x013836@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Wed, 15 Apr 2020 12:56:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359963 - head/sys/netinet6 X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/netinet6 X-SVN-Commit-Revision: 359963 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 12:56:06 -0000 Author: melifaro Date: Wed Apr 15 12:56:05 2020 New Revision: 359963 URL: https://svnweb.freebsd.org/changeset/base/359963 Log: Convert ip6_forward() to the new routing KPI. Update ip6_forward() internals to use deembedded IPv6 addresses to simplify calls to the new KPI and prepare for the future scope-embedding cleanup. Add in6_get_unicast_scopeid() and in6_set_unicast_scopeid() scopeid operation functions tailored for unicast processing. Reviewed by: ae Differential Revision: https://reviews.freebsd.org/D24334 Modified: head/sys/netinet6/ip6_forward.c head/sys/netinet6/scope6.c head/sys/netinet6/scope6_var.h Modified: head/sys/netinet6/ip6_forward.c ============================================================================== --- head/sys/netinet6/ip6_forward.c Wed Apr 15 10:20:18 2020 (r359962) +++ head/sys/netinet6/ip6_forward.c Wed Apr 15 12:56:05 2020 (r359963) @@ -56,6 +56,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -65,6 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -90,14 +92,13 @@ void ip6_forward(struct mbuf *m, int srcrt) { struct ip6_hdr *ip6 = mtod(m, struct ip6_hdr *); - struct sockaddr_in6 *dst = NULL; - struct rtentry *rt = NULL; - struct route_in6 rin6; + struct sockaddr_in6 dst; + struct nhop_object *nh = NULL; int error, type = 0, code = 0; struct mbuf *mcopy = NULL; struct ifnet *origifp; /* maybe unnecessary */ u_int32_t inzone, outzone; - struct in6_addr src_in6, dst_in6, odst; + struct in6_addr odst; struct m_tag *fwd_tag; char ip6bufs[INET6_ADDRSTRLEN], ip6bufd[INET6_ADDRSTRLEN]; @@ -165,18 +166,27 @@ ip6_forward(struct mbuf *m, int srcrt) /* No IPsec processing required */ } #endif + /* + * ip6_forward() operates with IPv6 addresses with deembedded scope. + * + * There are 3 sources of IPv6 destination address: + * + * 1) ip6_input(), where ip6_dst contains deembedded address. + * In order to deal with forwarding of link-local packets, + * calculate the scope based on input interface (RFC 4007, clause 9). + * 2) packet filters changing ip6_dst directly. It would embed scope + * for LL addresses, so in6_localip() performs properly. + * 3) packet filters attaching PACKET_TAG_IPFORWARD would embed + * scope for the nexthop. + */ + bzero(&dst, sizeof(struct sockaddr_in6)); + dst.sin6_family = AF_INET6; + dst.sin6_addr = ip6->ip6_dst; + dst.sin6_scope_id = in6_get_unicast_scopeid(&ip6->ip6_dst, m->m_pkthdr.rcvif); again: - bzero(&rin6, sizeof(struct route_in6)); - dst = (struct sockaddr_in6 *)&rin6.ro_dst; - dst->sin6_len = sizeof(struct sockaddr_in6); - dst->sin6_family = AF_INET6; - dst->sin6_addr = ip6->ip6_dst; -again2: - rin6.ro_rt = in6_rtalloc1((struct sockaddr *)dst, 0, 0, M_GETFIB(m)); - rt = rin6.ro_rt; - if (rin6.ro_rt != NULL) - RT_UNLOCK(rin6.ro_rt); - else { + nh = fib6_lookup(M_GETFIB(m), &dst.sin6_addr, dst.sin6_scope_id, + NHR_REF, m->m_pkthdr.flowid); + if (nh == NULL) { IP6STAT_INC(ip6s_noroute); in6_ifstat_inc(m->m_pkthdr.rcvif, ifs6_in_noroute); if (mcopy) { @@ -191,26 +201,15 @@ again2: * destination for the reason that the destination is beyond the scope * of the source address, discard the packet and return an icmp6 * destination unreachable error with Code 2 (beyond scope of source - * address). We use a local copy of ip6_src, since in6_setscope() - * will possibly modify its first argument. + * address). * [draft-ietf-ipngwg-icmp-v3-04.txt, Section 3.1] */ - src_in6 = ip6->ip6_src; - if (in6_setscope(&src_in6, rt->rt_ifp, &outzone)) { - /* XXX: this should not happen */ - IP6STAT_INC(ip6s_cantforward); - IP6STAT_INC(ip6s_badscope); - goto bad; - } - if (in6_setscope(&src_in6, m->m_pkthdr.rcvif, &inzone)) { - IP6STAT_INC(ip6s_cantforward); - IP6STAT_INC(ip6s_badscope); - goto bad; - } + outzone = in6_get_unicast_scopeid(&ip6->ip6_src, nh->nh_ifp); + inzone = in6_get_unicast_scopeid(&ip6->ip6_src, m->m_pkthdr.rcvif); if (inzone != outzone) { IP6STAT_INC(ip6s_cantforward); IP6STAT_INC(ip6s_badscope); - in6_ifstat_inc(rt->rt_ifp, ifs6_in_discard); + in6_ifstat_inc(nh->nh_ifp, ifs6_in_discard); if (V_ip6_log_time + V_ip6_log_interval < time_uptime) { V_ip6_log_time = time_uptime; @@ -220,7 +219,7 @@ again2: ip6_sprintf(ip6bufs, &ip6->ip6_src), ip6_sprintf(ip6bufd, &ip6->ip6_dst), ip6->ip6_nxt, - if_name(m->m_pkthdr.rcvif), if_name(rt->rt_ifp)); + if_name(m->m_pkthdr.rcvif), if_name(nh->nh_ifp)); } if (mcopy) icmp6_error(mcopy, ICMP6_DST_UNREACH, @@ -235,17 +234,21 @@ again2: * we need an explicit check because we may mistakenly forward the * packet to a different zone by (e.g.) a default route. */ - dst_in6 = ip6->ip6_dst; - if (in6_setscope(&dst_in6, m->m_pkthdr.rcvif, &inzone) != 0 || - in6_setscope(&dst_in6, rt->rt_ifp, &outzone) != 0 || - inzone != outzone) { + inzone = in6_get_unicast_scopeid(&ip6->ip6_dst, m->m_pkthdr.rcvif); + outzone = in6_get_unicast_scopeid(&ip6->ip6_dst, nh->nh_ifp); + + if (inzone != outzone) { IP6STAT_INC(ip6s_cantforward); IP6STAT_INC(ip6s_badscope); goto bad; } - if (rt->rt_flags & RTF_GATEWAY) - dst = (struct sockaddr_in6 *)rt->rt_gateway; + if (nh->nh_flags & NHF_GATEWAY) { + /* Store gateway address in deembedded form */ + dst.sin6_addr = nh->gw6_sa.sin6_addr; + dst.sin6_scope_id = ntohs(in6_getscope(&dst.sin6_addr)); + in6_clearscope(&dst.sin6_addr); + } /* * If we are to forward the packet using the same interface @@ -256,9 +259,9 @@ again2: * Also, don't send redirect if forwarding using a route * modified by a redirect. */ - if (V_ip6_sendredirects && rt->rt_ifp == m->m_pkthdr.rcvif && !srcrt && - (rt->rt_flags & (RTF_DYNAMIC|RTF_MODIFIED)) == 0) { - if ((rt->rt_ifp->if_flags & IFF_POINTOPOINT) != 0) { + if (V_ip6_sendredirects && nh->nh_ifp == m->m_pkthdr.rcvif && !srcrt && + (nh->nh_flags & NHF_REDIRECT) == 0) { + if ((nh->nh_ifp->if_flags & IFF_POINTOPOINT) != 0) { /* * If the incoming interface is equal to the outgoing * one, and the link attached to the interface is @@ -284,7 +287,7 @@ again2: * link identifiers, we can do this stuff after making a copy for * returning an error. */ - if ((rt->rt_ifp->if_flags & IFF_LOOPBACK) != 0) { + if ((nh->nh_ifp->if_flags & IFF_LOOPBACK) != 0) { /* * See corresponding comments in ip6_output. * XXX: but is it possible that ip6_forward() sends a packet @@ -305,14 +308,14 @@ again2: ip6_sprintf(ip6bufs, &ip6->ip6_src), ip6_sprintf(ip6bufd, &ip6->ip6_dst), ip6->ip6_nxt, if_name(m->m_pkthdr.rcvif), - if_name(rt->rt_ifp)); + if_name(nh->nh_ifp)); } /* we can just use rcvif in forwarding. */ origifp = m->m_pkthdr.rcvif; } else - origifp = rt->rt_ifp; + origifp = nh->nh_ifp; /* * clear embedded scope identifiers if necessary. * in6_clearscope will touch the addresses only when necessary. @@ -326,7 +329,7 @@ again2: odst = ip6->ip6_dst; /* Run through list of hooks for forwarded packets. */ - if (pfil_run_hooks(V_inet6_pfil_head, &m, rt->rt_ifp, PFIL_OUT | + if (pfil_run_hooks(V_inet6_pfil_head, &m, nh->nh_ifp, PFIL_OUT | PFIL_FWD, NULL) != PFIL_PASS) goto freecopy; ip6 = mtod(m, struct ip6_hdr *); @@ -338,7 +341,12 @@ again2: if (in6_localip(&ip6->ip6_dst)) m->m_flags |= M_FASTFWD_OURS; else { - RTFREE(rt); + NH_FREE(nh); + + /* Update address and scopeid. Assume scope is embedded */ + dst.sin6_scope_id = ntohs(in6_getscope(&ip6->ip6_dst)); + dst.sin6_addr = ip6->ip6_dst; + in6_clearscope(&dst.sin6_addr); goto again; /* Redo the routing table lookup. */ } } @@ -362,32 +370,43 @@ again2: /* Or forward to some other address? */ if ((m->m_flags & M_IP6_NEXTHOP) && (fwd_tag = m_tag_find(m, PACKET_TAG_IPFORWARD, NULL)) != NULL) { - dst = (struct sockaddr_in6 *)&rin6.ro_dst; - bcopy((fwd_tag+1), dst, sizeof(struct sockaddr_in6)); + struct sockaddr_in6 *gw6 = (struct sockaddr_in6 *)(fwd_tag + 1); + + /* Update address and scopeid. Assume scope is embedded */ + dst.sin6_scope_id = ntohs(in6_getscope(&gw6->sin6_addr)); + dst.sin6_addr = gw6->sin6_addr; + in6_clearscope(&dst.sin6_addr); + m->m_flags |= M_SKIP_FIREWALL; m->m_flags &= ~M_IP6_NEXTHOP; m_tag_delete(m, fwd_tag); - RTFREE(rt); - goto again2; + NH_FREE(nh); + goto again; } pass: /* See if the size was changed by the packet filter. */ - if (m->m_pkthdr.len > IN6_LINKMTU(rt->rt_ifp)) { - in6_ifstat_inc(rt->rt_ifp, ifs6_in_toobig); + /* TODO: change to nh->nh_mtu */ + if (m->m_pkthdr.len > IN6_LINKMTU(nh->nh_ifp)) { + in6_ifstat_inc(nh->nh_ifp, ifs6_in_toobig); if (mcopy) icmp6_error(mcopy, ICMP6_PACKET_TOO_BIG, 0, - IN6_LINKMTU(rt->rt_ifp)); + IN6_LINKMTU(nh->nh_ifp)); goto bad; } - error = nd6_output_ifp(rt->rt_ifp, origifp, m, dst, NULL); + /* Currently LLE layer stores embedded IPv6 addresses */ + if (IN6_IS_SCOPE_LINKLOCAL(&dst.sin6_addr)) { + in6_set_unicast_scopeid(&dst.sin6_addr, dst.sin6_scope_id); + dst.sin6_scope_id = 0; + } + error = nd6_output_ifp(nh->nh_ifp, origifp, m, &dst, NULL); if (error) { - in6_ifstat_inc(rt->rt_ifp, ifs6_out_discard); + in6_ifstat_inc(nh->nh_ifp, ifs6_out_discard); IP6STAT_INC(ip6s_cantforward); } else { IP6STAT_INC(ip6s_forward); - in6_ifstat_inc(rt->rt_ifp, ifs6_out_forward); + in6_ifstat_inc(nh->nh_ifp, ifs6_out_forward); if (type) IP6STAT_INC(ip6s_redirectsent); else { @@ -401,7 +420,7 @@ pass: switch (error) { case 0: if (type == ND_REDIRECT) { - icmp6_redirect_output(mcopy, rt->rt_nhop); + icmp6_redirect_output(mcopy, nh); goto out; } goto freecopy; @@ -432,6 +451,6 @@ pass: bad: m_freem(m); out: - if (rt != NULL) - RTFREE(rt); + if (nh != NULL) + NH_FREE(nh); } Modified: head/sys/netinet6/scope6.c ============================================================================== --- head/sys/netinet6/scope6.c Wed Apr 15 10:20:18 2020 (r359962) +++ head/sys/netinet6/scope6.c Wed Apr 15 12:56:05 2020 (r359963) @@ -466,6 +466,28 @@ in6_getscope(const struct in6_addr *in6) } /* + * Returns scope zone id for the unicast address @in6. + * + * Returns 0 for global unicast and loopback addresses. + * Returns interface index for the link-local addresses. + */ +uint32_t +in6_get_unicast_scopeid(const struct in6_addr *in6, const struct ifnet *ifp) +{ + + if (IN6_IS_SCOPE_LINKLOCAL(in6)) + return (ifp->if_index); + return (0); +} + +void +in6_set_unicast_scopeid(struct in6_addr *in6, uint32_t scopeid) +{ + + in6->s6_addr16[1] = htons(scopeid & 0xffff); +} + +/* * Return pointer to ifnet structure, corresponding to the zone id of * link-local scope. */ Modified: head/sys/netinet6/scope6_var.h ============================================================================== --- head/sys/netinet6/scope6_var.h Wed Apr 15 10:20:18 2020 (r359962) +++ head/sys/netinet6/scope6_var.h Wed Apr 15 12:56:05 2020 (r359963) @@ -67,6 +67,8 @@ uint16_t in6_getscope(const struct in6_addr *); uint32_t in6_getscopezone(const struct ifnet *, int); void in6_splitscope(const struct in6_addr *, struct in6_addr *, uint32_t *); struct ifnet* in6_getlinkifnet(uint32_t); +uint32_t in6_get_unicast_scopeid(const struct in6_addr *, const struct ifnet *); +void in6_set_unicast_scopeid(struct in6_addr *, uint32_t); #endif /* _KERNEL */ #endif /* _NETINET6_SCOPE6_VAR_H_ */ From owner-svn-src-head@freebsd.org Wed Apr 15 13:00:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A3C732B5AB2; Wed, 15 Apr 2020 13:00:48 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492Msr3vvJz3JVk; Wed, 15 Apr 2020 13:00:48 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8151C1F51A; Wed, 15 Apr 2020 13:00:48 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FD0m7b014170; Wed, 15 Apr 2020 13:00:48 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FD0mvX014169; Wed, 15 Apr 2020 13:00:48 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004151300.03FD0mvX014169@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Wed, 15 Apr 2020 13:00:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359964 - head/sys/netpfil/pf X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/netpfil/pf X-SVN-Commit-Revision: 359964 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 13:00:48 -0000 Author: melifaro Date: Wed Apr 15 13:00:48 2020 New Revision: 359964 URL: https://svnweb.freebsd.org/changeset/base/359964 Log: Convert pf rtable checks to the new routing KPI. Switch uRPF to use specific fib(9)-provided uRPF. Switch MSS calculation to the latest fib(9) kpi. Reviewed by: kp Differential Revision: https://reviews.freebsd.org/D24386 Modified: head/sys/netpfil/pf/pf.c Modified: head/sys/netpfil/pf/pf.c ============================================================================== --- head/sys/netpfil/pf/pf.c Wed Apr 15 12:56:05 2020 (r359963) +++ head/sys/netpfil/pf/pf.c Wed Apr 15 13:00:48 2020 (r359964) @@ -69,7 +69,7 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include +#include #include #include @@ -3176,31 +3176,32 @@ pf_get_mss(struct mbuf *m, int off, u_int16_t th_off, static u_int16_t pf_calc_mss(struct pf_addr *addr, sa_family_t af, int rtableid, u_int16_t offer) { -#ifdef INET - struct nhop4_basic nh4; -#endif /* INET */ + struct nhop_object *nh; #ifdef INET6 - struct nhop6_basic nh6; struct in6_addr dst6; uint32_t scopeid; #endif /* INET6 */ int hlen = 0; uint16_t mss = 0; + NET_EPOCH_ASSERT(); + switch (af) { #ifdef INET case AF_INET: hlen = sizeof(struct ip); - if (fib4_lookup_nh_basic(rtableid, addr->v4, 0, 0, &nh4) == 0) - mss = nh4.nh_mtu - hlen - sizeof(struct tcphdr); + nh = fib4_lookup(rtableid, addr->v4, 0, 0, 0); + if (nh != NULL) + mss = nh->nh_mtu - hlen - sizeof(struct tcphdr); break; #endif /* INET */ #ifdef INET6 case AF_INET6: hlen = sizeof(struct ip6_hdr); in6_splitscope(&addr->v6, &dst6, &scopeid); - if (fib6_lookup_nh_basic(rtableid, &dst6, scopeid, 0,0,&nh6)==0) - mss = nh6.nh_mtu - hlen - sizeof(struct tcphdr); + nh = fib6_lookup(rtableid, &dst6, scopeid, 0, 0); + if (nh != NULL) + mss = nh->nh_mtu - hlen - sizeof(struct tcphdr); break; #endif /* INET6 */ } @@ -5338,122 +5339,12 @@ pf_pull_hdr(struct mbuf *m, int off, void *p, int len, return (p); } -#ifdef RADIX_MPATH -static int -pf_routable_oldmpath(struct pf_addr *addr, sa_family_t af, struct pfi_kif *kif, - int rtableid) -{ - struct radix_node_head *rnh; - struct sockaddr_in *dst; - int ret = 1; - int check_mpath; -#ifdef INET6 - struct sockaddr_in6 *dst6; - struct route_in6 ro; -#else - struct route ro; -#endif - struct radix_node *rn; - struct rtentry *rt; - struct ifnet *ifp; - - check_mpath = 0; - /* XXX: stick to table 0 for now */ - rnh = rt_tables_get_rnh(0, af); - if (rnh != NULL && rn_mpath_capable(rnh)) - check_mpath = 1; - bzero(&ro, sizeof(ro)); - switch (af) { - case AF_INET: - dst = satosin(&ro.ro_dst); - dst->sin_family = AF_INET; - dst->sin_len = sizeof(*dst); - dst->sin_addr = addr->v4; - break; -#ifdef INET6 - case AF_INET6: - /* - * Skip check for addresses with embedded interface scope, - * as they would always match anyway. - */ - if (IN6_IS_SCOPE_EMBED(&addr->v6)) - goto out; - dst6 = (struct sockaddr_in6 *)&ro.ro_dst; - dst6->sin6_family = AF_INET6; - dst6->sin6_len = sizeof(*dst6); - dst6->sin6_addr = addr->v6; - break; -#endif /* INET6 */ - default: - return (0); - } - - /* Skip checks for ipsec interfaces */ - if (kif != NULL && kif->pfik_ifp->if_type == IFT_ENC) - goto out; - - switch (af) { -#ifdef INET6 - case AF_INET6: - in6_rtalloc_ign(&ro, 0, rtableid); - break; -#endif -#ifdef INET - case AF_INET: - in_rtalloc_ign((struct route *)&ro, 0, rtableid); - break; -#endif - } - - if (ro.ro_rt != NULL) { - /* No interface given, this is a no-route check */ - if (kif == NULL) - goto out; - - if (kif->pfik_ifp == NULL) { - ret = 0; - goto out; - } - - /* Perform uRPF check if passed input interface */ - ret = 0; - rn = (struct radix_node *)ro.ro_rt; - do { - rt = (struct rtentry *)rn; - ifp = rt->rt_ifp; - - if (kif->pfik_ifp == ifp) - ret = 1; - rn = rn_mpath_next(rn); - } while (check_mpath == 1 && rn != NULL && ret == 0); - } else - ret = 0; -out: - if (ro.ro_rt != NULL) - RTFREE(ro.ro_rt); - return (ret); -} -#endif - int pf_routable(struct pf_addr *addr, sa_family_t af, struct pfi_kif *kif, int rtableid) { -#ifdef INET - struct nhop4_basic nh4; -#endif -#ifdef INET6 - struct nhop6_basic nh6; -#endif struct ifnet *ifp; -#ifdef RADIX_MPATH - struct radix_node_head *rnh; - /* XXX: stick to table 0 for now */ - rnh = rt_tables_get_rnh(0, af); - if (rnh != NULL && rn_mpath_capable(rnh)) - return (pf_routable_oldmpath(addr, af, kif, rtableid)); -#endif /* * Skip check for addresses with embedded interface scope, * as they would always match anyway. @@ -5468,35 +5359,21 @@ pf_routable(struct pf_addr *addr, sa_family_t af, stru if (kif != NULL && kif->pfik_ifp->if_type == IFT_ENC) return (1); - ifp = NULL; + ifp = (kif != NULL) ? kif->pfik_ifp : NULL; switch (af) { #ifdef INET6 case AF_INET6: - if (fib6_lookup_nh_basic(rtableid, &addr->v6, 0, 0, 0, &nh6)!=0) - return (0); - ifp = nh6.nh_ifp; - break; + return (fib6_check_urpf(rtableid, &addr->v6, 0, NHR_NONE, + ifp)); #endif #ifdef INET case AF_INET: - if (fib4_lookup_nh_basic(rtableid, addr->v4, 0, 0, &nh4) != 0) - return (0); - ifp = nh4.nh_ifp; - break; + return (fib4_check_urpf(rtableid, addr->v4, 0, NHR_NONE, + ifp)); #endif } - /* No interface given, this is a no-route check */ - if (kif == NULL) - return (1); - - if (kif->pfik_ifp == NULL) - return (0); - - /* Perform uRPF check if passed input interface */ - if (kif->pfik_ifp == ifp) - return (1); return (0); } From owner-svn-src-head@freebsd.org Wed Apr 15 13:02:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6B6152B5CA6; Wed, 15 Apr 2020 13:02:14 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492MvV2J1Mz3Jt9; Wed, 15 Apr 2020 13:02:14 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 49FF21F5C3; Wed, 15 Apr 2020 13:02:14 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FD2Ejt020061; Wed, 15 Apr 2020 13:02:14 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FD2ESM020060; Wed, 15 Apr 2020 13:02:14 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004151302.03FD2ESM020060@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Wed, 15 Apr 2020 13:02:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359965 - head/sys/dev/mmc X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/dev/mmc X-SVN-Commit-Revision: 359965 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 13:02:14 -0000 Author: manu Date: Wed Apr 15 13:02:13 2020 New Revision: 359965 URL: https://svnweb.freebsd.org/changeset/base/359965 Log: mmc_fdt_helpers: Do not schedule a card detection is there is no cd gpio If the fdt node doesn't have a cd-gpios properties or if the node is set as non-removable we do not init the card detection timeout task as it is useless so don't schedule it too. MFC after: 1 month X-MFC-With: r359924 Modified: head/sys/dev/mmc/mmc_fdt_helpers.c Modified: head/sys/dev/mmc/mmc_fdt_helpers.c ============================================================================== --- head/sys/dev/mmc/mmc_fdt_helpers.c Wed Apr 15 13:00:48 2020 (r359964) +++ head/sys/dev/mmc/mmc_fdt_helpers.c Wed Apr 15 13:02:13 2020 (r359965) @@ -217,7 +217,7 @@ cd_card_task(void *arg, int pending __unused) /* * Card detect setup. */ -static void +static bool cd_setup(struct mmc_fdt_helper *helper, phandle_t node) { int pincaps; @@ -233,7 +233,7 @@ cd_setup(struct mmc_fdt_helper *helper, phandle_t node helper->cd_disabled = true; if (bootverbose) device_printf(dev, "Non-removable media\n"); - return; + return (false); } /* @@ -246,14 +246,14 @@ cd_setup(struct mmc_fdt_helper *helper, phandle_t node */ if (gpio_pin_get_by_ofw_property(dev, node, "cd-gpios", &helper->cd_pin)) - return; + return (false); if (gpio_pin_getcaps(helper->cd_pin, &pincaps) != 0 || !(pincaps & GPIO_PIN_INPUT)) { device_printf(dev, "Cannot read card-detect gpio pin; " "setting card-always-present flag.\n"); helper->cd_disabled = true; - return; + return (false); } /* @@ -313,6 +313,8 @@ without_interrupts: device_get_nameunit(helper->cd_pin->dev), helper->cd_pin->pin, cd_mode_str); } + + return (true); } /* @@ -354,14 +356,16 @@ mmc_fdt_gpio_setup(device_t dev, phandle_t node, struc helper->dev = dev; helper->cd_handler = handler; - cd_setup(helper, node); wp_setup(helper, node); - /* - * Schedule a card detection - */ - taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant, - &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2)); + if (cd_setup(helper, node)) { + /* + * Schedule a card detection + */ + taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant, + &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2)); + } + return (0); } From owner-svn-src-head@freebsd.org Wed Apr 15 13:06:56 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3A8992B5D60; Wed, 15 Apr 2020 13:06:56 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492N0w0qZYz3K6k; Wed, 15 Apr 2020 13:06:56 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EC5151F5E1; Wed, 15 Apr 2020 13:06:55 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FD6tBZ020328; Wed, 15 Apr 2020 13:06:55 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FD6tho020326; Wed, 15 Apr 2020 13:06:55 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004151306.03FD6tho020326@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Wed, 15 Apr 2020 13:06:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359966 - head/sys/ofed/drivers/infiniband/core X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/ofed/drivers/infiniband/core X-SVN-Commit-Revision: 359966 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 13:06:56 -0000 Author: melifaro Date: Wed Apr 15 13:06:55 2020 New Revision: 359966 URL: https://svnweb.freebsd.org/changeset/base/359966 Log: Convert OFED rtable interactions to the new routing KPI. Reviewed by: hselasky Differential Revision: https://reviews.freebsd.org/D24387 Modified: head/sys/ofed/drivers/infiniband/core/ib_addr.c head/sys/ofed/drivers/infiniband/core/ib_cma.c Modified: head/sys/ofed/drivers/infiniband/core/ib_addr.c ============================================================================== --- head/sys/ofed/drivers/infiniband/core/ib_addr.c Wed Apr 15 13:02:13 2020 (r359965) +++ head/sys/ofed/drivers/infiniband/core/ib_addr.c Wed Apr 15 13:06:55 2020 (r359966) @@ -44,14 +44,17 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include +#include #include #include #include #include +#include #include "core_priv.h" @@ -275,11 +278,13 @@ static int addr4_resolve(struct sockaddr_in *src_in, struct sockaddr_in dst_tmp = *dst_in; in_port_t src_port; struct sockaddr *saddr = NULL; - struct rtentry *rte; + struct nhop_object *nh; struct ifnet *ifp; int error; int type; + NET_EPOCH_ASSERT(); + /* set VNET, if any */ CURVNET_SET(addr->net); @@ -293,8 +298,7 @@ static int addr4_resolve(struct sockaddr_in *src_in, type |= ADDR_DST_ANY; /* - * Make sure the socket address length field - * is set, else rtalloc1() will fail. + * Make sure the socket address length field is set. */ dst_tmp.sin_len = sizeof(dst_tmp); @@ -303,16 +307,11 @@ static int addr4_resolve(struct sockaddr_in *src_in, case ADDR_VALID: case ADDR_SRC_ANY: /* regular destination route lookup */ - rte = rtalloc1((struct sockaddr *)&dst_tmp, 1, 0); - if (rte == NULL) { + nh = fib4_lookup(RT_DEFAULT_FIB, dst_tmp.sin_addr,0,NHR_NONE,0); + if (nh == NULL) { error = EHOSTUNREACH; goto done; - } else if (rte->rt_ifp == NULL || RT_LINK_IS_UP(rte->rt_ifp) == 0) { - RTFREE_LOCKED(rte); - error = EHOSTUNREACH; - goto done; } - RT_UNLOCK(rte); break; default: error = ENETUNREACH; @@ -332,14 +331,14 @@ static int addr4_resolve(struct sockaddr_in *src_in, /* check source interface */ if (ifp == NULL) { error = ENETUNREACH; - goto error_rt_free; + goto done; } else if (ifp->if_flags & IFF_LOOPBACK) { /* * Source address cannot be a loopback device. */ error = EHOSTUNREACH; goto error_put_ifp; - } else if (rte->rt_ifp->if_flags & IFF_LOOPBACK) { + } else if (nh->nh_ifp->if_flags & IFF_LOOPBACK) { if (memcmp(&src_in->sin_addr, &dst_in->sin_addr, sizeof(src_in->sin_addr))) { /* @@ -352,9 +351,9 @@ static int addr4_resolve(struct sockaddr_in *src_in, } /* get destination network interface from route */ dev_put(ifp); - ifp = rte->rt_ifp; + ifp = nh->nh_ifp; dev_hold(ifp); - } else if (ifp != rte->rt_ifp) { + } else if (ifp != nh->nh_ifp) { /* * Source and destination interfaces are * different. @@ -365,13 +364,13 @@ static int addr4_resolve(struct sockaddr_in *src_in, break; case ADDR_SRC_ANY: /* check for loopback device */ - if (rte->rt_ifp->if_flags & IFF_LOOPBACK) + if (nh->nh_ifp->if_flags & IFF_LOOPBACK) saddr = (struct sockaddr *)&dst_tmp; else - saddr = rte->rt_ifa->ifa_addr; + saddr = nh->nh_ifa->ifa_addr; /* get destination network interface from route */ - ifp = rte->rt_ifp; + ifp = nh->nh_ifp; dev_hold(ifp); break; default: @@ -386,7 +385,7 @@ static int addr4_resolve(struct sockaddr_in *src_in, ifp->if_addrlen, MAX_ADDR_LEN); error = 0; } else if (IN_MULTICAST(ntohl(dst_tmp.sin_addr.s_addr))) { - bool is_gw = (rte->rt_flags & RTF_GATEWAY) != 0; + bool is_gw = (nh->nh_flags & NHF_GATEWAY) != 0; error = addr_resolve_multi(edst, ifp, (struct sockaddr *)&dst_tmp); if (error != 0) goto error_put_ifp; @@ -396,10 +395,10 @@ static int addr4_resolve(struct sockaddr_in *src_in, memset(edst, 0, MAX_ADDR_LEN); error = 0; } else { - bool is_gw = (rte->rt_flags & RTF_GATEWAY) != 0; + bool is_gw = (nh->nh_flags & NHF_GATEWAY) != 0; memset(edst, 0, MAX_ADDR_LEN); error = arpresolve(ifp, is_gw, NULL, is_gw ? - rte->rt_gateway : (const struct sockaddr *)&dst_tmp, + &nh->gw_sa : (const struct sockaddr *)&dst_tmp, edst, NULL, NULL); if (error != 0) goto error_put_ifp; @@ -416,17 +415,12 @@ static int addr4_resolve(struct sockaddr_in *src_in, src_in->sin_port = src_port; /* preserve port number */ } - if (rte != NULL) - RTFREE(rte); - *ifpp = ifp; goto done; error_put_ifp: dev_put(ifp); -error_rt_free: - RTFREE(rte); done: CURVNET_RESTORE(); @@ -460,11 +454,13 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, struct sockaddr_in6 dst_tmp = *dst_in; in_port_t src_port; struct sockaddr *saddr = NULL; - struct rtentry *rte; + struct nhop_object *nh; struct ifnet *ifp; int error; int type; + NET_EPOCH_ASSERT(); + /* set VNET, if any */ CURVNET_SET(addr->net); @@ -478,14 +474,13 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, type |= ADDR_DST_ANY; /* - * Make sure the socket address length field - * is set, else rtalloc1() will fail. + * Make sure the socket address length field is set. */ dst_tmp.sin6_len = sizeof(dst_tmp); /* - * Make sure the scope ID gets embedded, else rtalloc1() will - * resolve to the loopback interface. + * Make sure the scope ID gets embedded, else nd6_resolve() will + * not find the record. */ dst_tmp.sin6_scope_id = addr->bound_dev_if; sa6_embedscope(&dst_tmp, 0); @@ -502,16 +497,12 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, /* FALLTHROUGH */ case ADDR_SRC_ANY: /* regular destination route lookup */ - rte = rtalloc1((struct sockaddr *)&dst_tmp, 1, 0); - if (rte == NULL) { + nh = fib6_lookup(RT_DEFAULT_FIB, &dst_in->sin6_addr, + addr->bound_dev_if, NHR_NONE, 0); + if (nh == NULL) { error = EHOSTUNREACH; goto done; - } else if (rte->rt_ifp == NULL || RT_LINK_IS_UP(rte->rt_ifp) == 0) { - RTFREE_LOCKED(rte); - error = EHOSTUNREACH; - goto done; } - RT_UNLOCK(rte); break; default: error = ENETUNREACH; @@ -531,14 +522,14 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, /* check source interface */ if (ifp == NULL) { error = ENETUNREACH; - goto error_rt_free; + goto done; } else if (ifp->if_flags & IFF_LOOPBACK) { /* * Source address cannot be a loopback device. */ error = EHOSTUNREACH; goto error_put_ifp; - } else if (rte->rt_ifp->if_flags & IFF_LOOPBACK) { + } else if (nh->nh_ifp->if_flags & IFF_LOOPBACK) { if (memcmp(&src_in->sin6_addr, &dst_in->sin6_addr, sizeof(src_in->sin6_addr))) { /* @@ -551,9 +542,9 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, } /* get destination network interface from route */ dev_put(ifp); - ifp = rte->rt_ifp; + ifp = nh->nh_ifp; dev_hold(ifp); - } else if (ifp != rte->rt_ifp) { + } else if (ifp != nh->nh_ifp) { /* * Source and destination interfaces are * different. @@ -564,13 +555,13 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, break; case ADDR_SRC_ANY: /* check for loopback device */ - if (rte->rt_ifp->if_flags & IFF_LOOPBACK) + if (nh->nh_ifp->if_flags & IFF_LOOPBACK) saddr = (struct sockaddr *)&dst_tmp; else - saddr = rte->rt_ifa->ifa_addr; + saddr = nh->nh_ifa->ifa_addr; /* get destination network interface from route */ - ifp = rte->rt_ifp; + ifp = nh->nh_ifp; dev_hold(ifp); break; default: @@ -581,21 +572,21 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, * Step 3 - resolve destination MAC address */ if (IN6_IS_ADDR_MULTICAST(&dst_tmp.sin6_addr)) { - bool is_gw = (rte->rt_flags & RTF_GATEWAY) != 0; + bool is_gw = (nh->nh_flags & NHF_GATEWAY) != 0; error = addr_resolve_multi(edst, ifp, (struct sockaddr *)&dst_tmp); if (error != 0) goto error_put_ifp; else if (is_gw) addr->network = RDMA_NETWORK_IPV6; - } else if (rte->rt_ifp->if_flags & IFF_LOOPBACK) { + } else if (nh->nh_ifp->if_flags & IFF_LOOPBACK) { memset(edst, 0, MAX_ADDR_LEN); error = 0; } else { - bool is_gw = (rte->rt_flags & RTF_GATEWAY) != 0; + bool is_gw = (nh->nh_flags & NHF_GATEWAY) != 0; memset(edst, 0, MAX_ADDR_LEN); error = nd6_resolve(ifp, is_gw, NULL, is_gw ? - rte->rt_gateway : (const struct sockaddr *)&dst_tmp, + &nh->gw_sa : (const struct sockaddr *)&dst_tmp, edst, NULL, NULL); if (error != 0) goto error_put_ifp; @@ -612,17 +603,12 @@ static int addr6_resolve(struct sockaddr_in6 *src_in, src_in->sin6_port = src_port; /* preserve port number */ } - if (rte != NULL) - RTFREE(rte); - *ifpp = ifp; goto done; error_put_ifp: dev_put(ifp); -error_rt_free: - RTFREE(rte); done: CURVNET_RESTORE(); Modified: head/sys/ofed/drivers/infiniband/core/ib_cma.c ============================================================================== --- head/sys/ofed/drivers/infiniband/core/ib_cma.c Wed Apr 15 13:02:13 2020 (r359965) +++ head/sys/ofed/drivers/infiniband/core/ib_cma.c Wed Apr 15 13:06:55 2020 (r359966) @@ -50,10 +50,14 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include +#include + +#include #include #include @@ -1351,11 +1355,10 @@ static bool validate_ipv4_net_dev(struct net_device *n const struct sockaddr_in *src_addr) { #ifdef INET - struct sockaddr_in src_tmp = *src_addr; __be32 daddr = dst_addr->sin_addr.s_addr, saddr = src_addr->sin_addr.s_addr; struct net_device *dst_dev; - struct rtentry *rte; + struct nhop_object *nh; bool ret; if (ipv4_is_multicast(saddr) || ipv4_is_lbcast(saddr) || @@ -1378,20 +1381,12 @@ static bool validate_ipv4_net_dev(struct net_device *n if (saddr == daddr) return true; - /* - * Make sure the socket address length field - * is set, else rtalloc1() will fail. - */ - src_tmp.sin_len = sizeof(src_tmp); - CURVNET_SET(net_dev->if_vnet); - rte = rtalloc1((struct sockaddr *)&src_tmp, 1, 0); - if (rte != NULL) { - ret = (rte->rt_ifp == net_dev); - RTFREE_LOCKED(rte); - } else { + nh = fib4_lookup(RT_DEFAULT_FIB, src_addr->sin_addr, 0, NHR_NONE, 0); + if (nh != NULL) + ret = (nh->nh_ifp == net_dev); + else ret = false; - } CURVNET_RESTORE(); return ret; #else @@ -1407,7 +1402,7 @@ static bool validate_ipv6_net_dev(struct net_device *n struct sockaddr_in6 src_tmp = *src_addr; struct sockaddr_in6 dst_tmp = *dst_addr; struct net_device *dst_dev; - struct rtentry *rte; + struct nhop_object *nh; bool ret; dst_dev = ip6_dev_find(net_dev->if_vnet, dst_tmp.sin6_addr, @@ -1422,15 +1417,8 @@ static bool validate_ipv6_net_dev(struct net_device *n CURVNET_SET(net_dev->if_vnet); /* - * Make sure the socket address length field - * is set, else rtalloc1() will fail. + * Make sure the scope ID gets embedded. */ - src_tmp.sin6_len = sizeof(src_tmp); - - /* - * Make sure the scope ID gets embedded, else rtalloc1() will - * resolve to the loopback interface. - */ src_tmp.sin6_scope_id = net_dev->if_index; sa6_embedscope(&src_tmp, 0); @@ -1446,13 +1434,12 @@ static bool validate_ipv6_net_dev(struct net_device *n ret = true; } else { /* non-loopback case */ - rte = rtalloc1((struct sockaddr *)&src_tmp, 1, 0); - if (rte != NULL) { - ret = (rte->rt_ifp == net_dev); - RTFREE_LOCKED(rte); - } else { + nh = fib6_lookup(RT_DEFAULT_FIB, &src_addr->sin6_addr, + net_dev->if_index, NHR_NONE, 0); + if (nh != NULL) + ret = (nh->nh_ifp == net_dev); + else ret = false; - } } CURVNET_RESTORE(); return ret; @@ -1512,6 +1499,7 @@ static struct net_device *cma_get_net_dev(struct ib_cm *src_addr = (struct sockaddr *)&src_addr_storage; struct net_device *net_dev; const union ib_gid *gid = req->has_gid ? &req->local_gid : NULL; + struct epoch_tracker et; int err; err = cma_save_ip_info(listen_addr, src_addr, ib_event, @@ -1530,10 +1518,13 @@ static struct net_device *cma_get_net_dev(struct ib_cm if (!net_dev) return ERR_PTR(-ENODEV); + NET_EPOCH_ENTER(et); if (!validate_net_dev(net_dev, listen_addr, src_addr)) { + NET_EPOCH_EXIT(et); dev_put(net_dev); return ERR_PTR(-EHOSTUNREACH); } + NET_EPOCH_EXIT(et); return net_dev; } From owner-svn-src-head@freebsd.org Wed Apr 15 13:13:46 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AD9E02B5FE7; Wed, 15 Apr 2020 13:13:46 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492N8p46r7z3KlJ; Wed, 15 Apr 2020 13:13:46 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 887CA1F7D8; Wed, 15 Apr 2020 13:13:46 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FDDk2g026640; Wed, 15 Apr 2020 13:13:46 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FDDkLt026639; Wed, 15 Apr 2020 13:13:46 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202004151313.03FDDkLt026639@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Wed, 15 Apr 2020 13:13:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359967 - head/usr.sbin/nologin X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/usr.sbin/nologin X-SVN-Commit-Revision: 359967 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 13:13:46 -0000 Author: 0mp (doc,ports committer) Date: Wed Apr 15 13:13:46 2020 New Revision: 359967 URL: https://svnweb.freebsd.org/changeset/base/359967 Log: Document the exit status and the stdout message of nologin(8) Reviewed by: debdrup (earlier version) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24196 Modified: head/usr.sbin/nologin/nologin.8 Modified: head/usr.sbin/nologin/nologin.8 ============================================================================== --- head/usr.sbin/nologin/nologin.8 Wed Apr 15 13:06:55 2020 (r359966) +++ head/usr.sbin/nologin/nologin.8 Wed Apr 15 13:13:46 2020 (r359967) @@ -28,7 +28,7 @@ .\" @(#)nologin.8 8.1 (Berkeley) 6/19/93 .\" $FreeBSD$ .\" -.Dd June 19, 1993 +.Dd April 15, 2020 .Dt NOLOGIN 8 .Os .Sh NAME @@ -39,14 +39,31 @@ .Sh DESCRIPTION The .Nm -utility displays a message that an account is not available and -exits non-zero. -It is intended as a replacement shell field for accounts that +is intended as a replacement shell field for accounts that have been disabled. .Pp +When executed, +.Nm +first writes about the login attempt to +.Xr syslog 3 +and then a displays a message that an account is not available. +.Pp To disable all logins, investigate .Xr nologin 5 . +.Sh EXIT STATUS +The +.Nm +utility always exits non-zero. +.Sh EXAMPLES +Here is a demonstration of executing +.Nm : +.Bd -literal -offset 4n +$ nologin +This account is currently not available. +$ tail -n 1 /var/log/messages +Mar 30 21:53:07 example.org nologin[65992]: Attempted login by beastie on /dev/pts/18 +.Ed .Sh SEE ALSO .Xr login 1 , .Xr nologin 5 From owner-svn-src-head@freebsd.org Wed Apr 15 13:20:52 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8D5DE2B612D; Wed, 15 Apr 2020 13:20:52 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492NK029zkz3L17; Wed, 15 Apr 2020 13:20:52 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 458171F900; Wed, 15 Apr 2020 13:20:52 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FDKqpP027081; Wed, 15 Apr 2020 13:20:52 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FDKqT7027080; Wed, 15 Apr 2020 13:20:52 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004151320.03FDKqT7027080@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Wed, 15 Apr 2020 13:20:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359968 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359968 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 13:20:52 -0000 Author: hselasky Date: Wed Apr 15 13:20:51 2020 New Revision: 359968 URL: https://svnweb.freebsd.org/changeset/base/359968 Log: Cast all ioctl command arguments through uint32_t internally. Hide debug print showing use of sign extended ioctl command argument under INVARIANTS. The print is available to all and can easily fill up the logs. No functional change intended. MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/kern/sys_generic.c Modified: head/sys/kern/sys_generic.c ============================================================================== --- head/sys/kern/sys_generic.c Wed Apr 15 13:13:46 2020 (r359967) +++ head/sys/kern/sys_generic.c Wed Apr 15 13:20:51 2020 (r359968) @@ -652,18 +652,19 @@ int sys_ioctl(struct thread *td, struct ioctl_args *uap) { u_char smalldata[SYS_IOCTL_SMALL_SIZE] __aligned(SYS_IOCTL_SMALL_ALIGN); - u_long com; + uint32_t com; int arg, error; u_int size; caddr_t data; +#ifdef INVARIANTS if (uap->com > 0xffffffff) { printf( "WARNING pid %d (%s): ioctl sign-extension ioctl %lx\n", td->td_proc->p_pid, td->td_name, uap->com); - uap->com &= 0xffffffff; } - com = uap->com; +#endif + com = (uint32_t)uap->com; /* * Interpret high order word to find amount of data to be From owner-svn-src-head@freebsd.org Wed Apr 15 13:35:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4CE362B699E; Wed, 15 Apr 2020 13:35:29 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492Nds1N9Kz3MLG; Wed, 15 Apr 2020 13:35:29 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2725F1FBC5; Wed, 15 Apr 2020 13:35:29 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FDZTLI039053; Wed, 15 Apr 2020 13:35:29 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FDZTA8039052; Wed, 15 Apr 2020 13:35:29 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004151335.03FDZTA8039052@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Wed, 15 Apr 2020 13:35:29 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359969 - head/sys/arm/allwinner X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/arm/allwinner X-SVN-Commit-Revision: 359969 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 13:35:29 -0000 Author: manu Date: Wed Apr 15 13:35:28 2020 New Revision: 359969 URL: https://svnweb.freebsd.org/changeset/base/359969 Log: arm: allwinner: aw_sid: Fix thermal calibration size for A64 This fixes the aw_thermal driver on A64 SoC. MFC after: 1 month X-MFC-With: r359935 Modified: head/sys/arm/allwinner/aw_sid.c Modified: head/sys/arm/allwinner/aw_sid.c ============================================================================== --- head/sys/arm/allwinner/aw_sid.c Wed Apr 15 13:20:51 2020 (r359968) +++ head/sys/arm/allwinner/aw_sid.c Wed Apr 15 13:35:28 2020 (r359969) @@ -104,7 +104,7 @@ static struct aw_sid_efuse a64_efuses[] = { .desc = "Thermal Sensor Calibration Data", .base = EFUSE_OFFSET, .offset = 0x34, - .size = 6, + .size = 8, .id = AW_SID_FUSE_THSSENSOR, .public = true, }, From owner-svn-src-head@freebsd.org Wed Apr 15 14:07:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 89FDE2B7EFB; Wed, 15 Apr 2020 14:07:34 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492PLt34CDz3PLP; Wed, 15 Apr 2020 14:07:34 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6002E201CC; Wed, 15 Apr 2020 14:07:34 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FE7YAQ057897; Wed, 15 Apr 2020 14:07:34 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FE7YKa057896; Wed, 15 Apr 2020 14:07:34 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202004151407.03FE7YKa057896@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Wed, 15 Apr 2020 14:07:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359973 - head/libexec/rc/rc.d X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/libexec/rc/rc.d X-SVN-Commit-Revision: 359973 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 14:07:34 -0000 Author: 0mp (doc,ports committer) Date: Wed Apr 15 14:07:33 2020 New Revision: 359973 URL: https://svnweb.freebsd.org/changeset/base/359973 Log: sshd: Warn about missing ssh-keygen only when necessary The sshd service is using ssh-keygen to generate missing SSH keys. If ssh-keygen is missing, it prints the following message: > /etc/rc.d/sshd: WARNING: /usr/bin/ssh-keygen does not exist. It makes sense when the key is not generated yet and cannot be created because ssh-keygen is missing. The problem is that even if the key is present on the host, the sshd service would still warn about missing ssh-keygen (even though it does not need it). Reviewed by: emaste Approved by: emaste (src) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D23911 Modified: head/libexec/rc/rc.d/sshd Modified: head/libexec/rc/rc.d/sshd ============================================================================== --- head/libexec/rc/rc.d/sshd Wed Apr 15 13:59:51 2020 (r359972) +++ head/libexec/rc/rc.d/sshd Wed Apr 15 14:07:33 2020 (r359973) @@ -45,18 +45,19 @@ sshd_keygen_alg() ;; esac + if [ -f "${keyfile}" ] ; then + info "$ALG host key exists." + return 0 + fi + if [ ! -x /usr/bin/ssh-keygen ] ; then warn "/usr/bin/ssh-keygen does not exist." return 1 fi - if [ -f "${keyfile}" ] ; then - info "$ALG host key exists." - else - echo "Generating $ALG host key." - /usr/bin/ssh-keygen -q -t $alg -f "$keyfile" -N "" - /usr/bin/ssh-keygen -l -f "$keyfile.pub" - fi + echo "Generating $ALG host key." + /usr/bin/ssh-keygen -q -t $alg -f "$keyfile" -N "" + /usr/bin/ssh-keygen -l -f "$keyfile.pub" } sshd_keygen() From owner-svn-src-head@freebsd.org Wed Apr 15 15:39:52 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CFEEC2BA72E; Wed, 15 Apr 2020 15:39:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492RPN577rz411v; Wed, 15 Apr 2020 15:39:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-164.local (unknown [IPv6:2601:648:8881:1e90:e194:b536:7c09:9aa4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 3A5201771C; Wed, 15 Apr 2020 15:39:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r359945 - in head: lib/geom/eli sys/geom/eli To: Alan Somers Cc: src-committers , svn-src-all , svn-src-head References: <202004150014.03F0EpQt039761@repo.freebsd.org> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: Date: Wed, 15 Apr 2020 08:39:51 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 15:39:52 -0000 On 4/14/20 5:22 PM, Alan Somers wrote: > On Tue, Apr 14, 2020 at 6:15 PM John Baldwin wrote: > >> Author: jhb >> Date: Wed Apr 15 00:14:50 2020 >> New Revision: 359945 >> URL: https://svnweb.freebsd.org/changeset/base/359945 >> >> Log: >> Remove support for geli(4) algorithms deprecated in r348206. >> >> This removes support for reading and writing volumes using the >> following algorithms: >> >> - Triple DES >> - Blowfish >> - MD5 HMAC integrity >> >> In addition, this commit adds an explicit whitelist of supported >> algorithms to give a better error message when an invalid or >> unsupported algorithm is used by an existing volume. >> >> Reviewed by: cem >> Sponsored by: Chelsio Communications >> Differential Revision: https://reviews.freebsd.org/D24343 >> > > Why remove read-only support? That will make it much harder to convert old > volumes. The goal is to remove the actual crypto code (and drivers that only implement old algorithms). Read-only support means you still have to support the algorithm. 12.x already refuses to create new volumes with these algorithms but permits access to existing ones. -- John Baldwin From owner-svn-src-head@freebsd.org Wed Apr 15 16:29:04 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A71CF2BB5E9; Wed, 15 Apr 2020 16:29:04 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-ot1-f47.google.com (mail-ot1-f47.google.com [209.85.210.47]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492SV75gPmz43k7; Wed, 15 Apr 2020 16:29:03 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-ot1-f47.google.com with SMTP id k21so506823otl.5; Wed, 15 Apr 2020 09:29:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=povj346put8/9+IhxGrIt/sSxCzVUI8dSC1i6NXMDCA=; b=jb1u3dblCCRhDOYeOZAGzLpeWQrLmeezXkrgDxZUk5FY/bqZduWXnb8rRSRpWf9biQ iM4qOId44i+4rlIkkCS54cQKhoNj16r2dcCS0X1sQKuuQCffVXWGYZzhDJvHQ3Nutcm9 GNqX24+Qk+T7rKiyN82GcBowBj5Pi8fZersWbG5IHsH8IzD0aQvTRIi+Hyy2ozsyjAI+ gGdz+YJ8Kbn5f7ADc8pWmoHZcimK7Oo+IChTb1zudOVJniJJi95Ez78It5TnX38IRELS MUuQRHhE++06345HYetdOSC1s4GjaSZWo8vkVNGkDbDR7dPhTfgaARCroLFa8KePwMdn MeVA== X-Gm-Message-State: AGi0PuZnRdrSkOiNmidpmTk15238v0rz6MClB1enMuTVXmSwDGTVJ6+O p2g0MkQyqOFzYP5Rw47K0FGwWatB X-Google-Smtp-Source: APiQypIzowO3cmATEYXOmC4tbgyWTjyT6FELzQ4+e5/XA4y2YkYUeT+eO52QUgzcxK1F4a1x3Xz76Q== X-Received: by 2002:a05:6830:4c:: with SMTP id d12mr8229472otp.85.1586968141885; Wed, 15 Apr 2020 09:29:01 -0700 (PDT) Received: from mail-oi1-f181.google.com (mail-oi1-f181.google.com. [209.85.167.181]) by smtp.gmail.com with ESMTPSA id b6sm474403otp.31.2020.04.15.09.29.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 15 Apr 2020 09:29:01 -0700 (PDT) Received: by mail-oi1-f181.google.com with SMTP id b7so11407919oic.2; Wed, 15 Apr 2020 09:29:01 -0700 (PDT) X-Received: by 2002:a05:6808:7c2:: with SMTP id f2mr18241oij.81.1586968141289; Wed, 15 Apr 2020 09:29:01 -0700 (PDT) MIME-Version: 1.0 References: <202004150158.03F1wpiw001754@repo.freebsd.org> <20200415123022.n5zq2ldhhvy7czce@mutt-hbsd> In-Reply-To: <20200415123022.n5zq2ldhhvy7czce@mutt-hbsd> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Wed, 15 Apr 2020 09:28:50 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359949 - head/usr.sbin/bhyve To: Shawn Webb Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-Rspamd-Queue-Id: 492SV75gPmz43k7 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of csecem@gmail.com designates 209.85.210.47 as permitted sender) smtp.mailfrom=csecem@gmail.com X-Spamd-Result: default: False [-1.19 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[cem@freebsd.org]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; RWL_MAILSPIKE_GOOD(0.00)[47.210.85.209.rep.mailspike.net : 127.0.0.18]; REPLYTO_ADDR_EQ_FROM(0.00)[]; URI_COUNT_ODD(1.00)[9]; RCVD_COUNT_THREE(0.00)[4]; FORGED_SENDER(0.30)[cem@freebsd.org,csecem@gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TAGGED_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.98)[-0.976,0]; FROM_NEQ_ENVFROM(0.00)[cem@freebsd.org,csecem@gmail.com]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; NEURAL_HAM_LONG(-0.98)[-0.979,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[47.210.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-0.24)[ip: (-0.32), ipnet: 209.85.128.0/17(-0.40), asn: 15169(-0.43), country: US(-0.05)]; RCVD_TLS_ALL(0.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 16:29:04 -0000 No. On Wed, Apr 15, 2020 at 05:30 Shawn Webb wrote: > On Wed, Apr 15, 2020 at 01:58:51AM +0000, Conrad Meyer wrote: > > Author: cem > > Date: Wed Apr 15 01:58:51 2020 > > New Revision: 359949 > > URL: https://svnweb.freebsd.org/changeset/base/359949 > > > > Log: > > bhyve(8): Add bootrom allocation abstraction > > > > To allow more general use of the bootrom region, separate > initialization from > > allocation, and allocation from loading a file. > > > > The bootrom segment is the high 16MB of the low 4GB region. > > > > Each allocation in the segment creates a new mapping with specified > protection. > > By default, allocation begins at the low end of the range. However, > the > > BOOTROM_ALLOC_TOP flag is provided to locate a provided bootrom in the > high > > region it is expected to be in. > > > > The existing ROM-file loading code is refactored to use the new > interface. > > > > Reviewed by: grehan (earlier version) > > Differential Revision: https://reviews.freebsd.org/D24422 > > Hey Conrad, > > Is there any way you'd have a change of heart and support MFC'ing? I'm > sure many people, including myself, would be ever so grateful not to > have to maintain their own MFC's of your work. > > Thanks, > > -- > Shawn Webb > Cofounder / Security Engineer > HardenedBSD > > GPG Key ID: 0xFF2E67A277F8E1FA > GPG Key Fingerprint: D206 BB45 15E0 9C49 0CF9 3633 C85B 0AF8 AB23 0FB2 > > https://git-01.md.hardenedbsd.org/HardenedBSD/pubkeys/src/branch/master/Shawn_Webb/03A4CBEBB82EA5A67D9F3853FF2E67A277F8E1FA.pub.asc > From owner-svn-src-head@freebsd.org Wed Apr 15 16:33:27 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E8B432BB853; Wed, 15 Apr 2020 16:33:27 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492SbC5GJ6z449g; Wed, 15 Apr 2020 16:33:27 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ACA8C21E88; Wed, 15 Apr 2020 16:33:27 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FGXRwv050860; Wed, 15 Apr 2020 16:33:27 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FGXRcw050859; Wed, 15 Apr 2020 16:33:27 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004151633.03FGXRcw050859@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 15 Apr 2020 16:33:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359974 - head/sys/mips/mips X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: head/sys/mips/mips X-SVN-Commit-Revision: 359974 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 16:33:28 -0000 Author: brooks Date: Wed Apr 15 16:33:27 2020 New Revision: 359974 URL: https://svnweb.freebsd.org/changeset/base/359974 Log: Don't directly access userspace memory. Rather then using the racy useracc() followed by direct access to userspace memory, perform a copyin() and use the result if it succeeds. Reviewed by: jhb MFC after: 3 weeks Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24410 Modified: head/sys/mips/mips/trap.c Modified: head/sys/mips/mips/trap.c ============================================================================== --- head/sys/mips/mips/trap.c Wed Apr 15 14:07:33 2020 (r359973) +++ head/sys/mips/mips/trap.c Wed Apr 15 16:33:27 2020 (r359974) @@ -1402,7 +1402,7 @@ log_illegal_instruction(const char *msg, struct trapfr { pt_entry_t *ptep; pd_entry_t *pdep; - unsigned int *addr; + unsigned int *addr, instr[4]; struct thread *td; struct proc *p; register_t pc; @@ -1429,17 +1429,16 @@ log_illegal_instruction(const char *msg, struct trapfr * Dump a few words around faulting instruction, if the addres is * valid. */ - if (!(pc & 3) && - useracc((caddr_t)(intptr_t)pc, sizeof(int) * 4, VM_PROT_READ)) { + addr = (unsigned int *)(intptr_t)pc; + if ((pc & 3) == 0 && copyin(addr, instr, sizeof(instr)) == 0) { /* dump page table entry for faulting instruction */ log(LOG_ERR, "Page table info for pc address %#jx: pde = %p, pte = %#jx\n", (intmax_t)pc, (void *)(intptr_t)*pdep, (uintmax_t)(ptep ? *ptep : 0)); - addr = (unsigned int *)(intptr_t)pc; log(LOG_ERR, "Dumping 4 words starting at pc address %p: \n", addr); log(LOG_ERR, "%08x %08x %08x %08x\n", - addr[0], addr[1], addr[2], addr[3]); + instr[0], instr[1], instr[2], instr[3]); } else { log(LOG_ERR, "pc address %#jx is inaccessible, pde = %p, pte = %#jx\n", (intmax_t)pc, (void *)(intptr_t)*pdep, (uintmax_t)(ptep ? *ptep : 0)); @@ -1451,7 +1450,7 @@ log_bad_page_fault(char *msg, struct trapframe *frame, { pt_entry_t *ptep; pd_entry_t *pdep; - unsigned int *addr; + unsigned int *addr, instr[4]; struct thread *td; struct proc *p; char *read_or_write; @@ -1499,18 +1498,18 @@ log_bad_page_fault(char *msg, struct trapframe *frame, * Dump a few words around faulting instruction, if the addres is * valid. */ - if (!(pc & 3) && (pc != frame->badvaddr) && - (trap_type != T_BUS_ERR_IFETCH) && - useracc((caddr_t)(intptr_t)pc, sizeof(int) * 4, VM_PROT_READ)) { + addr = (unsigned int *)(intptr_t)pc; + if ((pc & 3) == 0 && pc != frame->badvaddr && + trap_type != T_BUS_ERR_IFETCH && + copyin((caddr_t)(intptr_t)pc, instr, sizeof(instr)) == 0) { /* dump page table entry for faulting instruction */ log(LOG_ERR, "Page table info for pc address %#jx: pde = %p, pte = %#jx\n", (intmax_t)pc, (void *)(intptr_t)*pdep, (uintmax_t)(ptep ? *ptep : 0)); - addr = (unsigned int *)(intptr_t)pc; log(LOG_ERR, "Dumping 4 words starting at pc address %p: \n", addr); log(LOG_ERR, "%08x %08x %08x %08x\n", - addr[0], addr[1], addr[2], addr[3]); + instr[0], instr[1], instr[2], instr[3]); } else { log(LOG_ERR, "pc address %#jx is inaccessible, pde = %p, pte = %#jx\n", (intmax_t)pc, (void *)(intptr_t)*pdep, (uintmax_t)(ptep ? *ptep : 0)); From owner-svn-src-head@freebsd.org Wed Apr 15 16:33:56 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 113772BB96B; Wed, 15 Apr 2020 16:33:56 +0000 (UTC) (envelope-from kaktus@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492Sbl6nT4z44QQ; Wed, 15 Apr 2020 16:33:55 +0000 (UTC) (envelope-from kaktus@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E124C21E8F; Wed, 15 Apr 2020 16:33:55 +0000 (UTC) (envelope-from kaktus@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FGXthk050924; Wed, 15 Apr 2020 16:33:55 GMT (envelope-from kaktus@FreeBSD.org) Received: (from kaktus@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FGXtBJ050923; Wed, 15 Apr 2020 16:33:55 GMT (envelope-from kaktus@FreeBSD.org) Message-Id: <202004151633.03FGXtBJ050923@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kaktus set sender to kaktus@FreeBSD.org using -f From: Pawel Biernacki Date: Wed, 15 Apr 2020 16:33:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359975 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kaktus X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359975 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 16:33:56 -0000 Author: kaktus Date: Wed Apr 15 16:33:55 2020 New Revision: 359975 URL: https://svnweb.freebsd.org/changeset/base/359975 Log: sysctl(9): fix handling string tunables. r357614 changed internals of handling string sysctls, and inadvertently broke setting string tunables. Take them into account. PR: 245463 Reported by: jhb, np Reviewed by: imp, jhb, kib Approved by: kib (mentor) Differential Revision: https://reviews.freebsd.org/D24429 Modified: head/sys/kern/kern_sysctl.c Modified: head/sys/kern/kern_sysctl.c ============================================================================== --- head/sys/kern/kern_sysctl.c Wed Apr 15 16:33:27 2020 (r359974) +++ head/sys/kern/kern_sysctl.c Wed Apr 15 16:33:55 2020 (r359975) @@ -1648,13 +1648,15 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS) int error = 0, ro_string = 0; /* - * If the sysctl isn't writable, microoptimise and treat it as a - * const string. + * If the sysctl isn't writable and isn't a preallocated tunable that + * can be modified by kenv(2), microoptimise and treat it as a + * read-only string. * A zero-length buffer indicates a fixed size read-only * string. In ddb, don't worry about trying to make a malloced * snapshot. */ - if (!(oidp->oid_kind & CTLFLAG_WR) || arg2 == 0 || kdb_active) { + if ((oidp->oid_kind & CTLFLAG_WR | CTLFLAG_TUN) == 0 || arg2 == 0 + || kdb_active) { arg2 = strlen((char *)arg1) + 1; ro_string = 1; } @@ -1697,8 +1699,7 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS) arg2 = req->newlen - req->newidx; tmparg = malloc(arg2, M_SYSCTLTMP, M_WAITOK); - error = copyin((const char *)req->newptr + req->newidx, - tmparg, arg2); + error = SYSCTL_IN(req, tmparg, arg2); if (error) { free(tmparg, M_SYSCTLTMP); return (error); From owner-svn-src-head@freebsd.org Wed Apr 15 16:42:26 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id ED90C2BBD69 for ; Wed, 15 Apr 2020 16:42:26 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1a.ore.mailhop.org (outbound1a.ore.mailhop.org [54.213.22.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 492SnZ3LMDz44wr for ; Wed, 15 Apr 2020 16:42:26 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1586968944; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=he89SFxIXNNxIr46gbqGiz2NyapUTlXVje8K2uEwVD+5iac+K5tU1duMxra3cawPNiSEheNbzGjS+ TZNMWzT/OCT1neAfteKTdeheDpbnwYf8cM0fyySdrCaa99HS4kyn2iTlFAEi2IXJ/w2GJqgVtKHCcl HRHWPMckMUmNRkWxyDkKXo+1dVc0vG4ly531hgiZJYJ4R2B5xNiw67HTbmWqytmY1xh/O/eqzq9jnS dneoYJROlzLwkNFAEAI0TRq70qtfncPr/rddi/73O4Ii4AWwaE+LQ4PmC7LbF82o0XMbYSCC/Kbj2D /O+mHH5VUWz4xXmICmzyoD5CNf/UJSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:dkim-signature:from; bh=NfHMDyTJmwPrnD1fxjk5Rpdj4Q9NVOfmmGh4SSfCF+c=; b=v/KycWX/fSjLCU83pUOFtdEi0WwCW5Lyn80S4DmB6QMJV2xZZPWhLDbjpL2H9/0o63T6FdaJHYL+P xyg7kXZLzgyxL8YFj4iCJLWTdtgoK/KOxkOxZCKklkwtPM8UUHdt9+sYEOeAnFQI9OjwvLd8riVoTj /0m5v/PaLyO2JjlJek55Sw3E6ZiFlJu/iP6FFPsAqn3/JrZeEfgPO/G/QTj0xyWQXskQUzJqksVepp uAxH9Co7njpxGLlCi3ILKDFJO4vuwTBGeUjKZdG1jS0kIwz5YgvjMw3asfbNi5j7eiZ46/1MfEVEPZ maY3/49AO3jjnBeMeapUBQUyh6UpEJg== ARC-Authentication-Results: i=1; outbound3.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:cc:to:from:subject:message-id:from; bh=NfHMDyTJmwPrnD1fxjk5Rpdj4Q9NVOfmmGh4SSfCF+c=; b=QFVpvXaS69bvz2Kv0ferlxWgDCwGpanrpeg5DfgDtLfqy2dM1AJXk6DPJRDCSIuXVFjIcKoVhwFCU qjL2ncKgGouEhy6VnHbzXhACNkqeY1aCElEOhN8HU7+mzf/IClOKGcWJLByLJI/Kn93wN8WoExbEuw ptwhCWZ3+jusdxsm/UhT21eSyjE7liqwjtK2px72hTgD3u7+46AThqXOYalAoUH0RJM5QnptEOXtaz qad4MVpoI+YEI6yqM+GvqRuq+UbGSE/DUFWBSEOmxFnA09sxQzk/O8+QwxCMlAgnTotUMgFrvZivFa 2wO/aR2XUixZRizMURPBUEebJynOy6Q== X-MHO-RoutePath: aGlwcGll X-MHO-User: 13b87d1d-7f38-11ea-b10c-b5956a7dd1a1 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (c-67-177-211-60.hsd1.co.comcast.net [67.177.211.60]) by outbound3.ore.mailhop.org (Halon) with ESMTPSA id 13b87d1d-7f38-11ea-b10c-b5956a7dd1a1; Wed, 15 Apr 2020 16:42:22 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 03FGgLs3071107; Wed, 15 Apr 2020 10:42:21 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: Subject: Re: svn commit: r359949 - head/usr.sbin/bhyve From: Ian Lepore To: Shawn Webb , Conrad Meyer Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Wed, 15 Apr 2020 10:42:21 -0600 In-Reply-To: <20200415123022.n5zq2ldhhvy7czce@mutt-hbsd> References: <202004150158.03F1wpiw001754@repo.freebsd.org> <20200415123022.n5zq2ldhhvy7czce@mutt-hbsd> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 492SnZ3LMDz44wr X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.96 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-0.99)[-0.988,0]; ASN(0.00)[asn:16509, ipnet:54.213.0.0/16, country:US]; NEURAL_HAM_LONG(-0.97)[-0.974,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 16:42:27 -0000 On Wed, 2020-04-15 at 08:30 -0400, Shawn Webb wrote: > On Wed, Apr 15, 2020 at 01:58:51AM +0000, Conrad Meyer wrote: > > Author: cem > > Date: Wed Apr 15 01:58:51 2020 > > New Revision: 359949 > > URL: https://svnweb.freebsd.org/changeset/base/359949 > > > > Log: > > bhyve(8): Add bootrom allocation abstraction > > > > To allow more general use of the bootrom region, separate initialization from > > allocation, and allocation from loading a file. > > > > The bootrom segment is the high 16MB of the low 4GB region. > > > > Each allocation in the segment creates a new mapping with specified protection. > > By default, allocation begins at the low end of the range. However, the > > BOOTROM_ALLOC_TOP flag is provided to locate a provided bootrom in the high > > region it is expected to be in. > > > > The existing ROM-file loading code is refactored to use the new interface. > > > > Reviewed by: grehan (earlier version) > > Differential Revision: https://reviews.freebsd.org/D24422 > > Hey Conrad, > > Is there any way you'd have a change of heart and support MFC'ing? I'm > sure many people, including myself, would be ever so grateful not to > have to maintain their own MFC's of your work. > > Thanks, > There are multiple people involved in maintaining bhyve, you can ask any of them (or, really, any committer at all) to MFC things. -- Ian From owner-svn-src-head@freebsd.org Wed Apr 15 16:50:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 214592BBF25 for ; Wed, 15 Apr 2020 16:50:48 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-oi1-f178.google.com (mail-oi1-f178.google.com [209.85.167.178]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492SzB2YxRz45Cl for ; Wed, 15 Apr 2020 16:50:46 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-oi1-f178.google.com with SMTP id j16so14041649oih.10 for ; Wed, 15 Apr 2020 09:50:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=xMUNp5MfCvZefM3nNvz7WBRq8+kX/BjGo7u0XFBY8BU=; b=QnDwG6vI4IR6HHJqReja8V1mRsXG2Zu9Jc0taUoc/m5qb7gEgWNM+DLOTekSEsbG6J PpnEIPRLVZdxXoc1BdP3nxmaOhhbhpo++zeATWHNBbygO/1LNYmhwFliILtbpzP/IHqu bwMse8Pcv1HRQPICXixGA0FlVG77Tbvy2PM4s7TexfBk/8Y3iKKWChf8Ma+ukZPSQmTr 2Ae1G4kGL60/jq2goGCod3gtA2RJna2+xv7zOpMyp9wpO0ZG1kzTzrXhGXuOHJFm17+S 54mjQgrIq0Ntuay9AmrfQTvWB/AwjfviWFFEIzZ9lv9VCMzuHrExPuG5Z8MXl+rkIrPK 3ebw== X-Gm-Message-State: AGi0Pubr/7pFHkTQDgGWE1WDq81mQZz/qEOQZaWFztobRdFCjoA0+q2b FXd8Y2AaeIO/RGU/u91PVuCByX71 X-Google-Smtp-Source: APiQypKg90YZWKzjICD5kyns56kRRdr6/GSDS+anjycn7g2kyO1tHpYep+XLyvhcnqcBwnCTHEhtUQ== X-Received: by 2002:aca:1107:: with SMTP id 7mr72569oir.133.1586969445082; Wed, 15 Apr 2020 09:50:45 -0700 (PDT) Received: from mail-oi1-f176.google.com (mail-oi1-f176.google.com. [209.85.167.176]) by smtp.gmail.com with ESMTPSA id r28sm2523oij.22.2020.04.15.09.50.43 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 15 Apr 2020 09:50:44 -0700 (PDT) Received: by mail-oi1-f176.google.com with SMTP id s202so10827871oih.3 for ; Wed, 15 Apr 2020 09:50:43 -0700 (PDT) X-Received: by 2002:aca:dc56:: with SMTP id t83mr117535oig.48.1586969443837; Wed, 15 Apr 2020 09:50:43 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Reply-To: cem@freebsd.org From: Conrad Meyer Date: Wed, 15 Apr 2020 09:50:33 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359829 - in head/sys: amd64/conf conf To: Mark Millard Cc: svn-src-head@freebsd.org X-Rspamd-Queue-Id: 492SzB2YxRz45Cl X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of csecem@gmail.com designates 209.85.167.178 as permitted sender) smtp.mailfrom=csecem@gmail.com X-Spamd-Result: default: False [-2.25 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[cem@freebsd.org]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; REPLYTO_ADDR_EQ_FROM(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; RCPT_COUNT_TWO(0.00)[2]; FORGED_SENDER(0.30)[cem@freebsd.org,csecem@gmail.com]; FREEMAIL_TO(0.00)[yahoo.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; TAGGED_FROM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; FROM_NEQ_ENVFROM(0.00)[cem@freebsd.org,csecem@gmail.com]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[178.167.85.209.list.dnswl.org : 127.0.5.0]; IP_SCORE(-0.25)[ip: (-0.38), ipnet: 209.85.128.0/17(-0.40), asn: 15169(-0.43), country: US(-0.05)]; RWL_MAILSPIKE_POSSIBLE(0.00)[178.167.85.209.rep.mailspike.net : 127.0.0.17]; RCVD_TLS_ALL(0.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 16:50:48 -0000 No. There is no dependency relationship between the two options. On Sun, Apr 12, 2020 at 12:43 Mark Millard wrote: > > Author: cem > > Date: Sun Apr 12 18:04:20 2020 > > New Revision: 359829 > > URL: > > https://svnweb.freebsd.org/changeset/base/359829 > > > > > > Log: > > Add queue(2) debug macros as build options > > > > Add QUEUE_MACRO_DEBUG_TRACE and QUEUE_MACRO_DEBUG_TRASH as proper > kernel > > options. While here, alpha-sort the debug section of sys/conf/options. > > > > Enable QUEUE_MACRO_DEBUG_TRASH in amd64 GENERIC (but not > GENERIC-NODEBUG) > > kernels. It is similar in nature and cost to other use-after-free > pointer > > trashing we do in GENERIC. It is probably reasonable to enable in any > arch > > GENERIC kernel that defines INVARIANTS. > > Going the other way: Is QUEUE_MACRO_DEBUG_TRASH unsafe when INVARIANTS > has been disabled? > > I historically produce non-debug/less-debug kernels via including GENERIC > and then disabling various debugging options, including frequently > disabling INVARIANTS and INVARIANTS_SUPPORT. > > Would the following be appropriate for the comments, with its extra > "required by" on the first line shown: > > options INVARIANTS # Enable calls of extra sanity > checking, required by QUEUE_MACRO_DEBUG_TRASH > options INVARIANT_SUPPORT # Extra sanity checks of internal > structures, required by INVARIANTS > options QUEUE_MACRO_DEBUG_TRASH # Trash queue(2) internal pointers > on invalidation > > Should head/sys/conf/NOTES have material about avoiding > QUEUE_MACRO_DEBUG_TRASH with INVARIANTS disabled? > > > > === > Mark Millard > marklmi at yahoo.com > ( dsl-only.net went > away in early 2018-Mar) > > From owner-svn-src-head@freebsd.org Wed Apr 15 16:55:39 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3D24A2BC0BB; Wed, 15 Apr 2020 16:55:39 +0000 (UTC) (envelope-from kaktus@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492T4q0QTMz45XL; Wed, 15 Apr 2020 16:55:39 +0000 (UTC) (envelope-from kaktus@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0542922285; Wed, 15 Apr 2020 16:55:39 +0000 (UTC) (envelope-from kaktus@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FGtcFp063581; Wed, 15 Apr 2020 16:55:38 GMT (envelope-from kaktus@FreeBSD.org) Received: (from kaktus@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FGtcf9063580; Wed, 15 Apr 2020 16:55:38 GMT (envelope-from kaktus@FreeBSD.org) Message-Id: <202004151655.03FGtcf9063580@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kaktus set sender to kaktus@FreeBSD.org using -f From: Pawel Biernacki Date: Wed, 15 Apr 2020 16:55:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359976 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kaktus X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 359976 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 16:55:39 -0000 Author: kaktus Date: Wed Apr 15 16:55:38 2020 New Revision: 359976 URL: https://svnweb.freebsd.org/changeset/base/359976 Log: sysctl_handle_string: Put logical or in parentheses. Reported by: rdivacky Approved by: kib (mentor) Pointy-hat to: kaktus Modified: head/sys/kern/kern_sysctl.c Modified: head/sys/kern/kern_sysctl.c ============================================================================== --- head/sys/kern/kern_sysctl.c Wed Apr 15 16:33:55 2020 (r359975) +++ head/sys/kern/kern_sysctl.c Wed Apr 15 16:55:38 2020 (r359976) @@ -1655,7 +1655,7 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS) * string. In ddb, don't worry about trying to make a malloced * snapshot. */ - if ((oidp->oid_kind & CTLFLAG_WR | CTLFLAG_TUN) == 0 || arg2 == 0 + if ((oidp->oid_kind & (CTLFLAG_WR | CTLFLAG_TUN)) == 0 || arg2 == 0 || kdb_active) { arg2 = strlen((char *)arg1) + 1; ro_string = 1; From owner-svn-src-head@freebsd.org Wed Apr 15 17:00:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A47202BC20C; Wed, 15 Apr 2020 17:00:29 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 492TBP2Zqtz45nZ; Wed, 15 Apr 2020 17:00:28 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 03FH0QKv041726; Wed, 15 Apr 2020 10:00:26 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 03FH0QMe041725; Wed, 15 Apr 2020 10:00:26 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202004151700.03FH0QMe041725@gndrsh.dnsmgr.net> Subject: Re: svn commit: r359967 - head/usr.sbin/nologin In-Reply-To: <202004151313.03FDDkLt026639@repo.freebsd.org> To: Mateusz Piotrowski <0mp@freebsd.org> Date: Wed, 15 Apr 2020 10:00:26 -0700 (PDT) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 492TBP2Zqtz45nZ X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-0.999,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 17:00:29 -0000 > Author: 0mp (doc,ports committer) > Date: Wed Apr 15 13:13:46 2020 > New Revision: 359967 > URL: https://svnweb.freebsd.org/changeset/base/359967 > > Log: > Document the exit status and the stdout message of nologin(8) > > Reviewed by: debdrup (earlier version) > MFC after: 2 weeks > Differential Revision: https://reviews.freebsd.org/D24196 > > Modified: > head/usr.sbin/nologin/nologin.8 > > Modified: head/usr.sbin/nologin/nologin.8 > ============================================================================== > --- head/usr.sbin/nologin/nologin.8 Wed Apr 15 13:06:55 2020 (r359966) > +++ head/usr.sbin/nologin/nologin.8 Wed Apr 15 13:13:46 2020 (r359967) > @@ -28,7 +28,7 @@ > .\" @(#)nologin.8 8.1 (Berkeley) 6/19/93 > .\" $FreeBSD$ > .\" > -.Dd June 19, 1993 > +.Dd April 15, 2020 > .Dt NOLOGIN 8 > .Os > .Sh NAME > @@ -39,14 +39,31 @@ > .Sh DESCRIPTION > The > .Nm > -utility displays a message that an account is not available and > -exits non-zero. > -It is intended as a replacement shell field for accounts that > +is intended as a replacement shell field for accounts that > have been disabled. > .Pp > +When executed, > +.Nm > +first writes about the login attempt to > +.Xr syslog 3 > +and then a displays a message that an account is not available. This needs some wordsmithing, extra "a" needs removed. and then displays a message that an account is not available. > +.Pp > To disable all logins, > investigate > .Xr nologin 5 . > +.Sh EXIT STATUS > +The > +.Nm > +utility always exits non-zero. > +.Sh EXAMPLES > +Here is a demonstration of executing > +.Nm : > +.Bd -literal -offset 4n > +$ nologin > +This account is currently not available. > +$ tail -n 1 /var/log/messages > +Mar 30 21:53:07 example.org nologin[65992]: Attempted login by beastie on /dev/pts/18 > +.Ed > .Sh SEE ALSO > .Xr login 1 , > .Xr nologin 5 > -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Wed Apr 15 17:08:05 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 73D582BC42F; Wed, 15 Apr 2020 17:08:05 +0000 (UTC) (envelope-from mpp302@gmail.com) Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492TM836Dsz46SL; Wed, 15 Apr 2020 17:08:04 +0000 (UTC) (envelope-from mpp302@gmail.com) Received: by mail-wr1-f49.google.com with SMTP id x18so788460wrq.2; Wed, 15 Apr 2020 10:08:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=dv8/X9dQB/cN5RyVZq6QcljUqLbt5e1trtrW3kqnwrM=; b=beAdu8ZfDJT4qLzvlkqPRKE/QHSBqnDInD/EXrU+ieXuhAgt3EZBwE+U5s4lXmj7X+ BIzaMblbHjcUZEjnHR0ANkUF38kIRHdJw+ijXxAIiP5Gp7Ocn3f418uK87AaN9KPXkcO m2dm1xL525ODcOiwD3cGWYEarO+miJpi3dz+9qvAi1CL7tuIMIIYZ1gKDfgaz+8I8b6a +9E5kvaOofef25dHMqNEzyMfb8U46ISo1RPxYbvrc36hjezT88QbVe19P+Ff1u194H7E LXFP62V+WlNKzcsM233tSJu+7RfG2s/SOB+kU1qgsSrgMoeGkumI9KccwShJnQfPed+/ 0HrQ== X-Gm-Message-State: AGi0PuZWJVcIP1BNk7hTZcUgTpnQxpYyY42KpX5pMEjx2WywsOoGAAjV rXX4V991YKLm0t9Kywd27DGxyfYP X-Google-Smtp-Source: APiQypLcOElHDN0z0mu24guAy5zPNEt/jM2+j8T2BetNzO1RASU/YSl4od9EmaDpJ4hLJUp8F6kJNg== X-Received: by 2002:adf:fd0a:: with SMTP id e10mr15547840wrr.160.1586970482460; Wed, 15 Apr 2020 10:08:02 -0700 (PDT) Received: from ?IPv6:2a02:8109:98c0:1bc0:5e5f:67ff:fef4:ffd8? ([2a02:8109:98c0:1bc0:5e5f:67ff:fef4:ffd8]) by smtp.gmail.com with ESMTPSA id t8sm23968988wrq.88.2020.04.15.10.08.01 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 15 Apr 2020 10:08:01 -0700 (PDT) Subject: Re: svn commit: r359967 - head/usr.sbin/nologin To: rgrimes@freebsd.org Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202004151700.03FH0QMe041725@gndrsh.dnsmgr.net> From: Mateusz Piotrowski <0mp@FreeBSD.org> Message-ID: Date: Wed, 15 Apr 2020 19:08:14 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <202004151700.03FH0QMe041725@gndrsh.dnsmgr.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-Rspamd-Queue-Id: 492TM836Dsz46SL X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of mpp302@gmail.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=mpp302@gmail.com X-Spamd-Result: default: False [-3.08 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; DMARC_NA(0.00)[FreeBSD.org]; RCVD_TLS_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; RCVD_COUNT_THREE(0.00)[3]; IP_SCORE(-1.08)[ip: (-4.51), ipnet: 209.85.128.0/17(-0.40), asn: 15169(-0.43), country: US(-0.05)]; RCVD_IN_DNSWL_NONE(0.00)[49.221.85.209.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FORGED_SENDER(0.30)[0mp@FreeBSD.org,mpp302@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[49.221.85.209.rep.mailspike.net : 127.0.0.17]; MIME_TRACE(0.00)[0:+]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; FROM_NEQ_ENVFROM(0.00)[0mp@FreeBSD.org,mpp302@gmail.com] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 17:08:05 -0000 Hi, On 4/15/20 7:00 PM, Rodney W. Grimes wrote: >> Author: 0mp (doc,ports committer) >> Date: Wed Apr 15 13:13:46 2020 >> New Revision: 359967 >> URL: https://svnweb.freebsd.org/changeset/base/359967 >> >> Log: >> Document the exit status and the stdout message of nologin(8) >> >> Reviewed by: debdrup (earlier version) >> MFC after: 2 weeks >> Differential Revision: https://reviews.freebsd.org/D24196 >> >> Modified: >> head/usr.sbin/nologin/nologin.8 >> >> Modified: head/usr.sbin/nologin/nologin.8 ... >> +When executed, >> +.Nm >> +first writes about the login attempt to >> +.Xr syslog 3 >> +and then a displays a message that an account is not available. > This needs some wordsmithing, extra "a" needs removed. > > and then displays a message that an account is not available. Nice catch! I'll fix it right away, thanks a lot, Rodney. Cheers, Mateusz From owner-svn-src-head@freebsd.org Wed Apr 15 17:11:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3F6382BC628; Wed, 15 Apr 2020 17:11:45 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492TRP0dfGz46yB; Wed, 15 Apr 2020 17:11:45 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 111BB225F6; Wed, 15 Apr 2020 17:11:45 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FHBi8j074249; Wed, 15 Apr 2020 17:11:44 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FHBip1074248; Wed, 15 Apr 2020 17:11:44 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202004151711.03FHBip1074248@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Wed, 15 Apr 2020 17:11:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359977 - head/usr.sbin/nologin X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/usr.sbin/nologin X-SVN-Commit-Revision: 359977 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 17:11:45 -0000 Author: 0mp (doc,ports committer) Date: Wed Apr 15 17:11:44 2020 New Revision: 359977 URL: https://svnweb.freebsd.org/changeset/base/359977 Log: Fix a typo Reported by: rgrimes MFC with: 359967 Modified: head/usr.sbin/nologin/nologin.8 Modified: head/usr.sbin/nologin/nologin.8 ============================================================================== --- head/usr.sbin/nologin/nologin.8 Wed Apr 15 16:55:38 2020 (r359976) +++ head/usr.sbin/nologin/nologin.8 Wed Apr 15 17:11:44 2020 (r359977) @@ -46,7 +46,7 @@ When executed, .Nm first writes about the login attempt to .Xr syslog 3 -and then a displays a message that an account is not available. +and then displays a message that an account is not available. .Pp To disable all logins, investigate From owner-svn-src-head@freebsd.org Wed Apr 15 17:55:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 71D692BD76E; Wed, 15 Apr 2020 17:55:54 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492VQL1qpjz49DP; Wed, 15 Apr 2020 17:55:54 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f176.google.com (mail-qk1-f176.google.com [209.85.222.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 2E3FE18853; Wed, 15 Apr 2020 17:55:54 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f176.google.com with SMTP id s63so14118559qke.4; Wed, 15 Apr 2020 10:55:54 -0700 (PDT) X-Gm-Message-State: AGi0PuZ9anzeNQXiXsOsoewpdxyHhs5fp6gk7ImlBNSoaVsZbdWNo/SQ zG9rEVvB7GDYQEi16dJ39MiOY6z3mJReomRHKT8= X-Google-Smtp-Source: APiQypK5JuMHHpVpblBzqwscRefwLKUqezb7APZkI3p1dGyRbfDpQnKBKM+E9iU4dev18FjygrZn7VdT3hia7Ypjn5s= X-Received: by 2002:a37:6287:: with SMTP id w129mr27094840qkb.34.1586973353664; Wed, 15 Apr 2020 10:55:53 -0700 (PDT) MIME-Version: 1.0 References: <202004150014.03F0EpQt039761@repo.freebsd.org> In-Reply-To: <202004150014.03F0EpQt039761@repo.freebsd.org> From: Kyle Evans Date: Wed, 15 Apr 2020 12:55:40 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359945 - in head: lib/geom/eli sys/geom/eli To: John Baldwin Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 17:55:54 -0000 On Tue, Apr 14, 2020 at 7:15 PM John Baldwin wrote: > > Author: jhb > Date: Wed Apr 15 00:14:50 2020 > New Revision: 359945 > URL: https://svnweb.freebsd.org/changeset/base/359945 > > Log: > Remove support for geli(4) algorithms deprecated in r348206. > > This removes support for reading and writing volumes using the > following algorithms: > > - Triple DES > - Blowfish > - MD5 HMAC integrity > > In addition, this commit adds an explicit whitelist of supported > algorithms to give a better error message when an invalid or > unsupported algorithm is used by an existing volume. > > Reviewed by: cem > Sponsored by: Chelsio Communications > Differential Revision: https://reviews.freebsd.org/D24343 > > Modified: > head/lib/geom/eli/geli.8 > head/lib/geom/eli/geom_eli.c > head/sys/geom/eli/g_eli.c > head/sys/geom/eli/g_eli.h > head/sys/geom/eli/g_eli_crypto.c > head/sys/geom/eli/g_eli_ctl.c > > [... snip ...] > @@ -522,6 +506,36 @@ eli_metadata_dump(const struct g_eli_metadata *md) > printf(" MD5 hash: %s\n", str); > } > > +#ifdef _KERNEL > +static bool > +eli_metadata_crypto_supported(const struct g_eli_metadata *md) > +{ > + > + switch (md->md_ealgo) { > + case CRYPTO_NULL_CBC: > + case CRYPTO_AES_CBC: > + case CRYPTO_CAMELLIA_CBC: > + case CRYPTO_AES_XTS: > + break; > + default: > + return (false); > + } > + if (md->md_flags & G_ELI_FLAG_AUTH) { > + switch (md->md_aalgo) { > + case CRYPTO_SHA1_HMAC: > + case CRYPTO_RIPEMD160_HMAC: > + case CRYPTO_SHA2_256_HMAC: > + case CRYPTO_SHA2_384_HMAC: > + case CRYPTO_SHA2_512_HMAC: > + break; > + default: > + return (false); > + } > + } > + return (true); > +} > +#endif > + > static __inline u_int > g_eli_keylen(u_int algo, u_int keylen) > { > [... snip ...] eli_metadata_crypto_supported is defined here, but unused in most compilation units that include g_eli.h, resulting in some amount of noise: In file included from /usr/src/sys/geom/eli/g_eli_crypto.c:46: /usr/src/sys/geom/eli/g_eli.h:511:1: warning: unused function 'eli_metadata_crypto_supported' [-Wunused-function] eli_metadata_crypto_supported(const struct g_eli_metadata *md) (repeat for g_eli_hmac.c, g_eli_integrity.c, g_eli_key.c, g_eli_key_cache.c, g_eli_privacy.c, pkcs5v2.c) Given that it's probably not in danger of silently going away and not getting removed, any objection to marking it __unused to squelch the warnings? Thanks, Kyle Evans From owner-svn-src-head@freebsd.org Wed Apr 15 18:16:00 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5B1F02BDC31; Wed, 15 Apr 2020 18:16:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492VsX1vKDz4BNt; Wed, 15 Apr 2020 18:16:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3762D231B1; Wed, 15 Apr 2020 18:16:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FIG0wd013520; Wed, 15 Apr 2020 18:16:00 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FIFwFl013508; Wed, 15 Apr 2020 18:15:58 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004151815.03FIFwFl013508@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 15 Apr 2020 18:15:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359978 - in head: lib/libc/gen lib/libc/net lib/libc/rpc sys/dev/ocs_fc sys/net80211 X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in head: lib/libc/gen lib/libc/net lib/libc/rpc sys/dev/ocs_fc sys/net80211 X-SVN-Commit-Revision: 359978 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 18:16:00 -0000 Author: brooks Date: Wed Apr 15 18:15:58 2020 New Revision: 359978 URL: https://svnweb.freebsd.org/changeset/base/359978 Log: Fix -Wvoid-pointer-to-enum-cast warnings. This pattern is used in callbacks with void * data arguments and seems both relatively uncommon and relatively harmless. Silence the warning by casting through uintptr_t. This warning is on by default in Clang 11. Reviewed by: arichardson Obtained from: CheriBSD (partial) MFC after: 1 week Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24425 Modified: head/lib/libc/gen/getgrent.c head/lib/libc/gen/getpwent.c head/lib/libc/net/gethostnamadr.c head/lib/libc/net/getnetnamadr.c head/lib/libc/net/getprotoent.c head/lib/libc/net/getservent.c head/lib/libc/rpc/getrpcent.c head/sys/dev/ocs_fc/ocs_device.c head/sys/net80211/ieee80211_output.c Modified: head/lib/libc/gen/getgrent.c ============================================================================== --- head/lib/libc/gen/getgrent.c Wed Apr 15 17:11:44 2020 (r359977) +++ head/lib/libc/gen/getgrent.c Wed Apr 15 18:15:58 2020 (r359978) @@ -166,7 +166,7 @@ grp_id_func(char *buffer, size_t *buffer_size, va_list enum nss_lookup_type lookup_type; - lookup_type = (enum nss_lookup_type)cache_mdata; + lookup_type = (enum nss_lookup_type)(uintptr_t)cache_mdata; switch (lookup_type) { case nss_lt_name: name = va_arg(ap, char *); @@ -220,7 +220,7 @@ grp_marshal_func(char *buffer, size_t *buffer_size, vo size_t desired_size, size, mem_size; char *p, **mem; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; @@ -315,7 +315,7 @@ grp_unmarshal_func(char *buffer, size_t buffer_size, v char *p; char **mem; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; @@ -804,7 +804,7 @@ files_setgrent(void *retval, void *mdata, va_list ap) rv = files_getstate(&st); if (rv != 0) return (NS_UNAVAIL); - switch ((enum constants)mdata) { + switch ((enum constants)(uintptr_t)mdata) { case SETGRENT: stayopen = va_arg(ap, int); if (st->fp != NULL) @@ -841,7 +841,7 @@ files_group(void *retval, void *mdata, va_list ap) fresh = 0; name = NULL; gid = (gid_t)-1; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: name = va_arg(ap, const char *); @@ -1094,7 +1094,7 @@ nis_group(void *retval, void *mdata, va_list ap) name = NULL; gid = (gid_t)-1; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: name = va_arg(ap, const char *); @@ -1253,7 +1253,7 @@ compat_setgrent(void *retval, void *mdata, va_list ap) rv = compat_getstate(&st); if (rv != 0) return (NS_UNAVAIL); - switch ((enum constants)mdata) { + switch ((enum constants)(uintptr_t)mdata) { case SETGRENT: stayopen = va_arg(ap, int); if (st->fp != NULL) @@ -1322,7 +1322,7 @@ compat_group(void *retval, void *mdata, va_list ap) fresh = 0; name = NULL; gid = (gid_t)-1; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: name = va_arg(ap, const char *); Modified: head/lib/libc/gen/getpwent.c ============================================================================== --- head/lib/libc/gen/getpwent.c Wed Apr 15 17:11:44 2020 (r359977) +++ head/lib/libc/gen/getpwent.c Wed Apr 15 18:15:58 2020 (r359978) @@ -213,7 +213,7 @@ pwd_id_func(char *buffer, size_t *buffer_size, va_list int res = NS_UNAVAIL; enum nss_lookup_type lookup_type; - lookup_type = (enum nss_lookup_type)cache_mdata; + lookup_type = (enum nss_lookup_type)(uintptr_t)cache_mdata; switch (lookup_type) { case nss_lt_name: name = va_arg(ap, char *); @@ -267,7 +267,7 @@ pwd_marshal_func(char *buffer, size_t *buffer_size, vo size_t desired_size, size; char *p; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; @@ -370,7 +370,7 @@ pwd_unmarshal_func(char *buffer, size_t buffer_size, v char *p; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; @@ -764,7 +764,7 @@ files_setpwent(void *retval, void *mdata, va_list ap) rv = files_getstate(&st); if (rv != 0) return (NS_UNAVAIL); - switch ((enum constants)mdata) { + switch ((enum constants)(uintptr_t)mdata) { case SETPWENT: stayopen = va_arg(ap, int); st->keynum = 0; @@ -802,7 +802,7 @@ files_passwd(void *retval, void *mdata, va_list ap) name = NULL; uid = (uid_t)-1; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: name = va_arg(ap, const char *); @@ -1294,7 +1294,7 @@ nis_passwd(void *retval, void *mdata, va_list ap) name = NULL; uid = (uid_t)-1; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: name = va_arg(ap, const char *); @@ -1693,7 +1693,7 @@ compat_setpwent(void *retval, void *mdata, va_list ap) rv = compat_getstate(&st); if (rv != 0) return (NS_UNAVAIL); - switch ((enum constants)mdata) { + switch ((enum constants)(uintptr_t)mdata) { case SETPWENT: stayopen = va_arg(ap, int); st->keynum = 0; @@ -1740,7 +1740,7 @@ compat_passwd(void *retval, void *mdata, va_list ap) from_compat = 0; name = NULL; uid = (uid_t)-1; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: name = va_arg(ap, const char *); Modified: head/lib/libc/net/gethostnamadr.c ============================================================================== --- head/lib/libc/net/gethostnamadr.c Wed Apr 15 17:11:44 2020 (r359977) +++ head/lib/libc/net/gethostnamadr.c Wed Apr 15 18:15:58 2020 (r359978) @@ -177,7 +177,7 @@ host_id_func(char *buffer, size_t *buffer_size, va_lis res_options = statp->options & (RES_RECURSE | RES_DEFNAMES | RES_DNSRCH | RES_NOALIASES | RES_USE_INET6); - lookup_type = (enum nss_lookup_type)cache_mdata; + lookup_type = (enum nss_lookup_type)(uintptr_t)cache_mdata; switch (lookup_type) { case nss_lt_name: str = va_arg(ap, char *); @@ -268,7 +268,7 @@ host_marshal_func(char *buffer, size_t *buffer_size, v size_t desired_size, aliases_size, addr_size, size; char *p, **iter; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: str = va_arg(ap, char *); type = va_arg(ap, int); @@ -375,7 +375,7 @@ host_unmarshal_func(char *buffer, size_t buffer_size, char *orig_buf; size_t orig_buf_size; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: str = va_arg(ap, char *); type = va_arg(ap, int); Modified: head/lib/libc/net/getnetnamadr.c ============================================================================== --- head/lib/libc/net/getnetnamadr.c Wed Apr 15 17:11:44 2020 (r359977) +++ head/lib/libc/net/getnetnamadr.c Wed Apr 15 18:15:58 2020 (r359978) @@ -70,7 +70,7 @@ net_id_func(char *buffer, size_t *buffer_size, va_list enum nss_lookup_type lookup_type; int res = NS_UNAVAIL; - lookup_type = (enum nss_lookup_type)cache_mdata; + lookup_type = (enum nss_lookup_type)(uintptr_t)cache_mdata; switch (lookup_type) { case nss_lt_name: name = va_arg(ap, char *); @@ -133,7 +133,7 @@ net_marshal_func(char *buffer, size_t *buffer_size, vo char *p; char **alias; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; @@ -221,7 +221,7 @@ net_unmarshal_func(char *buffer, size_t buffer_size, v char *p; char **alias; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; Modified: head/lib/libc/net/getprotoent.c ============================================================================== --- head/lib/libc/net/getprotoent.c Wed Apr 15 17:11:44 2020 (r359977) +++ head/lib/libc/net/getprotoent.c Wed Apr 15 18:15:58 2020 (r359978) @@ -97,7 +97,7 @@ __proto_id_func(char *buffer, size_t *buffer_size, va_ enum nss_lookup_type lookup_type; int res = NS_UNAVAIL; - lookup_type = (enum nss_lookup_type)cache_mdata; + lookup_type = (enum nss_lookup_type)(uintptr_t)cache_mdata; switch (lookup_type) { case nss_lt_name: name = va_arg(ap, char *); @@ -155,7 +155,7 @@ __proto_marshal_func(char *buffer, size_t *buffer_size char *p; char **alias; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; @@ -241,7 +241,7 @@ __proto_unmarshal_func(char *buffer, size_t buffer_siz char *p; char **alias; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; Modified: head/lib/libc/net/getservent.c ============================================================================== --- head/lib/libc/net/getservent.c Wed Apr 15 17:11:44 2020 (r359977) +++ head/lib/libc/net/getservent.c Wed Apr 15 18:15:58 2020 (r359978) @@ -446,7 +446,7 @@ files_setservent(void *retval, void *mdata, va_list ap if (rv != 0) return (NS_UNAVAIL); - switch ((enum constants)mdata) { + switch ((enum constants)(uintptr_t)mdata) { case SETSERVENT: f = va_arg(ap,int); if (st->fp == NULL) @@ -509,7 +509,7 @@ db_servent(void *retval, void *mdata, va_list ap) name = NULL; proto = NULL; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: name = va_arg(ap, char *); @@ -626,7 +626,7 @@ db_setservent(void *retval, void *mdata, va_list ap) if (rv != 0) return (NS_UNAVAIL); - switch ((enum constants)mdata) { + switch ((enum constants)(uintptr_t)mdata) { case SETSERVENT: f = va_arg(ap, int); st->stayopen |= f; @@ -682,7 +682,7 @@ nis_servent(void *retval, void *mdata, va_list ap) name = NULL; proto = NULL; buf = NULL; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: name = va_arg(ap, char *); @@ -814,7 +814,7 @@ nis_setservent(void *result, void *mdata, va_list ap) if (rv != 0) return (NS_UNAVAIL); - switch ((enum constants)mdata) { + switch ((enum constants)(uintptr_t)mdata) { case SETSERVENT: case ENDSERVENT: free(st->yp_key); @@ -850,7 +850,7 @@ compat_setservent(void *retval, void *mdata, va_list a (void)files_setservent(retval, mdata, ap); - switch ((enum constants)mdata) { + switch ((enum constants)(uintptr_t)mdata) { case SETSERVENT: f = va_arg(ap,int); (void)nsdispatch(retval, compat_dtab, NSDB_SERVICES_COMPAT, @@ -879,7 +879,7 @@ serv_id_func(char *buffer, size_t *buffer_size, va_lis enum nss_lookup_type lookup_type; int res = NS_UNAVAIL; - lookup_type = (enum nss_lookup_type)cache_mdata; + lookup_type = (enum nss_lookup_type)(uintptr_t)cache_mdata; switch (lookup_type) { case nss_lt_name: name = va_arg(ap, char *); @@ -961,7 +961,7 @@ serv_marshal_func(char *buffer, size_t *buffer_size, v size_t size; size_t aliases_size; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); proto = va_arg(ap, char *); @@ -1058,7 +1058,7 @@ serv_unmarshal_func(char *buffer, size_t buffer_size, size_t orig_buf_size; int *ret_errno; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); proto = va_arg(ap, char *); Modified: head/lib/libc/rpc/getrpcent.c ============================================================================== --- head/lib/libc/rpc/getrpcent.c Wed Apr 15 17:11:44 2020 (r359977) +++ head/lib/libc/rpc/getrpcent.c Wed Apr 15 18:15:58 2020 (r359978) @@ -227,7 +227,7 @@ files_rpcent(void *retval, void *mdata, va_list ap) int stayopen; enum nss_lookup_type how; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: @@ -347,7 +347,7 @@ files_setrpcent(void *retval, void *mdata, va_list ap) if (rv != 0) return (NS_UNAVAIL); - switch ((enum constants)mdata) + switch ((enum constants)(uintptr_t)mdata) { case SETRPCENT: f = va_arg(ap,int); @@ -407,7 +407,7 @@ nis_rpcent(void *retval, void *mdata, va_list ap) enum nss_lookup_type how; int no_name_active; - how = (enum nss_lookup_type)mdata; + how = (enum nss_lookup_type)(uintptr_t)mdata; switch (how) { case nss_lt_name: @@ -584,7 +584,7 @@ nis_setrpcent(void *retval, void *mdata, va_list ap) if (rv != 0) return (NS_UNAVAIL); - switch ((enum constants)mdata) + switch ((enum constants)(uintptr_t)mdata) { case SETRPCENT: case ENDRPCENT: @@ -611,7 +611,7 @@ rpc_id_func(char *buffer, size_t *buffer_size, va_list enum nss_lookup_type lookup_type; int res = NS_UNAVAIL; - lookup_type = (enum nss_lookup_type)cache_mdata; + lookup_type = (enum nss_lookup_type)(uintptr_t)cache_mdata; switch (lookup_type) { case nss_lt_name: name = va_arg(ap, char *); @@ -668,7 +668,7 @@ rpc_marshal_func(char *buffer, size_t *buffer_size, vo char *p; char **alias; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; @@ -754,7 +754,7 @@ rpc_unmarshal_func(char *buffer, size_t buffer_size, v char *p; char **alias; - switch ((enum nss_lookup_type)cache_mdata) { + switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { case nss_lt_name: name = va_arg(ap, char *); break; Modified: head/sys/dev/ocs_fc/ocs_device.c ============================================================================== --- head/sys/dev/ocs_fc/ocs_device.c Wed Apr 15 17:11:44 2020 (r359977) +++ head/sys/dev/ocs_fc/ocs_device.c Wed Apr 15 18:15:58 2020 (r359978) @@ -1238,7 +1238,7 @@ __ocs_d_wait_topology_notify(ocs_sm_ctx_t *ctx, ocs_sm break; case OCS_EVT_SPORT_TOPOLOGY_NOTIFY: { - ocs_sport_topology_e topology = (ocs_sport_topology_e)arg; + ocs_sport_topology_e topology = (ocs_sport_topology_e)(uintptr_t)arg; ocs_assert(!node->sport->domain->attached, NULL); ocs_assert(node->send_ls_acc == OCS_NODE_SEND_LS_ACC_PLOGI, NULL); node_printf(node, "topology notification, topology=%d\n", topology); Modified: head/sys/net80211/ieee80211_output.c ============================================================================== --- head/sys/net80211/ieee80211_output.c Wed Apr 15 17:11:44 2020 (r359977) +++ head/sys/net80211/ieee80211_output.c Wed Apr 15 18:15:58 2020 (r359978) @@ -3247,7 +3247,7 @@ static void ieee80211_tx_mgt_cb(struct ieee80211_node *ni, void *arg, int status) { struct ieee80211vap *vap = ni->ni_vap; - enum ieee80211_state ostate = (enum ieee80211_state) arg; + enum ieee80211_state ostate = (enum ieee80211_state)(uintptr_t)arg; /* * Frame transmit completed; arrange timer callback. If From owner-svn-src-head@freebsd.org Wed Apr 15 18:24:30 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D1B5A2BDE84; Wed, 15 Apr 2020 18:24:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492W3L59JHz4BtC; Wed, 15 Apr 2020 18:24:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-164.local (unknown [IPv6:2601:648:8881:1e90:210f:6a88:db52:ac0b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 28D0018C07; Wed, 15 Apr 2020 18:24:30 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r359945 - in head: lib/geom/eli sys/geom/eli To: Kyle Evans Cc: src-committers , svn-src-all , svn-src-head References: <202004150014.03F0EpQt039761@repo.freebsd.org> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: Date: Wed, 15 Apr 2020 11:24:28 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 18:24:30 -0000 On 4/15/20 10:55 AM, Kyle Evans wrote: > On Tue, Apr 14, 2020 at 7:15 PM John Baldwin wrote: >> >> Author: jhb >> Date: Wed Apr 15 00:14:50 2020 >> New Revision: 359945 >> URL: https://svnweb.freebsd.org/changeset/base/359945 >> >> Log: >> Remove support for geli(4) algorithms deprecated in r348206. >> >> This removes support for reading and writing volumes using the >> following algorithms: >> >> - Triple DES >> - Blowfish >> - MD5 HMAC integrity >> >> In addition, this commit adds an explicit whitelist of supported >> algorithms to give a better error message when an invalid or >> unsupported algorithm is used by an existing volume. >> >> Reviewed by: cem >> Sponsored by: Chelsio Communications >> Differential Revision: https://reviews.freebsd.org/D24343 >> >> Modified: >> head/lib/geom/eli/geli.8 >> head/lib/geom/eli/geom_eli.c >> head/sys/geom/eli/g_eli.c >> head/sys/geom/eli/g_eli.h >> head/sys/geom/eli/g_eli_crypto.c >> head/sys/geom/eli/g_eli_ctl.c >> >> [... snip ...] >> @@ -522,6 +506,36 @@ eli_metadata_dump(const struct g_eli_metadata *md) >> printf(" MD5 hash: %s\n", str); >> } >> >> +#ifdef _KERNEL >> +static bool >> +eli_metadata_crypto_supported(const struct g_eli_metadata *md) >> +{ >> + >> + switch (md->md_ealgo) { >> + case CRYPTO_NULL_CBC: >> + case CRYPTO_AES_CBC: >> + case CRYPTO_CAMELLIA_CBC: >> + case CRYPTO_AES_XTS: >> + break; >> + default: >> + return (false); >> + } >> + if (md->md_flags & G_ELI_FLAG_AUTH) { >> + switch (md->md_aalgo) { >> + case CRYPTO_SHA1_HMAC: >> + case CRYPTO_RIPEMD160_HMAC: >> + case CRYPTO_SHA2_256_HMAC: >> + case CRYPTO_SHA2_384_HMAC: >> + case CRYPTO_SHA2_512_HMAC: >> + break; >> + default: >> + return (false); >> + } >> + } >> + return (true); >> +} >> +#endif >> + >> static __inline u_int >> g_eli_keylen(u_int algo, u_int keylen) >> { >> [... snip ...] > > eli_metadata_crypto_supported is defined here, but unused in most > compilation units that include g_eli.h, resulting in some amount of > noise: > > In file included from /usr/src/sys/geom/eli/g_eli_crypto.c:46: > /usr/src/sys/geom/eli/g_eli.h:511:1: warning: unused function > 'eli_metadata_crypto_supported' [-Wunused-function] > eli_metadata_crypto_supported(const struct g_eli_metadata *md) > > (repeat for g_eli_hmac.c, g_eli_integrity.c, g_eli_key.c, > g_eli_key_cache.c, g_eli_privacy.c, pkcs5v2.c) > > Given that it's probably not in danger of silently going away and not > getting removed, any objection to marking it __unused to squelch the warnings? Oh, rather, I should mark it __inline. There are several other functions in g_eli.h that are similarly not always used, but they are marked __inline which is how they avoid the warning. -- John Baldwin From owner-svn-src-head@freebsd.org Wed Apr 15 18:27:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0DB9A2BE2B6; Wed, 15 Apr 2020 18:27:29 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492W6m6JB9z4CFR; Wed, 15 Apr 2020 18:27:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CFFCE233A3; Wed, 15 Apr 2020 18:27:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FIRSI9019753; Wed, 15 Apr 2020 18:27:28 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FIRSTn019752; Wed, 15 Apr 2020 18:27:28 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004151827.03FIRSTn019752@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 15 Apr 2020 18:27:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359979 - head/sys/geom/eli X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/geom/eli X-SVN-Commit-Revision: 359979 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 18:27:29 -0000 Author: jhb Date: Wed Apr 15 18:27:28 2020 New Revision: 359979 URL: https://svnweb.freebsd.org/changeset/base/359979 Log: Mark eli_metadata_crypto_supported inline. This quiets warnings about it not being always used. Reported by: kevans Modified: head/sys/geom/eli/g_eli.h Modified: head/sys/geom/eli/g_eli.h ============================================================================== --- head/sys/geom/eli/g_eli.h Wed Apr 15 18:15:58 2020 (r359978) +++ head/sys/geom/eli/g_eli.h Wed Apr 15 18:27:28 2020 (r359979) @@ -507,7 +507,7 @@ eli_metadata_dump(const struct g_eli_metadata *md) } #ifdef _KERNEL -static bool +static __inline bool eli_metadata_crypto_supported(const struct g_eli_metadata *md) { From owner-svn-src-head@freebsd.org Wed Apr 15 18:32:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 51ECE2BE5D2; Wed, 15 Apr 2020 18:32:48 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492WDw1WYNz4Cjx; Wed, 15 Apr 2020 18:32:48 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 2606018D3D; Wed, 15 Apr 2020 18:32:48 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f180.google.com with SMTP id l25so18467646qkk.3; Wed, 15 Apr 2020 11:32:48 -0700 (PDT) X-Gm-Message-State: AGi0PuaakyaimJ3k8psWIOluY9PhoK0wSkFxqQH1861dVXyf2LjU6nhN 9627dpqUZiJIAPUzAcutQRIyaAv0j2ZMPxHaz30= X-Google-Smtp-Source: APiQypID4Si5SSG163CSoTFlj1rdFS4scpubW4Of5zfCJU1R51QFAeDKCUCYa6PUis6OnQ/sj2J58pmbQw6tRs6T1Ok= X-Received: by 2002:a37:a60c:: with SMTP id p12mr28172110qke.430.1586975567654; Wed, 15 Apr 2020 11:32:47 -0700 (PDT) MIME-Version: 1.0 References: <202004150014.03F0EpQt039761@repo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Wed, 15 Apr 2020 13:32:33 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359945 - in head: lib/geom/eli sys/geom/eli To: John Baldwin Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 18:32:48 -0000 On Wed, Apr 15, 2020 at 1:24 PM John Baldwin wrote: > > On 4/15/20 10:55 AM, Kyle Evans wrote: > > On Tue, Apr 14, 2020 at 7:15 PM John Baldwin wrote: > >> > >> Author: jhb > >> Date: Wed Apr 15 00:14:50 2020 > >> New Revision: 359945 > >> URL: https://svnweb.freebsd.org/changeset/base/359945 > >> > >> Log: > >> Remove support for geli(4) algorithms deprecated in r348206. > >> > >> This removes support for reading and writing volumes using the > >> following algorithms: > >> > >> - Triple DES > >> - Blowfish > >> - MD5 HMAC integrity > >> > >> In addition, this commit adds an explicit whitelist of supported > >> algorithms to give a better error message when an invalid or > >> unsupported algorithm is used by an existing volume. > >> > >> Reviewed by: cem > >> Sponsored by: Chelsio Communications > >> Differential Revision: https://reviews.freebsd.org/D24343 > >> > >> Modified: > >> head/lib/geom/eli/geli.8 > >> head/lib/geom/eli/geom_eli.c > >> head/sys/geom/eli/g_eli.c > >> head/sys/geom/eli/g_eli.h > >> head/sys/geom/eli/g_eli_crypto.c > >> head/sys/geom/eli/g_eli_ctl.c > >> > >> [... snip ...] > >> @@ -522,6 +506,36 @@ eli_metadata_dump(const struct g_eli_metadata *md) > >> printf(" MD5 hash: %s\n", str); > >> } > >> > >> +#ifdef _KERNEL > >> +static bool > >> +eli_metadata_crypto_supported(const struct g_eli_metadata *md) > >> +{ > >> + > >> + switch (md->md_ealgo) { > >> + case CRYPTO_NULL_CBC: > >> + case CRYPTO_AES_CBC: > >> + case CRYPTO_CAMELLIA_CBC: > >> + case CRYPTO_AES_XTS: > >> + break; > >> + default: > >> + return (false); > >> + } > >> + if (md->md_flags & G_ELI_FLAG_AUTH) { > >> + switch (md->md_aalgo) { > >> + case CRYPTO_SHA1_HMAC: > >> + case CRYPTO_RIPEMD160_HMAC: > >> + case CRYPTO_SHA2_256_HMAC: > >> + case CRYPTO_SHA2_384_HMAC: > >> + case CRYPTO_SHA2_512_HMAC: > >> + break; > >> + default: > >> + return (false); > >> + } > >> + } > >> + return (true); > >> +} > >> +#endif > >> + > >> static __inline u_int > >> g_eli_keylen(u_int algo, u_int keylen) > >> { > >> [... snip ...] > > > > eli_metadata_crypto_supported is defined here, but unused in most > > compilation units that include g_eli.h, resulting in some amount of > > noise: > > > > In file included from /usr/src/sys/geom/eli/g_eli_crypto.c:46: > > /usr/src/sys/geom/eli/g_eli.h:511:1: warning: unused function > > 'eli_metadata_crypto_supported' [-Wunused-function] > > eli_metadata_crypto_supported(const struct g_eli_metadata *md) > > > > (repeat for g_eli_hmac.c, g_eli_integrity.c, g_eli_key.c, > > g_eli_key_cache.c, g_eli_privacy.c, pkcs5v2.c) > > > > Given that it's probably not in danger of silently going away and not > > getting removed, any objection to marking it __unused to squelch the warnings? > > Oh, rather, I should mark it __inline. There are several other functions > in g_eli.h that are similarly not always used, but they are marked __inline > which is how they avoid the warning. > Works for me. =-) Thanks! From owner-svn-src-head@freebsd.org Wed Apr 15 18:39:13 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A286F2BE844; Wed, 15 Apr 2020 18:39:13 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492WNK3p0kz4D4b; Wed, 15 Apr 2020 18:39:13 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 78E282358F; Wed, 15 Apr 2020 18:39:13 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FIdDBP026072; Wed, 15 Apr 2020 18:39:13 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FIdDPJ026070; Wed, 15 Apr 2020 18:39:13 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004151839.03FIdDPJ026070@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Wed, 15 Apr 2020 18:39:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359980 - in head/sys: kern sys X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head/sys: kern sys X-SVN-Commit-Revision: 359980 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 18:39:13 -0000 Author: kevans Date: Wed Apr 15 18:39:12 2020 New Revision: 359980 URL: https://svnweb.freebsd.org/changeset/base/359980 Log: validate_uuid: absorb the rest of parse_uuid with a flags arg This makes the naming annoyance (validate_uuid vs. parse_uuid) less of an issue and centralizes all of the functionality into the new KPI while still making the extra validation optional. The end-result is all the same as far as hostuuid validation-only goes. Modified: head/sys/kern/kern_uuid.c head/sys/sys/uuid.h Modified: head/sys/kern/kern_uuid.c ============================================================================== --- head/sys/kern/kern_uuid.c Wed Apr 15 18:27:28 2020 (r359979) +++ head/sys/kern/kern_uuid.c Wed Apr 15 18:39:12 2020 (r359980) @@ -382,13 +382,21 @@ be_uuid_dec(void const *buf, struct uuid *uuid) } int -validate_uuid(const char *str, size_t size, struct uuid *uuid) +validate_uuid(const char *str, size_t size, struct uuid *uuid, int flags) { u_int c[11]; int n; - if (size == 0 || *str == '\0') + if (size == 0 || *str == '\0') { + /* An empty string may represent a nil UUID. */ + if ((flags & VUUIDF_EMPTYOK) != 0) { + if (uuid != NULL) + bzero(uuid, sizeof(*uuid)); + return (0); + } + return (EINVAL); + } /* The UUID string representation has a fixed length. */ if (size != 36) @@ -421,30 +429,21 @@ validate_uuid(const char *str, size_t size, struct uui uuid->node[n] = c[n + 5]; } - return (0); + if ((flags & VUUIDF_CHECKSEMANTICS) == 0) + return (0); + + return (((c[3] & 0x80) != 0x00 && /* variant 0? */ + (c[3] & 0xc0) != 0x80 && /* variant 1? */ + (c[3] & 0xe0) != 0xc0) ? EINVAL : 0); /* variant 2? */ } +#define VUUIDF_PARSEFLAGS (VUUIDF_EMPTYOK | VUUIDF_CHECKSEMANTICS) + int parse_uuid(const char *str, struct uuid *uuid) { - unsigned int clock_seq; - int ret; - /* An empty string represents a nil UUID. */ - if (*str == '\0') { - bzero(uuid, sizeof(*uuid)); - return (0); - } - - ret = validate_uuid(str, strlen(str), uuid); - if (ret != 0) - return (ret); - - /* Check semantics... */ - clock_seq = uuid->clock_seq_hi_and_reserved; - return (((clock_seq & 0x80) != 0x00 && /* variant 0? */ - (clock_seq & 0xc0) != 0x80 && /* variant 1? */ - (clock_seq & 0xe0) != 0xc0) ? EINVAL : 0); /* variant 2? */ + return (validate_uuid(str, strlen(str), uuid, VUUIDF_PARSEFLAGS)); } int Modified: head/sys/sys/uuid.h ============================================================================== --- head/sys/sys/uuid.h Wed Apr 15 18:27:28 2020 (r359979) +++ head/sys/sys/uuid.h Wed Apr 15 18:39:12 2020 (r359980) @@ -68,20 +68,18 @@ int printf_uuid(struct uuid *); int sbuf_printf_uuid(struct sbuf *, struct uuid *); /* - * There are a few key differences between validate_uuid and parse_uuid: - * - * - The struct uuid * parameter to validate_uuid is optional, so the caller - * can simply validate UUID format without doing anything with the result. - * - validate_uuid will not pass an empty string as a valid UUID, as it doesn't - * strictly meet the formatting requirements. parse_uuid will accept an - * empty string and zero out the uuid struct accordingly. - * - parse_uuid does additional semantic checks on clock_seq_hi_and_reserved - * that validate_uuid will not do. - * - * validate_uuid is intended to strictly check that it's a well-formed uuid. + * validate_uuid will, with no flags passed, validate only the format of the + * passed in UUID. Flags below are available to give it part of or all of the + * functionality that parse_uuid has traditionally had: acknowledging an empty + * string as valid, and checking the semantics of the UUID as well. */ -int validate_uuid(const char *, size_t, struct uuid *); +int validate_uuid(const char *, size_t, struct uuid *, int); int parse_uuid(const char *, struct uuid *); + +/* Flags to validate_uuid(). */ +#define VUUIDF_EMPTYOK 0x0001 +#define VUUIDF_CHECKSEMANTICS 0x0002 + int uuidcmp(const struct uuid *, const struct uuid *); void be_uuid_dec(void const *buf, struct uuid *uuid); From owner-svn-src-head@freebsd.org Wed Apr 15 18:43:45 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B6CB02BEA70; Wed, 15 Apr 2020 18:43:45 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492WTY4MMmz4DSJ; Wed, 15 Apr 2020 18:43:45 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 90AD52377D; Wed, 15 Apr 2020 18:43:45 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FIhjGk031976; Wed, 15 Apr 2020 18:43:45 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FIhi1W031973; Wed, 15 Apr 2020 18:43:44 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202004151843.03FIhi1W031973@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 15 Apr 2020 18:43:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359981 - head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Commit-Revision: 359981 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 18:43:45 -0000 Author: dim Date: Wed Apr 15 18:43:44 2020 New Revision: 359981 URL: https://svnweb.freebsd.org/changeset/base/359981 Log: Revert commit a9ad65a2b from llvm git (by Nemanja Ivanovic): [PowerPC] Change default for unaligned FP access for older subtargets This is a fix for https://bugs.llvm.org/show_bug.cgi?id=40554 Some CPU's trap to the kernel on unaligned floating point access and there are kernels that do not handle the interrupt. The program then fails with a SIGBUS according to the PR. This just switches the default for unaligned access to only allow it on recent server CPUs that are known to allow this. Differential revision: https://reviews.llvm.org/D71954 This upstream commit causes a compiler hang when building certain ports (e.g. security/nss, multimedia/x264) for powerpc64. The hang has been reported in https://bugs.llvm.org/show_bug.cgi?id=45186, but in the mean time it is more convenient to revert the commit. Requested by: jhibbits MFC after: 6 weeks X-MFC-With: 358851 Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td Wed Apr 15 18:39:12 2020 (r359980) +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td Wed Apr 15 18:43:44 2020 (r359981) @@ -166,9 +166,6 @@ def FeatureHTM : SubtargetFeature<"htm", "HasHTM", "tr "Enable Hardware Transactional Memory instructions">; def FeatureMFTB : SubtargetFeature<"", "FeatureMFTB", "true", "Implement mftb using the mfspr instruction">; -def FeatureUnalignedFloats : - SubtargetFeature<"allow-unaligned-fp-access", "AllowsUnalignedFPAccess", - "true", "CPU does not trap on unaligned FP access">; def FeaturePPCPreRASched: SubtargetFeature<"ppc-prera-sched", "UsePPCPreRASchedStrategy", "true", "Use PowerPC pre-RA scheduling strategy">; @@ -255,8 +252,7 @@ def ProcessorFeatures { FeatureExtDiv, FeatureMFTB, DeprecatedDST, - FeatureTwoConstNR, - FeatureUnalignedFloats]; + FeatureTwoConstNR]; list P7SpecificFeatures = []; list P7Features = !listconcat(P7InheritableFeatures, P7SpecificFeatures); Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp Wed Apr 15 18:39:12 2020 (r359980) +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp Wed Apr 15 18:43:44 2020 (r359981) @@ -15251,9 +15251,6 @@ bool PPCTargetLowering::allowsMisalignedMemoryAccesses if (!VT.isSimple()) return false; - if (VT.isFloatingPoint() && !Subtarget.allowsUnalignedFPAccess()) - return false; - if (VT.getSimpleVT().isVector()) { if (Subtarget.hasVSX()) { if (VT != MVT::v2f64 && VT != MVT::v2i64 && Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h Wed Apr 15 18:39:12 2020 (r359980) +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h Wed Apr 15 18:43:44 2020 (r359981) @@ -124,7 +124,6 @@ class PPCSubtarget : public PPCGenSubtargetInfo { (pro bool IsPPC4xx; bool IsPPC6xx; bool FeatureMFTB; - bool AllowsUnalignedFPAccess; bool DeprecatedDST; bool HasLazyResolverStubs; bool IsLittleEndian; @@ -275,7 +274,6 @@ class PPCSubtarget : public PPCGenSubtargetInfo { (pro bool vectorsUseTwoUnits() const {return VectorsUseTwoUnits; } bool isE500() const { return IsE500; } bool isFeatureMFTB() const { return FeatureMFTB; } - bool allowsUnalignedFPAccess() const { return AllowsUnalignedFPAccess; } bool isDeprecatedDST() const { return DeprecatedDST; } bool hasICBT() const { return HasICBT; } bool hasInvariantFunctionDescriptors() const { From owner-svn-src-head@freebsd.org Wed Apr 15 19:10:52 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D4F432BEF7D; Wed, 15 Apr 2020 19:10:52 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 492X4q6YGDz4FYH; Wed, 15 Apr 2020 19:10:51 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id OnQsjaKYO7t92OnQujUjo6; Wed, 15 Apr 2020 13:10:49 -0600 X-Authority-Analysis: v=2.3 cv=Os7UNx3t c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=cl8xLZFz6L8A:10 a=6I5d2MoRAAAA:8 a=Twlkf-z8AAAA:8 a=YxBL1-UpAAAA:8 a=EkcXrb_YAAAA:8 a=ecL7gJOssGGFj1JnKDIA:9 a=CjuIK1q_8ugA:10 a=IjZwj45LgO3ly-622nXo:22 a=-74SuR6ZdpOK_LpdRCUo:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=LK5xJRSDVpKd5WXXoEvA:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 88CE21971; Wed, 15 Apr 2020 12:10:45 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id 03FJAin8009232; Wed, 15 Apr 2020 12:10:44 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id 03FJAiZa009229; Wed, 15 Apr 2020 12:10:44 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <202004151910.03FJAiZa009229@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: Dimitry Andric cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r359981 - head/contrib/llvm-project/llvm/lib/Target/PowerPC In-reply-to: <202004151843.03FIhi1W031973@repo.freebsd.org> References: <202004151843.03FIhi1W031973@repo.freebsd.org> Comments: In-reply-to Dimitry Andric message dated "Wed, 15 Apr 2020 18:43:44 -0000." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 15 Apr 2020 12:10:44 -0700 X-CMAE-Envelope: MS4wfIwZ5+xSNYp7wVGHI78unSbZA2JSS7W5I5yamfuHKzeL8GheyuoWsuZ6Rz35YgC9i3q4cV1k7vKdcHSDfUUDN6fZO+dcaJ1lQC49TM1xK/4rL24bL/xv GnA9Gpew4wYqdjmrKyeXmqxOVaGLhghPUBbHo6T4dxvG9WT2Llyo11mtcjLl1bUB1MvJ+bTxjiAVru+/qyyg5x15hAQKpb6U00FOEa5pT0rfNXPZ+AE3mCk9 8t+P4ctWkp1LVg0I1C3DWrSlpWarfRiNRKtzNtocsZw/LkdcY2wDU+VABeT9bMqm X-Rspamd-Queue-Id: 492X4q6YGDz4FYH X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 19:10:52 -0000 In message <202004151843.03FIhi1W031973@repo.freebsd.org>, Dimitry Andric write s: > Author: dim > Date: Wed Apr 15 18:43:44 2020 > New Revision: 359981 > URL: https://svnweb.freebsd.org/changeset/base/359981 > > Log: > Revert commit a9ad65a2b from llvm git (by Nemanja Ivanovic): > > [PowerPC] Change default for unaligned FP access for older subtargets > > This is a fix for https://bugs.llvm.org/show_bug.cgi?id=40554 > > Some CPU's trap to the kernel on unaligned floating point access and > there are kernels that do not handle the interrupt. The program then > fails with a SIGBUS according to the PR. This just switches the > default for unaligned access to only allow it on recent server CPUs > that are known to allow this. > > Differential revision: https://reviews.llvm.org/D71954 > > This upstream commit causes a compiler hang when building certain ports > (e.g. security/nss, multimedia/x264) for powerpc64. The hang has been > reported in https://bugs.llvm.org/show_bug.cgi?id=45186, but in the mean > time it is more convenient to revert the commit. > > Requested by: jhibbits > MFC after: 6 weeks > X-MFC-With: 358851 > > Modified: > head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td > head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp > head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h > > Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td > ============================================================================= > = > --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td Wed Apr 15 18:3 > 9:12 2020 (r359980) > +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPC.td Wed Apr 15 18:4 > 3:44 2020 (r359981) > @@ -166,9 +166,6 @@ def FeatureHTM : SubtargetFeature<"htm", "HasHTM", "tr > "Enable Hardware Transactional Memory inst > ructions">; > def FeatureMFTB : SubtargetFeature<"", "FeatureMFTB", "true", > "Implement mftb using the mfspr inst > ruction">; > -def FeatureUnalignedFloats : > - SubtargetFeature<"allow-unaligned-fp-access", "AllowsUnalignedFPAccess", > - "true", "CPU does not trap on unaligned FP access">; > def FeaturePPCPreRASched: > SubtargetFeature<"ppc-prera-sched", "UsePPCPreRASchedStrategy", "true", > "Use PowerPC pre-RA scheduling strategy">; > @@ -255,8 +252,7 @@ def ProcessorFeatures { > FeatureExtDiv, > FeatureMFTB, > DeprecatedDST, > - FeatureTwoConstNR, > - FeatureUnalignedFloats]; > + FeatureTwoConstNR]; > list P7SpecificFeatures = []; > list P7Features = > !listconcat(P7InheritableFeatures, P7SpecificFeatures); > > Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.c > pp > ============================================================================= > = > --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp > Wed Apr 15 18:39:12 2020 (r359980) > +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp > Wed Apr 15 18:43:44 2020 (r359981) > @@ -15251,9 +15251,6 @@ bool PPCTargetLowering::allowsMisalignedMemoryAccesse > s > if (!VT.isSimple()) > return false; > > - if (VT.isFloatingPoint() && !Subtarget.allowsUnalignedFPAccess()) > - return false; > - > if (VT.getSimpleVT().isVector()) { > if (Subtarget.hasVSX()) { > if (VT != MVT::v2f64 && VT != MVT::v2i64 && > > Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h > ============================================================================= > = > --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h Wed Apr > 15 18:39:12 2020 (r359980) > +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.h Wed Apr > 15 18:43:44 2020 (r359981) > @@ -124,7 +124,6 @@ class PPCSubtarget : public PPCGenSubtargetInfo { (pro > bool IsPPC4xx; > bool IsPPC6xx; > bool FeatureMFTB; > - bool AllowsUnalignedFPAccess; > bool DeprecatedDST; > bool HasLazyResolverStubs; > bool IsLittleEndian; > @@ -275,7 +274,6 @@ class PPCSubtarget : public PPCGenSubtargetInfo { (pro > bool vectorsUseTwoUnits() const {return VectorsUseTwoUnits; } > bool isE500() const { return IsE500; } > bool isFeatureMFTB() const { return FeatureMFTB; } > - bool allowsUnalignedFPAccess() const { return AllowsUnalignedFPAccess; } > bool isDeprecatedDST() const { return DeprecatedDST; } > bool hasICBT() const { return HasICBT; } > bool hasInvariantFunctionDescriptors() const { > I'm seeing this on amd64: --- Target/PowerPC/PPCSubtarget.o --- /opt/src/svn-current/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarg et.cpp:103:3: error: use of undeclared identifier 'AllowsUnalignedFPAccess' AllowsUnalignedFPAccess = false; ^ AllowsUnalignedFPAccess reference should be removed as well. -- Cheers, Cy Schubert FreeBSD UNIX: Web: https://FreeBSD.org NTP: Web: https://nwtime.org The need of the many outweighs the greed of the few. From owner-svn-src-head@freebsd.org Wed Apr 15 19:23:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 40DE32BF502; Wed, 15 Apr 2020 19:23:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492XMt0zRLz4Gfk; Wed, 15 Apr 2020 19:23:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1CA3323FAD; Wed, 15 Apr 2020 19:23:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FJNrTs057213; Wed, 15 Apr 2020 19:23:53 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FJNr0T057212; Wed, 15 Apr 2020 19:23:53 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004151923.03FJNr0T057212@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 15 Apr 2020 19:23:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359982 - head/sys/dev/cxgbe/tom X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/dev/cxgbe/tom X-SVN-Commit-Revision: 359982 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 19:23:54 -0000 Author: jhb Date: Wed Apr 15 19:23:53 2020 New Revision: 359982 URL: https://svnweb.freebsd.org/changeset/base/359982 Log: Clear CPL_GET_TCB_RPL handler on module unload. This fixes a panic when unloading and reloading t4_tom.ko since the old pointer is still stored when t4_tom_load tries to set it. Reviewed by: np Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24358 Modified: head/sys/dev/cxgbe/tom/t4_tom.c Modified: head/sys/dev/cxgbe/tom/t4_tom.c ============================================================================== --- head/sys/dev/cxgbe/tom/t4_tom.c Wed Apr 15 18:43:44 2020 (r359981) +++ head/sys/dev/cxgbe/tom/t4_tom.c Wed Apr 15 19:23:53 2020 (r359982) @@ -1895,6 +1895,7 @@ t4_tom_mod_unload(void) t4_uninit_listen_cpl_handlers(); t4_uninit_cpl_io_handlers(); t4_register_shared_cpl_handler(CPL_L2T_WRITE_RPL, NULL, CPL_COOKIE_TOM); + t4_register_cpl_handler(CPL_GET_TCB_RPL, NULL); return (0); } From owner-svn-src-head@freebsd.org Wed Apr 15 19:28:52 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3BA042BF61E; Wed, 15 Apr 2020 19:28:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492XTc0qMzz4GwV; Wed, 15 Apr 2020 19:28:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 175DC23FBB; Wed, 15 Apr 2020 19:28:52 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FJSpsR057640; Wed, 15 Apr 2020 19:28:51 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FJSpUU057637; Wed, 15 Apr 2020 19:28:51 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004151928.03FJSpUU057637@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 15 Apr 2020 19:28:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359983 - head/sys/dev/cxgbe/tom X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/dev/cxgbe/tom X-SVN-Commit-Revision: 359983 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 19:28:52 -0000 Author: jhb Date: Wed Apr 15 19:28:51 2020 New Revision: 359983 URL: https://svnweb.freebsd.org/changeset/base/359983 Log: Set inp_flowid's for TOE connections. KTLS uses the flowid to distribute software encryption tasks among its pool of worker threads. Without this change, all software KTLS requests for TOE sockets ended up on the first worker thread. Note that the flowid for TOE sockets created via connect() is not a hash of the 4-tuple, but is instead the id of the TOE pcb (tid). The flowid of TOE sockets created from TOE listen sockets do use the 4-tuple RSS hash as the flowid since the firmware provides the hash in the message containing the original SYN. Reviewed by: np (earlier version) Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24348 Modified: head/sys/dev/cxgbe/tom/t4_connect.c head/sys/dev/cxgbe/tom/t4_listen.c head/sys/dev/cxgbe/tom/t4_tom.h Modified: head/sys/dev/cxgbe/tom/t4_connect.c ============================================================================== --- head/sys/dev/cxgbe/tom/t4_connect.c Wed Apr 15 19:23:53 2020 (r359982) +++ head/sys/dev/cxgbe/tom/t4_connect.c Wed Apr 15 19:28:51 2020 (r359983) @@ -101,6 +101,8 @@ do_act_establish(struct sge_iq *iq, const struct rss_h make_established(toep, be32toh(cpl->snd_isn) - 1, be32toh(cpl->rcv_isn) - 1, cpl->tcp_opt); + inp->inp_flowtype = M_HASHTYPE_OPAQUE; + inp->inp_flowid = tid; if (ulp_mode(toep) == ULP_MODE_TLS) tls_establish(toep); Modified: head/sys/dev/cxgbe/tom/t4_listen.c ============================================================================== --- head/sys/dev/cxgbe/tom/t4_listen.c Wed Apr 15 19:23:53 2020 (r359982) +++ head/sys/dev/cxgbe/tom/t4_listen.c Wed Apr 15 19:28:51 2020 (r359983) @@ -946,9 +946,7 @@ t4_offload_socket(struct toedev *tod, void *arg, struc { struct adapter *sc = tod->tod_softc; struct synq_entry *synqe = arg; -#ifdef INVARIANTS struct inpcb *inp = sotoinpcb(so); -#endif struct toepcb *toep = synqe->toep; NET_EPOCH_ASSERT(); /* prevents bad race with accept() */ @@ -962,6 +960,9 @@ t4_offload_socket(struct toedev *tod, void *arg, struc toep->flags |= TPF_CPL_PENDING; update_tid(sc, synqe->tid, toep); synqe->flags |= TPF_SYNQE_EXPANDED; + inp->inp_flowtype = (inp->inp_vflag & INP_IPV6) ? + M_HASHTYPE_RSS_TCP_IPV6 : M_HASHTYPE_RSS_TCP_IPV4; + inp->inp_flowid = synqe->rss_hash; } static void @@ -1299,6 +1300,8 @@ found: NET_EPOCH_EXIT(et); REJECT_PASS_ACCEPT_REQ(true); } + MPASS(rss->hash_type == RSS_HASH_TCP); + synqe->rss_hash = be32toh(rss->hash_val); atomic_store_int(&synqe->ok_to_respond, 0); init_conn_params(vi, &settings, &inc, so, &cpl->tcpopt, e->idx, Modified: head/sys/dev/cxgbe/tom/t4_tom.h ============================================================================== --- head/sys/dev/cxgbe/tom/t4_tom.h Wed Apr 15 19:23:53 2020 (r359982) +++ head/sys/dev/cxgbe/tom/t4_tom.h Wed Apr 15 19:28:51 2020 (r359983) @@ -242,6 +242,7 @@ struct synq_entry { uint32_t iss; uint32_t irs; uint32_t ts; + uint32_t rss_hash; __be16 tcp_opt; /* from cpl_pass_establish */ struct toepcb *toep; From owner-svn-src-head@freebsd.org Wed Apr 15 19:33:43 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5B5792BF842; Wed, 15 Apr 2020 19:33:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492XbC1lHXz4HL7; Wed, 15 Apr 2020 19:33:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3740B2417F; Wed, 15 Apr 2020 19:33:43 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FJXhmO063791; Wed, 15 Apr 2020 19:33:43 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FJXhQY063790; Wed, 15 Apr 2020 19:33:43 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004151933.03FJXhQY063790@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 15 Apr 2020 19:33:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359984 - head X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head X-SVN-Commit-Revision: 359984 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 19:33:43 -0000 Author: jhb Date: Wed Apr 15 19:33:42 2020 New Revision: 359984 URL: https://svnweb.freebsd.org/changeset/base/359984 Log: Document removal of deprecated algorithms from geli(4). Modified: head/RELNOTES Modified: head/RELNOTES ============================================================================== --- head/RELNOTES Wed Apr 15 19:28:51 2020 (r359983) +++ head/RELNOTES Wed Apr 15 19:33:42 2020 (r359984) @@ -10,6 +10,10 @@ newline. Entries should be separated by a newline. Changes to this file should not be MFCed. +r359945: + Remove support for Triple DES, Blowfish, and MD5 HMAC from + geli(4). + r359786-r359787: Remove support for DES, Triple DES, and RC4 from in-kernel GSS authentication. From owner-svn-src-head@freebsd.org Wed Apr 15 20:20:00 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B3EDD2C0E63; Wed, 15 Apr 2020 20:20:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492Ycc2L8Sz4Ln3; Wed, 15 Apr 2020 20:20:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4B2FD24A32; Wed, 15 Apr 2020 20:20:00 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FKK0E6089659; Wed, 15 Apr 2020 20:20:00 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FKK0Pm089658; Wed, 15 Apr 2020 20:20:00 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004152020.03FKK0Pm089658@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 15 Apr 2020 20:20:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359986 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 359986 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 20:20:00 -0000 Author: brooks Date: Wed Apr 15 20:19:59 2020 New Revision: 359986 URL: https://svnweb.freebsd.org/changeset/base/359986 Log: Introduce an AUXARGS_ENTRY_PTR() macro. As the name implys, it uses the a_ptr member of the auxarg entry (except in compat32 where it uses a_val). This is more correct and required for systems where a_val is not the same size or hardware type as a_ptr (e.g. CHERI). This is a prepratory commit for D24407. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Modified: head/sys/sys/imgact_elf.h Modified: head/sys/sys/imgact_elf.h ============================================================================== --- head/sys/sys/imgact_elf.h Wed Apr 15 19:47:19 2020 (r359985) +++ head/sys/sys/imgact_elf.h Wed Apr 15 20:19:59 2020 (r359986) @@ -39,6 +39,13 @@ #define AUXARGS_ENTRY(pos, id, val) \ {(pos)->a_type = (id); (pos)->a_un.a_val = (val); (pos)++;} +#if (defined(__LP64__) && __ELF_WORD_SIZE == 32) +#define AUXARGS_ENTRY_PTR(pos, id, ptr) \ + {(pos)->a_type = (id); (pos)->a_un.a_val = (uintptr_t)(ptr); (pos)++;} +#else +#define AUXARGS_ENTRY_PTR(pos, id, ptr) \ + {(pos)->a_type = (id); (pos)->a_un.a_ptr = (ptr); (pos)++;} +#endif struct image_params; struct thread; From owner-svn-src-head@freebsd.org Wed Apr 15 20:21:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 506992C1023; Wed, 15 Apr 2020 20:21:32 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492YfN1MSxz4Lyt; Wed, 15 Apr 2020 20:21:32 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2A0DB24BA1; Wed, 15 Apr 2020 20:21:32 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FKLWfG090542; Wed, 15 Apr 2020 20:21:32 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FKLU0u090535; Wed, 15 Apr 2020 20:21:30 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004152021.03FKLU0u090535@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 15 Apr 2020 20:21:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359987 - in head/sys: amd64/ia32 amd64/linux32 compat/freebsd32 kern sys X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in head/sys: amd64/ia32 amd64/linux32 compat/freebsd32 kern sys X-SVN-Commit-Revision: 359987 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 20:21:32 -0000 Author: brooks Date: Wed Apr 15 20:21:30 2020 New Revision: 359987 URL: https://svnweb.freebsd.org/changeset/base/359987 Log: Make ps_strings in struct image_params into a pointer. This is a prepratory commit for D24407. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Modified: head/sys/amd64/ia32/ia32_signal.c head/sys/amd64/linux32/linux32_sysvec.c head/sys/compat/freebsd32/freebsd32_misc.c head/sys/kern/imgact_aout.c head/sys/kern/kern_exec.c head/sys/sys/imgact.h Modified: head/sys/amd64/ia32/ia32_signal.c ============================================================================== --- head/sys/amd64/ia32/ia32_signal.c Wed Apr 15 20:19:59 2020 (r359986) +++ head/sys/amd64/ia32/ia32_signal.c Wed Apr 15 20:21:30 2020 (r359987) @@ -961,7 +961,7 @@ ia32_setregs(struct thread *td, struct image_params *i regs->tf_rflags = PSL_USER | saved_rflags; regs->tf_ss = _udatasel; regs->tf_cs = _ucode32sel; - regs->tf_rbx = imgp->ps_strings; + regs->tf_rbx = (register_t)imgp->ps_strings; regs->tf_ds = _udatasel; regs->tf_es = _udatasel; regs->tf_fs = _ufssel; Modified: head/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- head/sys/amd64/linux32/linux32_sysvec.c Wed Apr 15 20:19:59 2020 (r359986) +++ head/sys/amd64/linux32/linux32_sysvec.c Wed Apr 15 20:21:30 2020 (r359987) @@ -708,7 +708,7 @@ linux_exec_setregs(struct thread *td, struct image_par regs->tf_ss = _udatasel; regs->tf_flags = TF_HASSEGS; regs->tf_cs = _ucode32sel; - regs->tf_rbx = imgp->ps_strings; + regs->tf_rbx = (register_t)imgp->ps_strings; fpstate_drop(td); Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Wed Apr 15 20:19:59 2020 (r359986) +++ head/sys/compat/freebsd32/freebsd32_misc.c Wed Apr 15 20:21:30 2020 (r359987) @@ -3137,6 +3137,7 @@ freebsd32_copyout_strings(struct image_params *imgp, u execpath_len = 0; arginfo = (struct freebsd32_ps_strings *)curproc->p_sysent-> sv_psstrings; + imgp->ps_strings = arginfo; if (imgp->proc->p_sysent->sv_sigcode_base == 0) szsigcode = *(imgp->proc->p_sysent->sv_szsigcode); else Modified: head/sys/kern/imgact_aout.c ============================================================================== --- head/sys/kern/imgact_aout.c Wed Apr 15 20:19:59 2020 (r359986) +++ head/sys/kern/imgact_aout.c Wed Apr 15 20:21:30 2020 (r359987) @@ -200,7 +200,7 @@ exec_aout_imgact(struct image_params *imgp) file_offset = 0; /* Pass PS_STRINGS for BSD/OS binaries only. */ if (N_GETMID(*a_out) == MID_ZERO) - imgp->ps_strings = aout_sysvec.sv_psstrings; + imgp->ps_strings = (void *)aout_sysvec.sv_psstrings; break; default: /* NetBSD compatibility */ Modified: head/sys/kern/kern_exec.c ============================================================================== --- head/sys/kern/kern_exec.c Wed Apr 15 20:19:59 2020 (r359986) +++ head/sys/kern/kern_exec.c Wed Apr 15 20:21:30 2020 (r359987) @@ -1546,6 +1546,7 @@ exec_copyout_strings(struct image_params *imgp, uintpt p = imgp->proc; szsigcode = 0; arginfo = (struct ps_strings *)p->p_sysent->sv_psstrings; + imgp->ps_strings = arginfo; if (p->p_sysent->sv_sigcode_base == 0) { if (p->p_sysent->sv_szsigcode != NULL) szsigcode = *(p->p_sysent->sv_szsigcode); Modified: head/sys/sys/imgact.h ============================================================================== --- head/sys/sys/imgact.h Wed Apr 15 20:19:59 2020 (r359986) +++ head/sys/sys/imgact.h Wed Apr 15 20:21:30 2020 (r359987) @@ -75,7 +75,7 @@ struct image_params { char *interpreter_name; /* name of the interpreter */ void *auxargs; /* ELF Auxinfo structure pointer */ struct sf_buf *firstpage; /* first page that we mapped */ - unsigned long ps_strings; /* PS_STRINGS for BSD/OS binaries */ + void *ps_strings; /* pointer to ps_string (user space) */ struct image_args *args; /* system call arguments */ struct sysentvec *sysent; /* system entry vector */ char *execpath; From owner-svn-src-head@freebsd.org Wed Apr 15 20:23:56 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A283B2C1383; Wed, 15 Apr 2020 20:23:56 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492Yj83lrqz4McJ; Wed, 15 Apr 2020 20:23:56 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7C17D24C03; Wed, 15 Apr 2020 20:23:56 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FKNula095498; Wed, 15 Apr 2020 20:23:56 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FKNttZ095493; Wed, 15 Apr 2020 20:23:55 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004152023.03FKNttZ095493@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 15 Apr 2020 20:23:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359988 - in head/sys: compat/freebsd32 kern sys X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in head/sys: compat/freebsd32 kern sys X-SVN-Commit-Revision: 359988 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 20:23:56 -0000 Author: brooks Date: Wed Apr 15 20:23:55 2020 New Revision: 359988 URL: https://svnweb.freebsd.org/changeset/base/359988 Log: Export argc, argv, envc, envv, and ps_strings in auxargs. This simplifies discovery of these values, potentially with reducing the number of syscalls we need to make at runtime. Longer term, we wish to convert the startup process to pass an auxargs pointer to _start() and use that rather than walking off the end of envv. This is cleaner, more C-friendly, and for systems with strong bounds (e.g. CHERI) necessary. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24407 Modified: head/sys/compat/freebsd32/freebsd32_misc.c head/sys/kern/imgact_elf.c head/sys/kern/kern_exec.c head/sys/sys/elf_common.h head/sys/sys/imgact.h Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Wed Apr 15 20:21:30 2020 (r359987) +++ head/sys/compat/freebsd32/freebsd32_misc.c Wed Apr 15 20:23:55 2020 (r359988) @@ -3237,6 +3237,7 @@ freebsd32_copyout_strings(struct image_params *imgp, u /* * Fill in "ps_strings" struct for ps, w, etc. */ + imgp->argv = vectp; if (suword32(&arginfo->ps_argvstr, (u_int32_t)(intptr_t)vectp) != 0 || suword32(&arginfo->ps_nargvstr, argc) != 0) return (EFAULT); @@ -3256,6 +3257,7 @@ freebsd32_copyout_strings(struct image_params *imgp, u if (suword32(vectp++, 0) != 0) return (EFAULT); + imgp->envv = vectp; if (suword32(&arginfo->ps_envstr, (u_int32_t)(intptr_t)vectp) != 0 || suword32(&arginfo->ps_nenvstr, envc) != 0) return (EFAULT); Modified: head/sys/kern/imgact_elf.c ============================================================================== --- head/sys/kern/imgact_elf.c Wed Apr 15 20:21:30 2020 (r359987) +++ head/sys/kern/imgact_elf.c Wed Apr 15 20:23:55 2020 (r359988) @@ -1374,6 +1374,11 @@ __elfN(freebsd_copyout_auxargs)(struct image_params *i AUXARGS_ENTRY(pos, AT_HWCAP2, *imgp->sysent->sv_hwcap2); AUXARGS_ENTRY(pos, AT_BSDFLAGS, __elfN(sigfastblock) ? ELF_BSDF_SIGFASTBLK : 0); + AUXARGS_ENTRY(pos, AT_ARGC, imgp->args->argc); + AUXARGS_ENTRY_PTR(pos, AT_ARGV, imgp->argv); + AUXARGS_ENTRY(pos, AT_ENVC, imgp->args->envc); + AUXARGS_ENTRY_PTR(pos, AT_ENVV, imgp->envv); + AUXARGS_ENTRY_PTR(pos, AT_PS_STRINGS, imgp->ps_strings); AUXARGS_ENTRY(pos, AT_NULL, 0); free(imgp->auxargs, M_TEMP); Modified: head/sys/kern/kern_exec.c ============================================================================== --- head/sys/kern/kern_exec.c Wed Apr 15 20:21:30 2020 (r359987) +++ head/sys/kern/kern_exec.c Wed Apr 15 20:23:55 2020 (r359988) @@ -1646,6 +1646,7 @@ exec_copyout_strings(struct image_params *imgp, uintpt /* * Fill in "ps_strings" struct for ps, w, etc. */ + imgp->argv = vectp; if (suword(&arginfo->ps_argvstr, (long)(intptr_t)vectp) != 0 || suword32(&arginfo->ps_nargvstr, argc) != 0) return (EFAULT); @@ -1665,6 +1666,7 @@ exec_copyout_strings(struct image_params *imgp, uintpt if (suword(vectp++, 0) != 0) return (EFAULT); + imgp->envv = vectp; if (suword(&arginfo->ps_envstr, (long)(intptr_t)vectp) != 0 || suword32(&arginfo->ps_nenvstr, envc) != 0) return (EFAULT); Modified: head/sys/sys/elf_common.h ============================================================================== --- head/sys/sys/elf_common.h Wed Apr 15 20:21:30 2020 (r359987) +++ head/sys/sys/elf_common.h Wed Apr 15 20:23:55 2020 (r359988) @@ -956,8 +956,13 @@ typedef struct { #define AT_HWCAP 25 /* CPU feature flags. */ #define AT_HWCAP2 26 /* CPU feature flags 2. */ #define AT_BSDFLAGS 27 /* ELF BSD Flags. */ +#define AT_ARGC 28 /* Argument count */ +#define AT_ARGV 29 /* Argument vector */ +#define AT_ENVC 30 /* Environment count */ +#define AT_ENVV 31 /* Environment vector */ +#define AT_PS_STRINGS 32 /* struct ps_strings */ -#define AT_COUNT 28 /* Count of defined aux entry types. */ +#define AT_COUNT 33 /* Count of defined aux entry types. */ /* * Relocation types. Modified: head/sys/sys/imgact.h ============================================================================== --- head/sys/sys/imgact.h Wed Apr 15 20:21:30 2020 (r359987) +++ head/sys/sys/imgact.h Wed Apr 15 20:23:55 2020 (r359988) @@ -78,6 +78,8 @@ struct image_params { void *ps_strings; /* pointer to ps_string (user space) */ struct image_args *args; /* system call arguments */ struct sysentvec *sysent; /* system entry vector */ + void *argv; /* pointer to argv (user space) */ + void *envv; /* pointer to envv (user space) */ char *execpath; unsigned long execpathp; char *freepath; From owner-svn-src-head@freebsd.org Wed Apr 15 20:25:39 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0E8FC2C147D; Wed, 15 Apr 2020 20:25:39 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492Yl66f1Yz4Mm2; Wed, 15 Apr 2020 20:25:38 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DF1C724C08; Wed, 15 Apr 2020 20:25:38 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FKPcWC095649; Wed, 15 Apr 2020 20:25:38 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FKPcg1095648; Wed, 15 Apr 2020 20:25:38 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004152025.03FKPcg1095648@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 15 Apr 2020 20:25:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359989 - head/usr.bin/procstat X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: head/usr.bin/procstat X-SVN-Commit-Revision: 359989 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 20:25:39 -0000 Author: brooks Date: Wed Apr 15 20:25:38 2020 New Revision: 359989 URL: https://svnweb.freebsd.org/changeset/base/359989 Log: Add procstat support for AT_ flags added in r359988. This includes argc, argv, envc, envv, and ps_strings. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24407 Modified: head/usr.bin/procstat/procstat_auxv.c Modified: head/usr.bin/procstat/procstat_auxv.c ============================================================================== --- head/usr.bin/procstat/procstat_auxv.c Wed Apr 15 20:23:55 2020 (r359988) +++ head/usr.bin/procstat/procstat_auxv.c Wed Apr 15 20:25:38 2020 (r359989) @@ -203,6 +203,36 @@ procstat_auxv(struct procstat *procstat, struct kinfo_ prefix, "AT_BSDFLAGS", (u_long)auxv[i].a_un.a_val); break; #endif +#ifdef AT_ARGC + case AT_ARGC: + xo_emit("{dw:/%s}{Lw:/%-16s/%s}{:AT_ARGC/%ld}\n", + prefix, "AT_ARGC", (long)auxv[i].a_un.a_val); + break; +#endif +#ifdef AT_ARGV + case AT_ARGV: + xo_emit("{dw:/%s}{Lw:/%-16s/%s}{:AT_ARGV/%p}\n", + prefix, "AT_ARGV", auxv[i].a_un.a_ptr); + break; +#endif +#ifdef AT_ENVC + case AT_ENVC: + xo_emit("{dw:/%s}{Lw:/%-16s/%s}{:AT_ENVC/%ld}\n", + prefix, "AT_ENVC", (long)auxv[i].a_un.a_val); + break; +#endif +#ifdef AT_ENVV + case AT_ENVV: + xo_emit("{dw:/%s}{Lw:/%-16s/%s}{:AT_ENVV/%p}\n", + prefix, "AT_ENVV", auxv[i].a_un.a_ptr); + break; +#endif +#ifdef AT_PS_STRINGS + case AT_PS_STRINGS: + xo_emit("{dw:/%s}{Lw:/%-16s/%s}{:AT_PS_STRINGS/%p}\n", + prefix, "AT_PS_STRINGS", auxv[i].a_un.a_ptr); + break; +#endif default: xo_emit("{dw:/%s}{Lw:/%16ld/%ld}{:UNKNOWN/%#lx}\n", prefix, auxv[i].a_type, auxv[i].a_un.a_val); From owner-svn-src-head@freebsd.org Wed Apr 15 20:26:41 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B54DD2C1539; Wed, 15 Apr 2020 20:26:41 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492YmK4QMHz4Mtn; Wed, 15 Apr 2020 20:26:41 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 92C6224C0A; Wed, 15 Apr 2020 20:26:41 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FKQf8f095734; Wed, 15 Apr 2020 20:26:41 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FKQf3B095733; Wed, 15 Apr 2020 20:26:41 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004152026.03FKQf3B095733@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 15 Apr 2020 20:26:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359990 - head/lib/libc/gen X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: head/lib/libc/gen X-SVN-Commit-Revision: 359990 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 20:26:41 -0000 Author: brooks Date: Wed Apr 15 20:26:41 2020 New Revision: 359990 URL: https://svnweb.freebsd.org/changeset/base/359990 Log: Support AT_PS_STRINGS in _elf_aux_info(). This will be used by setproctitle(). Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24407 Modified: head/lib/libc/gen/auxv.c Modified: head/lib/libc/gen/auxv.c ============================================================================== --- head/lib/libc/gen/auxv.c Wed Apr 15 20:25:38 2020 (r359989) +++ head/lib/libc/gen/auxv.c Wed Apr 15 20:26:41 2020 (r359990) @@ -70,7 +70,7 @@ static pthread_once_t aux_once = PTHREAD_ONCE_INIT; static int pagesize, osreldate, canary_len, ncpus, pagesizes_len, bsdflags; static int hwcap_present, hwcap2_present; static char *canary, *pagesizes, *execpath; -static void *timekeep; +static void *ps_strings, *timekeep; static u_long hwcap, hwcap2; #ifdef __powerpc__ @@ -135,6 +135,10 @@ init_aux(void) case AT_TIMEKEEP: timekeep = aux->a_un.a_ptr; break; + + case AT_PS_STRINGS: + ps_strings = aux->a_un.a_ptr; + break; #ifdef __powerpc__ /* * Since AT_STACKPROT is always set, and the common @@ -334,6 +338,16 @@ _elf_aux_info(int aux, void *buf, int buflen) if (buflen == sizeof(int)) { *(int *)buf = bsdflags; res = 0; + } else + res = EINVAL; + break; + case AT_PS_STRINGS: + if (buflen == sizeof(void *)) { + if (ps_strings != NULL) { + *(void **)buf = ps_strings; + res = 0; + } else + res = ENOENT; } else res = EINVAL; break; From owner-svn-src-head@freebsd.org Wed Apr 15 20:28:20 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BBB9A2C1703; Wed, 15 Apr 2020 20:28:20 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492YpD4dPkz4NCj; Wed, 15 Apr 2020 20:28:20 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9872C24C0C; Wed, 15 Apr 2020 20:28:20 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FKSKa1095845; Wed, 15 Apr 2020 20:28:20 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FKSKhp095844; Wed, 15 Apr 2020 20:28:20 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004152028.03FKSKhp095844@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Wed, 15 Apr 2020 20:28:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359991 - head/lib/libc/gen X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: head/lib/libc/gen X-SVN-Commit-Revision: 359991 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 20:28:20 -0000 Author: brooks Date: Wed Apr 15 20:28:20 2020 New Revision: 359991 URL: https://svnweb.freebsd.org/changeset/base/359991 Log: Attempt to use AT_PS_STRINGS to get the ps_strings pointer. This saves a system call and avoids one of the (relatively rare) cases of the kernel exporting pointers via sysctl. As a temporary measure, keep the sysctl support to allow limited compatability with old kernels. Fail gracefully if ps_strings can't be found (should never happen). Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24407 Modified: head/lib/libc/gen/setproctitle.c Modified: head/lib/libc/gen/setproctitle.c ============================================================================== --- head/lib/libc/gen/setproctitle.c Wed Apr 15 20:26:41 2020 (r359990) +++ head/lib/libc/gen/setproctitle.c Wed Apr 15 20:28:20 2020 (r359991) @@ -20,6 +20,7 @@ __FBSDID("$FreeBSD$"); #include "namespace.h" #include +#include #include #include @@ -112,6 +113,10 @@ setproctitle_internal(const char *fmt, va_list ap) /* Nothing to restore */ return (NULL); + if (ps_strings == NULL) + (void)_elf_aux_info(AT_PS_STRINGS, &ps_strings, + sizeof(ps_strings)); + if (ps_strings == NULL) { len = sizeof(ul_ps_strings); if (sysctlbyname("kern.ps_strings", &ul_ps_strings, &len, NULL, @@ -119,6 +124,9 @@ setproctitle_internal(const char *fmt, va_list ap) return (NULL); ps_strings = (struct ps_strings *)ul_ps_strings; } + + if (ps_strings == NULL) + return (NULL); /* * PS_STRINGS points to zeroed memory on a style #2 kernel. From owner-svn-src-head@freebsd.org Wed Apr 15 20:33:10 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 75DD02C19AA; Wed, 15 Apr 2020 20:33:10 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492Yvp2Xrwz4Ndm; Wed, 15 Apr 2020 20:33:10 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 52A5924DFF; Wed, 15 Apr 2020 20:33:10 +0000 (UTC) (envelope-from alfredo@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FKXAha002103; Wed, 15 Apr 2020 20:33:10 GMT (envelope-from alfredo@FreeBSD.org) Received: (from alfredo@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FKXAQk002102; Wed, 15 Apr 2020 20:33:10 GMT (envelope-from alfredo@FreeBSD.org) Message-Id: <202004152033.03FKXAQk002102@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: alfredo set sender to alfredo@FreeBSD.org using -f From: "Alfredo Dal'Ava Junior" Date: Wed, 15 Apr 2020 20:33:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359992 - head/sys/powerpc/aim X-SVN-Group: head X-SVN-Commit-Author: alfredo X-SVN-Commit-Paths: head/sys/powerpc/aim X-SVN-Commit-Revision: 359992 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 20:33:10 -0000 Author: alfredo Date: Wed Apr 15 20:33:09 2020 New Revision: 359992 URL: https://svnweb.freebsd.org/changeset/base/359992 Log: powerpc: autosize bpvo based on physical memory Default moea64_bpvo_pool_size 327680 was insufficient for initial memory mapping at boot time on systems with, for example, 64G and no huge pages enabled. Submitted by: Andre Silva Reviewed by: jhibbits, alfredo Approved by: jhibbits (mentor) Sponsored by: Eldorado Research Institute (eldorado.org.br) Differential Revision: https://reviews.freebsd.org/D24102 Modified: head/sys/powerpc/aim/mmu_oea64.c Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Wed Apr 15 20:28:20 2020 (r359991) +++ head/sys/powerpc/aim/mmu_oea64.c Wed Apr 15 20:33:09 2020 (r359992) @@ -65,6 +65,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include @@ -184,10 +185,12 @@ uma_zone_t moea64_pvo_zone; /* zone for pvo entries */ static struct pvo_entry *moea64_bpvo_pool; static int moea64_bpvo_pool_index = 0; -static int moea64_bpvo_pool_size = 327680; +static int moea64_bpvo_pool_size = 0; SYSCTL_INT(_machdep, OID_AUTO, moea64_allocated_bpvo_entries, CTLFLAG_RD, &moea64_bpvo_pool_index, 0, ""); +#define BPVO_POOL_SIZE 327680 /* Sensible historical default value */ +#define BPVO_POOL_EXPANSION_FACTOR 3 #define VSID_NBPW (sizeof(u_int32_t) * 8) #ifdef __powerpc64__ #define NVSIDS (NPMAPS * 16) @@ -916,6 +919,20 @@ moea64_mid_bootstrap(mmu_t mmup, vm_offset_t kernelsta * Initialise the bootstrap pvo pool. */ TUNABLE_INT_FETCH("machdep.moea64_bpvo_pool_size", &moea64_bpvo_pool_size); + if (moea64_bpvo_pool_size == 0) { + if (!hw_direct_map) + moea64_bpvo_pool_size = ((ptoa((uintmax_t)physmem) * sizeof(struct vm_page)) / + (PAGE_SIZE * PAGE_SIZE)) * BPVO_POOL_EXPANSION_FACTOR; + else + moea64_bpvo_pool_size = BPVO_POOL_SIZE; + } + + if (boothowto & RB_VERBOSE) { + printf("mmu_oea64: bpvo pool entries = %d, bpvo pool size = %ju MB\n", + moea64_bpvo_pool_size, + moea64_bpvo_pool_size*sizeof(struct pvo_entry) / 1048576); + } + moea64_bpvo_pool = (struct pvo_entry *)moea64_bootstrap_alloc( moea64_bpvo_pool_size*sizeof(struct pvo_entry), PAGE_SIZE); moea64_bpvo_pool_index = 0; From owner-svn-src-head@freebsd.org Wed Apr 15 21:05:39 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0A8142C27DC; Wed, 15 Apr 2020 21:05:39 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492ZdG6XWYz4Qvm; Wed, 15 Apr 2020 21:05:38 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DBB3B2540D; Wed, 15 Apr 2020 21:05:38 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FL5cxD021566; Wed, 15 Apr 2020 21:05:38 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FL5cYx021565; Wed, 15 Apr 2020 21:05:38 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004152105.03FL5cYx021565@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Wed, 15 Apr 2020 21:05:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359993 - head/sys/crypto/via X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/crypto/via X-SVN-Commit-Revision: 359993 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 21:05:39 -0000 Author: jhb Date: Wed Apr 15 21:05:38 2020 New Revision: 359993 URL: https://svnweb.freebsd.org/changeset/base/359993 Log: Use crypto_contiguous_subsegment(). This driver used a home-rolled version that predated the function and didn't support mbufs. Modified: head/sys/crypto/via/padlock_cipher.c Modified: head/sys/crypto/via/padlock_cipher.c ============================================================================== --- head/sys/crypto/via/padlock_cipher.c Wed Apr 15 20:33:09 2020 (r359992) +++ head/sys/crypto/via/padlock_cipher.c Wed Apr 15 21:05:38 2020 (r359993) @@ -169,27 +169,9 @@ padlock_cipher_alloc(struct cryptop *crp, int *allocat { u_char *addr; - switch (crp->crp_buf_type) { - case CRYPTO_BUF_MBUF: - break; - case CRYPTO_BUF_UIO: { - struct uio *uio; - struct iovec *iov; - - uio = crp->crp_uio; - if (uio->uio_iovcnt != 1) - break; - iov = uio->uio_iov; - addr = (u_char *)iov->iov_base + crp->crp_payload_start; - if (((uintptr_t)addr & 0xf) != 0) /* 16 bytes aligned? */ - break; - *allocated = 0; - return (addr); - } - case CRYPTO_BUF_CONTIG: - addr = (u_char *)crp->crp_buf + crp->crp_payload_start; - if (((uintptr_t)addr & 0xf) != 0) /* 16 bytes aligned? */ - break; + addr = crypto_contiguous_subsegment(crp, crp->crp_payload_start, + crp->crp_payload_length); + if (((uintptr_t)addr & 0xf) == 0) { /* 16 bytes aligned? */ *allocated = 0; return (addr); } From owner-svn-src-head@freebsd.org Wed Apr 15 21:06:38 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id CCF5D2C2862; Wed, 15 Apr 2020 21:06:38 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492ZfQ56crz4R3d; Wed, 15 Apr 2020 21:06:38 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A9E382540F; Wed, 15 Apr 2020 21:06:38 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FL6cq9021654; Wed, 15 Apr 2020 21:06:38 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FL6cLN021653; Wed, 15 Apr 2020 21:06:38 GMT (envelope-from dim@FreeBSD.org) Message-Id: <202004152106.03FL6cLN021653@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 15 Apr 2020 21:06:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359994 - head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Group: head X-SVN-Commit-Author: dim X-SVN-Commit-Paths: head/contrib/llvm-project/llvm/lib/Target/PowerPC X-SVN-Commit-Revision: 359994 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 21:06:38 -0000 Author: dim Date: Wed Apr 15 21:06:38 2020 New Revision: 359994 URL: https://svnweb.freebsd.org/changeset/base/359994 Log: Revert commit b6cf400aa fro llvm git (by Nemanja Ivanovic): Fix bots after a9ad65a2b34f In the last commit, I neglected to initialize the new subtarget feature I added which caused failures on a few bots. This should fix that. This unbreaks the build after r359981, which reverted upstream commit a9ad65a2b34f. Reported by: jhibbits (and jenkins :) MFC after: 6 weeks X-MFC-With: 358851 Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp Modified: head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp ============================================================================== --- head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp Wed Apr 15 21:05:38 2020 (r359993) +++ head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubtarget.cpp Wed Apr 15 21:06:38 2020 (r359994) @@ -100,7 +100,6 @@ void PPCSubtarget::initializeEnvironment() { IsPPC6xx = false; IsE500 = false; FeatureMFTB = false; - AllowsUnalignedFPAccess = false; DeprecatedDST = false; HasLazyResolverStubs = false; HasICBT = false; From owner-svn-src-head@freebsd.org Wed Apr 15 21:10:31 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4D3582C2941; Wed, 15 Apr 2020 21:10:31 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492Zkv1QMXz4RMx; Wed, 15 Apr 2020 21:10:31 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from tensor.andric.com (tensor.andric.com [IPv6:2001:470:7a58:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "tensor.andric.com", Issuer "Let's Encrypt Authority X3" (verified OK)) (Authenticated sender: dim) by smtp.freebsd.org (Postfix) with ESMTPSA id 1348E19FA9; Wed, 15 Apr 2020 21:10:31 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from [IPv6:2001:470:7a58::4d73:1d23:b7fa:4e72] (unknown [IPv6:2001:470:7a58:0:4d73:1d23:b7fa:4e72]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 6D7503ED5C; Wed, 15 Apr 2020 23:10:29 +0200 (CEST) From: Dimitry Andric Message-Id: <0ED3BD6C-901D-43CE-A752-6803186DC96E@FreeBSD.org> Content-Type: multipart/signed; boundary="Apple-Mail=_F86520A3-D236-4199-AAB2-68013A9786F3"; protocol="application/pgp-signature"; micalg=pgp-sha1 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.14\)) Subject: Re: svn commit: r359981 - head/contrib/llvm-project/llvm/lib/Target/PowerPC Date: Wed, 15 Apr 2020 23:10:23 +0200 In-Reply-To: <202004151910.03FJAiZa009229@slippy.cwsent.com> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org To: Cy Schubert References: <202004151843.03FIhi1W031973@repo.freebsd.org> <202004151910.03FJAiZa009229@slippy.cwsent.com> X-Mailer: Apple Mail (2.3445.104.14) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 21:10:31 -0000 --Apple-Mail=_F86520A3-D236-4199-AAB2-68013A9786F3 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On 15 Apr 2020, at 21:10, Cy Schubert wrote: >=20 > In message <202004151843.03FIhi1W031973@repo.freebsd.org>, Dimitry = Andric > writes: >> Author: dim >> Date: Wed Apr 15 18:43:44 2020 >> New Revision: 359981 >> URL: https://svnweb.freebsd.org/changeset/base/359981 >>=20 >> Log: >> Revert commit a9ad65a2b from llvm git (by Nemanja Ivanovic): ... >=20 > I'm seeing this on amd64: >=20 > --- Target/PowerPC/PPCSubtarget.o --- > = /opt/src/svn-current/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCSubta= rget.cpp:103:3: error: use of undeclared identifier = 'AllowsUnalignedFPAccess' > AllowsUnalignedFPAccess =3D false; > ^ Yeah sorry, this should be fixed by r359994. Upstream did a follow-up commit adding exactly that line, which I've also reverted. -Dimitry --Apple-Mail=_F86520A3-D236-4199-AAB2-68013A9786F3 Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=signature.asc Content-Type: application/pgp-signature; name=signature.asc Content-Description: Message signed with OpenPGP -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.2 iF0EARECAB0WIQR6tGLSzjX8bUI5T82wXqMKLiCWowUCXpd4PwAKCRCwXqMKLiCW oy7wAJ45WTcUK4EFGaLr5pdh6XE2ZY1oKACffOVxTiAKgK/qRzHaI9EKih5YaZQ= =gzep -----END PGP SIGNATURE----- --Apple-Mail=_F86520A3-D236-4199-AAB2-68013A9786F3-- From owner-svn-src-head@freebsd.org Wed Apr 15 21:27:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9F2EE2C2E50; Wed, 15 Apr 2020 21:27:53 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492b6x3j2sz4SVC; Wed, 15 Apr 2020 21:27:53 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7A198257D8; Wed, 15 Apr 2020 21:27:53 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FLRrUE034139; Wed, 15 Apr 2020 21:27:53 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FLRrNr034137; Wed, 15 Apr 2020 21:27:53 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004152127.03FLRrNr034137@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Wed, 15 Apr 2020 21:27:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359995 - in head/sys/fs: nfsclient nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys/fs: nfsclient nfsserver X-SVN-Commit-Revision: 359995 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 21:27:53 -0000 Author: rmacklem Date: Wed Apr 15 21:27:52 2020 New Revision: 359995 URL: https://svnweb.freebsd.org/changeset/base/359995 Log: Fix the NFSv4.2 extended attribute support for remove extended attrbute. I missed the "atomic" field of the RemoveExtendedAttribute operation's reply when I implemented it. It worked between FreeBSD client and server, since it was missed for both, but it did not conform to RFC 8276. This patch adds the field for both client and server. Thanks go to Frank for doing interoperability testing of the extended attribute support against patches for Linux. Submitted by: Frank van der Linden Reported by: Frank van der Linden Modified: head/sys/fs/nfsclient/nfs_clrpcops.c head/sys/fs/nfsserver/nfs_nfsdserv.c Modified: head/sys/fs/nfsclient/nfs_clrpcops.c ============================================================================== --- head/sys/fs/nfsclient/nfs_clrpcops.c Wed Apr 15 21:06:38 2020 (r359994) +++ head/sys/fs/nfsclient/nfs_clrpcops.c Wed Apr 15 21:27:52 2020 (r359995) @@ -8432,7 +8432,7 @@ nfsrpc_rmextattr(vnode_t vp, const char *name, struct return (error); if (nd->nd_repstat == 0) { /* Just skip over the reply and Getattr op status. */ - NFSM_DISSECT(tl, uint32_t *, 2 * NFSX_HYPER + 2 * + NFSM_DISSECT(tl, uint32_t *, 2 * NFSX_HYPER + 3 * NFSX_UNSIGNED); error = nfsm_loadattr(nd, nap); if (error == 0) Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Wed Apr 15 21:06:38 2020 (r359994) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Wed Apr 15 21:27:52 2020 (r359995) @@ -5729,7 +5729,8 @@ nfsrvd_rmxattr(struct nfsrv_descript *nd, __unused int if (nd->nd_repstat == 0) nd->nd_repstat = nfsvno_getattr(vp, &nva, nd, p, 1, &attrbits); if (nd->nd_repstat == 0) { - NFSM_BUILD(tl, uint32_t *, 2 * NFSX_HYPER); + NFSM_BUILD(tl, uint32_t *, 2 * NFSX_HYPER + NFSX_UNSIGNED); + *tl++ = newnfs_true; txdr_hyper(ova.na_filerev, tl); tl += 2; txdr_hyper(nva.na_filerev, tl); } From owner-svn-src-head@freebsd.org Wed Apr 15 22:28:52 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 057D32C3E27; Wed, 15 Apr 2020 22:28:52 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492cTH6Kmcz4W9J; Wed, 15 Apr 2020 22:28:51 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D49C926362; Wed, 15 Apr 2020 22:28:51 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03FMSpbO071569; Wed, 15 Apr 2020 22:28:51 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03FMSpEA071568; Wed, 15 Apr 2020 22:28:51 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202004152228.03FMSpEA071568@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Wed, 15 Apr 2020 22:28:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359997 - head/sys/x86/x86 X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/x86/x86 X-SVN-Commit-Revision: 359997 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Apr 2020 22:28:52 -0000 Author: kib Date: Wed Apr 15 22:28:51 2020 New Revision: 359997 URL: https://svnweb.freebsd.org/changeset/base/359997 Log: Improve TSC calibration logic. Stop attempting to use FADT legacy hardware flag, it is almost always a lie. Instead, unless user explicitly disabled the calibration, calibrate against 8254 ISA clock. Then, obtain the rough value of the expected TSC frequency from CPUID leafs 0x15/0x16 or even from the CPU marketing name string. If calibration results look unbelievably bogus comparing with CPUID leafs report, use CPUID one. Intel does not recommend to use CPUID leaf 0x16 for the value of the system time frequency, indeed the error there might be up to 1% which e.g. makes ntpd give up. If ISA clock is present, we win, if not, we get some frequency that allows the machine to boot without enormous delay. Next improvement would be to use HPET for re-calibration if we decided that ISA clock gives bogus results, after HPETs are enumerated. This is a much bigger change since we probably would need to re-evaluate some constants depending on TSC frequency. Reviewed by: emaste, jhb, scottl Tested by: scottl Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D24426 Modified: head/sys/x86/x86/tsc.c Modified: head/sys/x86/x86/tsc.c ============================================================================== --- head/sys/x86/x86/tsc.c Wed Apr 15 22:27:24 2020 (r359996) +++ head/sys/x86/x86/tsc.c Wed Apr 15 22:28:51 2020 (r359997) @@ -83,8 +83,8 @@ SYSCTL_INT(_machdep, OID_AUTO, disable_tsc, CTLFLAG_RD "Disable x86 Time Stamp Counter"); static int tsc_skip_calibration; -SYSCTL_INT(_machdep, OID_AUTO, disable_tsc_calibration, CTLFLAG_RDTUN | - CTLFLAG_NOFETCH, &tsc_skip_calibration, 0, +SYSCTL_INT(_machdep, OID_AUTO, disable_tsc_calibration, CTLFLAG_RDTUN, + &tsc_skip_calibration, 0, "Disable TSC frequency calibration"); static void tsc_freq_changed(void *arg, const struct cf_level *level, @@ -230,7 +230,6 @@ probe_tsc_freq(void) { uint64_t tmp_freq, tsc1, tsc2; int no_cpuid_override; - uint16_t bootflags; if (cpu_power_ecx & CPUID_PERF_STAT) { /* @@ -287,30 +286,13 @@ probe_tsc_freq(void) break; } - if (!TUNABLE_INT_FETCH("machdep.disable_tsc_calibration", - &tsc_skip_calibration)) { - /* - * User did not give the order about calibration. - * If he did, we do not try to guess. - * - * Otherwise, if ACPI FADT reports that the platform - * is legacy-free and CPUID provides TSC frequency, - * use it. The calibration could fail anyway since - * ISA timer can be absent or power gated. - */ - if (acpi_get_fadt_bootflags(&bootflags) && - (bootflags & ACPI_FADT_LEGACY_DEVICES) == 0 && - tsc_freq_cpuid(&tmp_freq)) { - printf("Skipping TSC calibration since no legacy " - "devices reported by FADT and CPUID works\n"); - tsc_skip_calibration = 1; - } - } if (tsc_skip_calibration) { if (tsc_freq_cpuid(&tmp_freq)) tsc_freq = tmp_freq; else if (cpu_vendor_id == CPU_VENDOR_INTEL) tsc_freq_intel(); + if (tsc_freq == 0) + tsc_disabled = 1; } else { if (bootverbose) printf("Calibrating TSC clock ... "); @@ -324,8 +306,9 @@ probe_tsc_freq(void) * the frequency reported by CPUID 0x15/0x16 leafs * differ significantly, this probably means that * calibration is bogus. It happens on machines - * without 8254 timer and with BIOS not properly - * reporting it in FADT boot flags. + * without 8254 timer. The BIOS rarely properly + * reports it in FADT boot flags, so just compare the + * frequencies directly. */ if (tsc_freq_cpuid(&tmp_freq) && qabs(tsc_freq - tmp_freq) > uqmin(tsc_freq, tmp_freq)) { From owner-svn-src-head@freebsd.org Thu Apr 16 00:46:26 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 704392C73F9; Thu, 16 Apr 2020 00:46:26 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492gX22L27z4fBR; Thu, 16 Apr 2020 00:46:26 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 3E7661C08B; Thu, 16 Apr 2020 00:46:26 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f181.google.com with SMTP id m67so19609182qke.12; Wed, 15 Apr 2020 17:46:26 -0700 (PDT) X-Gm-Message-State: AGi0PuaBtDULiFuNpnM8cgFWG1QA6toxPa+0w7+OhJCpLLF6IZ78aBuT iLpuZM6vfYICKHz6wtXl0m1IjVNGFOdway2l3Ck= X-Google-Smtp-Source: APiQypKmlZLjtbphBiWy0mcp7N72ricIGKFbNvQNl5QBVPzTYZkMba1K8jcrAjSZtJU7AThuZ8/2Dt74FNRu62TpRBk= X-Received: by 2002:a05:620a:1395:: with SMTP id k21mr14034637qki.120.1586997985857; Wed, 15 Apr 2020 17:46:25 -0700 (PDT) MIME-Version: 1.0 References: <202004152021.03FKLU0u090535@repo.freebsd.org> In-Reply-To: <202004152021.03FKLU0u090535@repo.freebsd.org> From: Kyle Evans Date: Wed, 15 Apr 2020 19:46:14 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r359987 - in head/sys: amd64/ia32 amd64/linux32 compat/freebsd32 kern sys To: Brooks Davis Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 00:46:26 -0000 On Wed, Apr 15, 2020 at 3:21 PM Brooks Davis wrote: > > Author: brooks > Date: Wed Apr 15 20:21:30 2020 > New Revision: 359987 > URL: https://svnweb.freebsd.org/changeset/base/359987 > > Log: > Make ps_strings in struct image_params into a pointer. > > This is a prepratory commit for D24407. > > Reviewed by: kib > Obtained from: CheriBSD > Sponsored by: DARPA > This seems to have missed just one spot over in i386 machdep bits (reported by CI, masked by earlier-in-the-build breakage): 18:28:51 /usr/src/sys/i386/i386/machdep.c:1174:15: error: incompatible pointer to integer conversion assigning to 'int' from 'void *' [-Werror,-Wint-conversion] 18:28:51 regs->tf_ebx = imgp->ps_strings; 18:28:51 ^ ~~~~~~~~~~~~~~~~ Thanks, Kyle Evans From owner-svn-src-head@freebsd.org Thu Apr 16 00:54:07 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8252E2C774D; Thu, 16 Apr 2020 00:54:07 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492ghv2wPFz4fm9; Thu, 16 Apr 2020 00:54:07 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5F59227FBD; Thu, 16 Apr 2020 00:54:07 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03G0s7Ht065839; Thu, 16 Apr 2020 00:54:07 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03G0s7Pl065837; Thu, 16 Apr 2020 00:54:07 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004160054.03G0s7Pl065837@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Thu, 16 Apr 2020 00:54:07 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r359999 - in head: stand/defaults sys/kern X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head: stand/defaults sys/kern X-SVN-Commit-Revision: 359999 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 00:54:07 -0000 Author: kevans Date: Thu Apr 16 00:54:06 2020 New Revision: 359999 URL: https://svnweb.freebsd.org/changeset/base/359999 Log: Preload hostuuid for early-boot use prison0's hostuuid will get set by the hostid rc script, either after generating it and saving it to /etc/hostid or by simply reading /etc/hostid. Some things (e.g. arbitrary MAC address generation) may use the hostuuid as a factor in early boot, so providing a way to read /etc/hostid (if it's available) and using it before userland starts up is desirable. The code is written such that the preload doesn't *have* to be /etc/hostid, thus not assuming that there will be newline at the end of the buffer or even the exact shape of the newline. White trailing whitespace/non-printables trimmed, the result will be validated as a valid uuid before it's used for early boot purposes. The preload can be turned off with hostuuid_load="NO" in /boot/loader.conf, just as other preloads; it's worth noting that this is a 37-byte file, the overhead is believed to be generally minimal. It doesn't seem necessary at this time to be concerned with kern.hostid. One does wonder if we should consider validating hostuuids coming in via jail_set(2); some bits seem to care about uuid form and we bother validating format of smbios-provided uuid and in-fact whatever uuid comes from /etc/hostid. Reviewed by: karels, delphij, jamie MFC after: 1 week (don't preload by default, probably) Differential Revision: https://reviews.freebsd.org/D24288 Modified: head/stand/defaults/loader.conf head/sys/kern/kern_jail.c Modified: head/stand/defaults/loader.conf ============================================================================== --- head/stand/defaults/loader.conf Wed Apr 15 23:00:35 2020 (r359998) +++ head/stand/defaults/loader.conf Thu Apr 16 00:54:06 2020 (r359999) @@ -33,6 +33,11 @@ bitmap_type="splash_image_data" # and place it on the screensave_load="NO" # Set to YES to load a screensaver module screensave_name="green_saver" # Set to the name of the screensaver module +### Early hostid configuration ############################ +hostuuid_load="YES" +hostuuid_name="/etc/hostid" +hostuuid_type="hostuuid" + ### Random number generator configuration ################## # See rc.conf(5). The entropy_boot_file config variable must agree with the # settings below. Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Wed Apr 15 23:00:35 2020 (r359998) +++ head/sys/kern/kern_jail.c Thu Apr 16 00:54:06 2020 (r359999) @@ -48,6 +48,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -61,6 +62,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -75,6 +77,7 @@ __FBSDID("$FreeBSD$"); #include #define DEFAULT_HOSTUUID "00000000-0000-0000-0000-000000000000" +#define PRISON0_HOSTUUID_MODULE "hostuuid" MALLOC_DEFINE(M_PRISON, "prison", "Prison structures"); static MALLOC_DEFINE(M_PRISON_RACCT, "prison_racct", "Prison racct structures"); @@ -218,10 +221,38 @@ static unsigned jail_max_af_ips = 255; void prison0_init(void) { + uint8_t *file, *data; + size_t size; prison0.pr_cpuset = cpuset_ref(thread0.td_cpuset); prison0.pr_osreldate = osreldate; strlcpy(prison0.pr_osrelease, osrelease, sizeof(prison0.pr_osrelease)); + + /* If we have a preloaded hostuuid, use it. */ + file = preload_search_by_type(PRISON0_HOSTUUID_MODULE); + if (file != NULL) { + data = preload_fetch_addr(file); + size = preload_fetch_size(file); + if (data != NULL) { + /* + * The preloaded data may include trailing whitespace, almost + * certainly a newline; skip over any whitespace or + * non-printable characters to be safe. + */ + while (size > 0 && data[size - 1] <= 0x20) { + data[size--] = '\0'; + } + if (validate_uuid(data, size, NULL, 0) == 0) { + (void)strlcpy(prison0.pr_hostuuid, data, + size + 1); + } else if (bootverbose) { + printf("hostuuid: preload data malformed: '%s'", + data); + } + } + } + if (bootverbose) + printf("hostuuid: using %s\n", prison0.pr_hostuuid); } /* From owner-svn-src-head@freebsd.org Thu Apr 16 01:29:11 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4D5782A9610 for ; Thu, 16 Apr 2020 01:29:11 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic312-25.consmr.mail.gq1.yahoo.com (sonic312-25.consmr.mail.gq1.yahoo.com [98.137.69.206]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 492hTL0SpMz3FDC for ; Thu, 16 Apr 2020 01:29:09 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: 40lA3oAVM1mVW_p1Zcz2e2kf.bp5KcGZbZklseizT_vfq5pTZ2HEu6ta.PoUMl3 fLM12ZyUw3kdKTVxReAzEvHRU0jlibAuHwPsvWSmOdgW8HHS0szqVqc0sapx715Z00V8mEf3QKUa UTIKWBQEMVscwWToDymmbemKRNIqH8qJYXMB_F2kx8MXFZLbWxCXaDXYLqLW2k_zZ.Ib0bewuTp3 Rj_clJNMYsgMoqzjfBQUUXtjmGDCIST1s1fq.8l1sfC3qv5nYpXn6cLHtWcUr7y0Nz_hjmbIHqbJ Q39GJkzIzu6aVcU5_cvWirgXVJhNIa95JMUuwcoyS9_goMJNfhXduGhkCLpzdrLCWD5BXINr1Qy_ Pyat6L1R.1lev1GGh6M453A6rw42va8MWlm1UpBbT4SQcD0KL0ZVSHkUPwBZs2j5r4SKufIWUd.r SR1SUl6CqzEHzqGuYwJ.2XYZXk2HxxvIKvEHPsV8qMR.pxWKM8SXrXObrT1WbNgm2t0xVTd5Gsp9 OhsGeHYPdSFBK51OL.l7g_Kqb9uKT78eERWOze6wgoGzcMUhmX5wMpJY9HP9ZJc4JNjwPI1ICZPl gG.8DFB5.gwc.2VInCia4Q0qUEos_Kwy3vzOcQ_OgZQlRSC1ta_cxoL3VH8x1KJSgk5io43ViH0z yinM9WHG2v9DRwSXMlpCxTm1pAMKqibycs_WAy0UKFMMDJkAGKdqq8QCIw5eFt3gchBUa4667DOP sjoKQjLD1nv7Kn6d2hPC9Djn1ZpzMYg.V4h_9Y.P_EFVVGujV37JkrJUO5zrp1ItGXzvWMF608kw T4SE7Z4XyHNWZh5Ip1MPf6EgdN4j1rQgfxpSYGr_qES7zJsZWh2j..o7iI0wErd5fuNg5KKIppm_ PPWi9fTMOYeALmk2_cnjCVsT1IklK_jRxW1yxro.WKdHv9jLDbk0lGCve3FEPYBeVz9iLff1StQ4 bWGY6aZWOZFZCew2TFPO086ijU0KkBNUkPXMmYT0jb3Hs8pDL7tEYiSIKKevkzyRwvO71Y3sC6MK ufsZF35k0k7O3C0SUEAdiMzajAmqpbhzIWhpq0e1_iWKm.8qHYStLJBPMGcUgfOjv542XcdFbziZ e9QWtS3eiT6TxH9X_BxuuvaRHnkvAVcSlu0mgUerD85noCkEuT4G8wHn.tggz.4qpYseAmOk_fMQ 2aQRiVafxgP1OHVNoFe5zmqHJdVS2boQVBiYjdcjs8OrvPyPkpXvTbzizn51rWH6IWyBSviZ2d7T B8l4th7tSOHLaP0rGOt4I29qXLRsMhxqmc.GwKupovPzgzD.Ne_k0Ks9LCUjp14CXTxhmhlDOJz0 lfI8tDfrT.VL600lcNPu_Rrp9oXtU01EgS_QOTjSRuGfPiu8C9pmtth9Cbbampu8.BK7ZKkezRx3 r0dY8Dr2doL6KChu2eXiWSXAe5gFgPcSE7PnSOYYy9uaekG1KNXborg-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic312.consmr.mail.gq1.yahoo.com with HTTP; Thu, 16 Apr 2020 01:29:07 +0000 Received: by smtp417.mail.bf1.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID b5453dba29f5dd6e9aa73b5059d11114; Thu, 16 Apr 2020 01:29:06 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.80.23.2.2\)) Subject: Re: svn commit: r359992 - head/sys/powerpc/aim broke i.freebsd.org/job/FreeBSD-head-powerpc-build/ builds Message-Id: <72C9FD8A-E190-4AEA-A28B-0A1CB4CAA05E@yahoo.com> Date: Wed, 15 Apr 2020 18:29:04 -0700 To: "alfredo@freebsd.org " , svn-src-head@freebsd.org, FreeBSD PowerPC ML X-Mailer: Apple Mail (2.3608.80.23.2.2) References: <72C9FD8A-E190-4AEA-A28B-0A1CB4CAA05E.ref@yahoo.com> X-Rspamd-Queue-Id: 492hTL0SpMz3FDC X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.50 / 15.00]; TO_DN_EQ_ADDR_SOME(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; DKIM_TRACE(0.00)[yahoo.com:+]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[3]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(0.00)[ip: (-2.26), ipnet: 98.137.64.0/21(0.83), asn: 36647(0.67), country: US(-0.05)]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[206.69.137.98.list.dnswl.org : 127.0.5.0]; RWL_MAILSPIKE_POSSIBLE(0.00)[206.69.137.98.rep.mailspike.net : 127.0.0.17]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 01:29:11 -0000 =46rom = https://ci.freebsd.org/job/FreeBSD-head-powerpc-build/15810/console : --- mmu_oea64.o --- 23:10:11 /usr/src/sys/powerpc/aim/mmu_oea64.c:933:7: error: format = specifies type 'uintmax_t' (aka 'unsigned long long') but the argument = has type 'unsigned int' [-Werror,-Wformat] =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar) From owner-svn-src-head@freebsd.org Thu Apr 16 03:23:20 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 424672AD09F; Thu, 16 Apr 2020 03:23:20 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492l136dWMz3MSS; Thu, 16 Apr 2020 03:23:19 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DEE331E33; Thu, 16 Apr 2020 03:23:19 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03G3NJbE062356; Thu, 16 Apr 2020 03:23:19 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03G3NJWS062355; Thu, 16 Apr 2020 03:23:19 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <202004160323.03G3NJWS062355@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Thu, 16 Apr 2020 03:23:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360000 - head/usr.sbin/mailwrapper X-SVN-Group: head X-SVN-Commit-Author: delphij X-SVN-Commit-Paths: head/usr.sbin/mailwrapper X-SVN-Commit-Revision: 360000 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 03:23:20 -0000 Author: delphij Date: Thu Apr 16 03:23:19 2020 New Revision: 360000 URL: https://svnweb.freebsd.org/changeset/base/360000 Log: Sync with NetBSD/OpenBSD. Modified: head/usr.sbin/mailwrapper/mailwrapper.8 Modified: head/usr.sbin/mailwrapper/mailwrapper.8 ============================================================================== --- head/usr.sbin/mailwrapper/mailwrapper.8 Thu Apr 16 00:54:06 2020 (r359999) +++ head/usr.sbin/mailwrapper/mailwrapper.8 Thu Apr 16 03:23:19 2020 (r360000) @@ -1,5 +1,5 @@ -.\" $OpenBSD: mailwrapper.8,v 1.10 2009/02/07 16:58:23 martynas Exp $ -.\" $NetBSD: mailwrapper.8,v 1.11 2002/02/08 01:38:50 ross Exp $ +.\" $OpenBSD: mailwrapper.8,v 1.12 2014/03/27 22:34:42 jmc Exp $ +.\" $NetBSD: mailwrapper.8,v 1.16 2014/09/19 16:05:55 wiz Exp $ .\" $FreeBSD$ .\" .\" Copyright (c) 1998 @@ -31,42 +31,58 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd August 27, 2014 +.Dd October 29, 2014 .Dt MAILWRAPPER 8 .Os .Sh NAME .Nm mailwrapper -.Nd invoke appropriate MTA software based on configuration file +.Nd invoke appropriate +.Tn MTA +software based on configuration file .Sh SYNOPSIS Special. See below. .Sh DESCRIPTION -At one time, the only Mail Transfer Agent (MTA) software easily available -was -.Xr sendmail 8 . -As a result of this, most Mail User Agents (MUAs) such as -.Xr mail 1 -had the path and calling conventions expected by -.Xr sendmail 8 -compiled in. +Once upon time, the only Mail Transfer Agent +.Pq Tn MTA +software easily available was +.Dq sendmail . +This famous +.Tn MTA +was written by +.An Eric Allman +and first appeared in +.Bx 4.1 . +The legacy of this +.Tn MTA +affected most Mail User Agents +.Pq Tn MUAs +such as +.Xr mail 1 ; +the path and calling conventions expected by +.Dq sendmail +were compiled in. .Pp -Times have changed, however. +But times changed. On a modern -.Ux -system, the administrator may wish to use one of several -available MTAs. +.Fx +system, the administrator may wish to use one of several available +.Tn MTAs . .Pp -It would be difficult to modify all MUA software typically available -on a system, so most of the authors of alternative MTAs have written -their front end message submission programs so that they use the same -calling conventions as -.Xr sendmail 8 -and may be put into place instead of -.Xr sendmail 8 -in -.Pa /usr/sbin/sendmail . +It would be difficult to modify all +.Tn MUA +software typically available on a system, +so most of the authors of alternative +.Tn MTAs +have written their front end message submission programs +that may appear in the place of +.Pa /usr/sbin/sendmail , +but still follow the same calling conventions as +.Dq sendmail . .Pp -.Xr sendmail 8 +The +.Dq sendmail +.Tn MTA also typically has aliases named .Xr mailq 1 and @@ -79,45 +95,52 @@ is or .Dq newaliases and behaves appropriately. -Typically, replacement MTAs provide similar -functionality, either through a program that also switches behavior -based on calling name, or through a set of programs that provide -similar functionality. +Typically, replacement +.Tn MTAs +provide similar functionality, either through a program that also +switches behavior based on calling name, or through a set of programs +that provide similar functionality. .Pp -Although having drop-in replacements for -.Xr sendmail 8 -helps in installing alternative MTAs, it essentially makes the -configuration of the system depend on hand installing new programs in +Although having replacement programs that plug replace +.Dq sendmail +helps in installing alternative +.Tn MTAs , +it essentially makes the configuration of the system depend +on hand installing new programs in .Pa /usr . This leads to configuration problems for many administrators, since -they may wish to install a new MTA without altering the system -provided +they may wish to install a new +.Tn MTA +without altering the system provided .Pa /usr . (This may be, for example, to avoid having upgrade problems when a new version of the system is installed over the old.) They may also have a shared .Pa /usr -among several -machines, and may wish to avoid placing implicit configuration -information in a read-only +among several machines, and may wish to avoid placing +implicit configuration information in a read-only .Pa /usr . .Pp The .Nm -utility is designed to replace +program is designed to replace .Pa /usr/sbin/sendmail -and to invoke an appropriate MTA instead of -.Xr sendmail 8 +and to invoke an appropriate +.Tn MTA based on configuration information placed in .Pa ${LOCALBASE}/etc/mail/mailer.conf falling back on .Pa /etc/mail/mailer.conf . -This permits the administrator to configure which MTA is to be invoked on +This permits the administrator to configure which +.Tn MTA +is to be invoked on the system at run time. .Pp Other configuration files may need to be altered when replacing .Xr sendmail 8 . -For example, if the replacement MTA does not support the +For example, if the replacement +.Tn MTA +does not support the .Fl A option with .Xr mailq 1 , @@ -143,6 +166,7 @@ The will print a diagnostic if its configuration file is missing or malformed, or does not contain a mapping for the name under which it was invoked. .Sh SEE ALSO +.Xr dma 8 , .Xr mail 1 , .Xr mailq 1 , .Xr newaliases 1 , @@ -161,7 +185,8 @@ and then .Sh BUGS The entire reason this program exists is a crock. Instead, a command -for how to submit mail should be standardized, and all the "behave -differently if invoked with a different name" behavior of things like +for how to submit mail should be standardized, and all the +.Dq behave differently if invoked with a different name +behavior of things like .Xr mailq 1 should go away. From owner-svn-src-head@freebsd.org Thu Apr 16 03:28:28 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D5A702AD162; Thu, 16 Apr 2020 03:28:28 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492l7055Dlz3Mdr; Thu, 16 Apr 2020 03:28:28 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A9DF51E44; Thu, 16 Apr 2020 03:28:28 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03G3SS17062658; Thu, 16 Apr 2020 03:28:28 GMT (envelope-from scottl@FreeBSD.org) Received: (from scottl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03G3SSQj062656; Thu, 16 Apr 2020 03:28:28 GMT (envelope-from scottl@FreeBSD.org) Message-Id: <202004160328.03G3SSQj062656@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: scottl set sender to scottl@FreeBSD.org using -f From: Scott Long Date: Thu, 16 Apr 2020 03:28:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360001 - in head/sys/dev: mpr mps X-SVN-Group: head X-SVN-Commit-Author: scottl X-SVN-Commit-Paths: in head/sys/dev: mpr mps X-SVN-Commit-Revision: 360001 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 03:28:28 -0000 Author: scottl Date: Thu Apr 16 03:28:28 2020 New Revision: 360001 URL: https://svnweb.freebsd.org/changeset/base/360001 Log: Add a small hack to the ioctl header files so that both mpr and mps can be included. This isn't a great solution, but fixing it correctly is a bigger task and this is the lesser of the existing evils. Modified: head/sys/dev/mpr/mpr_ioctl.h head/sys/dev/mps/mps_ioctl.h Modified: head/sys/dev/mpr/mpr_ioctl.h ============================================================================== --- head/sys/dev/mpr/mpr_ioctl.h Thu Apr 16 03:23:19 2020 (r360000) +++ head/sys/dev/mpr/mpr_ioctl.h Thu Apr 16 03:28:28 2020 (r360001) @@ -363,6 +363,7 @@ typedef struct mpr_btdh_mapping #define MPRIO_RAID_ACTION _IOWR('M', 205, struct mpr_raid_action) #define MPRIO_MPR_COMMAND _IOWR('M', 210, struct mpr_usr_command) +#ifndef MPTIOCTL #define MPTIOCTL ('I') #define MPTIOCTL_GET_ADAPTER_DATA _IOWR(MPTIOCTL, 1,\ struct mpr_adapter_data) @@ -385,5 +386,6 @@ typedef struct mpr_btdh_mapping struct mpr_reg_access) #define MPTIOCTL_BTDH_MAPPING _IOWR(MPTIOCTL, 11,\ struct mpr_btdh_mapping) +#endif /* MPTIOCTL */ #endif /* !_MPR_IOCTL_H_ */ Modified: head/sys/dev/mps/mps_ioctl.h ============================================================================== --- head/sys/dev/mps/mps_ioctl.h Thu Apr 16 03:23:19 2020 (r360000) +++ head/sys/dev/mps/mps_ioctl.h Thu Apr 16 03:28:28 2020 (r360001) @@ -364,6 +364,7 @@ typedef struct mps_btdh_mapping #define MPSIO_RAID_ACTION _IOWR('M', 205, struct mps_raid_action) #define MPSIO_MPS_COMMAND _IOWR('M', 210, struct mps_usr_command) +#ifndef MPTIOCTL #define MPTIOCTL ('I') #define MPTIOCTL_GET_ADAPTER_DATA _IOWR(MPTIOCTL, 1,\ struct mps_adapter_data) @@ -386,5 +387,6 @@ typedef struct mps_btdh_mapping struct mps_reg_access) #define MPTIOCTL_BTDH_MAPPING _IOWR(MPTIOCTL, 11,\ struct mps_btdh_mapping) +#endif /* MPTIOCTL */ #endif /* !_MPS_IOCTL_H_ */ From owner-svn-src-head@freebsd.org Thu Apr 16 03:33:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 62E4D2AD375; Thu, 16 Apr 2020 03:33:47 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492lF71wRmz3N46; Thu, 16 Apr 2020 03:33:47 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3D2642027; Thu, 16 Apr 2020 03:33:47 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03G3XlSM068483; Thu, 16 Apr 2020 03:33:47 GMT (envelope-from scottl@FreeBSD.org) Received: (from scottl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03G3XlTl068482; Thu, 16 Apr 2020 03:33:47 GMT (envelope-from scottl@FreeBSD.org) Message-Id: <202004160333.03G3XlTl068482@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: scottl set sender to scottl@FreeBSD.org using -f From: Scott Long Date: Thu, 16 Apr 2020 03:33:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360002 - head/usr.sbin/mpsutil X-SVN-Group: head X-SVN-Commit-Author: scottl X-SVN-Commit-Paths: head/usr.sbin/mpsutil X-SVN-Commit-Revision: 360002 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 03:33:47 -0000 Author: scottl Date: Thu Apr 16 03:33:46 2020 New Revision: 360002 URL: https://svnweb.freebsd.org/changeset/base/360002 Log: Don't keep a private copy of mpr_ioctl.h and mps_ioctl.h, since they easily get out of sync with the real files from the driver. Deleted: head/usr.sbin/mpsutil/mpr_ioctl.h head/usr.sbin/mpsutil/mps_ioctl.h Modified: head/usr.sbin/mpsutil/mps_cmd.c Modified: head/usr.sbin/mpsutil/mps_cmd.c ============================================================================== --- head/usr.sbin/mpsutil/mps_cmd.c Thu Apr 16 03:28:28 2020 (r360001) +++ head/usr.sbin/mpsutil/mps_cmd.c Thu Apr 16 03:33:46 2020 (r360002) @@ -39,12 +39,6 @@ __RCSID("$FreeBSD$"); #include #include #include -#if 0 -#include -#else -#include "mps_ioctl.h" -#include "mpr_ioctl.h" -#endif #include #include @@ -56,6 +50,8 @@ __RCSID("$FreeBSD$"); #include #include "mpsutil.h" +#include +#include #ifndef USE_MPT_IOCTLS #define USE_MPT_IOCTLS From owner-svn-src-head@freebsd.org Thu Apr 16 04:17:07 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2F4772ADDF3; Thu, 16 Apr 2020 04:17:07 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492mC70SJvz3Pkq; Thu, 16 Apr 2020 04:17:07 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0559E2818; Thu, 16 Apr 2020 04:17:07 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03G4H6Di093291; Thu, 16 Apr 2020 04:17:06 GMT (envelope-from scottl@FreeBSD.org) Received: (from scottl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03G4H6cX093290; Thu, 16 Apr 2020 04:17:06 GMT (envelope-from scottl@FreeBSD.org) Message-Id: <202004160417.03G4H6cX093290@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: scottl set sender to scottl@FreeBSD.org using -f From: Scott Long Date: Thu, 16 Apr 2020 04:17:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360003 - head/usr.sbin/mpsutil X-SVN-Group: head X-SVN-Commit-Author: scottl X-SVN-Commit-Paths: head/usr.sbin/mpsutil X-SVN-Commit-Revision: 360003 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 04:17:07 -0000 Author: scottl Date: Thu Apr 16 04:17:06 2020 New Revision: 360003 URL: https://svnweb.freebsd.org/changeset/base/360003 Log: Add support for some IOCFacts fields that are available with mpr (12Gb) controllers. It's ugly due to the single codebase for mpr and mps and not being able to share their respective headers. Modified: head/usr.sbin/mpsutil/mps_show.c Modified: head/usr.sbin/mpsutil/mps_show.c ============================================================================== --- head/usr.sbin/mpsutil/mps_show.c Thu Apr 16 03:33:46 2020 (r360002) +++ head/usr.sbin/mpsutil/mps_show.c Thu Apr 16 04:17:06 2020 (r360003) @@ -201,6 +201,7 @@ static int show_iocfacts(int ac, char **av) { MPI2_IOC_FACTS_REPLY *facts; + uint8_t *fb; char tmpbuf[128]; int error, fd; @@ -217,6 +218,8 @@ show_iocfacts(int ac, char **av) return (errno); } + fb = (uint8_t *)facts; + #define IOCCAP "\3ScsiTaskFull" "\4DiagTrace" "\5SnapBuf" "\6ExtBuf" \ "\7EEDP" "\10BiDirTarg" "\11Multicast" "\14TransRetry" "\15IR" \ "\16EventReplay" "\17RaidAccel" "\20MSIXIndex" "\21HostDisc" \ @@ -250,6 +253,8 @@ show_iocfacts(int ac, char **av) facts->FWVersion.Struct.Major, facts->FWVersion.Struct.Minor, facts->FWVersion.Struct.Unit, facts->FWVersion.Struct.Dev); printf(" IOCRequestFrameSize: %d\n", facts->IOCRequestFrameSize); + if (is_mps == 0) + printf(" MaxChainSegmentSize: %d\n", (uint16_t)(fb[0x26])); printf(" MaxInitiators: %d\n", facts->MaxInitiators); printf(" MaxTargets: %d\n", facts->MaxTargets); printf(" MaxSasExpanders: %d\n", facts->MaxSasExpanders); @@ -267,6 +272,8 @@ show_iocfacts(int ac, char **av) printf(" MaxDevHandle: %d\n", facts->MaxDevHandle); printf("MaxPersistentEntries: %d\n", facts->MaxPersistentEntries); printf(" MinDevHandle: %d\n", facts->MinDevHandle); + if (is_mps == 0) + printf(" CurrentHostPageSize: %d\n", (uint8_t)(fb[0x3e])); free(facts); return (0); From owner-svn-src-head@freebsd.org Thu Apr 16 05:27:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6FE252B028C; Thu, 16 Apr 2020 05:27:14 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492nm22Nqyz3y4n; Thu, 16 Apr 2020 05:27:14 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4D5CD3814; Thu, 16 Apr 2020 05:27:14 +0000 (UTC) (envelope-from scottl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03G5REMD036544; Thu, 16 Apr 2020 05:27:14 GMT (envelope-from scottl@FreeBSD.org) Received: (from scottl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03G5REfN036543; Thu, 16 Apr 2020 05:27:14 GMT (envelope-from scottl@FreeBSD.org) Message-Id: <202004160527.03G5REfN036543@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: scottl set sender to scottl@FreeBSD.org using -f From: Scott Long Date: Thu, 16 Apr 2020 05:27:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360004 - head/sys/i386/i386 X-SVN-Group: head X-SVN-Commit-Author: scottl X-SVN-Commit-Paths: head/sys/i386/i386 X-SVN-Commit-Revision: 360004 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 05:27:14 -0000 Author: scottl Date: Thu Apr 16 05:27:13 2020 New Revision: 360004 URL: https://svnweb.freebsd.org/changeset/base/360004 Log: Fix ps_strings type change for i386 Modified: head/sys/i386/i386/machdep.c Modified: head/sys/i386/i386/machdep.c ============================================================================== --- head/sys/i386/i386/machdep.c Thu Apr 16 04:17:06 2020 (r360003) +++ head/sys/i386/i386/machdep.c Thu Apr 16 05:27:13 2020 (r360004) @@ -1171,7 +1171,7 @@ exec_setregs(struct thread *td, struct image_params *i regs->tf_cs = _ucodesel; /* PS_STRINGS value for BSD/OS binaries. It is 0 for non-BSD/OS. */ - regs->tf_ebx = imgp->ps_strings; + regs->tf_ebx = (register_t)imgp->ps_strings; /* * Reset the hardware debug registers if they were in use. From owner-svn-src-head@freebsd.org Thu Apr 16 08:58:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2F5892B70E8; Thu, 16 Apr 2020 08:58:54 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [IPv6:2a01:4f8:c17:6c4b::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 492tSD6X07z4DTC; Thu, 16 Apr 2020 08:58:52 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [62.141.129.235]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 1ED22260244; Thu, 16 Apr 2020 10:58:45 +0200 (CEST) Subject: Re: svn commit: r328242 - head/lib/libregex To: Kyle Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201801220312.w0M3CQsC096350@repo.freebsd.org> From: Hans Petter Selasky Message-ID: Date: Thu, 16 Apr 2020 10:58:11 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <201801220312.w0M3CQsC096350@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 492tSD6X07z4DTC X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of hps@selasky.org designates 2a01:4f8:c17:6c4b::2 as permitted sender) smtp.mailfrom=hps@selasky.org X-Spamd-Result: default: False [-4.99 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+a:mail.turbocat.net:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[selasky.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; IP_SCORE(-2.69)[ip: (-9.21), ipnet: 2a01:4f8::/29(-2.62), asn: 24940(-1.59), country: DE(-0.02)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 08:58:54 -0000 Hi Kyle, There is a sed regression between older 12.1 and 13-current likely caused by libregex changes. I will try to bisect: Can you have a look at this: Expected result: > printf "#define MEDIA_BUS_FMT_SRGGB16_1X16\t\t\t0x3020\n" | sed -e 's/.*FMT_//; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' > { "SRGGB16_1X16", MEDIA_BUS_FMT_SRGGB16_1X16 }, Bad result: > printf "#define MEDIA_BUS_FMT_SRGGB16_1X16\t\t\t0x3020\n" | sed -e 's/.*FMT_//; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' > { "SRGGB16_1X16 0x3020", MEDIA_BUS_FMT_SRGGB16_1X16 0x3020 }, A little further inspection shows \t does not work like expected in: s/\t.*//; Trying to quickly bisect. --HPS From owner-svn-src-head@freebsd.org Thu Apr 16 10:05:44 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 856092B8804; Thu, 16 Apr 2020 10:05:44 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (turbocat.net [IPv6:2a01:4f8:c17:6c4b::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 492vxM3r8fz4J00; Thu, 16 Apr 2020 10:05:43 +0000 (UTC) (envelope-from hps@selasky.org) Received: from hps2020.home.selasky.org (unknown [62.141.129.235]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 89D2C260134; Thu, 16 Apr 2020 12:05:41 +0200 (CEST) Subject: Re: svn commit: r328242 - head/lib/libregex From: Hans Petter Selasky To: Kyle Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <201801220312.w0M3CQsC096350@repo.freebsd.org> Message-ID: <7cf5f1f2-27d5-4ec8-a6e3-caac1681b1c5@selasky.org> Date: Thu, 16 Apr 2020 12:04:53 +0200 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 492vxM3r8fz4J00 X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of hps@selasky.org designates 2a01:4f8:c17:6c4b::2 as permitted sender) smtp.mailfrom=hps@selasky.org X-Spamd-Result: default: False [-4.99 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+a:mail.turbocat.net:c]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[selasky.org]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; IP_SCORE(-2.69)[ip: (-9.21), ipnet: 2a01:4f8::/29(-2.62), asn: 24940(-1.59), country: DE(-0.02)]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:24940, ipnet:2a01:4f8::/29, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 10:05:44 -0000 On 2020-04-16 10:58, Hans Petter Selasky wrote: > Hi Kyle, > > There is a sed regression between older 12.1 and 13-current likely > caused by libregex changes. I will try to bisect: > > Can you have a look at this: > > Expected result: > >> printf "#define MEDIA_BUS_FMT_SRGGB16_1X16\t\t\t0x3020\n" | sed -e >> 's/.*FMT_//; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' >> { "SRGGB16_1X16", MEDIA_BUS_FMT_SRGGB16_1X16 }, > > Bad result: > >> printf "#define MEDIA_BUS_FMT_SRGGB16_1X16\t\t\t0x3020\n" | sed -e >> 's/.*FMT_//; s/\t.*//; s/.*/{ \"&\", MEDIA_BUS_FMT_& },/;' >> { "SRGGB16_1X16            0x3020", >> MEDIA_BUS_FMT_SRGGB16_1X16            0x3020 }, > > A little further inspection shows \t does not work like expected in: > > s/\t.*//; > > Trying to quickly bisect. Hi, Running 13-current, this issues seems fixed, but there appears to be an issue with the binary pkg build cluster: http://package18.nyi.freebsd.org/data/121amd64-default-PR244494/2020-04-14_14h07m24s/logs/errors/v4l-utils-1.18.0.log https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=245501 --HPS From owner-svn-src-head@freebsd.org Thu Apr 16 12:31:12 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B836C2BC1B2; Thu, 16 Apr 2020 12:31:12 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492z9D4V6yz4RBs; Thu, 16 Apr 2020 12:31:12 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 958C58BFD; Thu, 16 Apr 2020 12:31:12 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GCVCCo003648; Thu, 16 Apr 2020 12:31:12 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GCVCFU003647; Thu, 16 Apr 2020 12:31:12 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004161231.03GCVCFU003647@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Thu, 16 Apr 2020 12:31:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360007 - head/sys/dev/mmc X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/dev/mmc X-SVN-Commit-Revision: 360007 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 12:31:12 -0000 Author: manu Date: Thu Apr 16 12:31:12 2020 New Revision: 360007 URL: https://svnweb.freebsd.org/changeset/base/360007 Log: Revert r359965 This cause board without a cd-gpio to not schedule a card detection. Modified: head/sys/dev/mmc/mmc_fdt_helpers.c Modified: head/sys/dev/mmc/mmc_fdt_helpers.c ============================================================================== --- head/sys/dev/mmc/mmc_fdt_helpers.c Thu Apr 16 11:49:13 2020 (r360006) +++ head/sys/dev/mmc/mmc_fdt_helpers.c Thu Apr 16 12:31:12 2020 (r360007) @@ -217,7 +217,7 @@ cd_card_task(void *arg, int pending __unused) /* * Card detect setup. */ -static bool +static void cd_setup(struct mmc_fdt_helper *helper, phandle_t node) { int pincaps; @@ -233,7 +233,7 @@ cd_setup(struct mmc_fdt_helper *helper, phandle_t node helper->cd_disabled = true; if (bootverbose) device_printf(dev, "Non-removable media\n"); - return (false); + return; } /* @@ -246,14 +246,14 @@ cd_setup(struct mmc_fdt_helper *helper, phandle_t node */ if (gpio_pin_get_by_ofw_property(dev, node, "cd-gpios", &helper->cd_pin)) - return (false); + return; if (gpio_pin_getcaps(helper->cd_pin, &pincaps) != 0 || !(pincaps & GPIO_PIN_INPUT)) { device_printf(dev, "Cannot read card-detect gpio pin; " "setting card-always-present flag.\n"); helper->cd_disabled = true; - return (false); + return; } /* @@ -313,8 +313,6 @@ without_interrupts: device_get_nameunit(helper->cd_pin->dev), helper->cd_pin->pin, cd_mode_str); } - - return (true); } /* @@ -356,16 +354,14 @@ mmc_fdt_gpio_setup(device_t dev, phandle_t node, struc helper->dev = dev; helper->cd_handler = handler; + cd_setup(helper, node); wp_setup(helper, node); - if (cd_setup(helper, node)) { - /* - * Schedule a card detection - */ - taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant, - &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2)); - } - + /* + * Schedule a card detection + */ + taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant, + &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2)); return (0); } From owner-svn-src-head@freebsd.org Thu Apr 16 12:32:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4B5DF2BC263; Thu, 16 Apr 2020 12:32:29 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 492zBj01q5z4RWn; Thu, 16 Apr 2020 12:32:29 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F01608D85; Thu, 16 Apr 2020 12:32:28 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GCWSCF005352; Thu, 16 Apr 2020 12:32:28 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GCWSq0005351; Thu, 16 Apr 2020 12:32:28 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004161232.03GCWSq0005351@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Thu, 16 Apr 2020 12:32:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360008 - head/sys/dev/mmc X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/dev/mmc X-SVN-Commit-Revision: 360008 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 12:32:29 -0000 Author: manu Date: Thu Apr 16 12:32:28 2020 New Revision: 360008 URL: https://svnweb.freebsd.org/changeset/base/360008 Log: mmc_fdt_helpers: Always init the timout We use the taskqueue to schedule card detection so always init it. This is a proper solution instead of r359965. MFC after: 1 month MFH: r359924 Modified: head/sys/dev/mmc/mmc_fdt_helpers.c Modified: head/sys/dev/mmc/mmc_fdt_helpers.c ============================================================================== --- head/sys/dev/mmc/mmc_fdt_helpers.c Thu Apr 16 12:31:12 2020 (r360007) +++ head/sys/dev/mmc/mmc_fdt_helpers.c Thu Apr 16 12:32:28 2020 (r360008) @@ -225,6 +225,10 @@ cd_setup(struct mmc_fdt_helper *helper, phandle_t node const char *cd_mode_str; dev = helper->dev; + + TIMEOUT_TASK_INIT(taskqueue_swi_giant, &helper->cd_delayed_task, 0, + cd_card_task, helper); + /* * If the device is flagged as non-removable, set that slot option, and * set a flag to make sdhci_fdt_gpio_get_present() always return true. @@ -294,9 +298,6 @@ cd_setup(struct mmc_fdt_helper *helper, phandle_t node } without_interrupts: - TIMEOUT_TASK_INIT(taskqueue_swi_giant, &helper->cd_delayed_task, 0, - cd_card_task, helper); - /* * If we have a readable gpio pin, but didn't successfully configure * gpio interrupts, setup a timeout task to poll the pin From owner-svn-src-head@freebsd.org Thu Apr 16 15:58:58 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F1A802C0377; Thu, 16 Apr 2020 15:58:58 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4933my66V6z4g02; Thu, 16 Apr 2020 15:58:58 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CD0DFB41E; Thu, 16 Apr 2020 15:58:58 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GFwwPr031929; Thu, 16 Apr 2020 15:58:58 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GFwwaT031928; Thu, 16 Apr 2020 15:58:58 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004161558.03GFwwaT031928@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Thu, 16 Apr 2020 15:58:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360009 - head/sys/dev/mmc X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/dev/mmc X-SVN-Commit-Revision: 360009 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 15:58:59 -0000 Author: manu Date: Thu Apr 16 15:58:58 2020 New Revision: 360009 URL: https://svnweb.freebsd.org/changeset/base/360009 Log: mmc_fdt_helpers: Drain the cd pin taskqueue in mmc_fdt_gpio_teardown We have no use for it now. MFC after: 1 month Modified: head/sys/dev/mmc/mmc_fdt_helpers.c Modified: head/sys/dev/mmc/mmc_fdt_helpers.c ============================================================================== --- head/sys/dev/mmc/mmc_fdt_helpers.c Thu Apr 16 12:32:28 2020 (r360008) +++ head/sys/dev/mmc/mmc_fdt_helpers.c Thu Apr 16 15:58:58 2020 (r360009) @@ -381,6 +381,8 @@ mmc_fdt_gpio_teardown(struct mmc_fdt_helper *helper) gpio_pin_release(helper->cd_pin); if (helper->cd_ires != NULL) bus_release_resource(helper->dev, SYS_RES_IRQ, 0, helper->cd_ires); + + taskqueue_drain_timeout(taskqueue_swi_giant, &helper->cd_delayed_task); } bool From owner-svn-src-head@freebsd.org Thu Apr 16 15:59:24 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4AFC72C03FE; Thu, 16 Apr 2020 15:59:24 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4933nS1LVQz4g7y; Thu, 16 Apr 2020 15:59:24 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 25BC0B41F; Thu, 16 Apr 2020 15:59:24 +0000 (UTC) (envelope-from rscheff@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GFxNXe032006; Thu, 16 Apr 2020 15:59:23 GMT (envelope-from rscheff@FreeBSD.org) Received: (from rscheff@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GFxNic032004; Thu, 16 Apr 2020 15:59:23 GMT (envelope-from rscheff@FreeBSD.org) Message-Id: <202004161559.03GFxNic032004@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rscheff set sender to rscheff@FreeBSD.org using -f From: Richard Scheffenegger Date: Thu, 16 Apr 2020 15:59:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360010 - in head: share/man/man7 sys/netinet X-SVN-Group: head X-SVN-Commit-Author: rscheff X-SVN-Commit-Paths: in head: share/man/man7 sys/netinet X-SVN-Commit-Revision: 360010 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 15:59:24 -0000 Author: rscheff Date: Thu Apr 16 15:59:23 2020 New Revision: 360010 URL: https://svnweb.freebsd.org/changeset/base/360010 Log: Reduce default TCP delayed ACK timeout to 40ms. Reviewed by: kbowling, tuexen Approved by: tuexen (mentor) MFC after: 2 weeks Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D23281 Modified: head/share/man/man7/tuning.7 head/sys/netinet/tcp_timer.h Modified: head/share/man/man7/tuning.7 ============================================================================== --- head/share/man/man7/tuning.7 Thu Apr 16 15:58:58 2020 (r360009) +++ head/share/man/man7/tuning.7 Thu Apr 16 15:59:23 2020 (r360010) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 30, 2017 +.Dd April 16, 2020 .Dt TUNING 7 .Os .Sh NAME @@ -435,7 +435,7 @@ number of tiny packets flowing across the network in h The .Fx delayed ACK implementation also follows the TCP protocol rule that -at least every other packet be acknowledged even if the standard 100ms +at least every other packet be acknowledged even if the standard 40ms timeout has not yet passed. Normally the worst a delayed ACK can do is slightly delay the teardown of a connection, or slightly delay the ramp-up Modified: head/sys/netinet/tcp_timer.h ============================================================================== --- head/sys/netinet/tcp_timer.h Thu Apr 16 15:58:58 2020 (r360009) +++ head/sys/netinet/tcp_timer.h Thu Apr 16 15:59:23 2020 (r360010) @@ -119,7 +119,7 @@ #define TCP_MAXRXTSHIFT 12 /* maximum retransmits */ -#define TCPTV_DELACK ( hz/10 ) /* 100ms timeout */ +#define TCPTV_DELACK ( hz/25 ) /* 40ms timeout */ /* * If we exceed this number of retransmits for a single segment, we'll consider From owner-svn-src-head@freebsd.org Thu Apr 16 16:00:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 883522C04BD; Thu, 16 Apr 2020 16:00:22 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4933pZ33ZKz4gJj; Thu, 16 Apr 2020 16:00:22 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 64421B44D; Thu, 16 Apr 2020 16:00:22 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GG0Mhu032184; Thu, 16 Apr 2020 16:00:22 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GG0L9p032181; Thu, 16 Apr 2020 16:00:21 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004161600.03GG0L9p032181@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Thu, 16 Apr 2020 16:00:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360011 - in head/sys: arm/allwinner modules/allwinner modules/allwinner/aw_mmc X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: in head/sys: arm/allwinner modules/allwinner modules/allwinner/aw_mmc X-SVN-Commit-Revision: 360011 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 16:00:22 -0000 Author: manu Date: Thu Apr 16 16:00:21 2020 New Revision: 360011 URL: https://svnweb.freebsd.org/changeset/base/360011 Log: arm: allwinner: aw_mmc: Make it possible to unload the module While here, add a makefile in sys/modules/allwinner so it is built. Also add the PNP info so devmatch will load this module automatically. MFC after: 1 month Added: head/sys/modules/allwinner/aw_mmc/ head/sys/modules/allwinner/aw_mmc/Makefile (contents, props changed) Modified: head/sys/arm/allwinner/aw_mmc.c head/sys/modules/allwinner/Makefile Modified: head/sys/arm/allwinner/aw_mmc.c ============================================================================== --- head/sys/arm/allwinner/aw_mmc.c Thu Apr 16 15:59:23 2020 (r360010) +++ head/sys/arm/allwinner/aw_mmc.c Thu Apr 16 16:00:21 2020 (r360011) @@ -163,6 +163,7 @@ static int aw_mmc_probe(device_t); static int aw_mmc_attach(device_t); static int aw_mmc_detach(device_t); static int aw_mmc_setup_dma(struct aw_mmc_softc *); +static void aw_mmc_teardown_dma(struct aw_mmc_softc *sc); static int aw_mmc_reset(struct aw_mmc_softc *); static int aw_mmc_init(struct aw_mmc_softc *); static void aw_mmc_intr(void *); @@ -559,8 +560,46 @@ fail: static int aw_mmc_detach(device_t dev) { + struct aw_mmc_softc *sc; + device_t d; - return (EBUSY); + sc = device_get_softc(dev); + + clk_disable(sc->aw_clk_mmc); + clk_disable(sc->aw_clk_ahb); + hwreset_assert(sc->aw_rst_ahb); + + mmc_fdt_gpio_teardown(&sc->mmc_helper); + + callout_drain(&sc->aw_timeoutc); + + AW_MMC_LOCK(sc); + d = sc->child; + sc->child = NULL; + AW_MMC_UNLOCK(sc); + if (d != NULL) + device_delete_child(sc->aw_dev, d); + + aw_mmc_teardown_dma(sc); + + mtx_destroy(&sc->aw_mtx); + + bus_teardown_intr(dev, sc->aw_res[AW_MMC_IRQRES], sc->aw_intrhand); + bus_release_resources(dev, aw_mmc_res_spec, sc->aw_res); + +#ifdef MMCCAM + if (sc->sim != NULL) { + mtx_lock(&sc->sim_mtx); + xpt_bus_deregister(cam_sim_path(sc->sim)); + cam_sim_free(sc->sim, FALSE); + mtx_unlock(&sc->sim_mtx); + } + + if (sc->devq != NULL) + cam_simq_free(sc->devq); +#endif + + return (0); } static void @@ -635,6 +674,21 @@ aw_mmc_setup_dma(struct aw_mmc_softc *sc) } static void +aw_mmc_teardown_dma(struct aw_mmc_softc *sc) +{ + + bus_dmamap_unload(sc->aw_dma_tag, sc->aw_dma_map); + bus_dmamem_free(sc->aw_dma_tag, sc->aw_dma_desc, sc->aw_dma_map); + if (bus_dma_tag_destroy(sc->aw_dma_tag) != 0) + device_printf(sc->aw_dev, "Cannot destroy the dma tag\n"); + + bus_dmamap_unload(sc->aw_dma_buf_tag, sc->aw_dma_buf_map); + bus_dmamap_destroy(sc->aw_dma_buf_tag, sc->aw_dma_buf_map); + if (bus_dma_tag_destroy(sc->aw_dma_buf_tag) != 0) + device_printf(sc->aw_dev, "Cannot destroy the dma buf tag\n"); +} + +static void aw_dma_cb(void *arg, bus_dma_segment_t *segs, int nsegs, int err) { int i; @@ -1519,3 +1573,4 @@ DRIVER_MODULE(aw_mmc, simplebus, aw_mmc_driver, aw_mmc #ifndef MMCCAM MMC_DECLARE_BRIDGE(aw_mmc); #endif +SIMPLEBUS_PNP_INFO(compat_data); Modified: head/sys/modules/allwinner/Makefile ============================================================================== --- head/sys/modules/allwinner/Makefile Thu Apr 16 15:59:23 2020 (r360010) +++ head/sys/modules/allwinner/Makefile Thu Apr 16 16:00:21 2020 (r360011) @@ -2,6 +2,7 @@ # Build modules specific to Allwinner. SUBDIR = \ + aw_mmc \ aw_pwm \ aw_rtc \ aw_rsb \ Added: head/sys/modules/allwinner/aw_mmc/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/modules/allwinner/aw_mmc/Makefile Thu Apr 16 16:00:21 2020 (r360011) @@ -0,0 +1,14 @@ +# $FreeBSD$ + +.PATH: ${SRCTOP}/sys/arm/allwinner + +KMOD= aw_mmc +SRCS= aw_mmc.c + +SRCS+= \ + bus_if.h \ + clknode_if.h \ + device_if.h \ + ofw_bus_if.h + +.include From owner-svn-src-head@freebsd.org Thu Apr 16 16:01:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DD9032C06B3; Thu, 16 Apr 2020 16:01:06 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4933qQ5HTTz3C2q; Thu, 16 Apr 2020 16:01:06 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id 5CB7F3C0199; Thu, 16 Apr 2020 16:01:00 +0000 (UTC) Date: Thu, 16 Apr 2020 16:01:00 +0000 From: Brooks Davis To: Scott Long Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r360004 - head/sys/i386/i386 Message-ID: <20200416160100.GB99741@spindle.one-eyed-alien.net> References: <202004160527.03G5REfN036543@repo.freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="0ntfKIWw70PvrIHh" Content-Disposition: inline In-Reply-To: <202004160527.03G5REfN036543@repo.freebsd.org> User-Agent: Mutt/1.9.4 (2018-02-28) X-Rspamd-Queue-Id: 4933qQ5HTTz3C2q X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 16:01:06 -0000 --0ntfKIWw70PvrIHh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Apr 16, 2020 at 05:27:14AM +0000, Scott Long wrote: > Author: scottl > Date: Thu Apr 16 05:27:13 2020 > New Revision: 360004 > URL: https://svnweb.freebsd.org/changeset/base/360004 >=20 > Log: > Fix ps_strings type change for i386 Thanks for the fix. I did do a make tinderbox, but missed this failure due to an unrelated riscv failure. -- Brooks --0ntfKIWw70PvrIHh Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJemIE7AAoJEKzQXbSebgfAnrYIAIvAVqmvBaQ+FVS/VotzaApl WtWInCHEkh3C3rEa6tjZT2eXxNZLrbHh1CGDmx6Sm7tOOFpm1vISwSAvCKLU2L2y apms8ngM7UIf853xw7lmlXEMPAxRmy4WK4Eb0aA8iJl5PVO6rh7Gp3VbkCtcqQUX eBEZ5QUNJ/YMpSbeucccYbsbX2ZTRzPFMe+/y+42kgtHkS0lVz/c0LPyjOWzBEu6 rE9j1bivy1/KuVZiMF+RBs02q+13L/8YuE6tLIX5ld+n+EPSFYLXJ88gSKwOPEgK qk0qeJlOmTOiE2BCZqPI6Bd+vaKRqSVnIHr/TRdeuAdRJfJOo0ZfZPfsmvSjh5I= =38V3 -----END PGP SIGNATURE----- --0ntfKIWw70PvrIHh-- From owner-svn-src-head@freebsd.org Thu Apr 16 16:37:43 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0D0882C16CA; Thu, 16 Apr 2020 16:37:43 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4934df6BDtz3Fsm; Thu, 16 Apr 2020 16:37:42 +0000 (UTC) (envelope-from scottl@samsco.org) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 90FC1864; Thu, 16 Apr 2020 12:37:40 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Thu, 16 Apr 2020 12:37:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsco.org; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm3; bh=K BjvUvcTr4K1n4q5iENi7KBHhtEJRAnvWdlxxGGfCeE=; b=DnZmkNVKC741EtOUD Puij+BzaF2eV58fy+3NFqAnao+HW7LtM55DfVluEoH/r08K46s8x3gLGXzd4obtv zFc+7DGJfhh8yCPBijT6Xi0gPyD1AbxiaiSl3xrMlNQqCDIYnhvenjs1KWh90I+u EDkQyGtsoSsFzGghowdTQVGhazRYxNx8BqF7/lsyDG16DvVhsPK1s044wEr9qraJ ifucqkuiFLK1FnZBpPfY1eRw5wDS97Akue8Bjm/tiny5/8kcvTi4KeXr2rTJFYXh O664pttF2uaWwTu5s8hYbmhBpx3LlGNB1t46gVC6/v+5uGBuXK+peuemmQDUlCHV 34iyg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=KBjvUvcTr4K1n4q5iENi7KBHhtEJRAnvWdlxxGGfC eE=; b=ybRneajLikw/3hObY3UN1ej5L14VbYlDJ/gICGE15YNmFhRvSce3EAmjw H/tzvMmKLRJVTGJ2wE8rZEb2nZEvbuHZMa9aYqPksW7fxSHY6KuWnmumP2B29/l8 /6DGNxhV54pe32B+inc6VNRHLnIvMElK8XYvp1jWoMpWzF7jBSJaCHQdGE9CcKgb 8J6RPjRCE8Gn0HaBBAFcMXrulssGy2IjQZdafO+oFWvqbc3F6L0neSBmFT43Frae 4wiTkVdpElUEVDtrqhHLeq/9DP3a7M+TnN2QALOCyZDcu/PaiFtNlt5amiYOTPOP /3LiilfqcIL0kQ9q1p4BnmWSJGUoA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrfeehgddutdefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne fuohhrthgvugcurhgvtghiphhsucdlgedtmdenucfjughrpegtggfuhfgjfffgkfhfvffo sehtjehmtdhhtddvnecuhfhrohhmpefutghothhtucfnohhnghcuoehstghothhtlhessh grmhhstghordhorhhgqeenucffohhmrghinhepfhhrvggvsghsugdrohhrghenucfkphep kedrgeeirdekledrvddufeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh grihhlfhhrohhmpehstghothhtlhesshgrmhhstghordhorhhg X-ME-Proxy: Received: from [192.168.0.129] (unknown [8.46.89.213]) by mail.messagingengine.com (Postfix) with ESMTPA id 79C373280063; Thu, 16 Apr 2020 12:37:39 -0400 (EDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3601.0.10\)) Subject: Re: svn commit: r360004 - head/sys/i386/i386 From: Scott Long In-Reply-To: <20200416160100.GB99741@spindle.one-eyed-alien.net> Date: Thu, 16 Apr 2020 10:37:38 -0600 Cc: Scott Long , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Transfer-Encoding: 7bit Message-Id: <092F8A35-5A19-4D01-9DDA-7097CAE83AD3@samsco.org> References: <202004160527.03G5REfN036543@repo.freebsd.org> <20200416160100.GB99741@spindle.one-eyed-alien.net> To: Brooks Davis X-Mailer: Apple Mail (2.3601.0.10) X-Rspamd-Queue-Id: 4934df6BDtz3Fsm X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 16:37:43 -0000 > On Apr 16, 2020, at 10:01 AM, Brooks Davis wrote: > > On Thu, Apr 16, 2020 at 05:27:14AM +0000, Scott Long wrote: >> Author: scottl >> Date: Thu Apr 16 05:27:13 2020 >> New Revision: 360004 >> URL: https://svnweb.freebsd.org/changeset/base/360004 >> >> Log: >> Fix ps_strings type change for i386 > > Thanks for the fix. I did do a make tinderbox, but missed this failure > due to an unrelated riscv failure. > Y/w, no worries. Scott From owner-svn-src-head@freebsd.org Thu Apr 16 16:50:34 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 243762C1A8B; Thu, 16 Apr 2020 16:50:34 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4934wV0CRNz3Gkv; Thu, 16 Apr 2020 16:50:34 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 026CEBF9C; Thu, 16 Apr 2020 16:50:34 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GGoX2D063603; Thu, 16 Apr 2020 16:50:33 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GGoXWg063602; Thu, 16 Apr 2020 16:50:33 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004161650.03GGoXWg063602@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Thu, 16 Apr 2020 16:50:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360012 - in head/sys/amd64: include vmm X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: in head/sys/amd64: include vmm X-SVN-Commit-Revision: 360012 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 16:50:34 -0000 Author: cem Date: Thu Apr 16 16:50:33 2020 New Revision: 360012 URL: https://svnweb.freebsd.org/changeset/base/360012 Log: vmm(4): Expose instruction decode to userspace build Permit instruction decoding logic to be compiled outside of the kernel for rapid iteration and validation. Reviewed by: grehan Differential Revision: https://reviews.freebsd.org/D24439 Modified: head/sys/amd64/include/vmm_instruction_emul.h head/sys/amd64/vmm/vmm_instruction_emul.c Modified: head/sys/amd64/include/vmm_instruction_emul.h ============================================================================== --- head/sys/amd64/include/vmm_instruction_emul.h Thu Apr 16 16:00:21 2020 (r360011) +++ head/sys/amd64/include/vmm_instruction_emul.h Thu Apr 16 16:50:33 2020 (r360012) @@ -103,6 +103,7 @@ int vm_gla2gpa(struct vm *vm, int vcpuid, struct vm_gu */ int vm_gla2gpa_nofault(struct vm *vm, int vcpuid, struct vm_guest_paging *paging, uint64_t gla, int prot, uint64_t *gpa, int *is_fault); +#endif /* _KERNEL */ void vie_init(struct vie *vie, const char *inst_bytes, int inst_length); @@ -117,9 +118,17 @@ void vie_init(struct vie *vie, const char *inst_bytes, * To skip the 'gla' verification for this or any other reason pass * in VIE_INVALID_GLA instead. */ +#ifdef _KERNEL #define VIE_INVALID_GLA (1UL << 63) /* a non-canonical address */ int vmm_decode_instruction(struct vm *vm, int cpuid, uint64_t gla, enum vm_cpu_mode cpu_mode, int csd, struct vie *vie); +#else /* !_KERNEL */ +/* + * Permit instruction decoding logic to be compiled outside of the kernel for + * rapid iteration and validation. No GLA validation is performed, obviously. + */ +int vmm_decode_instruction(enum vm_cpu_mode cpu_mode, int csd, + struct vie *vie); #endif /* _KERNEL */ #endif /* _VMM_INSTRUCTION_EMUL_H_ */ Modified: head/sys/amd64/vmm/vmm_instruction_emul.c ============================================================================== --- head/sys/amd64/vmm/vmm_instruction_emul.c Thu Apr 16 16:00:21 2020 (r360011) +++ head/sys/amd64/vmm/vmm_instruction_emul.c Thu Apr 16 16:50:33 2020 (r360012) @@ -50,9 +50,14 @@ __FBSDID("$FreeBSD$"); #include +#include #include +#include +#include +#include #include #define KASSERT(exp,msg) assert((exp)) +#define panic(...) errx(4, __VA_ARGS__) #endif /* _KERNEL */ #include @@ -1896,7 +1901,6 @@ vie_calculate_gla(enum vm_cpu_mode cpu_mode, enum vm_r return (0); } -#ifdef _KERNEL void vie_init(struct vie *vie, const char *inst_bytes, int inst_length) { @@ -1915,6 +1919,7 @@ vie_init(struct vie *vie, const char *inst_bytes, int } } +#ifdef _KERNEL static int pf_error_code(int usermode, int prot, int rsvd, uint64_t pte) { @@ -2189,6 +2194,7 @@ vmm_fetch_instruction(struct vm *vm, int vcpuid, struc vie->num_valid = inst_length; return (0); } +#endif /* _KERNEL */ static int vie_peek(struct vie *vie, uint8_t *x) @@ -2611,6 +2617,7 @@ decode_moffset(struct vie *vie) return (0); } +#ifdef _KERNEL /* * Verify that the 'guest linear address' provided as collateral of the nested * page table fault matches with our instruction decoding. @@ -2702,10 +2709,15 @@ verify_gla(struct vm *vm, int cpuid, uint64_t gla, str return (0); } +#endif /* _KERNEL */ int +#ifdef _KERNEL vmm_decode_instruction(struct vm *vm, int cpuid, uint64_t gla, enum vm_cpu_mode cpu_mode, int cs_d, struct vie *vie) +#else +vmm_decode_instruction(enum vm_cpu_mode cpu_mode, int cs_d, struct vie *vie) +#endif { if (decode_prefixes(vie, cpu_mode, cs_d)) @@ -2729,13 +2741,14 @@ vmm_decode_instruction(struct vm *vm, int cpuid, uint6 if (decode_moffset(vie)) return (-1); +#ifdef _KERNEL if ((vie->op.op_flags & VIE_OP_F_NO_GLA_VERIFICATION) == 0) { if (verify_gla(vm, cpuid, gla, vie, cpu_mode)) return (-1); } +#endif vie->decoded = 1; /* success */ return (0); } -#endif /* _KERNEL */ From owner-svn-src-head@freebsd.org Thu Apr 16 16:59:38 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2C3962C1EDC; Thu, 16 Apr 2020 16:59:38 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49356y0LYDz3HS5; Thu, 16 Apr 2020 16:59:38 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 02853C1A4; Thu, 16 Apr 2020 16:59:38 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GGxboR069869; Thu, 16 Apr 2020 16:59:37 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GGxbf0069868; Thu, 16 Apr 2020 16:59:37 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004161659.03GGxbf0069868@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Thu, 16 Apr 2020 16:59:37 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360013 - head/sys/dev/usb/controller X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/dev/usb/controller X-SVN-Commit-Revision: 360013 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 16:59:38 -0000 Author: manu Date: Thu Apr 16 16:59:37 2020 New Revision: 360013 URL: https://svnweb.freebsd.org/changeset/base/360013 Log: arm: Fix duplicate ehci DRIVER_MODULE Name each ehci driver uniquely. This remove the warning printed at each arm boot : module_register: cannot register simplebus/ehci from kernel; already loaded from kernel A similar fix was done in r333074 but imx_ehci wasn't renamed and generic_ehci wasn't present at that time. Modified: head/sys/dev/usb/controller/ehci_imx.c head/sys/dev/usb/controller/generic_ehci_fdt.c Modified: head/sys/dev/usb/controller/ehci_imx.c ============================================================================== --- head/sys/dev/usb/controller/ehci_imx.c Thu Apr 16 16:50:33 2020 (r360012) +++ head/sys/dev/usb/controller/ehci_imx.c Thu Apr 16 16:59:37 2020 (r360013) @@ -510,5 +510,5 @@ static driver_t ehci_driver = { static devclass_t ehci_devclass; -DRIVER_MODULE(ehci, simplebus, ehci_driver, ehci_devclass, 0, 0); -MODULE_DEPEND(ehci, usb, 1, 1, 1); +DRIVER_MODULE(imx_ehci, simplebus, ehci_driver, ehci_devclass, 0, 0); +MODULE_DEPEND(imx_ehci, usb, 1, 1, 1); Modified: head/sys/dev/usb/controller/generic_ehci_fdt.c ============================================================================== --- head/sys/dev/usb/controller/generic_ehci_fdt.c Thu Apr 16 16:50:33 2020 (r360012) +++ head/sys/dev/usb/controller/generic_ehci_fdt.c Thu Apr 16 16:59:37 2020 (r360013) @@ -252,5 +252,5 @@ DEFINE_CLASS_1(ehci, ehci_fdt_driver, ehci_fdt_methods static devclass_t ehci_fdt_devclass; -DRIVER_MODULE(ehci, simplebus, ehci_fdt_driver, ehci_fdt_devclass, 0, 0); -MODULE_DEPEND(ehci, usb, 1, 1, 1); +DRIVER_MODULE(generic_ehci, simplebus, ehci_fdt_driver, ehci_fdt_devclass, 0, 0); +MODULE_DEPEND(generic_ehci, usb, 1, 1, 1); From owner-svn-src-head@freebsd.org Thu Apr 16 17:20:20 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6912C2C2787; Thu, 16 Apr 2020 17:20:20 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4935Zr1pMlz3JjR; Thu, 16 Apr 2020 17:20:20 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 34E57C595; Thu, 16 Apr 2020 17:20:20 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GHKKFq082304; Thu, 16 Apr 2020 17:20:20 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GHKIJn082298; Thu, 16 Apr 2020 17:20:18 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004161720.03GHKIJn082298@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Thu, 16 Apr 2020 17:20:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360014 - in head/sys: net netinet netinet6 X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: in head/sys: net netinet netinet6 X-SVN-Commit-Revision: 360014 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 17:20:20 -0000 Author: melifaro Date: Thu Apr 16 17:20:18 2020 New Revision: 360014 URL: https://svnweb.freebsd.org/changeset/base/360014 Log: Add nhop parameter to rti_filter callback. One of the goals of the new routing KPI defined in r359823 is to entirely hide`struct rtentry` from the consumers. It will allow to improve routing subsystem internals and deliver more features much faster. This change is one of the ongoing changes to eliminate direct struct rtentry field accesses. Additionally, with the followup multipath changes, single rtentry can point to multiple nexthops. With that in mind, convert rti_filter callback used when traversing the routing table to accept pair (rt, nhop) instead of nexthop. Reviewed by: ae Differential Revision: https://reviews.freebsd.org/D24440 Modified: head/sys/net/route.c head/sys/net/route.h head/sys/net/route_temporal.c head/sys/netinet/in_rmx.c head/sys/netinet6/nd6.c head/sys/netinet6/nd6_rtr.c Modified: head/sys/net/route.c ============================================================================== --- head/sys/net/route.c Thu Apr 16 16:59:37 2020 (r360013) +++ head/sys/net/route.c Thu Apr 16 17:20:18 2020 (r360014) @@ -143,7 +143,8 @@ EVENTHANDLER_LIST_DEFINE(rt_addrmsg); static int rt_getifa_fib(struct rt_addrinfo *, u_int); static void rt_setmetrics(const struct rt_addrinfo *, struct rtentry *); -static int rt_ifdelroute(const struct rtentry *rt, void *arg); +static int rt_ifdelroute(const struct rtentry *rt, const struct nhop_object *, + void *arg); static struct rtentry *rt_unlinkrte(struct rib_head *rnh, struct rt_addrinfo *info, int *perror); static void rt_notifydelete(struct rtentry *rt, struct rt_addrinfo *info); @@ -1124,6 +1125,7 @@ rt_foreach_fib_walk_del(int family, rt_filter_f_t *fil * * Arguments: * rt pointer to rtentry + * nh pointer to nhop * arg argument passed to rnh->rnh_walktree() - detaching interface * * Returns: @@ -1131,11 +1133,11 @@ rt_foreach_fib_walk_del(int family, rt_filter_f_t *fil * errno failed - reason indicated */ static int -rt_ifdelroute(const struct rtentry *rt, void *arg) +rt_ifdelroute(const struct rtentry *rt, const struct nhop_object *nh, void *arg) { struct ifnet *ifp = arg; - if (rt->rt_ifp != ifp) + if (nh->nh_ifp != ifp) return (0); /* @@ -1203,7 +1205,7 @@ rt_unlinkrte(struct rib_head *rnh, struct rt_addrinfo } if (info->rti_filter != NULL) { - if (info->rti_filter(rt, info->rti_filterdata) == 0) { + if (info->rti_filter(rt, rt->rt_nhop, info->rti_filterdata)==0){ /* Not matched */ *perror = ENOENT; return (NULL); Modified: head/sys/net/route.h ============================================================================== --- head/sys/net/route.h Thu Apr 16 16:59:37 2020 (r360013) +++ head/sys/net/route.h Thu Apr 16 17:20:18 2020 (r360014) @@ -346,7 +346,8 @@ struct rt_msghdr { #define RTAX_BRD 7 /* for NEWADDR, broadcast or p-p dest addr */ #define RTAX_MAX 8 /* size of array to allocate */ -typedef int rt_filter_f_t(const struct rtentry *, void *); +typedef int rt_filter_f_t(const struct rtentry *, const struct nhop_object *, + void *); struct rt_addrinfo { int rti_addrs; /* Route RTF_ flags */ Modified: head/sys/net/route_temporal.c ============================================================================== --- head/sys/net/route_temporal.c Thu Apr 16 16:59:37 2020 (r360013) +++ head/sys/net/route_temporal.c Thu Apr 16 17:20:18 2020 (r360014) @@ -51,7 +51,7 @@ __FBSDID("$FreeBSD$"); * Updates time of the next nearest route expiration as a side effect. */ static int -expire_route(const struct rtentry *rt, void *arg) +expire_route(const struct rtentry *rt, const struct nhop_object *nh, void *arg) { time_t *next_callout; Modified: head/sys/netinet/in_rmx.c ============================================================================== --- head/sys/netinet/in_rmx.c Thu Apr 16 16:59:37 2020 (r360013) +++ head/sys/netinet/in_rmx.c Thu Apr 16 17:20:18 2020 (r360014) @@ -228,14 +228,15 @@ struct in_ifadown_arg { }; static int -in_ifadownkill(const struct rtentry *rt, void *xap) +in_ifadownkill(const struct rtentry *rt, const struct nhop_object *nh, + void *xap) { struct in_ifadown_arg *ap = xap; - if (rt->rt_ifa != ap->ifa) + if (nh->nh_ifa != ap->ifa) return (0); - if ((rt->rt_flags & RTF_STATIC) != 0 && ap->del == 0) + if ((nhop_get_rtflags(nh) & RTF_STATIC) != 0 && ap->del == 0) return (0); return (1); Modified: head/sys/netinet6/nd6.c ============================================================================== --- head/sys/netinet6/nd6.c Thu Apr 16 16:59:37 2020 (r360013) +++ head/sys/netinet6/nd6.c Thu Apr 16 17:20:18 2020 (r360014) @@ -62,6 +62,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -1526,14 +1527,15 @@ nd6_free(struct llentry **lnp, int gc) } static int -nd6_isdynrte(const struct rtentry *rt, void *xap) +nd6_isdynrte(const struct rtentry *rt, const struct nhop_object *nh, void *xap) { - if (rt->rt_flags == (RTF_UP | RTF_HOST | RTF_DYNAMIC)) + if (nh->nh_flags & NHF_REDIRECT) return (1); return (0); } + /* * Remove the rtentry for the given llentry, * both of which were installed by a redirect. Modified: head/sys/netinet6/nd6_rtr.c ============================================================================== --- head/sys/netinet6/nd6_rtr.c Thu Apr 16 16:59:37 2020 (r360013) +++ head/sys/netinet6/nd6_rtr.c Thu Apr 16 17:20:18 2020 (r360014) @@ -59,6 +59,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -2392,15 +2393,16 @@ in6_tmpifadd(const struct in6_ifaddr *ia0, int forcege } static int -rt6_deleteroute(const struct rtentry *rt, void *arg) +rt6_deleteroute(const struct rtentry *rt, const struct nhop_object *nh, + void *arg) { -#define SIN6(s) ((struct sockaddr_in6 *)s) struct in6_addr *gate = (struct in6_addr *)arg; + int nh_rt_flags; - if (rt->rt_gateway == NULL || rt->rt_gateway->sa_family != AF_INET6) + if (nh->gw_sa.sa_family != AF_INET6) return (0); - if (!IN6_ARE_ADDR_EQUAL(gate, &SIN6(rt->rt_gateway)->sin6_addr)) { + if (!IN6_ARE_ADDR_EQUAL(gate, &nh->gw6_sa.sin6_addr)) { return (0); } @@ -2409,14 +2411,15 @@ rt6_deleteroute(const struct rtentry *rt, void *arg) * XXX: this seems to be a bit ad-hoc. Should we consider the * 'cloned' bit instead? */ - if ((rt->rt_flags & RTF_STATIC) != 0) + nh_rt_flags = nhop_get_rtflags(nh); + if ((nh_rt_flags & RTF_STATIC) != 0) return (0); /* * We delete only host route. This means, in particular, we don't * delete default route. */ - if ((rt->rt_flags & RTF_HOST) == 0) + if ((nh_rt_flags & RTF_HOST) == 0) return (0); return (1); From owner-svn-src-head@freebsd.org Thu Apr 16 17:24:13 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F30912C2A0A; Thu, 16 Apr 2020 17:24:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4935gK6ChKz3KFJ; Thu, 16 Apr 2020 17:24:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D0777C78D; Thu, 16 Apr 2020 17:24:13 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GHODrX088234; Thu, 16 Apr 2020 17:24:13 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GHODwJ088233; Thu, 16 Apr 2020 17:24:13 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004161724.03GHODwJ088233@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Thu, 16 Apr 2020 17:24:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360015 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 360015 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 17:24:14 -0000 Author: brooks Date: Thu Apr 16 17:24:13 2020 New Revision: 360015 URL: https://svnweb.freebsd.org/changeset/base/360015 Log: style(9): end continued line with operator. Modified: head/sys/kern/kern_sysctl.c Modified: head/sys/kern/kern_sysctl.c ============================================================================== --- head/sys/kern/kern_sysctl.c Thu Apr 16 17:20:18 2020 (r360014) +++ head/sys/kern/kern_sysctl.c Thu Apr 16 17:24:13 2020 (r360015) @@ -1655,8 +1655,8 @@ sysctl_handle_string(SYSCTL_HANDLER_ARGS) * string. In ddb, don't worry about trying to make a malloced * snapshot. */ - if ((oidp->oid_kind & (CTLFLAG_WR | CTLFLAG_TUN)) == 0 || arg2 == 0 - || kdb_active) { + if ((oidp->oid_kind & (CTLFLAG_WR | CTLFLAG_TUN)) == 0 || + arg2 == 0 || kdb_active) { arg2 = strlen((char *)arg1) + 1; ro_string = 1; } From owner-svn-src-head@freebsd.org Thu Apr 16 17:41:33 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1BC3B2C2ED5; Thu, 16 Apr 2020 17:41:33 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49363J5p8qz3L2s; Thu, 16 Apr 2020 17:41:32 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C24AEC9DE; Thu, 16 Apr 2020 17:41:32 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GHfWd8099075; Thu, 16 Apr 2020 17:41:32 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GHfWAW099074; Thu, 16 Apr 2020 17:41:32 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004161741.03GHfWAW099074@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 16 Apr 2020 17:41:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360016 - head/share/man/man4 X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/share/man/man4 X-SVN-Commit-Revision: 360016 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 17:41:33 -0000 Author: jhb Date: Thu Apr 16 17:41:32 2020 New Revision: 360016 URL: https://svnweb.freebsd.org/changeset/base/360016 Log: Document TCP_TLS_MODE_TOE. Modified: head/share/man/man4/tcp.4 Modified: head/share/man/man4/tcp.4 ============================================================================== --- head/share/man/man4/tcp.4 Thu Apr 16 17:24:13 2020 (r360015) +++ head/share/man/man4/tcp.4 Thu Apr 16 17:41:32 2020 (r360016) @@ -34,7 +34,7 @@ .\" From: @(#)tcp.4 8.1 (Berkeley) 6/5/93 .\" $FreeBSD$ .\" -.Dd March 31, 2020 +.Dd April 16, 2020 .Dt TCP 4 .Os .Sh NAME @@ -341,6 +341,8 @@ socket buffer. Typically this encryption is performed in software. .It Dv TCP_TLS_MODE_IFNET TLS records are encrypted by the network interface card (NIC). +.It Dv TCP_TLS_MODE_TOE +TLS records are encrypted by the NIC using a TCP offload engine (TOE). .El .El .Pp From owner-svn-src-head@freebsd.org Thu Apr 16 17:53:24 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 29EC12C3560; Thu, 16 Apr 2020 17:53:24 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4936K00M2gz3M32; Thu, 16 Apr 2020 17:53:24 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0770FCD40; Thu, 16 Apr 2020 17:53:24 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GHrNRH007017; Thu, 16 Apr 2020 17:53:23 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GHrNFl007016; Thu, 16 Apr 2020 17:53:23 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004161753.03GHrNFl007016@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Thu, 16 Apr 2020 17:53:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360017 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 360017 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 17:53:24 -0000 Author: melifaro Date: Thu Apr 16 17:53:23 2020 New Revision: 360017 URL: https://svnweb.freebsd.org/changeset/base/360017 Log: Fix userland build broken by r360014. Modified: head/sys/net/route.h Modified: head/sys/net/route.h ============================================================================== --- head/sys/net/route.h Thu Apr 16 17:41:32 2020 (r360016) +++ head/sys/net/route.h Thu Apr 16 17:53:23 2020 (r360017) @@ -346,6 +346,7 @@ struct rt_msghdr { #define RTAX_BRD 7 /* for NEWADDR, broadcast or p-p dest addr */ #define RTAX_MAX 8 /* size of array to allocate */ +struct nhop_object; typedef int rt_filter_f_t(const struct rtentry *, const struct nhop_object *, void *); From owner-svn-src-head@freebsd.org Thu Apr 16 18:04:23 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D18FC2C3830; Thu, 16 Apr 2020 18:04:23 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com [IPv6:2607:f8b0:4864:20::733]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4936Yf6KP1z3MfP; Thu, 16 Apr 2020 18:04:22 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: by mail-qk1-x733.google.com with SMTP id j4so22254686qkc.11; Thu, 16 Apr 2020 11:04:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Gjk3mng8BzDKgYoaoPCHDvLUUkhnX2SRYBn88Vhpzy4=; b=c//YOYBWrJ40ahSK5WDeC3j0Nr8XVueWh8dmBqR3Vd+vEoXxisxZzi+VoWC8wWFWhT KDi9bcE0p1Ra8Fp0bzpZkhbqGg4u8YfuKzbWW2Jaam3aOola6iVBy74SrjWY0KeTYVEh YUFynORoJyYpikyk4JVS8L6LC5xruY2Nnf9ldSfnaE/JFjfAVDFjxVvxuNtQ7xi4TX0T 1I+qYc8J7UDAqh7PM8pGKwZDxAK2VkToGBcu6a8ZKGud2hPZwHsLIohY5Y1nNrQPniGu 9f192034aRm7uY7thApwz31qa1D8eO1AUnoUgq5tZCjmFt0xgygq7Mon85wkaXsXmCVF eJbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Gjk3mng8BzDKgYoaoPCHDvLUUkhnX2SRYBn88Vhpzy4=; b=APSHBXqCSbA28efRwjH/JXINedtOOK1ZpIQq5DkeEgJJKsnkkx4qK2xoml/9lOGuOx Cl6d0Bm4Tptz91Kn6qI2+PLj8RckY8tb18ex0F7G7TIstR6DNt7HadXEoo7mnr2k2ZAT PuFMlnrk7eHAIiSaRJ86TmH8XibaubWnMAmqhQRl2MlWaKGPwT0pDU/SjeEf+yi1YFwS dvEpGjkNJT4qRPvkOfXCa72xy339w0dcBIUc7muc48s+BxLVh35X2vxHr+N11XbHb+oI ny4MadApXgoL/QmGoeqRuInCpFbnQqhgw6U1TX/+Z84Ej5+tLBIYjoxqKzbsZyNaTTCN P+WA== X-Gm-Message-State: AGi0PuZQ4Kd+3aL8BpyAyTM/WZpMbInSfxbXktMDlzDw97VRMmhf370a 2usKysti3L8Mbb2sl2mX3zIAFAl9BwdCV77p7CAiEg== X-Google-Smtp-Source: APiQypK/k0Rc+GKe8xAOexNThURZt813rvegP5JqHWwrqDIc2vO92k1pdzgUaUYyTEmJvvstbaneyWav06WpPwy3NHc= X-Received: by 2002:a37:5284:: with SMTP id g126mr33263689qkb.51.1587060260566; Thu, 16 Apr 2020 11:04:20 -0700 (PDT) MIME-Version: 1.0 References: <202004011512.031FCpDS073591@repo.freebsd.org> In-Reply-To: <202004011512.031FCpDS073591@repo.freebsd.org> From: Adrian Chadd Date: Thu, 16 Apr 2020 11:04:07 -0700 Message-ID: Subject: Re: svn commit: r359511 - head/bin/sh To: Edward Tomasz Napierala Cc: src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4936Yf6KP1z3MfP X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=c//YOYBW; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of adrianchadd@gmail.com designates 2607:f8b0:4864:20::733 as permitted sender) smtp.mailfrom=adrianchadd@gmail.com X-Spamd-Result: default: False [-3.00 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[text/plain]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; TO_DN_SOME(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; IP_SCORE(0.00)[ip: (-9.10), ipnet: 2607:f8b0::/32(-0.33), asn: 15169(-0.43), country: US(-0.05)]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[3.3.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; IP_SCORE_FREEMAIL(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 18:04:23 -0000 hi! This broke compiling using external gcc toolchain for mips32. I'm going to go poke at it a bit more but it looks like there's a /lot/ of warnings. :-) -adrian On Wed, 1 Apr 2020 at 08:13, Edward Tomasz Napierala wrote: > > Author: trasz > Date: Wed Apr 1 15:12:51 2020 > New Revision: 359511 > URL: https://svnweb.freebsd.org/changeset/base/359511 > > Log: > Bump WARNS for sh(1). > > Reviewed by: jilles > MFC after: 2 weeks > Sponsored by: DARPA > Differential Revision: https://reviews.freebsd.org/D24181 > > Modified: > head/bin/sh/Makefile > > Modified: head/bin/sh/Makefile > ============================================================================== > --- head/bin/sh/Makefile Wed Apr 1 15:10:26 2020 (r359510) > +++ head/bin/sh/Makefile Wed Apr 1 15:12:51 2020 (r359511) > @@ -30,8 +30,6 @@ LIBADD= edit > CFLAGS+=-DSHELL -I. -I${.CURDIR} > # for debug: > # DEBUG_FLAGS+= -g -DDEBUG=2 -fno-inline > -WARNS?= 2 > -WFORMAT=0 > > .PATH: ${.CURDIR}/bltin \ > ${.CURDIR:H}/kill \ From owner-svn-src-head@freebsd.org Thu Apr 16 18:37:12 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1423F2C495C; Thu, 16 Apr 2020 18:37:12 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4937HW6pwPz3QJ1; Thu, 16 Apr 2020 18:37:11 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E4BDDD584; Thu, 16 Apr 2020 18:37:11 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GIbBCP032678; Thu, 16 Apr 2020 18:37:11 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GIbBP5032676; Thu, 16 Apr 2020 18:37:11 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004161837.03GIbBP5032676@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Thu, 16 Apr 2020 18:37:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360018 - in head/sys/arm: mv nvidia X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: in head/sys/arm: mv nvidia X-SVN-Commit-Revision: 360018 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 18:37:12 -0000 Author: manu Date: Thu Apr 16 18:37:11 2020 New Revision: 360018 URL: https://svnweb.freebsd.org/changeset/base/360018 Log: arm: Fix duplicate pcib DRIVER_MODULE Name each pcib driver uniquely. This remove the warning printed at each arm boot : module_register: cannot register simplebus/pcib from kernel; already loaded from kernel Modified: head/sys/arm/mv/mv_pci.c head/sys/arm/nvidia/tegra_pcie.c Modified: head/sys/arm/mv/mv_pci.c ============================================================================== --- head/sys/arm/mv/mv_pci.c Thu Apr 16 17:53:23 2020 (r360017) +++ head/sys/arm/mv/mv_pci.c Thu Apr 16 18:37:11 2020 (r360018) @@ -409,8 +409,8 @@ static driver_t mv_pcib_driver = { devclass_t pcib_devclass; -DRIVER_MODULE(pcib, ofwbus, mv_pcib_driver, pcib_devclass, 0, 0); -DRIVER_MODULE(pcib, pcib_ctrl, mv_pcib_driver, pcib_devclass, 0, 0); +DRIVER_MODULE(mv_pcib, ofwbus, mv_pcib_driver, pcib_devclass, 0, 0); +DRIVER_MODULE(mv_pcib, pcib_ctrl, mv_pcib_driver, pcib_devclass, 0, 0); static struct mtx pcicfg_mtx; Modified: head/sys/arm/nvidia/tegra_pcie.c ============================================================================== --- head/sys/arm/nvidia/tegra_pcie.c Thu Apr 16 17:53:23 2020 (r360017) +++ head/sys/arm/nvidia/tegra_pcie.c Thu Apr 16 18:37:11 2020 (r360018) @@ -1630,7 +1630,7 @@ static device_method_t tegra_pcib_methods[] = { }; static devclass_t pcib_devclass; -DEFINE_CLASS_1(pcib, tegra_pcib_driver, tegra_pcib_methods, +DEFINE_CLASS_1(tegra_pcib, tegra_pcib_driver, tegra_pcib_methods, sizeof(struct tegra_pcib_softc), ofw_pci_driver); -DRIVER_MODULE(pcib, simplebus, tegra_pcib_driver, pcib_devclass, +DRIVER_MODULE(tegra_pcib, simplebus, tegra_pcib_driver, pcib_devclass, NULL, NULL); From owner-svn-src-head@freebsd.org Thu Apr 16 20:07:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 33D2D2C6D46; Thu, 16 Apr 2020 20:07:36 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4939Hq5BJLz4351; Thu, 16 Apr 2020 20:07:35 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AD542E6E8; Thu, 16 Apr 2020 20:07:35 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GK7ZhH089627; Thu, 16 Apr 2020 20:07:35 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GK7Zgr089624; Thu, 16 Apr 2020 20:07:35 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <202004162007.03GK7Zgr089624@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Thu, 16 Apr 2020 20:07:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360019 - head/tests/sys/kern X-SVN-Group: head X-SVN-Commit-Author: jtl X-SVN-Commit-Paths: head/tests/sys/kern X-SVN-Commit-Revision: 360019 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 20:07:36 -0000 Author: jtl Date: Thu Apr 16 20:07:34 2020 New Revision: 360019 URL: https://svnweb.freebsd.org/changeset/base/360019 Log: Add a regression test for the changes in r359922 and r359923. Note that the Python code has been tested on both Python 2.7 and 3.7. Reviewed by: olivier MFC after: 2 weeks Sponsored by: Netflix, Inc. Added: head/tests/sys/kern/sonewconn_overflow.py (contents, props changed) head/tests/sys/kern/sonewconn_overflow.sh (contents, props changed) Modified: head/tests/sys/kern/Makefile Modified: head/tests/sys/kern/Makefile ============================================================================== --- head/tests/sys/kern/Makefile Thu Apr 16 18:37:11 2020 (r360018) +++ head/tests/sys/kern/Makefile Thu Apr 16 20:07:34 2020 (r360019) @@ -1,5 +1,7 @@ # $FreeBSD$ +PACKAGE= tests + TESTSRC= ${SRCTOP}/contrib/netbsd-tests/kernel .PATH: ${SRCTOP}/sys/kern @@ -24,6 +26,12 @@ ATF_TESTS_C+= waitpid_nohang ATF_TESTS_C+= pdeathsig ATF_TESTS_SH+= coredump_phnum_test +ATF_TESTS_SH+= sonewconn_overflow +TEST_METADATA.sonewconn_overflow+= required_programs="python" +TEST_METADATA.sonewconn_overflow+= required_user="root" + +${PACKAGE}FILES+= sonewconn_overflow.py +${PACKAGE}FILESMODE_sonewconn_overflow.py=0555 BINDIR= ${TESTSDIR} PROGS+= coredump_phnum_helper Added: head/tests/sys/kern/sonewconn_overflow.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tests/sys/kern/sonewconn_overflow.py Thu Apr 16 20:07:34 2020 (r360019) @@ -0,0 +1,156 @@ +#!/usr/bin/env python +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2020 Netflix, Inc. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $FreeBSD$ +# + +import socket +import os +import sys +from subprocess import check_output +from time import sleep + +V4HOST = '127.0.0.1' +V6HOST = '::1' +TCPPORT = 65432 +UNIXSOCK = '/tmp/testsock' +TYPE = socket.SOCK_STREAM + +class GenericTest(object): + def __init__(self): + raise NotImplementedError("Subclass must override the __init__ method") + def setup(self, af, addr): + self.sockets = [] + self.ls = None + self.ls = socket.socket(af, TYPE) + self.ls.bind(addr) + self.ls.listen(2) + self.af = af + self.addr = addr + def doTest(self, cnt): + rv = 0 + for i in range(0, cnt): + try: + s = socket.socket(self.af, TYPE) + s.connect(self.addr) + except: + continue + self.sockets.append(s) + rv += 1 + return rv + def __del__(self): + for s in self.sockets: + s.close() + if self.ls is not None: + self.ls.close() + +class IPv4Test(GenericTest): + def __init__(self): + super(IPv4Test, self).setup(socket.AF_INET, (V4HOST, TCPPORT)) + +class IPv6Test(GenericTest): + def __init__(self): + super(IPv6Test, self).setup(socket.AF_INET6, (V6HOST, TCPPORT)) + +class UnixTest(GenericTest): + def __init__(self): + super(UnixTest, self).setup(socket.AF_UNIX, UNIXSOCK) + def __del__(self): + super(UnixTest, self).__del__() + os.remove(UNIXSOCK) + +class LogChecker(): + def __init__(self): + # Figure out how big the dmesg buffer is. + self.dmesgOff = len(check_output("/sbin/dmesg")) + + def checkForMsg(self, expected): + newOff = self.dmesgOff + for i in range(0, 3): + dmesg = check_output("/sbin/dmesg") + newOff = len(dmesg) + if newOff >= self.dmesgOff: + dmesg = dmesg[self.dmesgOff:] + for line in dmesg.splitlines(): + try: + if str(line).find(expected) >= 0: + self.dmesgOff = newOff + return True + except: + pass + sleep(0.5) + self.dmesgOff = newOff + return False + +def main(): + ip4 = IPv4Test() + ip6 = IPv6Test() + lcl = UnixTest() + lc = LogChecker() + failure = False + + STDLOGMSG = "Listen queue overflow: 4 already in queue awaiting acceptance (1 occurrences)" + + V4LOGMSG = "(%s:%d (proto 6)): %s" % (V4HOST, TCPPORT, STDLOGMSG) + ip4.doTest(5) + if not lc.checkForMsg(V4LOGMSG): + failure = True + sys.stderr.write("IPv4 log message not seen\n") + else: + ip4.doTest(1) + if lc.checkForMsg(V4LOGMSG): + failure = True + sys.stderr.write("Subsequent IPv4 log message not suppressed\n") + + V6LOGMSG = "([%s]:%d (proto 6)): %s" % (V6HOST, TCPPORT, STDLOGMSG) + ip6.doTest(5) + if not lc.checkForMsg(V6LOGMSG): + failure = True + sys.stderr.write("IPv6 log message not seen\n") + else: + ip6.doTest(1) + if lc.checkForMsg(V6LOGMSG): + failure = True + sys.stderr.write("Subsequent IPv6 log message not suppressed\n") + + UNIXLOGMSG = "(local:%s): %s" % (UNIXSOCK, STDLOGMSG) + lcl.doTest(5) + if not lc.checkForMsg(UNIXLOGMSG): + failure = True + sys.stderr.write("Unix socket log message not seen\n") + else: + lcl.doTest(1) + if lc.checkForMsg(UNIXLOGMSG): + failure = True + sys.stderr.write("Subsequent Unix socket log message not suppressed\n") + + if failure: + sys.exit(1) + sys.exit(0) + +if __name__ == '__main__': + main() Added: head/tests/sys/kern/sonewconn_overflow.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/tests/sys/kern/sonewconn_overflow.sh Thu Apr 16 20:07:34 2020 (r360019) @@ -0,0 +1,43 @@ +# $FreeBSD$ +#- +# SPDX-License-Identifier: BSD-2-Clause +# +# Copyright (c) 2020 Netflix, Inc. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# + +atf_test_case sonewconn_overflow_01 +sonewconn_overflow_01_head() +{ + atf_set descr "Check the operation of the sonewconn() listen queue overflow messages" +} + +sonewconn_overflow_01_body() +{ + atf_check -s exit:0 $(atf_get_srcdir)/sonewconn_overflow.py +} + +atf_init_test_cases() +{ + atf_add_test_case sonewconn_overflow_01 +} From owner-svn-src-head@freebsd.org Thu Apr 16 20:16:05 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E30C42C7010; Thu, 16 Apr 2020 20:16:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4939Td4kxkz43fB; Thu, 16 Apr 2020 20:16:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from John-Baldwins-MacBook-Pro-164.local (unknown [IPv6:2601:648:8881:1e90:9fa:7193:e80c:3f89]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: jhb) by smtp.freebsd.org (Postfix) with ESMTPSA id 2C04956A4; Thu, 16 Apr 2020 20:16:05 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Subject: Re: svn commit: r360018 - in head/sys/arm: mv nvidia To: Emmanuel Vadot , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202004161837.03GIbBP5032676@repo.freebsd.org> From: John Baldwin Autocrypt: addr=jhb@FreeBSD.org; keydata= mQGiBETQ+XcRBADMFybiq69u+fJRy/0wzqTNS8jFfWaBTs5/OfcV7wWezVmf9sgwn8TW0Dk0 c9MBl0pz+H01dA2ZSGZ5fXlmFIsee1WEzqeJzpiwd/pejPgSzXB9ijbLHZ2/E0jhGBcVy5Yo /Tw5+U/+laeYKu2xb0XPvM0zMNls1ah5OnP9a6Ql6wCgupaoMySb7DXm2LHD1Z9jTsHcAQMD /1jzh2BoHriy/Q2s4KzzjVp/mQO5DSm2z14BvbQRcXU48oAosHA1u3Wrov6LfPY+0U1tG47X 1BGfnQH+rNAaH0livoSBQ0IPI/8WfIW7ub4qV6HYwWKVqkDkqwcpmGNDbz3gfaDht6nsie5Z pcuCcul4M9CW7Md6zzyvktjnbz61BADGDCopfZC4of0Z3Ka0u8Wik6UJOuqShBt1WcFS8ya1 oB4rc4tXfSHyMF63aPUBMxHR5DXeH+EO2edoSwViDMqWk1jTnYza51rbGY+pebLQOVOxAY7k do5Ordl3wklBPMVEPWoZ61SdbcjhHVwaC5zfiskcxj5wwXd2E9qYlBqRg7QeSm9obiBCYWxk d2luIDxqaGJARnJlZUJTRC5vcmc+iGAEExECACAFAkTQ+awCGwMGCwkIBwMCBBUCCAMEFgID AQIeAQIXgAAKCRBy3lIGd+N/BI6RAJ9S97fvbME+3hxzE3JUyUZ6vTewDACdE1stFuSfqMvM jomvZdYxIYyTUpC5Ag0ERND5ghAIAPwsO0B7BL+bz8sLlLoQktGxXwXQfS5cInvL17Dsgnr3 1AKa94j9EnXQyPEj7u0d+LmEe6CGEGDh1OcGFTMVrof2ZzkSy4+FkZwMKJpTiqeaShMh+Goj XlwIMDxyADYvBIg3eN5YdFKaPQpfgSqhT+7El7w+wSZZD8pPQuLAnie5iz9C8iKy4/cMSOrH YUK/tO+Nhw8Jjlw94Ik0T80iEhI2t+XBVjwdfjbq3HrJ0ehqdBwukyeJRYKmbn298KOFQVHO EVbHA4rF/37jzaMadK43FgJ0SAhPPF5l4l89z5oPu0b/+5e2inA3b8J3iGZxywjM+Csq1tqz hltEc7Q+E08AAwUIAL+15XH8bPbjNJdVyg2CMl10JNW2wWg2Q6qdljeaRqeR6zFus7EZTwtX sNzs5bP8y51PSUDJbeiy2RNCNKWFMndM22TZnk3GNG45nQd4OwYK0RZVrikalmJY5Q6m7Z16 4yrZgIXFdKj2t8F+x613/SJW1lIr9/bDp4U9tw0V1g3l2dFtD3p3ZrQ3hpoDtoK70ioIAjjH aIXIAcm3FGZFXy503DOA0KaTWwvOVdYCFLm3zWuSOmrX/GsEc7ovasOWwjPn878qVjbUKWwx Q4QkF4OhUV9zPtf9tDSAZ3x7QSwoKbCoRCZ/xbyTUPyQ1VvNy/mYrBcYlzHodsaqUDjHuW+I SQQYEQIACQUCRND5ggIbDAAKCRBy3lIGd+N/BCO8AJ9j1dWVQWxw/YdTbEyrRKOY8YZNwwCf afMAg8QvmOWnHx3wl8WslCaXaE8= Message-ID: <6614bf49-40cf-b714-cdb5-d41bbcabe8f5@FreeBSD.org> Date: Thu, 16 Apr 2020 13:16:04 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 MIME-Version: 1.0 In-Reply-To: <202004161837.03GIbBP5032676@repo.freebsd.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 20:16:05 -0000 On 4/16/20 11:37 AM, Emmanuel Vadot wrote: > Author: manu > Date: Thu Apr 16 18:37:11 2020 > New Revision: 360018 > URL: https://svnweb.freebsd.org/changeset/base/360018 > > Log: > arm: Fix duplicate pcib DRIVER_MODULE > > Name each pcib driver uniquely. > This remove the warning printed at each arm boot : > module_register: cannot register simplebus/pcib from kernel; already loaded from kernel > > Modified: head/sys/arm/nvidia/tegra_pcie.c > ============================================================================== > --- head/sys/arm/nvidia/tegra_pcie.c Thu Apr 16 17:53:23 2020 (r360017) > +++ head/sys/arm/nvidia/tegra_pcie.c Thu Apr 16 18:37:11 2020 (r360018) > @@ -1630,7 +1630,7 @@ static device_method_t tegra_pcib_methods[] = { > }; > > static devclass_t pcib_devclass; > -DEFINE_CLASS_1(pcib, tegra_pcib_driver, tegra_pcib_methods, > +DEFINE_CLASS_1(tegra_pcib, tegra_pcib_driver, tegra_pcib_methods, > sizeof(struct tegra_pcib_softc), ofw_pci_driver); I think this line you want to revert. The first argument to DEFINE_CLASS_* is the class name (the string name in a manual driver_t) and that needs to stay "pcib" here. The change to DRIVER_MODULE() in this file is correct though. -- John Baldwin From owner-svn-src-head@freebsd.org Thu Apr 16 20:17:25 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9C5D52C709E; Thu, 16 Apr 2020 20:17:25 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4939W93bCVz43nL; Thu, 16 Apr 2020 20:17:25 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7630CE91A; Thu, 16 Apr 2020 20:17:25 +0000 (UTC) (envelope-from jtl@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GKHPT7095931; Thu, 16 Apr 2020 20:17:25 GMT (envelope-from jtl@FreeBSD.org) Received: (from jtl@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GKHPKc095929; Thu, 16 Apr 2020 20:17:25 GMT (envelope-from jtl@FreeBSD.org) Message-Id: <202004162017.03GKHPKc095929@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jtl set sender to jtl@FreeBSD.org using -f From: "Jonathan T. Looney" Date: Thu, 16 Apr 2020 20:17:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360020 - in head/sys: netinet netinet6 X-SVN-Group: head X-SVN-Commit-Author: jtl X-SVN-Commit-Paths: in head/sys: netinet netinet6 X-SVN-Commit-Revision: 360020 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 20:17:25 -0000 Author: jtl Date: Thu Apr 16 20:17:24 2020 New Revision: 360020 URL: https://svnweb.freebsd.org/changeset/base/360020 Log: Avoid calling protocol drain routines more than once per reclamation event. mb_reclaim() calls the protocol drain routines for each protocol in each domain. Some protocols exist in more than one domain and share drain routines. In the case of SCTP, it also uses the same drain routine for its SOCK_SEQPACKET and SOCK_STREAM entries in the same domain. On systems with INET, INET6, and SCTP all defined, mb_reclaim() calls sctp_drain() four times. On systems with INET and INET6 defined, mb_reclaim() calls tcp_drain() twice. mb_reclaim() is the only in-tree caller of the pr_drain protocol entry. Eliminate this duplication by ensuring that each pr_drain routine is only specified for one protocol entry in one domain. Reviewed by: tuexen MFC after: 2 weeks Sponsored by: Netflix, Inc. Differential Revision: https://reviews.freebsd.org/D24418 Modified: head/sys/netinet/in_proto.c head/sys/netinet6/in6_proto.c Modified: head/sys/netinet/in_proto.c ============================================================================== --- head/sys/netinet/in_proto.c Thu Apr 16 20:07:34 2020 (r360019) +++ head/sys/netinet/in_proto.c Thu Apr 16 20:17:24 2020 (r360020) @@ -163,7 +163,7 @@ struct protosw inetsw[] = { .pr_input = sctp_input, .pr_ctlinput = sctp_ctlinput, .pr_ctloutput = sctp_ctloutput, - .pr_drain = sctp_drain, + .pr_drain = NULL, /* Covered by the SOCK_SEQPACKET entry. */ .pr_usrreqs = &sctp_usrreqs }, #endif /* SCTP */ Modified: head/sys/netinet6/in6_proto.c ============================================================================== --- head/sys/netinet6/in6_proto.c Thu Apr 16 20:07:34 2020 (r360019) +++ head/sys/netinet6/in6_proto.c Thu Apr 16 20:17:24 2020 (r360020) @@ -172,11 +172,11 @@ struct protosw inet6sw[] = { .pr_input = tcp6_input, .pr_ctlinput = tcp6_ctlinput, .pr_ctloutput = tcp_ctloutput, -#ifndef INET /* don't call initialization and timeout routines twice */ +#ifndef INET /* don't call initialization, timeout, and drain routines twice */ .pr_init = tcp_init, .pr_slowtimo = tcp_slowtimo, -#endif .pr_drain = tcp_drain, +#endif .pr_usrreqs = &tcp6_usrreqs, }, #ifdef SCTP @@ -188,8 +188,8 @@ struct protosw inet6sw[] = { .pr_input = sctp6_input, .pr_ctlinput = sctp6_ctlinput, .pr_ctloutput = sctp_ctloutput, +#ifndef INET /* Do not call initialization and drain routines twice. */ .pr_drain = sctp_drain, -#ifndef INET /* Do not call initialization twice. */ .pr_init = sctp_init, #endif .pr_usrreqs = &sctp6_usrreqs @@ -202,7 +202,7 @@ struct protosw inet6sw[] = { .pr_input = sctp6_input, .pr_ctlinput = sctp6_ctlinput, .pr_ctloutput = sctp_ctloutput, - .pr_drain = sctp_drain, + .pr_drain = NULL, /* Covered by the SOCK_SEQPACKET entry. */ .pr_usrreqs = &sctp6_usrreqs }, #endif /* SCTP */ From owner-svn-src-head@freebsd.org Thu Apr 16 20:44:24 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 48E022C7C69; Thu, 16 Apr 2020 20:44:24 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493B6J1DTHz45cR; Thu, 16 Apr 2020 20:44:24 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2144BEF49; Thu, 16 Apr 2020 20:44:24 +0000 (UTC) (envelope-from manu@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GKiNoR014329; Thu, 16 Apr 2020 20:44:23 GMT (envelope-from manu@FreeBSD.org) Received: (from manu@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GKiNCn014328; Thu, 16 Apr 2020 20:44:23 GMT (envelope-from manu@FreeBSD.org) Message-Id: <202004162044.03GKiNCn014328@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: manu set sender to manu@FreeBSD.org using -f From: Emmanuel Vadot Date: Thu, 16 Apr 2020 20:44:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360021 - head/sys/arm/nvidia X-SVN-Group: head X-SVN-Commit-Author: manu X-SVN-Commit-Paths: head/sys/arm/nvidia X-SVN-Commit-Revision: 360021 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 20:44:24 -0000 Author: manu Date: Thu Apr 16 20:44:23 2020 New Revision: 360021 URL: https://svnweb.freebsd.org/changeset/base/360021 Log: arm: nvidia: pcie: Rename class name to pcib Reported by: jhb Modified: head/sys/arm/nvidia/tegra_pcie.c Modified: head/sys/arm/nvidia/tegra_pcie.c ============================================================================== --- head/sys/arm/nvidia/tegra_pcie.c Thu Apr 16 20:17:24 2020 (r360020) +++ head/sys/arm/nvidia/tegra_pcie.c Thu Apr 16 20:44:23 2020 (r360021) @@ -1630,7 +1630,7 @@ static device_method_t tegra_pcib_methods[] = { }; static devclass_t pcib_devclass; -DEFINE_CLASS_1(tegra_pcib, tegra_pcib_driver, tegra_pcib_methods, +DEFINE_CLASS_1(pcib, tegra_pcib_driver, tegra_pcib_methods, sizeof(struct tegra_pcib_softc), ofw_pci_driver); DRIVER_MODULE(tegra_pcib, simplebus, tegra_pcib_driver, pcib_devclass, NULL, NULL); From owner-svn-src-head@freebsd.org Thu Apr 16 20:45:55 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 039282C7CEE; Thu, 16 Apr 2020 20:45:55 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493B8266Zpz45l6; Thu, 16 Apr 2020 20:45:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CD2F1EF4A; Thu, 16 Apr 2020 20:45:54 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GKjsbj014483; Thu, 16 Apr 2020 20:45:54 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GKjsMG014482; Thu, 16 Apr 2020 20:45:54 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004162045.03GKjsMG014482@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 16 Apr 2020 20:45:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360022 - head/sys/mips/conf X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/mips/conf X-SVN-Commit-Revision: 360022 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 20:45:55 -0000 Author: jhb Date: Thu Apr 16 20:45:54 2020 New Revision: 360022 URL: https://svnweb.freebsd.org/changeset/base/360022 Log: Add 'gpio' since mmc now requires gpio_if.h. Modified: head/sys/mips/conf/std.XLP Modified: head/sys/mips/conf/std.XLP ============================================================================== --- head/sys/mips/conf/std.XLP Thu Apr 16 20:44:23 2020 (r360021) +++ head/sys/mips/conf/std.XLP Thu Apr 16 20:45:54 2020 (r360022) @@ -113,6 +113,7 @@ device cfi device cfid # MMC/SD +device gpio device mmc # MMC/SD bus device mmcsd # MMC/SD memory card device sdhci # Generic PCI SD Host Controller From owner-svn-src-head@freebsd.org Thu Apr 16 20:46:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 72DC12C7D5C; Thu, 16 Apr 2020 20:46:36 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493B8r2QBBz45sQ; Thu, 16 Apr 2020 20:46:36 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4E46BEF4C; Thu, 16 Apr 2020 20:46:36 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GKkaFN014592; Thu, 16 Apr 2020 20:46:36 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GKkanX014591; Thu, 16 Apr 2020 20:46:36 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004162046.03GKkanX014591@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Thu, 16 Apr 2020 20:46:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360023 - head/sys/powerpc/aim X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/powerpc/aim X-SVN-Commit-Revision: 360023 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 20:46:36 -0000 Author: jhb Date: Thu Apr 16 20:46:35 2020 New Revision: 360023 URL: https://svnweb.freebsd.org/changeset/base/360023 Log: Use %zu to print a size_t value instead of %ju. This fixes the build for 32-bit kernels. Modified: head/sys/powerpc/aim/mmu_oea64.c Modified: head/sys/powerpc/aim/mmu_oea64.c ============================================================================== --- head/sys/powerpc/aim/mmu_oea64.c Thu Apr 16 20:45:54 2020 (r360022) +++ head/sys/powerpc/aim/mmu_oea64.c Thu Apr 16 20:46:35 2020 (r360023) @@ -928,7 +928,7 @@ moea64_mid_bootstrap(mmu_t mmup, vm_offset_t kernelsta } if (boothowto & RB_VERBOSE) { - printf("mmu_oea64: bpvo pool entries = %d, bpvo pool size = %ju MB\n", + printf("mmu_oea64: bpvo pool entries = %d, bpvo pool size = %zu MB\n", moea64_bpvo_pool_size, moea64_bpvo_pool_size*sizeof(struct pvo_entry) / 1048576); } From owner-svn-src-head@freebsd.org Thu Apr 16 21:53:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 9C0912C947A; Thu, 16 Apr 2020 21:53:19 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493Cdq3byJz49yQ; Thu, 16 Apr 2020 21:53:19 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5C8CFFD42; Thu, 16 Apr 2020 21:53:19 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GLrJ9i058181; Thu, 16 Apr 2020 21:53:19 GMT (envelope-from brooks@FreeBSD.org) Received: (from brooks@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GLrHfm058172; Thu, 16 Apr 2020 21:53:17 GMT (envelope-from brooks@FreeBSD.org) Message-Id: <202004162153.03GLrHfm058172@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: brooks set sender to brooks@FreeBSD.org using -f From: Brooks Davis Date: Thu, 16 Apr 2020 21:53:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360024 - in head/sys: amd64/linux amd64/linux32 arm64/linux compat/freebsd32 i386/linux kern powerpc/powerpc sys X-SVN-Group: head X-SVN-Commit-Author: brooks X-SVN-Commit-Paths: in head/sys: amd64/linux amd64/linux32 arm64/linux compat/freebsd32 i386/linux kern powerpc/powerpc sys X-SVN-Commit-Revision: 360024 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 21:53:19 -0000 Author: brooks Date: Thu Apr 16 21:53:17 2020 New Revision: 360024 URL: https://svnweb.freebsd.org/changeset/base/360024 Log: Convert canary, execpathp, and pagesizes to pointers. Use AUXARGS_ENTRY_PTR to export these pointers. This is a followup to r359987 and r359988. Reviewed by: jhb Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24446 Modified: head/sys/amd64/linux/linux_sysvec.c head/sys/amd64/linux32/linux32_sysvec.c head/sys/arm64/linux/linux_sysvec.c head/sys/compat/freebsd32/freebsd32_misc.c head/sys/i386/linux/linux_sysvec.c head/sys/kern/imgact_elf.c head/sys/kern/kern_exec.c head/sys/powerpc/powerpc/elf_common.c head/sys/sys/imgact.h Modified: head/sys/amd64/linux/linux_sysvec.c ============================================================================== --- head/sys/amd64/linux/linux_sysvec.c Thu Apr 16 20:46:35 2020 (r360023) +++ head/sys/amd64/linux/linux_sysvec.c Thu Apr 16 21:53:17 2020 (r360024) @@ -254,9 +254,9 @@ linux_copyout_auxargs(struct image_params *imgp, uintp AUXARGS_ENTRY(pos, AT_EGID, imgp->proc->p_ucred->cr_svgid); AUXARGS_ENTRY(pos, LINUX_AT_SECURE, issetugid); AUXARGS_ENTRY(pos, LINUX_AT_PLATFORM, PTROUT(linux_platform)); - AUXARGS_ENTRY(pos, LINUX_AT_RANDOM, imgp->canary); + AUXARGS_ENTRY_PTR(pos, LINUX_AT_RANDOM, imgp->canary); if (imgp->execpathp != 0) - AUXARGS_ENTRY(pos, LINUX_AT_EXECFN, imgp->execpathp); + AUXARGS_ENTRY_PTR(pos, LINUX_AT_EXECFN, imgp->execpathp); if (args->execfd != -1) AUXARGS_ENTRY(pos, AT_EXECFD, args->execfd); AUXARGS_ENTRY(pos, AT_NULL, 0); @@ -315,8 +315,8 @@ linux_copyout_strings(struct image_params *imgp, uintp if (execpath_len != 0) { destp -= execpath_len; destp = rounddown2(destp, sizeof(void *)); - imgp->execpathp = destp; - error = copyout(imgp->execpath, (void *)destp, execpath_len); + imgp->execpathp = (void *)destp; + error = copyout(imgp->execpath, imgp->execpathp, execpath_len); if (error != 0) return (error); } @@ -324,8 +324,8 @@ linux_copyout_strings(struct image_params *imgp, uintp /* Prepare the canary for SSP. */ arc4rand(canary, sizeof(canary), 0); destp -= roundup(sizeof(canary), sizeof(void *)); - imgp->canary = destp; - error = copyout(canary, (void *)destp, sizeof(canary)); + imgp->canary = (void *)destp; + error = copyout(canary, imgp->canary, sizeof(canary)); if (error != 0) return (error); Modified: head/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- head/sys/amd64/linux32/linux32_sysvec.c Thu Apr 16 20:46:35 2020 (r360023) +++ head/sys/amd64/linux32/linux32_sysvec.c Thu Apr 16 21:53:17 2020 (r360024) @@ -742,8 +742,8 @@ linux_copyout_strings(struct image_params *imgp, uintp if (execpath_len != 0) { destp -= execpath_len; destp = rounddown2(destp, sizeof(uint32_t)); - imgp->execpathp = destp; - error = copyout(imgp->execpath, (void *)destp, execpath_len); + imgp->execpathp = (void *)destp; + error = copyout(imgp->execpath, imgp->execpathp, execpath_len); if (error != 0) return (error); } @@ -751,8 +751,8 @@ linux_copyout_strings(struct image_params *imgp, uintp /* Prepare the canary for SSP. */ arc4rand(canary, sizeof(canary), 0); destp -= roundup(sizeof(canary), sizeof(uint32_t)); - imgp->canary = destp; - error = copyout(canary, (void *)destp, sizeof(canary)); + imgp->canary = (void *)destp; + error = copyout(canary, imgp->canary, sizeof(canary)); if (error != 0) return (error); Modified: head/sys/arm64/linux/linux_sysvec.c ============================================================================== --- head/sys/arm64/linux/linux_sysvec.c Thu Apr 16 20:46:35 2020 (r360023) +++ head/sys/arm64/linux/linux_sysvec.c Thu Apr 16 21:53:17 2020 (r360024) @@ -180,9 +180,9 @@ linux_copyout_auxargs(struct image_params *imgp, uintp #if 0 /* LINUXTODO: implement arm64 LINUX_AT_PLATFORM */ AUXARGS_ENTRY(pos, LINUX_AT_PLATFORM, PTROUT(linux_platform)); #endif - AUXARGS_ENTRY(pos, LINUX_AT_RANDOM, imgp->canary); + AUXARGS_ENTRY_PTR(pos, LINUX_AT_RANDOM, imgp->canary); if (imgp->execpathp != 0) - AUXARGS_ENTRY(pos, LINUX_AT_EXECFN, imgp->execpathp); + AUXARGS_ENTRY_PTR(pos, LINUX_AT_EXECFN, imgp->execpathp); if (args->execfd != -1) AUXARGS_ENTRY(pos, AT_EXECFD, args->execfd); AUXARGS_ENTRY(pos, AT_NULL, 0); @@ -236,8 +236,8 @@ linux_copyout_strings(struct image_params *imgp, uintp if (execpath_len != 0) { destp -= execpath_len; destp = rounddown2(destp, sizeof(void *)); - imgp->execpathp = destp; - error = copyout(imgp->execpath, (void *)destp, execpath_len); + imgp->execpathp = (void *)destp; + error = copyout(imgp->execpath, imgp->execpathp, execpath_len); if (error != 0) return (error); } @@ -245,8 +245,8 @@ linux_copyout_strings(struct image_params *imgp, uintp /* Prepare the canary for SSP. */ arc4rand(canary, sizeof(canary), 0); destp -= roundup(sizeof(canary), sizeof(void *)); - imgp->canary = destp; - error = copyout(canary, (void *)destp, sizeof(canary)); + imgp->canary = (void *)destp; + error = copyout(canary, imgp->canary, sizeof(canary)); if (error != 0) return (error); Modified: head/sys/compat/freebsd32/freebsd32_misc.c ============================================================================== --- head/sys/compat/freebsd32/freebsd32_misc.c Thu Apr 16 20:46:35 2020 (r360023) +++ head/sys/compat/freebsd32/freebsd32_misc.c Thu Apr 16 21:53:17 2020 (r360024) @@ -3161,8 +3161,8 @@ freebsd32_copyout_strings(struct image_params *imgp, u */ if (execpath_len != 0) { destp -= execpath_len; - imgp->execpathp = destp; - error = copyout(imgp->execpath, (void *)destp, execpath_len); + imgp->execpathp = (void *)destp; + error = copyout(imgp->execpath, imgp->execpathp, execpath_len); if (error != 0) return (error); } @@ -3172,8 +3172,8 @@ freebsd32_copyout_strings(struct image_params *imgp, u */ arc4rand(canary, sizeof(canary), 0); destp -= sizeof(canary); - imgp->canary = destp; - error = copyout(canary, (void *)destp, sizeof(canary)); + imgp->canary = (void *)destp; + error = copyout(canary, imgp->canary, sizeof(canary)); if (error != 0) return (error); imgp->canarylen = sizeof(canary); @@ -3185,8 +3185,8 @@ freebsd32_copyout_strings(struct image_params *imgp, u pagesizes32[i] = (uint32_t)pagesizes[i]; destp -= sizeof(pagesizes32); destp = rounddown2(destp, sizeof(uint32_t)); - imgp->pagesizes = destp; - error = copyout(pagesizes32, (void *)destp, sizeof(pagesizes32)); + imgp->pagesizes = (void *)destp; + error = copyout(pagesizes32, imgp->pagesizes, sizeof(pagesizes32)); if (error != 0) return (error); imgp->pagesizeslen = sizeof(pagesizes32); Modified: head/sys/i386/linux/linux_sysvec.c ============================================================================== --- head/sys/i386/linux/linux_sysvec.c Thu Apr 16 20:46:35 2020 (r360023) +++ head/sys/i386/linux/linux_sysvec.c Thu Apr 16 21:53:17 2020 (r360024) @@ -237,9 +237,9 @@ linux_copyout_auxargs(struct image_params *imgp, uintp AUXARGS_ENTRY(pos, AT_GID, imgp->proc->p_ucred->cr_rgid); AUXARGS_ENTRY(pos, AT_EGID, imgp->proc->p_ucred->cr_svgid); AUXARGS_ENTRY(pos, LINUX_AT_PLATFORM, PTROUT(uplatform)); - AUXARGS_ENTRY(pos, LINUX_AT_RANDOM, imgp->canary); + AUXARGS_ENTRY_PTR(pos, LINUX_AT_RANDOM, imgp->canary); if (imgp->execpathp != 0) - AUXARGS_ENTRY(pos, LINUX_AT_EXECFN, imgp->execpathp); + AUXARGS_ENTRY_PTR(pos, LINUX_AT_EXECFN, imgp->execpathp); if (args->execfd != -1) AUXARGS_ENTRY(pos, AT_EXECFD, args->execfd); AUXARGS_ENTRY(pos, AT_NULL, 0); @@ -301,8 +301,8 @@ linux_copyout_strings(struct image_params *imgp, uintp if (execpath_len != 0) { destp -= execpath_len; destp = rounddown2(destp, sizeof(void *)); - imgp->execpathp = destp; - error = copyout(imgp->execpath, (void *)destp, execpath_len); + imgp->execpathp = (void *)destp; + error = copyout(imgp->execpath, imgp->execpathp, execpath_len); if (error != 0) return (error); } @@ -310,8 +310,8 @@ linux_copyout_strings(struct image_params *imgp, uintp /* Prepare the canary for SSP. */ arc4rand(canary, sizeof(canary), 0); destp -= roundup(sizeof(canary), sizeof(void *)); - imgp->canary = destp; - error = copyout(canary, (void *)destp, sizeof(canary)); + imgp->canary = (void *)destp; + error = copyout(canary, imgp->canary, sizeof(canary)); if (error != 0) return (error); Modified: head/sys/kern/imgact_elf.c ============================================================================== --- head/sys/kern/imgact_elf.c Thu Apr 16 20:46:35 2020 (r360023) +++ head/sys/kern/imgact_elf.c Thu Apr 16 21:53:17 2020 (r360024) @@ -1349,16 +1349,16 @@ __elfN(freebsd_copyout_auxargs)(struct image_params *i AUXARGS_ENTRY(pos, AT_BASE, args->base); AUXARGS_ENTRY(pos, AT_EHDRFLAGS, args->hdr_eflags); if (imgp->execpathp != 0) - AUXARGS_ENTRY(pos, AT_EXECPATH, imgp->execpathp); + AUXARGS_ENTRY_PTR(pos, AT_EXECPATH, imgp->execpathp); AUXARGS_ENTRY(pos, AT_OSRELDATE, imgp->proc->p_ucred->cr_prison->pr_osreldate); if (imgp->canary != 0) { - AUXARGS_ENTRY(pos, AT_CANARY, imgp->canary); + AUXARGS_ENTRY_PTR(pos, AT_CANARY, imgp->canary); AUXARGS_ENTRY(pos, AT_CANARYLEN, imgp->canarylen); } AUXARGS_ENTRY(pos, AT_NCPUS, mp_ncpus); if (imgp->pagesizes != 0) { - AUXARGS_ENTRY(pos, AT_PAGESIZES, imgp->pagesizes); + AUXARGS_ENTRY_PTR(pos, AT_PAGESIZES, imgp->pagesizes); AUXARGS_ENTRY(pos, AT_PAGESIZESLEN, imgp->pagesizeslen); } if (imgp->sysent->sv_timekeep_base != 0) { Modified: head/sys/kern/kern_exec.c ============================================================================== --- head/sys/kern/kern_exec.c Thu Apr 16 20:46:35 2020 (r360023) +++ head/sys/kern/kern_exec.c Thu Apr 16 21:53:17 2020 (r360024) @@ -1571,8 +1571,8 @@ exec_copyout_strings(struct image_params *imgp, uintpt if (execpath_len != 0) { destp -= execpath_len; destp = rounddown2(destp, sizeof(void *)); - imgp->execpathp = destp; - error = copyout(imgp->execpath, (void *)destp, execpath_len); + imgp->execpathp = (void *)destp; + error = copyout(imgp->execpath, imgp->execpathp, execpath_len); if (error != 0) return (error); } @@ -1582,8 +1582,8 @@ exec_copyout_strings(struct image_params *imgp, uintpt */ arc4rand(canary, sizeof(canary), 0); destp -= sizeof(canary); - imgp->canary = destp; - error = copyout(canary, (void *)destp, sizeof(canary)); + imgp->canary = (void *)destp; + error = copyout(canary, imgp->canary, sizeof(canary)); if (error != 0) return (error); imgp->canarylen = sizeof(canary); @@ -1593,8 +1593,8 @@ exec_copyout_strings(struct image_params *imgp, uintpt */ destp -= szps; destp = rounddown2(destp, sizeof(void *)); - imgp->pagesizes = destp; - error = copyout(pagesizes, (void *)destp, szps); + imgp->pagesizes = (void *)destp; + error = copyout(pagesizes, imgp->pagesizes, szps); if (error != 0) return (error); imgp->pagesizeslen = szps; Modified: head/sys/powerpc/powerpc/elf_common.c ============================================================================== --- head/sys/powerpc/powerpc/elf_common.c Thu Apr 16 20:46:35 2020 (r360023) +++ head/sys/powerpc/powerpc/elf_common.c Thu Apr 16 21:53:17 2020 (r360024) @@ -54,16 +54,16 @@ __elfN(powerpc_copyout_auxargs)(struct image_params *i AUXARGS_ENTRY(pos, AT_OLD_BASE, args->base); AUXARGS_ENTRY(pos, AT_OLD_EHDRFLAGS, args->hdr_eflags); if (imgp->execpathp != 0) - AUXARGS_ENTRY(pos, AT_OLD_EXECPATH, imgp->execpathp); + AUXARGS_ENTRY_PTR(pos, AT_OLD_EXECPATH, imgp->execpathp); AUXARGS_ENTRY(pos, AT_OLD_OSRELDATE, imgp->proc->p_ucred->cr_prison->pr_osreldate); if (imgp->canary != 0) { - AUXARGS_ENTRY(pos, AT_OLD_CANARY, imgp->canary); + AUXARGS_ENTRY_PTR(pos, AT_OLD_CANARY, imgp->canary); AUXARGS_ENTRY(pos, AT_OLD_CANARYLEN, imgp->canarylen); } AUXARGS_ENTRY(pos, AT_OLD_NCPUS, mp_ncpus); if (imgp->pagesizes != 0) { - AUXARGS_ENTRY(pos, AT_OLD_PAGESIZES, imgp->pagesizes); + AUXARGS_ENTRY_PTR(pos, AT_OLD_PAGESIZES, imgp->pagesizes); AUXARGS_ENTRY(pos, AT_OLD_PAGESIZESLEN, imgp->pagesizeslen); } if (imgp->sysent->sv_timekeep_base != 0) { Modified: head/sys/sys/imgact.h ============================================================================== --- head/sys/sys/imgact.h Thu Apr 16 20:46:35 2020 (r360023) +++ head/sys/sys/imgact.h Thu Apr 16 21:53:17 2020 (r360024) @@ -81,11 +81,11 @@ struct image_params { void *argv; /* pointer to argv (user space) */ void *envv; /* pointer to envv (user space) */ char *execpath; - unsigned long execpathp; + void *execpathp; char *freepath; - unsigned long canary; + void *canary; int canarylen; - unsigned long pagesizes; + void *pagesizes; int pagesizeslen; vm_prot_t stack_prot; u_long stack_sz; From owner-svn-src-head@freebsd.org Thu Apr 16 21:56:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3521A2C955B; Thu, 16 Apr 2020 21:56:53 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493Cjw54vkz4B92; Thu, 16 Apr 2020 21:56:52 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A7B46FD4D; Thu, 16 Apr 2020 21:56:52 +0000 (UTC) (envelope-from cperciva@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GLuqQe058433; Thu, 16 Apr 2020 21:56:52 GMT (envelope-from cperciva@FreeBSD.org) Received: (from cperciva@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GLuqgw058432; Thu, 16 Apr 2020 21:56:52 GMT (envelope-from cperciva@FreeBSD.org) Message-Id: <202004162156.03GLuqgw058432@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cperciva set sender to cperciva@FreeBSD.org using -f From: Colin Percival Date: Thu, 16 Apr 2020 21:56:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360025 - head/sys/dev/acpica X-SVN-Group: head X-SVN-Commit-Author: cperciva X-SVN-Commit-Paths: head/sys/dev/acpica X-SVN-Commit-Revision: 360025 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 21:56:53 -0000 Author: cperciva Date: Thu Apr 16 21:56:52 2020 New Revision: 360025 URL: https://svnweb.freebsd.org/changeset/base/360025 Log: Alert devd when acpi_video brightness changes On my Dell Latitude 7390 laptop, the brightness hotkeys (Fn+) send ACPI notifications which acpi_video handles by adjusting its brightness setting; but ACPI does not actually do anything with the backlight. Announcing brightness changes via devd makes it possible to close the loop by triggering the intel_backlight utility to perform the required backlight adjustment. Reviewed by: imp MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D24424 Modified: head/sys/dev/acpica/acpi_video.c Modified: head/sys/dev/acpica/acpi_video.c ============================================================================== --- head/sys/dev/acpica/acpi_video.c Thu Apr 16 21:53:17 2020 (r360024) +++ head/sys/dev/acpica/acpi_video.c Thu Apr 16 21:56:52 2020 (r360025) @@ -1036,6 +1036,7 @@ vo_get_brightness(ACPI_HANDLE handle) static void vo_set_brightness(ACPI_HANDLE handle, int level) { + char notify_buf[16]; ACPI_STATUS status; ACPI_SERIAL_ASSERT(video_output); @@ -1043,6 +1044,8 @@ vo_set_brightness(ACPI_HANDLE handle, int level) if (ACPI_FAILURE(status)) printf("can't evaluate %s._BCM - %s\n", acpi_name(handle), AcpiFormatException(status)); + snprintf(notify_buf, sizeof(notify_buf), "notify=%d", level); + devctl_notify("ACPI", "Video", "brightness", notify_buf); } static UINT32 From owner-svn-src-head@freebsd.org Thu Apr 16 22:05:40 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 2C91D2C97D8; Thu, 16 Apr 2020 22:05:40 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: from mail-yb1-xb2a.google.com (mail-yb1-xb2a.google.com [IPv6:2607:f8b0:4864:20::b2a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493Cw40Ppdz4Bfg; Thu, 16 Apr 2020 22:05:39 +0000 (UTC) (envelope-from oliver.pntr@gmail.com) Received: by mail-yb1-xb2a.google.com with SMTP id h205so2892020ybg.6; Thu, 16 Apr 2020 15:05:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=AcPmcl8gmujn/5WqoGYLiwg8KzYHnqxu1zngmCIrHTM=; b=t/x65eC1Z73eOXlEXrwraNvXkdd/54HbERzsUs8Cf5qbiV6tGgnK1jkSYR6NOy/+Ve FN0cT6WNSMUoUjLF5lGJa/iuJT5UGvKjn5eU5xo4l5VzRc/R+RHiHttj+yaBGS5v8QAI RM3Y8GMBVcBZ1lpCmE78NF6m0l0Hjs3rinSUYzGHE7R/k5CA5/scv/YrnNQtwjZK99DI 4zIqJaTNLvSpe0rLZ2Kabieq6JSTFNTpuR6eyRiX0JTUFiiiRZd+B71sxkH7dhlbRGVC g/9guCJ2HLQe6THdHiAQq+Ifd1kVXWpueeQ6LiGAzuFpwrTwGer3oT560PI6Dtr/R93Z 03Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=AcPmcl8gmujn/5WqoGYLiwg8KzYHnqxu1zngmCIrHTM=; b=qQ4kMtSzVT1+GAAxCbebKnOJBdQcd1T5ybttclYaHePCIxSCWYJEBPQMuuaZzW01pz fDRJ430IZ8pZrdOYXJkM2UMwmvvzgrNpLWgc3lMK7tRo3o7r/g38Gas5+zDmrst74x1q AxnLUsJdnydxiHh5+j6pIOZtjx16WzXtO7vDtc2iyLEzCqJ90+1uAZII95bMmpLaSOa5 5xyrfxIcu2tE48Dx7L4f//fhcOvkgK0vQQz9sleWm8atWDEqWxJG7gTz4NhPM126r25Z U4x2o2x+DeAEQIB3V68I2wOOlpj6dLlUS1zDKxmLNnE/dxVYayU3GqxZcak0FBjfcdNN lFng== X-Gm-Message-State: AGi0PubGlUvyAuMFEiS/aNJ/+gbfNXA3xGNscJBEckyf+mLv/JEmkIQj Y6RL7Qad+452TFGozXBikLONNimyM+yezZIUoU3Kyw== X-Google-Smtp-Source: APiQypLQgjdUsZZcehn+teSV4C8yJX42l8AMUNPx+Xbsn2ja3b/6OTq0bhixyTkWAsmAIzbvZvyJ6qn+VpuX3roRmf0= X-Received: by 2002:a25:bacd:: with SMTP id a13mr729010ybk.461.1587074738839; Thu, 16 Apr 2020 15:05:38 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a25:7308:0:0:0:0:0 with HTTP; Thu, 16 Apr 2020 15:05:38 -0700 (PDT) In-Reply-To: <202004162156.03GLuqgw058432@repo.freebsd.org> References: <202004162156.03GLuqgw058432@repo.freebsd.org> From: Oliver Pinter Date: Fri, 17 Apr 2020 00:05:38 +0200 Message-ID: Subject: Re: svn commit: r360025 - head/sys/dev/acpica To: Colin Percival Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" X-Rspamd-Queue-Id: 493Cw40Ppdz4Bfg X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 22:05:40 -0000 On Thursday, April 16, 2020, Colin Percival wrote: > Author: cperciva > Date: Thu Apr 16 21:56:52 2020 > New Revision: 360025 > URL: https://svnweb.freebsd.org/changeset/base/360025 > > Log: > Alert devd when acpi_video brightness changes > > On my Dell Latitude 7390 laptop, the brightness hotkeys > (Fn+) send ACPI notifications which acpi_video > handles by adjusting its brightness setting; but ACPI does not > actually do anything with the backlight. > > Announcing brightness changes via devd makes it possible to close > the loop by triggering the intel_backlight utility to perform the > required backlight adjustment. > > Reviewed by: imp > MFC after: 3 days > Differential Revision: https://reviews.freebsd.org/D24424 > > Modified: > head/sys/dev/acpica/acpi_video.c Please add this to release notes! > > Modified: head/sys/dev/acpica/acpi_video.c > ============================================================ > ================== > --- head/sys/dev/acpica/acpi_video.c Thu Apr 16 21:53:17 2020 > (r360024) > +++ head/sys/dev/acpica/acpi_video.c Thu Apr 16 21:56:52 2020 > (r360025) > @@ -1036,6 +1036,7 @@ vo_get_brightness(ACPI_HANDLE handle) > static void > vo_set_brightness(ACPI_HANDLE handle, int level) > { > + char notify_buf[16]; > ACPI_STATUS status; > > ACPI_SERIAL_ASSERT(video_output); > @@ -1043,6 +1044,8 @@ vo_set_brightness(ACPI_HANDLE handle, int level) > if (ACPI_FAILURE(status)) > printf("can't evaluate %s._BCM - %s\n", > acpi_name(handle), AcpiFormatException(status)); > + snprintf(notify_buf, sizeof(notify_buf), "notify=%d", level); > + devctl_notify("ACPI", "Video", "brightness", notify_buf); > } > > static UINT32 > _______________________________________________ > svn-src-head@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscribe@freebsd.org" > From owner-svn-src-head@freebsd.org Thu Apr 16 22:11:49 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BCA6E2C99CC for ; Thu, 16 Apr 2020 22:11:49 +0000 (UTC) (envelope-from cperciva@freebsd.org) Received: from mail.tarsnap.com (mail.tarsnap.com [54.86.246.204]) by mx1.freebsd.org (Postfix) with SMTP id 493D392zqcz4BvQ for ; Thu, 16 Apr 2020 22:11:49 +0000 (UTC) (envelope-from cperciva@freebsd.org) Received: (qmail 40624 invoked from network); 16 Apr 2020 22:11:48 -0000 Received: from unknown (HELO exbuntu.daemonology.net) (127.0.0.1) by mail.tarsnap.com with SMTP; 16 Apr 2020 22:11:48 -0000 Received: (qmail 11211 invoked from network); 16 Apr 2020 22:12:15 -0000 Received: from unknown (HELO ?127.0.0.1?) (127.0.0.1) by clamshell.daemonology.net with SMTP; 16 Apr 2020 22:12:15 -0000 Subject: Re: svn commit: r360025 - head/sys/dev/acpica To: Oliver Pinter Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" References: <202004162156.03GLuqgw058432@repo.freebsd.org> From: Colin Percival Autocrypt: addr=cperciva@freebsd.org; prefer-encrypt=mutual; keydata= mQGhBElrAAcRBACDfDys4ZtK+ErCJ1HAzYeteKpm3OEsvT/49AjUTLihkF79HhIKrCQU+1KC zv7BwHCMLb6hq30As9L7iFKG7n5QFLFC4Te/VcITUnWHMG/c3ViLOfJGvi+9/nOEHaM1dVJY D6tEp5yM1nHmVQpo9932j4KGuGFR0LhOK5IHXOSfGwCgxSFDPdgxe2OEjWxjGgY+oV3EafcD +JROXCTjlcQiG/OguQH4Vks3mhHfFnEppLxTkDuYgHZQiUtpcT9ssH5khgqoTyMar05OUdAj ZIhNbWDh4LgTj+7ZmvLhXT5Zxw8LX9d7T36aTB8XDQSenDqEtinMWOb0TCBBLbsB8EFG1WTT ESbZci9jJS5yhtktuZoY/eM8uXMD/3k4FWFO80VRRkELSp+XSy/VlSQjyi/rhl2nQq/oOA9F oJbDaB0yq9VNhxP+uFBzBWSqeIX0t1ZWLtNfVFr4TRP5hihI5ICrg/0OpqgisKsU2NFe9xyO hyJLYmfD8ebpDJ/9k30C7Iju9pVrwLm1QgS4S2fqJRcR+U4WbjvP7CgStCVDb2xpbiBQZXJj aXZhbCA8Y3BlcmNpdmFARnJlZUJTRC5vcmc+iGEEExECACEFAklrAI4CGwMHCwkIBwMCAQQV AggDBBYCAwECHgECF4AACgkQOM7KaQxqam6CdwCfQpS2a4bNO8/PX9hP1YnHE+M8BdwAoLwu CIxGuzK7pNBNUyVMWhy11hH+uQINBElrAAcQCAD3ZLMIsP4CIDoJORg+YY0lqLVBgcnF7pFb 4Uy2+KvdWofN+DKH61rZLjgXXkNE9M4EQC1B4lGttBP8IY2gs41y3AUogGdyFbidq99rCBz7 LTsgARHwFxZoaHmXyiZLEU1QZuMqwPZV1mCviRhN5E3rRqYNXVcrnXAAuhBpvNyj/ntHvcDN 2/m+ochiuBYueU4kX3lHya7sOj+mTsndcWmQ9soOUyr8O0r/BG088bMn4qqtUw4dl5/pglXk jbl7uOOPinKf0WVd2r6M0wLPJCD4NPHrCWRLLLAjwfjrtoSRvXxDbXhCdgGBa72+K8eYLzVs hgq7tJOoBWzjVK6XRxR7AAMGB/9Mo3iJ2DxqDecd02KCB5BsFDICbJGhPltU7FwrtbC7djSb XUrwsEVLHi4st4cbdGNCWCrp0BRezXZKohKnNAPFOTK++ZfgeKxrV2sJod+Q9RILF86tQ4XF 7A7Yme5hy92t/WgiU4vc/fWbgP8gV/19f8nunaT2E9NSa70mZFjZNu4iuwThoUUO5CV3Wo0Y UISsnRK8XD1+LR3A2qVyLiFRwh/miC1hgLFCTGCQ3GLxZeZzIpYSlGdQJ0L5lixW5ZQD9r1I 8i/8zhE6qRFAM0upUMI3Gt1Oq2w03DiXrZU0Fu/R8Rm8rlnkQKA+95mRTUq1xL5P5NZIi4gJ Z569OPMFiEkEGBECAAkFAklrAAcCGwwACgkQOM7KaQxqam41igCfbaldnFTu5uAdrnrghESv EI3CAo8AoLkNMks1pThl2BJNRm4CtTK9xZeH Message-ID: Date: Thu, 16 Apr 2020 15:12:15 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 493D392zqcz4BvQ X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.96 / 15.00]; TAGGED_RCPT(0.00)[]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-0.98)[-0.976,0]; ASN(0.00)[asn:14618, ipnet:54.86.0.0/16, country:US]; NEURAL_HAM_LONG(-0.98)[-0.980,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 22:11:49 -0000 On 2020-04-16 15:05, Oliver Pinter wrote: > On Thursday, April 16, 2020, Colin Percival > wrote: > Log: >   Alert devd when acpi_video brightness changes > > Please add this to release notes! I considered that, but so far I don't have any evidence that other systems exist with the same half-working ACPI. Unless you're aware of people who are seeing the same "hw.apci.video.lcd0.brightness changes but the backlight doesn't" syndrome? -- Colin Percival Security Officer Emeritus, FreeBSD | The power to serve Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From owner-svn-src-head@freebsd.org Thu Apr 16 23:28:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 50EEA2CB24E; Thu, 16 Apr 2020 23:28:48 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493Fm01TWVz4GZ5; Thu, 16 Apr 2020 23:28:48 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 295DC18E92; Thu, 16 Apr 2020 23:28:48 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GNSmg0014719; Thu, 16 Apr 2020 23:28:48 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GNSlKx014718; Thu, 16 Apr 2020 23:28:47 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <202004162328.03GNSlKx014718@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Thu, 16 Apr 2020 23:28:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360026 - in head/sys/net: . route X-SVN-Group: head X-SVN-Commit-Author: adrian X-SVN-Commit-Paths: in head/sys/net: . route X-SVN-Commit-Revision: 360026 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 23:28:48 -0000 Author: adrian Date: Thu Apr 16 23:28:47 2020 New Revision: 360026 URL: https://svnweb.freebsd.org/changeset/base/360026 Log: Remove an duplicate definition of nhops_dump_sysctl() One of the source files included both nhop.h and shared.h, leading to this clashing. Tested with: mips-gcc cross toolchain Modified: head/sys/net/route/nhop.h head/sys/net/rtsock.c Modified: head/sys/net/route/nhop.h ============================================================================== --- head/sys/net/route/nhop.h Thu Apr 16 21:56:52 2020 (r360025) +++ head/sys/net/route/nhop.h Thu Apr 16 23:28:47 2020 (r360026) @@ -177,8 +177,6 @@ uint32_t nhop_get_idx(const struct nhop_object *nh); enum nhop_type nhop_get_type(const struct nhop_object *nh); int nhop_get_rtflags(const struct nhop_object *nh); -int nhops_dump_sysctl(struct rib_head *rh, struct sysctl_req *w); - #endif /* _KERNEL */ /* Kernel <> userland structures */ Modified: head/sys/net/rtsock.c ============================================================================== --- head/sys/net/rtsock.c Thu Apr 16 21:56:52 2020 (r360025) +++ head/sys/net/rtsock.c Thu Apr 16 23:28:47 2020 (r360026) @@ -78,6 +78,7 @@ #include #endif #include +#include #ifdef COMPAT_FREEBSD32 #include From owner-svn-src-head@freebsd.org Thu Apr 16 23:29:49 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B894B2CB2C3; Thu, 16 Apr 2020 23:29:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493Fn94VdBz4Ghb; Thu, 16 Apr 2020 23:29:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 95B3F18E94; Thu, 16 Apr 2020 23:29:49 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GNTnc2014832; Thu, 16 Apr 2020 23:29:49 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GNTnZJ014831; Thu, 16 Apr 2020 23:29:49 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <202004162329.03GNTnZJ014831@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Thu, 16 Apr 2020 23:29:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360027 - head/stand/libsa X-SVN-Group: head X-SVN-Commit-Author: adrian X-SVN-Commit-Paths: head/stand/libsa X-SVN-Commit-Revision: 360027 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 23:29:49 -0000 Author: adrian Date: Thu Apr 16 23:29:49 2020 New Revision: 360027 URL: https://svnweb.freebsd.org/changeset/base/360027 Log: [libsa] Fix typecast of pointer for st_dev This code was trying to use a pointer value for st_dev, which is definitely not a pointer. Instead, cast to uintptr_t so it becomes a non-pointer value before casting it. Tested: mips-gcc cross compile, mips32 build Modified: head/stand/libsa/pkgfs.c Modified: head/stand/libsa/pkgfs.c ============================================================================== --- head/stand/libsa/pkgfs.c Thu Apr 16 23:28:47 2020 (r360026) +++ head/stand/libsa/pkgfs.c Thu Apr 16 23:29:49 2020 (r360027) @@ -399,7 +399,7 @@ pkg_stat(struct open_file *f, struct stat *sb) sb->st_size = tf->tf_size; sb->st_blocks = (tf->tf_size + 511) / 512; sb->st_mtime = pkg_atol(tf->tf_hdr.ut_mtime, 12); - sb->st_dev = (off_t)tf->tf_pkg; + sb->st_dev = (off_t)((uintptr_t)tf->tf_pkg); sb->st_ino = tf->tf_ofs; /* unique per tf_pkg */ return (0); } From owner-svn-src-head@freebsd.org Thu Apr 16 23:31:40 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1F79A2CB351; Thu, 16 Apr 2020 23:31:40 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493FqJ031bz4H1Z; Thu, 16 Apr 2020 23:31:40 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F120D18F02; Thu, 16 Apr 2020 23:31:39 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03GNVdUj018937; Thu, 16 Apr 2020 23:31:39 GMT (envelope-from adrian@FreeBSD.org) Received: (from adrian@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03GNVdou018936; Thu, 16 Apr 2020 23:31:39 GMT (envelope-from adrian@FreeBSD.org) Message-Id: <202004162331.03GNVdou018936@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: adrian set sender to adrian@FreeBSD.org using -f From: Adrian Chadd Date: Thu, 16 Apr 2020 23:31:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360028 - head/bin/sh X-SVN-Group: head X-SVN-Commit-Author: adrian X-SVN-Commit-Paths: head/bin/sh X-SVN-Commit-Revision: 360028 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 Apr 2020 23:31:40 -0000 Author: adrian Date: Thu Apr 16 23:31:39 2020 New Revision: 360028 URL: https://svnweb.freebsd.org/changeset/base/360028 Log: [sh] Fix a "may be unused" warning on mips-gcc mips-gcc for mips32 was complaining that c was potentially used before being set. Setting it to 0 before calling fdgetsc() looks like the right thing to do in this instance; there's an explicit check for c == 0 later on. Tested: mips-gcc mips32 build, running /bin/sh on mips32 Modified: head/bin/sh/miscbltin.c Modified: head/bin/sh/miscbltin.c ============================================================================== --- head/bin/sh/miscbltin.c Thu Apr 16 23:29:49 2020 (r360027) +++ head/bin/sh/miscbltin.c Thu Apr 16 23:31:39 2020 (r360028) @@ -245,6 +245,7 @@ readcmd(int argc __unused, char **argv __unused) lastnonifs = lastnonifsws = -1; fdctx_init(STDIN_FILENO, &fdctx); for (;;) { + c = 0; nread = fdgetc(&fdctx, &c); if (nread == -1) { if (errno == EINTR) { From owner-svn-src-head@freebsd.org Fri Apr 17 02:09:31 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DF16A2CE3F2; Fri, 17 Apr 2020 02:09:31 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493KKR5Y9xz4PJq; Fri, 17 Apr 2020 02:09:31 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B9E2C1AD36; Fri, 17 Apr 2020 02:09:31 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03H29VQW015117; Fri, 17 Apr 2020 02:09:31 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03H29VRx015116; Fri, 17 Apr 2020 02:09:31 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004170209.03H29VRx015116@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Fri, 17 Apr 2020 02:09:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360031 - head/sys/security/audit X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/sys/security/audit X-SVN-Commit-Revision: 360031 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 02:09:31 -0000 Author: kevans Date: Fri Apr 17 02:09:31 2020 New Revision: 360031 URL: https://svnweb.freebsd.org/changeset/base/360031 Log: audit_canon_path_vp: don't panic if cdir == NULL cdir may have simply failed to resolve (e.g. fget_cap failure in namei leading to NULL dp passed to AUDIT_ARG_UPATH*_VP); restore the pre-rS358191 behavior of setting cpath[0] = '\0' and bailing out instead of panicking. This was found by inadvertently running the libc/c063 tests with auditing enabled, resulting in a panic. Reviewed by: mjg (committed version actually his) Differential Revision: https://reviews.freebsd.org/D24445 Modified: head/sys/security/audit/audit_bsm_klib.c Modified: head/sys/security/audit/audit_bsm_klib.c ============================================================================== --- head/sys/security/audit/audit_bsm_klib.c Fri Apr 17 01:52:27 2020 (r360030) +++ head/sys/security/audit/audit_bsm_klib.c Fri Apr 17 02:09:31 2020 (r360031) @@ -433,10 +433,15 @@ audit_canon_path_vp(struct thread *td, struct vnode *r __func__, __FILE__, __LINE__); copy = path; - if (*path == '/') + if (*path == '/') { vp = rdir; - else + } else { + if (cdir == NULL) { + cpath[0] = '\0'; + return; + } vp = cdir; + } MPASS(vp != NULL); /* * NB: We require that the supplied array be at least MAXPATHLEN bytes From owner-svn-src-head@freebsd.org Fri Apr 17 02:21:47 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1C3992CE7F1; Fri, 17 Apr 2020 02:21:47 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493KbZ56wbz4Q2L; Fri, 17 Apr 2020 02:21:46 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9A82A1B0A6; Fri, 17 Apr 2020 02:21:46 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03H2Lkw3022947; Fri, 17 Apr 2020 02:21:46 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03H2Lkat022946; Fri, 17 Apr 2020 02:21:46 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004170221.03H2Lkat022946@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Fri, 17 Apr 2020 02:21:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360032 - head/sys/fs/nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/sys/fs/nfsserver X-SVN-Commit-Revision: 360032 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 02:21:47 -0000 Author: rmacklem Date: Fri Apr 17 02:21:46 2020 New Revision: 360032 URL: https://svnweb.freebsd.org/changeset/base/360032 Log: Add a sanity check for nes_numsecflavor to the NFS server. Ryan Moeller reported crashes in the NFS server that appear to be caused by stack corruption in nfsrv_compound(). It appears that the stack got corrupted just after a NFSv4.1 Lookup that crosses a server mount point. Although it is just a "theory" at this point, the most obvious way the stack could get corrupted would be if nfsvno_checkexp() somehow acquires an export with a bogus nes_numsecflavor value. This would cause the copying of the secflavors to run off the end of the array, which is allocated on the stack below where the corruption occurs. This sanity check is simple to do and would stop the stack corruption if the theory is correct. Otherwise, doing the sanity check seems to be a reasonable safety belt to add to the code. Reported by: freqlabs MFC after: 2 weeks Modified: head/sys/fs/nfsserver/nfs_nfsdport.c Modified: head/sys/fs/nfsserver/nfs_nfsdport.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdport.c Fri Apr 17 02:09:31 2020 (r360031) +++ head/sys/fs/nfsserver/nfs_nfsdport.c Fri Apr 17 02:21:46 2020 (r360032) @@ -3066,6 +3066,11 @@ nfsvno_checkexp(struct mount *mp, struct sockaddr *nam exp->nes_numsecflavor = 0; error = 0; } + } else if (exp->nes_numsecflavor < 1 || exp->nes_numsecflavor > + MAXSECFLAVORS) { + printf("nfsvno_checkexp: numsecflavors out of range\n"); + exp->nes_numsecflavor = 0; + error = EACCES; } else { /* Copy the security flavors. */ for (i = 0; i < exp->nes_numsecflavor; i++) @@ -3102,6 +3107,12 @@ nfsvno_fhtovp(struct mount *mp, fhandle_t *fhp, struct } else { vput(*vpp); } + } else if (exp->nes_numsecflavor < 1 || exp->nes_numsecflavor > + MAXSECFLAVORS) { + printf("nfsvno_fhtovp: numsecflavors out of range\n"); + exp->nes_numsecflavor = 0; + error = EACCES; + vput(*vpp); } else { /* Copy the security flavors. */ for (i = 0; i < exp->nes_numsecflavor; i++) From owner-svn-src-head@freebsd.org Fri Apr 17 02:22:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A1CED2CEBA7; Fri, 17 Apr 2020 02:22:15 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493Kc73mnSz4QK4; Fri, 17 Apr 2020 02:22:15 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7B4A61B0CF; Fri, 17 Apr 2020 02:22:15 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03H2MFec026522; Fri, 17 Apr 2020 02:22:15 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03H2MFso026451; Fri, 17 Apr 2020 02:22:15 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004170222.03H2MFso026451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Fri, 17 Apr 2020 02:22:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360033 - head/tests/sys/kqueue/libkqueue X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: head/tests/sys/kqueue/libkqueue X-SVN-Commit-Revision: 360033 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 02:22:15 -0000 Author: kevans Date: Fri Apr 17 02:22:15 2020 New Revision: 360033 URL: https://svnweb.freebsd.org/changeset/base/360033 Log: tests: kqueue: use a more precise timer for the NOTE_ABSTIME test Originally noticed while attempting to run the kqueue tests under qemu-user-static, this apparently just happens sometimes when running in a jail in general -- the timer will fire off "too early," but it's really just the result of imprecise measurements (noted by cem). Kicking this over to NOTE_USECONDS still tests the correct thing while allowing it to work more consistently; a basic sanity test reveals that we often end up coming in just less than 200 microseconds after the timer fired off. MFC after: 3 days Modified: head/tests/sys/kqueue/libkqueue/timer.c Modified: head/tests/sys/kqueue/libkqueue/timer.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/timer.c Fri Apr 17 02:21:46 2020 (r360032) +++ head/tests/sys/kqueue/libkqueue/timer.c Fri Apr 17 02:22:15 2020 (r360033) @@ -216,17 +216,17 @@ test_abstime(void) { const char *test_id = "kevent(EVFILT_TIMER, EV_ONESHOT, NOTE_ABSTIME)"; struct kevent kev; - time_t start; - time_t stop; - const int timeout = 3; + long end, start, stop; + const int timeout_sec = 3; test_begin(test_id); test_no_kevents(); - start = time(NULL); + start = now(); + end = start + SEC_TO_US(timeout_sec); EV_SET(&kev, vnode_fd, EVFILT_TIMER, EV_ADD | EV_ONESHOT, - NOTE_ABSTIME | NOTE_SECONDS, start + timeout, NULL); + NOTE_ABSTIME | NOTE_USECONDS, end, NULL); if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0) err(1, "%s", test_id); @@ -235,10 +235,10 @@ test_abstime(void) kev.data = 1; kev.fflags = 0; kevent_cmp(&kev, kevent_get(kqfd)); - stop = time(NULL); - if (stop < start + timeout) - err(1, "too early %jd %jd", (intmax_t)stop, (intmax_t)(start + timeout)); + stop = now(); + if (stop < end) + err(1, "too early %jd %jd", (intmax_t)stop, (intmax_t)end); /* Check if the event occurs again */ sleep(3); test_no_kevents(); From owner-svn-src-head@freebsd.org Fri Apr 17 02:33:56 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 8D9972CEE46 for ; Fri, 17 Apr 2020 02:33:56 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1a.ore.mailhop.org (outbound1a.ore.mailhop.org [54.213.22.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 493Ksc0fQMz4Qm2 for ; Fri, 17 Apr 2020 02:33:55 +0000 (UTC) (envelope-from ian@freebsd.org) ARC-Seal: i=1; a=rsa-sha256; t=1587090834; cv=none; d=outbound.mailhop.org; s=arc-outbound20181012; b=Aco3BIzQehJ7t+CNLioCzWNQREOdTK12XpPDE2D7RgG/uPlZgYWplYMu0wJwsVCpZ12VbR+k5c1XZ 6e+NF87+eALnPxKiPlhTlJ6w89wNW333rsTUN61qBSK5WMoFOVfvgiSEH5Bclz++nNjVboeorZECRz b3gDSKxSub3cZMeoSXx/wNfYKDvzEZ03WBo9HHg0pXF+I2pH2Ml8KKs2S3oUgItBrNM3RCwZLaF9RO yK7K7+uIZg+bWLG6axzYGHaFFxalWT2AyXF4uF1wG/iBHfIzT2eMagVuuSx29M9FMSgBW5QJlewWgM C8dsFPw+UtsnLmd8XBrQOYpaRQ9NhHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=arc-outbound20181012; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:to:from:subject:message-id:dkim-signature:from; bh=D1dSm5ZA2ZhtwCfEL6lZINJnvY5GiNnTuMdP9vgYGaM=; b=WusaKAdJMdMLtkIIW8u9F3CRY/xjXW7t+qjPdAsPYhwtYK2bzonMYFftLgvOlQTQ/3699nFm4h/8k 3OUxlLmbFtlvVhTX7LZDQNPIyRu3fVZw4yaIbMbd5gbQL9gx6yFD4+fjXNHePZafch5xP3XuhDqdX+ NJ6yjBYe95vGBO9ZYc8vbfpBR85/KNWvOqI1wEDIGv4M9gVCvmAMakvZqhzrCe2Acc9qUieJ7RJL38 apqT+eNcVAm+Edi2K+02Su15vncnCuNOMYTi1XgoofX5vSE+Eyr9yieyew2/68VN7yScAaDAHKWUqT QfzJGrGRoWy0Vdv4hxY6vGODuVGxjJA== ARC-Authentication-Results: i=1; outbound3.ore.mailhop.org; spf=softfail smtp.mailfrom=freebsd.org smtp.remote-ip=67.177.211.60; dmarc=none header.from=freebsd.org; arc=none header.oldest-pass=0; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outbound.mailhop.org; s=dkim-high; h=content-transfer-encoding:mime-version:content-type:references:in-reply-to: date:to:from:subject:message-id:from; bh=D1dSm5ZA2ZhtwCfEL6lZINJnvY5GiNnTuMdP9vgYGaM=; b=l1WMQsOsLFR0EGKKHsIK+pnwIryRbu1RBBPNXonPlkHVPJdRQ4jSpWfeQwKh6F4gLPFT4g9Aj08He PTvv9yHRAQgi6pYhSwLlde6y/b6NLa0omDN9FIFRpYq4ZJBqYgVuZDIT8ofWn92uS+nftkmOvtR+w7 UKC0Q+j5Z1PIZG8y1ZPxRCoII2DmCR9HJiqWWF7OCiBIID2FcaoTgtng9nL7xE5YNWxC6Cw05dUY+l /BPOdiHkvQSao5CZTRRsKIENkX1/xdCQf2tg++KzkvLAy6wHED5O+sbJZ+RDuBMh3AaUqWfl81864M 3I+hgOR/wvJFSu91fFyRAzBOOGGFxsw== X-MHO-RoutePath: aGlwcGll X-MHO-User: e01caf78-8053-11ea-b10c-b5956a7dd1a1 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 67.177.211.60 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (c-67-177-211-60.hsd1.co.comcast.net [67.177.211.60]) by outbound3.ore.mailhop.org (Halon) with ESMTPSA id e01caf78-8053-11ea-b10c-b5956a7dd1a1; Fri, 17 Apr 2020 02:33:52 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id 03H2XpW2077060; Thu, 16 Apr 2020 20:33:51 -0600 (MDT) (envelope-from ian@freebsd.org) Message-ID: <28f9262a36dc4b7d4437ef3860ac8e472f6df2ff.camel@freebsd.org> Subject: Re: svn commit: r360033 - head/tests/sys/kqueue/libkqueue From: Ian Lepore To: Kyle Evans , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Date: Thu, 16 Apr 2020 20:33:51 -0600 In-Reply-To: <202004170222.03H2MFso026451@repo.freebsd.org> References: <202004170222.03H2MFso026451@repo.freebsd.org> Content-Type: text/plain; charset="ASCII" X-Mailer: Evolution 3.28.5 FreeBSD GNOME Team Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 493Ksc0fQMz4Qm2 X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.96 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-0.97)[-0.970,0]; NEURAL_HAM_LONG(-0.99)[-0.987,0]; ASN(0.00)[asn:16509, ipnet:54.213.0.0/16, country:US] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 02:33:56 -0000 On Fri, 2020-04-17 at 02:22 +0000, Kyle Evans wrote: > Author: kevans > Date: Fri Apr 17 02:22:15 2020 > New Revision: 360033 > URL: https://svnweb.freebsd.org/changeset/base/360033 > > Log: > tests: kqueue: use a more precise timer for the NOTE_ABSTIME test > > Originally noticed while attempting to run the kqueue tests under > qemu-user-static, this apparently just happens sometimes when running in a > jail in general -- the timer will fire off "too early," but it's really just > the result of imprecise measurements (noted by cem). > > Kicking this over to NOTE_USECONDS still tests the correct thing while > allowing it to work more consistently; a basic sanity test reveals that we > often end up coming in just less than 200 microseconds after the timer > fired off. > > MFC after: 3 days > > Modified: > head/tests/sys/kqueue/libkqueue/timer.c > > Modified: head/tests/sys/kqueue/libkqueue/timer.c > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/timer.c Fri Apr 17 02:21:46 2020 (r360032) > +++ head/tests/sys/kqueue/libkqueue/timer.c Fri Apr 17 02:22:15 2020 (r360033) > @@ -216,17 +216,17 @@ test_abstime(void) > { > const char *test_id = "kevent(EVFILT_TIMER, EV_ONESHOT, NOTE_ABSTIME)"; > struct kevent kev; > - time_t start; > - time_t stop; > - const int timeout = 3; > + long end, start, stop; > + const int timeout_sec = 3; > > test_begin(test_id); > > test_no_kevents(); > > - start = time(NULL); > + start = now(); > + end = start + SEC_TO_US(timeout_sec); > EV_SET(&kev, vnode_fd, EVFILT_TIMER, EV_ADD | EV_ONESHOT, > - NOTE_ABSTIME | NOTE_SECONDS, start + timeout, NULL); > + NOTE_ABSTIME | NOTE_USECONDS, end, NULL); > if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0) > err(1, "%s", test_id); > > @@ -235,10 +235,10 @@ test_abstime(void) > kev.data = 1; > kev.fflags = 0; > kevent_cmp(&kev, kevent_get(kqfd)); > - stop = time(NULL); > - if (stop < start + timeout) > - err(1, "too early %jd %jd", (intmax_t)stop, (intmax_t)(start + timeout)); > > + stop = now(); > + if (stop < end) > + err(1, "too early %jd %jd", (intmax_t)stop, (intmax_t)end); > /* Check if the event occurs again */ > sleep(3); > test_no_kevents(); Not caused by you, but this change made me notice: using 'long' to hold the number of microseconds since the unix epoch will only work on amd64 and arm64. Everything involved with that needs to use uint64_t to work on all arches. -- Ian From owner-svn-src-head@freebsd.org Fri Apr 17 03:38:18 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0F8B32CFFB1; Fri, 17 Apr 2020 03:38:18 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493MHs6D3lz4TRm; Fri, 17 Apr 2020 03:38:17 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id C45A18D1B; Fri, 17 Apr 2020 03:38:17 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f181.google.com with SMTP id l25so1138245qkk.3; Thu, 16 Apr 2020 20:38:17 -0700 (PDT) X-Gm-Message-State: AGi0PubcGZLn+NAGUryWtb2kw5/5eHta/F5KqaiDYuHOyTRidzhP9ucv 1/RHtJQH91Y3LRept5moqKC78y3oeaTNrJ8MS4c= X-Google-Smtp-Source: APiQypIb8KIdkBLuYQkaMMmri/l4DM/jxps4vy/A8DujN3t2/APpaCxAmOciWqanE7NG+5zjfnnwsFjoHsEo3LjESYY= X-Received: by 2002:ae9:e805:: with SMTP id a5mr1211770qkg.493.1587094697174; Thu, 16 Apr 2020 20:38:17 -0700 (PDT) MIME-Version: 1.0 References: <202004170222.03H2MFso026451@repo.freebsd.org> <28f9262a36dc4b7d4437ef3860ac8e472f6df2ff.camel@freebsd.org> In-Reply-To: <28f9262a36dc4b7d4437ef3860ac8e472f6df2ff.camel@freebsd.org> From: Kyle Evans Date: Thu, 16 Apr 2020 22:38:06 -0500 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r360033 - head/tests/sys/kqueue/libkqueue To: Ian Lepore Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 03:38:18 -0000 On Thu, Apr 16, 2020 at 9:33 PM Ian Lepore wrote: > > On Fri, 2020-04-17 at 02:22 +0000, Kyle Evans wrote: > > Author: kevans > > Date: Fri Apr 17 02:22:15 2020 > > New Revision: 360033 > > URL: https://svnweb.freebsd.org/changeset/base/360033 > > > > Log: > > tests: kqueue: use a more precise timer for the NOTE_ABSTIME test > > > > Originally noticed while attempting to run the kqueue tests under > > qemu-user-static, this apparently just happens sometimes when running in a > > jail in general -- the timer will fire off "too early," but it's really just > > the result of imprecise measurements (noted by cem). > > > > Kicking this over to NOTE_USECONDS still tests the correct thing while > > allowing it to work more consistently; a basic sanity test reveals that we > > often end up coming in just less than 200 microseconds after the timer > > fired off. > > > > MFC after: 3 days > > > > Modified: > > head/tests/sys/kqueue/libkqueue/timer.c > > > > Modified: head/tests/sys/kqueue/libkqueue/timer.c > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/timer.c Fri Apr 17 02:21:46 2020 (r360032) > > +++ head/tests/sys/kqueue/libkqueue/timer.c Fri Apr 17 02:22:15 2020 (r360033) > > @@ -216,17 +216,17 @@ test_abstime(void) > > { > > const char *test_id = "kevent(EVFILT_TIMER, EV_ONESHOT, NOTE_ABSTIME)"; > > struct kevent kev; > > - time_t start; > > - time_t stop; > > - const int timeout = 3; > > + long end, start, stop; > > + const int timeout_sec = 3; > > > > test_begin(test_id); > > > > test_no_kevents(); > > > > - start = time(NULL); > > + start = now(); > > + end = start + SEC_TO_US(timeout_sec); > > EV_SET(&kev, vnode_fd, EVFILT_TIMER, EV_ADD | EV_ONESHOT, > > - NOTE_ABSTIME | NOTE_SECONDS, start + timeout, NULL); > > + NOTE_ABSTIME | NOTE_USECONDS, end, NULL); > > if (kevent(kqfd, &kev, 1, NULL, 0, NULL) < 0) > > err(1, "%s", test_id); > > > > @@ -235,10 +235,10 @@ test_abstime(void) > > kev.data = 1; > > kev.fflags = 0; > > kevent_cmp(&kev, kevent_get(kqfd)); > > - stop = time(NULL); > > - if (stop < start + timeout) > > - err(1, "too early %jd %jd", (intmax_t)stop, (intmax_t)(start + timeout)); > > > > + stop = now(); > > + if (stop < end) > > + err(1, "too early %jd %jd", (intmax_t)stop, (intmax_t)end); > > /* Check if the event occurs again */ > > sleep(3); > > test_no_kevents(); > > Not caused by you, but this change made me notice: using 'long' to > hold the number of microseconds since the unix epoch will only work on > amd64 and arm64. Everything involved with that needs to use uint64_t > to work on all arches. > > -- Ian > Good point, I'll go fix that after arichardson's in-flight change near these tests lands. Thanks, Kyle Evans From owner-svn-src-head@freebsd.org Fri Apr 17 05:59:39 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5F7812AB121; Fri, 17 Apr 2020 05:59:39 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493QQz1rfkz4bsT; Fri, 17 Apr 2020 05:59:39 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3AC571DA43; Fri, 17 Apr 2020 05:59:39 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03H5xdJA061079; Fri, 17 Apr 2020 05:59:39 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03H5xdoq061078; Fri, 17 Apr 2020 05:59:39 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <202004170559.03H5xdoq061078@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 17 Apr 2020 05:59:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360034 - head/sys/netgraph X-SVN-Group: head X-SVN-Commit-Author: glebius X-SVN-Commit-Paths: head/sys/netgraph X-SVN-Commit-Revision: 360034 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 05:59:39 -0000 Author: glebius Date: Fri Apr 17 05:59:38 2020 New Revision: 360034 URL: https://svnweb.freebsd.org/changeset/base/360034 Log: Don't initialize m->m_data to m->m_pktdat, this is already done by the mbuf allocator. That was the last remnant of such code in the kernel. Modified: head/sys/netgraph/ng_tty.c Modified: head/sys/netgraph/ng_tty.c ============================================================================== --- head/sys/netgraph/ng_tty.c Fri Apr 17 02:22:15 2020 (r360033) +++ head/sys/netgraph/ng_tty.c Fri Apr 17 05:59:38 2020 (r360034) @@ -439,7 +439,6 @@ ngt_rint_bypass(struct tty *tp, const void *buf, size_ * Odd, we have changed from non-bypass to bypass. It is * unlikely but not impossible, flush the data first. */ - sc->m->m_data = sc->m->m_pktdat; NG_SEND_DATA_ONLY(error, sc->hook, sc->m); sc->m = NULL; } @@ -495,7 +494,6 @@ ngt_rint(struct tty *tp, char c, int flags) /* Ship off mbuf if it's time */ if (sc->hotchar == -1 || c == sc->hotchar || m->m_len >= MHLEN) { - m->m_data = m->m_pktdat; sc->m = NULL; NG_SEND_DATA_ONLY(error, sc->hook, m); /* Will queue */ } From owner-svn-src-head@freebsd.org Fri Apr 17 06:02:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 457AC2AB359; Fri, 17 Apr 2020 06:02:14 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493QTy16ngz4cDv; Fri, 17 Apr 2020 06:02:14 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 218A51DBF8; Fri, 17 Apr 2020 06:02:14 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03H62El4066779; Fri, 17 Apr 2020 06:02:14 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03H62D0n066777; Fri, 17 Apr 2020 06:02:13 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <202004170602.03H62D0n066777@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 17 Apr 2020 06:02:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360035 - in head/sys: rpc xdr X-SVN-Group: head X-SVN-Commit-Author: glebius X-SVN-Commit-Paths: in head/sys: rpc xdr X-SVN-Commit-Revision: 360035 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 06:02:14 -0000 Author: glebius Date: Fri Apr 17 06:02:13 2020 New Revision: 360035 URL: https://svnweb.freebsd.org/changeset/base/360035 Log: Move M_RPC malloc type into XDR. Both RPC and XDR libraries use this type, but since RPC depends on XDR (not vice versa) we need it defined in XDR to make the module loadable without RPC. Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D24408 Modified: head/sys/rpc/rpc_prot.c head/sys/xdr/xdr.c Modified: head/sys/rpc/rpc_prot.c ============================================================================== --- head/sys/rpc/rpc_prot.c Fri Apr 17 05:59:38 2020 (r360034) +++ head/sys/rpc/rpc_prot.c Fri Apr 17 06:02:13 2020 (r360035) @@ -61,8 +61,6 @@ __FBSDID("$FreeBSD$"); #include #include -MALLOC_DEFINE(M_RPC, "rpc", "Remote Procedure Call"); - #define assert(exp) KASSERT(exp, ("bad arguments")) static enum clnt_stat accepted(enum accept_stat, struct rpc_err *); Modified: head/sys/xdr/xdr.c ============================================================================== --- head/sys/xdr/xdr.c Fri Apr 17 05:59:38 2020 (r360034) +++ head/sys/xdr/xdr.c Fri Apr 17 06:02:13 2020 (r360035) @@ -65,6 +65,8 @@ typedef u_quad_t u_longlong_t; /* ANSI unsign #define XDR_FALSE ((long) 0) #define XDR_TRUE ((long) 1) +MALLOC_DEFINE(M_RPC, "rpc", "Remote Procedure Call"); + /* * for unit alignment */ From owner-svn-src-head@freebsd.org Fri Apr 17 06:04:22 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5636A2AB3F5; Fri, 17 Apr 2020 06:04:22 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493QXQ1gRzz4cP7; Fri, 17 Apr 2020 06:04:22 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 331EC1DC27; Fri, 17 Apr 2020 06:04:22 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03H64M0X066930; Fri, 17 Apr 2020 06:04:22 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03H64KYU066924; Fri, 17 Apr 2020 06:04:20 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <202004170604.03H64KYU066924@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 17 Apr 2020 06:04:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360036 - in head/sys: conf modules modules/krpc modules/xdr rpc xdr X-SVN-Group: head X-SVN-Commit-Author: glebius X-SVN-Commit-Paths: in head/sys: conf modules modules/krpc modules/xdr rpc xdr X-SVN-Commit-Revision: 360036 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 06:04:22 -0000 Author: glebius Date: Fri Apr 17 06:04:20 2020 New Revision: 360036 URL: https://svnweb.freebsd.org/changeset/base/360036 Log: Split XDR into separate kernel module. Make krpc depend on xdr. Reviewed by: rmacklem Differential Revision: https://reviews.freebsd.org/D24408 Added: head/sys/modules/xdr/ head/sys/modules/xdr/Makefile (contents, props changed) Modified: head/sys/conf/files head/sys/conf/options head/sys/modules/Makefile head/sys/modules/krpc/Makefile head/sys/rpc/rpc_generic.c head/sys/xdr/xdr.c Modified: head/sys/conf/files ============================================================================== --- head/sys/conf/files Fri Apr 17 06:02:13 2020 (r360035) +++ head/sys/conf/files Fri Apr 17 06:04:20 2020 (r360036) @@ -4983,9 +4983,9 @@ xen/xenbus/xenbusb.c optional xenhvm xen/xenbus/xenbusb_front.c optional xenhvm xen/xenbus/xenbusb_back.c optional xenhvm xen/xenmem/xenmem_if.m optional xenhvm -xdr/xdr.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_array.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_mbuf.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_mem.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_reference.c optional krpc | nfslockd | nfscl | nfsd -xdr/xdr_sizeof.c optional krpc | nfslockd | nfscl | nfsd +xdr/xdr.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_array.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_mbuf.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_mem.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_reference.c optional xdr | krpc | nfslockd | nfscl | nfsd +xdr/xdr_sizeof.c optional xdr | krpc | nfslockd | nfscl | nfsd Modified: head/sys/conf/options ============================================================================== --- head/sys/conf/options Fri Apr 17 06:02:13 2020 (r360035) +++ head/sys/conf/options Fri Apr 17 06:04:20 2020 (r360036) @@ -469,6 +469,7 @@ TCP_RFC7413_MAX_KEYS opt_inet.h TCP_RFC7413_MAX_PSKS opt_inet.h TCP_SIGNATURE opt_ipsec.h VLAN_ARRAY opt_vlan.h +XDR XBONEHACK # Modified: head/sys/modules/Makefile ============================================================================== --- head/sys/modules/Makefile Fri Apr 17 06:02:13 2020 (r360035) +++ head/sys/modules/Makefile Fri Apr 17 06:04:20 2020 (r360036) @@ -385,6 +385,7 @@ SUBDIR= \ ${_wpi} \ ${_wpifw} \ ${_x86bios} \ + xdr \ xl \ xz \ zlib Modified: head/sys/modules/krpc/Makefile ============================================================================== --- head/sys/modules/krpc/Makefile Fri Apr 17 06:02:13 2020 (r360035) +++ head/sys/modules/krpc/Makefile Fri Apr 17 06:04:20 2020 (r360036) @@ -1,6 +1,6 @@ # $FreeBSD$ -.PATH: ${SRCTOP}/sys/rpc ${SRCTOP}/sys/xdr +.PATH: ${SRCTOP}/sys/rpc KMOD= krpc SRCS= auth_none.c \ auth_unix.c \ @@ -22,13 +22,6 @@ SRCS= auth_none.c \ svc_dg.c \ svc_generic.c \ svc_vc.c \ - -SRCS+= xdr.c \ - xdr_array.c \ - xdr_mbuf.c \ - xdr_mem.c \ - xdr_reference.c \ - xdr_sizeof.c SRCS+= opt_inet6.h Added: head/sys/modules/xdr/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/sys/modules/xdr/Makefile Fri Apr 17 06:04:20 2020 (r360036) @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.PATH: ${SRCTOP}/sys/xdr +KMOD= xdr +SRCS= xdr.c \ + xdr_array.c \ + xdr_mbuf.c \ + xdr_mem.c \ + xdr_reference.c \ + xdr_sizeof.c + +.include Modified: head/sys/rpc/rpc_generic.c ============================================================================== --- head/sys/rpc/rpc_generic.c Fri Apr 17 06:02:13 2020 (r360035) +++ head/sys/rpc/rpc_generic.c Fri Apr 17 06:04:20 2020 (r360036) @@ -882,3 +882,4 @@ DECLARE_MODULE(krpc, krpc_mod, SI_SUB_VFS, SI_ORDER_AN /* So that loader and kldload(2) can find us, wherever we are.. */ MODULE_VERSION(krpc, 1); +MODULE_DEPEND(krpc, xdr, 1, 1, 1); Modified: head/sys/xdr/xdr.c ============================================================================== --- head/sys/xdr/xdr.c Fri Apr 17 06:02:13 2020 (r360035) +++ head/sys/xdr/xdr.c Fri Apr 17 06:04:20 2020 (r360036) @@ -50,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -836,3 +837,20 @@ xdr_u_longlong_t(XDR *xdrs, u_longlong_t *ullp) */ return (xdr_uint64_t(xdrs, (uint64_t *)ullp)); } + +/* + * Kernel module glue + */ +static int +xdr_modevent(module_t mod, int type, void *data) +{ + + return (0); +} +static moduledata_t xdr_mod = { + "xdr", + xdr_modevent, + NULL, +}; +DECLARE_MODULE(xdr, xdr_mod, SI_SUB_VFS, SI_ORDER_ANY); +MODULE_VERSION(xdr, 1); From owner-svn-src-head@freebsd.org Fri Apr 17 06:05:09 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 33B7B2AB47A; Fri, 17 Apr 2020 06:05:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493QYK0Zt1z4cWd; Fri, 17 Apr 2020 06:05:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0F42D1DC28; Fri, 17 Apr 2020 06:05:09 +0000 (UTC) (envelope-from glebius@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03H658Bt067040; Fri, 17 Apr 2020 06:05:08 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03H658mu067039; Fri, 17 Apr 2020 06:05:08 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <202004170605.03H658mu067039@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Fri, 17 Apr 2020 06:05:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360037 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Group: head X-SVN-Commit-Author: glebius X-SVN-Commit-Paths: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs X-SVN-Commit-Revision: 360037 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 06:05:09 -0000 Author: glebius Date: Fri Apr 17 06:05:08 2020 New Revision: 360037 URL: https://svnweb.freebsd.org/changeset/base/360037 Log: Make ZFS depend on xdr.ko only. It doesn't need kernel RPC. Differential Revision: https://reviews.freebsd.org/D24408 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c ============================================================================== --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri Apr 17 06:04:20 2020 (r360036) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri Apr 17 06:05:08 2020 (r360037) @@ -7333,6 +7333,6 @@ static moduledata_t zfs_mod = { DECLARE_MODULE(zfsctrl, zfs_mod, SI_SUB_VFS, SI_ORDER_ANY); MODULE_VERSION(zfsctrl, 1); MODULE_DEPEND(zfsctrl, opensolaris, 1, 1, 1); -MODULE_DEPEND(zfsctrl, krpc, 1, 1, 1); +MODULE_DEPEND(zfsctrl, xdr, 1, 1, 1); MODULE_DEPEND(zfsctrl, acl_nfs4, 1, 1, 1); MODULE_DEPEND(zfsctrl, zlib, 1, 1, 1); From owner-svn-src-head@freebsd.org Fri Apr 17 06:26:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D842B2AC209; Fri, 17 Apr 2020 06:26:36 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493R245NQZz4drr; Fri, 17 Apr 2020 06:26:36 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 976ED8B18; Fri, 17 Apr 2020 06:26:36 +0000 (UTC) Date: Fri, 17 Apr 2020 06:26:36 +0000 From: Alexey Dokuchaev To: Colin Percival Cc: Oliver Pinter , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" Subject: Re: svn commit: r360025 - head/sys/dev/acpica Message-ID: <20200417062636.GC24371@FreeBSD.org> References: <202004162156.03GLuqgw058432@repo.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 06:26:36 -0000 On Thu, Apr 16, 2020 at 03:12:15PM -0700, Colin Percival wrote: > On 2020-04-16 15:05, Oliver Pinter wrote: > > On Thursday, April 16, 2020, Colin Percival > > wrote: > > Log: > > Alert devd when acpi_video brightness changes > > > > Please add this to release notes! > > I considered that, but so far I don't have any evidence that other > systems exist with the same half-working ACPI. Unless you're aware of > people who are seeing the same "hw.apci.video.lcd0.brightness changes > but thebacklight doesn't" syndrome? So this is more like a work-around for the problem which lies elsewhere: something is missing in acpi_video(4) or perhaps we need a (nonexistent) acpi_dell(4)? In this case, shouldn't it be disabled by default, or at least be toggable since as you say, evidently just a minority of systems exist with the same half-working ACPI? ./danfe From owner-svn-src-head@freebsd.org Fri Apr 17 10:12:12 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 981472B21D0; Fri, 17 Apr 2020 10:12:12 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493X2N3bL6z4ssN; Fri, 17 Apr 2020 10:12:12 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7685920AF8; Fri, 17 Apr 2020 10:12:12 +0000 (UTC) (envelope-from eugen@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HACCtn021262; Fri, 17 Apr 2020 10:12:12 GMT (envelope-from eugen@FreeBSD.org) Received: (from eugen@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HACCGR021260; Fri, 17 Apr 2020 10:12:12 GMT (envelope-from eugen@FreeBSD.org) Message-Id: <202004171012.03HACCGR021260@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: eugen set sender to eugen@FreeBSD.org using -f From: Eugene Grosbein Date: Fri, 17 Apr 2020 10:12:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360040 - head/usr.sbin/jail X-SVN-Group: head X-SVN-Commit-Author: eugen X-SVN-Commit-Paths: head/usr.sbin/jail X-SVN-Commit-Revision: 360040 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 10:12:12 -0000 Author: eugen Date: Fri Apr 17 10:12:11 2020 New Revision: 360040 URL: https://svnweb.freebsd.org/changeset/base/360040 Log: jail(8): improve manual and usage information with more clear description for "jail -e" mode to show that it does not take additional jail name argument. Reported by: David Marec MFC after: 3 days Modified: head/usr.sbin/jail/jail.8 head/usr.sbin/jail/jail.c Modified: head/usr.sbin/jail/jail.8 ============================================================================== --- head/usr.sbin/jail/jail.8 Fri Apr 17 07:41:27 2020 (r360039) +++ head/usr.sbin/jail/jail.8 Fri Apr 17 10:12:11 2020 (r360040) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 6, 2019 +.Dd April 17, 2020 .Dt JAIL 8 .Os .Sh NAME @@ -49,7 +49,6 @@ .Nm .Op Fl qv .Op Fl f Ar conf_file -.Op Fl e Ar separator .Op Fl rR .Op Cm * | Ar jail ... .Nm @@ -60,6 +59,10 @@ .Op Fl n Ar jailname .Op Fl s Ar securelevel .Op Ar path hostname [ Ar ip Ns [ Ns Ar ,... Ns ]] Ar command ... +.Nm +.Op Fl f Ar conf_file +.Fl e +.Ar separator .Sh DESCRIPTION The .Nm Modified: head/usr.sbin/jail/jail.c ============================================================================== --- head/usr.sbin/jail/jail.c Fri Apr 17 07:41:27 2020 (r360039) +++ head/usr.sbin/jail/jail.c Fri Apr 17 10:12:11 2020 (r360040) @@ -1040,10 +1040,11 @@ usage(void) (void)fprintf(stderr, "usage: jail [-dhilqv] [-J jid_file] [-u username] [-U username]\n" " -[cmr] param=value ... [command=command ...]\n" - " jail [-dqv] [-f file] [-e separator] -[cmr] [jail]\n" + " jail [-dqv] [-f file] -[cmr] [jail]\n" " jail [-qv] [-f file] -[rR] ['*' | jail ...]\n" " jail [-dhilqv] [-J jid_file] [-u username] [-U username]\n" " [-n jailname] [-s securelevel]\n" - " path hostname [ip[,...]] command ...\n"); + " path hostname [ip[,...]] command ...\n" + " jail [-f file] -e separator\n"); exit(1); } From owner-svn-src-head@freebsd.org Fri Apr 17 14:35:11 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DB7A52BB885; Fri, 17 Apr 2020 14:35:11 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493dsq5QyZz41FQ; Fri, 17 Apr 2020 14:35:11 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B5A6A23DE5; Fri, 17 Apr 2020 14:35:11 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HEZBK2083792; Fri, 17 Apr 2020 14:35:11 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HEZBVr083791; Fri, 17 Apr 2020 14:35:11 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202004171435.03HEZBVr083791@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Fri, 17 Apr 2020 14:35:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360042 - head/sys/netpfil/pf X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/sys/netpfil/pf X-SVN-Commit-Revision: 360042 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 14:35:11 -0000 Author: kp Date: Fri Apr 17 14:35:11 2020 New Revision: 360042 URL: https://svnweb.freebsd.org/changeset/base/360042 Log: pf: Do not allow negative ps_len in DIOCGETSTATES Userspace may pass a negative ps_len value to us, which causes an assertion failure in malloc(). Treat negative values as zero, i.e. return the required size. Reported-by: syzbot+53370d9d0358ee2a059a@syzkaller.appspotmail.com Reviewed by: lutz at donnerhacke.de MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D24447 Modified: head/sys/netpfil/pf/pf_ioctl.c Modified: head/sys/netpfil/pf/pf_ioctl.c ============================================================================== --- head/sys/netpfil/pf/pf_ioctl.c Fri Apr 17 13:50:26 2020 (r360041) +++ head/sys/netpfil/pf/pf_ioctl.c Fri Apr 17 14:35:11 2020 (r360042) @@ -2163,7 +2163,7 @@ relock_DIOCKILLSTATES: struct pfsync_state *pstore, *p; int i, nr; - if (ps->ps_len == 0) { + if (ps->ps_len <= 0) { nr = uma_zone_get_cur(V_pf_state_z); ps->ps_len = sizeof(struct pfsync_state) * nr; break; From owner-svn-src-head@freebsd.org Fri Apr 17 14:57:16 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3B0E62BC3E2; Fri, 17 Apr 2020 14:57:16 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493fMJ0pwCz42ss; Fri, 17 Apr 2020 14:57:16 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 169782429B; Fri, 17 Apr 2020 14:57:16 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HEvFtT096808; Fri, 17 Apr 2020 14:57:15 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HEvFRT096807; Fri, 17 Apr 2020 14:57:15 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202004171457.03HEvFRT096807@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Fri, 17 Apr 2020 14:57:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360043 - head/tests/sys/net X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/tests/sys/net X-SVN-Commit-Revision: 360043 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 14:57:16 -0000 Author: kp Date: Fri Apr 17 14:57:15 2020 New Revision: 360043 URL: https://svnweb.freebsd.org/changeset/base/360043 Log: bridge tests: Test deleting a bridge with members Reviewed by: philip, emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24337 Modified: head/tests/sys/net/if_bridge_test.sh Modified: head/tests/sys/net/if_bridge_test.sh ============================================================================== --- head/tests/sys/net/if_bridge_test.sh Fri Apr 17 14:35:11 2020 (r360042) +++ head/tests/sys/net/if_bridge_test.sh Fri Apr 17 14:57:15 2020 (r360043) @@ -245,10 +245,37 @@ span_cleanup() vnet_cleanup } +atf_test_case "delete_with_members" "cleanup" +delete_with_members_head() +{ + atf_set descr 'Delete a bridge which still has member interfaces' + atf_set require.user root +} + +delete_with_members_body() +{ + vnet_init + + bridge=$(vnet_mkbridge) + epair=$(vnet_mkepair) + + ifconfig ${bridge} 192.0.2.1/24 up + ifconfig ${epair}a up + ifconfig ${bridge} addm ${epair}a + + ifconfig ${bridge} destroy +} + +delete_with_members_cleanup() +{ + vnet_cleanup +} + atf_init_test_cases() { atf_add_test_case "bridge_transmit_ipv4_unicast" atf_add_test_case "stp" atf_add_test_case "static" atf_add_test_case "span" + atf_add_test_case "delete_with_members" } From owner-svn-src-head@freebsd.org Fri Apr 17 15:19:43 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7A0652BD1E1; Fri, 17 Apr 2020 15:19:43 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493fsC2dv1z44tw; Fri, 17 Apr 2020 15:19:43 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5543C246B9; Fri, 17 Apr 2020 15:19:43 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HFJhtT009978; Fri, 17 Apr 2020 15:19:43 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HFJhb5009977; Fri, 17 Apr 2020 15:19:43 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004171519.03HFJhb5009977@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Fri, 17 Apr 2020 15:19:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360044 - head/sys/amd64/include X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/amd64/include X-SVN-Commit-Revision: 360044 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 15:19:43 -0000 Author: cem Date: Fri Apr 17 15:19:42 2020 New Revision: 360044 URL: https://svnweb.freebsd.org/changeset/base/360044 Log: vmm.h: Add ABI assertions and mark implicit holes The static assertions were added (with size and offsets from gdb) and verified with a build prior to marking the holes explicitly. This is in preparation for a subsequent revision, pending in phabricator, that makes use of some of these unused bits without impacting the ABI. Reviewed by: grehan Differential Revision: https://reviews.freebsd.org/D24461 Modified: head/sys/amd64/include/vmm.h Modified: head/sys/amd64/include/vmm.h ============================================================================== --- head/sys/amd64/include/vmm.h Fri Apr 17 14:57:15 2020 (r360043) +++ head/sys/amd64/include/vmm.h Fri Apr 17 15:19:42 2020 (r360044) @@ -515,6 +515,8 @@ struct vie_op { uint8_t op_type; /* type of operation (e.g. MOV) */ uint16_t op_flags; }; +_Static_assert(sizeof(struct vie_op) == 4, "ABI"); +_Static_assert(_Alignof(struct vie_op) == 2, "ABI"); #define VIE_INST_SIZE 15 struct vie { @@ -539,13 +541,17 @@ struct vie { rm:4; uint8_t ss:2, /* SIB byte */ - index:4, - base:4; + _sparebits:2, + index:4, /* SIB byte */ + base:4; /* SIB byte */ uint8_t disp_bytes; uint8_t imm_bytes; uint8_t scale; + + uint8_t _sparebytes[3]; + int base_register; /* VM_REG_GUEST_xyz */ int index_register; /* VM_REG_GUEST_xyz */ int segment_register; /* VM_REG_GUEST_xyz */ @@ -555,8 +561,14 @@ struct vie { uint8_t decoded; /* set to 1 if successfully decoded */ + uint8_t _sparebyte; + struct vie_op op; /* opcode description */ }; +_Static_assert(sizeof(struct vie) == 64, "ABI"); +_Static_assert(__offsetof(struct vie, disp_bytes) == 22, "ABI"); +_Static_assert(__offsetof(struct vie, scale) == 24, "ABI"); +_Static_assert(__offsetof(struct vie, base_register) == 28, "ABI"); enum vm_exitcode { VM_EXITCODE_INOUT, From owner-svn-src-head@freebsd.org Fri Apr 17 15:54:32 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D2ABB2BE8AA for ; Fri, 17 Apr 2020 15:54:32 +0000 (UTC) (envelope-from cperciva@freebsd.org) Received: from mail.tarsnap.com (mail.tarsnap.com [54.86.246.204]) by mx1.freebsd.org (Postfix) with SMTP id 493gdL24C4z48Xc for ; Fri, 17 Apr 2020 15:54:29 +0000 (UTC) (envelope-from cperciva@freebsd.org) Received: (qmail 71698 invoked from network); 17 Apr 2020 15:54:28 -0000 Received: from unknown (HELO exbuntu.daemonology.net) (127.0.0.1) by mail.tarsnap.com with SMTP; 17 Apr 2020 15:54:28 -0000 Received: (qmail 16148 invoked from network); 17 Apr 2020 15:54:52 -0000 Received: from unknown (HELO ?127.0.0.1?) (127.0.0.1) by clamshell.daemonology.net with SMTP; 17 Apr 2020 15:54:52 -0000 Subject: Re: svn commit: r360025 - head/sys/dev/acpica To: Alexey Dokuchaev Cc: Oliver Pinter , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" References: <202004162156.03GLuqgw058432@repo.freebsd.org> <20200417062636.GC24371@FreeBSD.org> From: Colin Percival Autocrypt: addr=cperciva@freebsd.org; prefer-encrypt=mutual; keydata= mQGhBElrAAcRBACDfDys4ZtK+ErCJ1HAzYeteKpm3OEsvT/49AjUTLihkF79HhIKrCQU+1KC zv7BwHCMLb6hq30As9L7iFKG7n5QFLFC4Te/VcITUnWHMG/c3ViLOfJGvi+9/nOEHaM1dVJY D6tEp5yM1nHmVQpo9932j4KGuGFR0LhOK5IHXOSfGwCgxSFDPdgxe2OEjWxjGgY+oV3EafcD +JROXCTjlcQiG/OguQH4Vks3mhHfFnEppLxTkDuYgHZQiUtpcT9ssH5khgqoTyMar05OUdAj ZIhNbWDh4LgTj+7ZmvLhXT5Zxw8LX9d7T36aTB8XDQSenDqEtinMWOb0TCBBLbsB8EFG1WTT ESbZci9jJS5yhtktuZoY/eM8uXMD/3k4FWFO80VRRkELSp+XSy/VlSQjyi/rhl2nQq/oOA9F oJbDaB0yq9VNhxP+uFBzBWSqeIX0t1ZWLtNfVFr4TRP5hihI5ICrg/0OpqgisKsU2NFe9xyO hyJLYmfD8ebpDJ/9k30C7Iju9pVrwLm1QgS4S2fqJRcR+U4WbjvP7CgStCVDb2xpbiBQZXJj aXZhbCA8Y3BlcmNpdmFARnJlZUJTRC5vcmc+iGEEExECACEFAklrAI4CGwMHCwkIBwMCAQQV AggDBBYCAwECHgECF4AACgkQOM7KaQxqam6CdwCfQpS2a4bNO8/PX9hP1YnHE+M8BdwAoLwu CIxGuzK7pNBNUyVMWhy11hH+uQINBElrAAcQCAD3ZLMIsP4CIDoJORg+YY0lqLVBgcnF7pFb 4Uy2+KvdWofN+DKH61rZLjgXXkNE9M4EQC1B4lGttBP8IY2gs41y3AUogGdyFbidq99rCBz7 LTsgARHwFxZoaHmXyiZLEU1QZuMqwPZV1mCviRhN5E3rRqYNXVcrnXAAuhBpvNyj/ntHvcDN 2/m+ochiuBYueU4kX3lHya7sOj+mTsndcWmQ9soOUyr8O0r/BG088bMn4qqtUw4dl5/pglXk jbl7uOOPinKf0WVd2r6M0wLPJCD4NPHrCWRLLLAjwfjrtoSRvXxDbXhCdgGBa72+K8eYLzVs hgq7tJOoBWzjVK6XRxR7AAMGB/9Mo3iJ2DxqDecd02KCB5BsFDICbJGhPltU7FwrtbC7djSb XUrwsEVLHi4st4cbdGNCWCrp0BRezXZKohKnNAPFOTK++ZfgeKxrV2sJod+Q9RILF86tQ4XF 7A7Yme5hy92t/WgiU4vc/fWbgP8gV/19f8nunaT2E9NSa70mZFjZNu4iuwThoUUO5CV3Wo0Y UISsnRK8XD1+LR3A2qVyLiFRwh/miC1hgLFCTGCQ3GLxZeZzIpYSlGdQJ0L5lixW5ZQD9r1I 8i/8zhE6qRFAM0upUMI3Gt1Oq2w03DiXrZU0Fu/R8Rm8rlnkQKA+95mRTUq1xL5P5NZIi4gJ Z569OPMFiEkEGBECAAkFAklrAAcCGwwACgkQOM7KaQxqam41igCfbaldnFTu5uAdrnrghESv EI3CAo8AoLkNMks1pThl2BJNRm4CtTK9xZeH Message-ID: Date: Fri, 17 Apr 2020 08:54:52 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: <20200417062636.GC24371@FreeBSD.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 493gdL24C4z48Xc X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-1.95 / 15.00]; TAGGED_RCPT(0.00)[]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-0.97)[-0.974,0]; ASN(0.00)[asn:14618, ipnet:54.86.0.0/16, country:US]; NEURAL_HAM_LONG(-0.98)[-0.976,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 15:54:32 -0000 On 2020-04-16 23:26, Alexey Dokuchaev wrote: > On Thu, Apr 16, 2020 at 03:12:15PM -0700, Colin Percival wrote: >> On 2020-04-16 15:05, Oliver Pinter wrote: >>> On Thursday, April 16, 2020, Colin Percival >> > wrote: >>> Log: >>> Alert devd when acpi_video brightness changes >>> >>> Please add this to release notes! >> >> I considered that, but so far I don't have any evidence that other >> systems exist with the same half-working ACPI. Unless you're aware of >> people who are seeing the same "hw.apci.video.lcd0.brightness changes >> but thebacklight doesn't" syndrome? > > So this is more like a work-around for the problem which lies elsewhere: > something is missing in acpi_video(4) or perhaps we need a (nonexistent) > acpi_dell(4)? In this case, shouldn't it be disabled by default, or at > least be toggable since as you say, evidently just a minority of systems > exist with the same half-working ACPI? Having occasional extra messages coming through devctl(4) is harmless; by default devd will just drop them on the floor since there isn't anything configured to do with them. In an upcoming change to the graphics/intel-backlight port (if/when someone merges my patch into their github repo...) I'll be providing a configuration file which can be copied into /usr/local/etc/devd/ in order to hook these messages up to the intel-backlight utility. So... yes, for practical purposes this is disabled by default. -- Colin Percival Security Officer Emeritus, FreeBSD | The power to serve Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid From owner-svn-src-head@freebsd.org Fri Apr 17 16:11:02 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 4D6D82BF2EC for ; Fri, 17 Apr 2020 16:11:02 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qk1-x741.google.com (mail-qk1-x741.google.com [IPv6:2607:f8b0:4864:20::741]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493h0P4bGLz4BRT for ; Fri, 17 Apr 2020 16:11:01 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qk1-x741.google.com with SMTP id c63so2979425qke.2 for ; Fri, 17 Apr 2020 09:11:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=eRhtmfYNE1k9QIWDLev/HYg8LCEycU/OiEm0o+N1vLc=; b=NoW084ODU/DbjhlojhX0XegwrTK4ExQKrLwpNVyvq8/V8gwtRcIm7N5HulHmawvkcd yxKzxvGgN9jXyj7Kdtluowu9CbXaAahGkLsPhkG+cqPSOe8AOJMcUN4nNiBp0ZxJJkxS J0SwWyFT6NdJuJokZ4ZJn3Pfl/qsUevKPBy9cdSxsRUj2zbCZ+qe9mit3Jsdj1CASh6J jm5j7GGtyn/KimV8ykIBMwc91RdfK3aV9ntMVHPlT93hHsj23WLBMqUQ0p+Y4OHqcpd0 cCzUFOS+YNNt6H15lWRqG4OLXcMHBT3658kmDxLjxmZxZ4zepAjlkkMt+KGd2P0XR2o8 OBqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=eRhtmfYNE1k9QIWDLev/HYg8LCEycU/OiEm0o+N1vLc=; b=QKMoMYJSZVAQezXNVuWoKJgha2TXDQuwKkudGN95hUGTA+zH9eER+CCO8ZWZOVA46j XT3auSYa5cSK1kv+21eaCND/P7NbcVlluIAGuT7Qki8leKH01W5mtE/z7F2I7NSpqo1s QG7WqsxBqqFCp7SImTQrtrFsizw55V+ArL5WSihYDkrOHBNaeOJoL6yDgrz3OMLdog8M QimoCETKgzaW7Zf38LxnUXEwJRSQisAkUuJfaqF7Kn1i8L1sB6E0M2tgbnJAXsIxEb2t WImpb4M80TIJnZPKOchTnG/Rr1jtWY8Z1NFaLH/tqE6RmtGbmlJ3YObgjw/ynTxabBQJ faaA== X-Gm-Message-State: AGi0PuZj1B1RZqHhPuU706RLH4YZJCBNB02FafOn6boJG+NL7yfWk472 +PDl18JMe5/PIv9kvO4uPFP4jNlW/zVKpm5cdLxcnQ== X-Google-Smtp-Source: APiQypIuN/PZcgrL2/hVSV1MgKVjYSZN2qrLO+07hBpIM+jqz6qP+duPluN/NhsjywwwpmCKEiJqaK1LhJUITUi8mp0= X-Received: by 2002:a37:7143:: with SMTP id m64mr4006342qkc.215.1587139860762; Fri, 17 Apr 2020 09:11:00 -0700 (PDT) MIME-Version: 1.0 References: <202004162156.03GLuqgw058432@repo.freebsd.org> <20200417062636.GC24371@FreeBSD.org> In-Reply-To: From: Warner Losh Date: Fri, 17 Apr 2020 10:10:49 -0600 Message-ID: Subject: Re: svn commit: r360025 - head/sys/dev/acpica To: Colin Percival Cc: Alexey Dokuchaev , Oliver Pinter , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" X-Rspamd-Queue-Id: 493h0P4bGLz4BRT X-Spamd-Bar: + Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=NoW084OD; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::741) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [1.82 / 15.00]; ARC_NA(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-0.75)[-0.752,0]; TAGGED_RCPT(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; URI_COUNT_ODD(1.00)[3]; RCPT_COUNT_FIVE(0.00)[6]; NEURAL_SPAM_MEDIUM(0.23)[0.231,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCVD_IN_DNSWL_NONE(0.00)[1.4.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-0.16)[ip: (0.01), ipnet: 2607:f8b0::/32(-0.33), asn: 15169(-0.43), country: US(-0.05)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; SUSPICIOUS_RECIPS(1.50)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 16:11:02 -0000 On Fri, Apr 17, 2020 at 9:54 AM Colin Percival wrote: > On 2020-04-16 23:26, Alexey Dokuchaev wrote: > > On Thu, Apr 16, 2020 at 03:12:15PM -0700, Colin Percival wrote: > >> On 2020-04-16 15:05, Oliver Pinter wrote: > >>> On Thursday, April 16, 2020, Colin Percival >>> > wrote: > >>> Log: > >>> Alert devd when acpi_video brightness changes > >>> > >>> Please add this to release notes! > >> > >> I considered that, but so far I don't have any evidence that other > >> systems exist with the same half-working ACPI. Unless you're aware of > >> people who are seeing the same "hw.apci.video.lcd0.brightness changes > >> but thebacklight doesn't" syndrome? > > > > So this is more like a work-around for the problem which lies elsewhere: > > something is missing in acpi_video(4) or perhaps we need a (nonexistent) > > acpi_dell(4)? In this case, shouldn't it be disabled by default, or at > > least be toggable since as you say, evidently just a minority of systems > > exist with the same half-working ACPI? > > Having occasional extra messages coming through devctl(4) is harmless; by > default devd will just drop them on the floor since there isn't anything > configured to do with them. > > In an upcoming change to the graphics/intel-backlight port (if/when someone > merges my patch into their github repo...) I'll be providing a > configuration > file which can be copied into /usr/local/etc/devd/ in order to hook these > messages up to the intel-backlight utility. > > So... yes, for practical purposes this is disabled by default. > There's no harm to these, so I agree... there may also be some novel uses :) Warner > -- > Colin Percival > Security Officer Emeritus, FreeBSD | The power to serve > Founder, Tarsnap | www.tarsnap.com | Online backups for the truly paranoid > From owner-svn-src-head@freebsd.org Fri Apr 17 16:31:09 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 999D52C019E; Fri, 17 Apr 2020 16:31:09 +0000 (UTC) (envelope-from olivier@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493hRd2hNqz4DMh; Fri, 17 Apr 2020 16:31:09 +0000 (UTC) (envelope-from olivier@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1B513255F0; Fri, 17 Apr 2020 16:31:09 +0000 (UTC) (envelope-from olivier@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HGV8Jr053431; Fri, 17 Apr 2020 16:31:08 GMT (envelope-from olivier@FreeBSD.org) Received: (from olivier@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HGV8NS053428; Fri, 17 Apr 2020 16:31:08 GMT (envelope-from olivier@FreeBSD.org) Message-Id: <202004171631.03HGV8NS053428@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: olivier set sender to olivier@FreeBSD.org using -f From: Olivier Cochard Date: Fri, 17 Apr 2020 16:31:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360045 - head/tests/sys/net/routing X-SVN-Group: head X-SVN-Commit-Author: olivier X-SVN-Commit-Paths: head/tests/sys/net/routing X-SVN-Commit-Revision: 360045 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 16:31:09 -0000 Author: olivier (ports committer) Date: Fri Apr 17 16:31:07 2020 New Revision: 360045 URL: https://svnweb.freebsd.org/changeset/base/360045 Log: Skip routing regression tests depending on if_epair if this module isn't installed. Approved by: melifaro Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D24468 Modified: head/tests/sys/net/routing/Makefile head/tests/sys/net/routing/rtsock_common.h head/tests/sys/net/routing/rtsock_config.h Modified: head/tests/sys/net/routing/Makefile ============================================================================== --- head/tests/sys/net/routing/Makefile Fri Apr 17 15:19:42 2020 (r360044) +++ head/tests/sys/net/routing/Makefile Fri Apr 17 16:31:07 2020 (r360045) @@ -14,4 +14,6 @@ ${PACKAGE}FILESMODE_generic_cleanup.sh=0555 # so running them in parallel will lead to weird results. TEST_METADATA+= is_exclusive=true +CFLAGS+= -I${.CURDIR:H:H:H} + .include Modified: head/tests/sys/net/routing/rtsock_common.h ============================================================================== --- head/tests/sys/net/routing/rtsock_common.h Fri Apr 17 15:19:42 2020 (r360044) +++ head/tests/sys/net/routing/rtsock_common.h Fri Apr 17 16:31:07 2020 (r360045) @@ -45,6 +45,7 @@ #include #include #include +#include #include #include #include @@ -63,6 +64,7 @@ #include #include +#include "freebsd_test_suite/macros.h" #include "rtsock_print.h" #include "params.h" @@ -126,33 +128,6 @@ _check_cloner(char *name) return (found); } -/* - * Tries to ensure if_tap is loaded. - * Checks list of interface cloners first, then tries - * to load the module. - * - * return nonzero on success. - */ -static int -_enforce_cloner_loaded(char *cloner_name) -{ - if (_check_cloner(cloner_name)) - return (1); - /* need to load */ - RLOG("trying to load %s driver", cloner_name); - - char cmd[64]; - - snprintf(cmd, sizeof(cmd), "/sbin/kldload if_%s", cloner_name); - int ret = system(cmd); - if (ret != 0) { - RLOG("'%s' failed, error %d", cmd, ret); - return (0); - } - - return (1); -} - static char * iface_create(char *ifname_orig) { @@ -164,9 +139,6 @@ iface_create(char *ifname_orig) for (src = ifname_orig, dst = prefix; *src && isalpha(*src); src++) *dst++ = *src; *dst = '\0'; - - if (_enforce_cloner_loaded(prefix) == 0) - return (NULL); memset(&ifr, 0, sizeof(struct ifreq)); Modified: head/tests/sys/net/routing/rtsock_config.h ============================================================================== --- head/tests/sys/net/routing/rtsock_config.h Fri Apr 17 15:19:42 2020 (r360044) +++ head/tests/sys/net/routing/rtsock_config.h Fri Apr 17 16:31:07 2020 (r360045) @@ -127,6 +127,9 @@ config_setup(const atf_tc_t *tc, struct rtsock_config_ inet_ntop(AF_INET6, &c->addr6.sin6_addr, c->addr6_str, INET6_ADDRSTRLEN); if (co->num_interfaces > 0) { + kldload("if_epair"); + ATF_REQUIRE_KERNEL_MODULE("if_epair"); + c->ifnames = calloc(co->num_interfaces, sizeof(char *)); for (int i = 0; i < co->num_interfaces; i++) c->ifnames[i] = iface_create("epair"); From owner-svn-src-head@freebsd.org Fri Apr 17 16:55:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 458682C147F; Fri, 17 Apr 2020 16:55:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493hzR14Vlz4H4J; Fri, 17 Apr 2020 16:55:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 202EE25A5F; Fri, 17 Apr 2020 16:55:15 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HGtFVK072999; Fri, 17 Apr 2020 16:55:15 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HGtFFA072997; Fri, 17 Apr 2020 16:55:15 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202004171655.03HGtFFA072997@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 17 Apr 2020 16:55:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360046 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 360046 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 16:55:15 -0000 Author: markj Date: Fri Apr 17 16:55:14 2020 New Revision: 360046 URL: https://svnweb.freebsd.org/changeset/base/360046 Log: Always compile minidump_machdep.c on arm. It is not logically dependent on "device mem", and an arm kernel compiled without that device fails to link since the minidumpsys() symbol is referenced by kern_dump.c. MFC after: 1 week Sponsored by: The FreeBSD Foundation Modified: head/sys/conf/files.arm Modified: head/sys/conf/files.arm ============================================================================== --- head/sys/conf/files.arm Fri Apr 17 16:31:07 2020 (r360045) +++ head/sys/conf/files.arm Fri Apr 17 16:55:14 2020 (r360046) @@ -53,7 +53,7 @@ arm/arm/machdep_kdb.c standard arm/arm/machdep_intr.c standard arm/arm/machdep_ptrace.c standard arm/arm/mem.c optional mem -arm/arm/minidump_machdep.c optional mem +arm/arm/minidump_machdep.c standard arm/arm/mp_machdep.c optional smp arm/arm/mpcore_timer.c optional mpcore_timer arm/arm/nexus.c standard From owner-svn-src-head@freebsd.org Fri Apr 17 17:05:59 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 58C712C1E5E; Fri, 17 Apr 2020 17:05:59 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493jCq1k50z4J7P; Fri, 17 Apr 2020 17:05:59 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3654525C5B; Fri, 17 Apr 2020 17:05:59 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HH5xRo078974; Fri, 17 Apr 2020 17:05:59 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HH5wvq078972; Fri, 17 Apr 2020 17:05:58 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004171705.03HH5wvq078972@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Fri, 17 Apr 2020 17:05:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360047 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 360047 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 17:05:59 -0000 Author: melifaro Date: Fri Apr 17 17:05:58 2020 New Revision: 360047 URL: https://svnweb.freebsd.org/changeset/base/360047 Log: Finish r191148: replace rtentry with route in if_bridge if_output() callback. Generic if_output() callback signature was modified to use struct route instead of struct rtentry in r191148, back in 2009. Quoting commit message: Change if_output to take a struct route as its fourth argument in order to allow passing a cached struct llentry * down to L2 Fix bridge_output() to match this signature and update the remaining comment in if_var.h. Reviewed by: kp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24394 Modified: head/sys/net/if_bridge.c head/sys/net/if_var.h Modified: head/sys/net/if_bridge.c ============================================================================== --- head/sys/net/if_bridge.c Fri Apr 17 16:55:14 2020 (r360046) +++ head/sys/net/if_bridge.c Fri Apr 17 17:05:58 2020 (r360047) @@ -302,7 +302,7 @@ static int bridge_transmit(struct ifnet *, struct mbuf static void bridge_qflush(struct ifnet *); static struct mbuf *bridge_input(struct ifnet *, struct mbuf *); static int bridge_output(struct ifnet *, struct mbuf *, struct sockaddr *, - struct rtentry *); + struct route *); static int bridge_enqueue(struct bridge_softc *, struct ifnet *, struct mbuf *); static void bridge_rtdelete(struct bridge_softc *, struct ifnet *ifp, int); @@ -2061,7 +2061,7 @@ bridge_dummynet(struct mbuf *m, struct ifnet *ifp) */ static int bridge_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *sa, - struct rtentry *rt) + struct route *ro __unused) { struct ether_header *eh; struct ifnet *bifp, *dst_if; Modified: head/sys/net/if_var.h ============================================================================== --- head/sys/net/if_var.h Fri Apr 17 16:55:14 2020 (r360046) +++ head/sys/net/if_var.h Fri Apr 17 17:05:58 2020 (r360047) @@ -44,7 +44,7 @@ * received from its medium. * * Output occurs when the routine if_output is called, with three parameters: - * (*ifp->if_output)(ifp, m, dst, rt) + * (*ifp->if_output)(ifp, m, dst, ro) * Here m is the mbuf chain to be sent and dst is the destination address. * The output routine encapsulates the supplied datagram if necessary, * and then transmits it on its medium. From owner-svn-src-head@freebsd.org Fri Apr 17 18:19:14 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 49CF72C3E91; Fri, 17 Apr 2020 18:19:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493krL1JRKz4PCL; Fri, 17 Apr 2020 18:19:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 27B3B269EF; Fri, 17 Apr 2020 18:19:14 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HIJEFY023749; Fri, 17 Apr 2020 18:19:14 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HIJDpV023747; Fri, 17 Apr 2020 18:19:13 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004171819.03HIJDpV023747@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 17 Apr 2020 18:19:13 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360048 - head/sys/cam/scsi X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/cam/scsi X-SVN-Commit-Revision: 360048 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 18:19:14 -0000 Author: jhb Date: Fri Apr 17 18:19:13 2020 New Revision: 360048 URL: https://svnweb.freebsd.org/changeset/base/360048 Log: Don't try to copyout() to a kernel buffer. The handle_string callback for the ENCIOC_GET_ENCNAME and ENCIOC_GETENCID ioctls tries to copy the size of the generated string out to userland. However, the callback only has access to the kernel copy of the structure populated by copyin(). The copyout() call simply overwrites the value in the kernel's copy preventing the subsequent overflow prevention logic from working. Fix this by instead doing a copyout() of the updated length in the caller after the callback returns. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24456 Modified: head/sys/cam/scsi/scsi_enc.c head/sys/cam/scsi/scsi_enc_ses.c Modified: head/sys/cam/scsi/scsi_enc.c ============================================================================== --- head/sys/cam/scsi/scsi_enc.c Fri Apr 17 17:05:58 2020 (r360047) +++ head/sys/cam/scsi/scsi_enc.c Fri Apr 17 18:19:13 2020 (r360048) @@ -489,6 +489,10 @@ enc_ioctl(struct cdev *dev, u_long cmd, caddr_t arg_ad cam_periph_lock(periph); error = enc->enc_vec.handle_string(enc, &sstr, cmd); cam_periph_unlock(periph); + if (error == 0 || error == ENOMEM) + (void)copyout(&sstr.bufsiz, + &((encioc_string_t *)addr)->bufsiz, + sizeof(sstr.bufsiz)); break; case ENCIOC_GETELMSTAT: Modified: head/sys/cam/scsi/scsi_enc_ses.c ============================================================================== --- head/sys/cam/scsi/scsi_enc_ses.c Fri Apr 17 17:05:58 2020 (r360047) +++ head/sys/cam/scsi/scsi_enc_ses.c Fri Apr 17 18:19:13 2020 (r360048) @@ -2926,11 +2926,11 @@ ses_handle_string(enc_softc_t *enc, encioc_string_t *s vendor, product, rev) + 1; if (rsize > sizeof(str)) rsize = sizeof(str); - copyout(&rsize, &sstr->bufsiz, sizeof(rsize)); size = rsize; if (size > sstr->bufsiz) size = sstr->bufsiz; copyout(str, sstr->buf, size); + sstr->bufsiz = rsize; return (size == rsize ? 0 : ENOMEM); case ENCIOC_GETENCID: if (ses_cache->ses_nsubencs < 1) @@ -2940,11 +2940,11 @@ ses_handle_string(enc_softc_t *enc, encioc_string_t *s scsi_8btou64(enc_desc->logical_id)) + 1; if (rsize > sizeof(str)) rsize = sizeof(str); - copyout(&rsize, &sstr->bufsiz, sizeof(rsize)); size = rsize; if (size > sstr->bufsiz) size = sstr->bufsiz; copyout(str, sstr->buf, size); + sstr->bufsiz = rsize; return (size == rsize ? 0 : ENOMEM); default: return (EINVAL); From owner-svn-src-head@freebsd.org Fri Apr 17 18:22:38 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 690472C414B; Fri, 17 Apr 2020 18:22:38 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493kwG2Fn6z4Plq; Fri, 17 Apr 2020 18:22:38 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 48A8D26BC9; Fri, 17 Apr 2020 18:22:38 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HIMcB4029716; Fri, 17 Apr 2020 18:22:38 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HIMcuN029715; Fri, 17 Apr 2020 18:22:38 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <202004171822.03HIMcuN029715@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Fri, 17 Apr 2020 18:22:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360049 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: melifaro X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 360049 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 18:22:38 -0000 Author: melifaro Date: Fri Apr 17 18:22:37 2020 New Revision: 360049 URL: https://svnweb.freebsd.org/changeset/base/360049 Log: Unbreak build by reverting if_bridge part of r360047. Pointy hat to: melifaro Modified: head/sys/net/if_bridge.c Modified: head/sys/net/if_bridge.c ============================================================================== --- head/sys/net/if_bridge.c Fri Apr 17 18:19:13 2020 (r360048) +++ head/sys/net/if_bridge.c Fri Apr 17 18:22:37 2020 (r360049) @@ -302,7 +302,7 @@ static int bridge_transmit(struct ifnet *, struct mbuf static void bridge_qflush(struct ifnet *); static struct mbuf *bridge_input(struct ifnet *, struct mbuf *); static int bridge_output(struct ifnet *, struct mbuf *, struct sockaddr *, - struct route *); + struct rtentry *); static int bridge_enqueue(struct bridge_softc *, struct ifnet *, struct mbuf *); static void bridge_rtdelete(struct bridge_softc *, struct ifnet *ifp, int); @@ -2061,7 +2061,7 @@ bridge_dummynet(struct mbuf *m, struct ifnet *ifp) */ static int bridge_output(struct ifnet *ifp, struct mbuf *m, struct sockaddr *sa, - struct route *ro __unused) + struct rtentry *rt) { struct ether_header *eh; struct ifnet *bifp, *dst_if; From owner-svn-src-head@freebsd.org Fri Apr 17 18:24:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 183EC2C4279; Fri, 17 Apr 2020 18:24:48 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493kyl7005z4Q08; Fri, 17 Apr 2020 18:24:47 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EB35A26BD2; Fri, 17 Apr 2020 18:24:47 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HIOlLJ029874; Fri, 17 Apr 2020 18:24:47 GMT (envelope-from jhb@FreeBSD.org) Received: (from jhb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HIOl13029873; Fri, 17 Apr 2020 18:24:47 GMT (envelope-from jhb@FreeBSD.org) Message-Id: <202004171824.03HIOl13029873@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jhb set sender to jhb@FreeBSD.org using -f From: John Baldwin Date: Fri, 17 Apr 2020 18:24:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360050 - head/sys/mips/include X-SVN-Group: head X-SVN-Commit-Author: jhb X-SVN-Commit-Paths: head/sys/mips/include X-SVN-Commit-Revision: 360050 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 18:24:48 -0000 Author: jhb Date: Fri Apr 17 18:24:47 2020 New Revision: 360050 URL: https://svnweb.freebsd.org/changeset/base/360050 Log: Use the right type for 64-bit coprocessor registers. The use of "int" here caused the compiler to believe that it needs to insert a "sll $n, $n, 0" to sign extend as part of the implicit cast to uint64_t. Submitted by: Nathaniel Filardo Reviewed by: brooks, arichardson Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D24457 Modified: head/sys/mips/include/cpufunc.h Modified: head/sys/mips/include/cpufunc.h ============================================================================== --- head/sys/mips/include/cpufunc.h Fri Apr 17 18:22:37 2020 (r360049) +++ head/sys/mips/include/cpufunc.h Fri Apr 17 18:24:47 2020 (r360050) @@ -125,7 +125,7 @@ breakpoint(void) static __inline uint64_t \ mips_rd_ ## n (void) \ { \ - int v0; \ + uint64_t v0; \ __asm __volatile ("dmfc0 %[v0], $"__XSTRING(r)";" \ : [v0] "=&r"(v0)); \ mips_barrier(); \ @@ -147,7 +147,7 @@ mips_wr_ ## n (uint64_t a0) \ static __inline uint64_t \ mips_rd_ ## n(void) \ { \ - int v0; \ + uint64_t v0; \ __asm __volatile ("dmfc0 %[v0], $"__XSTRING(r)", "__XSTRING(s)";" \ : [v0] "=&r"(v0)); \ mips_barrier(); \ @@ -190,7 +190,7 @@ MIPS_RW64_COP0(xcontext, MIPS_COP_0_TLB_XCONTEXT); static __inline uint32_t \ mips_rd_ ## n (void) \ { \ - int v0; \ + uint32_t v0; \ __asm __volatile ("mfc0 %[v0], $"__XSTRING(r)";" \ : [v0] "=&r"(v0)); \ mips_barrier(); \ @@ -212,7 +212,7 @@ mips_wr_ ## n (uint32_t a0) \ static __inline uint32_t \ mips_rd_ ## n(void) \ { \ - int v0; \ + uint32_t v0; \ __asm __volatile ("mfc0 %[v0], $"__XSTRING(r)", "__XSTRING(s)";" \ : [v0] "=&r"(v0)); \ mips_barrier(); \ From owner-svn-src-head@freebsd.org Fri Apr 17 18:34:52 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C04E22C44CC; Fri, 17 Apr 2020 18:34:52 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493lBN4pjmz4Qf4; Fri, 17 Apr 2020 18:34:52 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id A030F26DD5; Fri, 17 Apr 2020 18:34:52 +0000 (UTC) (envelope-from kevans@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HIYqh8036340; Fri, 17 Apr 2020 18:34:52 GMT (envelope-from kevans@FreeBSD.org) Received: (from kevans@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HIYnjX036326; Fri, 17 Apr 2020 18:34:49 GMT (envelope-from kevans@FreeBSD.org) Message-Id: <202004171834.03HIYnjX036326@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kevans set sender to kevans@FreeBSD.org using -f From: Kyle Evans Date: Fri, 17 Apr 2020 18:34:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360051 - in head/sys: dev/altera/jtag_uart dev/bvm dev/cfe dev/ofw dev/rp dev/xen/console kern netgraph sys X-SVN-Group: head X-SVN-Commit-Author: kevans X-SVN-Commit-Paths: in head/sys: dev/altera/jtag_uart dev/bvm dev/cfe dev/ofw dev/rp dev/xen/console kern netgraph sys X-SVN-Commit-Revision: 360051 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 18:34:52 -0000 Author: kevans Date: Fri Apr 17 18:34:49 2020 New Revision: 360051 URL: https://svnweb.freebsd.org/changeset/base/360051 Log: tty: convert tty_lock_assert to tty_assert_locked to hide lock type A later change, currently being iterated on in D24459, will in-fact change the lock type to an sx so that TTY drivers can sleep on it if they need to. Committing this ahead of time to make the review in question a little more palatable. tty_lock_assert() is unfortunately still needed for now in two places to make sure that the tty lock has not been recursed upon, for those scenarios where it's supplied by the TTY driver and possibly a mutex that is allowed to recurse. Suggested by: markj Modified: head/sys/dev/altera/jtag_uart/altera_jtag_uart_tty.c head/sys/dev/bvm/bvm_console.c head/sys/dev/cfe/cfe_console.c head/sys/dev/ofw/ofw_console.c head/sys/dev/rp/rp.c head/sys/dev/xen/console/xen_console.c head/sys/kern/tty.c head/sys/kern/tty_info.c head/sys/kern/tty_ttydisc.c head/sys/netgraph/ng_tty.c head/sys/sys/tty.h head/sys/sys/ttydevsw.h head/sys/sys/ttydisc.h head/sys/sys/ttyhook.h Modified: head/sys/dev/altera/jtag_uart/altera_jtag_uart_tty.c ============================================================================== --- head/sys/dev/altera/jtag_uart/altera_jtag_uart_tty.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/dev/altera/jtag_uart/altera_jtag_uart_tty.c Fri Apr 17 18:34:49 2020 (r360051) @@ -266,7 +266,7 @@ aju_handle_input(struct altera_jtag_uart_softc *sc, st { int c; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); AJU_LOCK_ASSERT(sc); while (aju_readable(sc)) { @@ -298,7 +298,7 @@ aju_handle_output(struct altera_jtag_uart_softc *sc, s uint32_t v; uint8_t ch; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); AJU_LOCK_ASSERT(sc); AJU_UNLOCK(sc); @@ -364,7 +364,7 @@ aju_outwakeup(struct tty *tp) { struct altera_jtag_uart_softc *sc = tty_softc(tp); - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); AJU_LOCK(sc); aju_handle_output(sc, tp); Modified: head/sys/dev/bvm/bvm_console.c ============================================================================== --- head/sys/dev/bvm/bvm_console.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/dev/bvm/bvm_console.c Fri Apr 17 18:34:49 2020 (r360051) @@ -130,7 +130,7 @@ static void bvm_tty_close(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); callout_stop(&bvm_timer); } @@ -159,7 +159,7 @@ bvm_timeout(void *v) tp = (struct tty *)v; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); while ((c = bvm_cngetc(NULL)) != -1) ttydisc_rint(tp, c, 0); ttydisc_rint_done(tp); Modified: head/sys/dev/cfe/cfe_console.c ============================================================================== --- head/sys/dev/cfe/cfe_console.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/dev/cfe/cfe_console.c Fri Apr 17 18:34:49 2020 (r360051) @@ -142,7 +142,7 @@ cfe_timeout(void *v) tp = (struct tty *)v; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); while ((c = cfe_cngetc(NULL)) != -1) ttydisc_rint(tp, c, 0); ttydisc_rint_done(tp); Modified: head/sys/dev/ofw/ofw_console.c ============================================================================== --- head/sys/dev/ofw/ofw_console.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/dev/ofw/ofw_console.c Fri Apr 17 18:34:49 2020 (r360051) @@ -152,7 +152,7 @@ ofw_timeout(void *v) tp = (struct tty *)v; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); while ((c = ofw_cngetc(NULL)) != -1) ttydisc_rint(tp, c, 0); ttydisc_rint_done(tp); Modified: head/sys/dev/rp/rp.c ============================================================================== --- head/sys/dev/rp/rp.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/dev/rp/rp.c Fri Apr 17 18:34:49 2020 (r360051) @@ -674,7 +674,7 @@ static void rp_do_poll(void *arg) rp = arg; tp = rp->rp_tty; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); ctl = rp->rp_ctlp; CtlMask = ctl->ctlmask(ctl); if (CtlMask & (1 << rp->rp_aiop)) { Modified: head/sys/dev/xen/console/xen_console.c ============================================================================== --- head/sys/dev/xen/console/xen_console.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/dev/xen/console/xen_console.c Fri Apr 17 18:34:49 2020 (r360051) @@ -515,7 +515,7 @@ xencons_tx(struct tty *tp) cons = tty_softc(tp); - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); /* * Don't transmit any character if the buffer is full. Otherwise, Modified: head/sys/kern/tty.c ============================================================================== --- head/sys/kern/tty.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/kern/tty.c Fri Apr 17 18:34:49 2020 (r360051) @@ -228,7 +228,7 @@ static void ttydev_leave(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tty_opened(tp) || tp->t_flags & TF_OPENCLOSE) { /* Device is still opened somewhere. */ @@ -413,7 +413,7 @@ static __inline int tty_is_ctty(struct tty *tp, struct proc *p) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); return (p->p_session == tp->t_session && p->p_flag & P_CONTROLT); } @@ -427,7 +427,7 @@ tty_wait_background(struct tty *tp, struct thread *td, int error; MPASS(sig == SIGTTIN || sig == SIGTTOU); - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); for (;;) { PROC_LOCK(p); @@ -697,7 +697,7 @@ tty_kqops_read_event(struct knote *kn, long hint __unu { struct tty *tp = kn->kn_hook; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tty_gone(tp) || tp->t_flags & TF_ZOMBIE) { kn->kn_flags |= EV_EOF; @@ -721,7 +721,7 @@ tty_kqops_write_event(struct knote *kn, long hint __un { struct tty *tp = kn->kn_hook; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tty_gone(tp)) { kn->kn_flags |= EV_EOF; @@ -1122,7 +1122,7 @@ tty_rel_free(struct tty *tp) { struct cdev *dev; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); #define TF_ACTIVITY (TF_GONE|TF_OPENED|TF_HOOK|TF_OPENCLOSE) if (tp->t_sessioncnt != 0 || (tp->t_flags & TF_ACTIVITY) != TF_GONE) { @@ -1153,7 +1153,7 @@ tty_rel_pgrp(struct tty *tp, struct pgrp *pg) { MPASS(tp->t_sessioncnt > 0); - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tp->t_pgrp == pg) tp->t_pgrp = NULL; @@ -1180,7 +1180,7 @@ void tty_rel_gone(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); /* Simulate carrier removal. */ @@ -1268,7 +1268,7 @@ static void tty_to_xtty(struct tty *tp, struct xtty *xt) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); xt->xt_size = sizeof(struct xtty); xt->xt_insize = ttyinq_getsize(&tp->t_inq); @@ -1460,7 +1460,7 @@ tty_signal_sessleader(struct tty *tp, int sig) { struct proc *p; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(sig >= 1 && sig < NSIG); /* Make signals start output again. */ @@ -1479,7 +1479,7 @@ tty_signal_pgrp(struct tty *tp, int sig) { ksiginfo_t ksi; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(sig >= 1 && sig < NSIG); /* Make signals start output again. */ @@ -1957,7 +1957,7 @@ tty_ioctl(struct tty *tp, u_long cmd, void *data, int { int error; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tty_gone(tp)) return (ENXIO); @@ -2124,7 +2124,7 @@ void ttyhook_unregister(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(tp->t_flags & TF_HOOK); /* Disconnect the hook. */ Modified: head/sys/kern/tty_info.c ============================================================================== --- head/sys/kern/tty_info.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/kern/tty_info.c Fri Apr 17 18:34:49 2020 (r360051) @@ -266,7 +266,7 @@ tty_info(struct tty *tp) char comm[MAXCOMLEN + 1]; struct rusage ru; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tty_checkoutq(tp) == 0) return; Modified: head/sys/kern/tty_ttydisc.c ============================================================================== --- head/sys/kern/tty_ttydisc.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/kern/tty_ttydisc.c Fri Apr 17 18:34:49 2020 (r360051) @@ -326,7 +326,7 @@ ttydisc_read(struct tty *tp, struct uio *uio, int iofl { int error; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (uio->uio_resid == 0) return (0); @@ -458,7 +458,7 @@ ttydisc_write(struct tty *tp, struct uio *uio, int iof int error = 0; unsigned int oblen = 0; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tp->t_flags & TF_ZOMBIE) return (EIO); @@ -573,7 +573,7 @@ done: void ttydisc_optimize(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (ttyhook_hashook(tp, rint_bypass)) { tp->t_flags |= TF_BYPASS; @@ -594,7 +594,7 @@ void ttydisc_modem(struct tty *tp, int open) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (open) cv_broadcast(&tp->t_dcdwait); @@ -842,7 +842,7 @@ ttydisc_rint(struct tty *tp, char c, int flags) char ob[3] = { 0xff, 0x00 }; size_t ol; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); atomic_add_long(&tty_nin, 1); @@ -1085,7 +1085,7 @@ ttydisc_rint_bypass(struct tty *tp, const void *buf, s { size_t ret; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(tp->t_flags & TF_BYPASS); @@ -1106,7 +1106,7 @@ void ttydisc_rint_done(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (ttyhook_hashook(tp, rint_done)) ttyhook_rint_done(tp); @@ -1122,7 +1122,7 @@ ttydisc_rint_poll(struct tty *tp) { size_t l; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (ttyhook_hashook(tp, rint_poll)) return ttyhook_rint_poll(tp); @@ -1165,7 +1165,7 @@ size_t ttydisc_getc(struct tty *tp, void *buf, size_t len) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tp->t_flags & TF_STOPPED) return (0); @@ -1192,7 +1192,7 @@ ttydisc_getc_uio(struct tty *tp, struct uio *uio) size_t len; char buf[TTY_STACKBUF]; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tp->t_flags & TF_STOPPED) return (0); @@ -1233,7 +1233,7 @@ size_t ttydisc_getc_poll(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tp->t_flags & TF_STOPPED) return (0); @@ -1255,7 +1255,7 @@ tty_putstrn(struct tty *tp, const char *p, size_t n) { size_t i; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (tty_gone(tp)) return (-1); Modified: head/sys/netgraph/ng_tty.c ============================================================================== --- head/sys/netgraph/ng_tty.c Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/netgraph/ng_tty.c Fri Apr 17 18:34:49 2020 (r360051) @@ -412,7 +412,7 @@ ngt_rint_bypass(struct tty *tp, const void *buf, size_ size_t total = 0; int error = 0, length; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (sc->hook == NULL) return (0); @@ -459,7 +459,7 @@ ngt_rint(struct tty *tp, char c, int flags) struct mbuf *m; int error = 0; - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); if (sc->hook == NULL) return (0); Modified: head/sys/sys/tty.h ============================================================================== --- head/sys/sys/tty.h Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/sys/tty.h Fri Apr 17 18:34:49 2020 (r360051) @@ -173,8 +173,11 @@ void tty_rel_gone(struct tty *tp); #define tty_lock(tp) mtx_lock((tp)->t_mtx) #define tty_unlock(tp) mtx_unlock((tp)->t_mtx) #define tty_lock_owned(tp) mtx_owned((tp)->t_mtx) -#define tty_lock_assert(tp,ma) mtx_assert((tp)->t_mtx, (ma)) +#define tty_assert_locked(tp) mtx_assert((tp)->t_mtx, MA_OWNED) #define tty_getlock(tp) ((tp)->t_mtx) + +/* XXX Should migrate users to tty_assert_locked! */ +#define tty_lock_assert(tp, ma) mtx_assert((tp)->t_mtx, (ma)) /* Device node creation. */ int tty_makedevf(struct tty *tp, struct ucred *cred, int flags, Modified: head/sys/sys/ttydevsw.h ============================================================================== --- head/sys/sys/ttydevsw.h Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/sys/ttydevsw.h Fri Apr 17 18:34:49 2020 (r360051) @@ -86,7 +86,7 @@ static __inline int ttydevsw_open(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); return (tp->t_devsw->tsw_open(tp)); @@ -96,7 +96,7 @@ static __inline void ttydevsw_close(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); tp->t_devsw->tsw_close(tp); @@ -106,7 +106,7 @@ static __inline void ttydevsw_outwakeup(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); /* Prevent spurious wakeups. */ @@ -120,7 +120,7 @@ static __inline void ttydevsw_inwakeup(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); /* Prevent spurious wakeups. */ @@ -134,7 +134,7 @@ static __inline int ttydevsw_ioctl(struct tty *tp, u_long cmd, caddr_t data, struct thread *td) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); return (tp->t_devsw->tsw_ioctl(tp, cmd, data, td)); @@ -145,7 +145,7 @@ ttydevsw_cioctl(struct tty *tp, int unit, u_long cmd, struct thread *td) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); return (tp->t_devsw->tsw_cioctl(tp, unit, cmd, data, td)); @@ -183,7 +183,7 @@ static __inline void ttydevsw_pktnotify(struct tty *tp, char event) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); tp->t_devsw->tsw_pktnotify(tp, event); @@ -202,7 +202,7 @@ static __inline bool ttydevsw_busy(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); return (tp->t_devsw->tsw_busy(tp)); Modified: head/sys/sys/ttydisc.h ============================================================================== --- head/sys/sys/ttydisc.h Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/sys/ttydisc.h Fri Apr 17 18:34:49 2020 (r360051) @@ -72,7 +72,7 @@ static __inline size_t ttydisc_read_poll(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); return ttyinq_bytescanonicalized(&tp->t_inq); } @@ -81,7 +81,7 @@ static __inline size_t ttydisc_write_poll(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); return ttyoutq_bytesleft(&tp->t_outq); } Modified: head/sys/sys/ttyhook.h ============================================================================== --- head/sys/sys/ttyhook.h Fri Apr 17 18:24:47 2020 (r360050) +++ head/sys/sys/ttyhook.h Fri Apr 17 18:34:49 2020 (r360051) @@ -78,7 +78,7 @@ void ttyhook_unregister(struct tty *); static __inline int ttyhook_rint(struct tty *tp, char c, int flags) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); return tp->t_hook->th_rint(tp, c, flags); @@ -87,7 +87,7 @@ ttyhook_rint(struct tty *tp, char c, int flags) static __inline size_t ttyhook_rint_bypass(struct tty *tp, const void *buf, size_t len) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); return tp->t_hook->th_rint_bypass(tp, buf, len); @@ -96,7 +96,7 @@ ttyhook_rint_bypass(struct tty *tp, const void *buf, s static __inline void ttyhook_rint_done(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); tp->t_hook->th_rint_done(tp); @@ -105,7 +105,7 @@ ttyhook_rint_done(struct tty *tp) static __inline size_t ttyhook_rint_poll(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); return tp->t_hook->th_rint_poll(tp); @@ -114,7 +114,7 @@ ttyhook_rint_poll(struct tty *tp) static __inline size_t ttyhook_getc_inject(struct tty *tp, void *buf, size_t len) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); return tp->t_hook->th_getc_inject(tp, buf, len); @@ -123,7 +123,7 @@ ttyhook_getc_inject(struct tty *tp, void *buf, size_t static __inline void ttyhook_getc_capture(struct tty *tp, const void *buf, size_t len) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); tp->t_hook->th_getc_capture(tp, buf, len); @@ -132,7 +132,7 @@ ttyhook_getc_capture(struct tty *tp, const void *buf, static __inline size_t ttyhook_getc_poll(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); MPASS(!tty_gone(tp)); return tp->t_hook->th_getc_poll(tp); @@ -141,7 +141,7 @@ ttyhook_getc_poll(struct tty *tp) static __inline void ttyhook_close(struct tty *tp) { - tty_lock_assert(tp, MA_OWNED); + tty_assert_locked(tp); tp->t_hook->th_close(tp); } From owner-svn-src-head@freebsd.org Fri Apr 17 19:12:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0194C2C5961; Fri, 17 Apr 2020 19:12:53 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493m2D6Lvdz4VW0; Fri, 17 Apr 2020 19:12:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D4641275F3; Fri, 17 Apr 2020 19:12:52 +0000 (UTC) (envelope-from markj@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HJCqCV061651; Fri, 17 Apr 2020 19:12:52 GMT (envelope-from markj@FreeBSD.org) Received: (from markj@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HJCqvE061650; Fri, 17 Apr 2020 19:12:52 GMT (envelope-from markj@FreeBSD.org) Message-Id: <202004171912.03HJCqvE061650@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: markj set sender to markj@FreeBSD.org using -f From: Mark Johnston Date: Fri, 17 Apr 2020 19:12:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360052 - head/sys/compat/linuxkpi/common/src X-SVN-Group: head X-SVN-Commit-Author: markj X-SVN-Commit-Paths: head/sys/compat/linuxkpi/common/src X-SVN-Commit-Revision: 360052 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 19:12:53 -0000 Author: markj Date: Fri Apr 17 19:12:52 2020 New Revision: 360052 URL: https://svnweb.freebsd.org/changeset/base/360052 Log: Remove a vestigal reference to kmem_object. kmem_object has been an alias of kernel_object for a while. MFC after: 1 week Modified: head/sys/compat/linuxkpi/common/src/linux_page.c Modified: head/sys/compat/linuxkpi/common/src/linux_page.c ============================================================================== --- head/sys/compat/linuxkpi/common/src/linux_page.c Fri Apr 17 18:34:49 2020 (r360051) +++ head/sys/compat/linuxkpi/common/src/linux_page.c Fri Apr 17 19:12:52 2020 (r360052) @@ -76,7 +76,7 @@ void * linux_page_address(struct page *page) { - if (page->object != kmem_object && page->object != kernel_object) { + if (page->object != kernel_object) { return (PMAP_HAS_DMAP ? ((void *)(uintptr_t)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(page))) : NULL); From owner-svn-src-head@freebsd.org Fri Apr 17 19:14:05 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id AEAC72C5A63; Fri, 17 Apr 2020 19:14:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493m3d49bFz4Vg1; Fri, 17 Apr 2020 19:14:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8A7A1275F4; Fri, 17 Apr 2020 19:14:05 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HJE58u061762; Fri, 17 Apr 2020 19:14:05 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HJE5Pr061761; Fri, 17 Apr 2020 19:14:05 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202004171914.03HJE5Pr061761@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 17 Apr 2020 19:14:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360053 - head/sys/dev/sound/pci/hda X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 360053 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 19:14:05 -0000 Author: emaste Date: Fri Apr 17 19:14:05 2020 New Revision: 360053 URL: https://svnweb.freebsd.org/changeset/base/360053 Log: hdac: update comment to match function name snd_hda was rewritten in r230130; one function retained a comment referencing the previous name. MFC after: 3 days Sponsored by: The FreeBSD Foundation Modified: head/sys/dev/sound/pci/hda/hdac.c Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Fri Apr 17 19:12:52 2020 (r360052) +++ head/sys/dev/sound/pci/hda/hdac.c Fri Apr 17 19:14:05 2020 (r360053) @@ -965,7 +965,7 @@ hdac_unsolq_flush(struct hdac_softc *sc) } /**************************************************************************** - * uint32_t hdac_command_sendone_internal + * uint32_t hdac_send_command * * Wrapper function that sends only one command to a given codec ****************************************************************************/ From owner-svn-src-head@freebsd.org Fri Apr 17 20:20:04 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5BD772A8434; Fri, 17 Apr 2020 20:20:04 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493nWm1q7Jz4dM5; Fri, 17 Apr 2020 20:20:04 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 399AC232; Fri, 17 Apr 2020 20:20:04 +0000 (UTC) (envelope-from cem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HKK4J5000863; Fri, 17 Apr 2020 20:20:04 GMT (envelope-from cem@FreeBSD.org) Received: (from cem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HKK4ex000862; Fri, 17 Apr 2020 20:20:04 GMT (envelope-from cem@FreeBSD.org) Message-Id: <202004172020.03HKK4ex000862@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: cem set sender to cem@FreeBSD.org using -f From: Conrad Meyer Date: Fri, 17 Apr 2020 20:20:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360054 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: cem X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 360054 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 20:20:04 -0000 Author: cem Date: Fri Apr 17 20:20:03 2020 New Revision: 360054 URL: https://svnweb.freebsd.org/changeset/base/360054 Log: xen-locore: Silence DWARF2 section warning Silence the "DWARF2 can only represent one section per compilation unit" warning in amd64 GENERIC builds by disabling Clang's debuginfo generation for this assembler file (-g0). The message is replaced by a warning from ctfconvert that there is no debuginfo to convert (future work). The file contains some metadata (several ELF notes) and some code. The code does not appear to have anything that debuginfo would aid. I looked at the generated debuginfo (readelf -w xen-locore.o) prior to this change, and the metadata that would be disabled are things like associated between binary offset and code line number (not especially useful with a disassembler), and label metadata for the entry points (not especially useful as this is already in the symbol table). Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D24384 Modified: head/sys/conf/files.amd64 Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Fri Apr 17 19:14:05 2020 (r360053) +++ head/sys/conf/files.amd64 Fri Apr 17 20:20:03 2020 (r360054) @@ -112,7 +112,8 @@ amd64/amd64/in_cksum.c optional inet | inet6 amd64/amd64/initcpu.c standard amd64/amd64/io.c optional io amd64/amd64/locore.S standard no-obj -amd64/amd64/xen-locore.S optional xenhvm +amd64/amd64/xen-locore.S optional xenhvm \ + compile-with "${NORMAL_S} -g0" amd64/amd64/machdep.c standard amd64/amd64/mem.c optional mem amd64/amd64/minidump_machdep.c standard From owner-svn-src-head@freebsd.org Fri Apr 17 21:17:53 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 858652AB2CA; Fri, 17 Apr 2020 21:17:53 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493ppT2y23z3HB9; Fri, 17 Apr 2020 21:17:53 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5FBBADBE; Fri, 17 Apr 2020 21:17:53 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HLHrgf038384; Fri, 17 Apr 2020 21:17:53 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HLHppL038374; Fri, 17 Apr 2020 21:17:51 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004172117.03HLHppL038374@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Fri, 17 Apr 2020 21:17:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360055 - in head/sys/fs: nfs nfsserver X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: in head/sys/fs: nfs nfsserver X-SVN-Commit-Revision: 360055 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 21:17:53 -0000 Author: rmacklem Date: Fri Apr 17 21:17:51 2020 New Revision: 360055 URL: https://svnweb.freebsd.org/changeset/base/360055 Log: Replace all instances of the typedef mbuf_t with "struct mbuf *". The typedef mbuf_t was used for the Mac OS/X port of the code long ago. Since this port is no longer used and the use of mbuf_t obscures what the code does (and is not consistent with style(9)), it is no longer needed. This patch replaces all instances of mbuf_t with "struct mbuf *", so that it is no longer used. This patch should not result in any semantic change. Modified: head/sys/fs/nfs/nfs.h head/sys/fs/nfs/nfs_commonsubs.c head/sys/fs/nfs/nfs_var.h head/sys/fs/nfs/nfsrvcache.h head/sys/fs/nfsserver/nfs_nfsdcache.c head/sys/fs/nfsserver/nfs_nfsdserv.c head/sys/fs/nfsserver/nfs_nfsdstate.c head/sys/fs/nfsserver/nfs_nfsdsubs.c Modified: head/sys/fs/nfs/nfs.h ============================================================================== --- head/sys/fs/nfs/nfs.h Fri Apr 17 20:20:03 2020 (r360054) +++ head/sys/fs/nfs/nfs.h Fri Apr 17 21:17:51 2020 (r360055) @@ -638,10 +638,10 @@ struct nfsgss_mechlist { * This structure is used by the server for describing each request. */ struct nfsrv_descript { - mbuf_t nd_mrep; /* Request mbuf list */ - mbuf_t nd_md; /* Current dissect mbuf */ - mbuf_t nd_mreq; /* Reply mbuf list */ - mbuf_t nd_mb; /* Current build mbuf */ + struct mbuf *nd_mrep; /* Request mbuf list */ + struct mbuf *nd_md; /* Current dissect mbuf */ + struct mbuf *nd_mreq; /* Reply mbuf list */ + struct mbuf *nd_mb; /* Current build mbuf */ NFSSOCKADDR_T nd_nam; /* and socket addr */ NFSSOCKADDR_T nd_nam2; /* return socket addr */ caddr_t nd_dpos; /* Current dissect pos */ Modified: head/sys/fs/nfs/nfs_commonsubs.c ============================================================================== --- head/sys/fs/nfs/nfs_commonsubs.c Fri Apr 17 20:20:03 2020 (r360054) +++ head/sys/fs/nfs/nfs_commonsubs.c Fri Apr 17 21:17:51 2020 (r360055) @@ -611,7 +611,7 @@ nfsm_mbufuio(struct nfsrv_descript *nd, struct uio *ui { char *mbufcp, *uiocp; int xfer, left, len; - mbuf_t mp; + struct mbuf *mp; long uiosiz, rem; int error = 0; @@ -694,7 +694,7 @@ out: APPLESTATIC void * nfsm_dissct(struct nfsrv_descript *nd, int siz, int how) { - mbuf_t mp2; + struct mbuf *mp2; int siz2, xfer; caddr_t p; int left; @@ -808,9 +808,9 @@ out: APPLESTATIC int nfsm_strtom(struct nfsrv_descript *nd, const char *cp, int siz) { - mbuf_t m2; + struct mbuf *m2; int xfer, left; - mbuf_t m1; + struct mbuf *m1; int rem, bytesize; u_int32_t *tl; char *cp2; @@ -1014,7 +1014,7 @@ APPLESTATIC void newnfs_trimleading(nd) struct nfsrv_descript *nd; { - mbuf_t m, n; + struct mbuf *m, *n; int offs; /* @@ -1059,7 +1059,7 @@ newnfs_trimleading(nd) APPLESTATIC void newnfs_trimtrailing(nd, mb, bpos) struct nfsrv_descript *nd; - mbuf_t mb; + struct mbuf *mb; caddr_t bpos; { @@ -2423,7 +2423,7 @@ nfsrv_mtostr(struct nfsrv_descript *nd, char *str, int { char *cp; int xfer, len; - mbuf_t mp; + struct mbuf *mp; int rem, error = 0; mp = nd->nd_md; @@ -4437,7 +4437,7 @@ nfsrv_refstrbigenough(int siz, u_char **cpp, u_char ** APPLESTATIC void nfsrvd_rephead(struct nfsrv_descript *nd) { - mbuf_t mreq; + struct mbuf *mreq; /* * If this is a big reply, use a cluster. Modified: head/sys/fs/nfs/nfs_var.h ============================================================================== --- head/sys/fs/nfs/nfs_var.h Fri Apr 17 20:20:03 2020 (r360054) +++ head/sys/fs/nfs/nfs_var.h Fri Apr 17 21:17:51 2020 (r360055) @@ -325,7 +325,7 @@ int nfsm_fhtom(struct nfsrv_descript *, u_int8_t *, in int nfsm_advance(struct nfsrv_descript *, int, int); void *nfsm_dissct(struct nfsrv_descript *, int, int); void newnfs_trimleading(struct nfsrv_descript *); -void newnfs_trimtrailing(struct nfsrv_descript *, mbuf_t, +void newnfs_trimtrailing(struct nfsrv_descript *, struct mbuf *, caddr_t); void newnfs_copycred(struct nfscred *, struct ucred *); void newnfs_copyincred(struct ucred *, struct nfscred *); @@ -390,7 +390,7 @@ int nfsv4_fillattr(struct nfsrv_descript *, struct mou struct vattr *, fhandle_t *, int, nfsattrbit_t *, struct ucred *, NFSPROC_T *, int, int, int, int, uint64_t, struct statfs *); void nfsrv_fillattr(struct nfsrv_descript *, struct nfsvattr *); -void nfsrv_adj(mbuf_t, int, int); +void nfsrv_adj(struct mbuf *, int, int); void nfsrv_postopattr(struct nfsrv_descript *, int, struct nfsvattr *); int nfsd_errmap(struct nfsrv_descript *); void nfsv4_uidtostr(uid_t, u_char **, int *); @@ -679,12 +679,12 @@ int nfsvno_namei(struct nfsrv_descript *, struct namei vnode_t, int, struct nfsexstuff *, NFSPROC_T *, vnode_t *); void nfsvno_setpathbuf(struct nameidata *, char **, u_long **); void nfsvno_relpathbuf(struct nameidata *); -int nfsvno_readlink(vnode_t, struct ucred *, NFSPROC_T *, mbuf_t *, - mbuf_t *, int *); +int nfsvno_readlink(vnode_t, struct ucred *, NFSPROC_T *, struct mbuf **, + struct mbuf **, int *); int nfsvno_read(vnode_t, off_t, int, struct ucred *, NFSPROC_T *, - mbuf_t *, mbuf_t *); -int nfsvno_write(vnode_t, off_t, int, int *, mbuf_t, char *, struct ucred *, - NFSPROC_T *); + struct mbuf **, struct mbuf **); +int nfsvno_write(vnode_t, off_t, int, int *, struct mbuf *, char *, + struct ucred *, NFSPROC_T *); int nfsvno_createsub(struct nfsrv_descript *, struct nameidata *, vnode_t *, struct nfsvattr *, int *, int32_t *, NFSDEV_T, struct nfsexstuff *); Modified: head/sys/fs/nfs/nfsrvcache.h ============================================================================== --- head/sys/fs/nfs/nfsrvcache.h Fri Apr 17 20:20:03 2020 (r360054) +++ head/sys/fs/nfs/nfsrvcache.h Fri Apr 17 21:17:51 2020 (r360055) @@ -53,7 +53,7 @@ struct nfsrvcache { u_int32_t rc_xid; /* rpc id number */ time_t rc_timestamp; /* Time done */ union { - mbuf_t repmb; /* Reply mbuf list OR */ + struct mbuf *repmb; /* Reply mbuf list OR */ int repstat; /* Reply status */ } rc_un; union { Modified: head/sys/fs/nfsserver/nfs_nfsdcache.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdcache.c Fri Apr 17 20:20:03 2020 (r360054) +++ head/sys/fs/nfsserver/nfs_nfsdcache.c Fri Apr 17 21:17:51 2020 (r360055) @@ -285,7 +285,7 @@ static void nfsrc_lock(struct nfsrvcache *rp); static void nfsrc_unlock(struct nfsrvcache *rp); static void nfsrc_wanted(struct nfsrvcache *rp); static void nfsrc_freecache(struct nfsrvcache *rp); -static int nfsrc_getlenandcksum(mbuf_t m1, u_int16_t *cksum); +static int nfsrc_getlenandcksum(struct mbuf *m1, u_int16_t *cksum); static void nfsrc_marksametcpconn(u_int64_t); /* @@ -460,7 +460,7 @@ nfsrvd_updatecache(struct nfsrv_descript *nd) { struct nfsrvcache *rp; struct nfsrvcache *retrp = NULL; - mbuf_t m; + struct mbuf *m; struct mtx *mutex; rp = nd->nd_rp; @@ -1013,10 +1013,10 @@ nfsrvd_derefcache(struct nfsrvcache *rp) * NFSRVCACHE_CHECKLEN bytes. */ static int -nfsrc_getlenandcksum(mbuf_t m1, u_int16_t *cksum) +nfsrc_getlenandcksum(struct mbuf *m1, u_int16_t *cksum) { int len = 0, cklen; - mbuf_t m; + struct mbuf *m; m = m1; while (m) { Modified: head/sys/fs/nfsserver/nfs_nfsdserv.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdserv.c Fri Apr 17 20:20:03 2020 (r360054) +++ head/sys/fs/nfsserver/nfs_nfsdserv.c Fri Apr 17 21:17:51 2020 (r360055) @@ -665,7 +665,7 @@ nfsrvd_readlink(struct nfsrv_descript *nd, __unused in vnode_t vp, __unused struct nfsexstuff *exp) { u_int32_t *tl; - mbuf_t mp = NULL, mpend = NULL; + struct mbuf *mp = NULL, *mpend = NULL; int getret = 1, len; struct nfsvattr nva; struct thread *p = curthread; @@ -710,7 +710,7 @@ nfsrvd_read(struct nfsrv_descript *nd, __unused int is { u_int32_t *tl; int error = 0, cnt, getret = 1, gotproxystateid, reqlen, eof = 0; - mbuf_t m2, m3; + struct mbuf *m2, *m3; struct nfsvattr nva; off_t off = 0x0; struct nfsstate st, *stp = &st; @@ -5532,7 +5532,7 @@ nfsrvd_getxattr(struct nfsrv_descript *nd, __unused in vnode_t vp, __unused struct nfsexstuff *exp) { uint32_t *tl; - mbuf_t mp = NULL, mpend = NULL; + struct mbuf *mp = NULL, *mpend = NULL; int error, len; char *name; struct thread *p = curthread; Modified: head/sys/fs/nfsserver/nfs_nfsdstate.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdstate.c Fri Apr 17 20:20:03 2020 (r360054) +++ head/sys/fs/nfsserver/nfs_nfsdstate.c Fri Apr 17 21:17:51 2020 (r360055) @@ -4417,7 +4417,7 @@ nfsrv_docallback(struct nfsclient *clp, int procnum, n int trunc, fhandle_t *fhp, struct nfsvattr *nap, nfsattrbit_t *attrbitp, int laytype, NFSPROC_T *p) { - mbuf_t m; + struct mbuf *m; u_int32_t *tl; struct nfsrv_descript *nd; struct ucred *cred; Modified: head/sys/fs/nfsserver/nfs_nfsdsubs.c ============================================================================== --- head/sys/fs/nfsserver/nfs_nfsdsubs.c Fri Apr 17 20:20:03 2020 (r360054) +++ head/sys/fs/nfsserver/nfs_nfsdsubs.c Fri Apr 17 21:17:51 2020 (r360055) @@ -1274,9 +1274,9 @@ static short *nfsrv_v4errmap[] = { * boundary and only trims off the back end */ APPLESTATIC void -nfsrv_adj(mbuf_t mp, int len, int nul) +nfsrv_adj(struct mbuf *mp, int len, int nul) { - mbuf_t m; + struct mbuf *m; int count, i; char *cp; @@ -1838,7 +1838,7 @@ nfsrv_parsename(struct nfsrv_descript *nd, char *bufp, NFSPATHLEN_T *outlenp) { char *fromcp, *tocp, val = '\0'; - mbuf_t md; + struct mbuf *md; int i; int rem, len, error = 0, pubtype = 0, outlen = 0, percent = 0; char digit; From owner-svn-src-head@freebsd.org Fri Apr 17 23:14:52 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 427242AF1D7; Fri, 17 Apr 2020 23:14:52 +0000 (UTC) (envelope-from grog@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493sPS06Wvz3y5r; Fri, 17 Apr 2020 23:14:52 +0000 (UTC) (envelope-from grog@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EEC782561; Fri, 17 Apr 2020 23:14:51 +0000 (UTC) (envelope-from grog@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03HNEpiJ014794; Fri, 17 Apr 2020 23:14:51 GMT (envelope-from grog@FreeBSD.org) Received: (from grog@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03HNEp8e014793; Fri, 17 Apr 2020 23:14:51 GMT (envelope-from grog@FreeBSD.org) Message-Id: <202004172314.03HNEp8e014793@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: grog set sender to grog@FreeBSD.org using -f From: Greg Lehey Date: Fri, 17 Apr 2020 23:14:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360057 - head/usr.bin/calendar/calendars X-SVN-Group: head X-SVN-Commit-Author: grog X-SVN-Commit-Paths: head/usr.bin/calendar/calendars X-SVN-Commit-Revision: 360057 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Apr 2020 23:14:52 -0000 Author: grog Date: Fri Apr 17 23:14:51 2020 New Revision: 360057 URL: https://svnweb.freebsd.org/changeset/base/360057 Log: Tidy up syntax and punctuation of some entries. Modified: head/usr.bin/calendar/calendars/calendar.history Modified: head/usr.bin/calendar/calendars/calendar.history ============================================================================== --- head/usr.bin/calendar/calendars/calendar.history Fri Apr 17 21:33:45 2020 (r360056) +++ head/usr.bin/calendar/calendars/calendar.history Fri Apr 17 23:14:51 2020 (r360057) @@ -202,7 +202,7 @@ 04/15 Ray Kroc opens first McDonalds in Des Plaines, IL, 1955 04/16 Syria becomes an independent Republic, 1946 04/17 Bay of Pigs invasion crushed by Castro forces, 1961 -04/18 Einstein's Death, 1955 +04/18 Albert Einstein dies, 1955 04/18 First Laundromat opens, Fort Worth Texas, 1934 04/18 San Francisco earthquake, 1906 04/18 The League of Nations is dissolved after 27 years, 1946 @@ -211,7 +211,7 @@ 04/20 In Bulgaria, the April Uprising takes place, 1876 04/20 Supreme Court unanimously rules in favor of busing, 1971 04/21 Lyrid meteor shower -04/21 Rome is founded by Romulus and Remus, 753BC +04/21 Rome is founded by Romulus and Remus, 753 BC 04/22 Portuguese navigator Pedro Alvares Cabral becomes the first European to sight Brazil, 1500 04/22 The first Earth Day is celebrated, 1970 @@ -339,7 +339,7 @@ 06/28 World War I ended with the signing of the Treaty of Versailles, 1919 06/29 The Seychelles gains independence from the United Kingdom, 1976 06/30 "That" explosion in Siberia at 7:17 local time, 1908 -06/30 Albert Einstein published his theory of special relativity, 1905 +06/30 Albert Einstein publishes his theory of special relativity, 1905 06/30 China and Soviet Union announce split over ideology, 1960 07/01 Battle of Gettysburg begins, 1863 07/01 Hong Kong becomes a special administrative region of the People's From owner-svn-src-head@freebsd.org Sat Apr 18 01:16:30 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E458B2B1E96; Sat, 18 Apr 2020 01:16:30 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493w5p5p2Jz473T; Sat, 18 Apr 2020 01:16:30 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id C215B3EE7; Sat, 18 Apr 2020 01:16:30 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I1GUC1089281; Sat, 18 Apr 2020 01:16:30 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I1GU2n089280; Sat, 18 Apr 2020 01:16:30 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202004180116.03I1GU2n089280@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 18 Apr 2020 01:16:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360058 - head/sys/dev/sound/pci/hda X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 360058 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 01:16:31 -0000 Author: emaste Date: Sat Apr 18 01:16:30 2020 New Revision: 360058 URL: https://svnweb.freebsd.org/changeset/base/360058 Log: hdac: replace printf for unowned lock with a lock assertion Reviewed by: markj, mav Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24479 Modified: head/sys/dev/sound/pci/hda/hdac.c Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Fri Apr 17 23:14:51 2020 (r360057) +++ head/sys/dev/sound/pci/hda/hdac.c Sat Apr 18 01:16:30 2020 (r360058) @@ -975,8 +975,7 @@ hdac_send_command(struct hdac_softc *sc, nid_t cad, ui int timeout; uint32_t *corb; - if (!hdac_lockowned(sc)) - device_printf(sc->dev, "WARNING!!!! mtx not owned!!!!\n"); + hdac_lockassert(sc); verb &= ~HDA_CMD_CAD_MASK; verb |= ((uint32_t)cad) << HDA_CMD_CAD_SHIFT; sc->codecs[cad].response = HDA_INVALID; From owner-svn-src-head@freebsd.org Sat Apr 18 01:22:42 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 86BED2B2405; Sat, 18 Apr 2020 01:22:42 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493wDy2h9Sz47dv; Sat, 18 Apr 2020 01:22:42 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 5770E410F; Sat, 18 Apr 2020 01:22:42 +0000 (UTC) (envelope-from sjg@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I1Mgex095026; Sat, 18 Apr 2020 01:22:42 GMT (envelope-from sjg@FreeBSD.org) Received: (from sjg@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I1Mg2v095025; Sat, 18 Apr 2020 01:22:42 GMT (envelope-from sjg@FreeBSD.org) Message-Id: <202004180122.03I1Mg2v095025@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: sjg set sender to sjg@FreeBSD.org using -f From: "Simon J. Gerraty" Date: Sat, 18 Apr 2020 01:22:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360059 - head/sys/sys X-SVN-Group: head X-SVN-Commit-Author: sjg X-SVN-Commit-Paths: head/sys/sys X-SVN-Commit-Revision: 360059 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 01:22:42 -0000 Author: sjg Date: Sat Apr 18 01:22:41 2020 New Revision: 360059 URL: https://svnweb.freebsd.org/changeset/base/360059 Log: Define enum for so_qstate outside of struct. LLVM-9.0 clang++ throws an error for enum defined within an anonymous struct. Reviewed by: jtl, rpokala MFC after: 1 week Differential Revision: https://reviews.freebsd.org//D24477 Modified: head/sys/sys/socketvar.h Modified: head/sys/sys/socketvar.h ============================================================================== --- head/sys/sys/socketvar.h Sat Apr 18 01:16:30 2020 (r360058) +++ head/sys/sys/socketvar.h Sat Apr 18 01:22:41 2020 (r360059) @@ -67,6 +67,12 @@ typedef void so_dtor_t(struct socket *); struct socket; +enum socket_qstate { + SQ_NONE = 0, + SQ_INCOMP = 0x0800, /* on sol_incomp */ + SQ_COMP = 0x1000, /* on sol_comp */ +}; + /*- * Locking key to struct socket: * (a) constant after allocation, no locking required. @@ -122,12 +128,7 @@ struct socket { /* (e) Our place on accept queue. */ TAILQ_ENTRY(socket) so_list; struct socket *so_listen; /* (b) */ - enum { - SQ_NONE = 0, - SQ_INCOMP = 0x0800, /* on sol_incomp */ - SQ_COMP = 0x1000, /* on sol_comp */ - } so_qstate; /* (b) */ - + enum socket_qstate so_qstate; /* (b) */ /* (b) cached MAC label for peer */ struct label *so_peerlabel; u_long so_oobmark; /* chars to oob mark */ From owner-svn-src-head@freebsd.org Sat Apr 18 02:02:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 957D02B3F48; Sat, 18 Apr 2020 02:02:06 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493x6Q2yGZz4Bnf; Sat, 18 Apr 2020 02:02:06 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1033) id 40DEF603E; Sat, 18 Apr 2020 02:02:06 +0000 (UTC) Date: Sat, 18 Apr 2020 02:02:06 +0000 From: Alexey Dokuchaev To: Colin Percival Cc: Oliver Pinter , "svn-src-head@freebsd.org" , "svn-src-all@freebsd.org" , "src-committers@freebsd.org" Subject: Re: svn commit: r360025 - head/sys/dev/acpica Message-ID: <20200418020206.GA80306@FreeBSD.org> References: <202004162156.03GLuqgw058432@repo.freebsd.org> <20200417062636.GC24371@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 02:02:06 -0000 On Fri, Apr 17, 2020 at 08:54:52AM -0700, Colin Percival wrote: > On 2020-04-16 23:26, Alexey Dokuchaev wrote: > > On Thu, Apr 16, 2020 at 03:12:15PM -0700, Colin Percival wrote: > >> ... > >> I considered that, but so far I don't have any evidence that other > >> systems exist with the same half-working ACPI. Unless you're aware of > >> people who are seeing the same "hw.apci.video.lcd0.brightness changes > >> but thebacklight doesn't" syndrome? > > > > So this is more like a work-around for the problem which lies elsewhere: > > something is missing in acpi_video(4) or perhaps we need a (nonexistent) > > acpi_dell(4)? In this case, shouldn't it be disabled by default, or at > > least be toggable since as you say, evidently just a minority of systems > > exist with the same half-working ACPI? > > Having occasional extra messages coming through devctl(4) is harmless; by > default devd will just drop them on the floor since there isn't anything > configured to do with them. > > In an upcoming change to the graphics/intel-backlight port (if/when someone > merges my patch into their github repo...) I'll be providing a configuration > file which can be copied into /usr/local/etc/devd/ in order to hook these > messages up to the intel-backlight utility. > > So... yes, for practical purposes this is disabled by default. Understood, thanks Colin! ./danfe From owner-svn-src-head@freebsd.org Sat Apr 18 02:53:00 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6F2862B5CD1; Sat, 18 Apr 2020 02:53:00 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493yF82Lclz4GVc; Sat, 18 Apr 2020 02:53:00 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4BDC452F2; Sat, 18 Apr 2020 02:53:00 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I2r0A5050987; Sat, 18 Apr 2020 02:53:00 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I2qxwO050981; Sat, 18 Apr 2020 02:52:59 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202004180252.03I2qxwO050981@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 18 Apr 2020 02:52:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360060 - in head: share/man/man4 sys/dev/esp X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: share/man/man4 sys/dev/esp X-SVN-Commit-Revision: 360060 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 02:53:00 -0000 Author: imp Date: Sat Apr 18 02:52:59 2020 New Revision: 360060 URL: https://svnweb.freebsd.org/changeset/base/360060 Log: Add deprecation notice for esp(4). Modified: head/share/man/man4/esp.4 head/sys/dev/esp/ncr53c9x.c Modified: head/share/man/man4/esp.4 ============================================================================== --- head/share/man/man4/esp.4 Sat Apr 18 01:22:41 2020 (r360059) +++ head/share/man/man4/esp.4 Sat Apr 18 02:52:59 2020 (r360060) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 1, 2011 +.Dd March 10, 2020 .Dt ESP 4 .Os .Sh NAME @@ -45,6 +45,11 @@ following line in .Bd -literal -offset indent if_esp_load="YES" .Ed +.Sh DEPRECATION NOTICE +The +.Nm +driver is not present in +.Fx 13.0 . .Sh DESCRIPTION The .Nm Modified: head/sys/dev/esp/ncr53c9x.c ============================================================================== --- head/sys/dev/esp/ncr53c9x.c Sat Apr 18 01:22:41 2020 (r360059) +++ head/sys/dev/esp/ncr53c9x.c Sat Apr 18 02:52:59 2020 (r360060) @@ -402,6 +402,7 @@ ncr53c9x_attach(struct ncr53c9x_softc *sc) NCR_UNLOCK(sc); + gone_in_dev(sc->sc_dev, 13, "esp(4) driver"); return (0); fail_async: From owner-svn-src-head@freebsd.org Sat Apr 18 02:53:06 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 92B7A2B5CFE; Sat, 18 Apr 2020 02:53:06 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493yFF6KF2z4GYZ; Sat, 18 Apr 2020 02:53:05 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 6ED3052F3; Sat, 18 Apr 2020 02:53:05 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I2r5bs051040; Sat, 18 Apr 2020 02:53:05 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I2r451051038; Sat, 18 Apr 2020 02:53:04 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202004180253.03I2r451051038@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 18 Apr 2020 02:53:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360061 - in head: share/man/man4 sys/dev/mly X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: share/man/man4 sys/dev/mly X-SVN-Commit-Revision: 360061 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 02:53:06 -0000 Author: imp Date: Sat Apr 18 02:53:04 2020 New Revision: 360061 URL: https://svnweb.freebsd.org/changeset/base/360061 Log: Add deprecation notice to mly Modified: head/share/man/man4/mly.4 head/sys/dev/mly/mly.c Modified: head/share/man/man4/mly.4 ============================================================================== --- head/share/man/man4/mly.4 Sat Apr 18 02:52:59 2020 (r360060) +++ head/share/man/man4/mly.4 Sat Apr 18 02:53:04 2020 (r360061) @@ -47,6 +47,11 @@ module at boot time, place the following line in .Bd -literal -offset indent mly_load="YES" .Ed +.Sh DEPRECATION NOTICE +The +.Nm +driver is not present in +.Fx 13.0 . .Sh DESCRIPTION The .Nm Modified: head/sys/dev/mly/mly.c ============================================================================== --- head/sys/dev/mly/mly.c Sat Apr 18 02:52:59 2020 (r360060) +++ head/sys/dev/mly/mly.c Sat Apr 18 02:53:04 2020 (r360061) @@ -336,6 +336,8 @@ mly_attach(device_t dev) out: if (error != 0) mly_free(sc); + else + gone_in_dev(dev, 13, "mly(4) removed"); return(error); } From owner-svn-src-head@freebsd.org Sat Apr 18 02:53:11 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 0DFB22B5D46; Sat, 18 Apr 2020 02:53:11 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493yFL5wWkz4Gch; Sat, 18 Apr 2020 02:53:10 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9793852F5; Sat, 18 Apr 2020 02:53:10 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I2rAnd051095; Sat, 18 Apr 2020 02:53:10 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I2rAu7051093; Sat, 18 Apr 2020 02:53:10 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202004180253.03I2rAu7051093@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 18 Apr 2020 02:53:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360062 - in head: share/man/man4 sys/dev/iir X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: share/man/man4 sys/dev/iir X-SVN-Commit-Revision: 360062 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 02:53:11 -0000 Author: imp Date: Sat Apr 18 02:53:09 2020 New Revision: 360062 URL: https://svnweb.freebsd.org/changeset/base/360062 Log: Deprecation notice for iir Modified: head/share/man/man4/iir.4 head/sys/dev/iir/iir_pci.c Modified: head/share/man/man4/iir.4 ============================================================================== --- head/share/man/man4/iir.4 Sat Apr 18 02:53:04 2020 (r360061) +++ head/share/man/man4/iir.4 Sat Apr 18 02:53:09 2020 (r360062) @@ -8,6 +8,11 @@ .Sh NAME .Nm iir .Nd Intel Integrated RAID controller and ICP Vortex driver +.Sh DEPRECATION NOTICE +The +.Nm +driver is not present in +.Fx 13.0 . .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your Modified: head/sys/dev/iir/iir_pci.c ============================================================================== --- head/sys/dev/iir/iir_pci.c Sat Apr 18 02:53:04 2020 (r360061) +++ head/sys/dev/iir/iir_pci.c Sat Apr 18 02:53:09 2020 (r360062) @@ -336,6 +336,7 @@ iir_pci_attach(device_t dev) } gdt_pci_enable_intr(gdt); + gone_in_dev(dev, 13, "iir(4) removed"); return (0); err: From owner-svn-src-head@freebsd.org Sat Apr 18 02:53:21 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F3E6D2B5DB1; Sat, 18 Apr 2020 02:53:20 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493yFX4T80z4Gkp; Sat, 18 Apr 2020 02:53:20 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 78CFF52F7; Sat, 18 Apr 2020 02:53:20 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I2rKX3051206; Sat, 18 Apr 2020 02:53:20 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I2rKM0051204; Sat, 18 Apr 2020 02:53:20 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202004180253.03I2rKM0051204@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 18 Apr 2020 02:53:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360064 - in head: share/man/man4 sys/dev/amr X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: share/man/man4 sys/dev/amr X-SVN-Commit-Revision: 360064 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 02:53:21 -0000 Author: imp Date: Sat Apr 18 02:53:19 2020 New Revision: 360064 URL: https://svnweb.freebsd.org/changeset/base/360064 Log: Add deprecation notice to amr(4) Modified: head/share/man/man4/amr.4 head/sys/dev/amr/amr_pci.c Modified: head/share/man/man4/amr.4 ============================================================================== --- head/share/man/man4/amr.4 Sat Apr 18 02:53:14 2020 (r360063) +++ head/share/man/man4/amr.4 Sat Apr 18 02:53:19 2020 (r360064) @@ -45,6 +45,11 @@ module at boot time, place the following line in .Bd -literal -offset indent amr_load="YES" .Ed +.Sh DEPRECATION NOTICE +The +.Nm +driver is not present in +.Fx 13.0 . .Sh DESCRIPTION The .Nm Modified: head/sys/dev/amr/amr_pci.c ============================================================================== --- head/sys/dev/amr/amr_pci.c Sat Apr 18 02:53:14 2020 (r360063) +++ head/sys/dev/amr/amr_pci.c Sat Apr 18 02:53:19 2020 (r360064) @@ -341,6 +341,8 @@ amr_pci_attach(device_t dev) out: if (error) amr_pci_free(sc); + else + gone_in_dev(dev, 13, "amr(4) driver"); return(error); } From owner-svn-src-head@freebsd.org Sat Apr 18 02:53:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id F297D2B5D7F; Sat, 18 Apr 2020 02:53:18 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493yFS6Ggsz4GhY; Sat, 18 Apr 2020 02:53:16 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 80AAF52F6; Sat, 18 Apr 2020 02:53:15 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I2rFF8051150; Sat, 18 Apr 2020 02:53:15 GMT (envelope-from imp@FreeBSD.org) Received: (from imp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I2rF30051149; Sat, 18 Apr 2020 02:53:15 GMT (envelope-from imp@FreeBSD.org) Message-Id: <202004180253.03I2rF30051149@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: imp set sender to imp@FreeBSD.org using -f From: Warner Losh Date: Sat, 18 Apr 2020 02:53:15 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360063 - in head: share/man/man4 sys/dev/twa X-SVN-Group: head X-SVN-Commit-Author: imp X-SVN-Commit-Paths: in head: share/man/man4 sys/dev/twa X-SVN-Commit-Revision: 360063 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 02:53:19 -0000 Author: imp Date: Sat Apr 18 02:53:14 2020 New Revision: 360063 URL: https://svnweb.freebsd.org/changeset/base/360063 Log: twa(4) deprecation notice Modified: head/share/man/man4/twa.4 head/sys/dev/twa/tw_osl_freebsd.c Modified: head/share/man/man4/twa.4 ============================================================================== --- head/share/man/man4/twa.4 Sat Apr 18 02:53:09 2020 (r360062) +++ head/share/man/man4/twa.4 Sat Apr 18 02:53:14 2020 (r360063) @@ -31,6 +31,11 @@ .Sh NAME .Nm twa .Nd 3ware 9000/9500/9550/9650 series SATA RAID controllers driver +.Sh DEPRECATION NOTICE +The +.Nm +driver is not present in +.Fx 13.0 . .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your Modified: head/sys/dev/twa/tw_osl_freebsd.c ============================================================================== --- head/sys/dev/twa/tw_osl_freebsd.c Sat Apr 18 02:53:09 2020 (r360062) +++ head/sys/dev/twa/tw_osl_freebsd.c Sat Apr 18 02:53:14 2020 (r360063) @@ -428,6 +428,7 @@ twa_attach(device_t dev) callout_init(&(sc->watchdog_callout[0]), 1); callout_init(&(sc->watchdog_callout[1]), 1); callout_reset(&(sc->watchdog_callout[0]), 5*hz, twa_watchdog, &sc->ctlr_handle); + gone_in_dev(dev, 13, "twa(4) removed"); return(0); } From owner-svn-src-head@freebsd.org Sat Apr 18 03:07:19 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6DF752B6B8E; Sat, 18 Apr 2020 03:07:19 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493yYf6mkPz4JbZ; Sat, 18 Apr 2020 03:07:18 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E3C9855C3; Sat, 18 Apr 2020 03:07:18 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I37I44059295; Sat, 18 Apr 2020 03:07:18 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I37IN8059294; Sat, 18 Apr 2020 03:07:18 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202004180307.03I37IN8059294@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 18 Apr 2020 03:07:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360065 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 360065 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 03:07:19 -0000 Author: kib Date: Sat Apr 18 03:07:18 2020 New Revision: 360065 URL: https://svnweb.freebsd.org/changeset/base/360065 Log: The pa argument for sendfile_iodone() is not necessary a slice of sfio->pa. It is true for zfs, but it is not for e.g. vnode or buffer pagers. When fixing bogus pages, fix them in both places. Rely on the fact that pa[0] must have been invalid so it cannot be bogus. Reported and tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/kern/kern_sendfile.c Modified: head/sys/kern/kern_sendfile.c ============================================================================== --- head/sys/kern/kern_sendfile.c Sat Apr 18 02:53:19 2020 (r360064) +++ head/sys/kern/kern_sendfile.c Sat Apr 18 03:07:18 2020 (r360065) @@ -295,10 +295,12 @@ sendfile_iodone(void *arg, vm_page_t *pa, int count, i * unbusied the swapped-in pages, they can become * invalid under us. */ + MPASS(count == 0 || pa[0] != bogus_page); for (i = 0; i < count; i++) { if (pa[i] == bogus_page) { - pa[i] = vm_page_relookup(sfio->obj, - sfio->pindex0 + i + (pa - sfio->pa)); + sfio->pa[(pa[0]->pindex - sfio->pindex0) + i] = + pa[i] = vm_page_relookup(sfio->obj, + pa[0]->pindex + i); KASSERT(pa[i] != NULL, ("%s: page %p[%d] disappeared", __func__, pa, i)); From owner-svn-src-head@freebsd.org Sat Apr 18 03:09:26 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 174072B6E81; Sat, 18 Apr 2020 03:09:26 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 493yc56wL5z4JtF; Sat, 18 Apr 2020 03:09:25 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E8A9E55D6; Sat, 18 Apr 2020 03:09:25 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I39PKw059438; Sat, 18 Apr 2020 03:09:25 GMT (envelope-from kib@FreeBSD.org) Received: (from kib@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I39P7e059437; Sat, 18 Apr 2020 03:09:25 GMT (envelope-from kib@FreeBSD.org) Message-Id: <202004180309.03I39P7e059437@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kib set sender to kib@FreeBSD.org using -f From: Konstantin Belousov Date: Sat, 18 Apr 2020 03:09:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360066 - head/sys/kern X-SVN-Group: head X-SVN-Commit-Author: kib X-SVN-Commit-Paths: head/sys/kern X-SVN-Commit-Revision: 360066 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 03:09:26 -0000 Author: kib Date: Sat Apr 18 03:09:25 2020 New Revision: 360066 URL: https://svnweb.freebsd.org/changeset/base/360066 Log: sendfile: When all io finished, assert that sfio->pa[] is in expected state. It must contain fully restored contigous run of the wired pages from the object, except possible trimmed tail. Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 2 weeks Modified: head/sys/kern/kern_sendfile.c Modified: head/sys/kern/kern_sendfile.c ============================================================================== --- head/sys/kern/kern_sendfile.c Sat Apr 18 03:07:18 2020 (r360065) +++ head/sys/kern/kern_sendfile.c Sat Apr 18 03:09:25 2020 (r360066) @@ -313,6 +313,24 @@ sendfile_iodone(void *arg, vm_page_t *pa, int count, i if (!refcount_release(&sfio->nios)) return; +#ifdef INVARIANTS + for (i = 1; i < sfio->npages; i++) { + if (sfio->pa[i] == NULL) + break; + KASSERT(vm_page_wired(sfio->pa[i]), + ("sfio %p page %d %p not wired", sfio, i, sfio->pa[i])); + if (i == 0) + continue; + KASSERT(sfio->pa[0]->object == sfio->pa[i]->object, + ("sfio %p page %d %p wrong owner %p %p", sfio, i, + sfio->pa[i], sfio->pa[0]->object, sfio->pa[i]->object)); + KASSERT(sfio->pa[0]->pindex + i == sfio->pa[i]->pindex, + ("sfio %p page %d %p wrong index %jx %jx", sfio, i, + sfio->pa[i], (uintmax_t)sfio->pa[0]->pindex, + (uintmax_t)sfio->pa[i]->pindex)); + } +#endif + vm_object_pip_wakeup(sfio->obj); if (sfio->m == NULL) { From owner-svn-src-head@freebsd.org Sat Apr 18 06:02:03 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 642C52BD720; Sat, 18 Apr 2020 06:02:03 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4942RH0lRhz4YwM; Sat, 18 Apr 2020 06:02:02 +0000 (UTC) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: from gndrsh.dnsmgr.net (localhost [127.0.0.1]) by gndrsh.dnsmgr.net (8.13.3/8.13.3) with ESMTP id 03I61sMG053698; Fri, 17 Apr 2020 23:01:54 -0700 (PDT) (envelope-from freebsd@gndrsh.dnsmgr.net) Received: (from freebsd@localhost) by gndrsh.dnsmgr.net (8.13.3/8.13.3/Submit) id 03I61swh053697; Fri, 17 Apr 2020 23:01:54 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <202004180601.03I61swh053697@gndrsh.dnsmgr.net> Subject: Re: svn commit: r360064 - in head: share/man/man4 sys/dev/amr In-Reply-To: <202004180253.03I2rKM0051204@repo.freebsd.org> To: Warner Losh Date: Fri, 17 Apr 2020 23:01:54 -0700 (PDT) CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-Rspamd-Queue-Id: 4942RH0lRhz4YwM X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.998,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 06:02:03 -0000 > Author: imp > Date: Sat Apr 18 02:53:19 2020 > New Revision: 360064 > URL: https://svnweb.freebsd.org/changeset/base/360064 > > Log: > Add deprecation notice to amr(4) > I take it this group of deprecations is also MFC: 3 days? -- Rod Grimes rgrimes@freebsd.org From owner-svn-src-head@freebsd.org Sat Apr 18 07:50:31 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1D3022C0660; Sat, 18 Apr 2020 07:50:31 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4944rR010Hz3DcB; Sat, 18 Apr 2020 07:50:31 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EB2FC8D7A; Sat, 18 Apr 2020 07:50:30 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I7oUV1032901; Sat, 18 Apr 2020 07:50:30 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I7oUK6032898; Sat, 18 Apr 2020 07:50:30 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202004180750.03I7oUK6032898@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sat, 18 Apr 2020 07:50:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360068 - in head/sys: kern net sys X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: in head/sys: kern net sys X-SVN-Commit-Revision: 360068 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 07:50:31 -0000 Author: kp Date: Sat Apr 18 07:50:30 2020 New Revision: 360068 URL: https://svnweb.freebsd.org/changeset/base/360068 Log: ethersubr: Make the mac address generation more robust If we create two (vnet) jails and create a bridge interface in each we end up with the same mac address on both bridge interfaces. These very often conflicts, resulting in same mac address in both jails. Mitigate this problem by including the jail name in the mac address. Reviewed by: kevans, melifaro MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D24383 Modified: head/sys/kern/kern_jail.c head/sys/net/if_ethersubr.c head/sys/sys/jail.h Modified: head/sys/kern/kern_jail.c ============================================================================== --- head/sys/kern/kern_jail.c Sat Apr 18 03:14:16 2020 (r360067) +++ head/sys/kern/kern_jail.c Sat Apr 18 07:50:30 2020 (r360068) @@ -2920,6 +2920,15 @@ getcredhostid(struct ucred *cred, unsigned long *hosti mtx_unlock(&cred->cr_prison->pr_mtx); } +void +getjailname(struct ucred *cred, char *name, size_t len) +{ + + mtx_lock(&cred->cr_prison->pr_mtx); + strlcpy(name, cred->cr_prison->pr_name, len); + mtx_unlock(&cred->cr_prison->pr_mtx); +} + #ifdef VIMAGE /* * Determine whether the prison represented by cred owns Modified: head/sys/net/if_ethersubr.c ============================================================================== --- head/sys/net/if_ethersubr.c Sat Apr 18 03:14:16 2020 (r360067) +++ head/sys/net/if_ethersubr.c Sat Apr 18 07:50:30 2020 (r360068) @@ -1419,27 +1419,39 @@ ether_8021q_frame(struct mbuf **mp, struct ifnet *ife, /* * Allocate an address from the FreeBSD Foundation OUI. This uses a - * cryptographic hash function on the containing jail's UUID and the interface - * name to attempt to provide a unique but stable address. Pseudo-interfaces - * which require a MAC address should use this function to allocate - * non-locally-administered addresses. + * cryptographic hash function on the containing jail's name, UUID and the + * interface name to attempt to provide a unique but stable address. + * Pseudo-interfaces which require a MAC address should use this function to + * allocate non-locally-administered addresses. */ void ether_gen_addr(struct ifnet *ifp, struct ether_addr *hwaddr) { -#define ETHER_GEN_ADDR_BUFSIZ HOSTUUIDLEN + IFNAMSIZ + 2 SHA1_CTX ctx; - char buf[ETHER_GEN_ADDR_BUFSIZ]; + char *buf; char uuid[HOSTUUIDLEN + 1]; uint64_t addr; int i, sz; char digest[SHA1_RESULTLEN]; + char jailname[MAXHOSTNAMELEN]; getcredhostuuid(curthread->td_ucred, uuid, sizeof(uuid)); - sz = snprintf(buf, ETHER_GEN_ADDR_BUFSIZ, "%s-%s", uuid, ifp->if_xname); + /* If each (vnet) jail would also have a unique hostuuid this would not + * be necessary. */ + getjailname(curthread->td_ucred, jailname, sizeof(jailname)); + sz = asprintf(&buf, M_TEMP, "%s-%s-%s", uuid, if_name(ifp), + jailname); + if (sz < 0) { + /* Fall back to a random mac address. */ + arc4rand(hwaddr, sizeof(*hwaddr), 0); + hwaddr->octet[0] = 0x02; + return; + } + SHA1Init(&ctx); SHA1Update(&ctx, buf, sz); SHA1Final(digest, &ctx); + free(buf, M_TEMP); addr = ((digest[0] << 16) | (digest[1] << 8) | digest[2]) & OUI_FREEBSD_GENERATED_MASK; Modified: head/sys/sys/jail.h ============================================================================== --- head/sys/sys/jail.h Sat Apr 18 03:14:16 2020 (r360067) +++ head/sys/sys/jail.h Sat Apr 18 07:50:30 2020 (r360068) @@ -382,6 +382,7 @@ void getcredhostname(struct ucred *, char *, size_t); void getcreddomainname(struct ucred *, char *, size_t); void getcredhostuuid(struct ucred *, char *, size_t); void getcredhostid(struct ucred *, unsigned long *); +void getjailname(struct ucred *cred, char *name, size_t len); void prison0_init(void); int prison_allow(struct ucred *, unsigned); int prison_check(struct ucred *cred1, struct ucred *cred2); From owner-svn-src-head@freebsd.org Sat Apr 18 08:00:59 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 390A82C0CE4; Sat, 18 Apr 2020 08:00:59 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 49454W0NSgz3FWm; Sat, 18 Apr 2020 08:00:59 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 086408FAB; Sat, 18 Apr 2020 08:00:59 +0000 (UTC) (envelope-from kp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I80wmF040208; Sat, 18 Apr 2020 08:00:58 GMT (envelope-from kp@FreeBSD.org) Received: (from kp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I80wxq040207; Sat, 18 Apr 2020 08:00:58 GMT (envelope-from kp@FreeBSD.org) Message-Id: <202004180800.03I80wxq040207@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: kp set sender to kp@FreeBSD.org using -f From: Kristof Provost Date: Sat, 18 Apr 2020 08:00:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360069 - head/sys/net X-SVN-Group: head X-SVN-Commit-Author: kp X-SVN-Commit-Paths: head/sys/net X-SVN-Commit-Revision: 360069 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 08:00:59 -0000 Author: kp Date: Sat Apr 18 08:00:58 2020 New Revision: 360069 URL: https://svnweb.freebsd.org/changeset/base/360069 Log: bridge: Simplify mac address generation Unconditionally use ether_gen_addr() to generate bridge mac addresses. This function is now less likely to generate duplicate mac addresses across jails. The old hand rolled hostid based code adds no value. Reviewed by: bz Differential Revision: https://reviews.freebsd.org/D24432 Modified: head/sys/net/if_bridge.c Modified: head/sys/net/if_bridge.c ============================================================================== --- head/sys/net/if_bridge.c Sat Apr 18 07:50:30 2020 (r360068) +++ head/sys/net/if_bridge.c Sat Apr 18 08:00:58 2020 (r360069) @@ -676,10 +676,8 @@ SYSCTL_PROC(_net_link_bridge, OID_AUTO, ipfw, static int bridge_clone_create(struct if_clone *ifc, int unit, caddr_t params) { - struct bridge_softc *sc, *sc2; - struct ifnet *bifp, *ifp; - int fb, retry; - unsigned long hostid; + struct bridge_softc *sc; + struct ifnet *ifp; sc = malloc(sizeof(*sc), M_DEVBUF, M_WAITOK|M_ZERO); ifp = sc->sc_ifp = if_alloc(IFT_ETHER); @@ -709,41 +707,7 @@ bridge_clone_create(struct if_clone *ifc, int unit, ca ifp->if_init = bridge_init; ifp->if_type = IFT_BRIDGE; - /* - * Generate an ethernet address with a locally administered address. - * - * Since we are using random ethernet addresses for the bridge, it is - * possible that we might have address collisions, so make sure that - * this hardware address isn't already in use on another bridge. - * The first try uses the hostid and falls back to arc4rand(). - */ - fb = 0; - getcredhostid(curthread->td_ucred, &hostid); - do { - if (fb || hostid == 0) { - ether_gen_addr(ifp, &sc->sc_defaddr); - } else { - sc->sc_defaddr.octet[0] = 0x2; - sc->sc_defaddr.octet[1] = (hostid >> 24) & 0xff; - sc->sc_defaddr.octet[2] = (hostid >> 16) & 0xff; - sc->sc_defaddr.octet[3] = (hostid >> 8 ) & 0xff; - sc->sc_defaddr.octet[4] = hostid & 0xff; - sc->sc_defaddr.octet[5] = ifp->if_dunit & 0xff; - } - - fb = 1; - retry = 0; - BRIDGE_LIST_LOCK(); - LIST_FOREACH(sc2, &V_bridge_list, sc_list) { - bifp = sc2->sc_ifp; - if (memcmp(sc->sc_defaddr.octet, - IF_LLADDR(bifp), ETHER_ADDR_LEN) == 0) { - retry = 1; - break; - } - } - BRIDGE_LIST_UNLOCK(); - } while (retry == 1); + ether_gen_addr(ifp, &sc->sc_defaddr); bstp_attach(&sc->sc_stp, &bridge_ops); ether_ifattach(ifp, sc->sc_defaddr.octet); From owner-svn-src-head@freebsd.org Sat Apr 18 08:29:18 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 807EB2C1B90; Sat, 18 Apr 2020 08:29:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4945jB0cX4z3JL3; Sat, 18 Apr 2020 08:29:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0FF8A9572; Sat, 18 Apr 2020 08:29:18 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03I8THJP057936; Sat, 18 Apr 2020 08:29:17 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03I8TH5V057932; Sat, 18 Apr 2020 08:29:17 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004180829.03I8TH5V057932@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sat, 18 Apr 2020 08:29:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360070 - head/usr.sbin/bluetooth/hccontrol X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/usr.sbin/bluetooth/hccontrol X-SVN-Commit-Revision: 360070 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 08:29:18 -0000 Author: hselasky Date: Sat Apr 18 08:29:16 2020 New Revision: 360070 URL: https://svnweb.freebsd.org/changeset/base/360070 Log: Add missing feature descriptions to hci_features2str(). The list of possible features in hccontrol/features2str() is incomplete. Refer to "Bluetooth Core Specification 5.2 Vol. 2 Part C. 3.3 Feature Mask Definition". Submitted by: Marc Veldman PR: 245354 MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/usr.sbin/bluetooth/hccontrol/info.c head/usr.sbin/bluetooth/hccontrol/link_control.c head/usr.sbin/bluetooth/hccontrol/node.c head/usr.sbin/bluetooth/hccontrol/util.c Modified: head/usr.sbin/bluetooth/hccontrol/info.c ============================================================================== --- head/usr.sbin/bluetooth/hccontrol/info.c Sat Apr 18 08:00:58 2020 (r360069) +++ head/usr.sbin/bluetooth/hccontrol/info.c Sat Apr 18 08:29:16 2020 (r360070) @@ -78,7 +78,7 @@ hci_read_local_supported_features(int s, int argc, cha { ng_hci_read_local_features_rp rp; int n; - char buffer[1024]; + char buffer[2048]; n = sizeof(rp); if (hci_simple_request(s, NG_HCI_OPCODE(NG_HCI_OGF_INFO, Modified: head/usr.sbin/bluetooth/hccontrol/link_control.c ============================================================================== --- head/usr.sbin/bluetooth/hccontrol/link_control.c Sat Apr 18 08:00:58 2020 (r360069) +++ head/usr.sbin/bluetooth/hccontrol/link_control.c Sat Apr 18 08:29:16 2020 (r360070) @@ -612,7 +612,7 @@ hci_read_remote_supported_features(int s, int argc, ch char b[512]; ng_hci_read_remote_features_cp cp; ng_hci_event_pkt_t *e = (ng_hci_event_pkt_t *) b; - char buffer[1024]; + char buffer[2048]; /* parse command parameters */ switch (argc) { Modified: head/usr.sbin/bluetooth/hccontrol/node.c ============================================================================== --- head/usr.sbin/bluetooth/hccontrol/node.c Sat Apr 18 08:00:58 2020 (r360069) +++ head/usr.sbin/bluetooth/hccontrol/node.c Sat Apr 18 08:29:16 2020 (r360070) @@ -153,7 +153,7 @@ hci_read_node_features(int s, int argc, char **argv) { struct ng_btsocket_hci_raw_node_features r; int n; - char buffer[1024]; + char buffer[2048]; memset(&r, 0, sizeof(r)); if (ioctl(s, SIOC_HCI_RAW_NODE_GET_FEATURES, &r, sizeof(r)) < 0) Modified: head/usr.sbin/bluetooth/hccontrol/util.c ============================================================================== --- head/usr.sbin/bluetooth/hccontrol/util.c Sat Apr 18 08:00:58 2020 (r360069) +++ head/usr.sbin/bluetooth/hccontrol/util.c Sat Apr 18 08:29:16 2020 (r360070) @@ -289,7 +289,57 @@ hci_features2str(uint8_t *features, char *buffer, int /* 4 */ " ", /* 5 */ " ", /* 6 */ " ", - /* 7 */ " " + /* 7 */ " " + }, + { /* byte 3 */ + /* 0 */ " ", + /* 1 */ " ", + /* 2 */ " ", + /* 3 */ " ", + /* 4 */ " ", + /* 5 */ " ", + /* 6 */ " ", + /* 7 */ " " + }, + { /* byte 4 */ + /* 0 */ " ", + /* 1 */ " ", + /* 2 */ " ", + /* 3 */ " ", + /* 4 */ " ", + /* 5 */ "
", + /* 6 */ " ", + /* 7 */ "<3-Slot EDR ACL packets> " + }, + { /* byte 5 */ + /* 0 */ "<5-Slot EDR ACL packets> ", + /* 1 */ " ", + /* 2 */ " ", + /* 3 */ " ", + /* 4 */ " ", + /* 5 */ " ", + /* 6 */ " ", + /* 7 */ "<3-Slot EDR eSCO packets> " + }, + { /* byte 6 */ + /* 0 */ " ", + /* 1 */ " ", + /* 2 */ " ", + /* 3 */ " ", + /* 4 */ " ", + /* 5 */ " ", + /* 6 */ " ", + /* 7 */ " " + }, + { /* byte 7 */ + /* 0 */ " ", + /* 1 */ " ", + /* 2 */ " ", + /* 3 */ " ", + /* 4 */ " ", + /* 5 */ " ", + /* 6 */ " ", + /* 7 */ " " }}; if (buffer != NULL && size > 0) { From owner-svn-src-head@freebsd.org Sat Apr 18 08:33:30 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 912772C1DB1 for ; Sat, 18 Apr 2020 08:33:30 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com [IPv6:2607:f8b0:4864:20::82f]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4945p15pwVz3Jql for ; Sat, 18 Apr 2020 08:33:29 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-qt1-x82f.google.com with SMTP id x2so4165433qtr.0 for ; Sat, 18 Apr 2020 01:33:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Yb3sSn/cYxeIr1NZUzoVPqYXwDxrk0yvsWswLHZy9GY=; b=Mwv1MW6w+vhGlWB7fjoF+grGXpbxdKcmkuUTYv9+OANBT72KFmK3pguBBF2O2oicCV //YFRPL98ffrE/qgA02959gs0+Z6rLNYHoc5px/WNwnUyLJb2vO6jwrTQaY/5XZ2OcPz wcj7gAvp2gvu1dFtRkhHFFFczfkzVJDPyRGK4fuyQ7LmtlmLZ9bHONvatZrKGXIqq/F4 rCoibI9n0CZ88iZyOUN+61od+mYCpTTasna38vTloK9qQzqPQOM4UpkUHLrOfYslH765 8SU9QPj2GyjT706x8UK+zcex6IROrPeFOyArg/gj9MP0DknbMGHJkUUxOzzV1XIPlzNm m6Tg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Yb3sSn/cYxeIr1NZUzoVPqYXwDxrk0yvsWswLHZy9GY=; b=OJnvc3nT3zwf65JPTB5kpoBoTaD9QSLzVLPh1C6m3ezdQiWPA3hS9XvOL1l/0JSmYK 2hVNstOd2hgE0DGIKqffkx81q/83Z5ELE3e6Waq48JnI4BdUsIV3s5GT4mILVM+kaTjX jjNQeBw4I4KHlldQl833bu1JrIZkS4/sQB+TlGVcOD3TZ0hXnOEUmBYj1wEpLEec6UN7 T4POEk1J1xa/P/yUFZAPhm1QFfoERSoq/RUOZtaGIWBx9qQ4PlDgbrSw0hKF7NYhHJWs mR2se542s3Fw8nBG/otT998+9WrLMqNij7hJV1mShj/kbwW04UeHZBlLuzOdYCZTW8Ho f2Pg== X-Gm-Message-State: AGi0PubkIRrnAXlNuf+6cQNiLRms0B7/clcPahb4mi/qAbFTqOerzit3 UXWKa1Sfmy+PMcVypkqcNgllgby8WhFeWIdPZ3VCMQ== X-Google-Smtp-Source: APiQypJvZIZjHkO82+7+K+a2YvpzZnLc04FK42UJFt+iXh+OcZ/JvjJh4fyEdBn8wzMLwNpYN3nA1IW8/QSQiwqcJg0= X-Received: by 2002:ac8:46d0:: with SMTP id h16mr7206560qto.242.1587198808236; Sat, 18 Apr 2020 01:33:28 -0700 (PDT) MIME-Version: 1.0 References: <202004180253.03I2rKM0051204@repo.freebsd.org> <202004180601.03I61swh053697@gndrsh.dnsmgr.net> In-Reply-To: <202004180601.03I61swh053697@gndrsh.dnsmgr.net> From: Warner Losh Date: Sat, 18 Apr 2020 02:33:16 -0600 Message-ID: Subject: Re: svn commit: r360064 - in head: share/man/man4 sys/dev/amr To: "Rodney W. Grimes" Cc: Warner Losh , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org X-Rspamd-Queue-Id: 4945p15pwVz3Jql X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=bsdimp-com.20150623.gappssmtp.com header.s=20150623 header.b=Mwv1MW6w; dmarc=none; spf=none (mx1.freebsd.org: domain of wlosh@bsdimp.com has no SPF policy when checking 2607:f8b0:4864:20::82f) smtp.mailfrom=wlosh@bsdimp.com X-Spamd-Result: default: False [-3.01 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; R_DKIM_ALLOW(-0.20)[bsdimp-com.20150623.gappssmtp.com:s=20150623]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[svn-src-head@freebsd.org]; DMARC_NA(0.00)[bsdimp.com]; URI_COUNT_ODD(1.00)[3]; RCPT_COUNT_FIVE(0.00)[5]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[bsdimp-com.20150623.gappssmtp.com:+]; RCVD_IN_DNSWL_NONE(0.00)[f.2.8.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; FORGED_SENDER(0.30)[imp@bsdimp.com,wlosh@bsdimp.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; IP_SCORE(-2.02)[ip: (-9.27), ipnet: 2607:f8b0::/32(-0.33), asn: 15169(-0.43), country: US(-0.05)]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; FROM_NEQ_ENVFROM(0.00)[imp@bsdimp.com,wlosh@bsdimp.com]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 08:33:30 -0000 On Sat, Apr 18, 2020, 12:02 AM Rodney W. Grimes wrote: > > Author: imp > > Date: Sat Apr 18 02:53:19 2020 > > New Revision: 360064 > > URL: https://svnweb.freebsd.org/changeset/base/360064 > > > > Log: > > Add deprecation notice to amr(4) > > > > I take it this group of deprecations is also MFC: 3 days? > More likely a week. Warner > > -- > Rod Grimes > rgrimes@freebsd.org > From owner-svn-src-head@freebsd.org Sat Apr 18 12:54:36 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 61E4F2C8831; Sat, 18 Apr 2020 12:54:36 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494CbJ13lzz4BWZ; Sat, 18 Apr 2020 12:54:36 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1F9B3CB6A; Sat, 18 Apr 2020 12:54:36 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ICsa6S028201; Sat, 18 Apr 2020 12:54:36 GMT (envelope-from arichardson@FreeBSD.org) Received: (from arichardson@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ICsaho028200; Sat, 18 Apr 2020 12:54:36 GMT (envelope-from arichardson@FreeBSD.org) Message-Id: <202004181254.03ICsaho028200@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: arichardson set sender to arichardson@FreeBSD.org using -f From: Alex Richardson Date: Sat, 18 Apr 2020 12:54:35 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360071 - head/sys/conf X-SVN-Group: head X-SVN-Commit-Author: arichardson X-SVN-Commit-Paths: head/sys/conf X-SVN-Commit-Revision: 360071 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 12:54:36 -0000 Author: arichardson Date: Sat Apr 18 12:54:35 2020 New Revision: 360071 URL: https://svnweb.freebsd.org/changeset/base/360071 Log: Allow kernel modules to build with a compiler that defaults to -fno-common This uses the same approach as r359691. Reviewed By: brooks Differential Revision: https://reviews.freebsd.org/D24405 Modified: head/sys/conf/kmod.mk Modified: head/sys/conf/kmod.mk ============================================================================== --- head/sys/conf/kmod.mk Sat Apr 18 08:29:16 2020 (r360070) +++ head/sys/conf/kmod.mk Sat Apr 18 12:54:35 2020 (r360071) @@ -524,13 +524,13 @@ assym.inc: ${SYSDIR}/kern/genassym.sh sh ${SYSDIR}/kern/genassym.sh genassym.o > ${.TARGET} genassym.o: ${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c offset.inc genassym.o: ${SRCS:Mopt_*.h} - ${CC} -c ${CFLAGS:N-flto:N-fno-common} \ + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon \ ${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c offset.inc: ${SYSDIR}/kern/genoffset.sh genoffset.o sh ${SYSDIR}/kern/genoffset.sh genoffset.o > ${.TARGET} genoffset.o: ${SYSDIR}/kern/genoffset.c genoffset.o: ${SRCS:Mopt_*.h} - ${CC} -c ${CFLAGS:N-flto:N-fno-common} \ + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon \ ${SYSDIR}/kern/genoffset.c CLEANDEPENDFILES+= ${_ILINKS} From owner-svn-src-head@freebsd.org Sat Apr 18 12:54:43 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 917CA2C8854; Sat, 18 Apr 2020 12:54:43 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494CbQ71lWz4BZw; Sat, 18 Apr 2020 12:54:42 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4EC48CB6B; Sat, 18 Apr 2020 12:54:42 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ICsgDw028261; Sat, 18 Apr 2020 12:54:42 GMT (envelope-from arichardson@FreeBSD.org) Received: (from arichardson@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ICsf29028257; Sat, 18 Apr 2020 12:54:41 GMT (envelope-from arichardson@FreeBSD.org) Message-Id: <202004181254.03ICsf29028257@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: arichardson set sender to arichardson@FreeBSD.org using -f From: Alex Richardson Date: Sat, 18 Apr 2020 12:54:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360072 - in head/sys: conf modules/linux modules/linux64 modules/vmm X-SVN-Group: head X-SVN-Commit-Author: arichardson X-SVN-Commit-Paths: in head/sys: conf modules/linux modules/linux64 modules/vmm X-SVN-Commit-Revision: 360072 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 12:54:44 -0000 Author: arichardson Date: Sat Apr 18 12:54:40 2020 New Revision: 360072 URL: https://svnweb.freebsd.org/changeset/base/360072 Log: More fixes to build the kernel with a compiler that defaults to -fno-common Using the same approach as the last commit for the files used by genassym.sh. Obtained from: CheriBSD Modified: head/sys/conf/files.amd64 head/sys/conf/files.i386 head/sys/modules/linux/Makefile head/sys/modules/linux64/Makefile head/sys/modules/vmm/Makefile Modified: head/sys/conf/files.amd64 ============================================================================== --- head/sys/conf/files.amd64 Sat Apr 18 12:54:35 2020 (r360071) +++ head/sys/conf/files.amd64 Sat Apr 18 12:54:40 2020 (r360072) @@ -38,7 +38,7 @@ cloudabi64_vdso_blob.o optional compat_cloudabi64 \ # linux32_genassym.o optional compat_linux32 \ dependency "$S/amd64/linux32/linux32_genassym.c offset.inc" \ - compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \ + compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -fcommon -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "linux32_genassym.o" # @@ -62,7 +62,7 @@ linux32_vdso.so optional compat_linux32 \ # ia32_genassym.o standard \ dependency "$S/compat/ia32/ia32_genassym.c offset.inc" \ - compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \ + compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -fcommon -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "ia32_genassym.o" # Modified: head/sys/conf/files.i386 ============================================================================== --- head/sys/conf/files.i386 Sat Apr 18 12:54:35 2020 (r360071) +++ head/sys/conf/files.i386 Sat Apr 18 12:54:40 2020 (r360072) @@ -25,7 +25,7 @@ cloudabi32_vdso_blob.o optional compat_cloudabi32 \ # linux_genassym.o optional compat_linux \ dependency "$S/i386/linux/linux_genassym.c offset.inc" \ - compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \ + compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -fcommon -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "linux_genassym.o" # Modified: head/sys/modules/linux/Makefile ============================================================================== --- head/sys/modules/linux/Makefile Sat Apr 18 12:54:35 2020 (r360071) +++ head/sys/modules/linux/Makefile Sat Apr 18 12:54:40 2020 (r360072) @@ -78,7 +78,7 @@ ${VDSO}.so: linux${SFX}_locore.o .endif linux${SFX}_genassym.o: offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} .if !defined(KERNBUILDDIR) .warning Building Linuxulator outside of a kernel does not make sense Modified: head/sys/modules/linux64/Makefile ============================================================================== --- head/sys/modules/linux64/Makefile Sat Apr 18 12:54:35 2020 (r360071) +++ head/sys/modules/linux64/Makefile Sat Apr 18 12:54:40 2020 (r360072) @@ -53,7 +53,7 @@ linux_support.o: assym.inc linux_assym.h ${.IMPSRC} -o ${.TARGET} linux_genassym.o: offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} .if !defined(KERNBUILDDIR) .warning Building Linuxulator outside of a kernel does not make sense Modified: head/sys/modules/vmm/Makefile ============================================================================== --- head/sys/modules/vmm/Makefile Sat Apr 18 12:54:35 2020 (r360071) +++ head/sys/modules/vmm/Makefile Sat Apr 18 12:54:40 2020 (r360072) @@ -75,9 +75,9 @@ svm_support.o: ${.IMPSRC} -o ${.TARGET} vmx_genassym.o: offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} svm_genassym.o: offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} .include From owner-svn-src-head@freebsd.org Sat Apr 18 12:54:50 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id E0C4B2C8898; Sat, 18 Apr 2020 12:54:50 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494CbY33QGz4BgK; Sat, 18 Apr 2020 12:54:49 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 16BBECB6C; Sat, 18 Apr 2020 12:54:49 +0000 (UTC) (envelope-from arichardson@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03ICsn6c028332; Sat, 18 Apr 2020 12:54:49 GMT (envelope-from arichardson@FreeBSD.org) Received: (from arichardson@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03ICslhN028317; Sat, 18 Apr 2020 12:54:47 GMT (envelope-from arichardson@FreeBSD.org) Message-Id: <202004181254.03ICslhN028317@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: arichardson set sender to arichardson@FreeBSD.org using -f From: Alex Richardson Date: Sat, 18 Apr 2020 12:54:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360073 - head/tests/sys/kqueue/libkqueue X-SVN-Group: head X-SVN-Commit-Author: arichardson X-SVN-Commit-Paths: head/tests/sys/kqueue/libkqueue X-SVN-Commit-Revision: 360073 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 12:54:51 -0000 Author: arichardson Date: Sat Apr 18 12:54:47 2020 New Revision: 360073 URL: https://svnweb.freebsd.org/changeset/base/360073 Log: Fix various warnings in tests/sys/kqueue and bump WARNS Reviewed By: kevans Differential Revision: https://reviews.freebsd.org/D24296 Modified: head/tests/sys/kqueue/libkqueue/Makefile head/tests/sys/kqueue/libkqueue/common.h head/tests/sys/kqueue/libkqueue/main.c head/tests/sys/kqueue/libkqueue/proc.c head/tests/sys/kqueue/libkqueue/read.c head/tests/sys/kqueue/libkqueue/signal.c head/tests/sys/kqueue/libkqueue/timer.c head/tests/sys/kqueue/libkqueue/user.c head/tests/sys/kqueue/libkqueue/vnode.c Modified: head/tests/sys/kqueue/libkqueue/Makefile ============================================================================== --- head/tests/sys/kqueue/libkqueue/Makefile Sat Apr 18 12:54:40 2020 (r360072) +++ head/tests/sys/kqueue/libkqueue/Makefile Sat Apr 18 12:54:47 2020 (r360073) @@ -16,6 +16,5 @@ SRCS.kqtest= \ proc.c \ signal.c \ user.c -WARNS?= 2 .include Modified: head/tests/sys/kqueue/libkqueue/common.h ============================================================================== --- head/tests/sys/kqueue/libkqueue/common.h Sat Apr 18 12:54:40 2020 (r360072) +++ head/tests/sys/kqueue/libkqueue/common.h Sat Apr 18 12:54:47 2020 (r360073) @@ -40,7 +40,6 @@ #include -extern char *cur_test_id; extern int vnode_fd; extern int kqfd; @@ -76,5 +75,14 @@ extern void test_no_kevents_quietly(void); extern void test_begin(const char *); extern void success(void); + +extern void test_evfilt_read(void); +extern void test_evfilt_signal(void); +extern void test_evfilt_vnode(void); +extern void test_evfilt_timer(void); +extern void test_evfilt_proc(void); +#if HAVE_EVFILT_USER +extern void test_evfilt_user(void); +#endif #endif /* _COMMON_H */ Modified: head/tests/sys/kqueue/libkqueue/main.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/main.c Sat Apr 18 12:54:40 2020 (r360072) +++ head/tests/sys/kqueue/libkqueue/main.c Sat Apr 18 12:54:47 2020 (r360073) @@ -21,21 +21,12 @@ #include "config.h" #include "common.h" -int testnum = 1; -char *cur_test_id = NULL; int kqfd; +static char *cur_test_id = NULL; +static int testnum = 1; -extern void test_evfilt_read(); -extern void test_evfilt_signal(); -extern void test_evfilt_vnode(); -extern void test_evfilt_timer(); -extern void test_evfilt_proc(); -#if HAVE_EVFILT_USER -extern void test_evfilt_user(); -#endif - /* Checks if any events are pending, which is an error. */ -void +void test_no_kevents(void) { int nfds; @@ -58,7 +49,7 @@ test_no_kevents(void) /* Checks if any events are pending, which is an error. Do not print * out anything unless events are found. */ -void +void test_no_kevents_quietly(void) { int nfds; @@ -79,7 +70,7 @@ test_no_kevents_quietly(void) /* Retrieve a single kevent */ struct kevent * -kevent_get(int kqfd) +kevent_get(int fd) { int nfds; struct kevent *kev; @@ -87,7 +78,7 @@ kevent_get(int kqfd) if ((kev = calloc(1, sizeof(*kev))) == NULL) err(1, "out of memory"); - nfds = kevent(kqfd, NULL, 0, kev, 1, NULL); + nfds = kevent(fd, NULL, 0, kev, 1, NULL); if (nfds < 1) err(1, "kevent(2)"); @@ -96,7 +87,7 @@ kevent_get(int kqfd) /* Retrieve a single kevent, specifying a maximum time to wait for it. */ struct kevent * -kevent_get_timeout(int kqfd, int seconds) +kevent_get_timeout(int fd, int seconds) { int nfds; struct kevent *kev; @@ -105,7 +96,7 @@ kevent_get_timeout(int kqfd, int seconds) if ((kev = calloc(1, sizeof(*kev))) == NULL) err(1, "out of memory"); - nfds = kevent(kqfd, NULL, 0, kev, 1, &timeout); + nfds = kevent(fd, NULL, 0, kev, 1, &timeout); if (nfds < 0) { err(1, "kevent(2)"); } else if (nfds == 0) { @@ -116,7 +107,7 @@ kevent_get_timeout(int kqfd, int seconds) return (kev); } -char * +static char * kevent_fflags_dump(struct kevent *kev) { char *buf; @@ -166,7 +157,7 @@ kevent_fflags_dump(struct kevent *kev) return (buf); } -char * +static char * kevent_flags_dump(struct kevent *kev) { char *buf; @@ -227,7 +218,7 @@ kevent_to_str(struct kevent *kev) } void -kevent_add(int kqfd, struct kevent *kev, +kevent_add(int fd, struct kevent *kev, uintptr_t ident, short filter, u_short flags, @@ -237,8 +228,8 @@ kevent_add(int kqfd, struct kevent *kev, { char *kev_str; - EV_SET(kev, ident, filter, flags, fflags, data, NULL); - if (kevent(kqfd, kev, 1, NULL, 0, NULL) < 0) { + EV_SET(kev, ident, filter, flags, fflags, data, udata); + if (kevent(fd, kev, 1, NULL, 0, NULL) < 0) { kev_str = kevent_to_str(kev); printf("Unable to add the following kevent:\n%s\n", kev_str); @@ -295,7 +286,7 @@ success(void) cur_test_id = NULL; } -void +static void test_kqueue(void) { test_begin("kqueue()"); @@ -305,7 +296,7 @@ test_kqueue(void) success(); } -void +static void test_kqueue_close(void) { test_begin("close(kq)"); Modified: head/tests/sys/kqueue/libkqueue/proc.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/proc.c Sat Apr 18 12:54:40 2020 (r360072) +++ head/tests/sys/kqueue/libkqueue/proc.c Sat Apr 18 12:54:47 2020 (r360073) @@ -27,7 +27,7 @@ static int sigusr1_caught = 0; static void -sig_handler(int signum) +sig_handler(__unused int signum) { sigusr1_caught = 1; } @@ -203,10 +203,10 @@ proc_track(int sleep_time) } if (kevp->fflags & NOTE_EXIT) { - if ((kevp->ident == pid) && (!child_exit)) { + if ((kevp->ident == (uintptr_t)pid) && (!child_exit)) { ++child_exit; ++handled; - } else if ((kevp->ident == gchild_pid) && (!gchild_exit)) { + } else if ((kevp->ident == (uintptr_t)gchild_pid) && (!gchild_exit)) { ++gchild_exit; ++handled; } else { @@ -215,7 +215,7 @@ proc_track(int sleep_time) } if (kevp->fflags & NOTE_FORK) { - if ((kevp->ident == pid) && (!child_fork)) { + if ((kevp->ident == (uintptr_t)pid) && (!child_fork)) { ++child_fork; ++handled; } else { @@ -273,7 +273,7 @@ event_trigger(void) success(); } -void +static void test_kevent_signal_disable(void) { const char *test_id = "kevent(EVFILT_SIGNAL, EV_DISABLE)"; @@ -397,7 +397,7 @@ test_kevent_signal_oneshot(void) #endif void -test_evfilt_proc() +test_evfilt_proc(void) { kqfd = kqueue(); Modified: head/tests/sys/kqueue/libkqueue/read.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/read.c Sat Apr 18 12:54:40 2020 (r360072) +++ head/tests/sys/kqueue/libkqueue/read.c Sat Apr 18 12:54:47 2020 (r360073) @@ -18,7 +18,7 @@ #include "common.h" -int sockfd[2]; +static int sockfd[2]; static void kevent_socket_drain(void) @@ -40,7 +40,7 @@ kevent_socket_fill(void) } -void +static void test_kevent_socket_add(void) { const char *test_id = "kevent(EVFILT_READ, EV_ADD)"; @@ -54,7 +54,7 @@ test_kevent_socket_add(void) success(); } -void +static void test_kevent_socket_get(void) { const char *test_id = "kevent(EVFILT_READ) wait"; @@ -81,7 +81,7 @@ test_kevent_socket_get(void) success(); } -void +static void test_kevent_socket_clear(void) { const char *test_id = "kevent(EVFILT_READ, EV_CLEAR)"; @@ -115,7 +115,7 @@ test_kevent_socket_clear(void) success(); } -void +static void test_kevent_socket_disable_and_enable(void) { const char *test_id = "kevent(EVFILT_READ, EV_DISABLE)"; @@ -153,7 +153,7 @@ test_kevent_socket_disable_and_enable(void) success(); } -void +static void test_kevent_socket_del(void) { const char *test_id = "kevent(EVFILT_READ, EV_DELETE)"; @@ -172,7 +172,7 @@ test_kevent_socket_del(void) success(); } -void +static void test_kevent_socket_oneshot(void) { const char *test_id = "kevent(EVFILT_READ, EV_ONESHOT)"; @@ -207,7 +207,7 @@ test_kevent_socket_oneshot(void) #if HAVE_EV_DISPATCH -void +static void test_kevent_socket_dispatch(void) { const char *test_id = "kevent(EVFILT_READ, EV_DISPATCH)"; @@ -242,7 +242,7 @@ test_kevent_socket_dispatch(void) #endif /* HAVE_EV_DISPATCH */ #if BROKEN -void +static void test_kevent_socket_lowat(void) { const char *test_id = "kevent(EVFILT_READ, NOTE_LOWAT)"; @@ -275,7 +275,7 @@ test_kevent_socket_lowat(void) } #endif -void +static void test_kevent_socket_eof(void) { const char *test_id = "kevent(EVFILT_READ, EV_EOF)"; @@ -304,7 +304,7 @@ test_kevent_socket_eof(void) } void -test_evfilt_read() +test_evfilt_read(void) { /* Create a connected pair of full-duplex sockets for testing socket events */ if (socketpair(AF_UNIX, SOCK_STREAM, 0, sockfd) < 0) Modified: head/tests/sys/kqueue/libkqueue/signal.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/signal.c Sat Apr 18 12:54:40 2020 (r360072) +++ head/tests/sys/kqueue/libkqueue/signal.c Sat Apr 18 12:54:47 2020 (r360073) @@ -19,7 +19,7 @@ #include "common.h" -void +static void test_kevent_signal_add(void) { const char *test_id = "kevent(EVFILT_SIGNAL, EV_ADD)"; @@ -34,7 +34,7 @@ test_kevent_signal_add(void) success(); } -void +static void test_kevent_signal_get(void) { const char *test_id = "kevent(EVFILT_SIGNAL, wait)"; @@ -62,7 +62,7 @@ test_kevent_signal_get(void) success(); } -void +static void test_kevent_signal_disable(void) { const char *test_id = "kevent(EVFILT_SIGNAL, EV_DISABLE)"; @@ -88,7 +88,7 @@ test_kevent_signal_disable(void) success(); } -void +static void test_kevent_signal_enable(void) { const char *test_id = "kevent(EVFILT_SIGNAL, EV_ENABLE)"; @@ -125,7 +125,7 @@ test_kevent_signal_enable(void) success(); } -void +static void test_kevent_signal_del(void) { const char *test_id = "kevent(EVFILT_SIGNAL, EV_DELETE)"; @@ -151,7 +151,7 @@ test_kevent_signal_del(void) success(); } -void +static void test_kevent_signal_oneshot(void) { const char *test_id = "kevent(EVFILT_SIGNAL, EV_ONESHOT)"; @@ -185,7 +185,7 @@ test_kevent_signal_oneshot(void) } void -test_evfilt_signal() +test_evfilt_signal(void) { kqfd = kqueue(); test_kevent_signal_add(); Modified: head/tests/sys/kqueue/libkqueue/timer.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/timer.c Sat Apr 18 12:54:40 2020 (r360072) +++ head/tests/sys/kqueue/libkqueue/timer.c Sat Apr 18 12:54:47 2020 (r360073) @@ -42,7 +42,7 @@ now(void) /* Sleep for a given number of milliseconds. The timeout is assumed to * be less than 1 second. */ -void +static void mssleep(int t) { struct timespec stime = { @@ -56,7 +56,7 @@ mssleep(int t) /* Sleep for a given number of microseconds. The timeout is assumed to * be less than 1 second. */ -void +static void ussleep(int t) { struct timespec stime = { @@ -67,7 +67,7 @@ ussleep(int t) nanosleep(&stime, NULL); } -void +static void test_kevent_timer_add(void) { const char *test_id = "kevent(EVFILT_TIMER, EV_ADD)"; @@ -82,7 +82,7 @@ test_kevent_timer_add(void) success(); } -void +static void test_kevent_timer_del(void) { const char *test_id = "kevent(EVFILT_TIMER, EV_DELETE)"; @@ -99,7 +99,7 @@ test_kevent_timer_del(void) success(); } -void +static void test_kevent_timer_get(void) { const char *test_id = "kevent(EVFILT_TIMER, wait)"; @@ -509,7 +509,7 @@ test_update_timing(void) } void -test_evfilt_timer() +test_evfilt_timer(void) { kqfd = kqueue(); test_kevent_timer_add(); Modified: head/tests/sys/kqueue/libkqueue/user.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/user.c Sat Apr 18 12:54:40 2020 (r360072) +++ head/tests/sys/kqueue/libkqueue/user.c Sat Apr 18 12:54:47 2020 (r360073) @@ -114,7 +114,7 @@ oneshot(void) } void -test_evfilt_user() +test_evfilt_user(void) { kqfd = kqueue(); Modified: head/tests/sys/kqueue/libkqueue/vnode.c ============================================================================== --- head/tests/sys/kqueue/libkqueue/vnode.c Sat Apr 18 12:54:40 2020 (r360072) +++ head/tests/sys/kqueue/libkqueue/vnode.c Sat Apr 18 12:54:47 2020 (r360073) @@ -20,7 +20,7 @@ int vnode_fd; -void +static void test_kevent_vnode_add(void) { const char *test_id = "kevent(EVFILT_VNODE, EV_ADD)"; @@ -44,7 +44,7 @@ test_kevent_vnode_add(void) success(); } -void +static void test_kevent_vnode_note_delete(void) { const char *test_id = "kevent(EVFILT_VNODE, NOTE_DELETE)"; @@ -64,7 +64,7 @@ test_kevent_vnode_note_delete(void) success(); } -void +static void test_kevent_vnode_note_write(void) { const char *test_id = "kevent(EVFILT_VNODE, NOTE_WRITE)"; @@ -88,7 +88,7 @@ test_kevent_vnode_note_write(void) success(); } -void +static void test_kevent_vnode_note_attrib(void) { const char *test_id = "kevent(EVFILT_VNODE, NOTE_ATTRIB)"; @@ -107,7 +107,7 @@ test_kevent_vnode_note_attrib(void) nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); if (nfds < 1) err(1, "%s", test_id); - if (kev.ident != vnode_fd || + if (kev.ident != (uintptr_t)vnode_fd || kev.filter != EVFILT_VNODE || kev.fflags != NOTE_ATTRIB) err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", @@ -116,7 +116,7 @@ test_kevent_vnode_note_attrib(void) success(); } -void +static void test_kevent_vnode_note_rename(void) { const char *test_id = "kevent(EVFILT_VNODE, NOTE_RENAME)"; @@ -135,7 +135,7 @@ test_kevent_vnode_note_rename(void) nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); if (nfds < 1) err(1, "%s", test_id); - if (kev.ident != vnode_fd || + if (kev.ident != (uintptr_t)vnode_fd || kev.filter != EVFILT_VNODE || kev.fflags != NOTE_RENAME) err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", @@ -147,7 +147,7 @@ test_kevent_vnode_note_rename(void) success(); } -void +static void test_kevent_vnode_del(void) { const char *test_id = "kevent(EVFILT_VNODE, EV_DELETE)"; @@ -162,7 +162,7 @@ test_kevent_vnode_del(void) success(); } -void +static void test_kevent_vnode_disable_and_enable(void) { const char *test_id = "kevent(EVFILT_VNODE, EV_DISABLE and EV_ENABLE)"; @@ -195,7 +195,7 @@ test_kevent_vnode_disable_and_enable(void) nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); if (nfds < 1) err(1, "%s", test_id); - if (kev.ident != vnode_fd || + if (kev.ident != (uintptr_t)vnode_fd || kev.filter != EVFILT_VNODE || kev.fflags != NOTE_ATTRIB) err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", @@ -205,7 +205,7 @@ test_kevent_vnode_disable_and_enable(void) } #if HAVE_EV_DISPATCH -void +static void test_kevent_vnode_dispatch(void) { const char *test_id = "kevent(EVFILT_VNODE, EV_DISPATCH)"; @@ -226,7 +226,7 @@ test_kevent_vnode_dispatch(void) nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); if (nfds < 1) err(1, "%s", test_id); - if (kev.ident != vnode_fd || + if (kev.ident != (uintptr_t)vnode_fd || kev.filter != EVFILT_VNODE || kev.fflags != NOTE_ATTRIB) err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", @@ -248,7 +248,7 @@ test_kevent_vnode_dispatch(void) #endif /* HAVE_EV_DISPATCH */ void -test_evfilt_vnode() +test_evfilt_vnode(void) { kqfd = kqueue(); test_kevent_vnode_add(); From owner-svn-src-head@freebsd.org Sat Apr 18 13:29:54 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D78DA2C9419; Sat, 18 Apr 2020 13:29:54 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494DN25R6Dz4F0S; Sat, 18 Apr 2020 13:29:54 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B1123D138; Sat, 18 Apr 2020 13:29:54 +0000 (UTC) (envelope-from 0mp@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03IDTsSj048247; Sat, 18 Apr 2020 13:29:54 GMT (envelope-from 0mp@FreeBSD.org) Received: (from 0mp@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03IDTsHm048246; Sat, 18 Apr 2020 13:29:54 GMT (envelope-from 0mp@FreeBSD.org) Message-Id: <202004181329.03IDTsHm048246@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: 0mp set sender to 0mp@FreeBSD.org using -f From: Mateusz Piotrowski <0mp@FreeBSD.org> Date: Sat, 18 Apr 2020 13:29:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360074 - head/usr.bin/find X-SVN-Group: head X-SVN-Commit-Author: 0mp X-SVN-Commit-Paths: head/usr.bin/find X-SVN-Commit-Revision: 360074 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 13:29:54 -0000 Author: 0mp (doc,ports committer) Date: Sat Apr 18 13:29:54 2020 New Revision: 360074 URL: https://svnweb.freebsd.org/changeset/base/360074 Log: Use the Ic macro for find(1) primaries consistently MFC after: 3 days Modified: head/usr.bin/find/find.1 Modified: head/usr.bin/find/find.1 ============================================================================== --- head/usr.bin/find/find.1 Sat Apr 18 12:54:47 2020 (r360073) +++ head/usr.bin/find/find.1 Sat Apr 18 13:29:54 2020 (r360074) @@ -31,7 +31,7 @@ .\" @(#)find.1 8.7 (Berkeley) 5/9/95 .\" $FreeBSD$ .\" -.Dd January 24, 2017 +.Dd April 18, 2020 .Dt FIND 1 .Os .Sh NAME @@ -480,7 +480,7 @@ is being executed and the latter matches any file syst mounted read-only. .It Ic -gid Ar gname The same thing as -.Ar -group Ar gname +.Ic -group Ar gname for compatibility with GNU find. GNU find imposes a restriction that .Ar gname From owner-svn-src-head@freebsd.org Sat Apr 18 15:05:11 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 7C23E2CC2D9; Sat, 18 Apr 2020 15:05:11 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494GTz2NKgz4NPX; Sat, 18 Apr 2020 15:05:11 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 489D3E48C; Sat, 18 Apr 2020 15:05:11 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03IF5BMk010543; Sat, 18 Apr 2020 15:05:11 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03IF5BFG010542; Sat, 18 Apr 2020 15:05:11 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <202004181505.03IF5BFG010542@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Sat, 18 Apr 2020 15:05:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360075 - head/sys/dev/usb/controller X-SVN-Group: head X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: head/sys/dev/usb/controller X-SVN-Commit-Revision: 360075 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 15:05:11 -0000 Author: hselasky Date: Sat Apr 18 15:05:10 2020 New Revision: 360075 URL: https://svnweb.freebsd.org/changeset/base/360075 Log: Set the maximum exit latency to 0 for XHCI USB 3.0 devices, because we don't implement link power management, LPM. This fixes error code XHCI_TRB_ERROR_BANDWIDTH for isochronous USB 3.0 transactions. Submitted by: Horse Ma MFC after: 1 week Sponsored by: Mellanox Technologies Modified: head/sys/dev/usb/controller/xhci.c Modified: head/sys/dev/usb/controller/xhci.c ============================================================================== --- head/sys/dev/usb/controller/xhci.c Sat Apr 18 13:29:54 2020 (r360074) +++ head/sys/dev/usb/controller/xhci.c Sat Apr 18 15:05:10 2020 (r360075) @@ -2665,23 +2665,6 @@ xhci_configure_device(struct usb_device *udev) sc->sc_hw.devs[index].nports); } - switch (udev->speed) { - case USB_SPEED_SUPER: - switch (sc->sc_hw.devs[index].state) { - case XHCI_ST_ADDRESSED: - case XHCI_ST_CONFIGURED: - /* enable power save */ - temp |= XHCI_SCTX_1_MAX_EL_SET(sc->sc_exit_lat_max); - break; - default: - /* disable power save */ - break; - } - break; - default: - break; - } - xhci_ctx_set_le32(sc, &pinp->ctx_slot.dwSctx1, temp); temp = XHCI_SCTX_2_IRQ_TARGET_SET(0); From owner-svn-src-head@freebsd.org Sat Apr 18 18:25:31 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 1135F2A9B20; Sat, 18 Apr 2020 18:25:31 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494Lx66nJFz4g7b; Sat, 18 Apr 2020 18:25:30 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DFA1018B5D; Sat, 18 Apr 2020 18:25:30 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03IIPUIH034725; Sat, 18 Apr 2020 18:25:30 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03IIPUfW034722; Sat, 18 Apr 2020 18:25:30 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202004181825.03IIPUfW034722@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 18 Apr 2020 18:25:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360076 - head/sys/dev/sound/pci/hda X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/dev/sound/pci/hda X-SVN-Commit-Revision: 360076 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 18:25:31 -0000 Author: emaste Date: Sat Apr 18 18:25:30 2020 New Revision: 360076 URL: https://svnweb.freebsd.org/changeset/base/360076 Log: hda: remove hda*_lockowned macros These are not used anywhere. Modified: head/sys/dev/sound/pci/hda/hdaa.c head/sys/dev/sound/pci/hda/hdac.c head/sys/dev/sound/pci/hda/hdacc.c Modified: head/sys/dev/sound/pci/hda/hdaa.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdaa.c Sat Apr 18 15:05:10 2020 (r360075) +++ head/sys/dev/sound/pci/hda/hdaa.c Sat Apr 18 18:25:30 2020 (r360076) @@ -52,7 +52,6 @@ SND_DECLARE_FILE("$FreeBSD$"); #define hdaa_lock(devinfo) snd_mtxlock((devinfo)->lock) #define hdaa_unlock(devinfo) snd_mtxunlock((devinfo)->lock) #define hdaa_lockassert(devinfo) snd_mtxassert((devinfo)->lock) -#define hdaa_lockowned(devinfo) mtx_owned((devinfo)->lock) static const struct { const char *key; Modified: head/sys/dev/sound/pci/hda/hdac.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdac.c Sat Apr 18 15:05:10 2020 (r360075) +++ head/sys/dev/sound/pci/hda/hdac.c Sat Apr 18 18:25:30 2020 (r360076) @@ -56,7 +56,6 @@ SND_DECLARE_FILE("$FreeBSD$"); #define hdac_lock(sc) snd_mtxlock((sc)->lock) #define hdac_unlock(sc) snd_mtxunlock((sc)->lock) #define hdac_lockassert(sc) snd_mtxassert((sc)->lock) -#define hdac_lockowned(sc) mtx_owned((sc)->lock) #define HDAC_QUIRK_64BIT (1 << 0) #define HDAC_QUIRK_DMAPOS (1 << 1) Modified: head/sys/dev/sound/pci/hda/hdacc.c ============================================================================== --- head/sys/dev/sound/pci/hda/hdacc.c Sat Apr 18 15:05:10 2020 (r360075) +++ head/sys/dev/sound/pci/hda/hdacc.c Sat Apr 18 18:25:30 2020 (r360076) @@ -65,7 +65,6 @@ struct hdacc_softc { #define hdacc_lock(codec) snd_mtxlock((codec)->lock) #define hdacc_unlock(codec) snd_mtxunlock((codec)->lock) #define hdacc_lockassert(codec) snd_mtxassert((codec)->lock) -#define hdacc_lockowned(codec) mtx_owned((codec)->lock) MALLOC_DEFINE(M_HDACC, "hdacc", "HDA CODEC"); From owner-svn-src-head@freebsd.org Sat Apr 18 19:13:10 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 860652AAA7A; Sat, 18 Apr 2020 19:13:10 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: from mail-oo1-f53.google.com (mail-oo1-f53.google.com [209.85.161.53]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494N0637hlz3G0t; Sat, 18 Apr 2020 19:13:10 +0000 (UTC) (envelope-from cse.cem@gmail.com) Received: by mail-oo1-f53.google.com with SMTP id t3so1199669oou.8; Sat, 18 Apr 2020 12:13:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:reply-to :from:date:message-id:subject:to:cc; bh=TwSvEUNLXQsj5eIeVdztzvAZfseQ5BGqGocVJA3Iigg=; b=kPZHdt7gZ/r914J8tmxkaWlSYjXVAAGyNhIoCnpYzi9BSG84AGkiRveXl+fYWKNI+X mNGUdcBEqfKnI2akh3emhGGUSwAiLWEu/6uSsye/UiKC/dGHP3m3bfEplPTHE49PwyW8 kbX4hwfFck8wosKTgX/B/9QFkYkBlJrefaW8jRfTJYFgA0BV0uwlvSMQbau12VenIn8v AGA9o67VmUT0jCA1CchTTaX849j/0G1iwKyfNE0YIbhAara6agEIVLuP0p5dfFvCoR+7 +5OSpGun9/b4YJumkO0sD46CXH+64sdRcl/3idCTxmDaFHInx7XYnVN3ZvP6ojpQEvgf +zQQ== X-Gm-Message-State: AGi0PuZ82llsrNvcXLMnBpn6DsJ6oOHFNOwuKFEPcUHtVOtJhHcAhJYX Zd9EPtjm1NAV783/mFNfyVvHo2qx X-Google-Smtp-Source: APiQypJ+SxfpUEHbikTeUgtiQ0XAb4GOLBvn81B1IK4hJ2u3S7rKi9aIO5bjVYzrjvWCr6n3Ek90Dg== X-Received: by 2002:a4a:e495:: with SMTP id s21mr7123182oov.79.1587237188422; Sat, 18 Apr 2020 12:13:08 -0700 (PDT) Received: from mail-oi1-f182.google.com (mail-oi1-f182.google.com. [209.85.167.182]) by smtp.gmail.com with ESMTPSA id q11sm2215389ooc.19.2020.04.18.12.13.07 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Apr 2020 12:13:07 -0700 (PDT) Received: by mail-oi1-f182.google.com with SMTP id k133so5215316oih.12; Sat, 18 Apr 2020 12:13:07 -0700 (PDT) X-Received: by 2002:aca:dc56:: with SMTP id t83mr5886982oig.48.1587237186778; Sat, 18 Apr 2020 12:13:06 -0700 (PDT) MIME-Version: 1.0 References: <202004181254.03ICslhN028317@repo.freebsd.org> In-Reply-To: <202004181254.03ICslhN028317@repo.freebsd.org> Reply-To: cem@freebsd.org From: Conrad Meyer Date: Sat, 18 Apr 2020 12:12:55 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r360073 - head/tests/sys/kqueue/libkqueue To: Alex Richardson Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 494N0637hlz3G0t X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 19:13:10 -0000 Hi Alex, We usually do not use "extern" for function declarations in headers. Best, Conrad On Sat, Apr 18, 2020 at 5:55 AM Alex Richardson wrote: > > Author: arichardson > Date: Sat Apr 18 12:54:47 2020 > New Revision: 360073 > URL: https://svnweb.freebsd.org/changeset/base/360073 > > Log: > Fix various warnings in tests/sys/kqueue and bump WARNS > > Reviewed By: kevans > Differential Revision: https://reviews.freebsd.org/D24296 > > Modified: > head/tests/sys/kqueue/libkqueue/Makefile > head/tests/sys/kqueue/libkqueue/common.h > head/tests/sys/kqueue/libkqueue/main.c > head/tests/sys/kqueue/libkqueue/proc.c > head/tests/sys/kqueue/libkqueue/read.c > head/tests/sys/kqueue/libkqueue/signal.c > head/tests/sys/kqueue/libkqueue/timer.c > head/tests/sys/kqueue/libkqueue/user.c > head/tests/sys/kqueue/libkqueue/vnode.c > > Modified: head/tests/sys/kqueue/libkqueue/Makefile > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/Makefile Sat Apr 18 12:54:40 2020 (r360072) > +++ head/tests/sys/kqueue/libkqueue/Makefile Sat Apr 18 12:54:47 2020 (r360073) > @@ -16,6 +16,5 @@ SRCS.kqtest= \ > proc.c \ > signal.c \ > user.c > -WARNS?= 2 > > .include > > Modified: head/tests/sys/kqueue/libkqueue/common.h > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/common.h Sat Apr 18 12:54:40 2020 (r360072) > +++ head/tests/sys/kqueue/libkqueue/common.h Sat Apr 18 12:54:47 2020 (r360073) > @@ -40,7 +40,6 @@ > > #include > > -extern char *cur_test_id; > extern int vnode_fd; > extern int kqfd; > > @@ -76,5 +75,14 @@ extern void test_no_kevents_quietly(void); > > extern void test_begin(const char *); > extern void success(void); > + > +extern void test_evfilt_read(void); > +extern void test_evfilt_signal(void); > +extern void test_evfilt_vnode(void); > +extern void test_evfilt_timer(void); > +extern void test_evfilt_proc(void); > +#if HAVE_EVFILT_USER > +extern void test_evfilt_user(void); > +#endif > > #endif /* _COMMON_H */ > > Modified: head/tests/sys/kqueue/libkqueue/main.c > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/main.c Sat Apr 18 12:54:40 2020 (r360072) > +++ head/tests/sys/kqueue/libkqueue/main.c Sat Apr 18 12:54:47 2020 (r360073) > @@ -21,21 +21,12 @@ > #include "config.h" > #include "common.h" > > -int testnum = 1; > -char *cur_test_id = NULL; > int kqfd; > +static char *cur_test_id = NULL; > +static int testnum = 1; > > -extern void test_evfilt_read(); > -extern void test_evfilt_signal(); > -extern void test_evfilt_vnode(); > -extern void test_evfilt_timer(); > -extern void test_evfilt_proc(); > -#if HAVE_EVFILT_USER > -extern void test_evfilt_user(); > -#endif > - > /* Checks if any events are pending, which is an error. */ > -void > +void > test_no_kevents(void) > { > int nfds; > @@ -58,7 +49,7 @@ test_no_kevents(void) > /* Checks if any events are pending, which is an error. Do not print > * out anything unless events are found. > */ > -void > +void > test_no_kevents_quietly(void) > { > int nfds; > @@ -79,7 +70,7 @@ test_no_kevents_quietly(void) > > /* Retrieve a single kevent */ > struct kevent * > -kevent_get(int kqfd) > +kevent_get(int fd) > { > int nfds; > struct kevent *kev; > @@ -87,7 +78,7 @@ kevent_get(int kqfd) > if ((kev = calloc(1, sizeof(*kev))) == NULL) > err(1, "out of memory"); > > - nfds = kevent(kqfd, NULL, 0, kev, 1, NULL); > + nfds = kevent(fd, NULL, 0, kev, 1, NULL); > if (nfds < 1) > err(1, "kevent(2)"); > > @@ -96,7 +87,7 @@ kevent_get(int kqfd) > > /* Retrieve a single kevent, specifying a maximum time to wait for it. */ > struct kevent * > -kevent_get_timeout(int kqfd, int seconds) > +kevent_get_timeout(int fd, int seconds) > { > int nfds; > struct kevent *kev; > @@ -105,7 +96,7 @@ kevent_get_timeout(int kqfd, int seconds) > if ((kev = calloc(1, sizeof(*kev))) == NULL) > err(1, "out of memory"); > > - nfds = kevent(kqfd, NULL, 0, kev, 1, &timeout); > + nfds = kevent(fd, NULL, 0, kev, 1, &timeout); > if (nfds < 0) { > err(1, "kevent(2)"); > } else if (nfds == 0) { > @@ -116,7 +107,7 @@ kevent_get_timeout(int kqfd, int seconds) > return (kev); > } > > -char * > +static char * > kevent_fflags_dump(struct kevent *kev) > { > char *buf; > @@ -166,7 +157,7 @@ kevent_fflags_dump(struct kevent *kev) > return (buf); > } > > -char * > +static char * > kevent_flags_dump(struct kevent *kev) > { > char *buf; > @@ -227,7 +218,7 @@ kevent_to_str(struct kevent *kev) > } > > void > -kevent_add(int kqfd, struct kevent *kev, > +kevent_add(int fd, struct kevent *kev, > uintptr_t ident, > short filter, > u_short flags, > @@ -237,8 +228,8 @@ kevent_add(int kqfd, struct kevent *kev, > { > char *kev_str; > > - EV_SET(kev, ident, filter, flags, fflags, data, NULL); > - if (kevent(kqfd, kev, 1, NULL, 0, NULL) < 0) { > + EV_SET(kev, ident, filter, flags, fflags, data, udata); > + if (kevent(fd, kev, 1, NULL, 0, NULL) < 0) { > kev_str = kevent_to_str(kev); > printf("Unable to add the following kevent:\n%s\n", > kev_str); > @@ -295,7 +286,7 @@ success(void) > cur_test_id = NULL; > } > > -void > +static void > test_kqueue(void) > { > test_begin("kqueue()"); > @@ -305,7 +296,7 @@ test_kqueue(void) > success(); > } > > -void > +static void > test_kqueue_close(void) > { > test_begin("close(kq)"); > > Modified: head/tests/sys/kqueue/libkqueue/proc.c > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/proc.c Sat Apr 18 12:54:40 2020 (r360072) > +++ head/tests/sys/kqueue/libkqueue/proc.c Sat Apr 18 12:54:47 2020 (r360073) > @@ -27,7 +27,7 @@ static int sigusr1_caught = 0; > > > static void > -sig_handler(int signum) > +sig_handler(__unused int signum) > { > sigusr1_caught = 1; > } > @@ -203,10 +203,10 @@ proc_track(int sleep_time) > } > > if (kevp->fflags & NOTE_EXIT) { > - if ((kevp->ident == pid) && (!child_exit)) { > + if ((kevp->ident == (uintptr_t)pid) && (!child_exit)) { > ++child_exit; > ++handled; > - } else if ((kevp->ident == gchild_pid) && (!gchild_exit)) { > + } else if ((kevp->ident == (uintptr_t)gchild_pid) && (!gchild_exit)) { > ++gchild_exit; > ++handled; > } else { > @@ -215,7 +215,7 @@ proc_track(int sleep_time) > } > > if (kevp->fflags & NOTE_FORK) { > - if ((kevp->ident == pid) && (!child_fork)) { > + if ((kevp->ident == (uintptr_t)pid) && (!child_fork)) { > ++child_fork; > ++handled; > } else { > @@ -273,7 +273,7 @@ event_trigger(void) > success(); > } > > -void > +static void > test_kevent_signal_disable(void) > { > const char *test_id = "kevent(EVFILT_SIGNAL, EV_DISABLE)"; > @@ -397,7 +397,7 @@ test_kevent_signal_oneshot(void) > #endif > > void > -test_evfilt_proc() > +test_evfilt_proc(void) > { > kqfd = kqueue(); > > > Modified: head/tests/sys/kqueue/libkqueue/read.c > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/read.c Sat Apr 18 12:54:40 2020 (r360072) > +++ head/tests/sys/kqueue/libkqueue/read.c Sat Apr 18 12:54:47 2020 (r360073) > @@ -18,7 +18,7 @@ > > #include "common.h" > > -int sockfd[2]; > +static int sockfd[2]; > > static void > kevent_socket_drain(void) > @@ -40,7 +40,7 @@ kevent_socket_fill(void) > } > > > -void > +static void > test_kevent_socket_add(void) > { > const char *test_id = "kevent(EVFILT_READ, EV_ADD)"; > @@ -54,7 +54,7 @@ test_kevent_socket_add(void) > success(); > } > > -void > +static void > test_kevent_socket_get(void) > { > const char *test_id = "kevent(EVFILT_READ) wait"; > @@ -81,7 +81,7 @@ test_kevent_socket_get(void) > success(); > } > > -void > +static void > test_kevent_socket_clear(void) > { > const char *test_id = "kevent(EVFILT_READ, EV_CLEAR)"; > @@ -115,7 +115,7 @@ test_kevent_socket_clear(void) > success(); > } > > -void > +static void > test_kevent_socket_disable_and_enable(void) > { > const char *test_id = "kevent(EVFILT_READ, EV_DISABLE)"; > @@ -153,7 +153,7 @@ test_kevent_socket_disable_and_enable(void) > success(); > } > > -void > +static void > test_kevent_socket_del(void) > { > const char *test_id = "kevent(EVFILT_READ, EV_DELETE)"; > @@ -172,7 +172,7 @@ test_kevent_socket_del(void) > success(); > } > > -void > +static void > test_kevent_socket_oneshot(void) > { > const char *test_id = "kevent(EVFILT_READ, EV_ONESHOT)"; > @@ -207,7 +207,7 @@ test_kevent_socket_oneshot(void) > > > #if HAVE_EV_DISPATCH > -void > +static void > test_kevent_socket_dispatch(void) > { > const char *test_id = "kevent(EVFILT_READ, EV_DISPATCH)"; > @@ -242,7 +242,7 @@ test_kevent_socket_dispatch(void) > #endif /* HAVE_EV_DISPATCH */ > > #if BROKEN > -void > +static void > test_kevent_socket_lowat(void) > { > const char *test_id = "kevent(EVFILT_READ, NOTE_LOWAT)"; > @@ -275,7 +275,7 @@ test_kevent_socket_lowat(void) > } > #endif > > -void > +static void > test_kevent_socket_eof(void) > { > const char *test_id = "kevent(EVFILT_READ, EV_EOF)"; > @@ -304,7 +304,7 @@ test_kevent_socket_eof(void) > } > > void > -test_evfilt_read() > +test_evfilt_read(void) > { > /* Create a connected pair of full-duplex sockets for testing socket events */ > if (socketpair(AF_UNIX, SOCK_STREAM, 0, sockfd) < 0) > > Modified: head/tests/sys/kqueue/libkqueue/signal.c > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/signal.c Sat Apr 18 12:54:40 2020 (r360072) > +++ head/tests/sys/kqueue/libkqueue/signal.c Sat Apr 18 12:54:47 2020 (r360073) > @@ -19,7 +19,7 @@ > #include "common.h" > > > -void > +static void > test_kevent_signal_add(void) > { > const char *test_id = "kevent(EVFILT_SIGNAL, EV_ADD)"; > @@ -34,7 +34,7 @@ test_kevent_signal_add(void) > success(); > } > > -void > +static void > test_kevent_signal_get(void) > { > const char *test_id = "kevent(EVFILT_SIGNAL, wait)"; > @@ -62,7 +62,7 @@ test_kevent_signal_get(void) > success(); > } > > -void > +static void > test_kevent_signal_disable(void) > { > const char *test_id = "kevent(EVFILT_SIGNAL, EV_DISABLE)"; > @@ -88,7 +88,7 @@ test_kevent_signal_disable(void) > success(); > } > > -void > +static void > test_kevent_signal_enable(void) > { > const char *test_id = "kevent(EVFILT_SIGNAL, EV_ENABLE)"; > @@ -125,7 +125,7 @@ test_kevent_signal_enable(void) > success(); > } > > -void > +static void > test_kevent_signal_del(void) > { > const char *test_id = "kevent(EVFILT_SIGNAL, EV_DELETE)"; > @@ -151,7 +151,7 @@ test_kevent_signal_del(void) > success(); > } > > -void > +static void > test_kevent_signal_oneshot(void) > { > const char *test_id = "kevent(EVFILT_SIGNAL, EV_ONESHOT)"; > @@ -185,7 +185,7 @@ test_kevent_signal_oneshot(void) > } > > void > -test_evfilt_signal() > +test_evfilt_signal(void) > { > kqfd = kqueue(); > test_kevent_signal_add(); > > Modified: head/tests/sys/kqueue/libkqueue/timer.c > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/timer.c Sat Apr 18 12:54:40 2020 (r360072) > +++ head/tests/sys/kqueue/libkqueue/timer.c Sat Apr 18 12:54:47 2020 (r360073) > @@ -42,7 +42,7 @@ now(void) > /* Sleep for a given number of milliseconds. The timeout is assumed to > * be less than 1 second. > */ > -void > +static void > mssleep(int t) > { > struct timespec stime = { > @@ -56,7 +56,7 @@ mssleep(int t) > /* Sleep for a given number of microseconds. The timeout is assumed to > * be less than 1 second. > */ > -void > +static void > ussleep(int t) > { > struct timespec stime = { > @@ -67,7 +67,7 @@ ussleep(int t) > nanosleep(&stime, NULL); > } > > -void > +static void > test_kevent_timer_add(void) > { > const char *test_id = "kevent(EVFILT_TIMER, EV_ADD)"; > @@ -82,7 +82,7 @@ test_kevent_timer_add(void) > success(); > } > > -void > +static void > test_kevent_timer_del(void) > { > const char *test_id = "kevent(EVFILT_TIMER, EV_DELETE)"; > @@ -99,7 +99,7 @@ test_kevent_timer_del(void) > success(); > } > > -void > +static void > test_kevent_timer_get(void) > { > const char *test_id = "kevent(EVFILT_TIMER, wait)"; > @@ -509,7 +509,7 @@ test_update_timing(void) > } > > void > -test_evfilt_timer() > +test_evfilt_timer(void) > { > kqfd = kqueue(); > test_kevent_timer_add(); > > Modified: head/tests/sys/kqueue/libkqueue/user.c > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/user.c Sat Apr 18 12:54:40 2020 (r360072) > +++ head/tests/sys/kqueue/libkqueue/user.c Sat Apr 18 12:54:47 2020 (r360073) > @@ -114,7 +114,7 @@ oneshot(void) > } > > void > -test_evfilt_user() > +test_evfilt_user(void) > { > kqfd = kqueue(); > > > Modified: head/tests/sys/kqueue/libkqueue/vnode.c > ============================================================================== > --- head/tests/sys/kqueue/libkqueue/vnode.c Sat Apr 18 12:54:40 2020 (r360072) > +++ head/tests/sys/kqueue/libkqueue/vnode.c Sat Apr 18 12:54:47 2020 (r360073) > @@ -20,7 +20,7 @@ > > int vnode_fd; > > -void > +static void > test_kevent_vnode_add(void) > { > const char *test_id = "kevent(EVFILT_VNODE, EV_ADD)"; > @@ -44,7 +44,7 @@ test_kevent_vnode_add(void) > success(); > } > > -void > +static void > test_kevent_vnode_note_delete(void) > { > const char *test_id = "kevent(EVFILT_VNODE, NOTE_DELETE)"; > @@ -64,7 +64,7 @@ test_kevent_vnode_note_delete(void) > success(); > } > > -void > +static void > test_kevent_vnode_note_write(void) > { > const char *test_id = "kevent(EVFILT_VNODE, NOTE_WRITE)"; > @@ -88,7 +88,7 @@ test_kevent_vnode_note_write(void) > success(); > } > > -void > +static void > test_kevent_vnode_note_attrib(void) > { > const char *test_id = "kevent(EVFILT_VNODE, NOTE_ATTRIB)"; > @@ -107,7 +107,7 @@ test_kevent_vnode_note_attrib(void) > nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); > if (nfds < 1) > err(1, "%s", test_id); > - if (kev.ident != vnode_fd || > + if (kev.ident != (uintptr_t)vnode_fd || > kev.filter != EVFILT_VNODE || > kev.fflags != NOTE_ATTRIB) > err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", > @@ -116,7 +116,7 @@ test_kevent_vnode_note_attrib(void) > success(); > } > > -void > +static void > test_kevent_vnode_note_rename(void) > { > const char *test_id = "kevent(EVFILT_VNODE, NOTE_RENAME)"; > @@ -135,7 +135,7 @@ test_kevent_vnode_note_rename(void) > nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); > if (nfds < 1) > err(1, "%s", test_id); > - if (kev.ident != vnode_fd || > + if (kev.ident != (uintptr_t)vnode_fd || > kev.filter != EVFILT_VNODE || > kev.fflags != NOTE_RENAME) > err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", > @@ -147,7 +147,7 @@ test_kevent_vnode_note_rename(void) > success(); > } > > -void > +static void > test_kevent_vnode_del(void) > { > const char *test_id = "kevent(EVFILT_VNODE, EV_DELETE)"; > @@ -162,7 +162,7 @@ test_kevent_vnode_del(void) > success(); > } > > -void > +static void > test_kevent_vnode_disable_and_enable(void) > { > const char *test_id = "kevent(EVFILT_VNODE, EV_DISABLE and EV_ENABLE)"; > @@ -195,7 +195,7 @@ test_kevent_vnode_disable_and_enable(void) > nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); > if (nfds < 1) > err(1, "%s", test_id); > - if (kev.ident != vnode_fd || > + if (kev.ident != (uintptr_t)vnode_fd || > kev.filter != EVFILT_VNODE || > kev.fflags != NOTE_ATTRIB) > err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", > @@ -205,7 +205,7 @@ test_kevent_vnode_disable_and_enable(void) > } > > #if HAVE_EV_DISPATCH > -void > +static void > test_kevent_vnode_dispatch(void) > { > const char *test_id = "kevent(EVFILT_VNODE, EV_DISPATCH)"; > @@ -226,7 +226,7 @@ test_kevent_vnode_dispatch(void) > nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); > if (nfds < 1) > err(1, "%s", test_id); > - if (kev.ident != vnode_fd || > + if (kev.ident != (uintptr_t)vnode_fd || > kev.filter != EVFILT_VNODE || > kev.fflags != NOTE_ATTRIB) > err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", > @@ -248,7 +248,7 @@ test_kevent_vnode_dispatch(void) > #endif /* HAVE_EV_DISPATCH */ > > void > -test_evfilt_vnode() > +test_evfilt_vnode(void) > { > kqfd = kqueue(); > test_kevent_vnode_add(); From owner-svn-src-head@freebsd.org Sat Apr 18 19:47:39 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 44AD22AB820; Sat, 18 Apr 2020 19:47:39 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494Nlv1592z3JR4; Sat, 18 Apr 2020 19:47:39 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 20A5719AA3; Sat, 18 Apr 2020 19:47:39 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03IJldai085155; Sat, 18 Apr 2020 19:47:39 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03IJldpw085154; Sat, 18 Apr 2020 19:47:39 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202004181947.03IJldpw085154@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 18 Apr 2020 19:47:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360077 - head/cddl/usr.sbin/zfsd X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: head/cddl/usr.sbin/zfsd X-SVN-Commit-Revision: 360077 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 19:47:39 -0000 Author: asomers Date: Sat Apr 18 19:47:38 2020 New Revision: 360077 URL: https://svnweb.freebsd.org/changeset/base/360077 Log: zfsd.8: fix orphan .Xr Though ZFS is a kernel module, it has no man page in section 4. Reported by: phk MFC after: 2 weeks Modified: head/cddl/usr.sbin/zfsd/zfsd.8 Modified: head/cddl/usr.sbin/zfsd/zfsd.8 ============================================================================== --- head/cddl/usr.sbin/zfsd/zfsd.8 Sat Apr 18 18:25:30 2020 (r360076) +++ head/cddl/usr.sbin/zfsd/zfsd.8 Sat Apr 18 19:47:38 2020 (r360077) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 26, 2016 +.Dd April 18, 2020 .Dt ZFSD 8 .Os .Sh NAME @@ -96,8 +96,7 @@ If a leaf vdev generates more than 50 I/O errors in a .Nm will mark that vdev as .Em FAULTED . -.Xr zfs 4 -will no longer issue any I/Os to it. +ZFS will no longer issue any I/Os to it. .Nm will activate a hotspare if one is available. .It Checksum errors @@ -106,8 +105,7 @@ period, then .Nm will mark that vdev as .Em DEGRADED . -.Xr zfs 4 -will still use it, but zfsd will activate a spare anyway. +ZFS will still use it, but zfsd will activate a spare anyway. .It Spare addition If the system administrator adds a hotspare to a pool that is already degraded, .Nm @@ -138,7 +136,6 @@ then reads them back in when next it starts up. .El .Sh SEE ALSO .Xr devctl 4 , -.Xr zfs 4 , .Xr zpool 8 .Sh HISTORY .Nm From owner-svn-src-head@freebsd.org Sat Apr 18 19:53:48 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 3EF6F2ABB93; Sat, 18 Apr 2020 19:53:48 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494Nv00zYDz3K6x; Sat, 18 Apr 2020 19:53:48 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 1CED319CAC; Sat, 18 Apr 2020 19:53:48 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03IJrlMA090969; Sat, 18 Apr 2020 19:53:47 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03IJrlA0090967; Sat, 18 Apr 2020 19:53:47 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202004181953.03IJrlA0090967@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 18 Apr 2020 19:53:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360078 - in head: sbin/bectl share/man/man8 X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in head: sbin/bectl share/man/man8 X-SVN-Commit-Revision: 360078 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 19:53:48 -0000 Author: asomers Date: Sat Apr 18 19:53:47 2020 New Revision: 360078 URL: https://svnweb.freebsd.org/changeset/base/360078 Log: bectl.8, beinstall.sh.8: fix man page section of beinstall.sh Reported by: phk MFC after: 2 weeks Modified: head/sbin/bectl/bectl.8 head/share/man/man8/beinstall.8 Modified: head/sbin/bectl/bectl.8 ============================================================================== --- head/sbin/bectl/bectl.8 Sat Apr 18 19:47:38 2020 (r360077) +++ head/sbin/bectl/bectl.8 Sat Apr 18 19:53:47 2020 (r360078) @@ -17,7 +17,7 @@ .\" .\" $FreeBSD$ .\" -.Dd September 11, 2019 +.Dd April 18, 2020 .Dt BECTL 8 .Os .Sh NAME @@ -343,7 +343,7 @@ is specified. To fill in with jail upgrade example when behavior is firm. .El .Sh SEE ALSO -.Xr beinstall.sh 1 , +.Xr beinstall.sh 8 , .Xr libbe 3 , .Xr jail 8 , .Xr zfs 8 , Modified: head/share/man/man8/beinstall.8 ============================================================================== --- head/share/man/man8/beinstall.8 Sat Apr 18 19:47:38 2020 (r360077) +++ head/share/man/man8/beinstall.8 Sat Apr 18 19:53:47 2020 (r360078) @@ -25,8 +25,8 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd August 20, 2018 -.Dt BEINSTALL.SH 1 +.Dd April 18, 2020 +.Dt BEINSTALL.SH 8 .Os .Sh NAME .Nm beinstall.sh From owner-svn-src-head@freebsd.org Sat Apr 18 20:13:44 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 513E62AC2AE; Sat, 18 Apr 2020 20:13:44 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494PL01NQXz3LTf; Sat, 18 Apr 2020 20:13:44 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2AC3B1A063; Sat, 18 Apr 2020 20:13:44 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03IKDihc003996; Sat, 18 Apr 2020 20:13:44 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03IKDiMb003995; Sat, 18 Apr 2020 20:13:44 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202004182013.03IKDiMb003995@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 18 Apr 2020 20:13:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360079 - head/lib/libcasper/services/cap_dns X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: head/lib/libcasper/services/cap_dns X-SVN-Commit-Revision: 360079 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 20:13:44 -0000 Author: asomers Date: Sat Apr 18 20:13:43 2020 New Revision: 360079 URL: https://svnweb.freebsd.org/changeset/base/360079 Log: cap_dns.3: fix some orphan .Xr links Reported by: phk MFC after: 2 weeks Modified: head/lib/libcasper/services/cap_dns/cap_dns.3 Modified: head/lib/libcasper/services/cap_dns/cap_dns.3 ============================================================================== --- head/lib/libcasper/services/cap_dns/cap_dns.3 Sat Apr 18 19:53:47 2020 (r360078) +++ head/lib/libcasper/services/cap_dns/cap_dns.3 Sat Apr 18 20:13:43 2020 (r360079) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 18, 2018 +.Dd April 18, 2020 .Dt CAP_DNS 3 .Os .Sh NAME @@ -77,11 +77,11 @@ The functions and .Fn cap_getnameinfo are respectively equivalent to -.Xr gethostbyname 2 , -.Xr gethostbyname2 2 , -.Xr gethostbyaddr 2 +.Xr gethostbyname 3 , +.Xr gethostbyname2 3 , +.Xr gethostbyaddr 3 and -.Xr getnameinfo 2 +.Xr getnameinfo 3 except that the connection to the .Nm system.dns service needs to be provided. From owner-svn-src-head@freebsd.org Sat Apr 18 20:43:29 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 32D812AD455; Sat, 18 Apr 2020 20:43:29 +0000 (UTC) (envelope-from arichardson.kde@gmail.com) Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494Q0K0G4Pz3PGh; Sat, 18 Apr 2020 20:43:28 +0000 (UTC) (envelope-from arichardson.kde@gmail.com) Received: by mail-qt1-f177.google.com with SMTP id c16so5272240qtv.1; Sat, 18 Apr 2020 13:43:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0TqaG4eMdMEW9jWUbLK595bYqvWFCiqAgGqAuPhjYPQ=; b=G85630PRdg4mG9zn8XjSUhWtkQF4zNDtVLislEnBlfmcWDE8oCR4ljrTraxXLr/fK4 6RRVCHU+V68Qt/EY1s7N0yrqhixkIo6ADxYDvbWDcu0xjpUpc2YK//OC4wrvk2ASZtqj LlSKLAgfxkIfTcuw0Dq9F16TBCFACPmGJp3b4giL2U3TQMo7JrD5QUBbJoR3JuIfR7lG j1xI04lHYgyzNXPGH/JlqYCqK37ERrNXoRf+MaFahb+0SGgAP46Ww/YuYjGoO+/h9c8s yUm/D/BJmZNbOQkBP6nFkJGjANf7I78b0dDyy9X3TX6EWzMxx+NJApgo2QHfNp7BtCg0 oh6w== X-Gm-Message-State: AGi0PuYT/R8ZPGPjH4ZX/IABhdTxT23qBE4Jdx25UlgCoaGtXZPj+qoo vIFczhLzcGthXvW1Bw5dspQjXnioPj0= X-Google-Smtp-Source: APiQypLvyaHIzLzQfkU7vwh4vGclfPyk2TYW8py8t6mCPKzY6/amgkNnGgGGLEkkW/YmRIHCPcM8cw== X-Received: by 2002:aed:2442:: with SMTP id s2mr9119535qtc.153.1587242607723; Sat, 18 Apr 2020 13:43:27 -0700 (PDT) Received: from mail-yb1-f169.google.com (mail-yb1-f169.google.com. [209.85.219.169]) by smtp.gmail.com with ESMTPSA id v76sm20123203qka.32.2020.04.18.13.43.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Apr 2020 13:43:27 -0700 (PDT) Received: by mail-yb1-f169.google.com with SMTP id a9so3066588ybc.8; Sat, 18 Apr 2020 13:43:27 -0700 (PDT) X-Received: by 2002:a25:690b:: with SMTP id e11mr8081003ybc.152.1587242606509; Sat, 18 Apr 2020 13:43:26 -0700 (PDT) MIME-Version: 1.0 References: <202004181254.03ICslhN028317@repo.freebsd.org> In-Reply-To: From: Alexander Richardson Date: Sat, 18 Apr 2020 21:43:15 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: svn commit: r360073 - head/tests/sys/kqueue/libkqueue To: cem@freebsd.org Cc: src-committers , svn-src-all , svn-src-head Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 494Q0K0G4Pz3PGh X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 20:43:29 -0000 On Sat, 18 Apr 2020 at 20:13, Conrad Meyer wrote: > > Hi Alex, > > We usually do not use "extern" for function declarations in headers. > > Best, > Conrad Hi Conrad, I decided to follow the style that was used in the header already, but I agree those externs should probably be dropped. I can commit a follow-up change to remove them on Monday. Alex > > On Sat, Apr 18, 2020 at 5:55 AM Alex Richardson wrote: > > > > Author: arichardson > > Date: Sat Apr 18 12:54:47 2020 > > New Revision: 360073 > > URL: https://svnweb.freebsd.org/changeset/base/360073 > > > > Log: > > Fix various warnings in tests/sys/kqueue and bump WARNS > > > > Reviewed By: kevans > > Differential Revision: https://reviews.freebsd.org/D24296 > > > > Modified: > > head/tests/sys/kqueue/libkqueue/Makefile > > head/tests/sys/kqueue/libkqueue/common.h > > head/tests/sys/kqueue/libkqueue/main.c > > head/tests/sys/kqueue/libkqueue/proc.c > > head/tests/sys/kqueue/libkqueue/read.c > > head/tests/sys/kqueue/libkqueue/signal.c > > head/tests/sys/kqueue/libkqueue/timer.c > > head/tests/sys/kqueue/libkqueue/user.c > > head/tests/sys/kqueue/libkqueue/vnode.c > > > > Modified: head/tests/sys/kqueue/libkqueue/Makefile > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/Makefile Sat Apr 18 12:54:40 2020 (r360072) > > +++ head/tests/sys/kqueue/libkqueue/Makefile Sat Apr 18 12:54:47 2020 (r360073) > > @@ -16,6 +16,5 @@ SRCS.kqtest= \ > > proc.c \ > > signal.c \ > > user.c > > -WARNS?= 2 > > > > .include > > > > Modified: head/tests/sys/kqueue/libkqueue/common.h > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/common.h Sat Apr 18 12:54:40 2020 (r360072) > > +++ head/tests/sys/kqueue/libkqueue/common.h Sat Apr 18 12:54:47 2020 (r360073) > > @@ -40,7 +40,6 @@ > > > > #include > > > > -extern char *cur_test_id; > > extern int vnode_fd; > > extern int kqfd; > > > > @@ -76,5 +75,14 @@ extern void test_no_kevents_quietly(void); > > > > extern void test_begin(const char *); > > extern void success(void); > > + > > +extern void test_evfilt_read(void); > > +extern void test_evfilt_signal(void); > > +extern void test_evfilt_vnode(void); > > +extern void test_evfilt_timer(void); > > +extern void test_evfilt_proc(void); > > +#if HAVE_EVFILT_USER > > +extern void test_evfilt_user(void); > > +#endif > > > > #endif /* _COMMON_H */ > > > > Modified: head/tests/sys/kqueue/libkqueue/main.c > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/main.c Sat Apr 18 12:54:40 2020 (r360072) > > +++ head/tests/sys/kqueue/libkqueue/main.c Sat Apr 18 12:54:47 2020 (r360073) > > @@ -21,21 +21,12 @@ > > #include "config.h" > > #include "common.h" > > > > -int testnum = 1; > > -char *cur_test_id = NULL; > > int kqfd; > > +static char *cur_test_id = NULL; > > +static int testnum = 1; > > > > -extern void test_evfilt_read(); > > -extern void test_evfilt_signal(); > > -extern void test_evfilt_vnode(); > > -extern void test_evfilt_timer(); > > -extern void test_evfilt_proc(); > > -#if HAVE_EVFILT_USER > > -extern void test_evfilt_user(); > > -#endif > > - > > /* Checks if any events are pending, which is an error. */ > > -void > > +void > > test_no_kevents(void) > > { > > int nfds; > > @@ -58,7 +49,7 @@ test_no_kevents(void) > > /* Checks if any events are pending, which is an error. Do not print > > * out anything unless events are found. > > */ > > -void > > +void > > test_no_kevents_quietly(void) > > { > > int nfds; > > @@ -79,7 +70,7 @@ test_no_kevents_quietly(void) > > > > /* Retrieve a single kevent */ > > struct kevent * > > -kevent_get(int kqfd) > > +kevent_get(int fd) > > { > > int nfds; > > struct kevent *kev; > > @@ -87,7 +78,7 @@ kevent_get(int kqfd) > > if ((kev = calloc(1, sizeof(*kev))) == NULL) > > err(1, "out of memory"); > > > > - nfds = kevent(kqfd, NULL, 0, kev, 1, NULL); > > + nfds = kevent(fd, NULL, 0, kev, 1, NULL); > > if (nfds < 1) > > err(1, "kevent(2)"); > > > > @@ -96,7 +87,7 @@ kevent_get(int kqfd) > > > > /* Retrieve a single kevent, specifying a maximum time to wait for it. */ > > struct kevent * > > -kevent_get_timeout(int kqfd, int seconds) > > +kevent_get_timeout(int fd, int seconds) > > { > > int nfds; > > struct kevent *kev; > > @@ -105,7 +96,7 @@ kevent_get_timeout(int kqfd, int seconds) > > if ((kev = calloc(1, sizeof(*kev))) == NULL) > > err(1, "out of memory"); > > > > - nfds = kevent(kqfd, NULL, 0, kev, 1, &timeout); > > + nfds = kevent(fd, NULL, 0, kev, 1, &timeout); > > if (nfds < 0) { > > err(1, "kevent(2)"); > > } else if (nfds == 0) { > > @@ -116,7 +107,7 @@ kevent_get_timeout(int kqfd, int seconds) > > return (kev); > > } > > > > -char * > > +static char * > > kevent_fflags_dump(struct kevent *kev) > > { > > char *buf; > > @@ -166,7 +157,7 @@ kevent_fflags_dump(struct kevent *kev) > > return (buf); > > } > > > > -char * > > +static char * > > kevent_flags_dump(struct kevent *kev) > > { > > char *buf; > > @@ -227,7 +218,7 @@ kevent_to_str(struct kevent *kev) > > } > > > > void > > -kevent_add(int kqfd, struct kevent *kev, > > +kevent_add(int fd, struct kevent *kev, > > uintptr_t ident, > > short filter, > > u_short flags, > > @@ -237,8 +228,8 @@ kevent_add(int kqfd, struct kevent *kev, > > { > > char *kev_str; > > > > - EV_SET(kev, ident, filter, flags, fflags, data, NULL); > > - if (kevent(kqfd, kev, 1, NULL, 0, NULL) < 0) { > > + EV_SET(kev, ident, filter, flags, fflags, data, udata); > > + if (kevent(fd, kev, 1, NULL, 0, NULL) < 0) { > > kev_str = kevent_to_str(kev); > > printf("Unable to add the following kevent:\n%s\n", > > kev_str); > > @@ -295,7 +286,7 @@ success(void) > > cur_test_id = NULL; > > } > > > > -void > > +static void > > test_kqueue(void) > > { > > test_begin("kqueue()"); > > @@ -305,7 +296,7 @@ test_kqueue(void) > > success(); > > } > > > > -void > > +static void > > test_kqueue_close(void) > > { > > test_begin("close(kq)"); > > > > Modified: head/tests/sys/kqueue/libkqueue/proc.c > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/proc.c Sat Apr 18 12:54:40 2020 (r360072) > > +++ head/tests/sys/kqueue/libkqueue/proc.c Sat Apr 18 12:54:47 2020 (r360073) > > @@ -27,7 +27,7 @@ static int sigusr1_caught = 0; > > > > > > static void > > -sig_handler(int signum) > > +sig_handler(__unused int signum) > > { > > sigusr1_caught = 1; > > } > > @@ -203,10 +203,10 @@ proc_track(int sleep_time) > > } > > > > if (kevp->fflags & NOTE_EXIT) { > > - if ((kevp->ident == pid) && (!child_exit)) { > > + if ((kevp->ident == (uintptr_t)pid) && (!child_exit)) { > > ++child_exit; > > ++handled; > > - } else if ((kevp->ident == gchild_pid) && (!gchild_exit)) { > > + } else if ((kevp->ident == (uintptr_t)gchild_pid) && (!gchild_exit)) { > > ++gchild_exit; > > ++handled; > > } else { > > @@ -215,7 +215,7 @@ proc_track(int sleep_time) > > } > > > > if (kevp->fflags & NOTE_FORK) { > > - if ((kevp->ident == pid) && (!child_fork)) { > > + if ((kevp->ident == (uintptr_t)pid) && (!child_fork)) { > > ++child_fork; > > ++handled; > > } else { > > @@ -273,7 +273,7 @@ event_trigger(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_signal_disable(void) > > { > > const char *test_id = "kevent(EVFILT_SIGNAL, EV_DISABLE)"; > > @@ -397,7 +397,7 @@ test_kevent_signal_oneshot(void) > > #endif > > > > void > > -test_evfilt_proc() > > +test_evfilt_proc(void) > > { > > kqfd = kqueue(); > > > > > > Modified: head/tests/sys/kqueue/libkqueue/read.c > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/read.c Sat Apr 18 12:54:40 2020 (r360072) > > +++ head/tests/sys/kqueue/libkqueue/read.c Sat Apr 18 12:54:47 2020 (r360073) > > @@ -18,7 +18,7 @@ > > > > #include "common.h" > > > > -int sockfd[2]; > > +static int sockfd[2]; > > > > static void > > kevent_socket_drain(void) > > @@ -40,7 +40,7 @@ kevent_socket_fill(void) > > } > > > > > > -void > > +static void > > test_kevent_socket_add(void) > > { > > const char *test_id = "kevent(EVFILT_READ, EV_ADD)"; > > @@ -54,7 +54,7 @@ test_kevent_socket_add(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_socket_get(void) > > { > > const char *test_id = "kevent(EVFILT_READ) wait"; > > @@ -81,7 +81,7 @@ test_kevent_socket_get(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_socket_clear(void) > > { > > const char *test_id = "kevent(EVFILT_READ, EV_CLEAR)"; > > @@ -115,7 +115,7 @@ test_kevent_socket_clear(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_socket_disable_and_enable(void) > > { > > const char *test_id = "kevent(EVFILT_READ, EV_DISABLE)"; > > @@ -153,7 +153,7 @@ test_kevent_socket_disable_and_enable(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_socket_del(void) > > { > > const char *test_id = "kevent(EVFILT_READ, EV_DELETE)"; > > @@ -172,7 +172,7 @@ test_kevent_socket_del(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_socket_oneshot(void) > > { > > const char *test_id = "kevent(EVFILT_READ, EV_ONESHOT)"; > > @@ -207,7 +207,7 @@ test_kevent_socket_oneshot(void) > > > > > > #if HAVE_EV_DISPATCH > > -void > > +static void > > test_kevent_socket_dispatch(void) > > { > > const char *test_id = "kevent(EVFILT_READ, EV_DISPATCH)"; > > @@ -242,7 +242,7 @@ test_kevent_socket_dispatch(void) > > #endif /* HAVE_EV_DISPATCH */ > > > > #if BROKEN > > -void > > +static void > > test_kevent_socket_lowat(void) > > { > > const char *test_id = "kevent(EVFILT_READ, NOTE_LOWAT)"; > > @@ -275,7 +275,7 @@ test_kevent_socket_lowat(void) > > } > > #endif > > > > -void > > +static void > > test_kevent_socket_eof(void) > > { > > const char *test_id = "kevent(EVFILT_READ, EV_EOF)"; > > @@ -304,7 +304,7 @@ test_kevent_socket_eof(void) > > } > > > > void > > -test_evfilt_read() > > +test_evfilt_read(void) > > { > > /* Create a connected pair of full-duplex sockets for testing socket events */ > > if (socketpair(AF_UNIX, SOCK_STREAM, 0, sockfd) < 0) > > > > Modified: head/tests/sys/kqueue/libkqueue/signal.c > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/signal.c Sat Apr 18 12:54:40 2020 (r360072) > > +++ head/tests/sys/kqueue/libkqueue/signal.c Sat Apr 18 12:54:47 2020 (r360073) > > @@ -19,7 +19,7 @@ > > #include "common.h" > > > > > > -void > > +static void > > test_kevent_signal_add(void) > > { > > const char *test_id = "kevent(EVFILT_SIGNAL, EV_ADD)"; > > @@ -34,7 +34,7 @@ test_kevent_signal_add(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_signal_get(void) > > { > > const char *test_id = "kevent(EVFILT_SIGNAL, wait)"; > > @@ -62,7 +62,7 @@ test_kevent_signal_get(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_signal_disable(void) > > { > > const char *test_id = "kevent(EVFILT_SIGNAL, EV_DISABLE)"; > > @@ -88,7 +88,7 @@ test_kevent_signal_disable(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_signal_enable(void) > > { > > const char *test_id = "kevent(EVFILT_SIGNAL, EV_ENABLE)"; > > @@ -125,7 +125,7 @@ test_kevent_signal_enable(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_signal_del(void) > > { > > const char *test_id = "kevent(EVFILT_SIGNAL, EV_DELETE)"; > > @@ -151,7 +151,7 @@ test_kevent_signal_del(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_signal_oneshot(void) > > { > > const char *test_id = "kevent(EVFILT_SIGNAL, EV_ONESHOT)"; > > @@ -185,7 +185,7 @@ test_kevent_signal_oneshot(void) > > } > > > > void > > -test_evfilt_signal() > > +test_evfilt_signal(void) > > { > > kqfd = kqueue(); > > test_kevent_signal_add(); > > > > Modified: head/tests/sys/kqueue/libkqueue/timer.c > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/timer.c Sat Apr 18 12:54:40 2020 (r360072) > > +++ head/tests/sys/kqueue/libkqueue/timer.c Sat Apr 18 12:54:47 2020 (r360073) > > @@ -42,7 +42,7 @@ now(void) > > /* Sleep for a given number of milliseconds. The timeout is assumed to > > * be less than 1 second. > > */ > > -void > > +static void > > mssleep(int t) > > { > > struct timespec stime = { > > @@ -56,7 +56,7 @@ mssleep(int t) > > /* Sleep for a given number of microseconds. The timeout is assumed to > > * be less than 1 second. > > */ > > -void > > +static void > > ussleep(int t) > > { > > struct timespec stime = { > > @@ -67,7 +67,7 @@ ussleep(int t) > > nanosleep(&stime, NULL); > > } > > > > -void > > +static void > > test_kevent_timer_add(void) > > { > > const char *test_id = "kevent(EVFILT_TIMER, EV_ADD)"; > > @@ -82,7 +82,7 @@ test_kevent_timer_add(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_timer_del(void) > > { > > const char *test_id = "kevent(EVFILT_TIMER, EV_DELETE)"; > > @@ -99,7 +99,7 @@ test_kevent_timer_del(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_timer_get(void) > > { > > const char *test_id = "kevent(EVFILT_TIMER, wait)"; > > @@ -509,7 +509,7 @@ test_update_timing(void) > > } > > > > void > > -test_evfilt_timer() > > +test_evfilt_timer(void) > > { > > kqfd = kqueue(); > > test_kevent_timer_add(); > > > > Modified: head/tests/sys/kqueue/libkqueue/user.c > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/user.c Sat Apr 18 12:54:40 2020 (r360072) > > +++ head/tests/sys/kqueue/libkqueue/user.c Sat Apr 18 12:54:47 2020 (r360073) > > @@ -114,7 +114,7 @@ oneshot(void) > > } > > > > void > > -test_evfilt_user() > > +test_evfilt_user(void) > > { > > kqfd = kqueue(); > > > > > > Modified: head/tests/sys/kqueue/libkqueue/vnode.c > > ============================================================================== > > --- head/tests/sys/kqueue/libkqueue/vnode.c Sat Apr 18 12:54:40 2020 (r360072) > > +++ head/tests/sys/kqueue/libkqueue/vnode.c Sat Apr 18 12:54:47 2020 (r360073) > > @@ -20,7 +20,7 @@ > > > > int vnode_fd; > > > > -void > > +static void > > test_kevent_vnode_add(void) > > { > > const char *test_id = "kevent(EVFILT_VNODE, EV_ADD)"; > > @@ -44,7 +44,7 @@ test_kevent_vnode_add(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_vnode_note_delete(void) > > { > > const char *test_id = "kevent(EVFILT_VNODE, NOTE_DELETE)"; > > @@ -64,7 +64,7 @@ test_kevent_vnode_note_delete(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_vnode_note_write(void) > > { > > const char *test_id = "kevent(EVFILT_VNODE, NOTE_WRITE)"; > > @@ -88,7 +88,7 @@ test_kevent_vnode_note_write(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_vnode_note_attrib(void) > > { > > const char *test_id = "kevent(EVFILT_VNODE, NOTE_ATTRIB)"; > > @@ -107,7 +107,7 @@ test_kevent_vnode_note_attrib(void) > > nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); > > if (nfds < 1) > > err(1, "%s", test_id); > > - if (kev.ident != vnode_fd || > > + if (kev.ident != (uintptr_t)vnode_fd || > > kev.filter != EVFILT_VNODE || > > kev.fflags != NOTE_ATTRIB) > > err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", > > @@ -116,7 +116,7 @@ test_kevent_vnode_note_attrib(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_vnode_note_rename(void) > > { > > const char *test_id = "kevent(EVFILT_VNODE, NOTE_RENAME)"; > > @@ -135,7 +135,7 @@ test_kevent_vnode_note_rename(void) > > nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); > > if (nfds < 1) > > err(1, "%s", test_id); > > - if (kev.ident != vnode_fd || > > + if (kev.ident != (uintptr_t)vnode_fd || > > kev.filter != EVFILT_VNODE || > > kev.fflags != NOTE_RENAME) > > err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", > > @@ -147,7 +147,7 @@ test_kevent_vnode_note_rename(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_vnode_del(void) > > { > > const char *test_id = "kevent(EVFILT_VNODE, EV_DELETE)"; > > @@ -162,7 +162,7 @@ test_kevent_vnode_del(void) > > success(); > > } > > > > -void > > +static void > > test_kevent_vnode_disable_and_enable(void) > > { > > const char *test_id = "kevent(EVFILT_VNODE, EV_DISABLE and EV_ENABLE)"; > > @@ -195,7 +195,7 @@ test_kevent_vnode_disable_and_enable(void) > > nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); > > if (nfds < 1) > > err(1, "%s", test_id); > > - if (kev.ident != vnode_fd || > > + if (kev.ident != (uintptr_t)vnode_fd || > > kev.filter != EVFILT_VNODE || > > kev.fflags != NOTE_ATTRIB) > > err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", > > @@ -205,7 +205,7 @@ test_kevent_vnode_disable_and_enable(void) > > } > > > > #if HAVE_EV_DISPATCH > > -void > > +static void > > test_kevent_vnode_dispatch(void) > > { > > const char *test_id = "kevent(EVFILT_VNODE, EV_DISPATCH)"; > > @@ -226,7 +226,7 @@ test_kevent_vnode_dispatch(void) > > nfds = kevent(kqfd, NULL, 0, &kev, 1, NULL); > > if (nfds < 1) > > err(1, "%s", test_id); > > - if (kev.ident != vnode_fd || > > + if (kev.ident != (uintptr_t)vnode_fd || > > kev.filter != EVFILT_VNODE || > > kev.fflags != NOTE_ATTRIB) > > err(1, "%s - incorrect event (sig=%u; filt=%d; flags=%d)", > > @@ -248,7 +248,7 @@ test_kevent_vnode_dispatch(void) > > #endif /* HAVE_EV_DISPATCH */ > > > > void > > -test_evfilt_vnode() > > +test_evfilt_vnode(void) > > { > > kqfd = kqueue(); > > test_kevent_vnode_add(); From owner-svn-src-head@freebsd.org Sat Apr 18 20:55:44 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 5CC1D2AD938; Sat, 18 Apr 2020 20:55:44 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494QGS1ry6z3Q6N; Sat, 18 Apr 2020 20:55:44 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3AF311A86A; Sat, 18 Apr 2020 20:55:44 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03IKti3B029144; Sat, 18 Apr 2020 20:55:44 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03IKtils029143; Sat, 18 Apr 2020 20:55:44 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <202004182055.03IKtils029143@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Sat, 18 Apr 2020 20:55:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360080 - head/cddl/contrib/opensolaris/cmd/zfs X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: head/cddl/contrib/opensolaris/cmd/zfs X-SVN-Commit-Revision: 360080 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 20:55:44 -0000 Author: asomers Date: Sat Apr 18 20:55:43 2020 New Revision: 360080 URL: https://svnweb.freebsd.org/changeset/base/360080 Log: zfs-program.8: fix orphan .Xr Reported by: phk Reviewed by: avg MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24488 Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs-program.8 Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs-program.8 ============================================================================== --- head/cddl/contrib/opensolaris/cmd/zfs/zfs-program.8 Sat Apr 18 20:13:43 2020 (r360079) +++ head/cddl/contrib/opensolaris/cmd/zfs/zfs-program.8 Sat Apr 18 20:55:43 2020 (r360080) @@ -11,7 +11,7 @@ .\" Copyright (c) 2016, 2017 by Delphix. All rights reserved. .\" Copyright (c) 2018 Datto Inc. .\" -.Dd October 02, 2017 +.Dd April 18, 2020 .Dt ZFS-PROGRAM 8 .Os .Sh NAME @@ -289,7 +289,7 @@ EBADF EXDEV EFBIG .Ss API Functions For detailed descriptions of the exact behavior of any zfs administrative operations, see the main -.Xr zfs 1 +.Xr zfs 8 manual page. .Bl -tag -width "xx" .It Em zfs.debug(msg) From owner-svn-src-head@freebsd.org Sat Apr 18 21:11:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 807E32AE067; Sat, 18 Apr 2020 21:11:15 +0000 (UTC) (envelope-from ypankov@fastmail.com) Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 494QcM2BHhz3wj8; Sat, 18 Apr 2020 21:11:15 +0000 (UTC) (envelope-from ypankov@fastmail.com) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id 3854538A; Sat, 18 Apr 2020 17:11:13 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sat, 18 Apr 2020 17:11:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= subject:to:references:from:message-id:date:mime-version :in-reply-to:content-type:content-transfer-encoding; s=fm2; bh=N zgJXDvHwlK7LYhov78v1yAAWmSt4xcFGnhERBvF1lQ=; b=fp8tQFgSU8TqKdwju tVzwQWzQgButkZjxXPMthtCtA2Qf5IFzD3vKc2YzdzP9n4zYhqIFVT4VpcreCN5x 60un2FgWLOZb/+lxOTgFBlzgNb5Y+YXNa2/majusKhX0yAqEpPDSOspb/+P1mg/Q zltEUfbTkW49cngpCxXzJUIIHNLmf1OMA6QCxYvQXNaEjO9rJ4IAw7wvXItUqdY8 33ftdLVFd1IIrbC0WOA3rGRfAlxg/ngrM2uaTdvMwz0UD25qklUGGJGyITY3jX4B zvC4hDe8eX7arb722tSY57eFD2ueafNoxR/nUHNg+Nu8eW7wwB12kSXATvsbf2cl 4q7ZQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm2; bh=NzgJXDvHwlK7LYhov78v1yAAWmSt4xcFGnhERBvF1 lQ=; b=xX4qeS90W59H19DxAB35B3uJNMnEsputFBZzZ7kLqbDV+f+uIUbxz2KnE mG3dxR5ZzyvbDskOZLrmYgnqAn5t/1/+7jyXwgRGQflqOO/dDshEwadVx1yBsvhI rwt6gIaqpz0YtTha9dS+x5OVODIRKnXnPpi8GYaKvOU2fdVaREJo+gscjwlPZu1h A5oi/wXG2ND5fWwYOj2fFKZvFEePStztuFstPfGHVGDuDOgjpwlcM/yBa3gUFD84 EOKppf0DXahhEvqkE2MqD2dcvDImZrROThK2SLV2Nkh6c7PHOUbIrDbdcvCTskIG OkXlfANi3oW+krr+ft5hoJ3qdf4jg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrfeelgdduieduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepuffvfhfhkffffgggjggtgfesthejredttdefjeenucfhrhhomhepjghurhhi ucfrrghnkhhovhcuoeihphgrnhhkohhvsehfrghsthhmrghilhdrtghomheqnecuffhomh grihhnpehfrhgvvggsshgurdhorhhgnecukfhppeekhedrudejhedrudefledrvdehuden ucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeihphgrnh hkohhvsehfrghsthhmrghilhdrtghomh X-ME-Proxy: Received: from [192.168.1.6] (unknown [85.175.139.251]) by mail.messagingengine.com (Postfix) with ESMTPA id 60F52328005E; Sat, 18 Apr 2020 17:11:11 -0400 (EDT) Subject: Re: svn commit: r360078 - in head: sbin/bectl share/man/man8 To: Alan Somers , src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org References: <202004181953.03IJrlA0090967@repo.freebsd.org> From: Yuri Pankov Message-ID: <530b4960-9735-15da-84b4-2fdda9930fc6@fastmail.com> Date: Sun, 19 Apr 2020 00:11:10 +0300 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <202004181953.03IJrlA0090967@repo.freebsd.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: 494QcM2BHhz3wj8 X-Spamd-Bar: ----- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-6.00 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 21:11:15 -0000 Alan Somers wrote: > Author: asomers > Date: Sat Apr 18 19:53:47 2020 > New Revision: 360078 > URL: https://svnweb.freebsd.org/changeset/base/360078 > > Log: > bectl.8, beinstall.sh.8: fix man page section of beinstall.sh > > Reported by: phk > MFC after: 2 weeks > > Modified: > head/sbin/bectl/bectl.8 > head/share/man/man8/beinstall.8 > > Modified: head/sbin/bectl/bectl.8 > ============================================================================== > --- head/sbin/bectl/bectl.8 Sat Apr 18 19:47:38 2020 (r360077) > +++ head/sbin/bectl/bectl.8 Sat Apr 18 19:53:47 2020 (r360078) > @@ -17,7 +17,7 @@ > .\" > .\" $FreeBSD$ > .\" > -.Dd September 11, 2019 > +.Dd April 18, 2020 > .Dt BECTL 8 > .Os > .Sh NAME > @@ -343,7 +343,7 @@ is specified. > To fill in with jail upgrade example when behavior is firm. > .El > .Sh SEE ALSO > -.Xr beinstall.sh 1 , > +.Xr beinstall.sh 8 , > .Xr libbe 3 , > .Xr jail 8 , > .Xr zfs 8 , This breaks the sorting used in SEE ALSO: $ mandoc -Tlint -Wwarning sbin/bectl/bectl.8 mandoc: sbin/bectl/bectl.8:347:2: WARNING: unusual Xr order: libbe(3) after beinstall.sh(8) We don't have the man style guide (that I know of, at least), but keeping it consistent would be nice. > Modified: head/share/man/man8/beinstall.8 > ============================================================================== > --- head/share/man/man8/beinstall.8 Sat Apr 18 19:47:38 2020 (r360077) > +++ head/share/man/man8/beinstall.8 Sat Apr 18 19:53:47 2020 (r360078) > @@ -25,8 +25,8 @@ > .\" SUCH DAMAGE. > .\" > .\" $FreeBSD$ > -.Dd August 20, 2018 > -.Dt BEINSTALL.SH 1 > +.Dd April 18, 2020 > +.Dt BEINSTALL.SH 8 > .Os > .Sh NAME > .Nm beinstall.sh From owner-svn-src-head@freebsd.org Sat Apr 18 23:46:59 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 056B22B0C1C; Sat, 18 Apr 2020 23:46:59 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 494V426K6sz470F; Sat, 18 Apr 2020 23:46:58 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id CFCF71C863; Sat, 18 Apr 2020 23:46:58 +0000 (UTC) (envelope-from rmacklem@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03INkwnf047506; Sat, 18 Apr 2020 23:46:58 GMT (envelope-from rmacklem@FreeBSD.org) Received: (from rmacklem@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03INkwYU047505; Sat, 18 Apr 2020 23:46:58 GMT (envelope-from rmacklem@FreeBSD.org) Message-Id: <202004182346.03INkwYU047505@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: rmacklem set sender to rmacklem@FreeBSD.org using -f From: Rick Macklem Date: Sat, 18 Apr 2020 23:46:58 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360081 - head/usr.sbin/nfscbd X-SVN-Group: head X-SVN-Commit-Author: rmacklem X-SVN-Commit-Paths: head/usr.sbin/nfscbd X-SVN-Commit-Revision: 360081 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Apr 2020 23:46:59 -0000 Author: rmacklem Date: Sat Apr 18 23:46:58 2020 New Revision: 360081 URL: https://svnweb.freebsd.org/changeset/base/360081 Log: Change the type of "len" to avoid warnings. The "len" variable is used as the last argument to getsockname(2) and accept(2). It was declared an "int" and this patch changes it to "socklen_t". Modified: head/usr.sbin/nfscbd/nfscbd.c Modified: head/usr.sbin/nfscbd/nfscbd.c ============================================================================== --- head/usr.sbin/nfscbd/nfscbd.c Sat Apr 18 20:55:43 2020 (r360080) +++ head/usr.sbin/nfscbd/nfscbd.c Sat Apr 18 23:46:58 2020 (r360081) @@ -101,13 +101,14 @@ main(int argc, char *argv[]) struct nfsd_nfscbd_args nfscbdargs2; struct sockaddr_in inetaddr, inetpeer; fd_set ready, sockbits; - int ch, connect_type_cnt, len, maxsock, msgsock, error; + int ch, connect_type_cnt, maxsock, msgsock, error; int nfssvc_flag, on, sock, tcpsock, ret, mustfreeai = 0; char *cp, princname[128]; char myname[MAXHOSTNAMELEN], *myfqdnname = NULL; struct addrinfo *aip, hints; pid_t pid; short myport = NFSV4_CBPORT; + socklen_t len; if (modfind("nfscl") < 0) { /* Not present in kernel, try loading it */