Re: svn commit: r349393 - head/sys/vm

2019-06-25 Thread Cy Schubert
In message <201906252025.x5pkpgml014...@repo.freebsd.org>, Doug Moore 
writes:
> Author: dougm
> Date: Tue Jun 25 20:25:16 2019
> New Revision: 349393
> URL: https://svnweb.freebsd.org/changeset/base/349393
>
> Log:
>   Eliminate some uses of the prev and next fields of vm_map_entry_t.
>   
>   Since the only caller to vm_map_splay is vm_map_lookup_entry, move the
>   implementation of vm_map_splay into vm_map_lookup_helper, called by
>   vm_map_lookup_entry.
>   
>   vm_map_lookup_entry returns the greatest entry less than or equal to a
>   given address, but in many cases the caller wants the least entry
>   greater than or equal to the address and uses the next pointer to get
>   to it. Provide an alternative interface to lookup,
>   vm_map_lookup_entry_ge, to provide the latter behavior, and let
>   callers use one or the other rather than having them use the next
>   pointer after a lookup miss to get what they really want.
>   
>   In vm_map_growstack, the caller wants an entry that includes a given
>   address, and either the preceding or next entry depending on the value
>   of eflags in the first entry. Incorporate that behavior into
>   vm_map_lookup_helper, the function that implements all of these
>   lookups.
>   
>   Eliminate some temporary variables used with vm_map_lookup_entry, but
>   inessential.
>   
>   Reviewed by: markj (earlier version)
>   Approved by: kib (mentor)
>   Differential Revision: https://reviews.freebsd.org/D20664
>
> Modified:
>   head/sys/vm/vm_map.c
>   head/sys/vm/vm_map.h
>
[...]

Hi Doug,

This commit causes the following panic. The panic occurs during UFS fsck.
Booting into single user and issuing fsck by hand also results in the
panic. Reverting this rev provides relief.

<118>Starting file system checks:


Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 01
fault virtual address   = 0x52
fault code  = supervisor read data, page not present
instruction pointer = 0x20:0x809649b4
stack pointer   = 0x0:0xfe0035853810
frame pointer   = 0x0:0xfe00358538f0
code segment= base 0x0, limit 0xf, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags= interrupt enabled, resume, IOPL = 0
current process = 62 (fsck_ufs)
trap number = 12
panic: page fault
cpuid = 1
time = 1561490154
KDB: stack backtrace:
#0 0x806bff77 at kdb_backtrace+0x67
#1 0x806744fd at vpanic+0x19d
#2 0x80674353 at panic+0x43
#3 0x809adcdc at trap_fatal+0x39c
#4 0x809add29 at trap_pfault+0x49
#5 0x809ad31f at trap+0x29f
#6 0x80989125 at calltrap+0x8
#7 0x80956702 at vm_fault_hold+0x72
#8 0x80956640 at vm_fault+0x60
#9 0x809ade44 at trap_pfault+0x164
#10 0x809ad4ab at trap+0x42b
#11 0x80989125 at calltrap+0x8
Uptime: 22s
Dumping 302 out of 4068 MB:..6%..11%..22%..32%..43%..53%..64%..74%..85%.
.96%

__curthread () at /opt/src/svn-current/sys/amd64/include/pcpu.h:246
246 __asm("movq %%gs:%P1,%0" : "=r" (td) : "n" 
(OFFSETOF_CURTHREAD));
(kgdb) bt
#0  __curthread () at /opt/src/svn-current/sys/amd64/include/pcpu.h:246
#1  doadump (textdump=) at /opt/src/svn-current/sys/kern/
kern_shutdown.c:392
#2  0x806740b8 in kern_reboot (howto=260) at 
/opt/src/svn-current/sys/kern/kern_shutdown.c:479
#3  0x80674559 in vpanic (fmt=, ap=) at /opt/src/svn-current/sys/kern/kern_shutdown.c:905
#4  0x80674353 in panic (fmt=) at 
/opt/src/svn-current/sys/kern/kern_shutdown.c:832
#5  0x809adcdc in trap_fatal (frame=0xfe0035853750, eva=82) 
at /opt/src/svn-current/sys/amd64/amd64/trap.c:943
#6  0x809add29 in trap_pfault (frame=0xfe0035853750, 
usermode=0) at /opt/src/svn-current/sys/amd64/amd64/trap.c:767
#7  0x809ad31f in trap (frame=0xfe0035853750) at 
/opt/src/svn-current/sys/amd64/amd64/trap.c:443
#8  
#9  0x809649b4 in vm_map_growstack (map=0xf80005757000, 
addr=140737487298560, gap_entry=0xf8000546a9a0) at 
/opt/src/svn-current/sys/vm/vm_map.c:4226
#10 vm_map_lookup (var_map=0xfe00358539e0, vaddr=140737487298560, 
fault_typea=18 '\022', out_entry=0xfe00358539e8, 
object=0xfe00358539d0, pindex=0xfe00358539d8,
out_prot=0xfe0035853a17 "\003", wired=0xfe0035853a04) at 
/opt/src/svn-current/sys/vm/vm_map.c:4549
#11 0x80956702 in vm_fault_hold (map=0xf80005757000, 
vaddr=140737487298560, fault_type=2 '\002', fault_flags=0, m_hold=0x0) 
at /opt/src/svn-current/sys/vm/vm_fault.c:589
#12 0x80956640 in vm_fault (map=0xf80005757000, 
vaddr=, fault_type=2 '\002', fault_flags=0) at 
/opt/src/svn-current/sys/vm/vm_fault.c:550
#13 0x809ade44 in trap_pfault (frame=0xfe0035853c00, 
usermode=1) at /opt/src/svn-current/sys/amd64/amd64/trap.c:846
#14 0x809ad4ab in trap (frame=0xfe0035853c00) at 
/opt/src/svn-current/sys/amd64/amd64/trap.c:355

svn commit: r349405 - head/sys/vm

2019-06-25 Thread Doug Moore
Author: dougm
Date: Wed Jun 26 03:12:57 2019
New Revision: 349405
URL: https://svnweb.freebsd.org/changeset/base/349405

Log:
  Revert r349393, which leads to an assertion failure on bootup, in 
vm_map_stack_locked.
  
  Reported by: l...@lerctr.org
  Approved by: kib, markj (mentors, implicit)

Modified:
  head/sys/vm/vm_map.c
  head/sys/vm/vm_map.h

Modified: head/sys/vm/vm_map.c
==
--- head/sys/vm/vm_map.cWed Jun 26 03:06:57 2019(r349404)
+++ head/sys/vm/vm_map.cWed Jun 26 03:12:57 2019(r349405)
@@ -983,17 +983,6 @@ vm_map_entry_max_free_right(vm_map_entry_t root, vm_ma
root->right->max_free : right_ancestor->start - root->end);
 }
 
-/*
- *  vm_map_splay_split, vm_map_splay_merge:
- *
- *  The Sleator and Tarjan top-down splay algorithm with the following
- *  variation.  Max_free must be computed bottom-up, so on the downward
- *  pass (vm_map_splay_split), maintain the left and right spines in
- *  reverse order, and ensure that the max_free values for those nodes
- *  store the values of their descendents not on the search path.  Later,
- *  make a second pass up each side (vm_map_splay_merge) to fix the
- *  pointers and compute max_free.  The time bound is O(log n) amortized.
- */
 #define SPLAY_LEFT_STEP(root, y, rlist, test) do { \
vm_size_t max_free; \
\
@@ -1177,6 +1166,56 @@ vm_map_splay_merge(vm_map_t map, vm_map_entry_t root,
 }
 
 /*
+ * vm_map_splay:
+ *
+ * The Sleator and Tarjan top-down splay algorithm with the
+ * following variation.  Max_free must be computed bottom-up, so
+ * on the downward pass, maintain the left and right spines in
+ * reverse order.  Then, make a second pass up each side to fix
+ * the pointers and compute max_free.  The time bound is O(log n)
+ * amortized.
+ *
+ * The new root is the vm_map_entry containing "addr", or else an
+ * adjacent entry (lower if possible) if addr is not in the tree.
+ *
+ * The map must be locked, and leaves it so.
+ *
+ * Returns: the new root.
+ */
+static vm_map_entry_t
+vm_map_splay(vm_map_t map, vm_offset_t addr)
+{
+   vm_map_entry_t llist, rlist, root;
+
+   root = vm_map_splay_split(map, addr, 0, , );
+   if (root != NULL) {
+   /* do nothing */
+   } else if (llist != >header) {
+   /*
+* Recover the greatest node in the left
+* subtree and make it the root.
+*/
+   root = llist;
+   llist = root->right;
+   root->right = NULL;
+   } else if (rlist != >header) {
+   /*
+* Recover the least node in the right
+* subtree and make it the root.
+*/
+   root = rlist;
+   rlist = root->left;
+   root->left = NULL;
+   } else {
+   /* There is no root. */
+   return (NULL);
+   }
+   vm_map_splay_merge(map, root, llist, rlist);
+   VM_MAP_ASSERT_CONSISTENT(map);
+   return (root);
+}
+
+/*
  * vm_map_entry_{un,}link:
  *
  * Insert/remove entries from maps.
@@ -1292,133 +1331,81 @@ vm_map_entry_resize(vm_map_t map, vm_map_entry_t entry
 }
 
 /*
- * vm_map_lookup_helper:   [ internal use only ]
+ * vm_map_lookup_entry:[ internal use only ]
  *
- * Finds the map entry containing (or adjacent to) the specified address
- * in the given map; the entry is returned in the "entry" parameter.  The
- * boolean result indicates whether the address is actually contained in
- * the map.  If the address is not contained in the map, parameter lesseq
- * determines whether the entry provided is before or after the address.
- * If the address is contained in the map, parameter nbr, if not NULL, is
- * where the next or previous entry is saved, depending on the value of
- * eflags in the found entry.
+ * Finds the map entry containing (or
+ * immediately preceding) the specified address
+ * in the given map; the entry is returned
+ * in the "entry" parameter.  The boolean
+ * result indicates whether the address is
+ * actually contained in the map.
  */
-static bool
-vm_map_lookup_helper(vm_map_t map, vm_offset_t addr, bool lesseq,
-vm_map_entry_t *entry, vm_map_entry_t *nbr)/* OUT */
+boolean_t
+vm_map_lookup_entry(
+   vm_map_t map,
+   vm_offset_t address,
+   vm_map_entry_t *entry)  /* OUT */
 {
-   vm_map_entry_t llist, rlist, root;
-   bool locked, found;
+   vm_map_entry_t cur, lbound;
+   boolean_t locked;
 
/*
 * If the map is empty, then the map entry immediately preceding
-* "addr" is the map's header.
+ 

svn commit: r349404 - in head/stand/efi: libefi loader

2019-06-25 Thread Rebecca Cran
Author: bcran
Date: Wed Jun 26 03:06:57 2019
New Revision: 349404
URL: https://svnweb.freebsd.org/changeset/base/349404

Log:
  Re-enable loader efi http boot and fix dv_open bug if dv_init failed
  
  The code in efihttp.c was assuming that dv_open wouldn't be called if
  dv_init failed. But the dv_init return value is currently ignored.
  
  Add a new variable, `efihttp_init_done` and only proceed in dv_open if
  it's true. This fixes the loader on systems without efi http support.

Modified:
  head/stand/efi/libefi/efihttp.c
  head/stand/efi/loader/conf.c

Modified: head/stand/efi/libefi/efihttp.c
==
--- head/stand/efi/libefi/efihttp.c Wed Jun 26 02:09:22 2019
(r349403)
+++ head/stand/efi/libefi/efihttp.c Wed Jun 26 03:06:57 2019
(r349404)
@@ -52,6 +52,8 @@ static EFI_GUID http_guid = EFI_HTTP_PROTOCOL_GUID;
 static EFI_GUID httpsb_guid = EFI_HTTP_SERVICE_BINDING_PROTOCOL_GUID;
 static EFI_GUID ip4config2_guid = EFI_IP4_CONFIG2_PROTOCOL_GUID;
 
+static bool efihttp_init_done = false;
+
 static int efihttp_dev_init(void);
 static int efihttp_dev_strategy(void *devdata, int rw, daddr_t blk, size_t 
size,
 char *buf, size_t *rsize);
@@ -208,6 +210,9 @@ efihttp_dev_init(void)
return (efi_status_to_errno(status));
 
err = efi_register_handles(_dev, , NULL, 1);
+   if (!err)
+   efihttp_init_done = true;
+
return (err);
 }
 
@@ -236,6 +241,9 @@ efihttp_dev_open(struct open_file *f, ...)
EFI_STATUS status;
int err, len;
 
+   if (!efihttp_init_done)
+   return (ENXIO);
+
imgpath = efi_lookup_image_devpath(IH);
if (imgpath == NULL)
return (ENXIO);
@@ -555,6 +563,8 @@ efihttp_fs_open(const char *path, struct open_file *f)
char *path_slash;
int err;
 
+   if (!efihttp_init_done)
+   return (ENXIO);
/*
 * If any path fails to open, try with a trailing slash in
 * case it's a directory.

Modified: head/stand/efi/loader/conf.c
==
--- head/stand/efi/loader/conf.cWed Jun 26 02:09:22 2019
(r349403)
+++ head/stand/efi/loader/conf.cWed Jun 26 03:06:57 2019
(r349404)
@@ -39,6 +39,7 @@ struct devsw *devsw[] = {
_fddev,
_cddev,
_hddev,
+   _dev, /* ordering with efinet_dev matters */
_dev,
_dev,
 #ifdef EFI_ZFS_BOOT
@@ -54,6 +55,7 @@ struct fs_ops *file_system[] = {
_fsops,
_fsops,
_fsops,
+   _fsops,
_fsops,
_fsops,
_fsops,
___
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: r349402 - in head/sys/powerpc: include powerpc

2019-06-25 Thread Justin Hibbits
Author: jhibbits
Date: Wed Jun 26 01:14:39 2019
New Revision: 349402
URL: https://svnweb.freebsd.org/changeset/base/349402

Log:
  powerpc/booke: Handle misaligned floating point loads/stores as on AIM
  
  Misaligned floating point loads and stores are already handled for AIM, but
  use the DSISR to obtain the necessary data.  Book-E does not have the DSISR,
  so these fixups are not performed, leading to a SIGBUS on misaligned FP
  loads or stores.  Obtain the necessary data on the Book-E side, similar to
  how is done for SPE.
  
  MFC after:1 week

Modified:
  head/sys/powerpc/include/trap.h
  head/sys/powerpc/powerpc/trap.c

Modified: head/sys/powerpc/include/trap.h
==
--- head/sys/powerpc/include/trap.h Wed Jun 26 00:53:49 2019
(r349401)
+++ head/sys/powerpc/include/trap.h Wed Jun 26 01:14:39 2019
(r349402)
@@ -130,7 +130,7 @@
 /* Macros to extract register information */
 #define EXC_ALI_RST(dsisr) ((dsisr >> 5) & 0x1f)   /* source or target */
 #define EXC_ALI_RA(dsisr) (dsisr & 0x1f)
-#defineEXC_ALI_SPE_REG(instr)  ((instr >> 21) & 0x1f)
+#defineEXC_ALI_INST_RST(instr) ((instr >> 21) & 0x1f)
 
 /*
  * SRR1 bits for program exception traps. These identify what caused

Modified: head/sys/powerpc/powerpc/trap.c
==
--- head/sys/powerpc/powerpc/trap.c Wed Jun 26 00:53:49 2019
(r349401)
+++ head/sys/powerpc/powerpc/trap.c Wed Jun 26 01:14:39 2019
(r349402)
@@ -788,7 +788,7 @@ static int
 fix_unaligned(struct thread *td, struct trapframe *frame)
 {
struct thread   *fputhread;
-#ifdef __SPE__
+#ifdef BOOKE
uint32_tinst;
 #endif
int indicator, reg;
@@ -799,7 +799,7 @@ fix_unaligned(struct thread *td, struct trapframe *fra
if (indicator & ESR_SPE) {
if (copyin((void *)frame->srr0, , sizeof(inst)) != 0)
return (-1);
-   reg = EXC_ALI_SPE_REG(inst);
+   reg = EXC_ALI_INST_RST(inst);
fpr = (double *)td->td_pcb->pcb_vec.vr[reg];
fputhread = PCPU_GET(vecthread);
 
@@ -829,12 +829,22 @@ fix_unaligned(struct thread *td, struct trapframe *fra
return (0);
}
 #else
+#ifdef BOOKE
+   indicator = (frame->cpu.booke.esr & ESR_ST) ? EXC_ALI_STFD : 
EXC_ALI_LFD;
+#else
indicator = EXC_ALI_OPCODE_INDICATOR(frame->cpu.aim.dsisr);
+#endif
 
switch (indicator) {
case EXC_ALI_LFD:
case EXC_ALI_STFD:
+#ifdef BOOKE
+   if (copyin((void *)frame->srr0, , sizeof(inst)) != 0)
+   return (-1);
+   reg = EXC_ALI_INST_RST(inst);
+#else
reg = EXC_ALI_RST(frame->cpu.aim.dsisr);
+#endif
fpr = >td_pcb->pcb_fpu.fpr[reg].fpr;
fputhread = PCPU_GET(fputhread);
 
___
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: r349400 - head/sys/contrib/ipfilter/netinet

2019-06-25 Thread Cy Schubert
Author: cy
Date: Wed Jun 26 00:53:46 2019
New Revision: 349400
URL: https://svnweb.freebsd.org/changeset/base/349400

Log:
  Remove a tautological compare for offset != 0.
  
  MFC after:1 week

Modified:
  head/sys/contrib/ipfilter/netinet/fil.c

Modified: head/sys/contrib/ipfilter/netinet/fil.c
==
--- head/sys/contrib/ipfilter/netinet/fil.c Wed Jun 26 00:53:43 2019
(r349399)
+++ head/sys/contrib/ipfilter/netinet/fil.c Wed Jun 26 00:53:46 2019
(r349400)
@@ -1732,24 +1732,22 @@ ipf_pr_ipv4hdr(fin)
 
fi->fi_flx |= FI_FRAG;
off &= IP_OFFMASK;
-   if (off != 0) {
-   fin->fin_flx |= FI_FRAGBODY;
-   off <<= 3;
-   if ((off + fin->fin_dlen > 65535) ||
-   (fin->fin_dlen == 0) ||
-   ((morefrag != 0) && ((fin->fin_dlen & 7) != 0))) {
-   /*
-* The length of the packet, starting at its
-* offset cannot exceed 65535 (0x) as the
-* length of an IP packet is only 16 bits.
-*
-* Any fragment that isn't the last fragment
-* must have a length greater than 0 and it
-* must be an even multiple of 8.
-*/
-   fi->fi_flx |= FI_BAD;
-   DT1(ipf_fi_bad_fragbody_gt_65535, fr_info_t *, 
fin);
-   }
+   fin->fin_flx |= FI_FRAGBODY;
+   off <<= 3;
+   if ((off + fin->fin_dlen > 65535) ||
+   (fin->fin_dlen == 0) ||
+   ((morefrag != 0) && ((fin->fin_dlen & 7) != 0))) {
+   /*
+* The length of the packet, starting at its
+* offset cannot exceed 65535 (0x) as the
+* length of an IP packet is only 16 bits.
+*
+* Any fragment that isn't the last fragment
+* must have a length greater than 0 and it
+* must be an even multiple of 8.
+*/
+   fi->fi_flx |= FI_BAD;
+   DT1(ipf_fi_bad_fragbody_gt_65535, fr_info_t *, fin);
}
}
fin->fin_off = off;
___
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: r349401 - head/sys/contrib/ipfilter/netinet

2019-06-25 Thread Cy Schubert
Author: cy
Date: Wed Jun 26 00:53:49 2019
New Revision: 349401
URL: https://svnweb.freebsd.org/changeset/base/349401

Log:
  While working on PR/238796 I discovered an unused variable in frdest,
  the next hop structure. It is likely this contributes to PR/238796
  though other factors remain to be investigated.
  
  PR:   238796
  MFC after:1 week

Modified:
  head/sys/contrib/ipfilter/netinet/fil.c
  head/sys/contrib/ipfilter/netinet/ip_fil.h

Modified: head/sys/contrib/ipfilter/netinet/fil.c
==
--- head/sys/contrib/ipfilter/netinet/fil.c Wed Jun 26 00:53:46 2019
(r349400)
+++ head/sys/contrib/ipfilter/netinet/fil.c Wed Jun 26 00:53:49 2019
(r349401)
@@ -7474,10 +7474,6 @@ ipf_resolvedest(softc, base, fdp, v)
}
fdp->fd_ptr = ifp;
 
-   if ((ifp != NULL) && (ifp != (void *)-1)) {
-   fdp->fd_local = ipf_deliverlocal(softc, v, ifp, >fd_ip6);
-   }
-
return errval;
 }
 

Modified: head/sys/contrib/ipfilter/netinet/ip_fil.h
==
--- head/sys/contrib/ipfilter/netinet/ip_fil.h  Wed Jun 26 00:53:46 2019
(r349400)
+++ head/sys/contrib/ipfilter/netinet/ip_fil.h  Wed Jun 26 00:53:49 2019
(r349401)
@@ -560,7 +560,6 @@ typedef struct  frdest  {
addrfamily_tfd_addr;
fr_dtypes_t fd_type;
int fd_name;
-   int fd_local;
 } frdest_t;
 
 #definefd_ip6  fd_addr.adf_addr
___
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: r349399 - head/sys/contrib/ipfilter/netinet

2019-06-25 Thread Cy Schubert
Author: cy
Date: Wed Jun 26 00:53:43 2019
New Revision: 349399
URL: https://svnweb.freebsd.org/changeset/base/349399

Log:
  Prompted by r349366, ipfilter is also does not conform to RFC 3128
  by dropping TCP fragments with offset = 1.
  
  In addition to dropping these fragments, add a DTrace probe to allow
  for more detailed monitoring and diagnosis if required.
  
  MFC after:1 week

Modified:
  head/sys/contrib/ipfilter/netinet/fil.c

Modified: head/sys/contrib/ipfilter/netinet/fil.c
==
--- head/sys/contrib/ipfilter/netinet/fil.c Wed Jun 26 00:06:41 2019
(r349398)
+++ head/sys/contrib/ipfilter/netinet/fil.c Wed Jun 26 00:53:43 2019
(r349399)
@@ -1723,6 +1723,10 @@ ipf_pr_ipv4hdr(fin)
 * calculate the byte offset that it represents.
 */
off &= IP_MF|IP_OFFMASK;
+   if (off == 1 && p == IPPROTO_TCP) {
+   fin->fin_flx |= FI_SHORT;   /* RFC 3128 */
+   DT1(ipf_fi_tcp_frag_off_1, fr_info_t *, fin);
+   }
if (off != 0) {
int morefrag = off & IP_MF;
 
___
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: r349349 - in head/stand: efi/include efi/include/Protocol efi/libefi efi/loader libsa

2019-06-25 Thread Warner Losh
On Tue, Jun 25, 2019, 3:29 PM Rebecca Cran  wrote:

> On 2019-06-25 11:23, Dave Cottlehuber wrote:
>
> > This fails to identify the partition with a bootable zpool on both a
> laptop (details
> > in the PR)  and also a server (2 zpools), and instead tries to boot from
> the EFI
> > partition where the boot1.efi loader is located (i.e. disk0p1 and not
> disk0p2).
> >
> > https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238800
>
> This doesn't sound related to the EFI HTTP changes, but may be related
> to some recent changes Warner's made?
>
> Other people have reported problems booting after my changeset though,
> so I've disconnected the HTTP boot code in r349395.
>

Please let me know if this persists.

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"


Re: svn commit: r349349 - in head/stand: efi/include efi/include/Protocol efi/libefi efi/loader libsa

2019-06-25 Thread Rebecca Cran
On 2019-06-25 11:23, Dave Cottlehuber wrote:

> This fails to identify the partition with a bootable zpool on both a laptop 
> (details
> in the PR)  and also a server (2 zpools), and instead tries to boot from the 
> EFI
> partition where the boot1.efi loader is located (i.e. disk0p1 and not 
> disk0p2).
> 
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238800

This doesn't sound related to the EFI HTTP changes, but may be related
to some recent changes Warner's made?

Other people have reported problems booting after my changeset though,
so I've disconnected the HTTP boot code in r349395.

-- 
Rebecca Cran



signature.asc
Description: OpenPGP digital signature


svn commit: r349395 - head/stand/efi/loader

2019-06-25 Thread Rebecca Cran
Author: bcran
Date: Tue Jun 25 21:26:57 2019
New Revision: 349395
URL: https://svnweb.freebsd.org/changeset/base/349395

Log:
  Disconnect EFI HTTP support
  
  The EFI HTTP code has been causing boot failures for people, so disable it
  while a fix is being worked on.

Modified:
  head/stand/efi/loader/conf.c

Modified: head/stand/efi/loader/conf.c
==
--- head/stand/efi/loader/conf.cTue Jun 25 21:21:34 2019
(r349394)
+++ head/stand/efi/loader/conf.cTue Jun 25 21:26:57 2019
(r349395)
@@ -39,7 +39,6 @@ struct devsw *devsw[] = {
_fddev,
_cddev,
_hddev,
-   _dev, /* ordering with efinet_dev matters */
_dev,
_dev,
 #ifdef EFI_ZFS_BOOT
@@ -55,7 +54,6 @@ struct fs_ops *file_system[] = {
_fsops,
_fsops,
_fsops,
-   _fsops,
_fsops,
_fsops,
_fsops,
___
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: r349393 - head/sys/vm

2019-06-25 Thread Doug Moore
Author: dougm
Date: Tue Jun 25 20:25:16 2019
New Revision: 349393
URL: https://svnweb.freebsd.org/changeset/base/349393

Log:
  Eliminate some uses of the prev and next fields of vm_map_entry_t.
  
  Since the only caller to vm_map_splay is vm_map_lookup_entry, move the
  implementation of vm_map_splay into vm_map_lookup_helper, called by
  vm_map_lookup_entry.
  
  vm_map_lookup_entry returns the greatest entry less than or equal to a
  given address, but in many cases the caller wants the least entry
  greater than or equal to the address and uses the next pointer to get
  to it. Provide an alternative interface to lookup,
  vm_map_lookup_entry_ge, to provide the latter behavior, and let
  callers use one or the other rather than having them use the next
  pointer after a lookup miss to get what they really want.
  
  In vm_map_growstack, the caller wants an entry that includes a given
  address, and either the preceding or next entry depending on the value
  of eflags in the first entry. Incorporate that behavior into
  vm_map_lookup_helper, the function that implements all of these
  lookups.
  
  Eliminate some temporary variables used with vm_map_lookup_entry, but
  inessential.
  
  Reviewed by: markj (earlier version)
  Approved by: kib (mentor)
  Differential Revision: https://reviews.freebsd.org/D20664

Modified:
  head/sys/vm/vm_map.c
  head/sys/vm/vm_map.h

Modified: head/sys/vm/vm_map.c
==
--- head/sys/vm/vm_map.cTue Jun 25 19:55:42 2019(r349392)
+++ head/sys/vm/vm_map.cTue Jun 25 20:25:16 2019(r349393)
@@ -983,6 +983,17 @@ vm_map_entry_max_free_right(vm_map_entry_t root, vm_ma
root->right->max_free : right_ancestor->start - root->end);
 }
 
+/*
+ *  vm_map_splay_split, vm_map_splay_merge:
+ *
+ *  The Sleator and Tarjan top-down splay algorithm with the following
+ *  variation.  Max_free must be computed bottom-up, so on the downward
+ *  pass (vm_map_splay_split), maintain the left and right spines in
+ *  reverse order, and ensure that the max_free values for those nodes
+ *  store the values of their descendents not on the search path.  Later,
+ *  make a second pass up each side (vm_map_splay_merge) to fix the
+ *  pointers and compute max_free.  The time bound is O(log n) amortized.
+ */
 #define SPLAY_LEFT_STEP(root, y, rlist, test) do { \
vm_size_t max_free; \
\
@@ -1166,56 +1177,6 @@ vm_map_splay_merge(vm_map_t map, vm_map_entry_t root,
 }
 
 /*
- * vm_map_splay:
- *
- * The Sleator and Tarjan top-down splay algorithm with the
- * following variation.  Max_free must be computed bottom-up, so
- * on the downward pass, maintain the left and right spines in
- * reverse order.  Then, make a second pass up each side to fix
- * the pointers and compute max_free.  The time bound is O(log n)
- * amortized.
- *
- * The new root is the vm_map_entry containing "addr", or else an
- * adjacent entry (lower if possible) if addr is not in the tree.
- *
- * The map must be locked, and leaves it so.
- *
- * Returns: the new root.
- */
-static vm_map_entry_t
-vm_map_splay(vm_map_t map, vm_offset_t addr)
-{
-   vm_map_entry_t llist, rlist, root;
-
-   root = vm_map_splay_split(map, addr, 0, , );
-   if (root != NULL) {
-   /* do nothing */
-   } else if (llist != >header) {
-   /*
-* Recover the greatest node in the left
-* subtree and make it the root.
-*/
-   root = llist;
-   llist = root->right;
-   root->right = NULL;
-   } else if (rlist != >header) {
-   /*
-* Recover the least node in the right
-* subtree and make it the root.
-*/
-   root = rlist;
-   rlist = root->left;
-   root->left = NULL;
-   } else {
-   /* There is no root. */
-   return (NULL);
-   }
-   vm_map_splay_merge(map, root, llist, rlist);
-   VM_MAP_ASSERT_CONSISTENT(map);
-   return (root);
-}
-
-/*
  * vm_map_entry_{un,}link:
  *
  * Insert/remove entries from maps.
@@ -1331,81 +1292,133 @@ vm_map_entry_resize(vm_map_t map, vm_map_entry_t entry
 }
 
 /*
- * vm_map_lookup_entry:[ internal use only ]
+ * vm_map_lookup_helper:   [ internal use only ]
  *
- * Finds the map entry containing (or
- * immediately preceding) the specified address
- * in the given map; the entry is returned
- * in the "entry" parameter.  The boolean
- * result indicates whether the address is
- * actually contained in the map.
+ * Finds the map entry containing (or adjacent to) the specified address
+ *

svn commit: r349392 - head/sys/sys

2019-06-25 Thread Julian Elischer
Author: julian
Date: Tue Jun 25 19:55:42 2019
New Revision: 349392
URL: https://svnweb.freebsd.org/changeset/base/349392

Log:
  Fix annoying whitespace issue.
  NO real change

Modified:
  head/sys/sys/pmckern.h

Modified: head/sys/sys/pmckern.h
==
--- head/sys/sys/pmckern.h  Tue Jun 25 19:44:22 2019(r349391)
+++ head/sys/sys/pmckern.h  Tue Jun 25 19:55:42 2019(r349392)
@@ -226,7 +226,7 @@ do {\
  */
 #definePMC_CALL_HOOK_UNLOCKED(t, cmd, arg) \
 do {   \
-   if (pmc_hook != NULL)   \
+   if (pmc_hook != NULL)   \
(pmc_hook)((t), (cmd), (arg));  \
 } while (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: r349391 - head/sys/kern

2019-06-25 Thread Alan Somers
Author: asomers
Date: Tue Jun 25 19:44:22 2019
New Revision: 349391
URL: https://svnweb.freebsd.org/changeset/base/349391

Log:
  fcntl: style changes to r349248
  
  Reported by:  bde
  MFC after:2 weeks
  MFC-With: 349248
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/kern/vfs_vnops.c

Modified: head/sys/kern/vfs_vnops.c
==
--- head/sys/kern/vfs_vnops.c   Tue Jun 25 19:36:01 2019(r349390)
+++ head/sys/kern/vfs_vnops.c   Tue Jun 25 19:44:22 2019(r349391)
@@ -499,10 +499,8 @@ sequential_heuristic(struct uio *uio, struct file *fp)
 * closely related to the best I/O size for real disks than
 * to any block size used by software.
 */
-   fp->f_seqcount += MIN(IO_SEQMAX,
+   fp->f_seqcount += lmin(IO_SEQMAX,
howmany(uio->uio_resid, 16384));
-   if (fp->f_seqcount > IO_SEQMAX)
-   fp->f_seqcount = IO_SEQMAX;
return (fp->f_seqcount << IO_SEQSHIFT);
}
 
___
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: r349387 - releng/11.3/release/doc/en_US.ISO8859-1/relnotes

2019-06-25 Thread Glen Barber
Author: gjb
Date: Tue Jun 25 19:35:57 2019
New Revision: 349387
URL: https://svnweb.freebsd.org/changeset/base/349387

Log:
  Release notes documentation:
  - Remove empty sections.
  
  Approved by:  re (implicit)
  Sponsored by: Rubicon Communications, LLC (Netgate)

Modified:
  releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xml

Modified: releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xml
==
--- releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xmlTue Jun 
25 19:35:56 2019(r349386)
+++ releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xmlTue Jun 
25 19:35:57 2019(r349387)
@@ -318,12 +318,6 @@
been updated to the latest upstream version.
 
 
-
-  Installation and Configuration Tools
-
-  
-
-
 
   /etc/rc.d
Scripts
@@ -379,18 +373,6 @@
   The  library has been
updated to improve POSIX compliance.
 
-
-
-  ABI Compatibility
-
-  
-
-
-
-  Userland Debugging
-
-  
-
   
 
   
@@ -423,30 +405,6 @@
future releases will now be printed on all 
versions.
 
-
-
-  Kernel Bug Fixes
-
-  
-
-
-
-  Kernel Configuration
-
-  
-
-
-
-  Kernel Modules
-
-  
-
-
-
-  System Tuning and Controls
-
-  
-
   
 
   
@@ -480,12 +438,6 @@
deprecated, and are not present in 13.0.
 
 
-
-  Storage Drivers
-
-  
-
-
 
   Network Drivers
 
@@ -555,12 +507,6 @@
NumLock, ScrollLock, and
numerical keypad keys has been added to .
 
-
-
-  ARM Support
-
-  
-
   
 
   
@@ -576,12 +522,6 @@
weaker algorithms when creating  providers.
 
 
-
-  Networked Storage
-
-  
-
-
 
   ZFS
 
@@ -594,12 +534,6 @@
ZFS filesystem has been updated to
implement parallel mounting.
 
-
-
-  geom(4)
-
-  
-
   
 
   
@@ -627,12 +561,6 @@
console type and device if not defined in
.
 
-
-
-  Boot Menu Changes
-
-  
-
   
 
   
@@ -658,12 +586,6 @@
IPSec algorithms deprecated in
RFC 8221.
 
-
-
-  Network Protocols
-
-  
-
   
 
   
@@ -673,33 +595,8 @@
   Collection, package infrastructure, and package maintenance and
   installation tools.
 
-
-  Infrastructure Changes
-
-  
-
-
 
   Packaging Changes
-
-  
-
-  
-
-  
-Documentation
-
-This section covers changes to the Documentation
-  Project sources and toolchain.
-
-
-  Documentation Source Changes
-
-  
-
-
-
-  Documentation Toolchain Changes
 
   
 
___
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: r349390 - releng/11.3/release/doc/en_US.ISO8859-1

2019-06-25 Thread Glen Barber
Author: gjb
Date: Tue Jun 25 19:36:01 2019
New Revision: 349390
URL: https://svnweb.freebsd.org/changeset/base/349390

Log:
  Connect the installation page to the build.
  
  Approved by:  re (implicit)
  Sponsored by: Rubicon Communications, LLC (Netgate)

Modified:
  releng/11.3/release/doc/en_US.ISO8859-1/Makefile

Modified: releng/11.3/release/doc/en_US.ISO8859-1/Makefile
==
--- releng/11.3/release/doc/en_US.ISO8859-1/MakefileTue Jun 25 19:36:00 
2019(r349389)
+++ releng/11.3/release/doc/en_US.ISO8859-1/MakefileTue Jun 25 19:36:01 
2019(r349390)
@@ -4,6 +4,7 @@ RELN_ROOT?= ${.CURDIR}/..
 
 SUBDIR = relnotes
 SUBDIR+= hardware
+SUBDIR+= installation
 SUBDIR+= readme
 SUBDIR+= errata
 
___
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: r349389 - releng/11.3/release/doc/en_US.ISO8859-1/installation

2019-06-25 Thread Glen Barber
Author: gjb
Date: Tue Jun 25 19:36:00 2019
New Revision: 349389
URL: https://svnweb.freebsd.org/changeset/base/349389

Log:
  Release notes documentation:
  - Update version numbers in the installation page.
  
  Approved by:  re (implicit)
  Sponsored by: Rubicon Communications, LLC (Netgate)

Modified:
  releng/11.3/release/doc/en_US.ISO8859-1/installation/article.xml

Modified: releng/11.3/release/doc/en_US.ISO8859-1/installation/article.xml
==
--- releng/11.3/release/doc/en_US.ISO8859-1/installation/article.xmlTue Jun 
25 19:35:58 2019(r349388)
+++ releng/11.3/release/doc/en_US.ISO8859-1/installation/article.xmlTue Jun 
25 19:36:00 2019(r349389)
@@ -4,7 +4,7 @@
 http://www.FreeBSD.org/release/XML/share/xml/release.ent;>
 %release;
-
+
 ]>
 
 http://docbook.org/ns/docbook;
@@ -82,8 +82,7 @@
   The  utility supports binary
upgrades of  and  systems running
earlier FreeBSD releases.  Systems running
-   10.3-RELEASE,
-   11.0-RELEASE can upgrade as follows:
+   11.2-RELEASE can upgrade as follows:
 
freebsd-update fetch
  freebsd-update install
___
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: r349388 - releng/11.3/release/doc/en_US.ISO8859-1/relnotes

2019-06-25 Thread Glen Barber
Author: gjb
Date: Tue Jun 25 19:35:58 2019
New Revision: 349388
URL: https://svnweb.freebsd.org/changeset/base/349388

Log:
  Release notes documentation:
  - Add versions of ports-mgmt/pkg, x11/gnome3, and x11/kde5.
  
  Approved by:  re (implicit)
  Sponsored by: Rubicon Communications, LLC (Netgate)

Modified:
  releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xml

Modified: releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xml
==
--- releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xmlTue Jun 
25 19:35:57 2019(r349387)
+++ releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xmlTue Jun 
25 19:35:58 2019(r349388)
@@ -598,7 +598,14 @@
 
   Packaging Changes
 
-  
+  The  utility has been updated to version
+   1.10.5.
+
+  The KDE desktop environment has
+   been updated to version 5.15.3.
+
+  The GNOME desktop environment
+   has been updated to version 3.28.
 
   
 
___
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: r349386 - releng/11.3/release/doc/en_US.ISO8859-1/relnotes

2019-06-25 Thread Glen Barber
Author: gjb
Date: Tue Jun 25 19:35:56 2019
New Revision: 349386
URL: https://svnweb.freebsd.org/changeset/base/349386

Log:
  Release notes documentation:
  - r338938, oce(4) version 11.0.50.0.
  - r341987, mlx4en(4) and mlx5en(4) version 3.5.0.
  - r349181, ixl(4) and ixlv(4) version 1.11.9 and 1.5.8.
  
  Approved by:  re (implicit)
  Sponsored by: Rubicon Communications, LLC (Netgate)

Modified:
  releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xml

Modified: releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xml
==
--- releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xmlTue Jun 
25 19:06:43 2019(r349385)
+++ releng/11.3/release/doc/en_US.ISO8859-1/relnotes/article.xmlTue Jun 
25 19:35:56 2019(r349386)
@@ -489,10 +489,17 @@
 
   Network Drivers
 
+  The  driver has been updated
+   to version 11.0.50.0.
+
   The TP-Link TL-WN321G
network adapter now uses the  driver instead of the
 driver.
 
+  The  and 
+   drivers have been updated to version 3.5.0.
+
   The
 driver has been updated to allow changing the
MTU without requiring destroying and
@@ -513,6 +520,14 @@
   The  T4, T5, and T6 firmware
has been updated to version 1.23.0.0.
+
+  The  driver has been updated
+   version 1.11.9.
+
+  The  driver has been updated
+   version 1.5.8.
 
   
 
___
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: r349385 - head/usr.sbin/bhyve

2019-06-25 Thread Ed Maste
Author: emaste
Date: Tue Jun 25 19:06:43 2019
New Revision: 349385
URL: https://svnweb.freebsd.org/changeset/base/349385

Log:
  bhyve: avoid theoretical stack buffer overflow from integer overflow
  
  Use the proper size_t type to match strlen's return type.  This is not
  exploitable in practice as this parses command line arguments, which
  are limited to well below 2^31 bytes.
  
  This is a minimal change to address the reported issue; hda_parse_config
  and the rest of this file will benefit from further review.
  
  Reported by:  Fakhri Zulkifli
  Reviewed by:  jhb, markj
  MFC after:3 days
  Sponsored by: The FreeBSD Foundation

Modified:
  head/usr.sbin/bhyve/pci_hda.c

Modified: head/usr.sbin/bhyve/pci_hda.c
==
--- head/usr.sbin/bhyve/pci_hda.c   Tue Jun 25 18:58:51 2019
(r349384)
+++ head/usr.sbin/bhyve/pci_hda.c   Tue Jun 25 19:06:43 2019
(r349385)
@@ -324,15 +324,14 @@ hda_parse_config(const char *opts, const char *key, ch
char buf[64];
char *s = buf;
char *tmp = NULL;
-   int len;
+   size_t len;
int i;
 
if (!opts)
return (0);
 
len = strlen(opts);
-
-   if (len >= 64) {
+   if (len >= sizeof(buf)) {
DPRINTF("Opts too big\n");
return (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: r349383 - head/lib/libbe

2019-06-25 Thread Kyle Evans
Author: kevans
Date: Tue Jun 25 18:47:40 2019
New Revision: 349383
URL: https://svnweb.freebsd.org/changeset/base/349383

Log:
  libbe(3): restructure be_mount, skip canmount check for BE dataset
  
  Further cleanup after r349380; loader and kernel will both ignore canmount
  on the root dataset as well, so we should not be so strict about it when
  mounting it. be_mount is restructured to make it more clear that depth==0 is
  special, and to not try fetching these properties that we won't care about.
  
  MFC after:3 days

Modified:
  head/lib/libbe/be_access.c

Modified: head/lib/libbe/be_access.c
==
--- head/lib/libbe/be_access.c  Tue Jun 25 18:36:11 2019(r349382)
+++ head/lib/libbe/be_access.c  Tue Jun 25 18:47:40 2019(r349383)
@@ -89,25 +89,31 @@ be_mount_iter(zfs_handle_t *zfs_hdl, void *data)
return (0);
}
 
-   if (zfs_prop_get_int(zfs_hdl, ZFS_PROP_CANMOUNT) == ZFS_CANMOUNT_OFF)
-   return (0);
+   /*
+* canmount and mountpoint are both ignored for the BE dataset, because
+* the rest of the system (kernel and loader) will effectively do the
+* same.
+*/
+   if (info->depth == 0) {
+   snprintf(tmp, BE_MAXPATHLEN, "%s", info->mountpoint);
+   } else {
+   if (zfs_prop_get_int(zfs_hdl, ZFS_PROP_CANMOUNT) ==
+   ZFS_CANMOUNT_OFF)
+   return (0);
 
-   if (zfs_prop_get(zfs_hdl, ZFS_PROP_MOUNTPOINT, zfs_mnt, BE_MAXPATHLEN,
-   NULL, NULL, 0, 1))
-   return (1);
+   if (zfs_prop_get(zfs_hdl, ZFS_PROP_MOUNTPOINT, zfs_mnt,
+   BE_MAXPATHLEN, NULL, NULL, 0, 1))
+   return (1);
 
-   if (strcmp("none", zfs_mnt) == 0 || info->depth == 0) {
/*
-* mountpoint=none; we'll mount it at info->mountpoint assuming
-* we're at the root.  If we're not at the root, we're likely
-* at some intermediate dataset (e.g. zroot/var) that will have
-* children that may need to be mounted.
+* We've encountered mountpoint=none at some intermediate
+* dataset (e.g. zroot/var) that will have children that may
+* need to be mounted.  Skip mounting it, but iterate through
+* the children.
 */
-   if (info->depth > 0)
+   if (strcmp("none", zfs_mnt) == 0)
goto skipmount;
 
-   snprintf(tmp, BE_MAXPATHLEN, "%s", info->mountpoint);
-   } else {
mountpoint = be_mountpoint_augmented(info->lbh, zfs_mnt);
snprintf(tmp, BE_MAXPATHLEN, "%s%s", info->mountpoint,
mountpoint);
___
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: r349381 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys

2019-06-25 Thread Alexander Motin
Author: mav
Date: Tue Jun 25 18:35:23 2019
New Revision: 349381
URL: https://svnweb.freebsd.org/changeset/base/349381

Log:
  Avoid extra taskq_dispatch() calls by DMU.
  
  DMU sync code calls taskq_dispatch() for each sublist of os_dirty_dnodes
  and os_synced_dnodes.  Since the number of sublists by default is equal
  to number of CPUs, it will dispatch equal, potentially large, number of
  tasks, waking up many CPUs to handle them, even if only one or few of
  sublists actually have any work to do.
  
  This change adds check for empty sublists to avoid this.

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/multilist.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/multilist.h

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.cTue Jun 
25 18:13:39 2019(r349380)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.cTue Jun 
25 18:35:23 2019(r349381)
@@ -1334,6 +1334,8 @@ dmu_objset_sync(objset_t *os, zio_t *pio, dmu_tx_t *tx
zio_t *zio;
list_t *list;
dbuf_dirty_record_t *dr;
+   int num_sublists;
+   multilist_t *ml;
blkptr_t *blkptr_copy = kmem_alloc(sizeof (*os->os_rootbp), KM_SLEEP);
*blkptr_copy = *os->os_rootbp;
 
@@ -1402,10 +1404,13 @@ dmu_objset_sync(objset_t *os, zio_t *pio, dmu_tx_t *tx
}
}
 
-   for (int i = 0;
-   i < multilist_get_num_sublists(os->os_dirty_dnodes[txgoff]); i++) {
+   ml = os->os_dirty_dnodes[txgoff];
+   num_sublists = multilist_get_num_sublists(ml);
+   for (int i = 0; i < num_sublists; i++) {
+   if (multilist_sublist_is_empty_idx(ml, i))
+   continue;
sync_dnodes_arg_t *sda = kmem_alloc(sizeof (*sda), KM_SLEEP);
-   sda->sda_list = os->os_dirty_dnodes[txgoff];
+   sda->sda_list = ml;
sda->sda_sublist_idx = i;
sda->sda_tx = tx;
(void) taskq_dispatch(dmu_objset_pool(os)->dp_sync_taskq,
@@ -1619,6 +1624,8 @@ userquota_updates_task(void *arg)
 void
 dmu_objset_do_userquota_updates(objset_t *os, dmu_tx_t *tx)
 {
+   int num_sublists;
+
if (!dmu_objset_userused_enabled(os))
return;
 
@@ -1632,8 +1639,10 @@ dmu_objset_do_userquota_updates(objset_t *os, dmu_tx_t
DMU_OT_USERGROUP_USED, DMU_OT_NONE, 0, tx));
}
 
-   for (int i = 0;
-   i < multilist_get_num_sublists(os->os_synced_dnodes); i++) {
+   num_sublists = multilist_get_num_sublists(os->os_synced_dnodes);
+   for (int i = 0; i < num_sublists; i++) {
+   if (multilist_sublist_is_empty_idx(os->os_synced_dnodes, i))
+   continue;
userquota_updates_arg_t *uua =
kmem_alloc(sizeof (*uua), KM_SLEEP);
uua->uua_os = os;

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/multilist.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/multilist.c Tue Jun 
25 18:13:39 2019(r349380)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/multilist.c Tue Jun 
25 18:35:23 2019(r349381)
@@ -360,6 +360,28 @@ multilist_sublist_remove(multilist_sublist_t *mls, voi
list_remove(>mls_list, obj);
 }
 
+int
+multilist_sublist_is_empty(multilist_sublist_t *mls)
+{
+   ASSERT(MUTEX_HELD(>mls_lock));
+   return (list_is_empty(>mls_list));
+}
+
+int
+multilist_sublist_is_empty_idx(multilist_t *ml, unsigned int sublist_idx)
+{
+   multilist_sublist_t *mls;
+   int empty;
+
+   ASSERT3U(sublist_idx, <, ml->ml_num_sublists);
+   mls = >ml_sublists[sublist_idx];
+   ASSERT(!MUTEX_HELD(>mls_lock));
+   mutex_enter(>mls_lock);
+   empty = list_is_empty(>mls_list);
+   mutex_exit(>mls_lock);
+   return (empty);
+}
+
 void *
 multilist_sublist_head(multilist_sublist_t *mls)
 {

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/multilist.h
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/multilist.h Tue Jun 
25 18:13:39 2019(r349380)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/multilist.h Tue Jun 
25 18:35:23 2019(r349381)
@@ -89,6 +89,8 @@ void multilist_sublist_insert_head(multilist_sublist_t
 void multilist_sublist_insert_tail(multilist_sublist_t *, void *);
 void multilist_sublist_move_forward(multilist_sublist_t *mls, void *obj);
 void multilist_sublist_remove(multilist_sublist_t *, void *);
+int  multilist_sublist_is_empty(multilist_sublist_t *);
+int  

svn commit: r349380 - head/lib/libbe

2019-06-25 Thread Kyle Evans
Author: kevans
Date: Tue Jun 25 18:13:39 2019
New Revision: 349380
URL: https://svnweb.freebsd.org/changeset/base/349380

Log:
  libbe(3): mount: the BE dataset is mounted at /
  
  Other parts of libbe(3) were fairly strict on the mountpoint property of the
  BE dataset, and be_mount was not much better. It was improved in r347027 to
  allow mountpoint=none for depth==0, but this bit was still sensitive to
  mountpoint != / and mountpoint != none. Given that other parts of libbe(3)
  no longer restrict the mountpoint property here, and the rest of the base
  system is generally OK and will assume that a BE is mounted at /, let's do
  the same.
  
  Reported by:  ler
  MFC after:3 days

Modified:
  head/lib/libbe/be_access.c

Modified: head/lib/libbe/be_access.c
==
--- head/lib/libbe/be_access.c  Tue Jun 25 17:27:37 2019(r349379)
+++ head/lib/libbe/be_access.c  Tue Jun 25 18:13:39 2019(r349380)
@@ -96,7 +96,7 @@ be_mount_iter(zfs_handle_t *zfs_hdl, void *data)
NULL, NULL, 0, 1))
return (1);
 
-   if (strcmp("none", zfs_mnt) == 0) {
+   if (strcmp("none", zfs_mnt) == 0 || info->depth == 0) {
/*
 * mountpoint=none; we'll mount it at info->mountpoint assuming
 * we're at the root.  If we're not at the root, we're likely
___
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: r349349 - in head/stand: efi/include efi/include/Protocol efi/libefi efi/loader libsa

2019-06-25 Thread Rebecca Cran
On 2019-06-25 07:03, Ed Maste wrote:

> My QEMU smoke test script (tools/boot/ci-qemu-test.sh) fails after
> this change, with an exception in the loader:
I can replicate this failure, and am working to debug it.

-- 
Rebecca Cran



signature.asc
Description: OpenPGP digital signature


svn commit: r349379 - head/share/man/man9

2019-06-25 Thread Doug Moore
Author: dougm
Date: Tue Jun 25 17:27:37 2019
New Revision: 349379
URL: https://svnweb.freebsd.org/changeset/base/349379

Log:
  Document the KERN_PROTECTION_FAILURE return value from vm_map_protect().
  
  Reviewed by: alc (earlier version)
  Approved by: kib, markj (mentors)
  Differential Revision: https://reviews.freebsd.org/D20751

Modified:
  head/share/man/man9/vm_map_protect.9

Modified: head/share/man/man9/vm_map_protect.9
==
--- head/share/man/man9/vm_map_protect.9Tue Jun 25 17:24:43 2019
(r349378)
+++ head/share/man/man9/vm_map_protect.9Tue Jun 25 17:27:37 2019
(r349379)
@@ -96,6 +96,11 @@ would exceed
 for an entry within the range,
 .Dv KERN_PROTECTION_FAILURE
 is returned.
+If a copy-on-write mapping is transitioned from read-only to
+read-write, and too little swap space is available for backing the
+copied pages,
+.Dv KERN_RESOURCE_SHORTAGE
+is returned.
 .Sh SEE ALSO
 .Xr vm_map 9
 .Sh AUTHORS
___
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: r349349 - in head/stand: efi/include efi/include/Protocol efi/libefi efi/loader libsa

2019-06-25 Thread Dave Cottlehuber
On Mon, 24 Jun 2019, at 23:19, Rebecca Cran wrote:
> Author: bcran
> Date: Mon Jun 24 23:18:42 2019
> New Revision: 349349
> URL: https://svnweb.freebsd.org/changeset/base/349349
> 
> Log:
>   loader: add HTTP support using UEFI
>   
>   Add support for an HTTP "network filesystem" using the UEFI's HTTP
>   stack.
>   
>   This also supports HTTPS, but TianoCore EDK2 implementations currently
>   crash while fetching loader files.
>   Only IPv4 is supported at the moment. IPv6 support is planned for a
>   follow-up changeset.
>   
>   Note that we include some headers from the TianoCore EDK II project in
>   stand/efi/include/Protocol verbatim, including links to the license instead
>   of including the full text because that's their preferred way of
>   communicating it, despite not being normal FreeBSD project practice.
>   
>   Submitted by:   scottph
>   Reviewed by:imp, bcran
>   Differential Revision:  https://reviews.freebsd.org/D20643
> 
> Added:
>   head/stand/efi/include/Protocol/Http.h   (contents, props changed)
>   head/stand/efi/include/Protocol/Ip4Config2.h   (contents, props changed)
>   head/stand/efi/include/Protocol/ServiceBinding.h   (contents, props changed)
>   head/stand/efi/libefi/efihttp.c   (contents, props changed)
> Modified:
>   head/stand/efi/include/efidevp.h
>   head/stand/efi/include/efilib.h
>   head/stand/efi/libefi/Makefile
>   head/stand/efi/loader/conf.c
>   head/stand/libsa/stand.h

Many thanks for landing this Rebecca & Scott.

This fails to identify the partition with a bootable zpool on both a laptop 
(details
in the PR)  and also a server (2 zpools), and instead tries to boot from the EFI
partition where the boot1.efi loader is located (i.e. disk0p1 and not disk0p2).

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238800

A+
Dave
___
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: r349377 - in head/sys: net sys

2019-06-25 Thread Leandro Lupori
Author: luporl
Date: Tue Jun 25 17:15:44 2019
New Revision: 349377
URL: https://svnweb.freebsd.org/changeset/base/349377

Log:
  [PowerPC64] Don't mark module data as static
  
  Fixes panic when loading ipfw.ko and if_epair.ko built with modern compiler.
  
  Similar to arm64 and riscv, when using a modern compiler (!gcc4.2), code
  generated tries to access data in the wrong location, causing kernel panic
  (data storage interrupt trap) when loading if_epair and ipfw.
  
  Issue was reproduced with kernel/module compiled using gcc8 and clang8. It
  affects both ELFv1 and ELFv2 ABI environments.
  
  PR:   232387
  Submitted by: alfredo.junior_eldorado.org.br
  Reported by:  Mark Millard
  Reviewed by:  jhibbits
  Differential Revision:https://reviews.freebsd.org/D20461

Modified:
  head/sys/net/vnet.h
  head/sys/sys/pcpu.h

Modified: head/sys/net/vnet.h
==
--- head/sys/net/vnet.h Tue Jun 25 17:00:53 2019(r349376)
+++ head/sys/net/vnet.h Tue Jun 25 17:15:44 2019(r349377)
@@ -273,7 +273,8 @@ extern struct sx vnet_sxlock;
 /* struct _hack is to stop this from being used with static data */
 #defineVNET_DEFINE(t, n)   \
 struct _hack; t VNET_NAME(n) __section(VNET_SETNAME) __used
-#if defined(KLD_MODULE) && (defined(__aarch64__) || defined(__riscv))
+#if defined(KLD_MODULE) && (defined(__aarch64__) || defined(__riscv) \
+   || defined(__powerpc64__))
 /*
  * As with DPCPU_DEFINE_STATIC we are unable to mark this data as static
  * in modules on some architectures.

Modified: head/sys/sys/pcpu.h
==
--- head/sys/sys/pcpu.h Tue Jun 25 17:00:53 2019(r349376)
+++ head/sys/sys/pcpu.h Tue Jun 25 17:15:44 2019(r349377)
@@ -85,7 +85,8 @@ extern uintptr_t dpcpu_off[];
 /* struct _hack is to stop this from being used with the static keyword. */
 #defineDPCPU_DEFINE(t, n)  \
 struct _hack; t DPCPU_NAME(n) __section(DPCPU_SETNAME) __used
-#if defined(KLD_MODULE) && (defined(__aarch64__) || defined(__riscv))
+#if defined(KLD_MODULE) && (defined(__aarch64__) || defined(__riscv) \
+   || defined(__powerpc64__))
 /*
  * On some architectures the compiler will use PC-relative load to
  * find the address of DPCPU data with the static keyword. We then
___
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: r349349 - in head/stand: efi/include efi/include/Protocol efi/libefi efi/loader libsa

2019-06-25 Thread Ed Maste
On Mon, 24 Jun 2019 at 19:18, Rebecca Cran  wrote:
>
> Author: bcran
> Date: Mon Jun 24 23:18:42 2019
> New Revision: 349349
> URL: https://svnweb.freebsd.org/changeset/base/349349
>
> Log:
>   loader: add HTTP support using UEFI

My QEMU smoke test script (tools/boot/ci-qemu-test.sh) fails after
this change, with an exception in the loader:

Consoles: EFI console
|  Reading loader env vars from /efi/freebsd/loader.env
Setting currdev to disk0p1:
/ -  X64 Exception Type - 000E CPU Apic ID -  
RIP - 0202, CS - 0028, RFLAGS - 0246
ExceptionData - 
RAX - 0FF93610, RCX - 0A500AD0, RDX - 0FF935F8
RBX - 0FF93610, RSP - 0FF93588, RBP - 0FF936C0
RSI - , RDI - 0FF9361C
R8 - , R9 - 0A500908, R10 - 0E8EFEC8
R11 - 0083, R12 - 0FF935F8, R13 - 000C
R14 - 0A500870, R15 - 0E8DC0D5
DS - 0008, ES - 0008, FS - 0008
GS - 0008, SS - 0008
CR0 - 8033, CR2 - 0202, CR3 - 0FF33000
CR4 - 0668, CR8 - 
DR0 - , DR1 - , DR2 - 
DR3 - , DR6 - 0FF0, DR7 - 0400
GDTR - 0FF1ED98 003F, LDTR - 
IDTR - 0F47F018 0FFF, TR - 
FXSAVE_STATE - 0FF931E0
qemu-system-x86_64: terminating on signal 15 from pid 54769 (timeout)
Did not boot successfully, see /tmp/ci-qemu-test-boot.log
___
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: r349376 - head/usr.sbin/mountd

2019-06-25 Thread Alexander Motin
Author: mav
Date: Tue Jun 25 17:00:53 2019
New Revision: 349376
URL: https://svnweb.freebsd.org/changeset/base/349376

Log:
  Fix strsep_quote() on strings without quotes.
  
  For strings without quotes and escapes dstptr and srcptr are equal, so
  zeroing *dstptr before checking *srcptr is not a good idea.  In practice
  it means that in -maproot=65534:65533 everything after the colon is lost.
  
  The problem was there since r293305, but before r346976 it was covered by
  improper strsep_quote() usage.
  
  PR:   238725
  MFC after:3 days
  Sponsored by: iXsystems, Inc.

Modified:
  head/usr.sbin/mountd/mountd.c

Modified: head/usr.sbin/mountd/mountd.c
==
--- head/usr.sbin/mountd/mountd.c   Tue Jun 25 16:49:20 2019
(r349375)
+++ head/usr.sbin/mountd/mountd.c   Tue Jun 25 17:00:53 2019
(r349376)
@@ -385,8 +385,8 @@ strsep_quote(char **stringp, const char *delim)
*dstptr++ = *srcptr++;
}
 
-   *dstptr = 0; /* Terminate the string */
*stringp = (*srcptr == '\0') ? NULL : srcptr + 1;
+   *dstptr = 0; /* Terminate the string */
return (retval);
 }
 
___
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: r349374 - in head/sys: arm/conf conf kern

2019-06-25 Thread Warner Losh
Author: imp
Date: Tue Jun 25 16:39:25 2019
New Revision: 349374
URL: https://svnweb.freebsd.org/changeset/base/349374

Log:
  Remove a couple of harmless stray references to nandfs.
  
  Submitted by: tsoome@

Modified:
  head/sys/arm/conf/DB-78XXX
  head/sys/arm/conf/DB-88F6XXX
  head/sys/arm/conf/SHEEVAPLUG
  head/sys/arm/conf/VYBRID
  head/sys/conf/options
  head/sys/kern/Make.tags.inc

Modified: head/sys/arm/conf/DB-78XXX
==
--- head/sys/arm/conf/DB-78XXX  Tue Jun 25 15:43:52 2019(r349373)
+++ head/sys/arm/conf/DB-78XXX  Tue Jun 25 16:39:25 2019(r349374)
@@ -20,7 +20,6 @@ options   GEOM_PART_BSD   # BSD partition scheme
 optionsGEOM_PART_MBR   # MBR partition scheme
 optionsTMPFS   # Efficient memory filesystem
 optionsFFS # Berkeley Fast Filesystem
-optionsNANDFS  # NAND Filesystem
 optionsNFSCL   # Network Filesystem Client
 optionsNFSLOCKD# Network Lock Manager
 optionsNFS_ROOT# NFS usable as /, requires NFSCL

Modified: head/sys/arm/conf/DB-88F6XXX
==
--- head/sys/arm/conf/DB-88F6XXXTue Jun 25 15:43:52 2019
(r349373)
+++ head/sys/arm/conf/DB-88F6XXXTue Jun 25 16:39:25 2019
(r349374)
@@ -17,7 +17,6 @@ options   INET# InterNETworking
 optionsINET6   # IPv6 communications protocols
 optionsTCP_HHOOK   # hhook(9) framework for TCP
 optionsFFS # Berkeley Fast Filesystem
-optionsNANDFS  # NAND Filesystem
 optionsNFSCL   # Network Filesystem Client
 optionsNFSLOCKD# Network Lock Manager
 optionsNFS_ROOT# NFS usable as /, requires NFSCL

Modified: head/sys/arm/conf/SHEEVAPLUG
==
--- head/sys/arm/conf/SHEEVAPLUGTue Jun 25 15:43:52 2019
(r349373)
+++ head/sys/arm/conf/SHEEVAPLUGTue Jun 25 16:39:25 2019
(r349374)
@@ -19,7 +19,6 @@ options   INET# InterNETworking
 optionsINET6   # IPv6 communications protocols
 optionsTCP_HHOOK   # hhook(9) framework for TCP
 optionsFFS # Berkeley Fast Filesystem
-optionsNANDFS  # NAND Filesystem
 optionsNFSCL   # Network Filesystem Client
 optionsNFSLOCKD# Network Lock Manager
 optionsNFS_ROOT# NFS usable as /, requires NFSCL

Modified: head/sys/arm/conf/VYBRID
==
--- head/sys/arm/conf/VYBRIDTue Jun 25 15:43:52 2019(r349373)
+++ head/sys/arm/conf/VYBRIDTue Jun 25 16:39:25 2019(r349374)
@@ -26,7 +26,6 @@ makeoptions   WERROR="-Werror"
 
 optionsSCHED_4BSD  # 4BSD scheduler
 optionsPLATFORM# Platform based SoC
-#options   NANDFS  # NAND Filesystem
 #options   SMP # Enable multiple cores
 
 # NFS root from boopt/dhcp

Modified: head/sys/conf/options
==
--- head/sys/conf/options   Tue Jun 25 15:43:52 2019(r349373)
+++ head/sys/conf/options   Tue Jun 25 16:39:25 2019(r349374)
@@ -256,7 +256,6 @@ FDESCFS opt_dontuse.h
 FFSopt_dontuse.h
 FUSEFS opt_dontuse.h
 MSDOSFSopt_dontuse.h
-NANDFS opt_dontuse.h
 NULLFS opt_dontuse.h
 PROCFS opt_dontuse.h
 PSEUDOFS   opt_dontuse.h

Modified: head/sys/kern/Make.tags.inc
==
--- head/sys/kern/Make.tags.inc Tue Jun 25 15:43:52 2019(r349373)
+++ head/sys/kern/Make.tags.inc Tue Jun 25 16:39:25 2019(r349374)
@@ -28,7 +28,6 @@ COMM= ${SYS}/sys/vnode.h \
${SYS}/fs/fifofs/*.[ch] \
${SYS}/fs/fuse/*.[ch] \
${SYS}/fs/msdosfs/*.[ch] \
-   ${SYS}/fs/nandfs/*.[ch] \
${SYS}/fs/nfs/*.[ch] \
${SYS}/fs/nfsclient/*.[ch] \
${SYS}/fs/nfsserver/*.[ch] \
@@ -82,7 +81,6 @@ COMMDIR2= ${SYS}/dev/alc \
${SYS}/fs/fifofs \
${SYS}/fs/fuse \
${SYS}/fs/msdosfs \
-   ${SYS}/fs/nandfs \
${SYS}/fs/nfs \
${SYS}/fs/nfsclient \
${SYS}/fs/nfsserver \
___
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: r349373 - head/sys/netipsec

2019-06-25 Thread Ryan Libby
Author: rlibby
Date: Tue Jun 25 15:43:52 2019
New Revision: 349373
URL: https://svnweb.freebsd.org/changeset/base/349373

Log:
  netipsec key_register: check for M_NOWAIT alloc failure
  
  Reviewed by:  ae, cem
  Sponsored by: Dell EMC Isilon
  Differential Revision:https://reviews.freebsd.org/D20742

Modified:
  head/sys/netipsec/key.c

Modified: head/sys/netipsec/key.c
==
--- head/sys/netipsec/key.c Tue Jun 25 14:56:13 2019(r349372)
+++ head/sys/netipsec/key.c Tue Jun 25 15:43:52 2019(r349373)
@@ -7164,7 +7164,7 @@ key_register(struct socket *so, struct mbuf *m, const 
return key_senderror(so, m, ENOBUFS);
 
MGETHDR(n, M_NOWAIT, MT_DATA);
-   if (len > MHLEN) {
+   if (n != NULL && len > MHLEN) {
if (!(MCLGET(n, M_NOWAIT))) {
m_freem(n);
n = 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: r349352 - in head: etc/mtree include lib lib/libnandfs sbin sbin/camcontrol sbin/nandfs sbin/newfs_nandfs share/man/man4 share/man/man5 share/mk stand stand/arm/uboot stand/common stan

2019-06-25 Thread Warner Losh
On Tue, Jun 25, 2019 at 7:24 AM Rodney W. Grimes 
wrote:

> > This commit accidentally reverted r349333, r349334, r349335, r349336,
> > r349339, r349340, r349341 and r349342. I rebased after one of the make
> > universes I did to proof this set and something must have gone wrong and
> I
> > lost these changes. I noticed while committing, but didn't hit ^C fast
> > enough to prevent the damage it seems.
> >
> > I've reapplied those changes rather than revert this commit for two
> > reasons: first, reverting commits that delete things has caused me
> trouble
> > in the past. Second, I judge that to be less repo-churn than doing the
> > revert, then redoing the nand* removal.
> >
> > Time was of the essence, so I hope my snap-judgement was sound. My
> > apologies both for the 'oops' and for any other fallout.
>
> Though this may of reduced repo churn it also broke any MFC
> that may of been marked in those sets.  I am not even sure
> how one would untwist that maze.
>
> MFC original commit is going to leave your second commit as
> wrongly avaliable commit, so that needs dealt with.
>
> MFC your reapply commit, which they have to get by noting these
> commits as the new merge number.  Again, leaving a danglying
> merge avaliable commit
>
> MFC the original commit, your mangle commit, but only the
> part that applies to there original commit, and the reapply
> commit.  This marks the mangle as merged, but does infact
> leave the merge avail list for head correct.
>
> None of that is very pretty.  There are some other options...
>
>
> Anyway my main reason for writting is somehow we need to get out
> of this "repo churn is expensive I must not revert!" mode of
> operations.  Reverts are almost always the correct way to clean
> up a mistake, and it almost always leeds to other issues to
> not revert and instead try to do some magic like what was
> done here.
>
> It is also often a mistake to not exactly revert the original
> commit, commit that, then commit any additional fix.  Reverting
> and making other changes in the same commit leads to problems
> more often than it solves them.  I do understand the tree might
> not be in a buildable or correct state for a commit or two.
>

I think that you over-state the issue here. Wouldn't the issue be fixed for
MFCs of the replayed commits by MFCing them twice? The first time the first
commit with svn merge, and then the second commit with a svn merge
--record-only? We could do the same --record-only trick with the NAND
removal commit, since it will never be MFC'd. Since the number of commits
is small, and the people that would be MFCing them are super experienced
with svn, I think that wouldn't be an issue. Then for others, it won't show
up as a possible merge candidate (though honestly, with the files affected,
that bit of svn is rarely used, also mitigating the data anomaly).

I made a conscious decision to minimize time to get the repo repaired from
the damage of the one commit.

Warner

Regards,
> Rod
>
> > Warner
> >
> > On Mon, Jun 24, 2019 at 10:50 PM Warner Losh  wrote:
> >
> > > Author: imp
> > > Date: Tue Jun 25 04:50:09 2019
> > > New Revision: 349352
> > > URL: https://svnweb.freebsd.org/changeset/base/349352
> > >
> > > Log:
> > >   Remove NAND and NANDFS support
> > >
> > >   NANDFS has been broken for years. Remove it. The NAND drivers that
> > >   remain are for ancient parts that are no longer relevant. They are
> > >   polled, have terrible performance and just for ancient arm
> > >   hardware. NAND parts have evolved significantly from this early work
> > >   and little to none of it would be relevant should someone need to
> > >   update to support raw nand. This code has been off by default for
> > >   years and has violated the vnode protocol leading to panics since it
> > >   was committed.
> > >
> > >   Numerous posts to arch@ and other locations have found no actual
> users
> > >   for this software.
> > >
> > >   Relnotes: Yes
> > >   No Objection From: arch@
> > >   Differential Revision: https://reviews.freebsd.org/D20745
> > > ...
>
> --
> 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"


CHAWLA CHEM AND METAL / PI of Phthalic Anhydride (P.A) / CHEMWORLD / 26-06-2019

2019-06-25 Thread CHEMWORLD INTERNATIONAL
Dear Mr. Ahmad / Mr. Azeem Khadim,

Please see attached PI of PA for 100mt.

Please send us back with sign and stamp.

Warm Regards,

Khawaja Tariq 

CHEMWORLD
Mamoon Mension 2nd Floor, 19-A Abbot Road, 
Opp. PTV Station, Lahore-Pakistan.
Tel:  +92 42 36297034  
Mob: +92 308-987 Bushra
Mob: +92 308-368 Babar
Mob: +92 307-7776987 Tariq
___
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: r349372 - head/release

2019-06-25 Thread Glen Barber
Author: gjb
Date: Tue Jun 25 14:56:13 2019
New Revision: 349372
URL: https://svnweb.freebsd.org/changeset/base/349372

Log:
  Include files containing metadata specific to the branch in the
  directory where the individual distribution sets exist.
  
  The new metadata files include the build date, svn branch, and
  revision of the build.
  
  Requested by: Mellanox Technologies (via kib)
  MFC after:3 days
  Sponsored by: Rubicon Communications, LLC (Netgate)

Modified:
  head/release/Makefile.mirrors

Modified: head/release/Makefile.mirrors
==
--- head/release/Makefile.mirrors   Tue Jun 25 14:50:03 2019
(r349371)
+++ head/release/Makefile.mirrors   Tue Jun 25 14:56:13 2019
(r349372)
@@ -19,6 +19,7 @@ FTPDIR?=  ${RELEASEDIR}/ftp-stage
 .if exists(${RELEASEDIR})
 STAGE_TARGETS?=iso-images-stage
 .endif
+SRCBRANCH!=${SVN_CMD} info --show-item relative-url ${WORLDDIR}
 
 .if (defined(EMBEDDED_TARGET) && !empty(EMBEDDED_TARGET)) || 
(defined(EMBEDDEDBUILD) && !empty(EMBEDDEDBUILD))
 . if ${TARGET:Marm*} != "" || ${EMBEDDED_TARGET:Marm*} != ""
@@ -185,6 +186,9 @@ iso-images-stage:
 .if exists(${RELEASEDIR}/ftp)
mkdir -p ${FTP_DIR}
cp -p ${RELEASEDIR}/ftp/*.txz ${RELEASEDIR}/ftp/MANIFEST ${FTP_DIR}
+   echo ${BUILDDATE} > ${FTP_DIR}/BUILDDATE
+   echo ${SRCBRANCH} > ${FTP_DIR}/SRCBRANCH
+   echo r${SVNREVISION} > ${FTP_DIR}/REVISION
cd ${TLD}/${TARGET} && \
ln -s ${TARGET_ARCH}/${REVISION}-${BRANCH} \
${REVISION}-${BRANCH}
___
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: r349371 - head/usr.bin/calendar/calendars/hr_HR.ISO8859-2

2019-06-25 Thread Marko Zec
Author: zec
Date: Tue Jun 25 14:50:03 2019
New Revision: 349371
URL: https://svnweb.freebsd.org/changeset/base/349371

Log:
  Croatian calendar: update / fix names, dates, group national public
  holidays, sort by date.
  
  MFC after:3 days

Modified:
  head/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici

Modified: head/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici
==
--- head/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici   Tue Jun 
25 13:15:29 2019(r349370)
+++ head/usr.bin/calendar/calendars/hr_HR.ISO8859-2/calendar.praznici   Tue Jun 
25 14:50:03 2019(r349371)
@@ -10,31 +10,31 @@
 LANG=hr_HR.ISO8859-2
 
 /* dr�avni praznici */
-01/01  Nova godina
-05/01  Praznik rada
-05/30  Tjelovo
-06/22  Dan antifa�isti�ke borbe
-06/25  Dan dr�avnosti
-08/05  Dan domovinske zahvalnosti
-10/08  Dan neovisnosti
- 
-/* katoli�ki blagdani */
-01/06  Sveta tri kralja
-Easter-2   Veliki petak
+01/01  Nova godina
+01/06  Bogojavljenje ili Sveta tri kralja
 Easter Uskrs
 Easter+1   Uskrsni ponedjeljak
-Easter+49  Duhovi
-Easter+50  Duhovni ponedjeljak
-Easter+39  Uza�a��e
+05/01  Praznik rada
+Easter+60  Tijelovo
+06/22  Dan antifa�isti�ke borbe
+06/25  Dan dr�avnosti
+08/05  Dan pobjede i domovinske zahvalnosti i Dan hrvatskih branitelja
 08/15  Velika Gospa
+10/08  Dan neovisnosti
 11/01  Svi sveti
 12/25  Bo�i�
-12/26  Stjepandan
+12/26  Sveti Stjepan
+ 
+/* katoli�ki blagdani */
+Easter-2   Veliki petak
+Easter+39  Uza�a��e
+Easter+49  Duhovi
+Easter+50  Duhovni ponedjeljak
 
 /* godi�nja doba */
 03/21* Po�etak prolje�a
 06/21* Po�etak ljeta
-09/21* Po�etak jesena
+09/23* Po�etak jeseni
 12/21* Po�etak zime
  
 /* ljetno vrijeme */
___
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: r349366 - head/sys/netpfil/ipfw

2019-06-25 Thread Rodney W. Grimes
-- Start of PGP signed section.
[ Charset UTF-8 unsupported, converting... ]
> On 25.06.2019 16:28, Rodney W. Grimes wrote:
> >> Author: ae
> >> Date: Tue Jun 25 11:40:37 2019
> >> New Revision: 349366
> >> URL: https://svnweb.freebsd.org/changeset/base/349366
> >>
> >> Log:
> >>   Follow the RFC 3128 and drop short TCP fragments with offset = 1.
> >>   
> >>   Reported by: emaste
> >>   MFC after:   1 week
> > 
> > Can we get a counter or something so that the dropping of these
> > is not totally silent and invisible?
> 
> They are logged as all short packets with "Pullup failed" message when
> net.inet.ip.fw.verbose is enabled.

Thats over kill for what I was asking about.
Also are there not other casses that pullup failed is counted?

I was asking for a counter specifically on the rfc3128
packets which one use to be able to do with a ipfw rule,
but since the kernel started to deal with these I lost that
visibility.


-- 
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"


Re: svn commit: r349366 - head/sys/netpfil/ipfw

2019-06-25 Thread Andrey V. Elsukov
On 25.06.2019 16:28, Rodney W. Grimes wrote:
>> Author: ae
>> Date: Tue Jun 25 11:40:37 2019
>> New Revision: 349366
>> URL: https://svnweb.freebsd.org/changeset/base/349366
>>
>> Log:
>>   Follow the RFC 3128 and drop short TCP fragments with offset = 1.
>>   
>>   Reported by:   emaste
>>   MFC after: 1 week
> 
> Can we get a counter or something so that the dropping of these
> is not totally silent and invisible?

They are logged as all short packets with "Pullup failed" message when
net.inet.ip.fw.verbose is enabled.

-- 
WBR, Andrey V. Elsukov



signature.asc
Description: OpenPGP digital signature


Re: svn commit: r349366 - head/sys/netpfil/ipfw

2019-06-25 Thread Rodney W. Grimes
> Author: ae
> Date: Tue Jun 25 11:40:37 2019
> New Revision: 349366
> URL: https://svnweb.freebsd.org/changeset/base/349366
> 
> Log:
>   Follow the RFC 3128 and drop short TCP fragments with offset = 1.
>   
>   Reported by:emaste
>   MFC after:  1 week

Can we get a counter or something so that the dropping of these
is not totally silent and invisible?

Thanks,
Rod

> Modified:
>   head/sys/netpfil/ipfw/ip_fw2.c
> 
> Modified: head/sys/netpfil/ipfw/ip_fw2.c
> ==
> --- head/sys/netpfil/ipfw/ip_fw2.cTue Jun 25 09:11:22 2019
> (r349365)
> +++ head/sys/netpfil/ipfw/ip_fw2.cTue Jun 25 11:40:37 2019
> (r349366)
> @@ -1719,6 +1719,11 @@ do {   
> \
>   default:
>   break;
>   }
> + } else {
> + if (offset == 1 && proto == IPPROTO_TCP) {
> + /* RFC 3128 */
> + goto pullup_failed;
> + }
>   }
>  
>   UPDATE_POINTERS();
> 
> 

-- 
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"


Re: svn commit: r349352 - in head: etc/mtree include lib lib/libnandfs sbin sbin/camcontrol sbin/nandfs sbin/newfs_nandfs share/man/man4 share/man/man5 share/mk stand stand/arm/uboot stand/common stan

2019-06-25 Thread Rodney W. Grimes
> This commit accidentally reverted r349333, r349334, r349335, r349336,
> r349339, r349340, r349341 and r349342. I rebased after one of the make
> universes I did to proof this set and something must have gone wrong and I
> lost these changes. I noticed while committing, but didn't hit ^C fast
> enough to prevent the damage it seems.
> 
> I've reapplied those changes rather than revert this commit for two
> reasons: first, reverting commits that delete things has caused me trouble
> in the past. Second, I judge that to be less repo-churn than doing the
> revert, then redoing the nand* removal.
> 
> Time was of the essence, so I hope my snap-judgement was sound. My
> apologies both for the 'oops' and for any other fallout.

Though this may of reduced repo churn it also broke any MFC
that may of been marked in those sets.  I am not even sure
how one would untwist that maze.

MFC original commit is going to leave your second commit as
wrongly avaliable commit, so that needs dealt with.

MFC your reapply commit, which they have to get by noting these
commits as the new merge number.  Again, leaving a danglying
merge avaliable commit

MFC the original commit, your mangle commit, but only the
part that applies to there original commit, and the reapply
commit.  This marks the mangle as merged, but does infact
leave the merge avail list for head correct.

None of that is very pretty.  There are some other options...


Anyway my main reason for writting is somehow we need to get out
of this "repo churn is expensive I must not revert!" mode of
operations.  Reverts are almost always the correct way to clean
up a mistake, and it almost always leeds to other issues to
not revert and instead try to do some magic like what was
done here.

It is also often a mistake to not exactly revert the original
commit, commit that, then commit any additional fix.  Reverting
and making other changes in the same commit leads to problems
more often than it solves them.  I do understand the tree might
not be in a buildable or correct state for a commit or two.

Regards,
Rod

> Warner
> 
> On Mon, Jun 24, 2019 at 10:50 PM Warner Losh  wrote:
> 
> > Author: imp
> > Date: Tue Jun 25 04:50:09 2019
> > New Revision: 349352
> > URL: https://svnweb.freebsd.org/changeset/base/349352
> >
> > Log:
> >   Remove NAND and NANDFS support
> >
> >   NANDFS has been broken for years. Remove it. The NAND drivers that
> >   remain are for ancient parts that are no longer relevant. They are
> >   polled, have terrible performance and just for ancient arm
> >   hardware. NAND parts have evolved significantly from this early work
> >   and little to none of it would be relevant should someone need to
> >   update to support raw nand. This code has been off by default for
> >   years and has violated the vnode protocol leading to panics since it
> >   was committed.
> >
> >   Numerous posts to arch@ and other locations have found no actual users
> >   for this software.
> >
> >   Relnotes: Yes
> >   No Objection From: arch@
> >   Differential Revision: https://reviews.freebsd.org/D20745
> > ...

-- 
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: r349370 - head/usr.sbin/usbdump

2019-06-25 Thread Hans Petter Selasky
Author: hselasky
Date: Tue Jun 25 13:15:29 2019
New Revision: 349370
URL: https://svnweb.freebsd.org/changeset/base/349370

Log:
  Fix parsing of corrupt data in usbdump(8). Check that the transfer
  type array lookup is within bounds to avoid segfault.
  
  PR:   238801
  MFC after:3 days
  Sponsored by: Mellanox Technologies

Modified:
  head/usr.sbin/usbdump/usbdump.c

Modified: head/usr.sbin/usbdump/usbdump.c
==
--- head/usr.sbin/usbdump/usbdump.c Tue Jun 25 11:54:41 2019
(r349369)
+++ head/usr.sbin/usbdump/usbdump.c Tue Jun 25 13:15:29 2019
(r349370)
@@ -149,7 +149,9 @@ static const char *errstr_table[USB_ERR_MAX] = {
[USB_ERR_NOT_LOCKED]= "NOT_LOCKED",
 };
 
-static const char *xfertype_table[4] = {
+#defineUSB_XFERTYPE_MAX 4
+
+static const char *xfertype_table[USB_XFERTYPE_MAX] = {
[UE_CONTROL]= "CTRL",
[UE_ISOCHRONOUS]= "ISOC",
[UE_BULK]   = "BULK",
@@ -320,6 +322,15 @@ usb_speedstr(uint8_t speed)
return (speed_table[speed]);
 }
 
+static const char *
+usb_xferstr(uint8_t type)
+{
+   if (type >= USB_XFERTYPE_MAX  || xfertype_table[type] == NULL)
+   return ("UNKN");
+   else
+   return (xfertype_table[type]);
+}
+
 static void
 print_flags(uint32_t flags)
 {
@@ -496,7 +507,7 @@ print_apacket(const struct header_32 *hdr, const uint8
(int)len, buf, tv.tv_usec,
(int)up->up_busunit, (int)up->up_address,
(up->up_type == USBPF_XFERTAP_SUBMIT) ? "SUBM" : "DONE",
-   xfertype_table[up->up_xfertype],
+   usb_xferstr(up->up_xfertype),
(unsigned int)up->up_endpoint,
usb_speedstr(up->up_speed),
(int)up->up_frames,
___
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: r349369 - in head/sys: net netinet netinet6 netpfil/pf

2019-06-25 Thread Hans Petter Selasky
Author: hselasky
Date: Tue Jun 25 11:54:41 2019
New Revision: 349369
URL: https://svnweb.freebsd.org/changeset/base/349369

Log:
  Convert all IPv4 and IPv6 multicast memberships into using a STAILQ
  instead of a linear array.
  
  The multicast memberships for the inpcb structure are protected by a
  non-sleepable lock, INP_WLOCK(), which needs to be dropped when
  calling the underlying possibly sleeping if_ioctl() method. When using
  a linear array to keep track of multicast memberships, the computed
  memory location of the multicast filter may suddenly change, due to
  concurrent insertion or removal of elements in the linear array. This
  in turn leads to various invalid memory access issues and kernel
  panics.
  
  To avoid this problem, put all multicast memberships on a STAILQ based
  list. Then the memory location of the IPv4 and IPv6 multicast filters
  become fixed during their lifetime and use after free and memory leak
  issues are easier to track, for example by: vmstat -m | grep multi
  
  All list manipulation has been factored into inline functions
  including some macros, to easily allow for a future hash-list
  implementation, if needed.
  
  This patch has been tested by pho@ .
  
  Differential Revision: https://reviews.freebsd.org/D20080
  Reviewed by:  markj @
  MFC after:1 week
  Sponsored by: Mellanox Technologies

Modified:
  head/sys/net/if_vxlan.c
  head/sys/netinet/in.h
  head/sys/netinet/in_mcast.c
  head/sys/netinet/in_pcb.c
  head/sys/netinet/in_var.h
  head/sys/netinet/ip_carp.c
  head/sys/netinet/ip_mroute.c
  head/sys/netinet/ip_var.h
  head/sys/netinet6/in6.h
  head/sys/netinet6/in6_ifattach.c
  head/sys/netinet6/in6_mcast.c
  head/sys/netinet6/in6_pcb.c
  head/sys/netinet6/in6_var.h
  head/sys/netinet6/ip6_var.h
  head/sys/netpfil/pf/if_pfsync.c

Modified: head/sys/net/if_vxlan.c
==
--- head/sys/net/if_vxlan.c Tue Jun 25 11:46:01 2019(r349368)
+++ head/sys/net/if_vxlan.c Tue Jun 25 11:54:41 2019(r349369)
@@ -1134,7 +1134,7 @@ vxlan_socket_mc_join_group(struct vxlan_socket *vso,
 * If we really need to, we can of course look in the INP's
 * membership list:
 * sotoinpcb(vso->vxlso_sock)->inp_moptions->
-* imo_membership[]->inm_ifp
+* imo_head[]->imf_inm->inm_ifp
 * similarly to imo_match_group().
 */
source->in4.sin_addr = local->in4.sin_addr;

Modified: head/sys/netinet/in.h
==
--- head/sys/netinet/in.h   Tue Jun 25 11:46:01 2019(r349368)
+++ head/sys/netinet/in.h   Tue Jun 25 11:54:41 2019(r349369)
@@ -505,13 +505,9 @@ __END_DECLS
 #defineIP_DEFAULT_MULTICAST_LOOP 1 /* normally hear sends if a 
member  */
 
 /*
- * The imo_membership vector for each socket is now dynamically allocated at
- * run-time, bounded by USHRT_MAX, and is reallocated when needed, sized
- * according to a power-of-two increment.
+ * Limit for IPv4 multicast memberships
  */
-#defineIP_MIN_MEMBERSHIPS  31
 #defineIP_MAX_MEMBERSHIPS  4095
-#defineIP_MAX_SOURCE_FILTER1024/* XXX to be unused */
 
 /*
  * Default resource limits for IPv4 multicast source filtering.

Modified: head/sys/netinet/in_mcast.c
==
--- head/sys/netinet/in_mcast.c Tue Jun 25 11:46:01 2019(r349368)
+++ head/sys/netinet/in_mcast.c Tue Jun 25 11:54:41 2019(r349369)
@@ -94,7 +94,9 @@ static MALLOC_DEFINE(M_IPMSOURCE, "ip_msource",
 
 /*
  * Locking:
- * - Lock order is: Giant, INP_WLOCK, IN_MULTI_LIST_LOCK, IGMP_LOCK, 
IF_ADDR_LOCK.
+ *
+ * - Lock order is: Giant, IN_MULTI_LOCK, INP_WLOCK,
+ *   IN_MULTI_LIST_LOCK, IGMP_LOCK, IF_ADDR_LOCK.
  * - The IF_ADDR_LOCK is implicitly taken by inm_lookup() earlier, however
  *   it can be taken by code in net/if.c also.
  * - ip_moptions and in_mfilter are covered by the INP_WLOCK.
@@ -144,12 +146,11 @@ static intimf_prune(struct in_mfilter *, const 
struct
 static voidimf_purge(struct in_mfilter *);
 static voidimf_rollback(struct in_mfilter *);
 static voidimf_reap(struct in_mfilter *);
-static int imo_grow(struct ip_moptions *);
-static size_t  imo_match_group(const struct ip_moptions *,
+static struct in_mfilter *
+   imo_match_group(const struct ip_moptions *,
const struct ifnet *, const struct sockaddr *);
 static struct in_msource *
-   imo_match_source(const struct ip_moptions *, const size_t,
-   const struct sockaddr *);
+   imo_match_source(struct in_mfilter *, const struct sockaddr *);
 static voidims_merge(struct ip_msource *ims,
const struct in_msource *lims, const 

svn commit: r349368 - head/sys/fs/cuse

2019-06-25 Thread Hans Petter Selasky
Author: hselasky
Date: Tue Jun 25 11:46:01 2019
New Revision: 349368
URL: https://svnweb.freebsd.org/changeset/base/349368

Log:
  Free all allocated unit IDs in cuse(3) after the client character
  devices have been destroyed to avoid creating character devices with
  identical name.
  
  MFC after:1 week
  Sponsored by: Mellanox Technologies

Modified:
  head/sys/fs/cuse/cuse.c

Modified: head/sys/fs/cuse/cuse.c
==
--- head/sys/fs/cuse/cuse.c Tue Jun 25 11:42:53 2019(r349367)
+++ head/sys/fs/cuse/cuse.c Tue Jun 25 11:46:01 2019(r349368)
@@ -671,14 +671,14 @@ cuse_server_unref(struct cuse_server *pcs)
 
TAILQ_REMOVE(_server_head, pcs, entry);
 
-   cuse_free_unit_by_id_locked(pcs, -1);
-
while ((pcsd = TAILQ_FIRST(>hdev)) != NULL) {
TAILQ_REMOVE(>hdev, pcsd, entry);
cuse_unlock();
cuse_server_free_dev(pcsd);
cuse_lock();
}
+
+   cuse_free_unit_by_id_locked(pcs, -1);
 
while ((mem = TAILQ_FIRST(>hmem)) != NULL) {
TAILQ_REMOVE(>hmem, mem, entry);
___
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: r349367 - head/sys/fs/cuse

2019-06-25 Thread Hans Petter Selasky
Author: hselasky
Date: Tue Jun 25 11:42:53 2019
New Revision: 349367
URL: https://svnweb.freebsd.org/changeset/base/349367

Log:
  Fix for deadlock situation in cuse(3)
  
  The final server unref should be done by the server thread to prevent
  deadlock in the client cdevpriv destructor, which cannot destroy
  itself.
  
  MFC after:1 week
  Sponsored by: Mellanox Technologies

Modified:
  head/sys/fs/cuse/cuse.c

Modified: head/sys/fs/cuse/cuse.c
==
--- head/sys/fs/cuse/cuse.c Tue Jun 25 11:40:37 2019(r349366)
+++ head/sys/fs/cuse/cuse.c Tue Jun 25 11:42:53 2019(r349367)
@@ -699,12 +699,38 @@ cuse_server_unref(struct cuse_server *pcs)
free(pcs, M_CUSE);
 }
 
+static int
+cuse_server_do_close(struct cuse_server *pcs)
+{
+   int retval;
+
+   cuse_lock();
+   cuse_server_is_closing(pcs);
+   /* final client wakeup, if any */
+   cuse_server_wakeup_all_client_locked(pcs);
+
+   knlist_clear(>selinfo.si_note, 1);
+
+   retval = pcs->refs;
+   cuse_unlock();
+
+   return (retval);
+}
+
 static void
 cuse_server_free(void *arg)
 {
struct cuse_server *pcs = arg;
 
-   /* drop refcount */
+   /*
+* The final server unref should be done by the server thread
+* to prevent deadlock in the client cdevpriv destructor,
+* which cannot destroy itself.
+*/
+   while (cuse_server_do_close(pcs) != 1)
+   pause("W", hz);
+
+   /* drop final refcount */
cuse_server_unref(pcs);
 }
 
@@ -746,21 +772,10 @@ static int
 cuse_server_close(struct cdev *dev, int fflag, int devtype, struct thread *td)
 {
struct cuse_server *pcs;
-   int error;
 
-   error = cuse_server_get();
-   if (error != 0)
-   goto done;
+   if (cuse_server_get() == 0)
+   cuse_server_do_close(pcs);
 
-   cuse_lock();
-   cuse_server_is_closing(pcs);
-   /* final client wakeup, if any */
-   cuse_server_wakeup_all_client_locked(pcs);
-
-   knlist_clear(>selinfo.si_note, 1);
-   cuse_unlock();
-
-done:
return (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: r349366 - head/sys/netpfil/ipfw

2019-06-25 Thread Andrey V. Elsukov
Author: ae
Date: Tue Jun 25 11:40:37 2019
New Revision: 349366
URL: https://svnweb.freebsd.org/changeset/base/349366

Log:
  Follow the RFC 3128 and drop short TCP fragments with offset = 1.
  
  Reported by:  emaste
  MFC after:1 week

Modified:
  head/sys/netpfil/ipfw/ip_fw2.c

Modified: head/sys/netpfil/ipfw/ip_fw2.c
==
--- head/sys/netpfil/ipfw/ip_fw2.c  Tue Jun 25 09:11:22 2019
(r349365)
+++ head/sys/netpfil/ipfw/ip_fw2.c  Tue Jun 25 11:40:37 2019
(r349366)
@@ -1719,6 +1719,11 @@ do { 
\
default:
break;
}
+   } else {
+   if (offset == 1 && proto == IPPROTO_TCP) {
+   /* RFC 3128 */
+   goto pullup_failed;
+   }
}
 
UPDATE_POINTERS();
___
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: r349365 - head/sys/netpfil/ipfw

2019-06-25 Thread Andrey V. Elsukov
Author: ae
Date: Tue Jun 25 09:11:22 2019
New Revision: 349365
URL: https://svnweb.freebsd.org/changeset/base/349365

Log:
  Mark default rule with IPFW_RULE_NOOPT flag, so it can be showed in
  compact form.
  
  MFC after:1 week

Modified:
  head/sys/netpfil/ipfw/ip_fw2.c

Modified: head/sys/netpfil/ipfw/ip_fw2.c
==
--- head/sys/netpfil/ipfw/ip_fw2.c  Tue Jun 25 09:08:24 2019
(r349364)
+++ head/sys/netpfil/ipfw/ip_fw2.c  Tue Jun 25 09:11:22 2019
(r349365)
@@ -3364,6 +3364,7 @@ vnet_ipfw_init(const void *unused)
 
/* fill and insert the default rule */
rule = ipfw_alloc_rule(chain, sizeof(struct ip_fw));
+   rule->flags |= IPFW_RULE_NOOPT;
rule->cmd_len = 1;
rule->cmd[0].len = 1;
rule->cmd[0].opcode = default_to_accept ? O_ACCEPT : O_DENY;
___
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: r349364 - head/sbin/ipfw

2019-06-25 Thread Andrey V. Elsukov
Author: ae
Date: Tue Jun 25 09:08:24 2019
New Revision: 349364
URL: https://svnweb.freebsd.org/changeset/base/349364

Log:
  Restore ipfw(8)'s compact output support broken after r331668.
  
  Also modify it a bit. Now -c option omits only 'from any to any' part
  and works for different protocols (not just for ip).
  
  Reported by:  Dmitry Selivanov 
  MFC after:1 week

Modified:
  head/sbin/ipfw/ipfw2.c

Modified: head/sbin/ipfw/ipfw2.c
==
--- head/sbin/ipfw/ipfw2.c  Tue Jun 25 07:44:37 2019(r349363)
+++ head/sbin/ipfw/ipfw2.c  Tue Jun 25 09:08:24 2019(r349364)
@@ -2223,6 +2223,8 @@ show_static_rule(struct cmdline_opts *co, struct forma
}
 
print_proto(bp, fo, );
+   if (co->do_compact != 0 && (rule->flags & IPFW_RULE_NOOPT))
+   goto justopts;
 
/* Print source */
bprintf(bp, " from");
@@ -4395,6 +4397,8 @@ chkarg:
}
 OR_BLOCK(get_proto);
 
+   first_cmd = cmd; /* update pointer to use in compact form */
+
/*
 * "from", mandatory
 */
@@ -4466,6 +4470,8 @@ chkarg:
cmd = next_cmd(cmd, );
}
}
+   if (first_cmd == cmd)
+   rule->flags |= IPFW_RULE_NOOPT;
 
 read_options:
prev = 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: r349363 - head/sys/vm

2019-06-25 Thread Doug Moore
I regret that I omitted the following from the commit message below:

Tested by: pho

Doug Moore

On 6/25/19 2:44 AM, Doug Moore wrote:
> Author: dougm
> Date: Tue Jun 25 07:44:37 2019
> New Revision: 349363
> URL: https://svnweb.freebsd.org/changeset/base/349363
>
> Log:
>   vm_map_protect may return an INVALID_ARGUMENT or PROTECTION_FAILURE
>   error response after clipping the first map entry in the region to be
>   reserved. This creates a pair of matching entries that should have
>   been "simplified" back into one, or never created. This change defers
>   the clipping of that entry until those two vm_map_protect failure
>   cases have been ruled out.
>   
>   Reviewed by: alc
>   Approved by: markj (mentor)
>   Differential Revision: https://reviews.freebsd.org/D20711
>
> Modified:
>   head/sys/vm/vm_map.c
>
> Modified: head/sys/vm/vm_map.c
> ==
> --- head/sys/vm/vm_map.c  Tue Jun 25 07:04:47 2019(r349362)
> +++ head/sys/vm/vm_map.c  Tue Jun 25 07:44:37 2019(r349363)
> @@ -2472,11 +2472,8 @@ again:
>  
>   VM_MAP_RANGE_CHECK(map, start, end);
>  
> - if (vm_map_lookup_entry(map, start, )) {
> - vm_map_clip_start(map, entry, start);
> - } else {
> + if (!vm_map_lookup_entry(map, start, ))
>   entry = entry->next;
> - }
>  
>   /*
>* Make a first pass to check for protection violations.
> @@ -2515,6 +2512,7 @@ again:
>* now will do cow due to allowed write (e.g. debugger sets
>* breakpoint on text segment)
>*/
> + vm_map_clip_start(map, entry, start);
>   for (current = entry; current->start < end; current = current->next) {
>  
>   vm_map_clip_end(map, current, 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"


svn commit: r349363 - head/sys/vm

2019-06-25 Thread Doug Moore
Author: dougm
Date: Tue Jun 25 07:44:37 2019
New Revision: 349363
URL: https://svnweb.freebsd.org/changeset/base/349363

Log:
  vm_map_protect may return an INVALID_ARGUMENT or PROTECTION_FAILURE
  error response after clipping the first map entry in the region to be
  reserved. This creates a pair of matching entries that should have
  been "simplified" back into one, or never created. This change defers
  the clipping of that entry until those two vm_map_protect failure
  cases have been ruled out.
  
  Reviewed by: alc
  Approved by: markj (mentor)
  Differential Revision: https://reviews.freebsd.org/D20711

Modified:
  head/sys/vm/vm_map.c

Modified: head/sys/vm/vm_map.c
==
--- head/sys/vm/vm_map.cTue Jun 25 07:04:47 2019(r349362)
+++ head/sys/vm/vm_map.cTue Jun 25 07:44:37 2019(r349363)
@@ -2472,11 +2472,8 @@ again:
 
VM_MAP_RANGE_CHECK(map, start, end);
 
-   if (vm_map_lookup_entry(map, start, )) {
-   vm_map_clip_start(map, entry, start);
-   } else {
+   if (!vm_map_lookup_entry(map, start, ))
entry = entry->next;
-   }
 
/*
 * Make a first pass to check for protection violations.
@@ -2515,6 +2512,7 @@ again:
 * now will do cow due to allowed write (e.g. debugger sets
 * breakpoint on text segment)
 */
+   vm_map_clip_start(map, entry, start);
for (current = entry; current->start < end; current = current->next) {
 
vm_map_clip_end(map, current, 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"


svn commit: r349362 - head/sys/contrib/ipfilter/netinet

2019-06-25 Thread Cy Schubert
Author: cy
Date: Tue Jun 25 07:04:47 2019
New Revision: 349362
URL: https://svnweb.freebsd.org/changeset/base/349362

Log:
  The definition of icmptypes in ip_compt.h is dead code as it already
  use the icmptypes in ip_icmp.h.
  
  MFC after:1 week

Modified:
  head/sys/contrib/ipfilter/netinet/ip_compat.h

Modified: head/sys/contrib/ipfilter/netinet/ip_compat.h
==
--- head/sys/contrib/ipfilter/netinet/ip_compat.h   Tue Jun 25 06:24:56 
2019(r349361)
+++ head/sys/contrib/ipfilter/netinet/ip_compat.h   Tue Jun 25 07:04:47 
2019(r349362)
@@ -829,159 +829,9 @@ typedef   struct  tcpiphdrtcpiphdr_t;
 #undef IPOPT_AH
 #defineIPOPT_AH256+IPPROTO_AH
 
-#ifndefICMP_MINLEN
-# define   ICMP_MINLEN 8
-#endif
-#ifndefICMP_ECHOREPLY
-# define   ICMP_ECHOREPLY  0
-#endif
-#ifndefICMP_UNREACH
-# define   ICMP_UNREACH3
-#endif
-#ifndefICMP_UNREACH_NET
-# define   ICMP_UNREACH_NET0
-#endif
-#ifndefICMP_UNREACH_HOST
-# define   ICMP_UNREACH_HOST   1
-#endif
-#ifndefICMP_UNREACH_PROTOCOL
-# define   ICMP_UNREACH_PROTOCOL   2
-#endif
-#ifndefICMP_UNREACH_PORT
-# define   ICMP_UNREACH_PORT   3
-#endif
-#ifndefICMP_UNREACH_NEEDFRAG
-# define   ICMP_UNREACH_NEEDFRAG   4
-#endif
-#ifndefICMP_UNREACH_SRCFAIL
-# define   ICMP_UNREACH_SRCFAIL5
-#endif
-#ifndefICMP_UNREACH_NET_UNKNOWN
-# define   ICMP_UNREACH_NET_UNKNOWN6
-#endif
-#ifndefICMP_UNREACH_HOST_UNKNOWN
-# define   ICMP_UNREACH_HOST_UNKNOWN   7
-#endif
-#ifndefICMP_UNREACH_ISOLATED
-# define   ICMP_UNREACH_ISOLATED   8
-#endif
-#ifndefICMP_UNREACH_NET_PROHIB
-# define   ICMP_UNREACH_NET_PROHIB 9
-#endif
-#ifndefICMP_UNREACH_HOST_PROHIB
-# define   ICMP_UNREACH_HOST_PROHIB10
-#endif
-#ifndefICMP_UNREACH_TOSNET
-# define   ICMP_UNREACH_TOSNET 11
-#endif
-#ifndefICMP_UNREACH_TOSHOST
-# define   ICMP_UNREACH_TOSHOST12
-#endif
-#ifndefICMP_UNREACH_ADMIN_PROHIBIT
-# define   ICMP_UNREACH_ADMIN_PROHIBIT 13
-#endif
-#ifndefICMP_UNREACH_FILTER
-# define   ICMP_UNREACH_FILTER 13
-#endif
-#ifndefICMP_UNREACH_HOST_PRECEDENCE
-# define   ICMP_UNREACH_HOST_PRECEDENCE14
-#endif
-#ifndefICMP_UNREACH_PRECEDENCE_CUTOFF
-# define   ICMP_UNREACH_PRECEDENCE_CUTOFF  15
-#endif
-#ifndefICMP_SOURCEQUENCH
-# define   ICMP_SOURCEQUENCH   4
-#endif
-#ifndefICMP_REDIRECT_NET
-# define   ICMP_REDIRECT_NET   0
-#endif
-#ifndefICMP_REDIRECT_HOST
-# define   ICMP_REDIRECT_HOST  1
-#endif
-#ifndefICMP_REDIRECT_TOSNET
-# define   ICMP_REDIRECT_TOSNET2
-#endif
-#ifndefICMP_REDIRECT_TOSHOST
-# define   ICMP_REDIRECT_TOSHOST   3
-#endif
-#ifndefICMP_ALTHOSTADDR
-# define   ICMP_ALTHOSTADDR6
-#endif
-#ifndefICMP_TIMXCEED
-# define   ICMP_TIMXCEED   11
-#endif
-#ifndefICMP_TIMXCEED_INTRANS
-# define   ICMP_TIMXCEED_INTRANS   0
-#endif
-#ifndefICMP_TIMXCEED_REASS
-# define   ICMP_TIMXCEED_REASS 1
-#endif
-#ifndefICMP_PARAMPROB
-# define   ICMP_PARAMPROB  12
-#endif
-#ifndefICMP_PARAMPROB_ERRATPTR
-# define   ICMP_PARAMPROB_ERRATPTR 0
-#endif
-#ifndefICMP_PARAMPROB_OPTABSENT
-# define   ICMP_PARAMPROB_OPTABSENT1
-#endif
-#ifndefICMP_PARAMPROB_LENGTH
-# define   ICMP_PARAMPROB_LENGTH   2
-#endif
-#ifndef ICMP_TSTAMP
-# define   ICMP_TSTAMP 13
-#endif
-#ifndef ICMP_TSTAMPREPLY
-# define   ICMP_TSTAMPREPLY14
-#endif
-#ifndef ICMP_IREQ
-# define   ICMP_IREQ   15
-#endif
-#ifndef ICMP_IREQREPLY
-# define   ICMP_IREQREPLY  16
-#endif
-#ifndefICMP_MASKREQ
-# define   ICMP_MASKREQ17
-#endif
-#ifndef ICMP_MASKREPLY
-# define   ICMP_MASKREPLY  18
-#endif
-#ifndefICMP_TRACEROUTE
-# define   ICMP_TRACEROUTE 30
-#endif
-#ifndefICMP_DATACONVERR
-# define   ICMP_DATACONVERR31
-#endif
-#ifndefICMP_MOBILE_REDIRECT
-# define   ICMP_MOBILE_REDIRECT32
-#endif
-#ifndefICMP_IPV6_WHEREAREYOU
-# define   ICMP_IPV6_WHEREAREYOU   33
-#endif
-#ifndefICMP_IPV6_IAMHERE
-# define   ICMP_IPV6_IAMHERE   34
-#endif
-#ifndefICMP_MOBILE_REGREQUEST
-# define   ICMP_MOBILE_REGREQUEST  35
-#endif
-#ifndefICMP_MOBILE_REGREPLY
-# define   ICMP_MOBILE_REGREPLY36
-#endif
-#ifndefICMP_SKIP
-# define   ICMP_SKIP   39
-#endif
-#ifndefICMP_PHOTURIS
-# define   ICMP_PHOTURIS   40
-#endif
-#ifndefICMP_PHOTURIS_UNKNOWN_INDEX
-# define   ICMP_PHOTURIS_UNKNOWN_INDEX 1
-#endif
-#ifndefICMP_PHOTURIS_AUTH_FAILED
-# define   

svn commit: r349361 - head/usr.sbin/bhyve

2019-06-25 Thread Marcelo Araujo
Author: araujo
Date: Tue Jun 25 06:24:56 2019
New Revision: 349361
URL: https://svnweb.freebsd.org/changeset/base/349361

Log:
  Add SPDX tags to bhyve(8) HD Audio device.
  
  Reviewed by:  bcran
  Differential Revision:https://reviews.freebsd.org/D20750

Replaced:
  head/usr.sbin/bhyve/audio.c
 - copied, changed from r349351, head/usr.sbin/bhyve/audio.c
  head/usr.sbin/bhyve/audio.h
 - copied, changed from r349351, head/usr.sbin/bhyve/audio.h
  head/usr.sbin/bhyve/hda_codec.c
 - copied, changed from r349351, head/usr.sbin/bhyve/hda_codec.c
  head/usr.sbin/bhyve/hda_reg.h
 - copied, changed from r349351, head/usr.sbin/bhyve/hda_reg.h
  head/usr.sbin/bhyve/hdac_reg.h
 - copied, changed from r349351, head/usr.sbin/bhyve/hdac_reg.h
  head/usr.sbin/bhyve/pci_hda.c
 - copied, changed from r349351, head/usr.sbin/bhyve/pci_hda.c
  head/usr.sbin/bhyve/pci_hda.h
 - copied, changed from r349351, head/usr.sbin/bhyve/pci_hda.h

Copied and modified: head/usr.sbin/bhyve/audio.c (from r349351, 
head/usr.sbin/bhyve/audio.c)
==
--- head/usr.sbin/bhyve/audio.c Tue Jun 25 02:35:22 2019(r349351, copy 
source)
+++ head/usr.sbin/bhyve/audio.c Tue Jun 25 06:24:56 2019(r349361)
@@ -1,4 +1,6 @@
 /*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
  * Copyright (c) 2016 Alex Teaca 
  * All rights reserved.
  *

Copied and modified: head/usr.sbin/bhyve/audio.h (from r349351, 
head/usr.sbin/bhyve/audio.h)
==
--- head/usr.sbin/bhyve/audio.h Tue Jun 25 02:35:22 2019(r349351, copy 
source)
+++ head/usr.sbin/bhyve/audio.h Tue Jun 25 06:24:56 2019(r349361)
@@ -1,4 +1,6 @@
 /*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
  * Copyright (c) 2016 Alex Teaca 
  * All rights reserved.
  *

Copied and modified: head/usr.sbin/bhyve/hda_codec.c (from r349351, 
head/usr.sbin/bhyve/hda_codec.c)
==
--- head/usr.sbin/bhyve/hda_codec.c Tue Jun 25 02:35:22 2019
(r349351, copy source)
+++ head/usr.sbin/bhyve/hda_codec.c Tue Jun 25 06:24:56 2019
(r349361)
@@ -1,4 +1,6 @@
 /*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
  * Copyright (c) 2016 Alex Teaca 
  * All rights reserved.
  *

Copied and modified: head/usr.sbin/bhyve/hda_reg.h (from r349351, 
head/usr.sbin/bhyve/hda_reg.h)
==
--- head/usr.sbin/bhyve/hda_reg.h   Tue Jun 25 02:35:22 2019
(r349351, copy source)
+++ head/usr.sbin/bhyve/hda_reg.h   Tue Jun 25 06:24:56 2019
(r349361)
@@ -1,4 +1,6 @@
 /*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
  * Copyright (c) 2006 Stephane E. Potvin 
  * All rights reserved.
  *

Copied and modified: head/usr.sbin/bhyve/hdac_reg.h (from r349351, 
head/usr.sbin/bhyve/hdac_reg.h)
==
--- head/usr.sbin/bhyve/hdac_reg.h  Tue Jun 25 02:35:22 2019
(r349351, copy source)
+++ head/usr.sbin/bhyve/hdac_reg.h  Tue Jun 25 06:24:56 2019
(r349361)
@@ -1,4 +1,6 @@
 /*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
  * Copyright (c) 2006 Stephane E. Potvin 
  * All rights reserved.
  *

Copied and modified: head/usr.sbin/bhyve/pci_hda.c (from r349351, 
head/usr.sbin/bhyve/pci_hda.c)
==
--- head/usr.sbin/bhyve/pci_hda.c   Tue Jun 25 02:35:22 2019
(r349351, copy source)
+++ head/usr.sbin/bhyve/pci_hda.c   Tue Jun 25 06:24:56 2019
(r349361)
@@ -1,4 +1,6 @@
 /*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
  * Copyright (c) 2016 Alex Teaca 
  * All rights reserved.
  *

Copied and modified: head/usr.sbin/bhyve/pci_hda.h (from r349351, 
head/usr.sbin/bhyve/pci_hda.h)
==
--- head/usr.sbin/bhyve/pci_hda.h   Tue Jun 25 02:35:22 2019
(r349351, copy source)
+++ head/usr.sbin/bhyve/pci_hda.h   Tue Jun 25 06:24:56 2019
(r349361)
@@ -1,4 +1,6 @@
 /*-
+ * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ *
  * Copyright (c) 2016 Alex Teaca 
  * All rights reserved.
  *
___
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: r349352 - in head: etc/mtree include lib lib/libnandfs sbin sbin/camcontrol sbin/nandfs sbin/newfs_nandfs share/man/man4 share/man/man5 share/mk stand stand/arm/uboot stand/common stan

2019-06-25 Thread Warner Losh
This commit accidentally reverted r349333, r349334, r349335, r349336,
r349339, r349340, r349341 and r349342. I rebased after one of the make
universes I did to proof this set and something must have gone wrong and I
lost these changes. I noticed while committing, but didn't hit ^C fast
enough to prevent the damage it seems.

I've reapplied those changes rather than revert this commit for two
reasons: first, reverting commits that delete things has caused me trouble
in the past. Second, I judge that to be less repo-churn than doing the
revert, then redoing the nand* removal.

Time was of the essence, so I hope my snap-judgement was sound. My
apologies both for the 'oops' and for any other fallout.

Warner

On Mon, Jun 24, 2019 at 10:50 PM Warner Losh  wrote:

> Author: imp
> Date: Tue Jun 25 04:50:09 2019
> New Revision: 349352
> URL: https://svnweb.freebsd.org/changeset/base/349352
>
> Log:
>   Remove NAND and NANDFS support
>
>   NANDFS has been broken for years. Remove it. The NAND drivers that
>   remain are for ancient parts that are no longer relevant. They are
>   polled, have terrible performance and just for ancient arm
>   hardware. NAND parts have evolved significantly from this early work
>   and little to none of it would be relevant should someone need to
>   update to support raw nand. This code has been off by default for
>   years and has violated the vnode protocol leading to panics since it
>   was committed.
>
>   Numerous posts to arch@ and other locations have found no actual users
>   for this software.
>
>   Relnotes: Yes
>   No Objection From: arch@
>   Differential Revision: https://reviews.freebsd.org/D20745
> ...
___
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: r349359 - head/sbin/camcontrol

2019-06-25 Thread Warner Losh
Author: imp
Date: Tue Jun 25 06:14:26 2019
New Revision: 349359
URL: https://svnweb.freebsd.org/changeset/base/349359

Log:
  Replay r349341 by imp accidentally reverted by r349352
  
  Use ata_param_fixup instead of a custom copy here

Modified:
  head/sbin/camcontrol/camcontrol.c

Modified: head/sbin/camcontrol/camcontrol.c
==
--- head/sbin/camcontrol/camcontrol.c   Tue Jun 25 06:14:21 2019
(r349358)
+++ head/sbin/camcontrol/camcontrol.c   Tue Jun 25 06:14:26 2019
(r349359)
@@ -2326,9 +2326,11 @@ ata_do_identify(struct cam_device *device, int retry_c
}
}
 
+   ident_buf = (struct ata_params *)ptr;
+   ata_param_fixup(ident_buf);
+
error = 1;
for (i = 0; i < sizeof(struct ata_params) / 2; i++) {
-   ptr[i] = le16toh(ptr[i]);
if (ptr[i] != 0)
error = 0;
}
@@ -2345,26 +2347,6 @@ ata_do_identify(struct cam_device *device, int retry_c
free(ptr);
return (error);
}
-
-   ident_buf = (struct ata_params *)ptr;
-   if (strncmp(ident_buf->model, "FX", 2) &&
-   strncmp(ident_buf->model, "NEC", 3) &&
-   strncmp(ident_buf->model, "Pioneer", 7) &&
-   strncmp(ident_buf->model, "SHARP", 5)) {
-   ata_bswap(ident_buf->model, sizeof(ident_buf->model));
-   ata_bswap(ident_buf->revision, sizeof(ident_buf->revision));
-   ata_bswap(ident_buf->serial, sizeof(ident_buf->serial));
-   ata_bswap(ident_buf->media_serial, 
sizeof(ident_buf->media_serial));
-   }
-   ata_btrim(ident_buf->model, sizeof(ident_buf->model));
-   ata_bpack(ident_buf->model, ident_buf->model, sizeof(ident_buf->model));
-   ata_btrim(ident_buf->revision, sizeof(ident_buf->revision));
-   ata_bpack(ident_buf->revision, ident_buf->revision, 
sizeof(ident_buf->revision));
-   ata_btrim(ident_buf->serial, sizeof(ident_buf->serial));
-   ata_bpack(ident_buf->serial, ident_buf->serial, 
sizeof(ident_buf->serial));
-   ata_btrim(ident_buf->media_serial, sizeof(ident_buf->media_serial));
-   ata_bpack(ident_buf->media_serial, ident_buf->media_serial,
-   sizeof(ident_buf->media_serial));
 
*ident_bufp = ident_buf;
 
___
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: r349355 - head/usr.sbin/bhyve

2019-06-25 Thread Warner Losh
Author: imp
Date: Tue Jun 25 06:14:05 2019
New Revision: 349355
URL: https://svnweb.freebsd.org/changeset/base/349355

Log:
  Replay r349335 by scottl accidentally reverted by r349352
  
  Add the PCI HDAudio device model from the 2016 GSoC.  Detailed information
  can be found at
  
  https://wiki.freebsd.org/SummerOfCode2016/HDAudioEmulationForBhyve
  
  This commit has evolved from the original work to include Capsicum
  integration.  As part of that, it only opens the host audio devices once
  and leaves them open, instead of opening and closing them on each guest
  access.  Thanks to Peter Grehan and Marcelo Araujo for their help in
  bringing the work forward and providing some of the final techncial push.
  
  Submitted by: Alex Teaca 
  Differential Revision:D7840, D12419

Added:
  head/usr.sbin/bhyve/audio.c   (contents, props changed)
  head/usr.sbin/bhyve/audio.h   (contents, props changed)
  head/usr.sbin/bhyve/hda_codec.c   (contents, props changed)
  head/usr.sbin/bhyve/hda_reg.h   (contents, props changed)
  head/usr.sbin/bhyve/hdac_reg.h   (contents, props changed)
  head/usr.sbin/bhyve/pci_hda.c   (contents, props changed)
  head/usr.sbin/bhyve/pci_hda.h   (contents, props changed)
Modified:
  head/usr.sbin/bhyve/Makefile

Modified: head/usr.sbin/bhyve/Makefile
==
--- head/usr.sbin/bhyve/MakefileTue Jun 25 06:14:00 2019
(r349354)
+++ head/usr.sbin/bhyve/MakefileTue Jun 25 06:14:05 2019
(r349355)
@@ -16,6 +16,7 @@ BHYVE_SYSDIR?=${SRCTOP}
 SRCS=  \
atkbdc.c\
acpi.c  \
+   audio.c \
bhyvegc.c   \
bhyverun.c  \
block_if.c  \
@@ -27,6 +28,7 @@ SRCS= \
dbgport.c   \
fwctl.c \
gdb.c   \
+   hda_codec.c \
inout.c \
ioapic.c\
mem.c   \
@@ -36,6 +38,7 @@ SRCS= \
pci_ahci.c  \
pci_e82545.c\
pci_emul.c  \
+   pci_hda.c   \
pci_fbuf.c  \
pci_hostbridge.c\
pci_irq.c   \

Added: head/usr.sbin/bhyve/audio.c
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/usr.sbin/bhyve/audio.c Tue Jun 25 06:14:05 2019(r349355)
@@ -0,0 +1,282 @@
+/*-
+ * Copyright (c) 2016 Alex Teaca 
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include 
+__FBSDID("$FreeBSD$");
+
+#ifndef WITHOUT_CAPSICUM
+#include 
+#include 
+#endif
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "audio.h"
+#include "pci_hda.h"
+
+/*
+ * Audio Player internal data structures
+ */
+
+struct audio {
+   int fd;
+   uint8_t dir;
+   uint8_t inited;
+   char dev_name[64];
+};
+
+/*
+ * Audio Player module function definitions
+ */
+
+/*
+ * audio_init - initialize an instance of audio player
+ * @dev_name - the backend sound device used to play / capture
+ * @dir - dir = 1 for write mode, dir = 0 for read mode
+ */
+struct audio *
+audio_init(const char *dev_name, uint8_t dir)
+{
+   struct audio *aud = NULL;
+#ifndef WITHOUT_CAPSICUM
+   cap_rights_t rights;
+   cap_ioctl_t cmds[] = {
+   SNDCTL_DSP_RESET, SNDCTL_DSP_SETFMT, SNDCTL_DSP_CHANNELS,
+   SNDCTL_DSP_SPEED,
+#ifdef DEBUG_HDA
+   SNDCTL_DSP_GETOSPACE, SNDCTL_DSP_GETISPACE,
+#endif
+  

svn commit: r349358 - in head/sys/cam: ata scsi

2019-06-25 Thread Warner Losh
Author: imp
Date: Tue Jun 25 06:14:21 2019
New Revision: 349358
URL: https://svnweb.freebsd.org/changeset/base/349358

Log:
  Replay r349340 by imp accidentally reverted by r349352
  
  Create ata_param_fixup
  
  Create a common fixup routine to do the canonical fixup of the
  ata_param fixup. Call it from both the ATA and the ATA over SCSI
  paths.

Modified:
  head/sys/cam/ata/ata_all.c
  head/sys/cam/ata/ata_all.h
  head/sys/cam/ata/ata_xpt.c
  head/sys/cam/scsi/scsi_da.c

Modified: head/sys/cam/ata/ata_all.c
==
--- head/sys/cam/ata/ata_all.c  Tue Jun 25 06:14:16 2019(r349357)
+++ head/sys/cam/ata/ata_all.c  Tue Jun 25 06:14:21 2019(r349358)
@@ -1238,3 +1238,28 @@ ata_zac_mgmt_in(struct ccb_ataio *ataio, uint32_t retr
ataio->aux = auxiliary;
}
 }
+
+void
+ata_param_fixup(struct ata_params *ident_buf)
+{
+   int16_t *ptr;
+
+   for (ptr = (int16_t *)ident_buf;
+ptr < (int16_t *)ident_buf + sizeof(struct ata_params)/2; ptr++) {
+   *ptr = le16toh(*ptr);
+   }
+   if (strncmp(ident_buf->model, "FX", 2) &&
+   strncmp(ident_buf->model, "NEC", 3) &&
+   strncmp(ident_buf->model, "Pioneer", 7) &&
+   strncmp(ident_buf->model, "SHARP", 5)) {
+   ata_bswap(ident_buf->model, sizeof(ident_buf->model));
+   ata_bswap(ident_buf->revision, sizeof(ident_buf->revision));
+   ata_bswap(ident_buf->serial, sizeof(ident_buf->serial));
+   }
+   ata_btrim(ident_buf->model, sizeof(ident_buf->model));
+   ata_bpack(ident_buf->model, ident_buf->model, sizeof(ident_buf->model));
+   ata_btrim(ident_buf->revision, sizeof(ident_buf->revision));
+   ata_bpack(ident_buf->revision, ident_buf->revision, 
sizeof(ident_buf->revision));
+   ata_btrim(ident_buf->serial, sizeof(ident_buf->serial));
+   ata_bpack(ident_buf->serial, ident_buf->serial, 
sizeof(ident_buf->serial));
+}

Modified: head/sys/cam/ata/ata_all.h
==
--- head/sys/cam/ata/ata_all.h  Tue Jun 25 06:14:16 2019(r349357)
+++ head/sys/cam/ata/ata_all.h  Tue Jun 25 06:14:21 2019(r349358)
@@ -135,6 +135,7 @@ voidata_read_log(struct ccb_ataio *ataio, uint32_t 
re
 uint16_t block_count, uint32_t protocol,
 uint8_t *data_ptr, uint32_t dxfer_len, uint32_t timeout);
 
+void   ata_param_fixup(struct ata_params *ident_buf);
 void   ata_bswap(int8_t *buf, int len);
 void   ata_btrim(int8_t *buf, int len);
 void   ata_bpack(int8_t *src, int8_t *dst, int len);

Modified: head/sys/cam/ata/ata_xpt.c
==
--- head/sys/cam/ata/ata_xpt.c  Tue Jun 25 06:14:16 2019(r349357)
+++ head/sys/cam/ata/ata_xpt.c  Tue Jun 25 06:14:21 2019(r349358)
@@ -893,31 +893,13 @@ noerror:
case PROBE_IDENTIFY:
{
struct ccb_pathinq cpi;
-   int16_t *ptr;
int veto = 0;
 
/*
 * Convert to host byte order, and fix the strings.
 */
ident_buf = >ident_data;
-   for (ptr = (int16_t *)ident_buf;
-ptr < (int16_t *)ident_buf + sizeof(struct ata_params)/2; 
ptr++) {
-   *ptr = le16toh(*ptr);
-   }
-   if (strncmp(ident_buf->model, "FX", 2) &&
-   strncmp(ident_buf->model, "NEC", 3) &&
-   strncmp(ident_buf->model, "Pioneer", 7) &&
-   strncmp(ident_buf->model, "SHARP", 5)) {
-   ata_bswap(ident_buf->model, sizeof(ident_buf->model));
-   ata_bswap(ident_buf->revision, 
sizeof(ident_buf->revision));
-   ata_bswap(ident_buf->serial, sizeof(ident_buf->serial));
-   }
-   ata_btrim(ident_buf->model, sizeof(ident_buf->model));
-   ata_bpack(ident_buf->model, ident_buf->model, 
sizeof(ident_buf->model));
-   ata_btrim(ident_buf->revision, sizeof(ident_buf->revision));
-   ata_bpack(ident_buf->revision, ident_buf->revision, 
sizeof(ident_buf->revision));
-   ata_btrim(ident_buf->serial, sizeof(ident_buf->serial));
-   ata_bpack(ident_buf->serial, ident_buf->serial, 
sizeof(ident_buf->serial));
+   ata_param_fixup(ident_buf);
 
/*
 * Allow others to veto this ATA disk attachment.  This

Modified: head/sys/cam/scsi/scsi_da.c
==
--- head/sys/cam/scsi/scsi_da.c Tue Jun 25 06:14:16 2019(r349357)
+++ head/sys/cam/scsi/scsi_da.c Tue Jun 25 06:14:21 2019(r349358)
@@ -5192,7 +5192,7 @@ dadone_probeata(struct cam_periph *periph, union ccb *
struct 

svn commit: r349360 - head/sys/cam/scsi

2019-06-25 Thread Warner Losh
Author: imp
Date: Tue Jun 25 06:14:31 2019
New Revision: 349360
URL: https://svnweb.freebsd.org/changeset/base/349360

Log:
  Replay r349342 by imp accidentally reverted by r349352
  
  Use the cam_ed copy of ata_params rather than malloc and freeing
  memory for it. This reaches into internal bits of xpt a little, and
  I'll clean that up later.

Modified:
  head/sys/cam/scsi/scsi_da.c

Modified: head/sys/cam/scsi/scsi_da.c
==
--- head/sys/cam/scsi/scsi_da.c Tue Jun 25 06:14:26 2019(r349359)
+++ head/sys/cam/scsi/scsi_da.c Tue Jun 25 06:14:31 2019(r349360)
@@ -64,6 +64,9 @@ __FBSDID("$FreeBSD$");
 #include 
 #include 
 #include 
+#ifdef _KERNEL
+#include 
+#endif /* _KERNEL */
 #include 
 #include 
 
@@ -3613,16 +3616,8 @@ out:
break;
}
 
-   ata_params = (struct ata_params*)
-   malloc(sizeof(*ata_params), M_SCSIDA,M_NOWAIT|M_ZERO);
+   ata_params = >path->device->ident_data;
 
-   if (ata_params == NULL) {
-   xpt_print(periph->path, "Couldn't malloc ata_params "
-   "data\n");
-   /* da_free_periph??? */
-   break;
-   }
-
scsi_ata_identify(_ccb->csio,
  /*retries*/da_retry_count,
  /*cbfcnp*/dadone_probeata,
@@ -5294,7 +5289,6 @@ dadone_probeata(struct cam_periph *periph, union ccb *
}
}
 
-   free(ata_params, M_SCSIDA);
if ((softc->zone_mode == DA_ZONE_HOST_AWARE)
 || (softc->zone_mode == DA_ZONE_HOST_MANAGED)) {
/*
___
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: r349356 - head/usr.sbin/bhyve

2019-06-25 Thread Warner Losh
Author: imp
Date: Tue Jun 25 06:14:11 2019
New Revision: 349356
URL: https://svnweb.freebsd.org/changeset/base/349356

Log:
  Replay r349336 by scottl accidentally reverted by r349352
  
  Add a section about the HD Audio module support

Modified:
  head/usr.sbin/bhyve/bhyve.8

Modified: head/usr.sbin/bhyve/bhyve.8
==
--- head/usr.sbin/bhyve/bhyve.8 Tue Jun 25 06:14:05 2019(r349355)
+++ head/usr.sbin/bhyve/bhyve.8 Tue Jun 25 06:14:11 2019(r349356)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd December 11, 2018
+.Dd June 24, 2019
 .Dt BHYVE 8
 .Os
 .Sh NAME
@@ -248,6 +248,8 @@ Raw framebuffer device attached to VNC server.
 eXtensible Host Controller Interface (xHCI) USB controller.
 .It Li nvme
 NVM Express (NVMe) controller.
+.It Li hda
+High Definition Audio Controller.
 .El
 .It Op Ar conf
 This optional parameter describes the backend for device emulations.
@@ -474,6 +476,16 @@ Max number of concurrent I/O requests.
 Sector size (defaults to blockif sector size).
 .It Li ser
 Serial number with maximum 20 characters.
+.El
+.Pp
+HD Audio devices:
+.Bl -tag -width 10n
+.It Li play
+Playback device, typically
+.Ar /dev/dsp0 .
+.It Li rec
+Recording device, typically
+.Ar /dev/dsp0 .
 .El
 .El
 .It Fl S
___
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: r349357 - head/sys/cam/ata

2019-06-25 Thread Warner Losh
Author: imp
Date: Tue Jun 25 06:14:16 2019
New Revision: 349357
URL: https://svnweb.freebsd.org/changeset/base/349357

Log:
  Replay r349339 by imp accidentally reverted by r349352
  
  Go ahead and completely fix the ata_params before calling the veto
  function. This breaks nothing that uses it in the tree since
  ata_params is ignored in storvsc_ada_probe_veto which is the only
  in-tree consumer.

Modified:
  head/sys/cam/ata/ata_xpt.c

Modified: head/sys/cam/ata/ata_xpt.c
==
--- head/sys/cam/ata/ata_xpt.c  Tue Jun 25 06:14:11 2019(r349356)
+++ head/sys/cam/ata/ata_xpt.c  Tue Jun 25 06:14:16 2019(r349357)
@@ -896,22 +896,14 @@ noerror:
int16_t *ptr;
int veto = 0;
 
+   /*
+* Convert to host byte order, and fix the strings.
+*/
ident_buf = >ident_data;
for (ptr = (int16_t *)ident_buf;
 ptr < (int16_t *)ident_buf + sizeof(struct ata_params)/2; 
ptr++) {
*ptr = le16toh(*ptr);
}
-
-   /*
-* Allow others to veto this ATA disk attachment.  This
-* is mainly used by VMs, whose disk controllers may
-* share the disks with the simulated ATA controllers.
-*/
-   EVENTHANDLER_INVOKE(ada_probe_veto, path, ident_buf, );
-   if (veto) {
-   goto device_fail;
-   }
-
if (strncmp(ident_buf->model, "FX", 2) &&
strncmp(ident_buf->model, "NEC", 3) &&
strncmp(ident_buf->model, "Pioneer", 7) &&
@@ -926,6 +918,17 @@ noerror:
ata_bpack(ident_buf->revision, ident_buf->revision, 
sizeof(ident_buf->revision));
ata_btrim(ident_buf->serial, sizeof(ident_buf->serial));
ata_bpack(ident_buf->serial, ident_buf->serial, 
sizeof(ident_buf->serial));
+
+   /*
+* Allow others to veto this ATA disk attachment.  This
+* is mainly used by VMs, whose disk controllers may
+* share the disks with the simulated ATA controllers.
+*/
+   EVENTHANDLER_INVOKE(ada_probe_veto, path, ident_buf, );
+   if (veto) {
+   goto device_fail;
+   }
+
/* Device may need spin-up before IDENTIFY become valid. */
if ((ident_buf->specconf == 0x37c8 ||
 ident_buf->specconf == 0x738c) &&
___
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: r349353 - head/usr.bin/vtfontcvt

2019-06-25 Thread Warner Losh
Author: imp
Date: Tue Jun 25 06:13:56 2019
New Revision: 349353
URL: https://svnweb.freebsd.org/changeset/base/349353

Log:
  Replay r349333 by emaste accidentally reverted by r349352
  
  vtfontcvt: improve .bdf validation
  
  Previously if we had a FONTBOUNDINGBOX or DWIDTH entry that had missing
  or invalid values and and failed sscanf, we would proceeded with
  partially initialized bounding box / device width variables.
  
  Reported by:  afl (FONTBOUNDINGBOX)
  MFC with: r349100
  Sponsored by: The FreeBSD Foundation

Modified:
  head/usr.bin/vtfontcvt/vtfontcvt.c

Modified: head/usr.bin/vtfontcvt/vtfontcvt.c
==
--- head/usr.bin/vtfontcvt/vtfontcvt.c  Tue Jun 25 04:50:09 2019
(r349352)
+++ head/usr.bin/vtfontcvt/vtfontcvt.c  Tue Jun 25 06:13:56 2019
(r349353)
@@ -335,9 +335,11 @@ parse_bdf(FILE *fp, unsigned int map_idx)
break;
}
}
-   } else if (strncmp(ln, "FONTBOUNDINGBOX ", 16) == 0 &&
-   sscanf(ln + 16, "%d %d %d %d", , , ,
-   ) == 4) {
+   } else if (strncmp(ln, "FONTBOUNDINGBOX ", 16) == 0) {
+   if (sscanf(ln + 16, "%d %d %d %d", , , ,
+   ) != 4)
+   errx(1, "invalid FONTBOUNDINGBOX at line %u",
+   linenum);
set_width(fbbw);
set_height(fbbh);
break;
@@ -353,8 +355,9 @@ parse_bdf(FILE *fp, unsigned int map_idx)
linenum++;
ln[length - 1] = '\0';
 
-   if (strncmp(ln, "DWIDTH ", 7) == 0 &&
-   sscanf(ln + 7, "%d %d", , ) == 2) {
+   if (strncmp(ln, "DWIDTH ", 7) == 0) {
+   if (sscanf(ln + 7, "%d %d", , ) != 2)
+   errx(1, "invalid DWIDTH at line %u", linenum);
if (dwy != 0 || (dwidth != fbbw && dwidth * 2 != fbbw))
errx(1, "bitmap with unsupported DWIDTH %d %d 
at line %u",
dwidth, dwy, linenum);
___
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: r349354 - head/sys/fs/smbfs

2019-06-25 Thread Warner Losh
Author: imp
Date: Tue Jun 25 06:14:00 2019
New Revision: 349354
URL: https://svnweb.freebsd.org/changeset/base/349354

Log:
  Replay r349334 by markj accidentally reverted by r349352
  
  Remove a lingering use of splbio().
  
  The buffer must be locked by the caller.  No functional change
  intended.
  
  Reviewed by:  kib
  MFC after:1 week
  Sponsored by: The FreeBSD Foundation

Modified:
  head/sys/fs/smbfs/smbfs_io.c

Modified: head/sys/fs/smbfs/smbfs_io.c
==
--- head/sys/fs/smbfs/smbfs_io.cTue Jun 25 06:13:56 2019
(r349353)
+++ head/sys/fs/smbfs/smbfs_io.cTue Jun 25 06:14:00 2019
(r349354)
@@ -375,9 +375,6 @@ smbfs_doio(struct vnode *vp, struct buf *bp, struct uc
 */
if (error == EINTR
|| (!error && (bp->b_flags & B_NEEDCOMMIT))) {
-   int s;
-
-   s = splbio();
bp->b_flags &= ~(B_INVAL|B_NOCACHE);
if ((bp->b_flags & B_ASYNC) == 0)
bp->b_flags |= B_EINTR;
@@ -387,7 +384,6 @@ smbfs_doio(struct vnode *vp, struct buf *bp, struct uc
}
if ((bp->b_flags & B_ASYNC) == 0)
bp->b_flags |= B_EINTR;
-   splx(s);
} else {
if (error) {
bp->b_ioflags |= BIO_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"