Re: svn commit: r344157 - stable/12/lib/libc/x86/sys

2019-02-17 Thread Konstantin Belousov
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

2019-02-17 Thread Devin Teske


> 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

2019-02-17 Thread Warner Losh
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

2019-02-17 Thread Ian Lepore
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

2019-02-17 Thread Ian Lepore
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

2019-02-17 Thread Ed Maste
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

2019-02-17 Thread Rodney W. Grimes
> 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

2019-02-17 Thread Andriy Voskoboinyk
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

2019-02-17 Thread Andriy Voskoboinyk
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

2019-02-17 Thread Kyle Evans
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

2019-02-17 Thread Kyle Evans
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

2019-02-17 Thread Justin Hibbits
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

2019-02-17 Thread Ian Lepore
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

2019-02-17 Thread Ian Lepore
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

2019-02-17 Thread Ian Lepore
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

2019-02-17 Thread Herbert J. Skuhra
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

2019-02-17 Thread Konstantin Belousov
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

2019-02-17 Thread Ian Lepore
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

2019-02-17 Thread Mariusz Zaborski
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

2019-02-17 Thread O. Hartmann
-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

2019-02-17 Thread Mark Johnston
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

2019-02-17 Thread Mariusz Zaborski
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

2019-02-17 Thread Herbert J. Skuhra
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

2019-02-17 Thread Jilles Tjoelker
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

2019-02-17 Thread Patrick Kelsey
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

2019-02-17 Thread Mark Johnston
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

2019-02-17 Thread Mark Johnston
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

2019-02-17 Thread Enji Cooper

> 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

2019-02-17 Thread Konstantin Belousov
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

2019-02-17 Thread Konstantin Belousov
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

2019-02-17 Thread Jan Beich
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

2019-02-17 Thread Konstantin Belousov
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

2019-02-17 Thread Patrick Kelsey
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

2019-02-17 Thread Patrick Kelsey
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

2019-02-17 Thread Andriy Voskoboinyk
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

2019-02-17 Thread Andriy Voskoboinyk
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

2019-02-17 Thread Andriy Voskoboinyk
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

2019-02-17 Thread Andriy Voskoboinyk
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

2019-02-17 Thread Andriy Voskoboinyk
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

2019-02-17 Thread 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.
  
  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

2019-02-17 Thread Andriy Voskoboinyk
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

2019-02-17 Thread Andriy Voskoboinyk
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...

2019-02-17 Thread Kyle Evans
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: