svn commit: r349406 - head/share/man/man4
Author: avg Date: Wed Jun 26 06:40:30 2019 New Revision: 349406 URL: https://svnweb.freebsd.org/changeset/base/349406 Log: owc.4: document how to set up the 1-wire bus on a device.hints system MFC after:1 week Modified: head/share/man/man4/owc.4 Modified: head/share/man/man4/owc.4 == --- head/share/man/man4/owc.4 Wed Jun 26 03:12:57 2019(r349405) +++ head/share/man/man4/owc.4 Wed Jun 26 06:40:30 2019(r349406) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 20, 2015 +.Dd June 26, 2019 .Dt OWC 4 .Os .Sh NAME @@ -69,6 +69,23 @@ For more details about the .Va gpios property, please consult .Pa /usr/src/sys/dts/bindings-gpio.txt . +.Pp +On a +.Xr device.hints 5 +based system these values are required for the +.Nm : +.Bl -tag -width ".Va hint.owc.%d.atXXX" +.It Va hint.owc.%d.at +The +.Nm gpiobus +you are attaching to. +.It Va hint.owc.%d.pins +This is a bitmask that defines a pin on the +.Nm gpiobus +that is to be used for the 1-Wire bus. +For instance, to configure pin 10, use the bitmask of 0x400. +Please note that this mask should have only one bit set +(any other bits - i.e., pins - will be ignored). .Sh SEE ALSO .Xr gpiobus 4 , .Xr ow 4 , ___ 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: r349393 - head/sys/vm
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
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, &llist, &rlist); + if (root != NULL) { + /* do nothing */ + } else if (llist != &map->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 != &map->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" i
svn commit: r349404 - in head/stand/efi: libefi loader
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(&efihttp_dev, &handle, 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[] = { &efipart_fddev, &efipart_cddev, &efipart_hddev, + &efihttp_dev, /* ordering with efinet_dev matters */ &efinet_dev, &vdisk_dev, #ifdef EFI_ZFS_BOOT @@ -54,6 +55,7 @@ struct fs_ops *file_system[] = { &dosfs_fsops, &ufs_fsops, &cd9660_fsops, + &efihttp_fsops, &tftp_fsops, &nfs_fsops, &gzipfs_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
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, &inst, 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, &inst, sizeof(inst)) != 0) + return (-1); + reg = EXC_ALI_INST_RST(inst); +#else reg = EXC_ALI_RST(frame->cpu.aim.dsisr); +#endif fpr = &td->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
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
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, &fdp->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
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
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
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
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[] = { &efipart_fddev, &efipart_cddev, &efipart_hddev, - &efihttp_dev, /* ordering with efinet_dev matters */ &efinet_dev, &vdisk_dev, #ifdef EFI_ZFS_BOOT @@ -55,7 +54,6 @@ struct fs_ops *file_system[] = { &dosfs_fsops, &ufs_fsops, &cd9660_fsops, - &efihttp_fsops, &tftp_fsops, &nfs_fsops, &gzipfs_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
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, &llist, &rlist); - if (root != NULL) { - /* do nothing */ - } else if (llist != &map->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 != &map->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 spe
svn commit: r349392 - head/sys/sys
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
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
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 &man.pthread.3; library has been updated to improve POSIX compliance. - - - ABI Compatibility - - - - - - Userland Debugging - - - @@ -423,30 +405,6 @@ future releases will now be printed on all &os; versions. - - - Kernel Bug Fixes - - - - - - Kernel Configuration - - - - - - Kernel Modules - - - - - - System Tuning and Controls - - - @@ -480,12 +438,6 @@ deprecated, and are not present in &os; 13.0. - - Storage Drivers - - - - Network Drivers @@ -555,12 +507,6 @@ NumLock, ScrollLock, and numerical keypad keys has been added to &man.bhyve.8;. - - - ARM Support - - - @@ -576,12 +522,6 @@ weaker algorithms when creating &man.geli.8; 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 &man.loader.conf.5;. - - - 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 &os; 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
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
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 &man.freebsd-update.8; utility supports binary upgrades of &arch.i386; and &arch.amd64; systems running earlier FreeBSD releases. Systems running - 10.3-RELEASE, - 11.0-RELEASE can upgrade as follows: + 11.2-RELEASE can upgrade as follows: &prompt.root; freebsd-update fetch &prompt.root; 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
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 &man.pkg.8; 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
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 &man.oce.4; driver has been updated + to version 11.0.50.0. + The TP-Link® TL-WN321G™ network adapter now uses the &man.run.4; driver instead of the &man.rum.4; driver. + The &man.mlx4en.4; and &man.mlx5en.4; + drivers have been updated to version 3.5.0. + The &man.lagg.4; driver has been updated to allow changing the MTU without requiring destroying and @@ -513,6 +520,14 @@ The &man.cxgbe.4; T4, T5, and T6 firmware has been updated to version 1.23.0.0. + + The &man.ixl.4; driver has been updated + version 1.11.9. + + The &man.ixlv.4; 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
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
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
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->mls_list, obj); } +int +multilist_sublist_is_empty(multilist_sublist_t *mls) +{ + ASSERT(MUTEX_HELD(&mls->mls_lock)); + return (list_is_empty(&mls->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->ml_sublists[sublist_idx]; + ASSERT(!MUTEX_HELD(&mls->mls_lock)); + mutex_enter(&mls->mls_lock); + empty = list_is_empty(&mls->mls_list); + mutex_exit(&mls->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 *)
svn commit: r349380 - head/lib/libbe
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
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
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
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
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
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
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
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
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
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
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
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
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
-- 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
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
> 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
> 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
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
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 in
svn commit: r349368 - head/sys/fs/cuse
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(&cuse_server_head, pcs, entry); - cuse_free_unit_by_id_locked(pcs, -1); - while ((pcsd = TAILQ_FIRST(&pcs->hdev)) != NULL) { TAILQ_REMOVE(&pcs->hdev, pcsd, entry); cuse_unlock(); cuse_server_free_dev(pcsd); cuse_lock(); } + + cuse_free_unit_by_id_locked(pcs, -1); while ((mem = TAILQ_FIRST(&pcs->hmem)) != NULL) { TAILQ_REMOVE(&pcs->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
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(&pcs->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(&pcs); - if (error != 0) - goto done; + if (cuse_server_get(&pcs) == 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(&pcs->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
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
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
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, &state); + 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, &cblen); } } + 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
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, &entry)) { > - vm_map_clip_start(map, entry, start); > - } else { > + if (!vm_map_lookup_entry(map, start, &entry)) > 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
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, &entry)) { - vm_map_clip_start(map, entry, start); - } else { + if (!vm_map_lookup_entry(map, start, &entry)) 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
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 ICMP_PHOTUR