aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [ath_hal] [ar9300] initial radar detection glue.Adrian Chadd2017-02-024-12/+29
| | | | | | | | | | | | | * flesh out a "get default DFS parameters" routine * remove the stub that returns NULL * fix up the enable DFS method to do what FreeBSD does - specifically, allow pe_enabled to be set/cleared. This allows the radar pulse reporting code to function, but it doesn't yet do anything useful. Notes: svn path=/head/; revision=313091
* Remake support for SMP kernel on UP cpu:Michal Meloun2017-02-0228-112/+129
| | | | | | | | | | | | | | | | | - Use new option SMP_ON_UP instead of (mis)using specific CPU type. By this, any SMP kernel can be compiled with SMP_ON_UP support. - Enable runtime detection of CPU multiprocessor extensions only if SMP_ON_UP option is used. In other cases (pure SMP or UP), statically compile only required variant. - Don't leak multiprocessor instructions to UP kernel. - Correctly handle data cache write back to point of unification. DCCMVAU is supported on all armv7 cpus. - For SMP_ON_UP kernels, detect proper TTB flags on runtime. Differential Revision: https://reviews.freebsd.org/D9133 Notes: svn path=/head/; revision=313090
* Remove remaining ifdefs from CESA headerWojciech Macek2017-02-021-6/+0
| | | | | | | | | | | | | | | Commit r312743 ("Use SoC ID - based detection in CESA") resulted in build failing for Marvell armv5 platforms, which don't support the newer version of CESA controller. This patch provides a fix by removing ifdefs around bitfields' definitions, so that they are known to all platforms. Submitted by: Marcin Wojtas <mw@semihalf.com> Obtained from: Semihalf Sponsored by: Stormshield Notes: svn path=/head/; revision=313089
* [ath_hal] [ar9300] initial hacks to make spectral scan working on AR9380 and ↵Adrian Chadd2017-02-021-2/+32
| | | | | | | | | | | | | later NICs. * add debugging * disable the manual noise floor calibration and tracking done by the HAL; this interferes with the normal calibration path and will lock up the RX side * don't program short report / priority if they're provided as NOVAL. Notes: svn path=/head/; revision=313088
* [ath] ensure the NIC is woken up before changing the spectral scan parameters.Adrian Chadd2017-02-021-0/+9
| | | | Notes: svn path=/head/; revision=313087
* [ath_hal] add debugging level for spectral scan.Adrian Chadd2017-02-021-0/+1
| | | | Notes: svn path=/head/; revision=313086
* [ath] add spectral scan priority.Adrian Chadd2017-02-021-0/+1
| | | | Notes: svn path=/head/; revision=313085
* [athspectral] add a knob to expose the spectral scan priority.Adrian Chadd2017-02-021-0/+6
| | | | | | | This is required for AR9380 and later chips.. please leave it at 0 for now. Notes: svn path=/head/; revision=313084
* Fix build with WITHOUT_INET6.Gleb Smirnoff2017-02-021-9/+9
| | | | | | | Submitted by: Alex Deiter <alex.deiter gmail.com> Notes: svn path=/head/; revision=313083
* Remove dangling DE425 EISA card references in the de driver. TheyWarner Losh2017-02-021-14/+0
| | | | | | | aren't used, and this doesn't change the supported hardware. Notes: svn path=/head/; revision=313082
* Replace for/retry loops with "wait_for_ggate_device" calls and checkEnji Cooper2017-02-021-24/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | results of commands As noted in r313008, the underlying issue was that geom_gate device creation wasn't created at ggatel command completion, but some short time after. ggatec(8) employs similar logic when creating geom_gate(4) devices. Switch from retry loops (after the ggatec/dd write calls) to wait_for_ggate_device function calls after calling ggatec(8) instead to detect the presence of the /dev/ggate* device, as this function is sufficient for determining whether or not the character device is ready for testing While here, use atf_check consistently with all dd calls to ensure that data output is as expected. MFC after: 1 week Reviewed by: asomers Differential Revision: D9409 Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=313081
* i386: fixup fcmpsetMateusz Guzik2017-02-021-2/+2
| | | | | | | | | | | | An incorrect output specifier was used which worked with clang by accident, but breaks with the in-tree gcc version. While here plug a whitespace nit. Reported by: bde Notes: svn path=/head/; revision=313080
* MFV r313071:Martin Matuska2017-02-0256-421/+2443
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sync libarchive with vendor Vendor changes (relevant to FreeBSD): - support extracting NFSv4 ACLs from Solaris tar archives - bugfixes and optimizations in the ACL code - multiple fixes in the test suite - typo and other small bugfixes Security fixes: - cab reader: endless loop when parsing MSZIP signature (OSS-Fuzz 335) - LHA reader: heap-buffer-overflow in lha_read_file_header_1() (CVE-2017-5601) - LZ4 reader: null-pointer dereference in lz4_filter_read_legacy_stream() (OSS-Fuzz 453) - mtree reader: heap-buffer-overflow in detect_form() (OSS-Fuzz 421, 443) - WARC reader: heap-buffer-overflow in xstrpisotime() (OSS-Fuzz 382, 458) Memory leak fixes: - ACL support: free memory allocated by acl_get_qualifier() - disk writer: missing free in create_filesystem_object() - file reader: fd leak (Coverity 1016755) - gnutar writer: fix free in archive_write_gnutar_header() (Coverity 101675) - iso 9660 reader: missing free in parse_file_info() (partial Coverity 1016754) - program reader: missing free in __archive_read_program() - program writer: missing free in __archive_write_program_free() - xar reader: missing free in xar_cleanup() - xar reader: missing frees in expat_xmlattr_setup() (Coverity 1229979-1229981) - xar writer: missing free in file_free() - zip reader: missing free in zip_read_local_file_header() MFC after: 1 week X-MFC with: 310866, 310868, 310870, 311899 Notes: svn path=/head/; revision=313074
| * Update vendor/libarchive to git d77b577b2d5aa259fca06313c4940e1e61ab1e0eMartin Matuska2017-02-0265-454/+2563
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Vendor changes (relevant to FreeBSD): - bugfixes, improvemens and optimizations in ACL code - NFSv4 ACLs can now be extracted from Solaris tar archives Security fixes: - cab reader: endless loop when parsing MSZIP signature (OSS-Fuzz 335) - LHA reader: heap-buffer-overflow in lha_read_file_header_1() (CVE-2017-5601) - LZ4 reader: null-pointer dereference in lz4_filter_read_legacy_stream() (OSS-Fuzz 453) - mtree reader: heap-buffer-overflow in detect_form() (OSS-Fuzz 421, 443) - WARC reader: heap-buffer-overflow in xstrpisotime() (OSS-Fuzz 382, 458) Memory leak fixes: - ACL support: free memory allocated by acl_get_qualifier() - disk writer: missing free in create_filesystem_object() - file reader: fd leak (Coverity 1016755) - gnutar writer: fix free in archive_write_gnutar_header() (Coverity 1016752) - iso 9660 reader: missing free in parse_file_info() (part. Coverity 1016754) - program reader: missing free in __archive_read_program() - program writer: missing free in __archive_write_program_free() - xar reader: missing free in xar_cleanup() - xar reader: missing frees in expat_xmlattr_setup() (Coverity 1229979-1229981) - xar writer: missing free in file_free() - zip reader: missing free in zip_read_locazip_read_local_file_header() Notes: svn path=/vendor/libarchive/dist/; revision=313071
* | Allow 999.local to run scripts in any languageAlan Somers2017-02-013-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | If one of the scripts listed in (daily|weekly|monthly)_local is executable, 999.local should simply execute it. Only if the script isn't executable should 999.local assume it needs /bin/sh. Reviewed by: brian MFC after: 3 weeks Sponsored by: Spectra Logic Corp Notes: svn path=/head/; revision=313069
* | [am335x] Fallback to standard video interface bindings when using Linux dtsOleksandr Tymoshenko2017-02-011-4/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Historically AM335x LCDC driver used non-standard "hdmi" property to refer to HDMI framer. There is no such thing in upstream DTS, so to handle both cases fallback to bindings described in bindings/media/video-interfaces.txt in Linux documentation. We still make some assumptions that are not universally true: we assume that if remote endpoint is available it's going to be HDMI framer. Which is true for AM335x-based devices currently supported but may be not true for some custom hardware. MFC after: 1 week Notes: svn path=/head/; revision=313068
* | Pull in r293536 from upstream compiler-rt trunk:Dimitry Andric2017-02-014-24/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recommit: Stop intercepting some malloc-related functions on FreeBSD and macOS Summary: In https://bugs.freebsd.org/215125 I was notified that some configure scripts attempt to test for the Linux-specific `mallinfo` and `mallopt` functions by compiling and linking small programs which references the functions, and observing whether that results in errors. FreeBSD and macOS do not have the `mallinfo` and `mallopt` functions, so normally these tests would fail, but when sanitizers are enabled, they incorrectly succeed, because the sanitizers define interceptors for these functions. This also applies to some other malloc-related functions, such as `memalign`, `pvalloc` and `cfree`. Fix this by not intercepting `mallinfo`, `mallopt`, `memalign`, `pvalloc` and `cfree` for FreeBSD and macOS, in all sanitizers. Also delete the non-functional `cfree` wrapper for Windows, to fix the test cases on that platform. Reviewers: emaste, kcc, rnk Subscribers: timurrrr, eugenis, hans, joerg, llvm-commits, kubamracek Differential Revision: https://reviews.llvm.org/D27654 This prevents autoconf scripts from incorrectly detecting that functions like mallinfo, mallopt, memalign, pvalloc and cfree are supported. PR: 215125, 215455 MFC after: 1 week Notes: svn path=/head/; revision=313052
* | Update tcpdump to 4.9.0.Gleb Smirnoff2017-02-01234-9161/+14546
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It fixes many buffer overflow in different protocol parsers, but none of them are critical, even in absense of Capsicum. Security: CVE-2016-7922, CVE-2016-7923, CVE-2016-7924, CVE-2016-7925 Security: CVE-2016-7926, CVE-2016-7927, CVE-2016-7928, CVE-2016-7929 Security: CVE-2016-7930, CVE-2016-7931, CVE-2016-7932, CVE-2016-7933 Security: CVE-2016-7934, CVE-2016-7935, CVE-2016-7936, CVE-2016-7937 Security: CVE-2016-7938, CVE-2016-7939, CVE-2016-7940, CVE-2016-7973 Security: CVE-2016-7974, CVE-2016-7975, CVE-2016-7983, CVE-2016-7984 Security: CVE-2016-7985, CVE-2016-7986, CVE-2016-7992, CVE-2016-7993 Security: CVE-2016-8574, CVE-2016-8575, CVE-2017-5202, CVE-2017-5203 Security: CVE-2017-5204, CVE-2017-5205, CVE-2017-5341, CVE-2017-5342 Security: CVE-2017-5482, CVE-2017-5483, CVE-2017-5484, CVE-2017-5485 Security: CVE-2017-5486 Notes: svn path=/head/; revision=313048
| * | Import tcpdump-4.9.0 into dist.Gleb Smirnoff2017-01-31459-9673/+23030
| | | | | | | | | | | | Notes: svn path=/vendor/tcpdump/dist/; revision=313024
* | | loader: disk/part api needs to use uint64_t offsetsToomas Soome2017-02-018-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The disk_* and part_* api is using 64bit values for media size and offsets. However, the current api is using off_t type, which is signed 64-bit int. In this context the signed media size does not make any sense, and the offsets are used to mark absolute, not relative locations. Also, the data from GPT partition table and some other sources is already using uint64_t data type, so using signed off_t can cause sign issues. Reviewed by: imp Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D8710 Notes: svn path=/head/; revision=313047
* | | Add an mbuf to ipinfo_t translator to finish cleanup of mbuf passing to TCP ↵George V. Neville-Neil2017-02-012-7/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | probes. Reviewed by: markj MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9401 Notes: svn path=/head/; revision=313045
* | | Add some comments with examples on how to build Vagrant images.Brad Davis2017-02-011-1/+13
| | | | | | | | | | | | | | | | | | | | | Approved by: re (gjb) Notes: svn path=/head/; revision=313044
* | | Merge filt_soread and filt_solisten and decide what to do when checkingHartmut Brandt2017-02-011-25/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for EVFILT_READ at the point of the check not when the event is registers. This fixes a problem with asio when accepting a connection. Reviewed by: kib@, Scott Mitchell Notes: svn path=/head/; revision=313043
* | | loader.efi environment related cleanupsToomas Soome2017-02-016-416/+437
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we have dedicated libefi/env.c file for variable support, the following changes are done: Simple cstyle changes in env.c Moved efi variable related commands from loader/main.c to libefi/env.c Did create function to set "efi-version" environment variable in env.c. This function does serve two purposes: for first a small clean up of the loader main(), and for second, it does replace the otherwise unused efi_variable_support hack. A bit of cleanup of ficl backend functions. The TEST_MAIN has no meaning, and removed few memory leaks. The forth code is updated to use "efi-version" variable, instead of ficl environment check. Reviewed by: imp Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D9165 Notes: svn path=/head/; revision=313042
* | | Bump GCC FBSD_CC_VER for r312899 (-march=octeon+ support)Ed Maste2017-02-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by: lidl MFC after: 1 month MFC with: r312899 Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=313041
* | | Add atomic_fcmpset_*() inlines for MIPSAlexander Kabaev2017-02-011-2/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | atomic_fcmpset_*() is analogous to atomic_cmpset(), but saves off the read value from the target memory location into the 'old' pointer. Reviewed by: imp, brooks Requested by: mjg Differential Revision: https://reviews.freebsd.org/D9391 Notes: svn path=/head/; revision=313040
* | | Implement get_pcpu() for the remaining architectures and use it toJason A. Harmening2017-02-017-12/+23
| | | | | | | | | | | | | | | | | | | | | replace pcpu_find(curcpu) in MI code. Notes: svn path=/head/; revision=313037
* | | Add Book-E Enhanced Debug (E.D) profile debug supportJustin Hibbits2017-02-013-5/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Freescale added the E.D profile to e500mc and derivative cores. From Freescale's EREF reference manual this is enabled by a bit in HID0 and should otherwise default to traditional debug. However, none of the Freescale cores support that bit, and instead always use E.D. This results in kernel panics using the standard debug on e500mc+ cores. Enhanced debug allows debugging of interrupts, including critical interrupts, as it uses a different save/restore registers (srr*). At this time we don't use this ability, so instead share the core of the debug handler code between both handlers. MFC after: 3 weeks Notes: svn path=/head/; revision=313036
* | | Add rfdi opcode to binutilsJustin Hibbits2017-02-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The rfdi instruction is part of the e500mc and derivative cores. It came into binutils in a GPLv3 patch, along with the rest of the e500mc instruction set. Currently only rfdi is planned to be used, so rather than attempt to backport the full patch, take a surgical route and add instructions as needed. MFC after: 2 weeks Notes: svn path=/head/; revision=313035
* | | Add USB IDs supported by TI / Intel USB 3410 family (modems of variousWarner Losh2017-02-011-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | flavors). This includes both the release products (from Honeywell, Moxa and Multitech) as well as development kits. Notes: svn path=/head/; revision=313034
* | | Add myself (jmd) to committers-ports.dot. Document rene and swills as my ↵Johannes M Dieterich2017-02-011-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mentors. Reviewed by: rene (mentor) Approved by: rene (mentor) Differential Revision: https://reviews.freebsd.org/D9393 Notes: svn path=/head/; revision=313033
* | | Ensure that the variable bail is always initialized before used.Michael Tuexen2017-02-011-2/+2
| | | | | | | | | | | | | | | | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=313032
* | | Take the SCTP common header into account when computing theMichael Tuexen2017-01-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | space available for chunks. This unbreaks the handling of ICMPV6 packets indicating "packet too big". It just worked for IPv4 since we are overbooking for IPv4. MFC after: 1 week Notes: svn path=/head/; revision=313031
* | | Remove a duplicate debug statement.Michael Tuexen2017-01-311-6/+2
| | | | | | | | | | | | | | | | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=313030
* | | net80211: cleanup ic_flags / iv_flagsAndriy Voskoboinyk2017-01-312-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flags - IEEE80211_F_ASCAN - IEEE80211_F_SIBSS - IEEE80211_F_IBSSON are not used since r170530 (old WI compatibility ioctls removal) and r178354 (removed from other places). IEEE80211_F_TXPOW_FIXED was never utilized; initially added with IEEE80211_F_TXPOW_AUTO / IEEE80211_F_TXPOW_OFF flags, which were replaced with IEEE80211_C_TXPMGT capability check in r138568. Reviewed by: adrian Differential Revision: https://reviews.freebsd.org/D9369 Notes: svn path=/head/; revision=313028
* | | Add a new vagrant-box target, to make it easier and less redundant to onlyBrad Davis2017-01-311-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | produce the Vagrant box and not upload it. Approved by: re (gjb) Notes: svn path=/head/; revision=313027
* | | [ath] log seqno, type and subtype when assigning sequence numbers for A-MPDU.Adrian Chadd2017-01-311-1/+3
| | | | | | | | | | | | | | | | | | | | | This is just to improve adrian-debugging. Notes: svn path=/head/; revision=313026
* | | Add tests for multi-fib IPv6 routingAlan Somers2017-01-311-30/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR: 196361 Submitted by: jhujhiti@adjectivism.org Reported by: Jason Healy <jhealy@logn.net> MFC after: 4 weeks Sponsored by: Spectra Logic Corp Notes: svn path=/head/; revision=313025
* | | Force a few variables to be upper case when they are evaulated.Brad Davis2017-01-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This allows specifying, for example: CLOUDWARE=vagrant-vmware Approved by: re (gjb) Notes: svn path=/head/; revision=313021
* | | Fix a couple of issues with t4iov probe and attach.John Baldwin2017-01-311-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Check for Chelsio vendor ID in probe routines. - Fail attach instead of faulting if pci_find_dbsf() doesn't find a device. PR: 216539 Reported by: asomers Tested by: Dave Baukus <daveb@spectralogic.com> MFC after: 3 days Sponsored by: Chelsio Communications Notes: svn path=/head/; revision=313020
* | | Add the folowing set accessor functions for recently-added members of ifnetStephen J. Kiernan2017-01-314-17/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | structure: if_gethwtsomax(), if_sethwtsomax() - if_hw_tsomax if_gethwtsomaxsegcount(), if_sethwtsomaxsegcount() - if_hw_tsomaxsegcount if_gethwtsomaxsegsize(), if_sethwtsomaxsegsize() - if_hw_tsomaxsegsize Update em and vnic drivers which had already been coverted to use accessor functions for the other ifnet structure members. Reviewed by: erj Approved by: sjg (mentor) Obtained from: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D8544 Notes: svn path=/head/; revision=313019
* | | Add kern_pread() and kern_pwrite(), and use it in compats insteadEdward Tomasz Napierala2017-01-314-77/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of their sys_*() counterparts. The svr4 is left unchanged. Reviewed by: kib@ MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9379 Notes: svn path=/head/; revision=313018
* | | Fix linux_getppid() to debug the actual parent, even it was reparentedEdward Tomasz Napierala2017-01-311-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | by debugger. Reviewed by: dchagin@ MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9361 Notes: svn path=/head/; revision=313017
* | | Replace calls to sys_truncate() with kern_truncate().Edward Tomasz Napierala2017-01-312-26/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewed by: kib@ MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9371 Notes: svn path=/head/; revision=313016
* | | Add kern_cpuset_getid() and kern_cpuset_setid(), and use themEdward Tomasz Napierala2017-01-313-23/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in compat32 instead of their sub_*() counterparts. Reviewed by: jhb@, kib@ MFC after: 2 weeks Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D9382 Notes: svn path=/head/; revision=313015
* | | Add missing ephy bus gates and resets.Jared McNeill2017-01-311-4/+4
| | | | | | | | | | | | Notes: svn path=/head/; revision=313014
* | | Expose symbols in lib/libclang_rt/profile to fix --coverageEnji Cooper2017-01-311-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The symbols currently hidden in libprofile_rt are needed for linking with `clang --coverage` to add coverage counters at link time and produce coverage numbers at runtime. In collaboration with: dim MFC after: 1 month Sponsored by: Dell EMC Isilon Differential Revision: D9168 Notes: svn path=/head/; revision=313009
* | | Wait for /dev/ggate* to appear after calling `ggatel create` in ↵Enji Cooper2017-01-311-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :ggatel_{file,md} The test assumed that `ggatel create` created a device on completion, but that's incorrect. This squashes the race by waiting for the device to appear, as `ggatel create` daemonizes before issuing an ioctl to geom_gate(4) if not called with `-v`. Discussed with: asomers MFC after: 1 week PR: 204616 Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=313008
* | | Don't retry a lost reservation in atomic_fcmpset()Justin Hibbits2017-01-311-14/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The desired behavior of atomic_fcmpset_() is to always exit on error. Instead of retrying on lost reservation, leave the retry to the caller, and return error. Reported by: kib Notes: svn path=/head/; revision=313007
* | | calculate_crc32c: Add SSE4.2 implementation on x86Conrad Meyer2017-01-317-1/+453
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Derived from an implementation by Mark Adler. The fast loop performs three simultaneous CRCs over subsets of the data before composing them. This takes advantage of certain properties of the CRC32 implementation in Intel hardware. (The CRC instruction takes 1 cycle but has 2-3 cycles of latency.) The CRC32 instruction does not manipulate FPU state. i386 does not have the crc32q instruction, so avoid it there. Otherwise the implementation is identical to amd64. Add basic userland tests to verify correctness on a variety of inputs. PR: 216467 Reported by: Ben RUBSON <ben.rubson at gmail.com> Reviewed by: kib@, markj@ (earlier version) Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D9342 Notes: svn path=/head/; revision=313006