summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MFC r308640:ian2017-03-0123-125/+103
| | | | | Use the correct OF_getencprop over OF_getprop + fdt32_to_cpu to read integer data from the device tree.
* MFC r303347, r303350, r303351, r303353:ian2017-03-0110-11/+58
| | | | | | | | | | Translate modem status reg bits from ns16550 to SER_* values used by the tty layer. Annotate the usb-serial drivers which always return 0 for line status, so that it'll be easier to find and fix them in the future. Also annotate a switch case fall-through per style(9).
* MFC r303346:ian2017-03-011-3/+5
| | | | | | | | Actually return line status register values from umoscom_cfg_get_status(). The hardware delivers ns16550-compatible status bits, which is what the usb_serial code expects, so no need for translation, no need for a local variable to hold a temporary lsr result.
* MFC r311658:ian2017-03-011-2/+3
| | | | Only write to *active once, even when GPIO_ACTIVE_LOW is set.
* MFC r310430:ian2017-03-011-1/+1
| | | | | | | Use ${.OBJDIR} to refer to the kernel build object dir, instead of trying to recreate it from ${MAKEOBJDIRPREFIX} and ${SRC_BASE} and ${KERNCONF}, the latter being especially problematic when KERNCONF is set to the names of multiple kernel configs.
* MFC r314101: don't use C99 static array indices with older GCC versionsavg2017-03-011-0/+1
| | | | Sponsored by: Panzura
* MFC r314100: fix a typo in __STDC_VERSION__ in __min_size requirementsavg2017-03-011-1/+1
|
* MFC r313779: Fix handling of negative sbspace() return values.mav2017-03-011-3/+3
| | | | | | | I found that at least with Chelsio NICs TOE sockets quite often report negative sbspace() values. Using unsigned variable to store it resulted in attempts to aggregate too much data in one sosend() call, that caused errors and following connection termination.
* MFC r313774: localtime: return NULL if time_t out of range of struct tmemaste2017-03-011-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we would truncate tm.tm_year for any time_t corresponding to a year that does not fit in int. This issue was discovered because it caused the bash-static build to fail when linking with LLD. As reported by Rafael EspĂ­ndola: Configure has AC_FUNC_MKTIME which expands to a test of mktime that fails with the freebsd implementation. Given that, bash compiles a mktime.o file that defines just mktime and uses localtime. That goes in a .a file that is before libc. The freebsd libc defines mktime in localtime.o, which also defines localtime among other functions. When lld sees an undefined reference to mktime from libc, it uses the bash provided one and then tries to find a definition of localtime. It is found on libc's localtime.o, but now we have a duplicated error. The reason it works with bfd is that bash doesn't use mktime directly and the undefined reference from libc is resolved to the libc implementation. It would also fail to link if bash itself directly used mktime. The bash-static configure test verifies that, for many values of t, either localtime(t) returns NULL or mktime(localtime(t)) == t. This test failed when localtime returned a truncated tm_year. This was fixed in tzcode in 2004 but has persisted in our tree since rS2708. Sponsored by: The FreeBSD Foundation
* MFC r314316:pfg2017-03-011-1/+1
| | | | | | | dc(1): Catch up with OpenBSD tag. OpenBSD rev 1.12 corresponds to our SVN r275162. Update the tag to make easier future updates. No functional change.
* MFC r312995:asomers2017-03-011-0/+1
| | | | | | | | | | | | | | Initialize a stack variable in mprsas_get_sas_address_for_sata_disk Thought it's difficult to reproduce, I think this variable was responsible for a use-after-free panic when a SATA disk timed out responding to a SATA identify command during boot. Submitted by: slm Reviewed by: slm MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D9364
* MFC r312559:asomers2017-02-281-22/+15
| | | | | | | | | | | | | | | | | | | | | Fix misc Coverity defects in camdd(8) CID 1341620 Fix a small memory leak CID 1341630 Though this is technically a false positive, rearrange the code for clarity. CID 1341635 Eliminate dead code CID 1368663 Fix a double mutex unlock in the error path Also: * Use sig_atomic_t for variables accessed from signal handlers * Don't conditionalize free(3) on its argument being non-null Reported by: Coverity CID: 1341620 1341630 1341635 1368663 Reviewed by: ken MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D9237
* MFC r312553:asomers2017-02-281-1/+1
| | | | | | | | | | | Fix "camcontrol timestamp -s" with LTO-7 drives The length of the scsi_set_timestamp_parameters struct was incorrect. LTO-5 drives don't care, but LTO-7 drives do. Reviewed by: Sam Klopsch MFC after: 2 weeks Sponsored by: Spectra Logic Corp
* MFC r312396:asomers2017-02-281-2/+5
| | | | | | | | | | | Fix an unchecked return value in zfsd It's pretty unlikely to actually hit this, but good to check it anyway Reported by: Coverity CID: 1362018 MFC after: 4 weeks Sponsored by: Spectra Logic Corp
* MFC r311572, r311895, r311928, r311985, r312395, r312417asomers2017-02-2810-82/+404
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r311572: Fix file descriptor leaks in cmp(1) Also, add a few test cases Reported by: Coverity CID: 271624 275338 Reviewed by: ngie MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D9074 r311895: Fix memory leaks during "tail -r" of an irregular file * Rewrite r_buf to use standard tail queues instead of a hand-rolled circular linked list. Free dynamic allocations when done. * Remove an optimization for the case where the file is a multiple of 128KB in size and there is a scarcity of memory. * Add ATF tests for "tail -r" and its variants. Reported by: Valgrind Reviewed by: ngie MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D9067 r311928: Fix build of usr.bin/tail with GCC Submitted by: pluknet Reported by: pluknet MFC after: 27 days X-MFC-with: 311895 Sponsored by: Spectra Logic Corp r311985: Fix uninitialized variable CIDs in route6d The variables in question are actually return arguments, but it's still good form to initialize them. Reported by: Coverity CID: 979679 979680 MFC after: 4 weeks Sponsored by: Spectra Logic Corp r312395: Fix several Coverity CIDs in devd CID 1362055, 1362054: File descriptor leaks during shutdown CID 1362013: Potential null-termination fail with long network device names CID 1362097: Uncaught exception during memory pressure CID 1362017, 1362016: Unchecked errors, possibly resulting in weird behavior if two devd instances start at the same time. CID 1362015: Unchecked error that will probably never fail Reported by: Coverity CID: 1362055 1362054 1362013 1362097 1362017 1362016 1362015 MFC after: 4 weeks Sponsored by: Spectra Logic Corp r312417: Fix build of devd with GCC 4.2 Reported by: olivier Pointy-hat-to: asomers MFC after: 27 days X-MFC-with: 312395 Sponsored by: Spectra Logic Corp
* MFC r313734:kib2017-02-281-2/+2
| | | | Add RLIM_SAVED_MAX and RLIM_SAVED_CUR symbols.
* MFC r313751: mca: fix writes to MSR_MC_CTL2 in cmci_updateavg2017-02-281-2/+2
|
* MFC r313949: Remove dead mentions of CAM target mode APIs from drivers.mav2017-02-2813-210/+9
| | | | This makes grepping kernel for target mode implementation much easier.
* MFC r313744: No need to erase sense_data when sense_len is set to zero.mav2017-02-281-15/+0
|
* MFC r313739: Directly call m_gethdr() instead of m_getm2() for BHS.mav2017-02-281-2/+2
| | | | | All this code is based on assumption that data will be stored in one piece, and since buffer size if known and fixed, it is easier to hardcode it.
* MFC r313731: Do not rely on data alignment after m_pullup().mav2017-02-281-35/+44
| | | | | | | | | | | In general case m_pullup() does not really guarantee any data alignment. Instead of depenting on side effects caused by data being always copied out of mbuf cluster (which is probably a bug by itself), always allocate aligned BHS buffer and read data there directly from socket. While there, reuse new icl_conn_receive_buf() function to read digests. The code could probably be even more optimized to aggregate those reads, but until that done, this is still easier then the way it was before.
* MFC r313738: Temporary attach AHS to BHS to calculate header digest.mav2017-02-281-3/+3
|
* MFC r314244:ngie2017-02-281-4/+0
| | | | | | Remove MK_OBJC block It is no longer represented via src.conf(5)
* MFC r313712:gonzo2017-02-271-1/+3
| | | | | | | | | | [sdhci_acpi] Add support for Bay Trail SDHC SD card slot Add ACPI device 80860F14 with _UID 3 to the list of known devices. It make SD card available on NUCs and Minnowboard. Previously added _UID 1 covered only eMMC devices. Reported by: kib@
* MFC r310645:gonzo2017-02-275-0/+545
| | | | | | | | | | | | | | | | | | | | | [intelspi] Add SPI driver for Intel BayTrail SoC Add SPI mode (PIO-only) support for Intel Synchronous Serial Port that can be found in several Intel's products starting from PXA family. Most of implementations have slight differences in behavior and in addresses for registers subset. This driver covers only BayTrail SoC implementation for it's the only hardware I have to test it on. Driver attaches to ACPI bus only and does not have PCI or FDT support for now due to lack of hardware to test it on. "intelspi" is the best name I've managed to come up with. Linux driver name (spi-pxa2xx) does not make sense because current implementation does not support actual PXA2xx SoCs. And as far as I know there is no codename assigned to Intel SSP chip. Reviewed by: br, manu Differential Revision: https://reviews.freebsd.org/D8896
* MFC r313757:gonzo2017-02-271-1/+1
| | | | | | | | | | | | | [psm] Fix calculation for clickpad softbuttons at the top On laptops like the ThinkPad X240, ClickPad buttons are located at the top. The hw.psm.synaptics.softbuttons_y sysctl was supposed to allow this by setting the value to a negative one (e.g. -1700). However, the condition was wrong (double negative), and doing that placed the buttons in an unreachable area. PR: 216342 Submitted by: Greg V <greg@unrelenting.technology>
* MFC r314059: zfs: move zio_taskq_basedc under SYSDCavg2017-02-271-1/+1
|
* MFC r314183: add jedec_ts.4 to the list of manual pagesavg2017-02-271-0/+1
|
* MFC r314037: jedec_ts: fix slave address checkavg2017-02-271-1/+1
|
* MFC r313752,r314035: mca: use time_uptime instead of ticks for CMCI throttlingavg2017-02-271-4/+4
|
* MFC r313730: try to fix RACCT_RSS accountingavg2017-02-272-3/+9
|
* MFC kern_mmap(9) and related helpers.kib2017-02-2710-233/+196
| | | | | | | | | | | | | | | | | | | | MFC r302514 (by rwatson): Audit file-descriptor arguments to I/O system calls such as read(2), write(2), dup(2), and mmap(2). MFC r302524 (by rwatson): When mmap(2) is used with a vnode, capture vnode attributes in the audit trail. MFC r313352 (by trasz): Add kern_vm_mmap2(), kern_vm_mprotect(), kern_vm_msync(), kern_vm_munlock(), kern_vm_munmap(), and kern_vm_madvise(). MFC r313655: Change type of the prot parameter for kern_vm_mmap() from vm_prot_t to int. MFC r313696: Rework r313352.
* MFC r314120: Reset failed login count to zero when removing a blocked addresslidl2017-02-271-5/+17
| | | | | | | | | | | | | | | | | | | | The blacklistd daemon keeps records of failed login attempts for each address:port that is flagged as a failed login. When a successful login occurs for that address:port combination, the record's last update time is set to zero, to indicate no current failed login attempts. Reset the failed login count to zero, so that at the next failed login attempt, the counting will restart properly at zero. Without this reset to zero, the first failed login after a successful login will cause the address to be blocked immediately. When debugging is turned on, output more information about database state before and after the database updates have occured. A similar patch has already been upstreamed to NetBSD. Sponsored by: The FreeBSD Foundation
* MFC r314111: Improve ipfw rule creation for blacklist-helper scriptlidl2017-02-271-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | When blocking an address, the blacklist-helper script needs to do the following things for the ipfw packet filter: - create a table to hold the addresses to be blocked, so lookups can be done quickly, and place the address to be blocked in that table - create rule that does the lookup in the table and blocks the packet The ipfw system allows multiple rules to be inserted for a given rule number. There only needs to be one rule to do the lookup per port. Modify the script to probe for the existence of the rule before attempting to create it, so only one rule is inserted, rather than one rule per blocked address. PR: 214980 Reported by: azhegalov (at) gmail.com Reviewed by: emaste Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D9681
* MFC r313707: Remove M_PKTHDR from m_getm2() in icl_pdu_append_data().mav2017-02-271-1/+1
| | | | | | ip_data_mbuf is always appended to ip_bhs_mbuf, so it does not need own packet header. This change first avoids allocation/initialization of the header, and then avoids dropping one when it later gets to socket buffer.
* MFC r313960alc2017-02-261-8/+6
| | | | | In pmap_enter(), set the PG_MANAGED flag on the new PTE in one place, rather two places, and do so before the pmap lock is acquired.
* MFC r313967:kib2017-02-262-4/+8
| | | | | | Apply noexec mount option for mmap(PROT_EXEC). PR: 217062
* MFC r313688:kib2017-02-261-4/+5
| | | | Switch copyout_map() to use vm_mmap_object() instead of vm_mmap().
* MFC r313933, r313939, r313966:kib2017-02-263-9/+8
| | | | | Microoptimize pmap_protect_pde() on amd64, i386 and pmap_protect_pte1() on armv6.
* Disable the driver managed queue for igb(4) when the legacy transmitloos2017-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | interface is used. The legacy API (IGB_LEGACY_TX) is enabled when ALTQ is built into kernel. As noted in altq(9), it is responsibility of the caller to protect this queue against concurrent access and, in the igb case, the interface send queue is protected by tx queue mutex. This obviously cannot protect the driver managed queue against concurrent access from different tx queues and leads to numerous and quite strange panic traces (usually shown as packets disappearing into thin air). Improving the locking to cope with this means serialize all access to this (single) queue and produces no gain, it actually affects the performance quite noticeabily. The driver managed queue is already disabled when an ALTQ queue discipline is set on interface (in altq_enable()), because the driver managed queue can interfere with ALTQ timing (whence the reports that setting an ALTQ queue discipline on interface also fixes the issue). Disabling this additional queue keeps the ability to use if_start() to send packets to individual NIC queues while it simply eliminate the race. This is a direct commit to stable/11 as -head driver does not support ALTQ anymore. PR: 213257 PR: 212413 Discussed with: sbruno Tested by: Konstantin Kormashev <konstantin@netgate.com> Obtained from: pfSense Sponsored by: Rubicon Communications, LLC (Netgate)
* MFC r313961:bapt2017-02-251-36/+108
| | | | Update pci_vendors to 2017.02.15
* MFC r313953:bapt2017-02-259-56/+199
| | | | Import libucl 20170219
* MFC r312787:cy2017-02-253-1/+27
| | | | | | | | | | | | | | | | | | Currently the fragment info is placed at the top of the linked list under a shared read lock. This patch attempts to upgrade the lock to an exclusive write lock. If the exclusive write lock fails to be obtained, the current fragment is not placed at the head of the list. This portion of the patch was inspired by NetBSD ip_frag.c r1.4 (which effectively removed the section of code that performed the reordering). The patch to sys/contrib/ipfilter/netinet/ip_compat.h adds the MUTEX_TRY_UPGRADE macro to support the patch to ip_frag.c. The patch to contrib/ipfilter/lib/rwlock_emul.c supports this patch by emulating the mutex in userspace when exercised by ipftest(1). Inspired by: NetBSD ip_frag.c r1.4
* MFC r313910: Change XCOPY memory allocations.mav2017-02-251-13/+12
| | | | | | | | | | | | Before this change XCOPY code could allocate memory in chunks up to 16-32MB (VMware does XCOPY in 4MB chunks by default), that could be difficult for VM subsystem to do due to KVA fragmentation, that sometimes created huge allocation delays, blocking any I/O for respective LU for that time. This change limits allocations down to TPC_MAX_IO_SIZE, which is 1MB now. 1MB is also not a cookie, but ZFS also can do that for large blocks, so it should be less dramatic. As drawback this increases CPU overhead, but it still look acceptable comparing to time consumed by ZFS read/write.
* MFC r313924,r313925:ngie2017-02-251-3/+3
| | | | | | | | | | | | | | | | r313924: Quote path to doxygen/kyua in test(1) -x check This is a basic stopgap against ${LOCALBASE} containing spaces in it r313925: Include ${LOCALBASE}/bin in $PATH when running "make checkworld" Some of the tests in devel/atf // devel/kyua rely on the tools being in $PATH, which means that the tests fail when run via "make checkworld" because $PATH is restricted to exclude directory elements like "${LOCALBASE}/bin".
* MFC r313897:pfg2017-02-241-1/+0
| | | | | | | | ext2fs: Remove unused assignment. The value is re-assigned a few lines later without being read. Found by: Clang static analyzer
* MFC r313554:pfg2017-02-246-14/+3
| | | | | | | | | | | | Clean redundant MIN/MAX declarations in some HighPoint drivers. The hpt27xx(4), hptnr(4), and hptrr(4) drivers declare MIN() and MAX() internally which match the macros from sys/param.h. MIN() is not used, MAX is only used once and can be replaced with the max() version in libkern.h which operates on u_ints. MFC after: 2 weeks
* MFC r313906:avos2017-02-243-3/+3
| | | | iwi, ral, zyd: fix possible use-after-free.
* MFC r313893ken2017-02-249-159/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r313893 | ken | 2017-02-17 13:04:22 -0700 (Fri, 17 Feb 2017) | 48 lines Add task attribute support to camcontrol(8). Users can use the new generic argument, -Q task_attr, to specify a task attribute (simple, ordered, head of queue, aca) for the commands issued. The the default is simple, which works with all SCSI devices that support tagged queueing. This will mostly be useful for debugging target behavior in certain situations. You can try it out by compiling CTL with CTL_IO_DELAY turned on (in sys/cam/ctl/ctl_io.h) and then do something like this with one of the CTL LUNs: ctladm delay 0:0 -l done -t 10 camcontrol tur da34 -v And at then before the 10 second timer is up, in another terminal: camcontrol inquiry da34 -Q ordered -v The Inquiry should complete just after the TUR completes. Ordinarily it would complete first because of the delay injection, but because the task attribute is set to ordered in this case, CTL holds it up until the previous command has completed. sbin/camcontrol/camcontrol.c: Add the new generic argument, -Q, which allows the user to specify a SCSI task attribute. The user can specify task attributes by name or numerically. Add a new task_attr arguments to SCSI sub-functions. sbin/camcontrol/attrib.c, sbin/camcontrol/camcontrol.h, sbin/camcontrol/fwdownload.c, sbin/camcontrol/modeedit.c, sbin/camcontrol/persist.c, sbin/camcontrol/timestamp.c, sbin/camcontrol/zone.c: Add the new task_attr argument to SCSI sub-functions. sbin/camcontrol/camcontrol.8: Document the new -Q option, and add an example. Sponsored by: Spectra Logic ------------------------------------------------------------------------
* MFC r313154:kib2017-02-2422-268/+6
| | | | | For i386, remove config options CPU_DISABLE_CMPXCHG, CPU_DISABLE_SSE and device npx.
OpenPOWER on IntegriCloud