------------------------------------------------------------------------ r367336 | jhb | 2020-11-04 09:22:12 -0800 (Wed, 04 Nov 2020) | 7 lines MFC 359263: Use the newer EINTEGRITY error when authentication fails. GELI used to fail with EINVAL when a read request spanned a disk sector whose contents did not match the sector's authentication tag. The recently-added EINTEGRITY more closely matches to the error in this case. ------------------------------------------------------------------------ r367359 | mav | 2020-11-04 18:57:40 -0800 (Wed, 04 Nov 2020) | 5 lines MFC r364038: Enable hw.pci.enable_aspm tunable by default. While effects on power saving is only a guess, effects on hot-plug are clearly visible. Lets try to enable it and see what happen. ------------------------------------------------------------------------ r367366 | bz | 2020-11-05 03:11:50 -0800 (Thu, 05 Nov 2020) | 6 lines MFC r364305: For consistency and to avoid any problems getting past the 31bit boundry change the last two IF_Mbps(2500) and additionally one IF_Mbps(5000) to ULL as well. ------------------------------------------------------------------------ r367367 | bz | 2020-11-05 03:19:31 -0800 (Thu, 05 Nov 2020) | 14 lines MFC r365333: cam_sim: harmonize code related to acquiring a mtx cam_sim_free(), cam_sim_release(), and cam_sim_hold() all assign a mtx variable during declaration and then if NULL or the mtx is held may re-asign the variable and/or acquire/release a lock. Harmonize the code, avoiding double assignments and make it look the same for all three function (with cam_sim_free() not needing an extra case). No functional changes intended. ------------------------------------------------------------------------ r367369 | bz | 2020-11-05 03:33:23 -0800 (Thu, 05 Nov 2020) | 8 lines MFC r365334: umass: fix a cam_sim leak in error case While debugging a hang I noticed that in case of error in umass_cam_attach_sim() we miss a cam_sim_free() call. Added that to not leak resources. ------------------------------------------------------------------------ r367370 | bz | 2020-11-05 03:37:14 -0800 (Thu, 05 Nov 2020) | 8 lines MFC r365335: umass: enhance debugging Investigating a hang I found having some more error information available would be helpful, so be more verbose and also tell cam/xpt status in case of error/panic. ------------------------------------------------------------------------ r367371 | bz | 2020-11-05 03:56:49 -0800 (Thu, 05 Nov 2020) | 17 lines MFC r365633: iwm: fix regression from r365419 (ieee80211_media_change()) In r365419 ieee80211_media_change() callers were updated to not longer act on the obselete ENETRESET return code. While in the old days iwm has done a stop/init cycle in these cases, this was not executed since r193340. As a consequence simplify iwm code as well by passing ieee80211_media_change() right to ieee80211_vap_attach() as there is no more need for a local implementation. The actual problem was fixed in stable/12 since r365608; this just reduces changes to HEAD. PR: 248955 ------------------------------------------------------------------------ r367373 | bz | 2020-11-05 04:08:04 -0800 (Thu, 05 Nov 2020) | 12 lines MFC r366112: Provide MS() and SM() macros for 80211 and wireless drivers. We have (two versions) of MS() and SM() macros which we use throughout the wireless code. Change all but three places (ath_hal, rtwn, and rsu) to the newly provided _IEEE80211_MASKSHIFT() and _IEEE80211_SHIFTMASK() macros. Also change one internal case using both _S and _M instead of just _S away from _M (one of the reasons rtwn and rsu were not changed). This was done semi-mechanically. No functional changes intended. ------------------------------------------------------------------------ r367374 | bz | 2020-11-05 04:10:24 -0800 (Thu, 05 Nov 2020) | 9 lines MFC r366522: 80211: non-functional changes Sort a few VHT160 and 80+80 lines, update some comments, and remove a superfluous ','. No functional changes intended. ------------------------------------------------------------------------ r367375 | bz | 2020-11-05 04:12:26 -0800 (Thu, 05 Nov 2020) | 9 lines MFC r366524: 80211: ifconfig replace MS() with _IEEE80211_MASKSHIFT() As we did in the kernel in r366112 replace the MS() macro with the version(s) added to the kernel: _IEEE80211_MASKSHIFT(). Also provide its counter part. This will later allow use to use other macros defined in net80211 headers here in ifconfig. ------------------------------------------------------------------------ r367376 | bz | 2020-11-05 04:14:51 -0800 (Thu, 05 Nov 2020) | 7 lines MFC r366525: net80211: whitespace Fix indentation for the multi-line copies of ieee80211_add_channel_list_5ghz() for the 3 bands. ------------------------------------------------------------------------ r367377 | bz | 2020-11-05 04:16:22 -0800 (Thu, 05 Nov 2020) | 22 lines MFC r366800: net80211: update for (more) VHT160 support Implement two macros IEEE80211_VHTCAP_SUPP_CHAN_WIDTH_IS_160MHZ() and its 80+80 counter part to check in vhtcaps for appropriate levels of support and use the macros throughout the code. Add vht160_chan_ranges/is_vht160_valid_freq and handle analogue to vht80 in various parts of the code. Add ieee80211_add_channel_cbw() which also takes the CBW flag fields and make the former ieee80211_add_channel() a wrapper to it. With the CBW flags we can add HT/VHT channels passing them to getflags() for the 2/5ghz functions. In ifconfig(8) add the regdomain_addchans() support for VHT160 and VHT80P80. With this (+ regdoain.xml updates) VHT160 channels can be configured, listed, and pass regdomain where appropriate. ------------------------------------------------------------------------ r367378 | bz | 2020-11-05 04:17:50 -0800 (Thu, 05 Nov 2020) | 13 lines MFC r366817: net80211: factor out the priv(9) checks into OS specifc code. Factor out the priv(9) checks into OS specifc code so other OSes can equally implement them. This sorts out those XXX in the net80211 code. We provide 3 arguments (cmd, vap, ifp) where available to the functions, in order to allow other OSes to use that data but also in case we'd add auditing to these check to have the information available. For now the arguments are marked __unused. PR: 249403 ------------------------------------------------------------------------ r367380 | bz | 2020-11-05 05:38:26 -0800 (Thu, 05 Nov 2020) | 12 lines MFC r366523: LinuxKPI: add a bitfield.h implementation. This code was iteratively implemented during the work on various WiFi drivers -- from individual functions to a macro-created implementations for the various bit sized needed (and then extended to more for comepleteness). Some of the bit combinations do not seem to make sense so are left out. The __bf_shf(x) was obtained from D26681 by manu. ------------------------------------------------------------------------ r367381 | bz | 2020-11-05 05:43:06 -0800 (Thu, 05 Nov 2020) | 12 lines MFC r366623: ip_mroute: fix the viftable export sysctl It seems that in r354857 I got more than one thing wrong. Convert the SYSCTL_OPAQUE to a SYSCTL_PROC to properly export the these days allocated and not longer static per-vnet viftable array. This fixes a problem with netstat -g which would show bogus information for the IPv4 Virtual Interface Table. PR: 246626 ------------------------------------------------------------------------ r367382 | bz | 2020-11-05 05:45:26 -0800 (Thu, 05 Nov 2020) | 7 lines MFC r366799: clk: fix indentation Just fix indentation of an if() clause. No functional changes intended. ------------------------------------------------------------------------ r367385 | bz | 2020-11-05 07:27:38 -0800 (Thu, 05 Nov 2020) | 10 lines MFC r366268 (and epoch parts of r357093): rtwn: narrow the epoch area Rather than placing the epoch around the entire receive loop which might call into rtwn_rx_frame() and USB and sleep, split the loop into two and leave us with one unlock/lock cycle as well. PR: 249925 ------------------------------------------------------------------------ r367396 | jhb | 2020-11-05 11:37:56 -0800 (Thu, 05 Nov 2020) | 6 lines MFC 361810: Refer to AES-CBC as "aes-cbc" rather than "rijndael-cbc" for IPsec. At this point, AES is the more common name for Rijndael128. setkey(8) will still accept the old name, and old constants remain for compatiblity. ------------------------------------------------------------------------ r367401 | jhb | 2020-11-05 14:35:45 -0800 (Thu, 05 Nov 2020) | 4 lines MFC 365055: Fix a buffer overrun. getln() returns 'len' valid characters. line[len] is out of bounds. ------------------------------------------------------------------------ r367402 | melifaro | 2020-11-05 14:41:54 -0800 (Thu, 05 Nov 2020) | 6 lines MFC r367114. Fix use-after-free in icmp6_notify_error(). Reported by: Maxime Villard ------------------------------------------------------------------------ r367405 | jhb | 2020-11-05 15:28:46 -0800 (Thu, 05 Nov 2020) | 5 lines MFC 365280: Pass a valid mode with O_CREATE to open(2). CheriABI is pickier about the arguments to open(2) and crashes with a fault if a mode isn't passed to an open() when O_CREATE is specified. ------------------------------------------------------------------------ r367408 | jhb | 2020-11-05 16:07:46 -0800 (Thu, 05 Nov 2020) | 13 lines MFC 365842,365844: Remove support for setting some obscure fields. 365842: Remove support for setting some obscure fields. Don't permit setting the exception bitmap or VMCS entry interrupt information. These are not generally useful to set. If it is needed in the future, dedicated pseudo registers can be added for these that would be used with vm_set_register(). 365844: Remove no longer used variable. ------------------------------------------------------------------------ r367411 | kib | 2020-11-05 16:35:36 -0800 (Thu, 05 Nov 2020) | 3 lines MFC r366978: xhci: Handle the case when MSI-X BAR is the same as IO BAR. ------------------------------------------------------------------------ r367412 | 0mp | 2020-11-05 23:14:04 -0800 (Thu, 05 Nov 2020) | 7 lines MFC r367299: Fix a typo in the description of WITH_DEBUG_PORTS For each origin listed in WITH_DEBUG_PORTS, the ports framework sets WITH_DEBUG instead of WITH_DEBUG_PORTS. ------------------------------------------------------------------------ r367414 | 0mp | 2020-11-05 23:15:04 -0800 (Thu, 05 Nov 2020) | 4 lines MFC r367300: build.7: Mention etcupdate(8) alongside mergemaster(8) ------------------------------------------------------------------------ r367424 | jhb | 2020-11-06 09:52:04 -0800 (Fri, 06 Nov 2020) | 2 lines MFC 365642: Add constant for the DE_CFG MSR on AMD CPUs. ------------------------------------------------------------------------ r367446 | mav | 2020-11-07 05:16:11 -0800 (Sat, 07 Nov 2020) | 6 lines MFC r367022: Fix asymmetry in devstat(9) calls by GEOM. Before this GEOM passed bio pointer to transaction end, but not start. It was irrelevant until devstat(9) got DTrace hooks, that appeared to provide bio pointer on I/O completion, but not on submission. ------------------------------------------------------------------------ r367449 | jhb | 2020-11-07 08:20:37 -0800 (Sat, 07 Nov 2020) | 6 lines MFC 366296: Avoid a dubious assignment to bio_data in aio_qbio(). A user pointer is not a suitable value for bio_data and the next block of code always overwrites bio_data anyway. Just use cb->aio_buf directly in the call to vm_fault_quick_hold_pages(). ------------------------------------------------------------------------ r367450 | bz | 2020-11-07 08:34:21 -0800 (Sat, 07 Nov 2020) | 7 lines MFC r367326: net80211: fix a typo Correct a typo referring to the wrong flags in a comment. No functional changes. ------------------------------------------------------------------------ r367451 | bz | 2020-11-07 08:35:48 -0800 (Sat, 07 Nov 2020) | 11 lines MFC r367327: arm64: implement bs_sr_ Implement the bs_sr_ generic functions based on the generic mips implementation calling the generic bs_w_ functions in a loop. ral(4) (rt2860.c) panics in RAL_SET_REGION_4() because bs_sr_4() is NULL. It seems ral(4) and ti(4) might be the only consumers of these functions I could find quickly so keeping them in C rather than asm. ------------------------------------------------------------------------ r367457 | dim | 2020-11-07 10:10:59 -0800 (Sat, 07 Nov 2020) | 7 lines MFC r344855 (by jhb): Drop "All rights reserved" from my copyright statements. Reviewed by: rgrimes Differential Revision: https://reviews.freebsd.org/D19485 ------------------------------------------------------------------------ r367458 | dim | 2020-11-07 10:15:29 -0800 (Sat, 07 Nov 2020) | 16 lines MFC r340385 (by emaste): strings: enter capability mode when operating on stdin Reviewed by: oshogbo Sponsored by: The FreeBSD Foundation MFC r340391 (by emaste): Revert r340385, strings capability mode This needs to be reworked for bootstrapping. (This is a record-only merge, so these revisions no longer show up in "svn mergeinfo --show-revs=eligible" output.) ------------------------------------------------------------------------ r367462 | dim | 2020-11-07 11:55:03 -0800 (Sat, 07 Nov 2020) | 353 lines Sync up elftoolchain with head, except for the capsicum-related commits, which are incompatible with stable/12. MFC r345360 (by oshogbo): strings: do not depend on stdin Instead of depending on one stdin FILE structure and use freopen(3), pass to the functions appropriate FILE structure. Reviewed by: cem Discussed with: emaste Differential Revision: https://reviews.freebsd.org/D18037 MFC r345361 (by oshogbo): strings: do not continue if getc or getcharacter returns EOF Reported by: cem MFC r345362 (by oshogbo): Fix powerpc and arm builds after r345361. Reported by: jenkins MFC r345364 (by oshogbo): In case of ENCODING_8BIT the EOF code will be pass to putchar. EOF check should be done before (uint8_t)c > 127 test. Reported by: cem MFC r345431 (by oshogbo): strings: return an error code and the char value separately If we returning 32 bits value it's hard to distinguish if the returned value is a valid one or if its an error (in case of EOF). For that reason separate exit code of the function from the returned character. Reported by: cem, se MFC r346323 (by emaste): readelf: speed up readelf -wo Use an array instead of STAILQ, and sort at the end instead of while adding new elements. PR: 212539 Submitted by: Bora ?zarslan Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC r346327 (by emaste): readelf: use size_t for object counts PR: 212539 Reported by: cem Sponsored by: The FreeBSD Foundation MFC r348776 (by csjp): Teach readelf about some OpenBSD ELF program headers - Add constants for OpenBSD wxneeded, bootdata and randomize to the FreeBSD elf_common.h file. This is the file that gets used by the elftoolchain library. - Update readelf and elfdump utilities to decode these program headers if they are encountered. Note: FreeBSD has it's own version of elfdump(1), which will be updated in a subsequent commit. I am adding it here anyway because this diff is going to be submitted upstream. Discussed with: emaste Reviewed by: imp MFC afer: 2 weeks Differential Revision: https://reviews.freebsd.org/D20548 M contrib/elftoolchain/elfdump/elfdump.c M contrib/elftoolchain/readelf/readelf.c M sys/sys/elf_common.h MFC r349510 (by luporl): [PowerPC64] readelf: print description for 'e_flags' in ELF header (ABI type) This prints out description text with the meaning of 'Flags' value in PowerPC64. Example: $ readelf -h ~/tmp/t1-Flag2 ELF Header: Magic: 7f 45 4c 46 02 02 01 09 00 00 00 00 00 00 00 00 Class: ELF64 Data: 2's complement, big endian Version: 1 (current) OS/ABI: FreeBSD ABI Version: 0 Type: EXEC (Executable file) Machine: PowerPC 64-bit Version: 0x1 Entry point address: 0x10010000 Start of program headers: 64 (bytes into file) Start of section headers: 209368 (bytes into file) Flags: 0x2, OpenPOWER ELF V2 ABI Size of this header: 64 (bytes) Size of program headers: 56 (bytes) Number of program headers: 10 Size of section headers: 64 (bytes) Number of section headers: 34 Section header string table index: 31 Submitted by: alfredo.junior_eldorado.org.br Reviewed by: luporl Differential Revision: https://reviews.freebsd.org/D20782 MFC r350511 (by emaste): readelf: decode NT_GNU_PROPERTY_TYPE_0 / GNU_PROPERTY_X86_FEATURE_1_AND These bits are used for Intel CET IBT/Shadow Stack. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20516 MFC r354544 (by emaste): elfcopy/strip: Ensure sections have required alignment on output Object files may specify insufficient alignment on certain sections, for example due to a bug in NASM[1]. When we detect that case in elfcopy or strip, emit a warning and increase the alignment to the minimum required. The NASM bug was fixed in 2015[2], but we might as well have this fixup (and warning) in elfcopy in case we encounter such a file for any other reason. This might be reworked somewhat upstream - see ELF Tool Chain ticket 485[3]. [1] https://bugzilla.nasm.us/show_bug.cgi?id=3392307 [2] https://repo.or.cz/w/nasm.git/commit/1f0cb0f2c1ba632c0fab02424928cfb756a9160c [3] https://sourceforge.net/p/elftoolchain/tickets/485/ PR: 198611 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D2292 MFC r357540 (by markj): readelf: Fix a double close of the input file. The caller of dump_object() is responsible for opening the file, let it be responsible for closing too. CID: 1411588 Sponsored by: The FreeBSD Foundation MFC r357541 (by markj): readelf: Fix the check for an error from realloc(). Use err() instead of errx() while here, since realloc() sets errno. CID: 1401326 Sponsored by: The FreeBSD Foundation MFC r358499 (by emaste): readelf: add PROTMAX_DISABLE and STKGAP_DISABLE From r349609 (PROTMAX_DISABLE) and r354790 (STKGAP_DISABLE). Commited upstream (in a slightly different form) as r3831. Sponsored by: The FreeBSD Foundation MFC r358631 (by emaste): Reserve WXNEEDED ELF feature control flag This will be used to tag binaries that require W+X mappings, in advance of the ability to prevent W^X in mmap/mprotect. There is still some discussion about the flag's name, but the ABI won't change even if the name does (as kib pointed out in the review). Reviewed by: csjp, kib Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D23909 MFC r358637 (by emaste): readelf: check note namesz and descsz Previously corrupt note namesz or descsz (perhaps caused by readelf's current lack of endian support for notes) resulted in a crash. Check that namesz and descsz do not extend beyond the end of the buffer before trying to access name and desc data. Reported by: jhb Sponsored by: The FreeBSD Foundation MFC r358639 (by emaste): readelf: simplify namesz / descsz checks Sponsored by: The FreeBSD Foundation MFC r358685 (by emaste): libelf: rationalize error handling in ELF note conversion Previously _libelf_cvt_NOTE_tom (to host) returned false if a note's namesz + descsz exceeded the buffer size, while _libelf_cvt_NOTE_tof (to file) silently truncated. Return false in the latter case too. Sponsored by: The FreeBSD Foundation MFC r358706 (by emaste): readelf: add XEN_ELFNOTE_PHYS32_ENTRY note See r336469 for details. Sponsored by: The FreeBSD Foundation MFC r358708 (by emaste): readelf: decode and print Xen ELF note strings Sponsored by: The FreeBSD Foundation MFC r358713 (by emaste): readelf: print GNU Build-ID Sponsored by: The FreeBSD Foundation MFC r359189 (by emaste): readelf: simplify Xen string note printing Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24140 MFC r361662 (by emaste): readelf: add more DT_FLAGS_1 flags Reference: https://docs.oracle.com/cd/E36784_01/html/E36857/chapter6-42444.html > DF_1_SINGLETON Singleton symbols exist. > DF_1_STUB Object is a stub. > DF_1_PIE Object is a position-independent executable. Sponsored by: The FreeBSD Foundation MFC r364517 (by kib): Reserve FreeBSD ELF feature control bit LA48 to control VA layout on amd64. Tested by: pho Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D25273 MFC r365489 (by bdragon): [PowerPC64LE] PPC64LE support for libelf. Fix native detection when building on powerpc64le. I will be submitting this and r361104 upstream shortly. Sponsored by: Tag1 Consulting, Inc. MFC r366977 (by emaste): libelf: add compression header support GNU and Oracle libelf implementations added support for section compression, intended to reduce the size of DWARF debug info (which might be an order of magnitude larger than the code). There are two compressed ELF section formats: 1. Old GNU - sections are renmaed to start with 'z'. Section contains a magic number, uncompressed size, and compressed data. 2. Oracle and New GNU - compressed sections use the SHF_COMPRESSED flag. The compression header contains the compression type, uncompressed size, and uncompressed alignment. The second style is preferred and this change implements only that one. Submitted by: Tiger Gao Reviewed by: markj Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D24566 MFC r367209 (by emaste): readelf: Add -z decompression support Compatible with GNU readelf, -z decompresses sections displayed by -x or -p. ELF Tool Chain ticket #555 https://sourceforge.net/p/elftoolchain/tickets/555/ Submitted by: Tiger Gao Reviewed by: markj Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D26909 MFC r367238 (by bdragon): Fix 32-bit build after r367209 Fix build on systems with a 32-bit size_t. Since it's being passed as a pointer, a 64-bit write to it will overflow. MFC with: r367209 MFC r367322 (by dim): Merge elftoolchain r3877 (by jkoshy): Incorporate fixes from Dimitry Andric: - Use a BUFFER_GROW() macro to avoid rounding errors in capacity calculations. - Fix a bug introduced in [r3531]. - Fix handling of nested template parameters. Ticket: #581 This should fix a number of assertions on elftoolchain's cxxfilt, and allow it to correctly demangle several names that it could not handle before. Obtained from: https://sourceforge.net/p/elftoolchain/code/3877/ PR: 250702 ------------------------------------------------------------------------ r367463 | dim | 2020-11-07 11:57:19 -0800 (Sat, 07 Nov 2020) | 20 lines MFC r367323: Update libcxxrt's private copy of elftoolchain demangler This updates the private copy of libelftc_dem_gnu3.c in libcxxrt with the most recent version from upstream r3877. Similar to r367322, this fixes a number of possible assertions, and allows it to correctly demangle several names that it could not handle before. PR: 250702 MFC r367337: Make vector-related functions in libcxxrt's demangler static Follow-up to r367323 by re-adding static to a number of the functions copied from elftc's libelftc_vstr.c. This was requested by upstream. PR: 250702 ------------------------------------------------------------------------ r367468 | mav | 2020-11-07 16:30:53 -0800 (Sat, 07 Nov 2020) | 6 lines MFC r367041: Fix incorrect constants of target tag action. ocs_scsi_recv_cmd() receives the flags after ocs_get_flags_fcp_cmd(), which translates them from FCP_TASK_ATTR_* to OCS_SCSI_CMD_*. As result non-SIMPLE requests turned into HEAD or ORDERED depending on direction. ------------------------------------------------------------------------ r367470 | kib | 2020-11-07 16:59:09 -0800 (Sat, 07 Nov 2020) | 3 lines MFC r367249: Cleanup of net/if_media.c: switch to ANSI C function definitions. ------------------------------------------------------------------------ r367471 | kib | 2020-11-07 17:00:10 -0800 (Sat, 07 Nov 2020) | 3 lines MFC r367250: Cleanup of net/if_media.c: some style. ------------------------------------------------------------------------ r367472 | kib | 2020-11-07 17:01:27 -0800 (Sat, 07 Nov 2020) | 3 lines MFC r367251: Cleanup of net/if_media.c: simplify cleanup loop in ifmedia_removeall(). ------------------------------------------------------------------------ r367473 | kib | 2020-11-07 17:02:40 -0800 (Sat, 07 Nov 2020) | 3 lines MFC r367252: net/if_media.c: improve IFMEDIA_DEBUG output. ------------------------------------------------------------------------ r367482 | 0mp | 2020-11-08 02:08:20 -0800 (Sun, 08 Nov 2020) | 8 lines MFC r367256: Do not document default locations of the OpenBSD and NetBSD ports trees Our own Ports Collection is not targeting those systems at the moment, so let's stop documenting bits specific to OpenBSD and NetBSD in the ports documentation. Especially, that it might bit rot one day. ------------------------------------------------------------------------ r367489 | emaste | 2020-11-08 09:10:12 -0800 (Sun, 08 Nov 2020) | 9 lines MFC r367042: mergemaster: Clarify installed and updated versions Describe "diff installed new" as "Displaying differences between installed and new." Previously mergemaster described them in the opposite order. PR: 249214 Reported by: Yuri Victorovich ------------------------------------------------------------------------ r367504 | kib | 2020-11-08 16:39:48 -0800 (Sun, 08 Nov 2020) | 3 lines MFC r367285: ifconfig: properly detect invalid mediaopt keywords. ------------------------------------------------------------------------ r367505 | mav | 2020-11-08 17:13:28 -0800 (Sun, 08 Nov 2020) | 17 lines MFC r367052: Enable bioq 'car limit' added at r335066 at 128 bios. Without the 'car limit' enabled (before this), running sequential ZFS scrub on HDD without command queuing support, I've measured latency on concurrent random reads reaching 4 seconds (surprised that not more). Enabling this reduced the latency to 65 milliseconds, while scrub still doing ~180MB/s. For disks with command queuing this does not make much difference (if any), since most time all the requests are queued down to the disk or HBA, leaving nothing in the queue to sort. And even if something does not fit, staying on the queue, it is likely not for long. To not limit sorting in such bursty scenarios I've added batched counter zeroing when the queue is getting empty. The internal scheduler of the SAS HDD I was testing seems to be even more loyal to random I/O, reducing the scrub speed to ~120MB/s. So in case somebody worried this is limit is too strict -- it actually looks relaxed. ------------------------------------------------------------------------ r367506 | mav | 2020-11-08 17:14:22 -0800 (Sun, 08 Nov 2020) | 2 lines MFC r367261: Add icc (Isochronous Command Completion) ccb_ataio field. ------------------------------------------------------------------------ r367507 | delphij | 2020-11-08 17:38:02 -0800 (Sun, 08 Nov 2020) | 2 lines MFC r358477,365113,366767: arcmsr(4) 1.50.00.00. ------------------------------------------------------------------------ r367510 | delphij | 2020-11-08 17:52:15 -0800 (Sun, 08 Nov 2020) | 2 lines MFC r366781, r366866: Implement ptsname_r. ------------------------------------------------------------------------ r367511 | delphij | 2020-11-08 17:55:30 -0800 (Sun, 08 Nov 2020) | 2 lines Bump __FreeBSD_version after ptsname_r addition. ------------------------------------------------------------------------ r367515 | delphij | 2020-11-08 21:17:23 -0800 (Sun, 08 Nov 2020) | 4 lines MFC r367005: MFV r366990: less v563. Relnotes: yes ------------------------------------------------------------------------ r367518 | 0mp | 2020-11-09 01:30:49 -0800 (Mon, 09 Nov 2020) | 4 lines MFC r367420: Use Cm macros instead of Ar when referring to a specific memory disk type ------------------------------------------------------------------------ r367523 | markj | 2020-11-09 05:54:29 -0800 (Mon, 09 Nov 2020) | 5 lines MFC r366576: syslogd: Avoid trimming host names in RFC 5424 mode PR: 250014 ------------------------------------------------------------------------ r367524 | markj | 2020-11-09 06:15:06 -0800 (Mon, 09 Nov 2020) | 8 lines Add hmac_init_ipad() and hmac_init_opad() This is a merge of a small portion of r359374 which makes it easier to maintain OpenCrypto drivers in stable/12. No functional change intended; this is a direct commit to stable/12. Discussed with: jhb ------------------------------------------------------------------------ r367525 | markj | 2020-11-09 07:36:11 -0800 (Mon, 09 Nov 2020) | 3 lines MFC r367386: Add qat(4) ------------------------------------------------------------------------ r367526 | markj | 2020-11-09 07:37:12 -0800 (Mon, 09 Nov 2020) | 3 lines MFC r367387, r367422: Add firmware modules for qat(4) ------------------------------------------------------------------------ r367527 | markj | 2020-11-09 07:37:57 -0800 (Mon, 09 Nov 2020) | 3 lines MFC r367388: cryptotest: Add qat(4) coverage ------------------------------------------------------------------------ r367528 | mhorne | 2020-11-09 10:07:21 -0800 (Mon, 09 Nov 2020) | 3 lines MFC r366526: Handle kmod local relocation failures gracefully ------------------------------------------------------------------------ r367529 | jhibbits | 2020-11-09 13:19:17 -0800 (Mon, 09 Nov 2020) | 4 lines MFC r367355: Fix UMA alignment for COP2 context structure. ------------------------------------------------------------------------ r367540 | bz | 2020-11-09 15:38:39 -0800 (Mon, 09 Nov 2020) | 9 lines MFC r367435,367539: usb_hub: giving up port reset - device vanished Improve the output of the recently often experienced debug message in order to gather further data. PR: 237666 ------------------------------------------------------------------------ r367546 | 0mp | 2020-11-09 23:47:24 -0800 (Mon, 09 Nov 2020) | 28 lines MFC r367291: rc.d/zfs: Add shutdown to KEYWORDS The problem is that without walling /etc/rc.d/zfs on shutdown, resources associated with ZFS mounts are not freed and the jails will remain in dying state. In addition, the dataset is now in a dangling state, as the jail it is attached to is dying. A known workaround for jails was to add the following lines to /etc/jail.conf, to make sure that "service zfs stop" is run when the jail is stopped: exec.stop = "/bin/sh /etc/rc.shutdown"; exec.stop += "/usr/sbin/service zfs stop || /usr/bin/true"; While the workaround seems to be okay-ish for the jail situation, it is still unclean. However, for physical hosts this may wreak havoc with the pool if shared spares are used, as "zfs unshare" is never invoked on shutdown. PR: 147444 Submitted by: Markus Stoff Reported by: Mykah Reviewed by: cy Approved by: cy (src) Relnotes: yes ------------------------------------------------------------------------ r367547 | 0mp | 2020-11-10 00:33:45 -0800 (Tue, 10 Nov 2020) | 30 lines MFC r367072: Mount devfs inside a beinstall(8) chroot It turns out that without /dev/null beinstall is not able to complete and instead exits with messages similar to these: -------------------------------------------------------------- >>> Installing kernel GENERIC completed on Sun Oct 25 17:47:37 CET 2020 -------------------------------------------------------------- /tmp/beinstall.JleGoP/mnt: Inspecting dirs /usr/src /usr/obj/usr/src/amd64.amd64 --- installworld --- make[1]: "/usr/obj/usr/src/amd64.amd64/toolchain-metadata.mk" line 1: Using cached toolchain metadata from build at t480 on Sun Oct 25 15:53:28 CET 2020 make[2]: "/dev/null" line 2: Need an operator make[2]: Fatal errors encountered -- cannot continuemake[1]: "/usr/src/Makefile.inc1" line 593: CPUTYPE global should be set with ?=. Cleaning up ... umount -f /tmp/beinstall.JleGoP/mnt/usr/src /tmp/beinstall.JleGoP/mnt/usr/obj/usr/src/amd64.amd64 /tmp/beinstall.JleGoP/mnt Destroyed successfully error: Installworld failed! Upon a bit of debugging, it turns out that /dev/null inside the chroot environment is full random bytes, which cause "make -f /dev/null" to misbehave. Mounting a proper devfs inside the chroot seems to be the most appropriate way to fix it. will@ also noted that this change requires that whatever is needed in devfs must exist in the old kernel. Approved by: will ------------------------------------------------------------------------ r367548 | kib | 2020-11-10 00:59:55 -0800 (Tue, 10 Nov 2020) | 3 lines MFC r367296: if_media.c SIOCGMEDIAX handler: improve loop ------------------------------------------------------------------------ r367550 | 0mp | 2020-11-10 02:19:55 -0800 (Tue, 10 Nov 2020) | 16 lines MFC r351863: rc: Honor ${name}_env when a custom *_cmd is defined (e.g., start_cmd) A user may set ${name}_env variable in rc.conf(5) in order to set additional environment variables for a service command. Unfortunately, at the moment this variable is only honored when the command is specified via the command variable. Those additional environment variables coming from ${name}_env are never set if the service is started via the ${rc_arg}_cmd variable (for example start_cmd). PR: 239692 Reviewed by: bcr, jilles Approved by: src (jilles) Requested by: koobs ------------------------------------------------------------------------ r367553 | ae | 2020-11-10 04:13:18 -0800 (Tue, 10 Nov 2020) | 11 lines MFC r366908 (modified for stable/12 KBI): Add dtrace SDT probe ipfw:::rule-matched. It helps to reduce complexity with debugging of large ipfw rulesets. Also define several constants and translators, that can by used by dtrace scripts with this probe. Obtained from: Yandex LLC Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D26879 ------------------------------------------------------------------------ r367554 | ae | 2020-11-10 04:45:59 -0800 (Tue, 10 Nov 2020) | 8 lines MFC r366695: Implement SIOCGIFALIAS. It is lightweight way to check if an IPv4 address exists. Submitted by: Roy Marples Differential Revision: https://reviews.freebsd.org/D26636 ------------------------------------------------------------------------ r367556 | hselasky | 2020-11-10 05:10:15 -0800 (Tue, 10 Nov 2020) | 8 lines MFC r364860 and r366996: Implement extensible arrays API using the existing radix tree implementation in the LinuxKPI. Differential Revision: https://reviews.freebsd.org/D25101 Reviewed by: kib @ Sponsored by: Mellanox Technologies // NVIDIA Networking ------------------------------------------------------------------------ r367558 | hselasky | 2020-11-10 05:15:53 -0800 (Tue, 10 Nov 2020) | 7 lines MFC r367096: Add new USB IDs. Submitted by: aleksi.kaalinpaa@kapsi.fi PR: 250675 Sponsored by: Mellanox Technologies // NVIDIA Networking ------------------------------------------------------------------------ r367560 | hselasky | 2020-11-10 05:18:44 -0800 (Tue, 10 Nov 2020) | 6 lines MFC r367236: Implement the USB_GET_DEVICEINFO ioctl(2) for uhid(4). Submitted by: pedro martelletto Sponsored by: Mellanox Technologies // NVIDIA Networking ------------------------------------------------------------------------ r367562 | hselasky | 2020-11-10 05:22:52 -0800 (Tue, 10 Nov 2020) | 18 lines MFC r367269: Fix for referencing file via its vnode in ibore. Use the native vnode lookup functions, instead of going via the LinuxKPI, because the file referenced is typically created outside the LinuxKPI, and the LinuxKPI's fdget() can only resolve file descriptor numbers which were created by itself. The vnode pointer is used as an identifier to identify XRCD handles which are sharing resources. This patch fixes the so-called XRCD support in ibcore for FreeBSD. Refer to ibv_open_xrcd(3) for more information how the file descriptor argument is used. Reviewed by: kib@ Sponsored by: Mellanox Technologies // NVIDIA Networking ------------------------------------------------------------------------ r367564 | hselasky | 2020-11-10 05:32:50 -0800 (Tue, 10 Nov 2020) | 7 lines MFC r366806: Add new USB quirk. PR: 250422 Submitted by: vidwer+fbsdbugs@gmail.com Sponsored by: Mellanox Technologies // NVIDIA Networking ------------------------------------------------------------------------ r367566 | hselasky | 2020-11-10 05:36:07 -0800 (Tue, 10 Nov 2020) | 6 lines MFC r366751: Remove ifdefs around IS_ALIGNED() definition in the LinuxKPI. Discussed with: manu@ Sponsored by: Mellanox Technologies // NVIDIA Networking ------------------------------------------------------------------------ r367571 | brooks | 2020-11-10 10:07:13 -0800 (Tue, 10 Nov 2020) | 19 lines MFC r367302: sysvshm: pass relevant uap members as arguments Alter shmget_allocate_segment and shmget_existing to take the values they want from struct shmget_args rather than passing the struct around. In general, uap structures should only be the interface to sys_ functions. This makes one small functional change and records the allocated space rather than the requested space. If this turns out to be a problem (e.g. if software tries to find undersized segments by exact size rather than using keys), we can correct that easily. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D27077 ------------------------------------------------------------------------ r367582 | kib | 2020-11-10 16:43:13 -0800 (Tue, 10 Nov 2020) | 5 lines MFC r367120: Check for process group change in tty_wait_background(). PR: 250701 ------------------------------------------------------------------------ r367586 | 0mp | 2020-11-11 03:25:14 -0800 (Wed, 11 Nov 2020) | 9 lines MFC r367097: Correct USB HID item in examples It turns out that examples were incorrectly referring to Volume_Up and Volume_Down, which are not defined at all. PR: 250683 ------------------------------------------------------------------------ r367591 | markj | 2020-11-11 06:06:45 -0800 (Wed, 11 Nov 2020) | 3 lines MFC r367335: amd64: Make it easier to configure exception stack sizes ------------------------------------------------------------------------ r367599 | vmaffione | 2020-11-11 13:27:16 -0800 (Wed, 11 Nov 2020) | 35 lines MFC r367093, r367117 iflib: add per-tx-queue netmap timer The way netmap TX is handled in iflib when TX interrupts are not used (IFC_NETMAP_TX_IRQ not set) has some issues: - The netmap_tx_irq() function gets called by iflib_timer(), which gets scheduled with tick granularity (hz). This is not frequent enough for 10Gbps NICs and beyond (e.g., ixgbe or ixl). The end result is that the transmitting netmap application is not woken up fast enough to saturate the link with small packets. - The iflib_timer() functions also calls isc_txd_credits_update() to ask for more TX completion updates. However, this violates the netmap requirement that only txsync can access the TX queue for datapath operations. Only netmap_tx_irq() may be called out of the txsync context. This change introduces per-tx-queue netmap timers, using microsecond granularity to ensure that netmap_tx_irq() can be called often enough to allow for maximum packet rate. The timer routine simply calls netmap_tx_irq() to wake up the netmap application. The latter will wake up and call txsync to collect TX completion updates. This change brings back line rate speed with small packets for ixgbe. For the time being, timer expiration is hardcoded to 90 microseconds, in order to avoid introducing a new sysctl. We may eventually implement an adaptive expiration period or use another deferred work mechanism in place of timers. Also, fix the timers usage to make sure that each queue is serviced by a different CPU. PR: 248652 Reported by: sg@efficientip.com ------------------------------------------------------------------------ r367602 | dim | 2020-11-11 14:15:25 -0800 (Wed, 11 Nov 2020) | 30 lines MFC r366683: Merge commit 35ecc7fe4 from llvm git (by Hubert Tong): [clang][Sema] Fix PR47676: Handle dependent AltiVec C-style cast Fix premature decision in the presence of type-dependent expression operands on whether AltiVec vector initializations from single expressions are "splat" operations. Verify that the instantiation is able to determine the correct cast semantics for both the scalar type and the vector type case. Note that, because the change only affects the single-expression case (and the target type is an AltiVec-style vector type), the replacement of a parenthesized list with a parenthesized expression does not change the semantics of the program in a program-observable manner. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D88526 This should fix 'Assertion failed: (isScalarType()), function getScalarTypeKind, file /usr/src/contrib/llvm-project/clang/lib/AST /Type.cpp, line 2146', when building the graphics/opencv-core port for powerpc64le. Requested by: pkubaj ------------------------------------------------------------------------ r367603 | dim | 2020-11-11 14:18:24 -0800 (Wed, 11 Nov 2020) | 38 lines MFC r367485: Merge commit 354d3106c from llvm git (by Kai Luo): [PowerPC] Skip combining (uint_to_fp x) if x is not simple type Current powerpc64le backend hits ``` Combining: t7: f64 = uint_to_fp t6 llc: llvm-project/llvm/include/llvm/CodeGen/ValueTypes.h:291: llvm::MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed. ``` This patch fixes it by skipping combination if `t6` is not simple type. Fixed https://bugs.llvm.org/show_bug.cgi?id=47660. Reviewed By: #powerpc, steven.zhang Differential Revision: https://reviews.llvm.org/D88388 This should fix the llvm assertion mentioned above when building the following ports for powerpc64le: * audio/traverso * databases/percona57-pam-for-mysql * databases/percona57-server * emulators/citra * emulators/citra-qt5 * games/7kaa * graphics/dia * graphics/mandelbulber * graphics/pcl-pointclouds * net-p2p/libtorrent-rasterbar * textproc/htmldoc Requested by: pkubaj ------------------------------------------------------------------------