aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Step 2.2:Gleb Smirnoff2020-05-027-117/+74
| | | | | | | | | | | | | o Shrink sglist(9) functions to work with multipage mbufs down from four functions to two. o Don't use 'struct mbuf_ext_pgs *' as argument, use struct mbuf. o Rename to something matching _epg. Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D24598 Notes: svn path=/head/; revision=360574
* Step 2.1: Build TLS workqueue from mbufs, not struct mbuf_ext_pgs.Gleb Smirnoff2020-05-024-30/+26
| | | | | | | | Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D24598 Notes: svn path=/head/; revision=360573
* Get rid of the mbuf self-pointing pointer.Gleb Smirnoff2020-05-022-9/+7
| | | | | | | | Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D24598 Notes: svn path=/head/; revision=360572
* Start moving into EPG_/epg_ namespace. There is only one flag, butGleb Smirnoff2020-05-023-5/+4
| | | | | | | | | | | next commit brings in second flag, so let them already be in the future namespace. Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D24598 Notes: svn path=/head/; revision=360571
* In mb_unmapped_compress() we don't need mbuf structure to keep data,Gleb Smirnoff2020-05-021-8/+4
| | | | | | | | | | | | | but we need buffer of MLEN bytes. This isn't just a simplification, but important fixup, because previous commit shrinked sizeof(struct mbuf) down below MSIZE, and instantiating an mbuf on stack no longer provides enough data. Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D24598 Notes: svn path=/head/; revision=360570
* Continuation of multi page mbuf redesign from r359919.Gleb Smirnoff2020-05-0212-155/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The following series of patches addresses three things: Now that array of pages is embedded into mbuf, we no longer need separate structure to pass around, so struct mbuf_ext_pgs is an artifact of the first implementation. And struct mbuf_ext_pgs_data is a crutch to accomodate the main idea r359919 with minimal churn. Also, M_EXT of type EXT_PGS are just a synonym of M_NOMAP. The namespace for the newfeature is somewhat inconsistent and sometimes has a lengthy prefixes. In these patches we will gradually bring the namespace to "m_epg" prefix for all mbuf fields and most functions. Step 1 of 4: o Anonymize mbuf_ext_pgs_data, embed in m_ext o Embed mbuf_ext_pgs o Start documenting all this entanglement Reviewed by: gallatin Differential Revision: https://reviews.freebsd.org/D24598 Notes: svn path=/head/; revision=360569
* Fix various Coverity-detected errors in nvme driverDavid Bright2020-05-027-17/+24
| | | | | | | | | | | | | | | This fixes several Coverity-detected errors in the nvme driver. CIDs addressed: 1008344, 1009377, 1009380, 1193740, 1305470, 1403975, 1403980 Reviewed by: imp@, vangyzen@ MFC after: 5 days Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24532 Notes: svn path=/head/; revision=360568
* Resolve conflict between the fusefs(5) and mac_bsdextended(4) testsAlan Somers2020-05-022-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mac_bsdextended(4), when enabled, causes ordinary operations to send many more VOP_GETATTRs to file system. The fusefs tests expectations aren't written with those in mind. Optionally expecting them would greatly obfuscate the fusefs tests. Worse, certain fusefs functionality (like attribute caching) would be impossible to test if the tests couldn't expect an exact number of GETATTR operations. This commit resolves that conflict by making two changes: 1. The fusefs tests will now check for mac_bsdextended, and skip if it's enabled. 2. The mac_bsdextended tests will now check whether the module is enabled, not merely loaded. If it's loaded but disabled, the tests will automatically enable it for the duration of the tests. With these changes, a CI system can achieve best coverage by loading both fusefs and mac_bsdextended at boot, and setting security.mac.bsdextended.enabled=0 PR: 244229 Reported by: lwhsu Reviewed by: cem MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D24577 Notes: svn path=/head/; revision=360567
* kern_exec.c: Produce valid code ifndef SYS_PROTO_HConrad Meyer2020-05-021-1/+1
| | | | | | | Reported by: Coccinelle Notes: svn path=/head/; revision=360566
* Actually remove support for Triple DES, not just the warning.John Baldwin2020-05-021-3/+0
| | | | | | | Missed in r360562. Notes: svn path=/head/; revision=360565
* Cleanup LUN addition/removal.Alexander Motin2020-05-026-485/+185
| | | | | | | | | | | | | | - Make ctl_add_lun() synchronous. Asynchronous addition was used by Copan's proprietary code long ago and never for upstream FreeBSD. - Move LUN enable/disable calls from backends to CTL core. - Serialize LUN modification and partially removal to avoid double frees. - Slightly unify backends code. MFC after: 2 weeks Sponsored by: iXsystems, Inc. Notes: svn path=/head/; revision=360564
* Document removal of deprecated algorithms from /dev/crypto.John Baldwin2020-05-021-0/+4
| | | | Notes: svn path=/head/; revision=360563
* Remove support for the algorithms deprecated in r348876.John Baldwin2020-05-022-109/+0
| | | | | | | | | | | | | | | | | | | | | | This removes support for the following algorithms: - ARC4 - Blowfish - CAST128 - DES - 3DES - MD5-HMAC - Skipjack Since /dev/crypto no longer supports 3DES, stop testing the 3DES KAT vectors in cryptotest.py. Reviewed by: cem (previous version) Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24346 Notes: svn path=/head/; revision=360562
* Don't pass bogus keys down for NULL algorithms.John Baldwin2020-05-022-5/+9
| | | | | | | | | | | | | | | | | | | | | The changes in r359374 added various sanity checks in sessions and requests created by crypto consumers in part to permit backend drivers to make assumptions instead of duplicating checks for various edge cases. One of the new checks was to reject sessions which provide a pointer to a key while claiming the key is zero bits long. IPsec ESP tripped over this as it passes along whatever key is provided for NULL, including a pointer to a zero-length key when an empty string ("") is used with setkey(8). One option would be to teach the IPsec key layer to not allocate keys of zero length, but I went with a simpler fix of just not passing any keys down and always using a key length of zero for NULL algorithms. PR: 245832 Reported by: CI Notes: svn path=/head/; revision=360560
* Print the fs last-mounted time too.Chuck Silvers2020-05-021-3/+5
| | | | | | | | | Reviewed by: mckusick Approved by: mckusick (mentor) Sponsored by: Netflix Notes: svn path=/head/; revision=360559
* Document removal of deprecated IPsec algorithms.John Baldwin2020-05-021-0/+5
| | | | Notes: svn path=/head/; revision=360558
* Remove support for IPsec algorithms deprecated in r348205 and r360202.John Baldwin2020-05-0211-202/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Examples of depecrated algorithms in manual pages and sample configs are updated where relevant. I removed the one example of combining ESP and AH (vs using a cipher and auth in ESP) as RFC 8221 says this combination is NOT RECOMMENDED. Specifically, this removes support for the following ciphers: - des-cbc - 3des-cbc - blowfish-cbc - cast128-cbc - des-deriv - des-32iv - camellia-cbc This also removes support for the following authentication algorithms: - hmac-md5 - keyed-md5 - keyed-sha1 - hmac-ripemd160 Reviewed by: cem, gnn (older verisons) Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24342 Notes: svn path=/head/; revision=360557
* Use the HSM SBI extension to halt CPUsMitchell Horne2020-05-011-0/+7
| | | | | | | Differential Revision: https://reviews.freebsd.org/D24498 Notes: svn path=/head/; revision=360554
* Use the HSM SBI extension to start APsMitchell Horne2020-05-011-1/+21
| | | | | | | | | | | | | | | | | | | The addition of the HSM SBI extension to OpenSBI introduces a new breaking change: secondary harts will remain parked in the firmware, until they are brought up explicitly via sbi_hsm_hart_start(). Add the call to do this, sending the secondary harts to mpentry. If the HSM extension is not present, secondary harts are assumed to be released by the firmware, as is the case for OpenSBI =< v0.6 and BBL. In the case that the HSM call fails we exclude the CPU, notify the user, and allow the system to proceed with booting. Reviewed by: markj (older version) Differential Revision: https://reviews.freebsd.org/D24497 Notes: svn path=/head/; revision=360553
* Add support for HSM SBI extensionMitchell Horne2020-05-012-0/+60
| | | | | | | | | | | | | | | | | The Hardware State Management (HSM) extension provides a set of SBI calls that allow the supervisor software to start and stop hart execution. The HSM extension has been implemented in OpenSBI and is present in the v0.7 release. [1] https://github.com/riscv/riscv-sbi-doc/blob/master/riscv-sbi.adoc Reviewed by: br Differential Revision: https://reviews.freebsd.org/D24496 Notes: svn path=/head/; revision=360552
* Make mpentry independent of _startMitchell Horne2020-05-011-7/+17
| | | | | | | | | | | | APs enter the kernel at the same point as the BSP, the _start routine. They then jump to mpentry, but not before storing the kernel's physical load address in the s9 register. Extract this calculation into its own routine, so that APs can be instructed to enter directly from mpentry. Differential Revision: https://reviews.freebsd.org/D24495 Notes: svn path=/head/; revision=360551
* Add KASSERT to ensure sane nsid.Warner Losh2020-05-011-1/+6
| | | | | | | | | All callers are currently filtering bad nsid to this function, however, we'll have undefined behavior if that's not true. Add the KASSERT to prevent that. Notes: svn path=/head/; revision=360550
* Rename ns notification function...Warner Losh2020-05-011-3/+3
| | | | | | | | This function is called whenever the namespace is added, deleted or changes. Update the name to reflect that. No functional change. Notes: svn path=/head/; revision=360549
* Document the passthru commands.Warner Losh2020-05-012-1/+71
| | | | | | | | Reviewed by: bcr@ (earlier version) Differential Revision: https://reviews.freebsd.org/D24639 Notes: svn path=/head/; revision=360547
* Various improvements to this man page:Warner Losh2020-05-011-34/+125
| | | | | | | | | | | | | | o Be consistent about device-id and namespace-id o Use consistent arg markup for these o document you can use disk names too o document nsid command better o document the idenntify command o add a couple of examples. Differential Revision: https://reviews.freebsd.org/D24638 Notes: svn path=/head/; revision=360546
* Redo r360540 to retain the ifndef sparc code, not delete it.Warner Losh2020-05-011-4/+10
| | | | | | | | | Also undo the BROKEN stuff, since it was based on the same misreading. Noticed by: Jens Schweikhardt Notes: svn path=/head/; revision=360543
* Spell LOADER correctly so we test lua build.Warner Losh2020-05-011-1/+1
| | | | Notes: svn path=/head/; revision=360541
* Remove more stray sparc64 ifdefs.Warner Losh2020-05-011-18/+4
| | | | | | | | | Also, dmabuf appears to only be set for sparc64 case, but there was a comment at its only use that says it was broken for some apple adapters. #ifdef it all of that out now that nothing sets it. Notes: svn path=/head/; revision=360540
* Catch up to arm/arm and sparc64 removal.Warner Losh2020-05-011-13/+2
| | | | Notes: svn path=/head/; revision=360539
* When we have an invalid build option, don't rm -rf the currentWarner Losh2020-05-011-1/+12
| | | | | | | | | | | directory. Add a quick sanity check to objdir before using it. It must start with /. If there was a make error getting it, report that and continue with the next target. If there was anything else, bail out. Notes: svn path=/head/; revision=360538
* [PowerPC] Set fixed boot1.elf load addressBrandon Bergren2020-05-011-1/+14
| | | | | | | | | | | | | | | | | | | Due to the way claiming works, we need to ensure on AIM OFW machines that we don't have overlapping ranges on any step of the load. Load boot1.elf at 0x38000 so it will not overlap with anything even if the entire PReP partition gets loaded by OFW. Tested on an iBook G4, a PowerBook G4, a PowerMac G5, and qemu pseries. (qemu pseries is broken without this patch due to the high address used by lld10.) Reviewed by: adalava Sponsored by: Tag1 Consulting, Inc. Differential Revision: https://reviews.freebsd.org/D24623 Notes: svn path=/head/; revision=360537
* Remove sparc relocation support from reloc_elf.c.Brandon Bergren2020-05-011-26/+1
| | | | | | | It got missed in the sparc64 removal. Notes: svn path=/head/; revision=360536
* correct procctl(PROC_PROTMAX_STATUS _NOFORCE returnEd Maste2020-05-011-1/+1
| | | | | | | | | | | | | Previously procctl(PROC_PROTMAX_STATUS, ... used the PROC_ASLR_NOFORCE macro for the "system-wide configured policy" status, instead of PROC_PROTMAX_NOFORCE. They both have a value of 3, so no functional change. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=360535
* Fix typo in r360492:Benedict Reuschling2020-05-012-2/+2
| | | | | | | | | appeard -> appeared Reported by: trasz (via IRC) Notes: svn path=/head/; revision=360533
* Implement more PCI-express bandwidth functions in the LinuxKPI.Hans Petter Selasky2020-05-011-0/+41
| | | | | | | | | Submitted by: ashafer_badland.io (Austin Shafer) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=360532
* Implement mutex_lock_killable() in the LinuxKPI.Hans Petter Selasky2020-05-011-0/+12
| | | | | | | | | Submitted by: ashafer_badland.io (Austin Shafer) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=360531
* Implement DIV64_U64_ROUND_UP() in the LinuxKPI.Hans Petter Selasky2020-05-011-0/+9
| | | | | | | | | Submitted by: ashafer_badland.io (Austin Shafer) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=360530
* Implement more lockdep macros in the LinuxKPI.Hans Petter Selasky2020-05-011-0/+6
| | | | | | | | | Submitted by: ashafer_badland.io (Austin Shafer) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=360529
* Implement kstrtou64() in the LinuxKPI.Hans Petter Selasky2020-05-011-0/+15
| | | | | | | | | Submitted by: ashafer_badland.io (Austin Shafer) MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=360528
* Fix a number of the following issues in man4:Benedict Reuschling2020-05-0111-41/+57
| | | | | | | | | | | | | | | | | | | | - Inconsistencies in .Dd like abbreviated month names, "th" after numbers, or leading zeros - No line breaks after a sentence stop - Whitespace at the end of the line - Use macros for BSD OS names instead of hardcoded names - CAVEATS instead of CAVEAT in section name No actual content change in terms of additions were made, so no bump of the .Dd for these man pages. All of these issues were found and fixed by Gordon Bergling. Submitted by: gbergling_gmail.com Approved by: bcr Differential Revision: https://reviews.freebsd.org/D24648 Notes: svn path=/head/; revision=360527
* Add RISC-V interpreter exampleMitchell Horne2020-05-011-1/+12
| | | | | | | | | | | | Now that RISC-V support has landed in qemu-user-static, add to the list of examples in the binmiscctl(8) manpage. Reviewed by: kevans MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D24646 Notes: svn path=/head/; revision=360519
* MFV: r360512Jung-uk Kim2020-05-0117-74/+307
|\ | | | | | | | | | | | | Merge ACPICA 20200430. Notes: svn path=/head/; revision=360517
| * Import ACPICA 20200430.vendor/acpica/20200430Jung-uk Kim2020-04-3018-83/+313
| | | | | | | | | | Notes: svn path=/vendor-sys/acpica/dist/; revision=360512 svn path=/vendor-sys/acpica/20200430/; revision=360513; tag=vendor/acpica/20200430
* | Factor some code out of nfsm_dissct() into separate functions.Rick Macklem2020-05-012-25/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Factoring some of the code in nfsm_dissct() out into separate functions allows these functions to be used elsewhere in the NFS mbuf handling code. Other uses of these functions will be done in future commits. It also makes it easier to add support for ext_pgs mbufs, which is needed for nfs-over-tls under development in base/projects/nfs-over-tls. Although the algorithm in nfsm_dissct() is somewhat re-written by this patch, the semantics of nfsm_dissct() should not have changed. Notes: svn path=/head/; revision=360514
* | Remove the SYMVER build option.John Baldwin2020-04-3012-40/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This option was added as a transition aide when symbol versioning was first added. It was enabled by default in 2007 and is supported even by the old GPLv2 binutils. Trying to disable it currently fails to build in libc and at this point it isn't worth fixing the build. Reported by: Michael Dexter Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D24637 Notes: svn path=/head/; revision=360511
* | geli tests require OpenSSL - exclude them under WITHOUT_OPENSSLEd Maste2020-04-301-0/+4
| | | | | | | | | | | | | | | | PR: 245931 Submitted by: The FreeBSD Foundation Notes: svn path=/head/; revision=360509
* | Fix three bugs highlighted by review:Warner Losh2020-04-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | - maxio should be dp->d_maxsize. This is often MAXPHYS, but not always (especially if MAXPHYS is > 1MB). - Unlock the periph before returning. We don't need to relock it to release the ccb. - Make sure we release the ccb in error paths. Reviewed by: cperciva Notes: svn path=/head/; revision=360508
* | src.conf.5: regen after WITHOUT_OPENSSL dep changesEd Maste2020-04-301-1/+17
| | | | | | | | Notes: svn path=/head/; revision=360507
* | lualoader: config: improve readConfFiles, rename to readConfKyle Evans2020-04-303-46/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous interface was pretty bad, and required the caller to get some implementation details correct that it really shouldn't need to (e.g. loader_conf_files handling) and pass in an empty table for it to use. The new and much improved interface, readConf, is much less of a hack; hiding these implementation details and just doing the right thing. config.lua will now use it to process /boot/defaults/loader.conf and the subsequent loader_conf_files from there, and read-conf will also use it. This improvement submitted by Olivier (cited below), loader_conf_files handling from the original patch was changed to just clobber it before processing and not bother restoring it after the fact following r360505 where it's now guaranteed to evade the loader environment. PR: 244640 Submitted by: Olivier Certner (olivier freebsd free fr> Notes: svn path=/head/; revision=360506
* | lualoader: config: add a table for restricted environment varsKyle Evans2020-04-301-5/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This new table should be used for transient values that don't need to end up in the loader environment. Generally, these will be things that are internal details that really aren't needed or interesting outside of the config module (e.g. if we changed how ${module}_* directives work, they might use this instead). To start, populate it with loader_conf_files. Any specific value of loader_conf_files isn't all that interesting; if we're going to export it, we should really instead export a loader_conf_files that indicates all of the configuration files we processed. This will be used to reduce bookkeeping overhead in a future commit that cleans up readConfFiles. Notes: svn path=/head/; revision=360505