svn commit: r330571 - in stable/10: contrib/less usr.bin/less

2018-03-06 Thread Xin LI
Author: delphij
Date: Wed Mar  7 06:39:00 2018
New Revision: 330571
URL: https://svnweb.freebsd.org/changeset/base/330571

Log:
  MFC r316339,317396,317829,326010,329554: less v530.
  
  Relnotes: yes

Added:
  stable/10/contrib/less/fmt.uni
 - copied unchanged from r326010, head/contrib/less/fmt.uni
Deleted:
  stable/10/contrib/less/mkhelp.c
Modified:
  stable/10/contrib/less/LICENSE
  stable/10/contrib/less/NEWS
  stable/10/contrib/less/README
  stable/10/contrib/less/brac.c
  stable/10/contrib/less/ch.c
  stable/10/contrib/less/charset.c
  stable/10/contrib/less/charset.h
  stable/10/contrib/less/cmd.h
  stable/10/contrib/less/cmdbuf.c
  stable/10/contrib/less/command.c
  stable/10/contrib/less/compose.uni
  stable/10/contrib/less/cvt.c
  stable/10/contrib/less/decode.c
  stable/10/contrib/less/edit.c
  stable/10/contrib/less/filename.c
  stable/10/contrib/less/forwback.c
  stable/10/contrib/less/funcs.h
  stable/10/contrib/less/help.c
  stable/10/contrib/less/ifile.c
  stable/10/contrib/less/input.c
  stable/10/contrib/less/jump.c
  stable/10/contrib/less/less.h
  stable/10/contrib/less/less.hlp
  stable/10/contrib/less/less.nro
  stable/10/contrib/less/lessecho.c
  stable/10/contrib/less/lessecho.nro
  stable/10/contrib/less/lesskey.c
  stable/10/contrib/less/lesskey.h
  stable/10/contrib/less/lesskey.nro
  stable/10/contrib/less/lglob.h
  stable/10/contrib/less/line.c
  stable/10/contrib/less/linenum.c
  stable/10/contrib/less/lsystem.c
  stable/10/contrib/less/main.c
  stable/10/contrib/less/mark.c
  stable/10/contrib/less/mkutable
  stable/10/contrib/less/optfunc.c
  stable/10/contrib/less/option.c
  stable/10/contrib/less/option.h
  stable/10/contrib/less/opttbl.c
  stable/10/contrib/less/os.c
  stable/10/contrib/less/output.c
  stable/10/contrib/less/pattern.c
  stable/10/contrib/less/pattern.h
  stable/10/contrib/less/pckeys.h
  stable/10/contrib/less/position.c
  stable/10/contrib/less/position.h
  stable/10/contrib/less/prompt.c
  stable/10/contrib/less/screen.c
  stable/10/contrib/less/scrsize.c
  stable/10/contrib/less/search.c
  stable/10/contrib/less/signal.c
  stable/10/contrib/less/tags.c
  stable/10/contrib/less/ttyin.c
  stable/10/contrib/less/ubin.uni
  stable/10/contrib/less/version.c
  stable/10/contrib/less/wide.uni
  stable/10/usr.bin/less/defines.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/contrib/less/LICENSE
==
--- stable/10/contrib/less/LICENSE  Wed Mar  7 06:13:47 2018
(r330570)
+++ stable/10/contrib/less/LICENSE  Wed Mar  7 06:39:00 2018
(r330571)
@@ -2,7 +2,7 @@
   
 
 Less
-Copyright (C) 1984-2015  Mark Nudelman
+Copyright (C) 1984-2016  Mark Nudelman
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions

Modified: stable/10/contrib/less/NEWS
==
--- stable/10/contrib/less/NEWS Wed Mar  7 06:13:47 2018(r330570)
+++ stable/10/contrib/less/NEWS Wed Mar  7 06:39:00 2018(r330571)
@@ -11,6 +11,82 @@
 
 ==
 
+   Major changes between "less" versions 487 and 530
+
+* Don't output terminal init sequence if using -F and file fits on one screen.
+
+* When using -S, mark truncated lines with a special character.
+  The character can be changed or disabled via the new --rscroll option.
+
+* New command M marks the last line displayed on the screen.
+
+* New command ESC-m removes a line mark.
+
+* Status column (enabled via -J) now shows mark letters.
+
+* Status column shows search matches even if highlighting is disabled via -G.
+
+* A second ESC-u command will clear search match markers in the status column.
+
+* Do same ANSI escape code filtering for tag matching that we do for 
+  searching, to help when viewing syntax-highlighted code.
+  
+* Catch SIGTERM and clean up before exiting.
+
+* Fix bug initializing default charset on Windows.
+
+* Handle keypad ENTER key correctly if it sends something other than newline.
+
+* Fix buffering bug when using stdin with a LESSOPEN pipe.
+
+* On Windows, allow 'u' in -D option to enable underlining.
+
+* On Windows, use underline in sgr mode.
+
+* On Windows, convert UTF-8 to multibyte if console is not UTF-8.
+
+* Update Unicode tables to 2017-03-08.
+
+* Pass-thru Unicode formating chars (Cf type) instead of treating them
+  as binary chars. But treat them as binary if -U is set.
+
+* Fix erroneous binary file warning when UTF-8 file contains ANSI SGR 
sequences.
+
+* Fix bugs when using LESSOPEN and switching between stdin and other files.
+
+* Fix some bugs handling filenames containing shell metacharacters.
+
+* Fix some memory leaks.
+
+* Allow some debugging environment variables to be set in lesskey file.
+
+* Code 

svn commit: r330570 - in stable/11: contrib/less usr.bin/less

2018-03-06 Thread Xin LI
Author: delphij
Date: Wed Mar  7 06:13:47 2018
New Revision: 330570
URL: https://svnweb.freebsd.org/changeset/base/330570

Log:
  MFC r316339,317396,317829,326010,329554: less v530.
  
  Relnotes: yes

Added:
  stable/11/contrib/less/fmt.uni
 - copied unchanged from r326010, head/contrib/less/fmt.uni
Deleted:
  stable/11/contrib/less/mkhelp.c
Modified:
  stable/11/contrib/less/LICENSE
  stable/11/contrib/less/NEWS
  stable/11/contrib/less/README
  stable/11/contrib/less/brac.c
  stable/11/contrib/less/ch.c
  stable/11/contrib/less/charset.c
  stable/11/contrib/less/charset.h
  stable/11/contrib/less/cmd.h
  stable/11/contrib/less/cmdbuf.c
  stable/11/contrib/less/command.c
  stable/11/contrib/less/compose.uni
  stable/11/contrib/less/cvt.c
  stable/11/contrib/less/decode.c
  stable/11/contrib/less/edit.c
  stable/11/contrib/less/filename.c
  stable/11/contrib/less/forwback.c
  stable/11/contrib/less/funcs.h
  stable/11/contrib/less/help.c
  stable/11/contrib/less/ifile.c
  stable/11/contrib/less/input.c
  stable/11/contrib/less/jump.c
  stable/11/contrib/less/less.h
  stable/11/contrib/less/less.hlp
  stable/11/contrib/less/less.nro
  stable/11/contrib/less/lessecho.c
  stable/11/contrib/less/lessecho.nro
  stable/11/contrib/less/lesskey.c
  stable/11/contrib/less/lesskey.h
  stable/11/contrib/less/lesskey.nro
  stable/11/contrib/less/lglob.h
  stable/11/contrib/less/line.c
  stable/11/contrib/less/linenum.c
  stable/11/contrib/less/lsystem.c
  stable/11/contrib/less/main.c
  stable/11/contrib/less/mark.c
  stable/11/contrib/less/mkutable
  stable/11/contrib/less/optfunc.c
  stable/11/contrib/less/option.c
  stable/11/contrib/less/option.h
  stable/11/contrib/less/opttbl.c
  stable/11/contrib/less/os.c
  stable/11/contrib/less/output.c
  stable/11/contrib/less/pattern.c
  stable/11/contrib/less/pattern.h
  stable/11/contrib/less/pckeys.h
  stable/11/contrib/less/position.c
  stable/11/contrib/less/position.h
  stable/11/contrib/less/prompt.c
  stable/11/contrib/less/screen.c
  stable/11/contrib/less/scrsize.c
  stable/11/contrib/less/search.c
  stable/11/contrib/less/signal.c
  stable/11/contrib/less/tags.c
  stable/11/contrib/less/ttyin.c
  stable/11/contrib/less/ubin.uni
  stable/11/contrib/less/version.c
  stable/11/contrib/less/wide.uni
  stable/11/usr.bin/less/defines.h
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/contrib/less/LICENSE
==
--- stable/11/contrib/less/LICENSE  Wed Mar  7 06:04:25 2018
(r330569)
+++ stable/11/contrib/less/LICENSE  Wed Mar  7 06:13:47 2018
(r330570)
@@ -2,7 +2,7 @@
   
 
 Less
-Copyright (C) 1984-2015  Mark Nudelman
+Copyright (C) 1984-2016  Mark Nudelman
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions

Modified: stable/11/contrib/less/NEWS
==
--- stable/11/contrib/less/NEWS Wed Mar  7 06:04:25 2018(r330569)
+++ stable/11/contrib/less/NEWS Wed Mar  7 06:13:47 2018(r330570)
@@ -11,6 +11,82 @@
 
 ==
 
+   Major changes between "less" versions 487 and 530
+
+* Don't output terminal init sequence if using -F and file fits on one screen.
+
+* When using -S, mark truncated lines with a special character.
+  The character can be changed or disabled via the new --rscroll option.
+
+* New command M marks the last line displayed on the screen.
+
+* New command ESC-m removes a line mark.
+
+* Status column (enabled via -J) now shows mark letters.
+
+* Status column shows search matches even if highlighting is disabled via -G.
+
+* A second ESC-u command will clear search match markers in the status column.
+
+* Do same ANSI escape code filtering for tag matching that we do for 
+  searching, to help when viewing syntax-highlighted code.
+  
+* Catch SIGTERM and clean up before exiting.
+
+* Fix bug initializing default charset on Windows.
+
+* Handle keypad ENTER key correctly if it sends something other than newline.
+
+* Fix buffering bug when using stdin with a LESSOPEN pipe.
+
+* On Windows, allow 'u' in -D option to enable underlining.
+
+* On Windows, use underline in sgr mode.
+
+* On Windows, convert UTF-8 to multibyte if console is not UTF-8.
+
+* Update Unicode tables to 2017-03-08.
+
+* Pass-thru Unicode formating chars (Cf type) instead of treating them
+  as binary chars. But treat them as binary if -U is set.
+
+* Fix erroneous binary file warning when UTF-8 file contains ANSI SGR 
sequences.
+
+* Fix bugs when using LESSOPEN and switching between stdin and other files.
+
+* Fix some bugs handling filenames containing shell metacharacters.
+
+* Fix some memory leaks.
+
+* Allow some debugging environment variables to be set in lesskey file.
+
+* Code 

svn commit: r330569 - in releng: 10.3/contrib/file 10.3/contrib/file/doc 10.3/contrib/file/magic 10.3/contrib/file/magic/Magdir 10.3/contrib/file/python 10.3/contrib/file/src 10.3/contrib/file/test...

2018-03-06 Thread Gordon Tetlow
Author: gordon
Date: Wed Mar  7 06:04:25 2018
New Revision: 330569
URL: https://svnweb.freebsd.org/changeset/base/330569

Log:
  Update file(1) to new version with security update. [EN-18:02.file]
  
  Approved by:  so
  Security: FreeBSD-EN-18:02.file
  Security: CVE-2017-1000249

Added:
  releng/10.3/contrib/file/magic/Magdir/algol68
  releng/10.3/contrib/file/magic/Magdir/apache
  releng/10.3/contrib/file/magic/Magdir/application
  releng/10.3/contrib/file/magic/Magdir/apt
  releng/10.3/contrib/file/magic/Magdir/ber
  releng/10.3/contrib/file/magic/Magdir/bhl
  releng/10.3/contrib/file/magic/Magdir/bioinformatics
  releng/10.3/contrib/file/magic/Magdir/coff
  releng/10.3/contrib/file/magic/Magdir/coverage
  releng/10.3/contrib/file/magic/Magdir/der
  releng/10.3/contrib/file/magic/Magdir/finger
  releng/10.3/contrib/file/magic/Magdir/flif
  releng/10.3/contrib/file/magic/Magdir/gconv
  releng/10.3/contrib/file/magic/Magdir/gpu
  releng/10.3/contrib/file/magic/Magdir/microfocus
  releng/10.3/contrib/file/magic/Magdir/pc88
  releng/10.3/contrib/file/magic/Magdir/pc98
  releng/10.3/contrib/file/magic/Magdir/polyml
  releng/10.3/contrib/file/magic/Magdir/psl
  releng/10.3/contrib/file/magic/Magdir/vacuum-cleaner
  releng/10.3/contrib/file/magic/Magdir/webassembly
  releng/10.3/contrib/file/magic/Magdir/x68000
  releng/10.3/contrib/file/magic/Magdir/yara
  releng/10.3/contrib/file/src/der.c
  releng/10.3/contrib/file/src/der.h
  releng/10.3/contrib/file/src/dprintf.c
  releng/10.3/contrib/file/tests/hddrawcopytool.result
  releng/10.4/contrib/file/magic/Magdir/apache
  releng/10.4/contrib/file/magic/Magdir/bhl
  releng/10.4/contrib/file/magic/Magdir/gconv
  releng/10.4/contrib/file/magic/Magdir/gpu
  releng/10.4/contrib/file/magic/Magdir/webassembly
  releng/10.4/contrib/file/magic/Magdir/yara
  releng/10.4/contrib/file/tests/hddrawcopytool.result
  releng/11.1/contrib/file/magic/Magdir/apache
  releng/11.1/contrib/file/magic/Magdir/bhl
  releng/11.1/contrib/file/magic/Magdir/gconv
  releng/11.1/contrib/file/magic/Magdir/gpu
  releng/11.1/contrib/file/magic/Magdir/webassembly
  releng/11.1/contrib/file/magic/Magdir/yara
  releng/11.1/contrib/file/tests/hddrawcopytool.result
Deleted:
  releng/10.3/contrib/file/python/README
  releng/10.3/contrib/file/src/magic.h
Modified:
  releng/10.3/contrib/file/ChangeLog
  releng/10.3/contrib/file/README
  releng/10.3/contrib/file/TODO
  releng/10.3/contrib/file/aclocal.m4
  releng/10.3/contrib/file/config.guess
  releng/10.3/contrib/file/config.h.in
  releng/10.3/contrib/file/config.sub
  releng/10.3/contrib/file/configure
  releng/10.3/contrib/file/configure.ac
  releng/10.3/contrib/file/doc/file.man
  releng/10.3/contrib/file/doc/libmagic.man
  releng/10.3/contrib/file/doc/magic.man
  releng/10.3/contrib/file/ltmain.sh
  releng/10.3/contrib/file/magic/Localstuff
  releng/10.3/contrib/file/magic/Magdir/adventure
  releng/10.3/contrib/file/magic/Magdir/amanda
  releng/10.3/contrib/file/magic/Magdir/amigaos
  releng/10.3/contrib/file/magic/Magdir/android
  releng/10.3/contrib/file/magic/Magdir/animation
  releng/10.3/contrib/file/magic/Magdir/apple
  releng/10.3/contrib/file/magic/Magdir/archive
  releng/10.3/contrib/file/magic/Magdir/att3b
  releng/10.3/contrib/file/magic/Magdir/audio
  releng/10.3/contrib/file/magic/Magdir/blackberry
  releng/10.3/contrib/file/magic/Magdir/blender
  releng/10.3/contrib/file/magic/Magdir/c-lang
  releng/10.3/contrib/file/magic/Magdir/cad
  releng/10.3/contrib/file/magic/Magdir/cafebabe
  releng/10.3/contrib/file/magic/Magdir/claris
  releng/10.3/contrib/file/magic/Magdir/clipper
  releng/10.3/contrib/file/magic/Magdir/commands
  releng/10.3/contrib/file/magic/Magdir/compress
  releng/10.3/contrib/file/magic/Magdir/console
  releng/10.3/contrib/file/magic/Magdir/cups
  releng/10.3/contrib/file/magic/Magdir/database
  releng/10.3/contrib/file/magic/Magdir/diff
  releng/10.3/contrib/file/magic/Magdir/dolby
  releng/10.3/contrib/file/magic/Magdir/dump
  releng/10.3/contrib/file/magic/Magdir/dyadic
  releng/10.3/contrib/file/magic/Magdir/editors
  releng/10.3/contrib/file/magic/Magdir/elf
  releng/10.3/contrib/file/magic/Magdir/filesystems
  releng/10.3/contrib/file/magic/Magdir/flash
  releng/10.3/contrib/file/magic/Magdir/fonts
  releng/10.3/contrib/file/magic/Magdir/fortran
  releng/10.3/contrib/file/magic/Magdir/fsav
  releng/10.3/contrib/file/magic/Magdir/games
  releng/10.3/contrib/file/magic/Magdir/gcc
  releng/10.3/contrib/file/magic/Magdir/geo
  releng/10.3/contrib/file/magic/Magdir/gnu
  releng/10.3/contrib/file/magic/Magdir/gpt
  releng/10.3/contrib/file/magic/Magdir/gringotts
  releng/10.3/contrib/file/magic/Magdir/hitachi-sh
  releng/10.3/contrib/file/magic/Magdir/ibm370
  releng/10.3/contrib/file/magic/Magdir/ibm6000
  releng/10.3/contrib/file/magic/Magdir/icc
  releng/10.3/contrib/file/magic/Magdir/images
  releng/10.3/contrib/file/magic/Magdir/intel
  releng/10.3/contrib/file/magic/Magdir/isz
  

svn commit: r330568 - in releng: 10.3/contrib/tzdata 10.4/contrib/tzdata 11.1/contrib/tzdata

2018-03-06 Thread Gordon Tetlow
Author: gordon
Date: Wed Mar  7 06:01:44 2018
New Revision: 330568
URL: https://svnweb.freebsd.org/changeset/base/330568

Log:
  Update timezone database information. [EN-18:01.tzdata]
  
  Approved by:  so
  Security: FreeBSD-EN-18:01.tzdata

Modified:
  releng/10.3/contrib/tzdata/Makefile
  releng/10.3/contrib/tzdata/NEWS
  releng/10.3/contrib/tzdata/README
  releng/10.3/contrib/tzdata/africa
  releng/10.3/contrib/tzdata/asia
  releng/10.3/contrib/tzdata/australasia
  releng/10.3/contrib/tzdata/backzone
  releng/10.3/contrib/tzdata/europe
  releng/10.3/contrib/tzdata/leap-seconds.list
  releng/10.3/contrib/tzdata/leapseconds
  releng/10.3/contrib/tzdata/northamerica
  releng/10.3/contrib/tzdata/southamerica
  releng/10.3/contrib/tzdata/theory.html
  releng/10.3/contrib/tzdata/version
  releng/10.3/contrib/tzdata/zishrink.awk
  releng/10.3/contrib/tzdata/zone.tab
  releng/10.3/contrib/tzdata/zone1970.tab
  releng/10.4/contrib/tzdata/Makefile
  releng/10.4/contrib/tzdata/NEWS
  releng/10.4/contrib/tzdata/README
  releng/10.4/contrib/tzdata/africa
  releng/10.4/contrib/tzdata/asia
  releng/10.4/contrib/tzdata/australasia
  releng/10.4/contrib/tzdata/backzone
  releng/10.4/contrib/tzdata/europe
  releng/10.4/contrib/tzdata/leap-seconds.list
  releng/10.4/contrib/tzdata/leapseconds
  releng/10.4/contrib/tzdata/northamerica
  releng/10.4/contrib/tzdata/southamerica
  releng/10.4/contrib/tzdata/theory.html
  releng/10.4/contrib/tzdata/version
  releng/10.4/contrib/tzdata/zishrink.awk
  releng/10.4/contrib/tzdata/zone.tab
  releng/10.4/contrib/tzdata/zone1970.tab
  releng/11.1/contrib/tzdata/Makefile
  releng/11.1/contrib/tzdata/NEWS
  releng/11.1/contrib/tzdata/README
  releng/11.1/contrib/tzdata/africa
  releng/11.1/contrib/tzdata/asia
  releng/11.1/contrib/tzdata/australasia
  releng/11.1/contrib/tzdata/backzone
  releng/11.1/contrib/tzdata/europe
  releng/11.1/contrib/tzdata/leap-seconds.list
  releng/11.1/contrib/tzdata/leapseconds
  releng/11.1/contrib/tzdata/northamerica
  releng/11.1/contrib/tzdata/southamerica
  releng/11.1/contrib/tzdata/theory.html
  releng/11.1/contrib/tzdata/version
  releng/11.1/contrib/tzdata/zishrink.awk
  releng/11.1/contrib/tzdata/zone.tab
  releng/11.1/contrib/tzdata/zone1970.tab

Modified: releng/10.3/contrib/tzdata/Makefile
==
--- releng/10.3/contrib/tzdata/Makefile Wed Mar  7 05:58:24 2018
(r330567)
+++ releng/10.3/contrib/tzdata/Makefile Wed Mar  7 06:01:44 2018
(r330568)
@@ -42,37 +42,64 @@ POSIXRULES= America/New_York
 # Also see TZDEFRULESTRING below, which takes effect only
 # if the time zone files cannot be accessed.
 
-# Everything gets put in subdirectories of. . .
 
-TOPDIR=/usr/local
+# Installation locations.
+#
+# The defaults are suitable for Debian, except that if REDO is
+# posix_right or right_posix then files that Debian puts under
+# /usr/share/zoneinfo/posix and /usr/share/zoneinfo/right are instead
+# put under /usr/share/zoneinfo-posix and /usr/share/zoneinfo-leaps,
+# respectively.  Problems with the Debian approach are discussed in
+# the commentary for the right_posix rule (below).
 
+# Destination directory, which can be used for staging.
+# 'make DESTDIR=/stage install' installs under /stage (e.g., to
+# /stage/etc/localtime instead of to /etc/localtime).  Files under
+# /stage are not intended to work as-is, but can be copied by hand to
+# the root directory later.  If DESTDIR is empty, 'make install' does
+# not stage, but installs directly into production locations.
+DESTDIR =
+
+# Everything is installed into subdirectories of TOPDIR, and used there.
+# TOPDIR should be empty (meaning the root directory),
+# or a directory name that does not end in "/".
+# TOPDIR should be empty or an absolute name unless you're just testing.
+TOPDIR =
+
+# The default local time zone is taken from the file TZDEFAULT.
+TZDEFAULT = $(TOPDIR)/etc/localtime
+
+# The subdirectory containing installed program and data files, and
+# likewise for installed files that can be shared among architectures.
+# These should be relative file names.
+USRDIR = usr
+USRSHAREDIR = $(USRDIR)/share
+
 # "Compiled" time zone information is placed in the "TZDIR" directory
 # (and subdirectories).
-# Use an absolute path name for TZDIR unless you're just testing the software.
 # TZDIR_BASENAME should not contain "/" and should not be ".", ".." or empty.
-
 TZDIR_BASENAME=zoneinfo
-TZDIR= $(TOPDIR)/etc/$(TZDIR_BASENAME)
+TZDIR = $(TOPDIR)/$(USRSHAREDIR)/$(TZDIR_BASENAME)
 
-# Types to try, as an alternative to time_t.  int64_t should be first.
-TIME_T_ALTERNATIVES= int64_t int32_t uint32_t uint64_t
+# The "tzselect" and (if you do "make INSTALL") "date" commands go in:
+BINDIR = $(TOPDIR)/$(USRDIR)/bin
 
-# The "tzselect", "zic", and "zdump" commands get installed in. . .
+# The "zdump" command goes in:
+ZDUMPDIR = $(BINDIR)
 
-ETCDIR=

svn commit: r330566 - in releng: 10.3 10.3/sys/conf 10.3/sys/netipsec 10.4 10.4/sys/conf 10.4/sys/netipsec 11.1 11.1/sys/conf 11.1/sys/netipsec

2018-03-06 Thread Gordon Tetlow
Author: gordon
Date: Wed Mar  7 05:53:35 2018
New Revision: 330566
URL: https://svnweb.freebsd.org/changeset/base/330566

Log:
  Fix ipsec validation and use-after-free. [SA-18:01.ipsec]
  
  Approved by:  so
  Security: FreeBSD-SA-18:01.ipsec
  Security: CVE-2018-6916

Modified:
  releng/10.3/UPDATING
  releng/10.3/sys/conf/newvers.sh
  releng/10.3/sys/netipsec/xform_ah.c
  releng/10.4/UPDATING
  releng/10.4/sys/conf/newvers.sh
  releng/10.4/sys/netipsec/xform_ah.c
  releng/11.1/UPDATING
  releng/11.1/sys/conf/newvers.sh
  releng/11.1/sys/netipsec/xform_ah.c

Modified: releng/10.3/UPDATING
==
--- releng/10.3/UPDATINGWed Mar  7 05:47:48 2018(r330565)
+++ releng/10.3/UPDATINGWed Mar  7 05:53:35 2018(r330566)
@@ -16,6 +16,19 @@ from older versions of FreeBSD, try WITHOUT_CLANG to b
 stable/10, and then rebuild without this option. The bootstrap process from
 older version of current is a bit fragile.
 
+20180307   p27 FreeBSD-SA-18:01.ipsec
+   FreeBSD-SA-18:02.ntp
+   FreeBSD-EN-18:01.tzdata
+   FreeBSD-EN-18:02.file
+
+   Fix ipsec validation and use-after-free. [SA-18:01.ipsec]
+
+   Fix multiple vulnerabilities in ntp. [SA-18:02.ntp]
+
+   Update timezone database information. [EN-18:01.tzdata]
+
+   Update file(1) to new version with security update. [EN-18:02.file]
+
 20171209   p26 FreeBSD-SA-17:12.openssl
 
Fix OpenSSL error state vulnerability.

Modified: releng/10.3/sys/conf/newvers.sh
==
--- releng/10.3/sys/conf/newvers.sh Wed Mar  7 05:47:48 2018
(r330565)
+++ releng/10.3/sys/conf/newvers.sh Wed Mar  7 05:53:35 2018
(r330566)
@@ -32,7 +32,7 @@
 
 TYPE="FreeBSD"
 REVISION="10.3"
-BRANCH="RELEASE-p26"
+BRANCH="RELEASE-p27"
 if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
BRANCH=${BRANCH_OVERRIDE}
 fi

Modified: releng/10.3/sys/netipsec/xform_ah.c
==
--- releng/10.3/sys/netipsec/xform_ah.c Wed Mar  7 05:47:48 2018
(r330565)
+++ releng/10.3/sys/netipsec/xform_ah.c Wed Mar  7 05:53:35 2018
(r330566)
@@ -615,6 +615,16 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski
m_freem(m);
return EACCES;
}
+   if (skip + authsize + rplen > m->m_pkthdr.len) {
+   DPRINTF(("%s: bad mbuf length %u (expecting %lu)"
+   " for packet in SA %s/%08lx\n", __func__,
+   m->m_pkthdr.len, (u_long) (skip + authsize + rplen),
+   ipsec_address(>sah->saidx.dst, buf, sizeof(buf)),
+   (u_long) ntohl(sav->spi)));
+   AHSTAT_INC(ahs_badauthl);
+   error = EACCES;
+   goto bad;
+   }
AHSTAT_ADD(ahs_ibytes, m->m_pkthdr.len - skip - hl);
 
/* Get crypto descriptors. */
@@ -680,6 +690,9 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski
/* Zeroize the authenticator on the packet. */
m_copyback(m, skip + rplen, authsize, ipseczeroes);
 
+   /* Save ah_nxt, since ah pointer can become invalid after 
"massage" */
+   hl = ah->ah_nxt;
+
/* "Massage" the packet headers for crypto processing. */
error = ah_massage_headers(, sav->sah->saidx.dst.sa.sa_family,
skip, ahx->type, 0);
@@ -704,7 +717,7 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski
tc->tc_spi = sav->spi;
tc->tc_dst = sav->sah->saidx.dst;
tc->tc_proto = sav->sah->saidx.proto;
-   tc->tc_nxt = ah->ah_nxt;
+   tc->tc_nxt = hl;
tc->tc_protoff = protoff;
tc->tc_skip = skip;
tc->tc_ptr = (caddr_t) mtag; /* Save the mtag we've identified. */

Modified: releng/10.4/UPDATING
==
--- releng/10.4/UPDATINGWed Mar  7 05:47:48 2018(r330565)
+++ releng/10.4/UPDATINGWed Mar  7 05:53:35 2018(r330566)
@@ -16,6 +16,19 @@ from older versions of FreeBSD, try WITHOUT_CLANG to b
 stable/10, and then rebuild without this option. The bootstrap process from
 older version of current is a bit fragile.
 
+20180307   p6  FreeBSD-SA-18:01.ipsec
+   FreeBSD-SA-18:02.ntp
+   FreeBSD-EN-18:01.tzdata
+   FreeBSD-EN-18:02.file
+
+   Fix ipsec validation and use-after-free. [SA-18:01.ipsec]
+
+   Fix multiple vulnerabilities in ntp. [SA-18:02.ntp]
+
+   Update timezone database information. [EN-18:01.tzdata]
+
+   Update file(1) to new version with security update. [EN-18:02.file]
+
 20171209   p5  FreeBSD-SA-17:12.openssl
 
Fix OpenSSL error state 

svn commit: r330565 - stable/10/sys/netipsec

2018-03-06 Thread Gordon Tetlow
Author: gordon
Date: Wed Mar  7 05:47:48 2018
New Revision: 330565
URL: https://svnweb.freebsd.org/changeset/base/330565

Log:
  Port r329561 to stable/10. There were structural changes preventing MFC.
  
  Check packet length to not make an out of bounds access. Also, save ah_nxt
  value to use later, since the ah pointer can become invalid.
  
  Reviewed by:  ae@
  Approved by:  so
  Security: CVE-2018-6916
  Security: FreeBSD-SA-18:01.ipsec

Modified:
  stable/10/sys/netipsec/xform_ah.c

Modified: stable/10/sys/netipsec/xform_ah.c
==
--- stable/10/sys/netipsec/xform_ah.c   Wed Mar  7 04:11:14 2018
(r330564)
+++ stable/10/sys/netipsec/xform_ah.c   Wed Mar  7 05:47:48 2018
(r330565)
@@ -599,6 +599,16 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski
m_freem(m);
return EACCES;
}
+   if (skip + authsize + rplen > m->m_pkthdr.len) {
+   DPRINTF(("%s: bad mbuf length %u (expecting %lu)"
+   " for packet in SA %s/%08lx\n", __func__,
+   m->m_pkthdr.len, (u_long) (skip + authsize + rplen),
+   ipsec_address(>sah->saidx.dst, buf, sizeof(buf)),
+   (u_long) ntohl(sav->spi)));
+   AHSTAT_INC(ahs_badauthl);
+   error = EACCES;
+   goto bad;
+   }
AHSTAT_ADD(ahs_ibytes, m->m_pkthdr.len - skip - hl);
 
/* Get crypto descriptors. */
@@ -664,6 +674,9 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski
/* Zeroize the authenticator on the packet. */
m_copyback(m, skip + rplen, authsize, ipseczeroes);
 
+   /* Save ah_nxt, since ah pointer can become invalid after 
"massage" */
+   hl = ah->ah_nxt;
+
/* "Massage" the packet headers for crypto processing. */
error = ah_massage_headers(, sav->sah->saidx.dst.sa.sa_family,
skip, ahx->type, 0);
@@ -688,7 +701,7 @@ ah_input(struct mbuf *m, struct secasvar *sav, int ski
tc->tc_spi = sav->spi;
tc->tc_dst = sav->sah->saidx.dst;
tc->tc_proto = sav->sah->saidx.proto;
-   tc->tc_nxt = ah->ah_nxt;
+   tc->tc_nxt = hl;
tc->tc_protoff = protoff;
tc->tc_skip = skip;
tc->tc_ptr = (caddr_t) mtag; /* Save the mtag we've identified. */
___
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: r330564 - head/stand/lua

2018-03-06 Thread Kyle Evans
Author: kevans
Date: Wed Mar  7 04:11:14 2018
New Revision: 330564
URL: https://svnweb.freebsd.org/changeset/base/330564

Log:
  lualoader: Only loadelf before boot/autoboot if no kernel loaded
  
  Back when I "fixed" the loading of kernel/modules to be deferred until
  booting, I inadvertently broke the ability to manually load a set of kernels
  and modules in case of something bad having happened. lualoader would
  instead happily load whatever is specified in loader.conf(5) and go about
  the boot, leading to a panic loop as you try to rediscover a way to stop the
  panicky efirt module from loading and fail miserably.
  
  Reported by:  me, sadly

Modified:
  head/stand/lua/core.lua

Modified: head/stand/lua/core.lua
==
--- head/stand/lua/core.lua Wed Mar  7 03:54:38 2018(r330563)
+++ head/stand/lua/core.lua Wed Mar  7 04:11:14 2018(r330564)
@@ -240,12 +240,18 @@ function core.setDefaults()
 end
 
 function core.autoboot(argstr)
-   config.loadelf()
+   -- loadelf() only if we've not already loaded a kernel
+   if loader.getenv("kernelname") == nil then
+   config.loadelf()
+   end
loader.perform(composeLoaderCmd("autoboot", argstr))
 end
 
 function core.boot(argstr)
-   config.loadelf()
+   -- loadelf() only if we've not already loaded a kernel
+   if loader.getenv("kernelname") == nil then
+   config.loadelf()
+   end
loader.perform(composeLoaderCmd("boot", argstr))
 end
 
___
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: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211

2018-03-06 Thread Eitan Adler
On 6 March 2018 at 08:26, John Baldwin  wrote:
> On Monday, March 05, 2018 07:13:59 PM Eitan Adler wrote:
>> On 5 March 2018 at 10:08, John Baldwin  wrote:
>> > On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote:
>> >> Author: eadler
>> >> Date: Mon Mar  5 07:54:57 2018
>> >> New Revision: 330451
>> >> URL: https://svnweb.freebsd.org/changeset/base/330451
>> >>
>> >> Log:
>> >>   MFC r306837:
>> >>
>> >>   [net80211] extend the ieee80211_rx_stats struct to include more 
>> >> information.
>> >
>> > Have you thought about the KBI implications of this change and some of the
>> > other changes you've merged?
>>
>> I do have a copy of the modules from 11.1 and have loaded them at
>> various points in time after merging. That said, I am not perfect.
>> Unfortunately, my -STABLE box did not have fully functioning drivers
>> before these changes so its difficult to test anything beyond "loads
>> and does not panic.". I havn't done so today yet, but that will happen
>> soon.
>>
>> Ensuring these things work through code inspection is certainly
>> possible and I've skipped over several changes as a result.
>
> Loading a module doesn't alone doesn't actually test for breakage.

I'm aware. In this case I should likely just revert this change since
its a pretty blatant break.

>   It also tends to be a lot harder to find these
> breakages in code one didn't write.

This is true

> I think for net80211 you need to generate a diff of all of the wireless
> related changes you have MFC'd to stable/11 and then review that for ABI
> changes and come up with a plan for how to restore the ABI and get re@'s
> approval.  (kib@ is a pretty good resource for devising ABI shims.)

I'll take a look to see what else I broke / changed and either revert
or write up a shim. Thanks!


> Batching
> up changes into a single diff is also helpful since if an API changes back
> and forth in HEAD multiple times, collapsing them means that for stable you
> may only need a single compat shim rather than several.

Understood. My intention in doing them one-by-one was to make it
easier to bisect if something goes wrong.


-- 
Eitan Adler
Source, Ports, Doc committer
Bugmeister, Ports Security teams
___
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: r330561 - head/bin/chflags

2018-03-06 Thread Bryan Drewery
Author: bdrewery
Date: Wed Mar  7 01:55:38 2018
New Revision: 330561
URL: https://svnweb.freebsd.org/changeset/base/330561

Log:
  chflags: Add SIGINFO support.
  
  This is copied from chmod r311668.
  
  MFC after:2 weeks

Modified:
  head/bin/chflags/chflags.1
  head/bin/chflags/chflags.c

Modified: head/bin/chflags/chflags.1
==
--- head/bin/chflags/chflags.1  Tue Mar  6 23:58:53 2018(r330560)
+++ head/bin/chflags/chflags.1  Wed Mar  7 01:55:38 2018(r330561)
@@ -32,7 +32,7 @@
 .\"@(#)chflags.1   8.4 (Berkeley) 5/2/95
 .\" $FreeBSD$
 .\"
-.Dd March 4, 2018
+.Dd March 6, 2018
 .Dt CHFLAGS 1
 .Os
 .Sh NAME
@@ -217,6 +217,16 @@ setting.
 See
 .Xr security 7
 for more information on this setting.
+.Pp
+If
+.Nm
+receives a
+.Dv SIGINFO
+signal (see the
+.Cm status
+argument for
+.Xr stty 1 ) ,
+then the current filename as well as the old and new flags are displayed.
 .Sh EXIT STATUS
 .Ex -std
 .Sh SEE ALSO

Modified: head/bin/chflags/chflags.c
==
--- head/bin/chflags/chflags.c  Tue Mar  6 23:58:53 2018(r330560)
+++ head/bin/chflags/chflags.c  Wed Mar  7 01:55:38 2018(r330561)
@@ -51,13 +51,23 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
 #include 
 
+static volatile sig_atomic_t siginfo;
+
 static void usage(void);
 
+static void
+siginfo_handler(int sig __unused)
+{
+
+   siginfo = 1;
+}
+
 int
 main(int argc, char *argv[])
 {
@@ -108,6 +118,8 @@ main(int argc, char *argv[])
if (argc < 2)
usage();
 
+   (void)signal(SIGINFO, siginfo_handler);
+
if (Rflag) {
if (hflag)
errx(1, "the -R and -h options may not be "
@@ -188,13 +200,14 @@ main(int argc, char *argv[])
atflag) == -1 && !fflag) {
warn("%s", p->fts_path);
rval = 1;
-   } else if (vflag) {
+   } else if (vflag || siginfo) {
(void)printf("%s", p->fts_path);
-   if (vflag > 1)
+   if (vflag > 1 || siginfo)
(void)printf(": 0%lo -> 0%lo",
(u_long)p->fts_statp->st_flags,
newflags);
(void)printf("\n");
+   siginfo = 0;
}
}
if (errno)
___
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: r330562 - head/sys/geom/part

2018-03-06 Thread Conrad Meyer
Author: cem
Date: Wed Mar  7 01:55:50 2018
New Revision: 330562
URL: https://svnweb.freebsd.org/changeset/base/330562

Log:
  g_part_gpt: Fix memory leak in error path
  
  If g_part_gpt_read() encountered a disk with bad primary and secondary
  tables, it could leak memory.
  
  Reported by:  Coverity
  Sponsored by: Dell EMC Isilon

Modified:
  head/sys/geom/part/g_part_gpt.c

Modified: head/sys/geom/part/g_part_gpt.c
==
--- head/sys/geom/part/g_part_gpt.c Wed Mar  7 01:55:38 2018
(r330561)
+++ head/sys/geom/part/g_part_gpt.c Wed Mar  7 01:55:50 2018
(r330562)
@@ -923,6 +923,14 @@ g_part_gpt_read(struct g_part_table *basetable, struct
pp->name);
printf("GEOM: %s: GPT rejected -- may not be recoverable.\n",
pp->name);
+   if (prihdr != NULL)
+   g_free(prihdr);
+   if (pritbl != NULL)
+   g_free(pritbl);
+   if (sechdr != NULL)
+   g_free(sechdr);
+   if (sectbl != NULL)
+   g_free(sectbl);
return (EINVAL);
}
 
___
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: r330560 - head/cddl/usr.sbin/dwatch

2018-03-06 Thread Devin Teske
Author: dteske
Date: Tue Mar  6 23:58:53 2018
New Revision: 330560
URL: https://svnweb.freebsd.org/changeset/base/330560

Log:
  Bump dwatch(1) internal version from 1.0-beta-91 to 1.0

Modified:
  head/cddl/usr.sbin/dwatch/dwatch

Modified: head/cddl/usr.sbin/dwatch/dwatch
==
--- head/cddl/usr.sbin/dwatch/dwatchTue Mar  6 23:44:19 2018
(r330559)
+++ head/cddl/usr.sbin/dwatch/dwatchTue Mar  6 23:58:53 2018
(r330560)
@@ -47,7 +47,7 @@ DTRACE_PRAGMA="
 
  GLOBALS
 
-VERSION='$Version: 1.0-beta-91 $' # -V
+VERSION='$Version: 1.0 $' # -V
 
 pgm="${0##*/}" # Program basename
 
___
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: r330559 - in head: . cddl/usr.sbin cddl/usr.sbin/dwatch cddl/usr.sbin/dwatch/examples cddl/usr.sbin/dwatch/libexec etc/mtree share/dtrace

2018-03-06 Thread Devin Teske
Author: dteske
Date: Tue Mar  6 23:44:19 2018
New Revision: 330559
URL: https://svnweb.freebsd.org/changeset/base/330559

Log:
  Introduce dwatch(1) as a tool for making DTrace more useful
  
  Reviewed by:  markj, gnn, bdrewery (earlier version)
  Relnotes: yes
  Sponsored by: Smule, Inc.
  Differential Revision:https://reviews.freebsd.org/D10006

Added:
  head/cddl/usr.sbin/dwatch/
  head/cddl/usr.sbin/dwatch/Makefile   (contents, props changed)
  head/cddl/usr.sbin/dwatch/dwatch   (contents, props changed)
  head/cddl/usr.sbin/dwatch/dwatch.1   (contents, props changed)
  head/cddl/usr.sbin/dwatch/examples/
  head/cddl/usr.sbin/dwatch/examples/Makefile   (contents, props changed)
  head/cddl/usr.sbin/dwatch/examples/profile_template   (contents, props 
changed)
  head/cddl/usr.sbin/dwatch/libexec/
  head/cddl/usr.sbin/dwatch/libexec/Makefile   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/chmod   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/errno   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/io   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/ip   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/kill   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/nanosleep   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/open   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/proc   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/rw   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/sched   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/tcp   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/udp   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/vop_create   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/vop_readdir   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/vop_rename   (contents, props changed)
  head/cddl/usr.sbin/dwatch/libexec/vop_symlink   (contents, props changed)
Deleted:
  head/share/dtrace/watch_execve
  head/share/dtrace/watch_kill
  head/share/dtrace/watch_vop_remove
Modified:
  head/ObsoleteFiles.inc
  head/cddl/usr.sbin/Makefile
  head/etc/mtree/BSD.usr.dist
  head/share/dtrace/Makefile

Modified: head/ObsoleteFiles.inc
==
--- head/ObsoleteFiles.inc  Tue Mar  6 23:39:43 2018(r330558)
+++ head/ObsoleteFiles.inc  Tue Mar  6 23:44:19 2018(r330559)
@@ -38,6 +38,10 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20180306: remove DTrace scripts made obsolete by dwatch(1)
+OLD_FILES+=usr/share/dtrace/watch_execve
+OLD_FILES+=usr/share/dtrace/watch_kill
+OLD_FILES+=usr/share/dtrace/watch_vop_remove
 # 20180212: move devmatch
 OLD_FILES+=usr/sbin/devmatch
 # 20180211: remove usb.conf

Modified: head/cddl/usr.sbin/Makefile
==
--- head/cddl/usr.sbin/Makefile Tue Mar  6 23:39:43 2018(r330558)
+++ head/cddl/usr.sbin/Makefile Tue Mar  6 23:44:19 2018(r330559)
@@ -3,6 +3,7 @@
 .include 
 
 SUBDIR=${_dtrace} \
+   ${_dwatch} \
${_lockstat} \
${_plockstat} \
${_zdb} \
@@ -23,6 +24,7 @@ _zfsd=zfsd
 
 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
 _dtrace=   dtrace
+_dwatch=   dwatch
 _lockstat= lockstat
 _plockstat=plockstat
 .endif
@@ -30,15 +32,18 @@ _plockstat= plockstat
 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" || \
 ${MACHINE_CPUARCH} == "riscv"
 _dtrace=   dtrace
+_dwatch=   dwatch
 _lockstat= lockstat
 .endif
 
 .if ${MACHINE_CPUARCH} == "mips"
 _dtrace=   dtrace
+_dwatch=   dwatch
 .endif
 
 .if ${MACHINE_CPUARCH} == "powerpc"
 _dtrace=   dtrace
+_dwatch=   dwatch
 _lockstat= lockstat
 .endif
 

Added: head/cddl/usr.sbin/dwatch/Makefile
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/cddl/usr.sbin/dwatch/Makefile  Tue Mar  6 23:44:19 2018
(r330559)
@@ -0,0 +1,15 @@
+# $FreeBSD$
+
+.include 
+
+SUBDIR= libexec
+
+.if ${MK_EXAMPLES} != "no"
+SUBDIR+= examples
+.endif
+
+SCRIPTS= dwatch
+
+MAN= dwatch.1
+
+.include 

Added: head/cddl/usr.sbin/dwatch/dwatch
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/cddl/usr.sbin/dwatch/dwatchTue Mar  6 23:44:19 2018
(r330559)
@@ -0,0 +1,1291 @@
+#!/bin/sh
+#-
+# Copyright (c) 2014-2018 Devin Teske
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of s

svn commit: r330558 - head/sys/dev/ichiic

2018-03-06 Thread Oleksandr Tymoshenko
Author: gonzo
Date: Tue Mar  6 23:39:43 2018
New Revision: 330558
URL: https://svnweb.freebsd.org/changeset/base/330558

Log:
  [ig4] Add support for i2c controllers on Skylake and Kaby Lake
  
  This was tested by Ben on  HP Chromebook 13 G1 with a
  Skylake CPU and Sunrise Point-LP I2C controller and by me on
  Minnowboard Turbot with Atom E3826 (formerly Bay Trail)
  
  Submitted by: Ben Pye 
  Reviewed by:  gonzo
  Obtained from:DragonflyBSD (a4549657 by Imre Vadász)
  MFC after:2 weeks
  Differential Revision:https://reviews.freebsd.org/D13654

Modified:
  head/sys/dev/ichiic/ig4_acpi.c
  head/sys/dev/ichiic/ig4_iic.c
  head/sys/dev/ichiic/ig4_pci.c
  head/sys/dev/ichiic/ig4_reg.h
  head/sys/dev/ichiic/ig4_var.h

Modified: head/sys/dev/ichiic/ig4_acpi.c
==
--- head/sys/dev/ichiic/ig4_acpi.c  Tue Mar  6 23:28:12 2018
(r330557)
+++ head/sys/dev/ichiic/ig4_acpi.c  Tue Mar  6 23:39:43 2018
(r330558)
@@ -85,6 +85,8 @@ ig4iic_acpi_attach(device_t dev)
sc = device_get_softc(dev);
 
sc->dev = dev;
+   /* All the HIDs matched are Atom SOCs. */
+   sc->version = IG4_ATOM;
sc->regs_rid = 0;
sc->regs_res = bus_alloc_resource_any(dev, SYS_RES_MEMORY,
  >regs_rid, RF_ACTIVE);

Modified: head/sys/dev/ichiic/ig4_iic.c
==
--- head/sys/dev/ichiic/ig4_iic.c   Tue Mar  6 23:28:12 2018
(r330557)
+++ head/sys/dev/ichiic/ig4_iic.c   Tue Mar  6 23:39:43 2018
(r330558)
@@ -525,22 +525,38 @@ ig4iic_attach(ig4iic_softc_t *sc)
mtx_init(>io_lock, "IG4 I/O lock", NULL, MTX_DEF);
sx_init(>call_lock, "IG4 call lock");
 
-   v = reg_read(sc, IG4_REG_COMP_TYPE);
-   v = reg_read(sc, IG4_REG_COMP_PARAM1);
-   v = reg_read(sc, IG4_REG_GENERAL);
-   if ((v & IG4_GENERAL_SWMODE) == 0) {
-   v |= IG4_GENERAL_SWMODE;
-   reg_write(sc, IG4_REG_GENERAL, v);
+   if (sc->version == IG4_ATOM)
+   v = reg_read(sc, IG4_REG_COMP_TYPE);
+   
+   if (sc->version == IG4_HASWELL || sc->version == IG4_ATOM) {
+   v = reg_read(sc, IG4_REG_COMP_PARAM1);
v = reg_read(sc, IG4_REG_GENERAL);
+   /*
+* The content of IG4_REG_GENERAL is different for each
+* controller version.
+*/
+   if (sc->version == IG4_HASWELL &&
+   (v & IG4_GENERAL_SWMODE) == 0) {
+   v |= IG4_GENERAL_SWMODE;
+   reg_write(sc, IG4_REG_GENERAL, v);
+   v = reg_read(sc, IG4_REG_GENERAL);
+   }
}
 
-   v = reg_read(sc, IG4_REG_SW_LTR_VALUE);
-   v = reg_read(sc, IG4_REG_AUTO_LTR_VALUE);
+   if (sc->version == IG4_HASWELL) {
+   v = reg_read(sc, IG4_REG_SW_LTR_VALUE);
+   v = reg_read(sc, IG4_REG_AUTO_LTR_VALUE);
+   } else if (sc->version == IG4_SKYLAKE) {
+   v = reg_read(sc, IG4_REG_ACTIVE_LTR_VALUE);
+   v = reg_read(sc, IG4_REG_IDLE_LTR_VALUE);
+   }
 
-   v = reg_read(sc, IG4_REG_COMP_VER);
-   if (v != IG4_COMP_VER) {
-   error = ENXIO;
-   goto done;
+   if (sc->version == IG4_HASWELL || sc->version == IG4_ATOM) {
+   v = reg_read(sc, IG4_REG_COMP_VER);
+   if (v != IG4_COMP_VER) {
+   error = ENXIO;
+   goto done;
+   }
}
v = reg_read(sc, IG4_REG_SS_SCL_HCNT);
v = reg_read(sc, IG4_REG_SS_SCL_LCNT);
@@ -591,8 +607,13 @@ ig4iic_attach(ig4iic_softc_t *sc)
/*
 * Don't do this, it blows up the PCI config
 */
-   reg_write(sc, IG4_REG_RESETS, IG4_RESETS_ASSERT);
-   reg_write(sc, IG4_REG_RESETS, IG4_RESETS_DEASSERT);
+   if (sc->version == IG4_HASWELL || sc->version == IG4_ATOM) {
+   reg_write(sc, IG4_REG_RESETS_HSW, IG4_RESETS_ASSERT_HSW);
+   reg_write(sc, IG4_REG_RESETS_HSW, IG4_RESETS_DEASSERT_HSW);
+   } else if (sc->version = IG4_SKYLAKE) {
+   reg_write(sc, IG4_REG_RESETS_SKL, IG4_RESETS_ASSERT_SKL);
+   reg_write(sc, IG4_REG_RESETS_SKL, IG4_RESETS_DEASSERT_SKL);
+   }
 #endif
 
mtx_lock(>io_lock);
@@ -727,14 +748,27 @@ ig4iic_dump(ig4iic_softc_t *sc)
REGDUMP(sc, IG4_REG_DMA_RDLR);
REGDUMP(sc, IG4_REG_SDA_SETUP);
REGDUMP(sc, IG4_REG_ENABLE_STATUS);
-   REGDUMP(sc, IG4_REG_COMP_PARAM1);
-   REGDUMP(sc, IG4_REG_COMP_VER);
-   REGDUMP(sc, IG4_REG_COMP_TYPE);
-   REGDUMP(sc, IG4_REG_CLK_PARMS);
-   REGDUMP(sc, IG4_REG_RESETS);
-   REGDUMP(sc, IG4_REG_GENERAL);
-   REGDUMP(sc, IG4_REG_SW_LTR_VALUE);
-   REGDUMP(sc, IG4_REG_AUTO_LTR_VALUE);
+ 

Re: svn commit: r330539 - in head/sys: amd64/amd64 amd64/include arm/include conf gdb i386/include mips/include powerpc/include sparc64/include

2018-03-06 Thread Oliver Pinter
X-MFC-with:

commit 27ac811b7acd31b1bdbf959fe49a957cdeabf780
Author: bde 
Date:   Fri Mar 24 17:34:55 2017 +

Remove buggy adjustment of page tables in db_write_bytes().

Long ago, perhaps only on i386, kernel text was mapped read-only and
it was necessary to change the mapping to read-write to set breakpoints
in kernel text.  Other writes by ddb to kernel text were also allowed.
This write protection is harder to implement with 4MB pages, and was
lost even for 4K pages when 4MB pages were implemented.  So changing
the mapping became useless.  It was actually worse than useless since
it followed followed various null and otherwise garbage pointers to
not change random memory instead of the mapping.  (On i386s, the
pointers became good in pmap_bootstrap(), and on amd64 the pointers
became bad in pmap_bootstrap() if not before.)

Another bug broke detection of following of null pointers on i386,
except early in boot where not detecting this was a feature.  When
I fixed the bug, I accidentally broke the feature and soon got traps
in db_write_bytes().  Setting breakpoints early in ddb was broken.

kib pointed out that a clean way to do the adjustment would be to use
a special [sub]map giving a small window on the bytes to be written.

The trap handler didn't know how to fix up errors for pagefaults
accessing the map itself.  Such errors rarely need fixups, since most
traps for the map are for the first access which is a read.

Reviewed by:kib

Notes:
svn path=/head/; revision=315914

On 3/6/18, Jonathan T. Looney  wrote:
> Author: jtl
> Date: Tue Mar  6 14:28:37 2018
> New Revision: 330539
> URL: https://svnweb.freebsd.org/changeset/base/330539
>
> Log:
>   amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits
>   correctly for the data contained on each memory page.
>
>   There are several components to this change:
>* Add a variable to indicate the start of the R/W portion of the
>  initial memory.
>* Stop detecting NX bit support for each AP.  Instead, use the value
>  from the BSP and, if supported, activate the feature on the other
>  APs just before loading the correct page table.  (Functionally, we
>  already assume that the BSP and all APs had the same support or
>  lack of support for the NX bit.)
>* Set the RW and NX bits correctly for the kernel text, data, and
>  BSS (subject to some caveats below).
>* Ensure DDB can write to memory when necessary (such as to set a
>  breakpoint).
>* Ensure GDB can write to memory when necessary (such as to set a
>  breakpoint).  For this purpose, add new MD functions gdb_begin_write()
>  and gdb_end_write() which the GDB support code can call before and
>  after writing to memory.
>
>   This change is not comprehensive:
>* It doesn't do anything to protect modules.
>* It doesn't do anything for kernel memory allocated after the kernel
>  starts running.
>* In order to avoid excessive memory inefficiency, it may let multiple
>  types of data share a 2M page, and assigns the most permissions
>  needed for data on that page.
>
>   Reviewed by:jhb, kib
>   Discussed with: emaste
>   MFC after:  2 weeks
>   Sponsored by:   Netflix
>   Differential Revision:  https://reviews.freebsd.org/D14282
>
> Modified:
>   head/sys/amd64/amd64/db_interface.c
>   head/sys/amd64/amd64/gdb_machdep.c
>   head/sys/amd64/amd64/initcpu.c
>   head/sys/amd64/amd64/mpboot.S
>   head/sys/amd64/amd64/pmap.c
>   head/sys/amd64/include/cpu.h
>   head/sys/amd64/include/gdb_machdep.h
>   head/sys/arm/include/gdb_machdep.h
>   head/sys/conf/ldscript.amd64
>   head/sys/gdb/gdb_packet.c
>   head/sys/i386/include/gdb_machdep.h
>   head/sys/mips/include/gdb_machdep.h
>   head/sys/powerpc/include/gdb_machdep.h
>   head/sys/sparc64/include/gdb_machdep.h
>
> Modified: head/sys/amd64/amd64/db_interface.c
> ==
> --- head/sys/amd64/amd64/db_interface.c   Tue Mar  6 14:18:45 2018
> (r330538)
> +++ head/sys/amd64/amd64/db_interface.c   Tue Mar  6 14:28:37 2018
> (r330539)
> @@ -36,6 +36,9 @@ __FBSDID("$FreeBSD$");
>  #include 
>  #include 
>
> +#include 
> +#include 
> +
>  #include 
>
>  /*
> @@ -62,6 +65,9 @@ db_read_bytes(vm_offset_t addr, size_t size, char *dat
>
>  /*
>   * Write bytes to kernel address space for debugger.
> + * We need to disable write protection temporarily so we can write
> + * things (such as break points) that might be in write-protected
> + * memory.
>   */
>  int
>  db_write_bytes(vm_offset_t addr, size_t size, char *data)
> @@ -69,15 +75,19 @@ db_write_bytes(vm_offset_t addr, size_t size, char *da
>   jmp_buf jb;
>   void *prev_jb;
>   char *dst;
> + u_long cr0save;
>   int ret;
>
> + cr0save = rcr0();
>  

svn commit: r330557 - stable/9/sys/dev/qlxgbe

2018-03-06 Thread David C Somayajulu
Author: davidcs
Date: Tue Mar  6 23:28:12 2018
New Revision: 330557
URL: https://svnweb.freebsd.org/changeset/base/330557

Log:
  MFC r329855
1. Added support to offline a port if is error recovery on successful.
2. Sysctls to enable/disable driver_state_dump and error_recovery.
3. Sysctl to control the delay between hw/fw reinitialization and
   restarting the fastpath.
4. Stop periodic stats retrieval if interface has IFF_DRV_RUNNING flag off.
5. Print contents of PEG_HALT_STATUS1 and PEG_HALT_STATUS2 on heartbeat
   failure.
6. Speed up slowpath shutdown during error recovery.
7. link_state update using atomic_store.
8. Added timestamp information on driver state and minidump captures.
9. Added support for Slowpath event logging
10.Added additional failure injection types to simulate failures.

Modified:
  stable/9/sys/dev/qlxgbe/ql_dbg.h
  stable/9/sys/dev/qlxgbe/ql_def.h
  stable/9/sys/dev/qlxgbe/ql_glbl.h
  stable/9/sys/dev/qlxgbe/ql_hw.c
  stable/9/sys/dev/qlxgbe/ql_hw.h
  stable/9/sys/dev/qlxgbe/ql_inline.h
  stable/9/sys/dev/qlxgbe/ql_ioctl.c
  stable/9/sys/dev/qlxgbe/ql_ioctl.h
  stable/9/sys/dev/qlxgbe/ql_isr.c
  stable/9/sys/dev/qlxgbe/ql_misc.c
  stable/9/sys/dev/qlxgbe/ql_os.c
  stable/9/sys/dev/qlxgbe/ql_os.h
  stable/9/sys/dev/qlxgbe/ql_ver.h
Directory Properties:
  stable/9/   (props changed)
  stable/9/sys/   (props changed)

Modified: stable/9/sys/dev/qlxgbe/ql_dbg.h
==
--- stable/9/sys/dev/qlxgbe/ql_dbg.hTue Mar  6 23:17:56 2018
(r330556)
+++ stable/9/sys/dev/qlxgbe/ql_dbg.hTue Mar  6 23:28:12 2018
(r330557)
@@ -42,17 +42,21 @@ extern void ql_dump_buf16(qla_host_t *ha, const char *
 extern void ql_dump_buf32(qla_host_t *ha, const char *str, void *dbuf,
uint32_t len32);
 
-#define INJCT_RX_RXB_INVAL 0x1
-#define INJCT_RX_MP_NULL   0x2
-#define INJCT_LRO_RXB_INVAL0x3
-#define INJCT_LRO_MP_NULL  0x4
-#define INJCT_NUM_HNDLE_INVALID0x5
-#define INJCT_RDWR_INDREG_FAILURE  0x6
-#define INJCT_RDWR_OFFCHIPMEM_FAILURE  0x7
-#define INJCT_MBX_CMD_FAILURE  0x8
-#define INJCT_HEARTBEAT_FAILURE0x9
-#define INJCT_TEMPERATURE_FAILURE  0xA
-#define INJCT_M_GETCL_M_GETJCL_FAILURE 0xB
+#define INJCT_RX_RXB_INVAL 0x1
+#define INJCT_RX_MP_NULL   0x2
+#define INJCT_LRO_RXB_INVAL0x3
+#define INJCT_LRO_MP_NULL  0x4
+#define INJCT_NUM_HNDLE_INVALID0x5
+#define INJCT_RDWR_INDREG_FAILURE  0x6
+#define INJCT_RDWR_OFFCHIPMEM_FAILURE  0x7
+#define INJCT_MBX_CMD_FAILURE  0x8
+#define INJCT_HEARTBEAT_FAILURE0x9
+#define INJCT_TEMPERATURE_FAILURE  0xA
+#define INJCT_M_GETCL_M_GETJCL_FAILURE 0xB
+#define INJCT_INV_CONT_OPCODE  0xC
+#define INJCT_SGL_RCV_INV_DESC_COUNT   0xD
+#define INJCT_SGL_LRO_INV_DESC_COUNT   0xE
+#define INJCT_PEER_PORT_FAILURE_ERR_RECOVERY   0xF
 
 #ifdef QL_DBG
 

Modified: stable/9/sys/dev/qlxgbe/ql_def.h
==
--- stable/9/sys/dev/qlxgbe/ql_def.hTue Mar  6 23:17:56 2018
(r330556)
+++ stable/9/sys/dev/qlxgbe/ql_def.hTue Mar  6 23:28:12 2018
(r330557)
@@ -144,12 +144,12 @@ struct qla_host {
volatile uint32_t   qla_watchdog_paused;
volatile uint32_t   qla_initiate_recovery;
volatile uint32_t   qla_detach_active;
+   volatile uint32_t   offline;
 
device_tpci_dev;
 
-   uint16_twatchdog_ticks;
+   volatile uint16_t   watchdog_ticks;
uint8_t pci_func;
-   uint8_t resvd;
 
 /* ioctl related */
 struct cdev *ioctl_dev;
@@ -182,6 +182,7 @@ struct qla_host {
 
/* hardware access lock */
 
+   struct mtx  sp_log_lock;
struct mtx  hw_lock;
volatile uint32_t   hw_lock_held;
uint64_thw_lock_failed;
@@ -239,6 +240,9 @@ struct qla_host {
volatile const char *qla_unlock;
uint32_tdbg_level;
uint32_tenable_minidump;
+   uint32_tenable_driverstate_dump;
+   uint32_tenable_error_recovery;
+   uint32_tms_delay_after_init;
 
uint8_t fw_ver_str[32];
 
@@ -272,5 +276,7 @@ typedef struct qla_host qla_host_t;
 #define QL_MAC_CMP(mac1, mac2)\
   

svn commit: r330556 - stable/10/sys/dev/qlxgbe

2018-03-06 Thread David C Somayajulu
Author: davidcs
Date: Tue Mar  6 23:17:56 2018
New Revision: 330556
URL: https://svnweb.freebsd.org/changeset/base/330556

Log:
  MFC r329855
1. Added support to offline a port if is error recovery on successful.
2. Sysctls to enable/disable driver_state_dump and error_recovery.
3. Sysctl to control the delay between hw/fw reinitialization and
   restarting the fastpath.
4. Stop periodic stats retrieval if interface has IFF_DRV_RUNNING flag off.
5. Print contents of PEG_HALT_STATUS1 and PEG_HALT_STATUS2 on heartbeat
   failure.
6. Speed up slowpath shutdown during error recovery.
7. link_state update using atomic_store.
8. Added timestamp information on driver state and minidump captures.
9. Added support for Slowpath event logging
10.Added additional failure injection types to simulate failures.

Modified:
  stable/10/sys/dev/qlxgbe/ql_dbg.h
  stable/10/sys/dev/qlxgbe/ql_def.h
  stable/10/sys/dev/qlxgbe/ql_glbl.h
  stable/10/sys/dev/qlxgbe/ql_hw.c
  stable/10/sys/dev/qlxgbe/ql_hw.h
  stable/10/sys/dev/qlxgbe/ql_inline.h
  stable/10/sys/dev/qlxgbe/ql_ioctl.c
  stable/10/sys/dev/qlxgbe/ql_ioctl.h
  stable/10/sys/dev/qlxgbe/ql_isr.c
  stable/10/sys/dev/qlxgbe/ql_misc.c
  stable/10/sys/dev/qlxgbe/ql_os.c
  stable/10/sys/dev/qlxgbe/ql_os.h
  stable/10/sys/dev/qlxgbe/ql_ver.h
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/dev/qlxgbe/ql_dbg.h
==
--- stable/10/sys/dev/qlxgbe/ql_dbg.h   Tue Mar  6 23:12:32 2018
(r330555)
+++ stable/10/sys/dev/qlxgbe/ql_dbg.h   Tue Mar  6 23:17:56 2018
(r330556)
@@ -42,17 +42,21 @@ extern void ql_dump_buf16(qla_host_t *ha, const char *
 extern void ql_dump_buf32(qla_host_t *ha, const char *str, void *dbuf,
uint32_t len32);
 
-#define INJCT_RX_RXB_INVAL 0x1
-#define INJCT_RX_MP_NULL   0x2
-#define INJCT_LRO_RXB_INVAL0x3
-#define INJCT_LRO_MP_NULL  0x4
-#define INJCT_NUM_HNDLE_INVALID0x5
-#define INJCT_RDWR_INDREG_FAILURE  0x6
-#define INJCT_RDWR_OFFCHIPMEM_FAILURE  0x7
-#define INJCT_MBX_CMD_FAILURE  0x8
-#define INJCT_HEARTBEAT_FAILURE0x9
-#define INJCT_TEMPERATURE_FAILURE  0xA
-#define INJCT_M_GETCL_M_GETJCL_FAILURE 0xB
+#define INJCT_RX_RXB_INVAL 0x1
+#define INJCT_RX_MP_NULL   0x2
+#define INJCT_LRO_RXB_INVAL0x3
+#define INJCT_LRO_MP_NULL  0x4
+#define INJCT_NUM_HNDLE_INVALID0x5
+#define INJCT_RDWR_INDREG_FAILURE  0x6
+#define INJCT_RDWR_OFFCHIPMEM_FAILURE  0x7
+#define INJCT_MBX_CMD_FAILURE  0x8
+#define INJCT_HEARTBEAT_FAILURE0x9
+#define INJCT_TEMPERATURE_FAILURE  0xA
+#define INJCT_M_GETCL_M_GETJCL_FAILURE 0xB
+#define INJCT_INV_CONT_OPCODE  0xC
+#define INJCT_SGL_RCV_INV_DESC_COUNT   0xD
+#define INJCT_SGL_LRO_INV_DESC_COUNT   0xE
+#define INJCT_PEER_PORT_FAILURE_ERR_RECOVERY   0xF
 
 #ifdef QL_DBG
 

Modified: stable/10/sys/dev/qlxgbe/ql_def.h
==
--- stable/10/sys/dev/qlxgbe/ql_def.h   Tue Mar  6 23:12:32 2018
(r330555)
+++ stable/10/sys/dev/qlxgbe/ql_def.h   Tue Mar  6 23:17:56 2018
(r330556)
@@ -144,12 +144,12 @@ struct qla_host {
volatile uint32_t   qla_watchdog_paused;
volatile uint32_t   qla_initiate_recovery;
volatile uint32_t   qla_detach_active;
+   volatile uint32_t   offline;
 
device_tpci_dev;
 
-   uint16_twatchdog_ticks;
+   volatile uint16_t   watchdog_ticks;
uint8_t pci_func;
-   uint8_t resvd;
 
 /* ioctl related */
 struct cdev *ioctl_dev;
@@ -182,6 +182,7 @@ struct qla_host {
 
/* hardware access lock */
 
+   struct mtx  sp_log_lock;
struct mtx  hw_lock;
volatile uint32_t   hw_lock_held;
uint64_thw_lock_failed;
@@ -239,6 +240,9 @@ struct qla_host {
volatile const char *qla_unlock;
uint32_tdbg_level;
uint32_tenable_minidump;
+   uint32_tenable_driverstate_dump;
+   uint32_tenable_error_recovery;
+   uint32_tms_delay_after_init;
 
uint8_t fw_ver_str[32];
 
@@ -272,5 +276,7 @@ typedef struct qla_host qla_host_t;
 #define QL_MAC_CMP(mac1, mac2)\
*(uint32_t 

svn commit: r330555 - stable/11/sys/dev/qlxgbe

2018-03-06 Thread David C Somayajulu
Author: davidcs
Date: Tue Mar  6 23:12:32 2018
New Revision: 330555
URL: https://svnweb.freebsd.org/changeset/base/330555

Log:
  MFC r329855
1. Added support to offline a port if is error recovery on successful.
2. Sysctls to enable/disable driver_state_dump and error_recovery.
3. Sysctl to control the delay between hw/fw reinitialization and
   restarting the fastpath.
4. Stop periodic stats retrieval if interface has IFF_DRV_RUNNING flag off.
5. Print contents of PEG_HALT_STATUS1 and PEG_HALT_STATUS2 on heartbeat
   failure.
6. Speed up slowpath shutdown during error recovery.
7. link_state update using atomic_store.
8. Added timestamp information on driver state and minidump captures.
9. Added support for Slowpath event logging
10.Added additional failure injection types to simulate failures.

Modified:
  stable/11/sys/dev/qlxgbe/ql_dbg.h
  stable/11/sys/dev/qlxgbe/ql_def.h
  stable/11/sys/dev/qlxgbe/ql_glbl.h
  stable/11/sys/dev/qlxgbe/ql_hw.c
  stable/11/sys/dev/qlxgbe/ql_hw.h
  stable/11/sys/dev/qlxgbe/ql_inline.h
  stable/11/sys/dev/qlxgbe/ql_ioctl.c
  stable/11/sys/dev/qlxgbe/ql_ioctl.h
  stable/11/sys/dev/qlxgbe/ql_isr.c
  stable/11/sys/dev/qlxgbe/ql_misc.c
  stable/11/sys/dev/qlxgbe/ql_os.c
  stable/11/sys/dev/qlxgbe/ql_os.h
  stable/11/sys/dev/qlxgbe/ql_ver.h
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/dev/qlxgbe/ql_dbg.h
==
--- stable/11/sys/dev/qlxgbe/ql_dbg.h   Tue Mar  6 22:45:45 2018
(r330554)
+++ stable/11/sys/dev/qlxgbe/ql_dbg.h   Tue Mar  6 23:12:32 2018
(r330555)
@@ -42,17 +42,21 @@ extern void ql_dump_buf16(qla_host_t *ha, const char *
 extern void ql_dump_buf32(qla_host_t *ha, const char *str, void *dbuf,
uint32_t len32);
 
-#define INJCT_RX_RXB_INVAL 0x1
-#define INJCT_RX_MP_NULL   0x2
-#define INJCT_LRO_RXB_INVAL0x3
-#define INJCT_LRO_MP_NULL  0x4
-#define INJCT_NUM_HNDLE_INVALID0x5
-#define INJCT_RDWR_INDREG_FAILURE  0x6
-#define INJCT_RDWR_OFFCHIPMEM_FAILURE  0x7
-#define INJCT_MBX_CMD_FAILURE  0x8
-#define INJCT_HEARTBEAT_FAILURE0x9
-#define INJCT_TEMPERATURE_FAILURE  0xA
-#define INJCT_M_GETCL_M_GETJCL_FAILURE 0xB
+#define INJCT_RX_RXB_INVAL 0x1
+#define INJCT_RX_MP_NULL   0x2
+#define INJCT_LRO_RXB_INVAL0x3
+#define INJCT_LRO_MP_NULL  0x4
+#define INJCT_NUM_HNDLE_INVALID0x5
+#define INJCT_RDWR_INDREG_FAILURE  0x6
+#define INJCT_RDWR_OFFCHIPMEM_FAILURE  0x7
+#define INJCT_MBX_CMD_FAILURE  0x8
+#define INJCT_HEARTBEAT_FAILURE0x9
+#define INJCT_TEMPERATURE_FAILURE  0xA
+#define INJCT_M_GETCL_M_GETJCL_FAILURE 0xB
+#define INJCT_INV_CONT_OPCODE  0xC
+#define INJCT_SGL_RCV_INV_DESC_COUNT   0xD
+#define INJCT_SGL_LRO_INV_DESC_COUNT   0xE
+#define INJCT_PEER_PORT_FAILURE_ERR_RECOVERY   0xF
 
 #ifdef QL_DBG
 

Modified: stable/11/sys/dev/qlxgbe/ql_def.h
==
--- stable/11/sys/dev/qlxgbe/ql_def.h   Tue Mar  6 22:45:45 2018
(r330554)
+++ stable/11/sys/dev/qlxgbe/ql_def.h   Tue Mar  6 23:12:32 2018
(r330555)
@@ -144,12 +144,12 @@ struct qla_host {
volatile uint32_t   qla_watchdog_paused;
volatile uint32_t   qla_initiate_recovery;
volatile uint32_t   qla_detach_active;
+   volatile uint32_t   offline;
 
device_tpci_dev;
 
-   uint16_twatchdog_ticks;
+   volatile uint16_t   watchdog_ticks;
uint8_t pci_func;
-   uint8_t resvd;
 
 /* ioctl related */
 struct cdev *ioctl_dev;
@@ -182,6 +182,7 @@ struct qla_host {
 
/* hardware access lock */
 
+   struct mtx  sp_log_lock;
struct mtx  hw_lock;
volatile uint32_t   hw_lock_held;
uint64_thw_lock_failed;
@@ -239,6 +240,9 @@ struct qla_host {
volatile const char *qla_unlock;
uint32_tdbg_level;
uint32_tenable_minidump;
+   uint32_tenable_driverstate_dump;
+   uint32_tenable_error_recovery;
+   uint32_tms_delay_after_init;
 
uint8_t fw_ver_str[32];
 
@@ -272,5 +276,7 @@ typedef struct qla_host qla_host_t;
 #define QL_MAC_CMP(mac1, mac2)\
*(uint32_t 

svn commit: r330554 - head/sys/arm/allwinner

2018-03-06 Thread Kyle Evans
Author: kevans
Date: Tue Mar  6 22:45:45 2018
New Revision: 330554
URL: https://svnweb.freebsd.org/changeset/base/330554

Log:
  aw_usbphy: Move later to SUPPORTDEV pass
  
  vbus-supply properties may be specified for each PHY. These properties
  reference a regulator that we must turn on/off as we turn the PHY on/off.
  However, if the usbphy comes up before the regulator in question (as is the
  case with GPIO-controlled regulators), then we will fail to grab a handle to
  the regulator and control it as the PHY power state changes.
  
  Fix it by just attaching the usbphy driver later. We don't really need it at
  RESOURCE, we just need it to be before DEFAULT when ehci/ohci attach. In
  particular, this fixes the USB NIC on a board that we don't yet supported-
  without this, it will not power on and if_ure cannot attach.
  
  Tested on:various boards [manu]
  Tested on:OrangePi R1 [Rap2 (irc)]
  Reported by:  Rap2 (irc, "Cannot find USB NIC")

Modified:
  head/sys/arm/allwinner/aw_usbphy.c

Modified: head/sys/arm/allwinner/aw_usbphy.c
==
--- head/sys/arm/allwinner/aw_usbphy.c  Tue Mar  6 21:45:23 2018
(r330553)
+++ head/sys/arm/allwinner/aw_usbphy.c  Tue Mar  6 22:45:45 2018
(r330554)
@@ -418,7 +418,7 @@ static driver_t awusbphy_driver = {
 };
 
 static devclass_t awusbphy_devclass;
-
+/* aw_usbphy needs to come up after regulators/gpio/etc, but before ehci/ohci 
*/
 EARLY_DRIVER_MODULE(awusbphy, simplebus, awusbphy_driver, awusbphy_devclass,
-0, 0, BUS_PASS_RESOURCE + BUS_PASS_ORDER_MIDDLE);
+0, 0, BUS_PASS_SUPPORTDEV + BUS_PASS_ORDER_MIDDLE);
 MODULE_VERSION(awusbphy, 1);
___
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: r330547 - head/etc

2018-03-06 Thread Edward Tomasz Napierala
Author: trasz
Date: Tue Mar  6 21:05:34 2018
New Revision: 330547
URL: https://svnweb.freebsd.org/changeset/base/330547

Log:
  Add example devd.conf(5) entry for notifying init(8) about new USB ttys.
  
  MFC after:2 weeks
  Sponsored by: The FreeBSD Foundation

Modified:
  head/etc/devd.conf

Modified: head/etc/devd.conf
==
--- head/etc/devd.conf  Tue Mar  6 20:31:14 2018(r330546)
+++ head/etc/devd.conf  Tue Mar  6 21:05:34 2018(r330547)
@@ -339,4 +339,15 @@ notify 10 {
action "logger $comm $core";
 };
 
+# Let the init(8) know there's a new USB serial interface it might
+# want to run getty(8) for.  This includes device-side tty created
+# by usb_template(4).
+notify 100 {
+   match "system"  "DEVFS";
+   match "subsystem"   "CDEV";
+   match "type""CREATE";
+   match "cdev""ttyU[0-9]+";
+   action "/sbin/init q";
+};
+
 */
___
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: r330546 - head/sys/dev/atkbdc

2018-03-06 Thread Conrad Meyer
Author: cem
Date: Tue Mar  6 20:31:14 2018
New Revision: 330546
URL: https://svnweb.freebsd.org/changeset/base/330546

Log:
  psm(4): Initialize variables before use
  
  dxp/dyp could have been used uninitialized in the subsequent debugging log
  invocation.
  
  Reported by:  Coverity
  Sponsored by: Dell EMC Isilon

Modified:
  head/sys/dev/atkbdc/psm.c

Modified: head/sys/dev/atkbdc/psm.c
==
--- head/sys/dev/atkbdc/psm.c   Tue Mar  6 18:28:55 2018(r330545)
+++ head/sys/dev/atkbdc/psm.c   Tue Mar  6 20:31:14 2018(r330546)
@@ -3781,6 +3781,9 @@ psmgestures(struct psm_softc *sc, finger_t *fingers, i
if (queue_len < gest->window_min)
return;
 
+   dyp = -1;
+   dxp = -1;
+
/* Is a scrolling action occurring? */
if (!gest->in_taphold && !ms->button &&
(!gest->in_vscroll || two_finger_scroll)) {
___
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: r330545 - head/sys/mips/mips

2018-03-06 Thread Brooks Davis
Author: brooks
Date: Tue Mar  6 18:28:55 2018
New Revision: 330545
URL: https://svnweb.freebsd.org/changeset/base/330545

Log:
  Remove reference to unimplemented fuiword, etc.
  
  We don't support Harvard architectures.

Modified:
  head/sys/mips/mips/support.S

Modified: head/sys/mips/mips/support.S
==
--- head/sys/mips/mips/support.STue Mar  6 16:16:30 2018
(r330544)
+++ head/sys/mips/mips/support.STue Mar  6 18:28:55 2018
(r330545)
@@ -281,10 +281,8 @@ LEAF(copyerr)
 END(copyerr)
 
 /*
- * {fu,su},{ibyte,isword,iword}, fetch or store a byte, short or word to
- * user text space.
  * {fu,su},{byte,sword,word}, fetch or store a byte, short or word to
- * user data space.
+ * user-space.
  */
 #ifdef __mips_n64
 LEAF(fuword64)
___
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: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211

2018-03-06 Thread Alexey Dokuchaev
On Tue, Mar 06, 2018 at 08:26:43AM -0800, John Baldwin wrote:
> The fact that there are back-to-back ABI breakages also suggests that it is
> much better to consolidate MFCs into larger commits [...]

+1.

> I think that going forward you shouldn't MFC changes if you aren't certain
> about the ABI implications until you have had someone review them.  Batching
> up changes into a single diff is also helpful since if an API changes back
> and forth in HEAD multiple times, collapsing them means that for stable you
> may only need a single compat shim rather than several.

+1.

./danfe
___
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: r330451 - in stable/11/sys: dev/iwm dev/otus dev/usb/wlan net80211

2018-03-06 Thread John Baldwin
On Monday, March 05, 2018 07:13:59 PM Eitan Adler wrote:
> On 5 March 2018 at 10:08, John Baldwin  wrote:
> > On Monday, March 05, 2018 07:54:58 AM Eitan Adler wrote:
> >> Author: eadler
> >> Date: Mon Mar  5 07:54:57 2018
> >> New Revision: 330451
> >> URL: https://svnweb.freebsd.org/changeset/base/330451
> >>
> >> Log:
> >>   MFC r306837:
> >>
> >>   [net80211] extend the ieee80211_rx_stats struct to include more 
> >> information.
> >
> > Have you thought about the KBI implications of this change and some of the
> > other changes you've merged?
> 
> I do have a copy of the modules from 11.1 and have loaded them at
> various points in time after merging. That said, I am not perfect.
> Unfortunately, my -STABLE box did not have fully functioning drivers
> before these changes so its difficult to test anything beyond "loads
> and does not panic.". I havn't done so today yet, but that will happen
> soon.
> 
> Ensuring these things work through code inspection is certainly
> possible and I've skipped over several changes as a result.

Loading a module doesn't alone doesn't actually test for breakage.  That only
breaks if you remove symbols.  Changing the semantics of how functions work
or the layout of a structure that is passed between structures is an ABI change
even if it doesn't change the function signature.  In this case, this change
inserts new fields and changes the size of 'struct ieee80211_rx_stats'.  Thus
if a otus(4) or iwm(4) driver built against the prior revision (330450) is
used with a kernel built with this revision (330451), the driver will pass in
an 'rxs' structure in a call to ieee80211_input_mimo() that is smaller, and
in the first few lines of i80211_input_mimo() these statements will
overflow that pointer and read stack garbage:

85  int
86  ieee80211_input_mimo(struct ieee80211_node *ni, struct mbuf *m,
87  struct ieee80211_rx_stats *rx)
88  {
89  struct ieee80211_rx_stats rxs;
90  
91  if (rx) {
92  memcpy(, rx, sizeof(*rx));
93  } else {

Furthermore, the now garbage 'rxs' (since fields in *rx are in different
places so even the bits of 'rxs' that isn't stack garbage will be wrong)
will now be used by other routines in net80211.  Your next MFC commit then
causes another ABI breakage as it removes the 'rx' parameter from the
function.  You can't do that.  If you don't know how to recognize those types
of ABI breakages, then you probably shouldn't be MFC'ing changes without
getting some sort of review.  It also tends to be a lot harder to find these
breakages in code one didn't write.

The fact that there are back-to-back ABI breakages also suggests that it is
much better to consolidate MFCs into larger commits because you limit the
amount of compatibilty ABI shims you have to provide.

I think for net80211 you need to generate a diff of all of the wireless
related changes you have MFC'd to stable/11 and then review that for ABI
changes and come up with a plan for how to restore the ABI and get re@'s
approval.  (kib@ is a pretty good resource for devising ABI shims.)

I think that going forward you shouldn't MFC changes if you aren't certain
about the ABI implications until you have had someone review them.  Batching
up changes into a single diff is also helpful since if an API changes back
and forth in HEAD multiple times, collapsing them means that for stable you
may only need a single compat shim rather than several.

-- 
John Baldwin
___
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: r330544 - stable/11/sys/vm

2018-03-06 Thread Mark Johnston
Author: markj
Date: Tue Mar  6 16:16:30 2018
New Revision: 330544
URL: https://svnweb.freebsd.org/changeset/base/330544

Log:
  MFC r330075:
  Give the 0th domain's page daemon thread a consistent name.

Modified:
  stable/11/sys/vm/vm_pageout.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/vm/vm_pageout.c
==
--- stable/11/sys/vm/vm_pageout.c   Tue Mar  6 16:10:47 2018
(r330543)
+++ stable/11/sys/vm/vm_pageout.c   Tue Mar  6 16:16:30 2018
(r330544)
@@ -1863,6 +1863,7 @@ vm_pageout(void)
 #endif
 
swap_pager_swap_init();
+   snprintf(curthread->td_name, sizeof(curthread->td_name), "dom0");
error = kthread_add(vm_pageout_laundry_worker, NULL, curproc, NULL,
0, 0, "laundry: dom0");
if (error != 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: r330542 - head/sys/powerpc/powernv

2018-03-06 Thread Nathan Whitehorn
Author: nwhitehorn
Date: Tue Mar  6 15:52:43 2018
New Revision: 330542
URL: https://svnweb.freebsd.org/changeset/base/330542

Log:
  Fix use of unitialized variables.

Modified:
  head/sys/powerpc/powernv/opal_pci.c
  head/sys/powerpc/powernv/platform_powernv.c

Modified: head/sys/powerpc/powernv/opal_pci.c
==
--- head/sys/powerpc/powernv/opal_pci.c Tue Mar  6 15:51:59 2018
(r330541)
+++ head/sys/powerpc/powernv/opal_pci.c Tue Mar  6 15:52:43 2018
(r330542)
@@ -429,6 +429,7 @@ opalpci_read_config(device_t dev, u_int bus, u_int slo
config_addr, reg, vtophys());
break;
default:
+   error = OPAL_SUCCESS;
word = 0x;
}
 

Modified: head/sys/powerpc/powernv/platform_powernv.c
==
--- head/sys/powerpc/powernv/platform_powernv.c Tue Mar  6 15:51:59 2018
(r330541)
+++ head/sys/powerpc/powernv/platform_powernv.c Tue Mar  6 15:52:43 2018
(r330542)
@@ -127,7 +127,7 @@ powernv_attach(platform_t plat)
char buf[255];
pcell_t prop;
phandle_t cpu;
-   int res, len, node, idx;
+   int res, len, idx;
register_t msr;
 
/* Ping OPAL again just to make sure */
@@ -194,7 +194,7 @@ powernv_attach(platform_t plat)
 * for the encoding of the property.
 */
 
-   len = OF_getproplen(node, "ibm,segment-page-sizes");
+   len = OF_getproplen(cpu, "ibm,segment-page-sizes");
if (len > 0) {
/*
 * We have to use a variable length array on the stack
___
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: r330541 - head/sys/cddl/dev/fbt/x86

2018-03-06 Thread Mark Johnston
Author: markj
Date: Tue Mar  6 15:51:59 2018
New Revision: 330541
URL: https://svnweb.freebsd.org/changeset/base/330541

Log:
  Unbreak amd64 FBT after r330539.
  
  X-MFC with:   r330539

Modified:
  head/sys/cddl/dev/fbt/x86/fbt_isa.c

Modified: head/sys/cddl/dev/fbt/x86/fbt_isa.c
==
--- head/sys/cddl/dev/fbt/x86/fbt_isa.c Tue Mar  6 14:31:15 2018
(r330540)
+++ head/sys/cddl/dev/fbt/x86/fbt_isa.c Tue Mar  6 15:51:59 2018
(r330541)
@@ -34,6 +34,8 @@
 
 #include 
 
+#include 
+
 #include "fbt.h"
 
 #defineFBT_PUSHL_EBP   0x55
@@ -143,8 +145,15 @@ fbt_invop(uintptr_t addr, struct trapframe *frame, uin
 void
 fbt_patch_tracepoint(fbt_probe_t *fbt, fbt_patchval_t val)
 {
+   u_long cr0save;
+   register_t intr;
 
+   intr = intr_disable();
+   cr0save = rcr0();
+   load_cr0(cr0save & ~CR0_WP);
*fbt->fbtp_patchpoint = val;
+   load_cr0(cr0save);
+   intr_restore(intr);
 }
 
 int
___
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: r330540 - head/share/man/man8

2018-03-06 Thread Rodney W. Grimes
> Author: rodrigo (ports committer)
> Date: Tue Mar  6 14:31:15 2018
> New Revision: 330540
> URL: https://svnweb.freebsd.org/changeset/base/330540
> 
> Log:
>   Update the diskless manpage
>   
>   According with /etc/rc.initdiskless the default mfs allocation
>   is now 5Mb (10240 x 512 bytes sectors)
>   
>   Submitted by:   rodrigo
>   Reviewed by:bcr
>   Approved by:manpages (bcr)
>   Differential Revision:  https://reviews.freebsd.org/D14592

Thank you for fixing the man page,
if someone wants to do some additional related cleanup
in the /etc/rc.initdiskless script that would be great.

One issue is we have "one size fits all" for the md files
default size of 5MB, which is for all practical puposes
too small.  IIRC you need at least 8MB to hold what is
in a 11.1 var.cpio.gz file, and possibly more for ^head.

It would be nice to have the size of /var and /etc set
seperatly with resonable defaults.

At present my diskless environment over rides both of
these with md_size files in the ./conf directory.

There may be some lingering comments about 4MB, but
I am looking at 11.1 /etc right now.
 
> Modified:
>   head/share/man/man8/diskless.8
> 
> Modified: head/share/man/man8/diskless.8
> ==
> --- head/share/man/man8/diskless.8Tue Mar  6 14:28:37 2018
> (r330539)
> +++ head/share/man/man8/diskless.8Tue Mar  6 14:31:15 2018
> (r330540)
> @@ -26,7 +26,7 @@
>  .\"
>  .\" $FreeBSD$
>  .\"
> -.Dd August 7, 2011
> +.Dd March 6, 2018
>  .Dt DISKLESS 8
>  .Os
>  .Sh NAME
> @@ -311,7 +311,7 @@ The
>  .Nm
>  scripts create memory file systems to hold the overridden
>  directories.
> -Only a 2MB partition is created by default, which may not
> +Only a 5MB partition is created by default, which may not
>  be sufficient for your purposes.
>  To override this, you can create the
>  file
> 
> 

-- 
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: r330540 - head/share/man/man8

2018-03-06 Thread Rodrigo Osorio
Author: rodrigo (ports committer)
Date: Tue Mar  6 14:31:15 2018
New Revision: 330540
URL: https://svnweb.freebsd.org/changeset/base/330540

Log:
  Update the diskless manpage
  
  According with /etc/rc.initdiskless the default mfs allocation
  is now 5Mb (10240 x 512 bytes sectors)
  
  Submitted by: rodrigo
  Reviewed by:  bcr
  Approved by:  manpages (bcr)
  Differential Revision:https://reviews.freebsd.org/D14592

Modified:
  head/share/man/man8/diskless.8

Modified: head/share/man/man8/diskless.8
==
--- head/share/man/man8/diskless.8  Tue Mar  6 14:28:37 2018
(r330539)
+++ head/share/man/man8/diskless.8  Tue Mar  6 14:31:15 2018
(r330540)
@@ -26,7 +26,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd August 7, 2011
+.Dd March 6, 2018
 .Dt DISKLESS 8
 .Os
 .Sh NAME
@@ -311,7 +311,7 @@ The
 .Nm
 scripts create memory file systems to hold the overridden
 directories.
-Only a 2MB partition is created by default, which may not
+Only a 5MB partition is created by default, which may not
 be sufficient for your purposes.
 To override this, you can create the
 file
___
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: r330539 - in head/sys: amd64/amd64 amd64/include arm/include conf gdb i386/include mips/include powerpc/include sparc64/include

2018-03-06 Thread Jonathan T. Looney
Author: jtl
Date: Tue Mar  6 14:28:37 2018
New Revision: 330539
URL: https://svnweb.freebsd.org/changeset/base/330539

Log:
  amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits
  correctly for the data contained on each memory page.
  
  There are several components to this change:
   * Add a variable to indicate the start of the R/W portion of the
 initial memory.
   * Stop detecting NX bit support for each AP.  Instead, use the value
 from the BSP and, if supported, activate the feature on the other
 APs just before loading the correct page table.  (Functionally, we
 already assume that the BSP and all APs had the same support or
 lack of support for the NX bit.)
   * Set the RW and NX bits correctly for the kernel text, data, and
 BSS (subject to some caveats below).
   * Ensure DDB can write to memory when necessary (such as to set a
 breakpoint).
   * Ensure GDB can write to memory when necessary (such as to set a
 breakpoint).  For this purpose, add new MD functions gdb_begin_write()
 and gdb_end_write() which the GDB support code can call before and
 after writing to memory.
  
  This change is not comprehensive:
   * It doesn't do anything to protect modules.
   * It doesn't do anything for kernel memory allocated after the kernel
 starts running.
   * In order to avoid excessive memory inefficiency, it may let multiple
 types of data share a 2M page, and assigns the most permissions
 needed for data on that page.
  
  Reviewed by:  jhb, kib
  Discussed with:   emaste
  MFC after:2 weeks
  Sponsored by: Netflix
  Differential Revision:https://reviews.freebsd.org/D14282

Modified:
  head/sys/amd64/amd64/db_interface.c
  head/sys/amd64/amd64/gdb_machdep.c
  head/sys/amd64/amd64/initcpu.c
  head/sys/amd64/amd64/mpboot.S
  head/sys/amd64/amd64/pmap.c
  head/sys/amd64/include/cpu.h
  head/sys/amd64/include/gdb_machdep.h
  head/sys/arm/include/gdb_machdep.h
  head/sys/conf/ldscript.amd64
  head/sys/gdb/gdb_packet.c
  head/sys/i386/include/gdb_machdep.h
  head/sys/mips/include/gdb_machdep.h
  head/sys/powerpc/include/gdb_machdep.h
  head/sys/sparc64/include/gdb_machdep.h

Modified: head/sys/amd64/amd64/db_interface.c
==
--- head/sys/amd64/amd64/db_interface.c Tue Mar  6 14:18:45 2018
(r330538)
+++ head/sys/amd64/amd64/db_interface.c Tue Mar  6 14:28:37 2018
(r330539)
@@ -36,6 +36,9 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 
+#include 
+#include 
+
 #include 
 
 /*
@@ -62,6 +65,9 @@ db_read_bytes(vm_offset_t addr, size_t size, char *dat
 
 /*
  * Write bytes to kernel address space for debugger.
+ * We need to disable write protection temporarily so we can write
+ * things (such as break points) that might be in write-protected
+ * memory.
  */
 int
 db_write_bytes(vm_offset_t addr, size_t size, char *data)
@@ -69,15 +75,19 @@ db_write_bytes(vm_offset_t addr, size_t size, char *da
jmp_buf jb;
void *prev_jb;
char *dst;
+   u_long cr0save;
int ret;
 
+   cr0save = rcr0();
prev_jb = kdb_jmpbuf(jb);
ret = setjmp(jb);
if (ret == 0) {
+   load_cr0(cr0save & ~CR0_WP);
dst = (char *)addr;
while (size-- > 0)
*dst++ = *data++;
}
+   load_cr0(cr0save);
(void)kdb_jmpbuf(prev_jb);
return (ret);
 }

Modified: head/sys/amd64/amd64/gdb_machdep.c
==
--- head/sys/amd64/amd64/gdb_machdep.c  Tue Mar  6 14:18:45 2018
(r330538)
+++ head/sys/amd64/amd64/gdb_machdep.c  Tue Mar  6 14:28:37 2018
(r330539)
@@ -36,11 +36,13 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 
+#include 
 #include 
 #include 
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -121,3 +123,21 @@ gdb_cpu_signal(int type, int code)
}
return (SIGEMT);
 }
+
+void *
+gdb_begin_write(void)
+{
+   u_long cr0save;
+
+   cr0save = rcr0();
+   load_cr0(cr0save & ~CR0_WP);
+   return ((void *)cr0save);
+}
+
+void
+gdb_end_write(void *arg)
+{
+
+   load_cr0((u_long)arg);
+}
+

Modified: head/sys/amd64/amd64/initcpu.c
==
--- head/sys/amd64/amd64/initcpu.c  Tue Mar  6 14:18:45 2018
(r330538)
+++ head/sys/amd64/amd64/initcpu.c  Tue Mar  6 14:28:37 2018
(r330539)
@@ -218,7 +218,7 @@ initializecpu(void)
if (!IS_BSP() && (cpu_stdext_feature & CPUID_STDEXT_SMEP))
cr4 |= CR4_SMEP;
load_cr4(cr4);
-   if ((amd_feature & AMDID_NX) != 0) {
+   if (IS_BSP() && (amd_feature & AMDID_NX) != 0) {
msr = rdmsr(MSR_EFER) | EFER_NXE;
wrmsr(MSR_EFER, msr);
pg_nx = PG_NX;

Modified: 

svn commit: r330538 - head/sys/conf

2018-03-06 Thread Jonathan T. Looney
Author: jtl
Date: Tue Mar  6 14:18:45 2018
New Revision: 330538
URL: https://svnweb.freebsd.org/changeset/base/330538

Log:
  Nudge lld to break the kernel read-only and read-write sections into
  separate 2M pages.  The binutils default for max-page-size and
  common-page-size used to produce this result.  By setting these
  values, we can nudge lld to also separate these sections into separate
  2M pages.
  
  Reviewed by:  jhb, kib
  Discussed with:   emaste
  Sponsored by: Netflix
  Differential Revision:D14282

Modified:
  head/sys/conf/kern.pre.mk

Modified: head/sys/conf/kern.pre.mk
==
--- head/sys/conf/kern.pre.mk   Tue Mar  6 12:58:00 2018(r330537)
+++ head/sys/conf/kern.pre.mk   Tue Mar  6 14:18:45 2018(r330538)
@@ -120,6 +120,10 @@ CFLAGS+=   ${CONF_CFLAGS}
 LDFLAGS+=  -Wl,--build-id=sha1
 .endif
 
+.if ${MACHINE_CPUARCH} == "amd64"
+LDFLAGS+=  -Wl,-z max-page-size=2097152 -Wl,-z common-page-size=4096
+.endif
+
 NORMAL_C= ${CC} -c ${CFLAGS} ${WERROR} ${PROF} ${.IMPSRC}
 NORMAL_S= ${CC:N${CCACHE_BIN}} -c ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}
 PROFILE_C= ${CC} -c ${CFLAGS} ${WERROR} ${.IMPSRC}
___
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: r330537 - in head/sys: compat/linuxkpi/common/include/linux dev/mlx4/mlx4_core

2018-03-06 Thread Andrey V. Elsukov
Author: ae
Date: Tue Mar  6 12:58:00 2018
New Revision: 330537
URL: https://svnweb.freebsd.org/changeset/base/330537

Log:
  Add mapping for several ethernet types used by Linux to FreeBSD
  ethernet types.
  
  Reviewed by:  hselasky
  MFC after:1 week
  Differential Revision:https://reviews.freebsd.org/D14594

Modified:
  head/sys/compat/linuxkpi/common/include/linux/if_ether.h
  head/sys/dev/mlx4/mlx4_core/mlx4.h

Modified: head/sys/compat/linuxkpi/common/include/linux/if_ether.h
==
--- head/sys/compat/linuxkpi/common/include/linux/if_ether.hTue Mar  6 
12:01:31 2018(r330536)
+++ head/sys/compat/linuxkpi/common/include/linux/if_ether.hTue Mar  6 
12:58:00 2018(r330537)
@@ -35,8 +35,6 @@
 
 #include 
 
-#defineETH_P_8021Q ETHERTYPE_VLAN
-
 #define ETH_HLENETHER_HDR_LEN   /* Total octets in header. 
 */
 #ifndef ETH_ALEN
 #define ETH_ALENETHER_ADDR_LEN
@@ -47,6 +45,11 @@
 /*
  * defined Ethernet Protocol ID's.
  */
-#define ETH_P_IP0x0800  /* Internet Protocol packet
 */
+#defineETH_P_IPETHERTYPE_IP
+#defineETH_P_IPV6  ETHERTYPE_IPV6
+#defineETH_P_MPLS_UC   ETHERTYPE_MPLS
+#defineETH_P_MPLS_MC   ETHERTYPE_MPLS_MCAST
+#defineETH_P_8021Q ETHERTYPE_VLAN
+#defineETH_P_8021ADETHERTYPE_QINQ
 
 #endif /* _LINUX_IF_ETHER_H_ */

Modified: head/sys/dev/mlx4/mlx4_core/mlx4.h
==
--- head/sys/dev/mlx4/mlx4_core/mlx4.h  Tue Mar  6 12:01:31 2018
(r330536)
+++ head/sys/dev/mlx4/mlx4_core/mlx4.h  Tue Mar  6 12:58:00 2018
(r330537)
@@ -66,8 +66,6 @@
 
 #define MLX4_QUERY_IF_STAT_RESET   BIT(31)
 
-#defineETH_P_8021AD0x88A8
-
 enum {
MLX4_HCR_BASE   = 0x80680,
MLX4_HCR_SIZE   = 0x0001c,
___
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: r330536 - head/sys/net

2018-03-06 Thread Andrey V. Elsukov
Author: ae
Date: Tue Mar  6 12:01:31 2018
New Revision: 330536
URL: https://svnweb.freebsd.org/changeset/base/330536

Log:
  Define ethernet type 0x88A8 as ETHERTYPE_QINQ.
  
  Reviewed by:  kp
  Obtained from:OpenBSD
  MFC after:1 week
  Differential Revision:https://reviews.freebsd.org/D14593

Modified:
  head/sys/net/ethernet.h

Modified: head/sys/net/ethernet.h
==
--- head/sys/net/ethernet.h Tue Mar  6 07:38:32 2018(r330535)
+++ head/sys/net/ethernet.h Tue Mar  6 12:01:31 2018(r330536)
@@ -344,6 +344,7 @@ struct ether_vlan_header {
 #defineETHERTYPE_PPPOE 0x8864  /* PPP Over Ethernet Session 
Stage */
 #defineETHERTYPE_LANPROBE  0x  /* HP LanProbe test? */
 #defineETHERTYPE_PAE   0x888e  /* EAPOL PAE/802.1x */
+#defineETHERTYPE_QINQ  0x88A8  /* 802.1ad VLAN stacking */
 #defineETHERTYPE_LOOPBACK  0x9000  /* Loopback: used to test 
interfaces */
 #defineETHERTYPE_LBACK ETHERTYPE_LOOPBACK  /* DEC MOP 
loopback */
 #defineETHERTYPE_XNSSM 0x9001  /* 3Com (Formerly Bridge 
Communications), XNS Systems Management */
___
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"