Re: svn commit: r344157 - stable/12/lib/libc/x86/sys
On Sun, Feb 17, 2019 at 11:22:48PM +0100, Herbert J. Skuhra wrote: > On Sun, 17 Feb 2019 22:19:16 +0100, Konstantin Belousov wrote: > > > > On Sun, Feb 17, 2019 at 10:07:09PM +0100, Herbert J. Skuhra wrote: > > > On Fri, 15 Feb 2019 12:33:48 +0100, Konstantin Belousov wrote: > > > > > > > > Author: kib > > > > Date: Fri Feb 15 11:33:48 2019 > > > > New Revision: 344157 > > > > URL: https://svnweb.freebsd.org/changeset/base/344157 > > > > > > > > Log: > > > > MFC r343855, r343859: > > > > Use ifunc to select the barrier instruction for RDTSC. > > > > > > > > Modified: > > > > stable/12/lib/libc/x86/sys/__vdso_gettc.c > > > > Directory Properties: > > > > stable/12/ (props changed) > > > > > > After upgrading my Soekris Net 6501-70 (amd64) to this revision the > > > system is unusable. Basically all programs produce a "Segmentation > > > fault (core dumped)": > > > > > > pid 856 (ls), jid 0, uid 1001: exited on signal 11 (core dumped) > > > pid 857 (ls), jid 0, uid 1001: exited on signal 11 (core dumped) > > > pid 858 (bsdtar), jid 0, uid 0: exited on signal 11 (core dumped) > > > pid 859 (sh), jid 0, uid 0: exited on signal 11 (core dumped) > > > pid 876 (dmesg), jid 0, uid 1001: exited on signal 11 (core dumped) > > > pid 877 (su), jid 0, uid 0: exited on signal 11 > > > pid 880 (more), jid 0, uid 1001: exited on signal 11 (core dumped) > > > pid 885 (sudo), jid 0, uid 0: exited on signal 11 > > > > What do you have in your make.conf and src.conf ? > > I am building on a faster machine with a Intel(R) Xeon(R) CPU. > > /etc/src.conf: > > WITHOUT_DEBUG_FILES= > WITHOUT_KERNEL_SYMBOLS= > WITHOUT_PROFILE= > WITH_KERNEL_RETPOLINE= > WITH_RETPOLINE= ^^ Remove this setting and rebuild the world. Is it still broken ? > INSTALL_NODEBUG= > WITHOUT_TESTS= > WITHOUT_GAMES= > > /etc/make.conf contains only a line for KERNCONF and DEFAULT_VERSIONS. > > > Can you show me CPU identification lines from dmesg for a verbose boot ? > > CPU: Genuine Intel(R) CPU@ 1.60GHz (1600.06-MHz K8-class CPU) > Origin="GenuineIntel" Id=0x20661 Family=0x6 Model=0x26 Stepping=1 > > Features=0xbfe9fbff > > Features2=0x40e3bd > AMD Features=0x20100800 > AMD Features2=0x1 > VT-x: (disabled in BIOS) Basic Features=0x5a0400 > Pin-Based Controls=0x3f > Primary Processor > Controls=0x77f9fffe MSRmap,MONITOR,PAUSE> > Exit Controls=0x5a0400 > Entry Controls=0x5a0400 > TSC: P-state invariant, performance statistics > Data TLB0: 4 KByte pages, fully associative, 16 entries > Data TLB1: 4 KByte pages, 4-way associative, 64 entries > Instruction TLB: 4 KByte pages, 32 entries > Data TLB: 4 KByte and 4 MByte pages, 4-way associative, 8 entries > 2nd-level cache: 512 KByte, 8-way set associative, 64-byte line size > 1st-level instruction cache: 32 KB, 8-way set associative, 64 byte line size > 1st-level data cache: 24 KBytes, 6-way set associative, 64 byte line size > L2 cache: 512 kbytes, 8-way associative, 64 bytes/line > > > I suspect that you can take /lib/libc.so.7 from 12.0 RELEASE and restore > > the system. If it helps, please move your existing libc.so.7 into some > > directory, reproduce the problem with 'LD_LIBRARY_PATH= > bad libc.so.7> /bin/ls' and load the core into gdb. I want to see > > the backtrace for start. > > Yes, restoring /lib/libc.so.7 from previous build (r344152) works. > > #0 0x000800487800 in *ABS*@plt () from > /home/herbert/broken_libc/libc.so.7 > #1 0x00080048781c in *ABS*@plt () from > /home/herbert/broken_libc/libc.so.7 > #2 0x0008003f2e6a in xdr_ypresponse () from > /home/herbert/broken_libc/libc.so.7 > #3 0x000800464849 in access () from /home/herbert/broken_libc/libc.so.7 > #4 0x000800464938 in access () from /home/herbert/broken_libc/libc.so.7 > #5 0x000800429ad1 in clock_gettime () from > /home/herbert/broken_libc/libc.so.7 > #6 0x0008003b574f in madvise () from /home/herbert/broken_libc/libc.so.7 > #7 0x0008003da262 in _pthread_mutex_init_calloc_cb () from > /home/herbert/broken_libc/libc.so.7 > #8 0x0008003dc4ba in _pthread_mutex_init_calloc_cb () from > /home/herbert/broken_libc/libc.so.7 > #9 0x0008003e958c in _malloc_first_thread () from > /home/herbert/broken_libc/libc.so.7 > #10 0x0008003e7ba8 in nallocm () from /home/herbert/broken_libc/libc.so.7 > #11 0x000800214479 in r_debug_state () from /libexec/ld-elf.so.1 > #12 0x00080021305a in __tls_get_addr () from /libexec/ld-elf.so.1 > #13 0x000800211019 in ?? () from /libexec/ld-elf.so.1 > #14 0x in ?? () > > -- > Herbert ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344243 - head/stand/lua
> On 17 Feb 2019, at 9:18 PM, Warner Losh wrote: > > We did a lot of that traditionally in the FORTH loader too, and weren't > always that good about it. Uh, no. I only clear regions of the screen by positioning the cursor using ANSI escape sequences and then drawing spaces. I do not clear the screen “a lot” and would like to think I was damned good about it. — Devin ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344243 - head/stand/lua
On Sun, Feb 17, 2019 at 8:42 PM Rodney W. Grimes < free...@pdx.rh.cn85.dnsmgr.net> wrote: > > On Sun, Feb 17, 2019 at 9:00 PM Kyle Evans wrote: > > > > > > Author: kevans > > > Date: Mon Feb 18 02:59:47 2019 > > > New Revision: 344243 > > > URL: https://svnweb.freebsd.org/changeset/base/344243 > > > > > > Log: > > > lualoader: only clear the screen before first password prompt > > > > > > This was previously an unconditional screen clear, regardless of > whether or > > > not we would be prompting for any passwords. This is pointless, > given that > > > the screen clear is only there to put our screen into a consistent > state > > > before we draw the prompts and do cursor manipulation. > > > > > > This is also the only screen clear besides that to draw the menu. > One can > > > now see early pre-loader and loader output with the menu disabled, > which may > > > be useful for diagnostics. > > > > > > Reported by: ian > > > MFC after:3 days > > > > > > Modified: > > > head/stand/lua/password.lua > > > > > > Modified: head/stand/lua/password.lua > > > > == > > > --- head/stand/lua/password.lua Mon Feb 18 01:57:47 2019 > (r344242) > > > +++ head/stand/lua/password.lua Mon Feb 18 02:59:47 2019 > (r344243) > > > @@ -38,6 +38,7 @@ local INCORRECT_PASSWORD = "loader: incorrect > password > > > -- Asterisks as a password mask > > > local show_password_mask = false > > > local twiddle_chars = {"/", "-", "\\", "|"} > > > +local screen_setup = false > > > > > > -- Module exports > > > function password.read(prompt_length) > > > @@ -80,14 +81,18 @@ function password.read(prompt_length) > > > end > > > > > > function password.check() > > > - screen.clear() > > > - screen.defcursor() > > > -- pwd is optionally supplied if we want to check it > > > local function doPrompt(prompt, pwd) > > > local attempts = 1 > > > > > > local function clear_incorrect_text_prompt() > > > printc("\r" .. string.rep(" ", > #INCORRECT_PASSWORD)) > > > + end > > > + > > > + if not screen_setup then > > > + screen.clear() > > > + screen.defcursor() > > > + screen_setup = true > > > end > > > > > > while true do > > > > > > > I noted in testing that this may look kinda funky if you have neither > > a bootlock password or GELi prompt done by loader(8), but you have a > > loader password. The autoboot text gets blown away by the subsequent > > clear screen. I'd be interesting in feedback as to whether this looks > > odd or how important it is that the autoboot text remains intact, as > > it's an easy fix to retain it. > > Personally I would like to see all screen clears go away, > as they always seem to wipe out the very diagnostic output > that would tell you what went wrong. > Sometimes it's unavoidable. But we have bigger problems here: when you set the console output to something other than default, for example, all messages before we do that (which we necessarily have to do late) are lost. Clearing the screen isn't the problem here: the lack of a dmesg-like history is the problem. > If possible, instead of clearing the screen, we should go to the > bottom and scroll it upwards, drawing new things and scrolling > old things off the top. > This isn't always possible. We don't necessarily know how many lines to scroll, and this will cause things to be overwritten in all serial scenarios, which we get complaints about. > screen clear == evil, unless specifically requested by the user. > Again, the issue is destroying information, not necessarily screen clearing. We did a lot of that traditionally in the FORTH loader too, and weren't always that good about it. I do agree clearing unconditionally at the start is a hassle, especially when you turn off menus. However, with menus, the expectation is to clear the screen so you'd have a clean presentation of the menu. So if we're really worried about error messages, we should implement a history mechanism to get the early printed stuff. It was one of the items that we spoke about while I was doing the Lua work and associated technical debt retirement. There were many other items that were on the list ahead of this feature, and likely still are. Warner ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344247 - in head/stand/uboot: common lib
Author: ian Date: Mon Feb 18 04:44:52 2019 New Revision: 344247 URL: https://svnweb.freebsd.org/changeset/base/344247 Log: Make uboot_devdesc properly alias disk_devdesc, so that parsing the u-boot loaderdev variable works correctly. The uboot_devdesc struct is variously cast back and forth between uboot_devdesc and disk_devdesc as pointers are handed off through various opaque interfaces. uboot_devdesc attempted to mimic the layout of disk_devdesc by having a devdesc struct, followed by a union of some device-specific stuff that included a struct that contains the same fields as a disk_devdesc. However, one of those fields inside the struct is 64-bit which causes the entire union to be 64-bit aligned -- 32 bits of padding is added between the struct devdesc and the union, so the whole mess ends up NOT properly mimicking a disk_devdesc after all. (In disk_devdesc there is also 32 bits of padding, but it shows up immediately before the d_offset field, rather than before the whole collection of d_* fields.) This fixes the problem by using an anonymous union to overlay the devdesc field uboot network devices need with the disk_devdesc that uboot storage devices need. This is a different solution than the one contributed with the PR (so if anything goes wrong, the blame goes to me), but 95% of the credit for this fix goes to Pawel Worach and Manuel Stuhn who analyzed the problem and proposed a fix. PR: 233097 Modified: head/stand/uboot/common/main.c head/stand/uboot/lib/libuboot.h Modified: head/stand/uboot/common/main.c == --- head/stand/uboot/common/main.c Mon Feb 18 03:49:16 2019 (r344246) +++ head/stand/uboot/common/main.c Mon Feb 18 04:44:52 2019 (r344247) @@ -310,13 +310,13 @@ print_disk_probe_info() char slice[32]; char partition[32]; - if (currdev.d_disk.slice > 0) - sprintf(slice, "%d", currdev.d_disk.slice); + if (currdev.d_disk.d_slice > 0) + sprintf(slice, "%d", currdev.d_disk.d_slice); else strcpy(slice, ""); - if (currdev.d_disk.partition >= 0) - sprintf(partition, "%d", currdev.d_disk.partition); + if (currdev.d_disk.d_partition >= 0) + sprintf(partition, "%d", currdev.d_disk.d_partition); else strcpy(partition, ""); @@ -332,8 +332,8 @@ probe_disks(int devidx, int load_type, int load_unit, int open_result, unit; struct open_file f; - currdev.d_disk.slice = load_slice; - currdev.d_disk.partition = load_partition; + currdev.d_disk.d_slice = load_slice; + currdev.d_disk.d_partition = load_partition; f.f_devdata = open_result = -1; Modified: head/stand/uboot/lib/libuboot.h == --- head/stand/uboot/lib/libuboot.h Mon Feb 18 03:49:16 2019 (r344246) +++ head/stand/uboot/lib/libuboot.h Mon Feb 18 04:44:52 2019 (r344247) @@ -27,18 +27,14 @@ * $FreeBSD$ */ +#include + struct uboot_devdesc { - struct devdesc dd; /* Must be first. */ union { - struct { - int slice; - int partition; - off_t offset; - } disk; - } d_kind; + struct devdesc dd; + struct disk_devdesc d_disk; + }; }; - -#define d_disk d_kind.disk /* * Default network packet alignment in memory. On arm arches packets must be ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344243 - head/stand/lua
On Sun, 2019-02-17 at 19:41 -0800, Rodney W. Grimes wrote: > > On Sun, Feb 17, 2019 at 9:00 PM Kyle Evans > > wrote: > > > > > > Author: kevans > > > Date: Mon Feb 18 02:59:47 2019 > > > New Revision: 344243 > > > URL: https://svnweb.freebsd.org/changeset/base/344243 > > > > > > Log: > > > lualoader: only clear the screen before first password prompt > > > > > > This was previously an unconditional screen clear, regardless > > > of whether or > > > not we would be prompting for any passwords. This is pointless, > > > given that > > > the screen clear is only there to put our screen into a > > > consistent state > > > before we draw the prompts and do cursor manipulation. > > > > > > This is also the only screen clear besides that to draw the > > > menu. One can > > > now see early pre-loader and loader output with the menu > > > disabled, which may > > > be useful for diagnostics. > > > > > > Reported by: ian > > > MFC after:3 days > > > > > > Modified: > > > head/stand/lua/password.lua > > > > > > Modified: head/stand/lua/password.lua > > > = > > > = > > > --- head/stand/lua/password.lua Mon Feb 18 01:57:47 > > > 2019(r344242) > > > +++ head/stand/lua/password.lua Mon Feb 18 02:59:47 > > > 2019(r344243) > > > @@ -38,6 +38,7 @@ local INCORRECT_PASSWORD = "loader: incorrect > > > password > > > -- Asterisks as a password mask > > > local show_password_mask = false > > > local twiddle_chars = {"/", "-", "\\", "|"} > > > +local screen_setup = false > > > > > > -- Module exports > > > function password.read(prompt_length) > > > @@ -80,14 +81,18 @@ function password.read(prompt_length) > > > end > > > > > > function password.check() > > > - screen.clear() > > > - screen.defcursor() > > > -- pwd is optionally supplied if we want to check it > > > local function doPrompt(prompt, pwd) > > > local attempts = 1 > > > > > > local function clear_incorrect_text_prompt() > > > printc("\r" .. string.rep(" ", > > > #INCORRECT_PASSWORD)) > > > + end > > > + > > > + if not screen_setup then > > > + screen.clear() > > > + screen.defcursor() > > > + screen_setup = true > > > end > > > > > > while true do > > > > > > > I noted in testing that this may look kinda funky if you have > > neither > > a bootlock password or GELi prompt done by loader(8), but you have > > a > > loader password. The autoboot text gets blown away by the > > subsequent > > clear screen. I'd be interesting in feedback as to whether this > > looks > > odd or how important it is that the autoboot text remains intact, > > as > > it's an easy fix to retain it. > > Personally I would like to see all screen clears go away, > as they always seem to wipe out the very diagnostic output > that would tell you what went wrong. > > If possible, instead of clearing the screen, we should go to the > bottom and scroll it upwards, drawing new things and scrolling > old things off the top. > > screen clear == evil, unless specifically requested by the user. > Screen clear before drawing the menu makes sense. What I noticed is that the screen was still clearing even with beastie_disable=YES. Clearing before prompting for passwords seems like a marginal case... as Kyle mentioned, you've got to get the screen into a known state so that not-echoing the typed pw works reliably. -- Ian ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344246 - head/usr.bin/kdump
Author: emaste Date: Mon Feb 18 03:49:16 2019 New Revision: 344246 URL: https://svnweb.freebsd.org/changeset/base/344246 Log: kdump: expand comment on reasons for CAPFAIL_LOOKUP Comment for CAPFAIL_LOOKUP refered only to paths containing ".." but it is returned for other restricted VFS lookup cases, such as absolute paths or openat(AT_FDCWD, ...). Modified: head/usr.bin/kdump/kdump.c Modified: head/usr.bin/kdump/kdump.c == --- head/usr.bin/kdump/kdump.c Mon Feb 18 03:23:10 2019(r344245) +++ head/usr.bin/kdump/kdump.c Mon Feb 18 03:49:16 2019(r344246) @@ -2006,7 +2006,7 @@ ktrcapfail(struct ktr_cap_fail *ktr) printf("disallowed system call"); break; case CAPFAIL_LOOKUP: - /* used ".." in strict-relative mode */ + /* absolute or AT_FDCWD path, ".." path, etc. */ printf("restricted VFS lookup"); break; default: ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344243 - head/stand/lua
> On Sun, Feb 17, 2019 at 9:00 PM Kyle Evans wrote: > > > > Author: kevans > > Date: Mon Feb 18 02:59:47 2019 > > New Revision: 344243 > > URL: https://svnweb.freebsd.org/changeset/base/344243 > > > > Log: > > lualoader: only clear the screen before first password prompt > > > > This was previously an unconditional screen clear, regardless of whether > > or > > not we would be prompting for any passwords. This is pointless, given that > > the screen clear is only there to put our screen into a consistent state > > before we draw the prompts and do cursor manipulation. > > > > This is also the only screen clear besides that to draw the menu. One can > > now see early pre-loader and loader output with the menu disabled, which > > may > > be useful for diagnostics. > > > > Reported by: ian > > MFC after:3 days > > > > Modified: > > head/stand/lua/password.lua > > > > Modified: head/stand/lua/password.lua > > == > > --- head/stand/lua/password.lua Mon Feb 18 01:57:47 2019(r344242) > > +++ head/stand/lua/password.lua Mon Feb 18 02:59:47 2019(r344243) > > @@ -38,6 +38,7 @@ local INCORRECT_PASSWORD = "loader: incorrect password > > -- Asterisks as a password mask > > local show_password_mask = false > > local twiddle_chars = {"/", "-", "\\", "|"} > > +local screen_setup = false > > > > -- Module exports > > function password.read(prompt_length) > > @@ -80,14 +81,18 @@ function password.read(prompt_length) > > end > > > > function password.check() > > - screen.clear() > > - screen.defcursor() > > -- pwd is optionally supplied if we want to check it > > local function doPrompt(prompt, pwd) > > local attempts = 1 > > > > local function clear_incorrect_text_prompt() > > printc("\r" .. string.rep(" ", #INCORRECT_PASSWORD)) > > + end > > + > > + if not screen_setup then > > + screen.clear() > > + screen.defcursor() > > + screen_setup = true > > end > > > > while true do > > > > I noted in testing that this may look kinda funky if you have neither > a bootlock password or GELi prompt done by loader(8), but you have a > loader password. The autoboot text gets blown away by the subsequent > clear screen. I'd be interesting in feedback as to whether this looks > odd or how important it is that the autoboot text remains intact, as > it's an easy fix to retain it. Personally I would like to see all screen clears go away, as they always seem to wipe out the very diagnostic output that would tell you what went wrong. If possible, instead of clearing the screen, we should go to the bottom and scroll it upwards, drawing new things and scrolling old things off the top. screen clear == evil, unless specifically requested by the user. -- Rod Grimes rgri...@freebsd.org ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344245 - head/usr.sbin/bsnmpd/modules/snmp_hostres
Author: avos Date: Mon Feb 18 03:23:10 2019 New Revision: 344245 URL: https://svnweb.freebsd.org/changeset/base/344245 Log: snmp_hostres(3): fix a typo in sanity checks in handle_chunk() PR: 204253 Submitted by: David Binderman MFC after:5 days Modified: head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c Modified: head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c == --- head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c Mon Feb 18 03:15:25 2019(r344244) +++ head/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c Mon Feb 18 03:23:10 2019(r344245) @@ -312,7 +312,7 @@ handle_chunk(int32_t ds_index, const char *chunk_name, assert(chunk_name != NULL); assert(chunk_name[0] != '\0'); - if (chunk_name == NULL || chunk_name == '\0') + if (chunk_name == NULL || chunk_name[0] == '\0') return; HRDBG("ANALYZE chunk %s", chunk_name); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344244 - head/usr.sbin/rpc.ypupdated
Author: avos Date: Mon Feb 18 03:15:25 2019 New Revision: 344244 URL: https://svnweb.freebsd.org/changeset/base/344244 Log: Fix memory / resource leaks in usr.sbin/rpc.ypupdated/update.c Re-apply r343909 to this file to get the issue fixed. PR: 204956 Reported by: David Binderman MFC after:5 days Modified: head/usr.sbin/rpc.ypupdated/update.c Modified: head/usr.sbin/rpc.ypupdated/update.c == --- head/usr.sbin/rpc.ypupdated/update.cMon Feb 18 02:59:47 2019 (r344243) +++ head/usr.sbin/rpc.ypupdated/update.cMon Feb 18 03:15:25 2019 (r344244) @@ -263,11 +263,14 @@ localupdate(char *name, char *filename, u_int op, u_in sprintf(tmpname, "%s.tmp", filename); rf = fopen(filename, "r"); if (rf == NULL) { - return (ERR_READ); + err = ERR_READ; + goto cleanup; } wf = fopen(tmpname, "w"); if (wf == NULL) { - return (ERR_WRITE); + fclose(rf); + err = ERR_WRITE; + goto cleanup; } err = -1; while (fgets(line, sizeof (line), rf)) { @@ -307,13 +310,17 @@ localupdate(char *name, char *filename, u_int op, u_in fclose(rf); if (err == 0) { if (rename(tmpname, filename) < 0) { - return (ERR_DBASE); + err = ERR_DBASE; + goto cleanup; } } else { if (unlink(tmpname) < 0) { - return (ERR_DBASE); + err = ERR_DBASE; + goto cleanup; } } +cleanup: + free(tmpname); return (err); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344243 - head/stand/lua
On Sun, Feb 17, 2019 at 9:00 PM Kyle Evans wrote: > > Author: kevans > Date: Mon Feb 18 02:59:47 2019 > New Revision: 344243 > URL: https://svnweb.freebsd.org/changeset/base/344243 > > Log: > lualoader: only clear the screen before first password prompt > > This was previously an unconditional screen clear, regardless of whether or > not we would be prompting for any passwords. This is pointless, given that > the screen clear is only there to put our screen into a consistent state > before we draw the prompts and do cursor manipulation. > > This is also the only screen clear besides that to draw the menu. One can > now see early pre-loader and loader output with the menu disabled, which may > be useful for diagnostics. > > Reported by: ian > MFC after:3 days > > Modified: > head/stand/lua/password.lua > > Modified: head/stand/lua/password.lua > == > --- head/stand/lua/password.lua Mon Feb 18 01:57:47 2019(r344242) > +++ head/stand/lua/password.lua Mon Feb 18 02:59:47 2019(r344243) > @@ -38,6 +38,7 @@ local INCORRECT_PASSWORD = "loader: incorrect password > -- Asterisks as a password mask > local show_password_mask = false > local twiddle_chars = {"/", "-", "\\", "|"} > +local screen_setup = false > > -- Module exports > function password.read(prompt_length) > @@ -80,14 +81,18 @@ function password.read(prompt_length) > end > > function password.check() > - screen.clear() > - screen.defcursor() > -- pwd is optionally supplied if we want to check it > local function doPrompt(prompt, pwd) > local attempts = 1 > > local function clear_incorrect_text_prompt() > printc("\r" .. string.rep(" ", #INCORRECT_PASSWORD)) > + end > + > + if not screen_setup then > + screen.clear() > + screen.defcursor() > + screen_setup = true > end > > while true do > I noted in testing that this may look kinda funky if you have neither a bootlock password or GELi prompt done by loader(8), but you have a loader password. The autoboot text gets blown away by the subsequent clear screen. I'd be interesting in feedback as to whether this looks odd or how important it is that the autoboot text remains intact, as it's an easy fix to retain it. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344243 - head/stand/lua
Author: kevans Date: Mon Feb 18 02:59:47 2019 New Revision: 344243 URL: https://svnweb.freebsd.org/changeset/base/344243 Log: lualoader: only clear the screen before first password prompt This was previously an unconditional screen clear, regardless of whether or not we would be prompting for any passwords. This is pointless, given that the screen clear is only there to put our screen into a consistent state before we draw the prompts and do cursor manipulation. This is also the only screen clear besides that to draw the menu. One can now see early pre-loader and loader output with the menu disabled, which may be useful for diagnostics. Reported by: ian MFC after:3 days Modified: head/stand/lua/password.lua Modified: head/stand/lua/password.lua == --- head/stand/lua/password.lua Mon Feb 18 01:57:47 2019(r344242) +++ head/stand/lua/password.lua Mon Feb 18 02:59:47 2019(r344243) @@ -38,6 +38,7 @@ local INCORRECT_PASSWORD = "loader: incorrect password -- Asterisks as a password mask local show_password_mask = false local twiddle_chars = {"/", "-", "\\", "|"} +local screen_setup = false -- Module exports function password.read(prompt_length) @@ -80,14 +81,18 @@ function password.read(prompt_length) end function password.check() - screen.clear() - screen.defcursor() -- pwd is optionally supplied if we want to check it local function doPrompt(prompt, pwd) local attempts = 1 local function clear_incorrect_text_prompt() printc("\r" .. string.rep(" ", #INCORRECT_PASSWORD)) + end + + if not screen_setup then + screen.clear() + screen.defcursor() + screen_setup = true end while true do ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344242 - in head: etc/mtree stand/powerpc/uboot usr.sbin/bsdinstall/partedit
Author: jhibbits Date: Mon Feb 18 01:57:47 2019 New Revision: 344242 URL: https://svnweb.freebsd.org/changeset/base/344242 Log: powerpc/boot: Move ubldr to /boot/uboot, and make this a separate filesystem Summary: Now that mpc85xx can boot via ubldr, move ubldr to a separate filesystem, mounted on /boot/uboot, so that a fresh install can boot correctly. Reviewed By: nwhitehorn Differential Revision: https://reviews.freebsd.org/D18709 Modified: head/etc/mtree/BSD.root.dist head/stand/powerpc/uboot/Makefile head/usr.sbin/bsdinstall/partedit/partedit_powerpc.c Modified: head/etc/mtree/BSD.root.dist == --- head/etc/mtree/BSD.root.distSun Feb 17 23:48:51 2019 (r344241) +++ head/etc/mtree/BSD.root.distMon Feb 18 01:57:47 2019 (r344242) @@ -26,6 +26,8 @@ .. modules .. +uboot +.. zfs .. .. Modified: head/stand/powerpc/uboot/Makefile == --- head/stand/powerpc/uboot/Makefile Sun Feb 17 23:48:51 2019 (r344241) +++ head/stand/powerpc/uboot/Makefile Mon Feb 18 01:57:47 2019 (r344242) @@ -11,6 +11,7 @@ LOADER_BZIP2_SUPPORT?=no .include +BINDIR=/boot/uboot PROG= ubldr NEWVERSWHAT= "U-Boot loader" ${MACHINE_ARCH} INSTALLFLAGS= -b Modified: head/usr.sbin/bsdinstall/partedit/partedit_powerpc.c == --- head/usr.sbin/bsdinstall/partedit/partedit_powerpc.cSun Feb 17 23:48:51 2019(r344241) +++ head/usr.sbin/bsdinstall/partedit/partedit_powerpc.cMon Feb 18 01:57:47 2019(r344242) @@ -94,9 +94,10 @@ bootpart_size(const char *part_type) return (0); if (strcmp(platform, "chrp") == 0) return (800*1024); - if (strcmp(platform, "ps3") == 0 || strcmp(platform, "powernv") == 0 || - strcmp(platform, "mpc85xx") == 0) + if (strcmp(platform, "ps3") == 0 || strcmp(platform, "powernv") == 0) return (512*1024*1024); + if (strcmp(platform, "mpc85xx") == 0) + return (16*1024*1024); return (0); } @@ -111,13 +112,16 @@ bootpart_type(const char *scheme, const char **mountpo return ("prep-boot"); if (strcmp(platform, "powermac") == 0) return ("apple-boot"); - if (strcmp(platform, "powernv") == 0 || strcmp(platform, "ps3") == 0 || - strcmp(platform, "mpc85xx") == 0) { + if (strcmp(platform, "powernv") == 0 || strcmp(platform, "ps3") == 0) { *mountpoint = "/boot"; if (strcmp(scheme, "GPT") == 0) return ("ms-basic-data"); else if (strcmp(scheme, "MBR") == 0) return ("fat32"); + } + if (strcmp(platform, "mpc85xx") == 0) { + *mountpoint = "/boot/uboot"; + return ("fat16"); } return ("freebsd-boot"); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344240 - head/stand/common
Author: ian Date: Sun Feb 17 23:46:11 2019 New Revision: 344240 URL: https://svnweb.freebsd.org/changeset/base/344240 Log: Make lsdev -v output line up in neat columns by using a fixed width for the size field and a tab between the partition type and the size. Changes this disk devices: disk0 (MMC) disk0s1: DOS/Windows49MB disk0s2: FreeBSD14GB disk0s2a: FreeBSD UFS 14GB disk0s2b: Unknown 2048KB disk0s2d: FreeBSD UFS 2040KB to this disk devices: disk0 (MMC) disk0s1: DOS/Windows 49MB disk0s2: FreeBSD 14GB disk0s2a: FreeBSD UFS 14GB disk0s2b: Unknown 2048KB disk0s2d: FreeBSD UFS 2040KB Modified: head/stand/common/disk.c Modified: head/stand/common/disk.c == --- head/stand/common/disk.cSun Feb 17 23:38:17 2019(r344239) +++ head/stand/common/disk.cSun Feb 17 23:46:11 2019(r344240) @@ -75,7 +75,7 @@ display_size(uint64_t size, u_int sectorsize) size /= 1024; unit = 'M'; } - sprintf(buf, "%ld%cB", (long)size, unit); + sprintf(buf, "%4ld%cB", (long)size, unit); return (buf); } @@ -119,12 +119,9 @@ ptable_print(void *arg, const char *pname, const struc od = (struct open_disk *)pa->dev->dd.d_opendata; sectsize = od->sectorsize; partsize = part->end - part->start + 1; - sprintf(line, " %s%s: %s", pa->prefix, pname, - parttype2str(part->type)); - if (pa->verbose) - sprintf(line, "%-*s%s", PWIDTH, line, - display_size(partsize, sectsize)); - strcat(line, "\n"); + sprintf(line, " %s%s: %s\t%s\n", pa->prefix, pname, + parttype2str(part->type), + pa->verbose ? display_size(partsize, sectsize) : ""); if (pager_output(line)) return 1; res = 0; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344239 - head/stand/common
Author: ian Date: Sun Feb 17 23:38:17 2019 New Revision: 344239 URL: https://svnweb.freebsd.org/changeset/base/344239 Log: Use a couple local variables to avoid repetitive long expressions that cause line-wrapping. Modified: head/stand/common/disk.c Modified: head/stand/common/disk.c == --- head/stand/common/disk.cSun Feb 17 23:32:09 2019(r344238) +++ head/stand/common/disk.cSun Feb 17 23:38:17 2019(r344239) @@ -112,15 +112,18 @@ ptable_print(void *arg, const char *pname, const struc struct ptable *table; char line[80]; int res; + u_int sectsize; + uint64_t partsize; pa = (struct print_args *)arg; od = (struct open_disk *)pa->dev->dd.d_opendata; + sectsize = od->sectorsize; + partsize = part->end - part->start + 1; sprintf(line, " %s%s: %s", pa->prefix, pname, parttype2str(part->type)); if (pa->verbose) sprintf(line, "%-*s%s", PWIDTH, line, - display_size(part->end - part->start + 1, - od->sectorsize)); + display_size(partsize, sectsize)); strcat(line, "\n"); if (pager_output(line)) return 1; @@ -131,8 +134,7 @@ ptable_print(void *arg, const char *pname, const struc dev.dd.d_unit = pa->dev->dd.d_unit; dev.d_slice = part->index; dev.d_partition = -1; - if (disk_open(, part->end - part->start + 1, - od->sectorsize) == 0) { + if (disk_open(, partsize, sectsize) == 0) { /* * disk_open() for partition -1 on a bsd slice assumes * you want the first bsd partition. Reset things so @@ -140,8 +142,7 @@ ptable_print(void *arg, const char *pname, const struc */ dev.d_partition = -1; dev.d_offset = part->start; - table = ptable_open(, part->end - part->start + 1, - od->sectorsize, ptblread); + table = ptable_open(, partsize, sectsize, ptblread); if (table != NULL) { sprintf(line, " %s%s", pa->prefix, pname); bsd.dev = pa->dev; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344241 - head/stand/common
Author: ian Date: Sun Feb 17 23:48:51 2019 New Revision: 344241 URL: https://svnweb.freebsd.org/changeset/base/344241 Log: Garbage collection no-longer-used constant. Modified: head/stand/common/disk.c Modified: head/stand/common/disk.c == --- head/stand/common/disk.cSun Feb 17 23:46:11 2019(r344240) +++ head/stand/common/disk.cSun Feb 17 23:48:51 2019(r344241) @@ -102,7 +102,6 @@ ptblread(void *d, void *buf, size_t blocks, uint64_t o blocks * od->sectorsize, (char *)buf, NULL)); } -#definePWIDTH 35 static int ptable_print(void *arg, const char *pname, const struct ptable_entry *part) { @@ -154,7 +153,6 @@ ptable_print(void *arg, const char *pname, const struc return (res); } -#undef PWIDTH int disk_print(struct disk_devdesc *dev, char *prefix, int verbose) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344157 - stable/12/lib/libc/x86/sys
On Fri, 15 Feb 2019 12:33:48 +0100, Konstantin Belousov wrote: > > Author: kib > Date: Fri Feb 15 11:33:48 2019 > New Revision: 344157 > URL: https://svnweb.freebsd.org/changeset/base/344157 > > Log: > MFC r343855, r343859: > Use ifunc to select the barrier instruction for RDTSC. > > Modified: > stable/12/lib/libc/x86/sys/__vdso_gettc.c > Directory Properties: > stable/12/ (props changed) After upgrading my Soekris Net 6501-70 (amd64) to this revision the system is unusable. Basically all programs produce a "Segmentation fault (core dumped)": pid 856 (ls), jid 0, uid 1001: exited on signal 11 (core dumped) pid 857 (ls), jid 0, uid 1001: exited on signal 11 (core dumped) pid 858 (bsdtar), jid 0, uid 0: exited on signal 11 (core dumped) pid 859 (sh), jid 0, uid 0: exited on signal 11 (core dumped) pid 876 (dmesg), jid 0, uid 1001: exited on signal 11 (core dumped) pid 877 (su), jid 0, uid 0: exited on signal 11 pid 880 (more), jid 0, uid 1001: exited on signal 11 (core dumped) pid 885 (sudo), jid 0, uid 0: exited on signal 11 -- Herbert ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344157 - stable/12/lib/libc/x86/sys
On Sun, Feb 17, 2019 at 10:07:09PM +0100, Herbert J. Skuhra wrote: > On Fri, 15 Feb 2019 12:33:48 +0100, Konstantin Belousov wrote: > > > > Author: kib > > Date: Fri Feb 15 11:33:48 2019 > > New Revision: 344157 > > URL: https://svnweb.freebsd.org/changeset/base/344157 > > > > Log: > > MFC r343855, r343859: > > Use ifunc to select the barrier instruction for RDTSC. > > > > Modified: > > stable/12/lib/libc/x86/sys/__vdso_gettc.c > > Directory Properties: > > stable/12/ (props changed) > > After upgrading my Soekris Net 6501-70 (amd64) to this revision the > system is unusable. Basically all programs produce a "Segmentation > fault (core dumped)": > > pid 856 (ls), jid 0, uid 1001: exited on signal 11 (core dumped) > pid 857 (ls), jid 0, uid 1001: exited on signal 11 (core dumped) > pid 858 (bsdtar), jid 0, uid 0: exited on signal 11 (core dumped) > pid 859 (sh), jid 0, uid 0: exited on signal 11 (core dumped) > pid 876 (dmesg), jid 0, uid 1001: exited on signal 11 (core dumped) > pid 877 (su), jid 0, uid 0: exited on signal 11 > pid 880 (more), jid 0, uid 1001: exited on signal 11 (core dumped) > pid 885 (sudo), jid 0, uid 0: exited on signal 11 What do you have in your make.conf and src.conf ? Can you show me CPU identification lines from dmesg for a verbose boot ? I suspect that you can take /lib/libc.so.7 from 12.0 RELEASE and restore the system. If it helps, please move your existing libc.so.7 into some directory, reproduce the problem with 'LD_LIBRARY_PATH= /bin/ls' and load the core into gdb. I want to see the backtrace for start. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344238 - head/stand/common
Author: ian Date: Sun Feb 17 23:32:09 2019 New Revision: 344238 URL: https://svnweb.freebsd.org/changeset/base/344238 Log: Restore loader(8)'s ability for lsdev to show partitions within a bsd slice. I'm pretty sure this used to work at one time, perhaps long ago. It has been failing recently because if you call disk_open() with dev->d_partition set to -1 when d_slice refers to a bsd slice, it assumes you want it to open the first partition within that slice. When you then pass that open dev instance to ptable_open(), it tries to read the start of the 'a' partition and decides there is no recognizable partition type there. This restores the old functionality by resetting d_offset to the start of the raw slice after disk_open() returns. For good measure, d_partition is also set back to -1, although that doesn't currently affect anything. I would have preferred to make disk_open() avoid such rude assumptions and if you ask for partition -1 you get the raw slice. But the commit history shows that someone already did that once (r239058), and had to revert it (r239232), so I didn't even try to go down that road. Modified: head/stand/common/disk.c Modified: head/stand/common/disk.c == --- head/stand/common/disk.cSun Feb 17 20:25:07 2019(r344237) +++ head/stand/common/disk.cSun Feb 17 23:32:09 2019(r344238) @@ -133,6 +133,13 @@ ptable_print(void *arg, const char *pname, const struc dev.d_partition = -1; if (disk_open(, part->end - part->start + 1, od->sectorsize) == 0) { + /* +* disk_open() for partition -1 on a bsd slice assumes +* you want the first bsd partition. Reset things so +* that we're looking at the start of the raw slice. +*/ + dev.d_partition = -1; + dev.d_offset = part->start; table = ptable_open(, part->end - part->start + 1, od->sectorsize, ptblread); if (table != NULL) { ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344236 - head/sys/contrib/libnv
Author: oshogbo Date: Sun Feb 17 18:32:19 2019 New Revision: 344236 URL: https://svnweb.freebsd.org/changeset/base/344236 Log: libnv: fix revert Reported by: jenkins Modified: head/sys/contrib/libnv/nvpair.c Modified: head/sys/contrib/libnv/nvpair.c == --- head/sys/contrib/libnv/nvpair.c Sun Feb 17 18:26:27 2019 (r344235) +++ head/sys/contrib/libnv/nvpair.c Sun Feb 17 18:32:19 2019 (r344236) @@ -229,8 +229,8 @@ nvpair_remove_nvlist_array(nvpair_t *nvp) nvlarray = __DECONST(nvlist_t **, nvpair_get_nvlist_array(nvp, )); for (i = 0; i < count; i++) { - nvlist_set_array_next(nvl, NULL); - nvlist_set_parent(nvl, NULL); + nvlist_set_array_next(nvlarray[i], NULL); + nvlist_set_parent(nvlarray[i], NULL); } } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344235 - head/sys/contrib/libnv
-BEGIN PGP SIGNED MESSAGE- Hash: SHA256 Am Sun, 17 Feb 2019 18:26:27 + (UTC) Mariusz Zaborski schrieb: > Author: oshogbo > Date: Sun Feb 17 18:26:27 2019 > New Revision: 344235 > URL: https://svnweb.freebsd.org/changeset/base/344235 > > Log: > libnv: fix double free > > In r343986 we introduced a double free. The structure was already > freed fixed in the r302966. This problem was introduced > because the GitHub version was out of sync with the FreeBSD one. > > Submitted by: Mindaugas Rasiukevicius > MFC with: r343986 > > Modified: > head/sys/contrib/libnv/nvpair.c > > Modified: head/sys/contrib/libnv/nvpair.c > == > --- head/sys/contrib/libnv/nvpair.c Sun Feb 17 17:47:08 2019 > (r344234) > +++ head/sys/contrib/libnv/nvpair.c Sun Feb 17 18:26:27 2019 > (r344235) > @@ -229,14 +229,6 @@ nvpair_remove_nvlist_array(nvpair_t *nvp) > nvlarray = __DECONST(nvlist_t **, > nvpair_get_nvlist_array(nvp, )); > for (i = 0; i < count; i++) { > - nvlist_t *nvl; > - nvpair_t *nnvp; > - > - nvl = nvlarray[i]; > - nnvp = nvlist_get_array_next_nvpair(nvl); > - if (nnvp != NULL) { > - nvpair_free_structure(nnvp); > - } > nvlist_set_array_next(nvl, NULL); > nvlist_set_parent(nvl, NULL); > } > ___ > svn-src-h...@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/svn-src-head > To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org" This commit breaks buildworld: [...] mkdir -p "/usr/obj/usr/src/amd64.amd64/tmp/legacy//usr/include/sys" ===> lib/libnv (obj,includes,all,install) Building /usr/obj/usr/src/amd64.amd64/tmp/obj-tools/lib/libnv/nvpair.o - --- nvpair.o --- /usr/src/sys/contrib/libnv/nvpair.c:232:25: error: use of undeclared identifier 'nvl'; did you mean 'nvp'? nvlist_set_array_next(nvl, NULL); ^~~ - -- O. Hartmann Ich widerspreche der Nutzung oder Übermittlung meiner Daten für Werbezwecke oder für die Markt- oder Meinungsforschung (§ 28 Abs. 4 BDSG). -BEGIN PGP SIGNATURE- iHUEARYIAB0WIQSy8IBxAPDkqVBaTJ44N1ZZPba5RwUCXGmo8AAKCRA4N1ZZPba5 R1dYAQDJei3rxxtdliTK13kRTlGsPvG+XM2xMJPhvIcBdU+k2AD8DT3KCVuMjguG WPFVXelVaAwIE/05ElVNg1FRoXGW8Qs= =trVK -END PGP SIGNATURE- ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344233 - head/sys/kern
Author: markj Date: Sun Feb 17 16:56:41 2019 New Revision: 344233 URL: https://svnweb.freebsd.org/changeset/base/344233 Log: Remove a write-only variable orphaned by r340677. Modified: head/sys/kern/sys_pipe.c Modified: head/sys/kern/sys_pipe.c == --- head/sys/kern/sys_pipe.cSun Feb 17 16:43:44 2019(r344232) +++ head/sys/kern/sys_pipe.cSun Feb 17 16:56:41 2019(r344233) @@ -379,9 +379,7 @@ void pipe_dtor(struct pipe *dpipe) { struct pipe *peer; - ino_t ino; - ino = dpipe->pipe_ino; peer = (dpipe->pipe_state & PIPE_NAMED) != 0 ? dpipe->pipe_peer : NULL; funsetown(>pipe_sigio); pipeclose(dpipe); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344235 - head/sys/contrib/libnv
Author: oshogbo Date: Sun Feb 17 18:26:27 2019 New Revision: 344235 URL: https://svnweb.freebsd.org/changeset/base/344235 Log: libnv: fix double free In r343986 we introduced a double free. The structure was already freed fixed in the r302966. This problem was introduced because the GitHub version was out of sync with the FreeBSD one. Submitted by: Mindaugas Rasiukevicius MFC with: r343986 Modified: head/sys/contrib/libnv/nvpair.c Modified: head/sys/contrib/libnv/nvpair.c == --- head/sys/contrib/libnv/nvpair.c Sun Feb 17 17:47:08 2019 (r344234) +++ head/sys/contrib/libnv/nvpair.c Sun Feb 17 18:26:27 2019 (r344235) @@ -229,14 +229,6 @@ nvpair_remove_nvlist_array(nvpair_t *nvp) nvlarray = __DECONST(nvlist_t **, nvpair_get_nvlist_array(nvp, )); for (i = 0; i < count; i++) { - nvlist_t *nvl; - nvpair_t *nnvp; - - nvl = nvlarray[i]; - nnvp = nvlist_get_array_next_nvpair(nvl); - if (nnvp != NULL) { - nvpair_free_structure(nnvp); - } nvlist_set_array_next(nvl, NULL); nvlist_set_parent(nvl, NULL); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344157 - stable/12/lib/libc/x86/sys
On Sun, 17 Feb 2019 22:19:16 +0100, Konstantin Belousov wrote: > > On Sun, Feb 17, 2019 at 10:07:09PM +0100, Herbert J. Skuhra wrote: > > On Fri, 15 Feb 2019 12:33:48 +0100, Konstantin Belousov wrote: > > > > > > Author: kib > > > Date: Fri Feb 15 11:33:48 2019 > > > New Revision: 344157 > > > URL: https://svnweb.freebsd.org/changeset/base/344157 > > > > > > Log: > > > MFC r343855, r343859: > > > Use ifunc to select the barrier instruction for RDTSC. > > > > > > Modified: > > > stable/12/lib/libc/x86/sys/__vdso_gettc.c > > > Directory Properties: > > > stable/12/ (props changed) > > > > After upgrading my Soekris Net 6501-70 (amd64) to this revision the > > system is unusable. Basically all programs produce a "Segmentation > > fault (core dumped)": > > > > pid 856 (ls), jid 0, uid 1001: exited on signal 11 (core dumped) > > pid 857 (ls), jid 0, uid 1001: exited on signal 11 (core dumped) > > pid 858 (bsdtar), jid 0, uid 0: exited on signal 11 (core dumped) > > pid 859 (sh), jid 0, uid 0: exited on signal 11 (core dumped) > > pid 876 (dmesg), jid 0, uid 1001: exited on signal 11 (core dumped) > > pid 877 (su), jid 0, uid 0: exited on signal 11 > > pid 880 (more), jid 0, uid 1001: exited on signal 11 (core dumped) > > pid 885 (sudo), jid 0, uid 0: exited on signal 11 > > What do you have in your make.conf and src.conf ? I am building on a faster machine with a Intel(R) Xeon(R) CPU. /etc/src.conf: WITHOUT_DEBUG_FILES= WITHOUT_KERNEL_SYMBOLS= WITHOUT_PROFILE= WITH_KERNEL_RETPOLINE= WITH_RETPOLINE= INSTALL_NODEBUG= WITHOUT_TESTS= WITHOUT_GAMES= /etc/make.conf contains only a line for KERNCONF and DEFAULT_VERSIONS. > Can you show me CPU identification lines from dmesg for a verbose boot ? CPU: Genuine Intel(R) CPU@ 1.60GHz (1600.06-MHz K8-class CPU) Origin="GenuineIntel" Id=0x20661 Family=0x6 Model=0x26 Stepping=1 Features=0xbfe9fbff Features2=0x40e3bd AMD Features=0x20100800 AMD Features2=0x1 VT-x: (disabled in BIOS) Basic Features=0x5a0400 Pin-Based Controls=0x3f Primary Processor Controls=0x77f9fffe Exit Controls=0x5a0400 Entry Controls=0x5a0400 TSC: P-state invariant, performance statistics Data TLB0: 4 KByte pages, fully associative, 16 entries Data TLB1: 4 KByte pages, 4-way associative, 64 entries Instruction TLB: 4 KByte pages, 32 entries Data TLB: 4 KByte and 4 MByte pages, 4-way associative, 8 entries 2nd-level cache: 512 KByte, 8-way set associative, 64-byte line size 1st-level instruction cache: 32 KB, 8-way set associative, 64 byte line size 1st-level data cache: 24 KBytes, 6-way set associative, 64 byte line size L2 cache: 512 kbytes, 8-way associative, 64 bytes/line > I suspect that you can take /lib/libc.so.7 from 12.0 RELEASE and restore > the system. If it helps, please move your existing libc.so.7 into some > directory, reproduce the problem with 'LD_LIBRARY_PATH= bad libc.so.7> /bin/ls' and load the core into gdb. I want to see > the backtrace for start. Yes, restoring /lib/libc.so.7 from previous build (r344152) works. #0 0x000800487800 in *ABS*@plt () from /home/herbert/broken_libc/libc.so.7 #1 0x00080048781c in *ABS*@plt () from /home/herbert/broken_libc/libc.so.7 #2 0x0008003f2e6a in xdr_ypresponse () from /home/herbert/broken_libc/libc.so.7 #3 0x000800464849 in access () from /home/herbert/broken_libc/libc.so.7 #4 0x000800464938 in access () from /home/herbert/broken_libc/libc.so.7 #5 0x000800429ad1 in clock_gettime () from /home/herbert/broken_libc/libc.so.7 #6 0x0008003b574f in madvise () from /home/herbert/broken_libc/libc.so.7 #7 0x0008003da262 in _pthread_mutex_init_calloc_cb () from /home/herbert/broken_libc/libc.so.7 #8 0x0008003dc4ba in _pthread_mutex_init_calloc_cb () from /home/herbert/broken_libc/libc.so.7 #9 0x0008003e958c in _malloc_first_thread () from /home/herbert/broken_libc/libc.so.7 #10 0x0008003e7ba8 in nallocm () from /home/herbert/broken_libc/libc.so.7 #11 0x000800214479 in r_debug_state () from /libexec/ld-elf.so.1 #12 0x00080021305a in __tls_get_addr () from /libexec/ld-elf.so.1 #13 0x000800211019 in ?? () from /libexec/ld-elf.so.1 #14 0x in ?? () -- Herbert ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344237 - stable/12/sbin/dhclient
Author: jilles Date: Sun Feb 17 20:25:07 2019 New Revision: 344237 URL: https://svnweb.freebsd.org/changeset/base/344237 Log: MFC r343896,r343922: dhclient: Pass through exit status from script The wait status is translated into 8 bits the same way as the shell calculates $?. Modified: stable/12/sbin/dhclient/dhclient.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sbin/dhclient/dhclient.c == --- stable/12/sbin/dhclient/dhclient.c Sun Feb 17 18:32:19 2019 (r344236) +++ stable/12/sbin/dhclient/dhclient.c Sun Feb 17 20:25:07 2019 (r344237) @@ -2350,7 +2350,8 @@ priv_script_go(void) if (ip) script_flush_env(ip->client); - return (wstatus & 0xff); + return (WIFEXITED(wstatus) ? + WEXITSTATUS(wstatus) : 128 + WTERMSIG(wstatus)); } void ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344234 - head/stand/libsa/zfs
Author: pkelsey Date: Sun Feb 17 17:47:08 2019 New Revision: 344234 URL: https://svnweb.freebsd.org/changeset/base/344234 Log: It turns out r344226 narrowed the overrun bug but did not eliminate it entirely This commit fixes a remaining output buffer overrun in the single-sector case when there is a non-zero tail. Reviewed by: allanjude, tsoome MFC after:3 months MFC with: r344226 Differential Revision:https://reviews.freebsd.org/D19220 Modified: head/stand/libsa/zfs/zfs.c Modified: head/stand/libsa/zfs/zfs.c == --- head/stand/libsa/zfs/zfs.c Sun Feb 17 16:56:41 2019(r344233) +++ head/stand/libsa/zfs/zfs.c Sun Feb 17 17:47:08 2019(r344234) @@ -435,8 +435,8 @@ vdev_read(vdev_t *vdev, void *priv, off_t offset, void ret = EIO; goto error; } - memcpy(outbuf, bouncebuf + head, secsz - head); - outbuf += secsz - head; + memcpy(outbuf, bouncebuf + head, min(secsz - head, bytes)); + outbuf += min(secsz - head, bytes); } /* Full data return from read sectors */ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344232 - head/sys/amd64/sgx
Author: markj Date: Sun Feb 17 16:43:44 2019 New Revision: 344232 URL: https://svnweb.freebsd.org/changeset/base/344232 Log: Fix refcount leaks in the SGX Linux compat ioctl handler. Some argument validation error paths would return without releasing the file reference obtained at the beginning of the function. While here, fix some style bugs and remove trivial debug prints. Reviewed by: kib MFC after:1 week Sponsored by: The FreeBSD Foundation Differential Revision:https://reviews.freebsd.org/D19214 Modified: head/sys/amd64/sgx/sgx_linux.c Modified: head/sys/amd64/sgx/sgx_linux.c == --- head/sys/amd64/sgx/sgx_linux.c Sun Feb 17 16:35:19 2019 (r344231) +++ head/sys/amd64/sgx/sgx_linux.c Sun Feb 17 16:43:44 2019 (r344232) @@ -70,30 +70,26 @@ sgx_linux_ioctl(struct thread *td, struct linux_ioctl_ cmd = args->cmd; args->cmd &= ~(LINUX_IOC_IN | LINUX_IOC_OUT); - if (cmd & LINUX_IOC_IN) + if ((cmd & LINUX_IOC_IN) != 0) args->cmd |= IOC_IN; - if (cmd & LINUX_IOC_OUT) + if ((cmd & LINUX_IOC_OUT) != 0) args->cmd |= IOC_OUT; len = IOCPARM_LEN(cmd); if (len > SGX_IOCTL_MAX_DATA_LEN) { - printf("%s: Can't copy data: cmd len is too big %d\n", - __func__, len); - return (EINVAL); + error = EINVAL; + goto out; } - if (cmd & LINUX_IOC_IN) { + if ((cmd & LINUX_IOC_IN) != 0) { error = copyin((void *)args->arg, data, len); - if (error) { - printf("%s: Can't copy data, error %d\n", - __func__, error); - return (EINVAL); - } + if (error != 0) + goto out; } - error = (fo_ioctl(fp, args->cmd, (caddr_t)data, td->td_ucred, td)); + error = fo_ioctl(fp, args->cmd, (caddr_t)data, td->td_ucred, td); +out: fdrop(fp, td); - return (error); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344231 - head/sys/vm
Author: markj Date: Sun Feb 17 16:35:19 2019 New Revision: 344231 URL: https://svnweb.freebsd.org/changeset/base/344231 Log: Remove a redundant flag variable. Use the object pointer itself to determine whether the object is locked. No functional change intended. Reviewed by: kib MFC after:1 week Sponsored by: Netflix Differential Revision:https://reviews.freebsd.org/D19215 Modified: head/sys/vm/vm_pageout.c Modified: head/sys/vm/vm_pageout.c == --- head/sys/vm/vm_pageout.cSun Feb 17 10:01:42 2019(r344230) +++ head/sys/vm/vm_pageout.cSun Feb 17 16:35:19 2019(r344231) @@ -695,10 +695,9 @@ vm_pageout_launder(struct vm_domain *vmd, int launder, vm_page_t m, marker; int act_delta, error, numpagedout, queue, starting_target; int vnodes_skipped; - bool obj_locked, pageout_ok; + bool pageout_ok; mtx = NULL; - obj_locked = false; object = NULL; starting_target = launder; vnodes_skipped = 0; @@ -760,22 +759,16 @@ recheck: } if (object != m->object) { - if (obj_locked) { + if (object != NULL) VM_OBJECT_WUNLOCK(object); - obj_locked = false; - } object = m->object; - } - if (!obj_locked) { if (!VM_OBJECT_TRYWLOCK(object)) { mtx_unlock(mtx); /* Depends on type-stability. */ VM_OBJECT_WLOCK(object); - obj_locked = true; mtx_lock(mtx); goto recheck; - } else - obj_locked = true; + } } if (vm_page_busied(m)) @@ -897,17 +890,13 @@ free_page: vnodes_skipped++; } mtx = NULL; - obj_locked = false; + object = NULL; } } - if (mtx != NULL) { + if (mtx != NULL) mtx_unlock(mtx); - mtx = NULL; - } - if (obj_locked) { + if (object != NULL) VM_OBJECT_WUNLOCK(object); - obj_locked = false; - } vm_pagequeue_lock(pq); vm_pageout_end_scan(); vm_pagequeue_unlock(pq); @@ -1368,7 +1357,6 @@ vm_pageout_scan_inactive(struct vm_domain *vmd, int sh vm_object_t object; int act_delta, addl_page_shortage, deficit, page_shortage; int starting_page_shortage; - bool obj_locked; /* * The addl_page_shortage is an estimate of the number of temporarily @@ -1388,7 +1376,6 @@ vm_pageout_scan_inactive(struct vm_domain *vmd, int sh starting_page_shortage = page_shortage = shortage + deficit; mtx = NULL; - obj_locked = false; object = NULL; vm_batchqueue_init(); @@ -1446,22 +1433,16 @@ recheck: } if (object != m->object) { - if (obj_locked) { + if (object != NULL) VM_OBJECT_WUNLOCK(object); - obj_locked = false; - } object = m->object; - } - if (!obj_locked) { if (!VM_OBJECT_TRYWLOCK(object)) { mtx_unlock(mtx); /* Depends on type-stability. */ VM_OBJECT_WLOCK(object); - obj_locked = true; mtx_lock(mtx); goto recheck; - } else - obj_locked = true; + } } if (vm_page_busied(m)) { @@ -1563,14 +1544,10 @@ free_page: reinsert: vm_pageout_reinsert_inactive(, , m); } - if (mtx != NULL) { + if (mtx != NULL) mtx_unlock(mtx); - mtx = NULL; - } - if (obj_locked) { + if (object != NULL) VM_OBJECT_WUNLOCK(object); - obj_locked = false; - } vm_pageout_reinsert_inactive(, , NULL); vm_pageout_reinsert_inactive(, , NULL); vm_pagequeue_lock(pq); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344021 - head/share/man/man7
> On Feb 17, 2019, at 04:17, Jan Beich wrote: > > Edward Tomasz Napierala writes: > >> ... while the >> +.Em quarterly > > .Em looks unnecessary as "the" is enough. /quarterly is a package set > (or repository), not an actual name of the branch. > > - /head -> /latest > - /branches/*Q* -> /quarterly > - /tags/RELEASE_* -> /release_* > >> +subdirectory, eg: > > Did you mean "subdirectory e.g.," ? > > https://english.stackexchange.com/questions/16172/should-i-always-use-a-comma-after-e-g-or-i-e It’s actually “subdirectory, e.g.,”. igor will correct the usage :). Cheers! -Enji ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344230 - stable/11/sys/i386/include
Author: kib Date: Sun Feb 17 10:01:42 2019 New Revision: 344230 URL: https://svnweb.freebsd.org/changeset/base/344230 Log: MFC r343723: i386: Do not ever store to other-CPU counter64 slot. Modified: stable/11/sys/i386/include/counter.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/i386/include/counter.h == --- stable/11/sys/i386/include/counter.hSun Feb 17 09:57:43 2019 (r344229) +++ stable/11/sys/i386/include/counter.hSun Feb 17 10:01:42 2019 (r344230) @@ -68,7 +68,12 @@ counter_64_inc_8b(uint64_t *p, int64_t inc) } #ifdef IN_SUBR_COUNTER_C -static inline uint64_t +struct counter_u64_fetch_cx8_arg { + uint64_t res; + uint64_t *p; +}; + +static uint64_t counter_u64_read_one_8b(uint64_t *p) { uint32_t res_lo, res_high; @@ -83,9 +88,22 @@ counter_u64_read_one_8b(uint64_t *p) return (res_lo + ((uint64_t)res_high << 32)); } +static void +counter_u64_fetch_cx8_one(void *arg1) +{ + struct counter_u64_fetch_cx8_arg *arg; + uint64_t val; + + arg = arg1; + val = counter_u64_read_one_8b((uint64_t *)((char *)arg->p + + sizeof(struct pcpu) * PCPU_GET(cpuid))); + atomic_add_64(>res, val); +} + static inline uint64_t counter_u64_fetch_inline(uint64_t *p) { + struct counter_u64_fetch_cx8_arg arg; uint64_t res; int i; @@ -104,9 +122,10 @@ counter_u64_fetch_inline(uint64_t *p) } critical_exit(); } else { - CPU_FOREACH(i) - res += counter_u64_read_one_8b((uint64_t *)((char *)p + - sizeof(struct pcpu) * i)); + arg.p = p; + arg.res = 0; + smp_rendezvous(NULL, counter_u64_fetch_cx8_one, NULL, ); + res = arg.res; } return (res); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344229 - stable/12/sys/i386/include
Author: kib Date: Sun Feb 17 09:57:43 2019 New Revision: 344229 URL: https://svnweb.freebsd.org/changeset/base/344229 Log: MFC r343723: i386: Do not ever store to other-CPU counter64 slot. Modified: stable/12/sys/i386/include/counter.h Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/i386/include/counter.h == --- stable/12/sys/i386/include/counter.hSun Feb 17 09:56:11 2019 (r344228) +++ stable/12/sys/i386/include/counter.hSun Feb 17 09:57:43 2019 (r344229) @@ -72,7 +72,12 @@ counter_64_inc_8b(uint64_t *p, int64_t inc) } #ifdef IN_SUBR_COUNTER_C -static inline uint64_t +struct counter_u64_fetch_cx8_arg { + uint64_t res; + uint64_t *p; +}; + +static uint64_t counter_u64_read_one_8b(uint64_t *p) { uint32_t res_lo, res_high; @@ -87,9 +92,22 @@ counter_u64_read_one_8b(uint64_t *p) return (res_lo + ((uint64_t)res_high << 32)); } +static void +counter_u64_fetch_cx8_one(void *arg1) +{ + struct counter_u64_fetch_cx8_arg *arg; + uint64_t val; + + arg = arg1; + val = counter_u64_read_one_8b((uint64_t *)((char *)arg->p + + UMA_PCPU_ALLOC_SIZE * PCPU_GET(cpuid))); + atomic_add_64(>res, val); +} + static inline uint64_t counter_u64_fetch_inline(uint64_t *p) { + struct counter_u64_fetch_cx8_arg arg; uint64_t res; int i; @@ -108,9 +126,10 @@ counter_u64_fetch_inline(uint64_t *p) } critical_exit(); } else { - CPU_FOREACH(i) - res += counter_u64_read_one_8b((uint64_t *)((char *)p + - UMA_PCPU_ALLOC_SIZE * i)); + arg.p = p; + arg.res = 0; + smp_rendezvous(NULL, counter_u64_fetch_cx8_one, NULL, ); + res = arg.res; } return (res); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344021 - head/share/man/man7
Edward Tomasz Napierala writes: > ... while the > +.Em quarterly .Em looks unnecessary as "the" is enough. /quarterly is a package set (or repository), not an actual name of the branch. - /head -> /latest - /branches/*Q* -> /quarterly - /tags/RELEASE_* -> /release_* > +subdirectory, eg: Did you mean "subdirectory e.g.," ? https://english.stackexchange.com/questions/16172/should-i-always-use-a-comma-after-e-g-or-i-e ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344228 - stable/12/sys/vm
Author: kib Date: Sun Feb 17 09:56:11 2019 New Revision: 344228 URL: https://svnweb.freebsd.org/changeset/base/344228 Log: MFC r343966: struct xswdev on amd64 requires compat32 shims after ino64. Modified: stable/12/sys/vm/swap_pager.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/vm/swap_pager.c == --- stable/12/sys/vm/swap_pager.c Sun Feb 17 03:52:44 2019 (r344227) +++ stable/12/sys/vm/swap_pager.c Sun Feb 17 09:56:11 2019 (r344228) @@ -2475,10 +2475,23 @@ struct xswdev11 { }; #endif +#if defined(__amd64__) && defined(COMPAT_FREEBSD32) +struct xswdev32 { + u_int xsw_version; + u_int xsw_dev1, xsw_dev2; + int xsw_flags; + int xsw_nblks; + int xsw_used; +}; +#endif + static int sysctl_vm_swap_info(SYSCTL_HANDLER_ARGS) { struct xswdev xs; +#if defined(__amd64__) && defined(COMPAT_FREEBSD32) + struct xswdev32 xs32; +#endif #if defined(COMPAT_FREEBSD11) struct xswdev11 xs11; #endif @@ -2489,6 +2502,18 @@ sysctl_vm_swap_info(SYSCTL_HANDLER_ARGS) error = swap_dev_info(*(int *)arg1, , NULL, 0); if (error != 0) return (error); +#if defined(__amd64__) && defined(COMPAT_FREEBSD32) + if (req->oldlen == sizeof(xs32)) { + xs32.xsw_version = XSWDEV_VERSION; + xs32.xsw_dev1 = xs.xsw_dev; + xs32.xsw_dev2 = xs.xsw_dev >> 32; + xs32.xsw_flags = xs.xsw_flags; + xs32.xsw_nblks = xs.xsw_nblks; + xs32.xsw_used = xs.xsw_used; + error = SYSCTL_OUT(req, , sizeof(xs32)); + return (error); + } +#endif #if defined(COMPAT_FREEBSD11) if (req->oldlen == sizeof(xs11)) { xs11.xsw_version = XSWDEV_VERSION_11; @@ -2497,9 +2522,10 @@ sysctl_vm_swap_info(SYSCTL_HANDLER_ARGS) xs11.xsw_nblks = xs.xsw_nblks; xs11.xsw_used = xs.xsw_used; error = SYSCTL_OUT(req, , sizeof(xs11)); - } else + return (error); + } #endif - error = SYSCTL_OUT(req, , sizeof(xs)); + error = SYSCTL_OUT(req, , sizeof(xs)); return (error); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344227 - head/stand/i386/zfsboot
Author: pkelsey Date: Sun Feb 17 03:52:44 2019 New Revision: 344227 URL: https://svnweb.freebsd.org/changeset/base/344227 Log: Remove whole-disk vdev support from zfsboot This is consistent with the removal of whole-disk vdev support from libsa/zfs/zfs.c in r342151, and is part way to having the LBAs read during probe be fully constrained by partition tables when present. Reviewed by: tsoome MFC after:3 months Differential Revision:https://reviews.freebsd.org/D19142 Modified: head/stand/i386/zfsboot/zfsboot.c Modified: head/stand/i386/zfsboot/zfsboot.c == --- head/stand/i386/zfsboot/zfsboot.c Sun Feb 17 03:35:15 2019 (r344226) +++ head/stand/i386/zfsboot/zfsboot.c Sun Feb 17 03:52:44 2019 (r344227) @@ -545,32 +545,19 @@ probe_drive(struct zfsdsk *zdsk) char *sec; unsigned i; -/* - * If we find a vdev on the whole disk, stop here. - */ -if (vdev_probe(vdev_read2, zdsk, NULL) == 0) - return; - #ifdef LOADER_GELI_SUPPORT /* - * Taste the disk, if it is GELI encrypted, decrypt it and check to see if - * it is a usable vdev then. Otherwise dig - * out the partition table and probe each slice/partition - * in turn for a vdev or GELI encrypted vdev. + * Taste the disk, if it is GELI encrypted, decrypt it then dig out the + * partition table and probe each slice/partition in turn for a vdev or + * GELI encrypted vdev. */ elba = drvsize_ext(zdsk); if (elba > 0) { elba--; } zdsk->gdev = geli_taste(vdev_read, zdsk, elba, "disk%u:0:"); -if (zdsk->gdev != NULL) { - if (geli_havekey(zdsk->gdev) == 0 || - geli_passphrase(zdsk->gdev, gelipw) == 0) { - if (vdev_probe(vdev_read2, zdsk, NULL) == 0) { - return; - } - } -} +if ((zdsk->gdev != NULL) && (geli_havekey(zdsk->gdev) == 0)) + geli_passphrase(zdsk->gdev, gelipw); #endif /* LOADER_GELI_SUPPORT */ sec = dmadat->secbuf; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344226 - head/stand/libsa/zfs
Author: pkelsey Date: Sun Feb 17 03:35:15 2019 New Revision: 344226 URL: https://svnweb.freebsd.org/changeset/base/344226 Log: Fix memory corruption bug introduced in r325310 The bug occurred when a bounce buffer was used and the requested read size was greater than the size of the bounce buffer. This commit also rewrites the read logic so that it is easier to systematically verify all alignment and size cases. Reviewed by: allanjude, tsoome MFC after:3 months Differential Revision:https://reviews.freebsd.org/D19140 Modified: head/stand/libsa/zfs/zfs.c Modified: head/stand/libsa/zfs/zfs.c == --- head/stand/libsa/zfs/zfs.c Sun Feb 17 03:21:42 2019(r344225) +++ head/stand/libsa/zfs/zfs.c Sun Feb 17 03:35:15 2019(r344226) @@ -363,51 +363,100 @@ static int vdev_read(vdev_t *vdev, void *priv, off_t offset, void *buf, size_t bytes) { int fd, ret; - size_t res, size, remainder, rb_size, blksz; - unsigned secsz; - off_t off; - char *bouncebuf, *rb_buf; + size_t res, head, tail, total_size, full_sec_size; + unsigned secsz, do_tail_read; + off_t start_sec; + char *outbuf, *bouncebuf; fd = (uintptr_t) priv; + outbuf = (char *) buf; bouncebuf = NULL; ret = ioctl(fd, DIOCGSECTORSIZE, ); if (ret != 0) return (ret); - off = offset / secsz; - remainder = offset % secsz; - if (lseek(fd, off * secsz, SEEK_SET) == -1) - return (errno); + /* +* Handling reads of arbitrary offset and size - multi-sector case +* and single-sector case. +* +*Multi-sector Case +*(do_tail_read = true if tail > 0) +* +* |<--total_size->| +* | | +* |<--head-->|<--bytes>|<--tail-->| +* | | | | +* | | |<~full_sec_size~>| | | +* +--+ +--+ +* | |0101010| . . . |0101011| | +* +--+ +--+ +* start_sec start_sec + n +* +* +* Single-sector Case +*(do_tail_read = false) +* +* |<--total_size = secsz->| +* | | +* |<-head->|<---bytes--->|<-tail->| +* +---+ +* ||0101010101010|| +* +---+ +* start_sec +*/ + start_sec = offset / secsz; + head = offset % secsz; + total_size = roundup2(head + bytes, secsz); + tail = total_size - (head + bytes); + do_tail_read = ((tail > 0) && (head + bytes > secsz)); + full_sec_size = total_size; + if (head > 0) + full_sec_size -= secsz; + if (do_tail_read) + full_sec_size -= secsz; - rb_buf = buf; - rb_size = bytes; - size = roundup2(bytes + remainder, secsz); - blksz = size; - if (remainder != 0 || size != bytes) { + /* Return of partial sector data requires a bounce buffer. */ + if ((head > 0) || do_tail_read) { bouncebuf = zfs_alloc(secsz); if (bouncebuf == NULL) { printf("vdev_read: out of memory\n"); return (ENOMEM); } - rb_buf = bouncebuf; - blksz = rb_size - remainder; } - while (bytes > 0) { - res = read(fd, rb_buf, rb_size); - if (res != rb_size) { + if (lseek(fd, start_sec * secsz, SEEK_SET) == -1) + return (errno); + + /* Partial data return from first sector */ + if (head > 0) { + res = read(fd, bouncebuf, secsz); + if (res != secsz) { ret = EIO; goto error; } - if (bytes < blksz) - blksz = bytes; - if (bouncebuf != NULL) - memcpy(buf, rb_buf + remainder, blksz); - buf = (void *)((uintptr_t)buf + blksz); - bytes -= blksz; - remainder = 0; - blksz = rb_size; + memcpy(outbuf, bouncebuf + head, secsz - head); + outbuf += secsz - head; + } + + /* Full data return from read sectors */ + if
svn commit: r344225 - stable/11/sys/net80211
Author: avos Date: Sun Feb 17 03:21:42 2019 New Revision: 344225 URL: https://svnweb.freebsd.org/changeset/base/344225 Log: MFC r343699: net80211: do not setup Tx parameters for unsupported modes. That should shorten 'ifconfig list txparam' output since unsupported modes will not be shown. Modified: stable/11/sys/net80211/ieee80211_proto.c stable/11/sys/net80211/ieee80211_tdma.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_proto.c == --- stable/11/sys/net80211/ieee80211_proto.cSun Feb 17 03:21:18 2019 (r344224) +++ stable/11/sys/net80211/ieee80211_proto.cSun Feb 17 03:21:42 2019 (r344225) @@ -345,6 +345,9 @@ ieee80211_proto_vattach(struct ieee80211vap *vap) * driver and/or user applications. */ for (i = IEEE80211_MODE_11A; i < IEEE80211_MODE_MAX; i++) { + if (isclr(ic->ic_modecaps, i)) + continue; + const struct ieee80211_rateset *rs = >ic_sup_rates[i]; vap->iv_txparms[i].ucastrate = IEEE80211_FIXED_RATE_NONE; Modified: stable/11/sys/net80211/ieee80211_tdma.c == --- stable/11/sys/net80211/ieee80211_tdma.c Sun Feb 17 03:21:18 2019 (r344224) +++ stable/11/sys/net80211/ieee80211_tdma.c Sun Feb 17 03:21:42 2019 (r344225) @@ -125,6 +125,9 @@ static int tdma_process_params(struct ieee80211_node * static void settxparms(struct ieee80211vap *vap, enum ieee80211_phymode mode, int rate) { + if (isclr(vap->iv_ic->ic_modecaps, mode)) + return; + vap->iv_txparms[mode].ucastrate = rate; vap->iv_txparms[mode].mcastrate = rate; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344224 - stable/12/sys/net80211
Author: avos Date: Sun Feb 17 03:21:18 2019 New Revision: 344224 URL: https://svnweb.freebsd.org/changeset/base/344224 Log: MFC r343699: net80211: do not setup Tx parameters for unsupported modes. That should shorten 'ifconfig list txparam' output since unsupported modes will not be shown. Modified: stable/12/sys/net80211/ieee80211_proto.c stable/12/sys/net80211/ieee80211_tdma.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/net80211/ieee80211_proto.c == --- stable/12/sys/net80211/ieee80211_proto.cSun Feb 17 03:12:27 2019 (r344223) +++ stable/12/sys/net80211/ieee80211_proto.cSun Feb 17 03:21:18 2019 (r344224) @@ -347,6 +347,9 @@ ieee80211_proto_vattach(struct ieee80211vap *vap) * driver and/or user applications. */ for (i = IEEE80211_MODE_11A; i < IEEE80211_MODE_MAX; i++) { + if (isclr(ic->ic_modecaps, i)) + continue; + const struct ieee80211_rateset *rs = >ic_sup_rates[i]; vap->iv_txparms[i].ucastrate = IEEE80211_FIXED_RATE_NONE; Modified: stable/12/sys/net80211/ieee80211_tdma.c == --- stable/12/sys/net80211/ieee80211_tdma.c Sun Feb 17 03:12:27 2019 (r344223) +++ stable/12/sys/net80211/ieee80211_tdma.c Sun Feb 17 03:21:18 2019 (r344224) @@ -127,6 +127,9 @@ static int tdma_process_params(struct ieee80211_node * static void settxparms(struct ieee80211vap *vap, enum ieee80211_phymode mode, int rate) { + if (isclr(vap->iv_ic->ic_modecaps, mode)) + return; + vap->iv_txparms[mode].ucastrate = rate; vap->iv_txparms[mode].mcastrate = rate; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344222 - stable/12/sys/net80211
Author: avos Date: Sun Feb 17 03:11:42 2019 New Revision: 344222 URL: https://svnweb.freebsd.org/changeset/base/344222 Log: MFC r343696: net80211: do not setup roaming parameters for unsupported modes. ifconfig(8) prints per-mode parameters if they are non-zero; since we have 13 possible modes with 3...5 typically supported this change should greatly reduce amount of information for 'ifconfig list roam' command. While here ensure that sta_roam_check() will not use roaming parameters for unsupported modes (it should not). This change effectively reverts r188776. Modified: stable/12/sys/net80211/ieee80211_scan.c stable/12/sys/net80211/ieee80211_scan_sta.c Directory Properties: stable/12/ (props changed) Modified: stable/12/sys/net80211/ieee80211_scan.c == --- stable/12/sys/net80211/ieee80211_scan.c Sun Feb 17 02:58:44 2019 (r344221) +++ stable/12/sys/net80211/ieee80211_scan.c Sun Feb 17 03:11:42 2019 (r344222) @@ -130,13 +130,21 @@ void ieee80211_scan_vattach(struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; + int m; vap->iv_bgscanidle = (IEEE80211_BGSCAN_IDLE_DEFAULT*1000)/hz; vap->iv_bgscanintvl = IEEE80211_BGSCAN_INTVAL_DEFAULT*hz; vap->iv_scanvalid = IEEE80211_SCAN_VALID_DEFAULT*hz; vap->iv_roaming = IEEE80211_ROAMING_AUTO; - memcpy(vap->iv_roamparms, defroam, sizeof(defroam)); + + memset(vap->iv_roamparms, 0, sizeof(vap->iv_roamparms)); + for (m = IEEE80211_MODE_AUTO + 1; m < IEEE80211_MODE_MAX; m++) { + if (isclr(ic->ic_modecaps, m)) + continue; + + memcpy(>iv_roamparms[m], [m], sizeof(defroam[m])); + } ic->ic_scan_methods->sc_vattach(vap); } Modified: stable/12/sys/net80211/ieee80211_scan_sta.c == --- stable/12/sys/net80211/ieee80211_scan_sta.c Sun Feb 17 02:58:44 2019 (r344221) +++ stable/12/sys/net80211/ieee80211_scan_sta.c Sun Feb 17 03:11:42 2019 (r344222) @@ -1354,6 +1354,9 @@ sta_roam_check(struct ieee80211_scan_state *ss, struct mode = ieee80211_chan2mode(ic->ic_bsschan); roamRate = vap->iv_roamparms[mode].rate; roamRssi = vap->iv_roamparms[mode].rssi; + KASSERT(roamRate != 0 && roamRssi != 0, ("iv_roamparms are not" + "initialized for %s mode!", ieee80211_phymode_name[mode])); + ucastRate = vap->iv_txparms[mode].ucastrate; /* NB: the most up to date rssi is in the node, not the scan cache */ curRssi = ic->ic_node_getrssi(ni); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344221 - in stable: 10/sys/cam/scsi 11/sys/cam/scsi 12/sys/cam/scsi
Author: avos Date: Sun Feb 17 02:58:44 2019 New Revision: 344221 URL: https://svnweb.freebsd.org/changeset/base/344221 Log: MFC r343501: Add NO_6_BYTE / NO_SYNC_CACHE quirks for (C|D|E).* Olympus digital cameras PR: 97472 Submitted by: Fabio Luis Girardi Reviewed by: imp Modified: stable/11/sys/cam/scsi/scsi_da.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/cam/scsi/scsi_da.c stable/12/sys/cam/scsi/scsi_da.c Directory Properties: stable/10/ (props changed) stable/12/ (props changed) Modified: stable/11/sys/cam/scsi/scsi_da.c == --- stable/11/sys/cam/scsi/scsi_da.cSun Feb 17 02:39:17 2019 (r344220) +++ stable/11/sys/cam/scsi/scsi_da.cSun Feb 17 02:58:44 2019 (r344221) @@ -1059,6 +1059,30 @@ static struct da_quirk_entry da_quirk_table[] = }, { /* +* Olympus digital cameras (C-3040ZOOM, C-2040ZOOM, C-1) +* PR: usb/97472 +*/ + { T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "C*", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE | DA_Q_NO_SYNC_CACHE + }, + { + /* +* Olympus digital cameras (D-370) +* PR: usb/97472 +*/ + { T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "D*", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE + }, + { + /* +* Olympus digital cameras (E-100RS, E-10). +* PR: usb/97472 +*/ + { T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "E*", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE | DA_Q_NO_SYNC_CACHE + }, + { + /* * Olympus FE-210 camera */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "FE210*", ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r344223 - stable/11/sys/net80211
Sun, 17 Feb 2019 05:12:27 +0200 було написано Andriy Voskoboinyk : Author: avos Date: Sun Feb 17 03:12:27 2019 New Revision: 344223 URL: https://svnweb.freebsd.org/changeset/base/344223 Log: MFC r343696: net80211: do not setup roaming parameters for unsupported modes. ifconfig(8) prints per-mode parameters if they are non-zero; since we have 13 possible modes with 3...5 typically supported this change should greatly reduce amount of information for 'ifconfig list roam' command. Note for 11-STABLE: here we have only 11 modes (no VHT 2GHz / 5GHz). ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344223 - stable/11/sys/net80211
Author: avos Date: Sun Feb 17 03:12:27 2019 New Revision: 344223 URL: https://svnweb.freebsd.org/changeset/base/344223 Log: MFC r343696: net80211: do not setup roaming parameters for unsupported modes. ifconfig(8) prints per-mode parameters if they are non-zero; since we have 13 possible modes with 3...5 typically supported this change should greatly reduce amount of information for 'ifconfig list roam' command. While here ensure that sta_roam_check() will not use roaming parameters for unsupported modes (it should not). This change effectively reverts r188776. Modified: stable/11/sys/net80211/ieee80211_scan.c stable/11/sys/net80211/ieee80211_scan_sta.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/net80211/ieee80211_scan.c == --- stable/11/sys/net80211/ieee80211_scan.c Sun Feb 17 03:11:42 2019 (r344222) +++ stable/11/sys/net80211/ieee80211_scan.c Sun Feb 17 03:12:27 2019 (r344223) @@ -122,13 +122,21 @@ void ieee80211_scan_vattach(struct ieee80211vap *vap) { struct ieee80211com *ic = vap->iv_ic; + int m; vap->iv_bgscanidle = (IEEE80211_BGSCAN_IDLE_DEFAULT*1000)/hz; vap->iv_bgscanintvl = IEEE80211_BGSCAN_INTVAL_DEFAULT*hz; vap->iv_scanvalid = IEEE80211_SCAN_VALID_DEFAULT*hz; vap->iv_roaming = IEEE80211_ROAMING_AUTO; - memcpy(vap->iv_roamparms, defroam, sizeof(defroam)); + + memset(vap->iv_roamparms, 0, sizeof(vap->iv_roamparms)); + for (m = IEEE80211_MODE_AUTO + 1; m < IEEE80211_MODE_MAX; m++) { + if (isclr(ic->ic_modecaps, m)) + continue; + + memcpy(>iv_roamparms[m], [m], sizeof(defroam[m])); + } ic->ic_scan_methods->sc_vattach(vap); } Modified: stable/11/sys/net80211/ieee80211_scan_sta.c == --- stable/11/sys/net80211/ieee80211_scan_sta.c Sun Feb 17 03:11:42 2019 (r344222) +++ stable/11/sys/net80211/ieee80211_scan_sta.c Sun Feb 17 03:12:27 2019 (r344223) @@ -1324,6 +1324,9 @@ sta_roam_check(struct ieee80211_scan_state *ss, struct mode = ieee80211_chan2mode(ic->ic_bsschan); roamRate = vap->iv_roamparms[mode].rate; roamRssi = vap->iv_roamparms[mode].rssi; + KASSERT(roamRate != 0 && roamRssi != 0, ("iv_roamparms are not" + "initialized for %s mode!", ieee80211_phymode_name[mode])); + ucastRate = vap->iv_txparms[mode].ucastrate; /* NB: the most up to date rssi is in the node, not the scan cache */ curRssi = ic->ic_node_getrssi(ni); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344221 - in stable: 10/sys/cam/scsi 11/sys/cam/scsi 12/sys/cam/scsi
Author: avos Date: Sun Feb 17 02:58:44 2019 New Revision: 344221 URL: https://svnweb.freebsd.org/changeset/base/344221 Log: MFC r343501: Add NO_6_BYTE / NO_SYNC_CACHE quirks for (C|D|E).* Olympus digital cameras PR: 97472 Submitted by: Fabio Luis Girardi Reviewed by: imp Modified: stable/10/sys/cam/scsi/scsi_da.c Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/sys/cam/scsi/scsi_da.c stable/12/sys/cam/scsi/scsi_da.c Directory Properties: stable/11/ (props changed) stable/12/ (props changed) Modified: stable/10/sys/cam/scsi/scsi_da.c == --- stable/10/sys/cam/scsi/scsi_da.cSun Feb 17 02:39:17 2019 (r344220) +++ stable/10/sys/cam/scsi/scsi_da.cSun Feb 17 02:58:44 2019 (r344221) @@ -941,6 +941,30 @@ static struct da_quirk_entry da_quirk_table[] = }, { /* +* Olympus digital cameras (C-3040ZOOM, C-2040ZOOM, C-1) +* PR: usb/97472 +*/ + { T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "C*", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE | DA_Q_NO_SYNC_CACHE + }, + { + /* +* Olympus digital cameras (D-370) +* PR: usb/97472 +*/ + { T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "D*", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE + }, + { + /* +* Olympus digital cameras (E-100RS, E-10). +* PR: usb/97472 +*/ + { T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "E*", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE | DA_Q_NO_SYNC_CACHE + }, + { + /* * Olympus FE-210 camera */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "FE210*", ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344221 - in stable: 10/sys/cam/scsi 11/sys/cam/scsi 12/sys/cam/scsi
Author: avos Date: Sun Feb 17 02:58:44 2019 New Revision: 344221 URL: https://svnweb.freebsd.org/changeset/base/344221 Log: MFC r343501: Add NO_6_BYTE / NO_SYNC_CACHE quirks for (C|D|E).* Olympus digital cameras PR: 97472 Submitted by: Fabio Luis Girardi Reviewed by: imp Modified: stable/12/sys/cam/scsi/scsi_da.c Directory Properties: stable/12/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/cam/scsi/scsi_da.c stable/11/sys/cam/scsi/scsi_da.c Directory Properties: stable/10/ (props changed) stable/11/ (props changed) Modified: stable/12/sys/cam/scsi/scsi_da.c == --- stable/12/sys/cam/scsi/scsi_da.cSun Feb 17 02:39:17 2019 (r344220) +++ stable/12/sys/cam/scsi/scsi_da.cSun Feb 17 02:58:44 2019 (r344221) @@ -1081,6 +1081,30 @@ static struct da_quirk_entry da_quirk_table[] = }, { /* +* Olympus digital cameras (C-3040ZOOM, C-2040ZOOM, C-1) +* PR: usb/97472 +*/ + { T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "C*", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE | DA_Q_NO_SYNC_CACHE + }, + { + /* +* Olympus digital cameras (D-370) +* PR: usb/97472 +*/ + { T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "D*", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE + }, + { + /* +* Olympus digital cameras (E-100RS, E-10). +* PR: usb/97472 +*/ + { T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "E*", "*"}, + /*quirks*/ DA_Q_NO_6_BYTE | DA_Q_NO_SYNC_CACHE + }, + { + /* * Olympus FE-210 camera */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "OLYMPUS", "FE210*", ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r344220 - in stable/11: . contrib/lua contrib/lua/doc contrib/lua/src share/man/man9 share/mk stand stand/common stand/defaults stand/liblua stand/liblua32 stand/libsa stand/lua sys/sys...
Author: kevans Date: Sun Feb 17 02:39:17 2019 New Revision: 344220 URL: https://svnweb.freebsd.org/changeset/base/344220 Log: MFC lualoader: r326353, r328440, r328443, r329166-r329167, r329274, r329329, r329349-r329352, r329355-r329359, r329366-r329369, r329386-r329387, r329393, r329413-r329415, r329417, r329424-r329436, r329457, r329473-r329474, r329496-r329501, r329503-r329504, r329543, r329547-r329551, r329576-r329578, r329580, r329583, r329585-r329590, r329592-r329596, r329609-r329611, r329614, r329619, r329621-r329622, r329624, r329626-r329627, r329629-r329632, r329640-r329641, r329643-r329646, r329649-r329650, r329654, r329656, r329662, r329669-r329671, r329673-r329674, r329680, r329684-r329689, r329692-r329693, r329696-r329700, r329709, r329716, r329731, r329733-r329734, r329747-r329748, r329756, r329779, r329782, r329784, r329786, r329804, r329806, r329809, r329811, r329836, r329850-r329852, r329854, r329856-r329858, r329861, r329895, r329897-r329899, r329901-r329903, r329922-r329924, r329927-r329928, r329944-r329949, r329986-r329987, r330008-r330010, r330012, r330020, r330082-r330084, r330087-r330088, r330098-r330101, r330138-r330139, r330261-r330263, r330267-r330269, r330281-r330284, r330287, r330339-r330342, r330345-r330346, r330369-r330370, r330434-r330435, r330564, r330616-r330618, r330620, r330625, r330690, r330701, r330703, r330825, r331211, r331257, r331259, r331281-r331282, r331304, r331314, r331476-r331477, r331563-r331564, r331854-r331857, r331859-r331860, r332106, r334723, r334879, r334891, r334907, r334912, r334939, r334986, r335009, r335371, r336759, r337711, r337807-r337810, r338054, r338063, r338065-r338067, r338083, r338085-r338086, r338108, r338167-r338168, r338173, r338203, r338255, r338259, r338309, r338394, r338438, r338886, r338893, r339173, r339200, r339218, r339222, r339301, r339307, r339677-r339678, r339702, r339805, r339831, r339849, r340040, r340152 Some notes for this MFC: - This is still pre-forth/lua coexistance; that will come shortly-ish so that forth/lua may be installed together (with forth remaining the default) - module_blacklist support for lualoader has been MFC'd, but the drm modules are not blacklisted in this stable branch. r326353: Import lua 5.3.4 to contrib r328440: Preserve the original luaconf.h in a convenient place. Clients will r328443: Gross hack to omit printing hex floating point when the lua number r329166: Add Lua as a scripting langauge to /boot/loader r329167: Add the lua scripts from the lua-bootloader SoC r329274: stand/lua: Exit sub-menus on backspace r329329: stand/lua: Always boot on 'enter' keypress in menus r329349: stand/lua: Reduce magic numbers r329350: stand/lua: Don't descend into an empty kernels submenu r329351: stand/lua: Set reasonable ACPI default based on presence r329352: stand/lua: Consistently use semicolons for line endings r329355: stand/lua: Move kernel selection into main menu r329356: stand/lua: Allow menu items to not have explicit aliases r329357: stand/lua: Remove explicit alias from "Back to main menu" r329358: stand/lua: Say "loader prompt" instead of "lua interpreter" r329359: stand/lua: Remove a magic number/string (not a trivial literal) r329366: stand/lua: Set ACPI's default the proper way (setACPI) r329367: stand/lua: Create a "carousel" menu entry type r329368: stand/lua: Create/use some MENU_ constants where applicable r329369: stand/lua: Remove sneaky kernel assignment r329386: stand/lua: Correct usage and acceptance of BACKSPACE/DELETE keys r329387: stand/lua: Chop off the decimal for numbers passed to setcursor r329393: stand/lua: Use escaped dot instead of single character class r329413: stand/lua: Allow MENU_RETURN items to have func, fix esc. to prompt r329414: stand/lua: Don't try to divide by 0; do nothing r329415: stand/lua: Don't reload kernel config if we only have one kernel r329417: stand/lua: Make CAROUSEL_ENTRY func parameters consistent with name r329424: stand/lua: Don't set autoboot_delay=NO in menu autoboot sequence r329425: stand/lua: Enable menu autoboot; it seems to work r329426: stand/lua: Correct interpretation of autoboot_delay r329427: stand/lua: Color non-default kernels blue r329428: stand/lua: Correct some trivial errors in config r329429: stand/lua: Add debug method to dump modules r329430: stand/lua: Address some nits r329431: stand/lua: Correct test sense, this should have been 'not nil' r329432: stand/lua: Try to load alternate kernels as directories first r329433: stand/lua: Add optional GELI passphrase prompt r329434: stand/lua: Check for nil (GELI prompt) r329435: stand/lua: Style pass r329436: stand/lua: Debugging string snuck in... r329457: stand/lua: dumpModules => lsModules r329473: liblua: Clean up io/loader C module registration r329474: liblua: Emulate DIR, opendir, fdopendir, closedir r329496: stand/lua: