summaryrefslogtreecommitdiff
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* Update releng/8.4 branch to -RELEASE status, pending final preparation.Glen Barber2013-05-131-1/+1
| | | | | | | Approved by: re (implicit) Notes: svn path=/releng/8.4/; revision=250628
* Update releng/8.4 to -RC3 status.Glen Barber2013-05-061-1/+1
| | | | | | | Approved by: re (implicit) Notes: svn path=/releng/8.4/; revision=250307
* Fix a bug that allows NFS clients to issue READDIR on files.Dag-Erling Smørgrav2013-04-291-0/+2
| | | | | | | | | | PR: kern/178016 Security: CVE-2013-3266 Security: FreeBSD-SA-13:05.nfsserver Approved by: re Notes: svn path=/releng/8.4/; revision=250062
* MFC of r249848:Randall Stewart2013-04-251-1/+1
| | | | | | | | | | | | | | | | | | | This fixes the issue with the "randomly changing" default route. What it was is there are two places in ip_output.c where we do a goto again. One place was fine, it copies out the new address and then resets dst = ro->rt_dst; But the other place does *not* do that, which means earlier when we found the gateway, we have dst pointing there aka dst = ro->rt_gateway is done.. then we do a goto again.. bam now we clobber the default route. The fix is just to move the again so we are always doing dst = &ro->rt_dst; in the again loop. Approved by: re@freebsd.org (Josh Paetzel) Notes: svn path=/releng/8.4/; revision=249907
* - Update releng/8.4 branch to -RC2Glen Barber2013-04-201-1/+1
| | | | | | | Approved by: re (jpaetzel) Notes: svn path=/releng/8.4/; revision=249710
* Merge r249478 from stable/8 to releng/8.4:Robert Watson2013-04-192-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FreeBSD 8.0 introduced inpcb reference counting, and FreeBSD 8.1 began using that reference count to protect inpcb stability in udp_pcblist() and other monitoring functions, preventing the inpcb from being garbage collected across potentially sleeping copyout() operations despite the inpcb zone becoming shrinkable. However, this introduced a race condition in which inp->inp_socket() might become NULL as a result of the socket being freed, but before the inpcb we removed from the global list of connections, allowing it to be exposed to a third thread invoking udp_input() or udp6_input() which would try to indirect through inp_socket without testing it for NULL. This might occur with particular regularity on systems that frequently run netstat, or which use SNMP for connection monitoring. Later FreeBSD releases use a different reference/destruction model, but stable/8 remained affected in FreeBSD 8.2 and 8.3; the problem could be spotted on very high-load UDP services, such as top-level name servers. An Errata Note for 8.x branches under continuing support might be appropriate. Regardless, this fix should be merged to releng/8.4 prior to 8.4-RELEASE. PR: 172963 Submitted by: Vincent Miller <vmiller@verisign.com> Submitted by: Julien Charbon <jcharbon@verisign.com> Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com> Approved by: re (rodrigc) Notes: svn path=/releng/8.4/; revision=249660
* MFC three change sets (details below) which fix system shutdown andSteven Hartland2013-04-159-164/+142
| | | | | | | | | | | | | | | | | | | | | | reboots hanging at "All buffers synced" when using ZFS. MFC r241556: Add a KPI to allow to reserve some amount of space in the numvnodes counter, without actually allocating the vnodes. For KBI stability, the td_vp_reserv was moved to the end of struct thread MFC r241628: zfs: make use of getnewvnode_reserve in zfs_mknode and zfs_zget MFC r243520, r243521: zfs: overhaul zfs-vfs glue for vnode life-cycle management Reviewed by: avg Approved by: re (jpaetzel), avg (co-mentor) Notes: svn path=/releng/8.4/; revision=249524
* MFS8 r249107:Raphael Kubo da Costa2013-04-111-1/+7
| | | | | | | | | | Add vendor IDs for Broadcom USB dongles (BCM20702). PR: kern/174707 Approved by: re (kib), glebius Notes: svn path=/releng/8.4/; revision=249389
* - Update releng/8.4 branch to -RC1 statusGlen Barber2013-04-051-1/+1
| | | | | | | Approved by: re (jpaetzel) Notes: svn path=/releng/8.4/; revision=249122
* MFS r248880:Tijl Coosemans2013-04-011-8/+6
| | | | | | | | | | | | | | | | | | | | | | | - Fix two possible overflows when testing if ELF program headers are on the first page: 1. Cast uint16_t operands in a multiplication to unsigned int because otherwise the implicit promotion to int results in a signed multiplication that can overflow and the behaviour on integer overflow is undefined. 2. Replace (offset + size > PAGE_SIZE) with (size > PAGE_SIZE - offset) because the sum may overflow. - Use the same tests to see if the path to the interpreter is on the first page. There's no overflow here because size is already limited by MAXPATHLEN, but the compiler optimises the new tests better. Also fix an off-by-one error. - Simplify tests to see if an ELF note program header is on the first page. This also fixes an off-by-one error. Reviewed by: kib Approved by: re (glebius) Notes: svn path=/releng/8.4/; revision=248966
* MFC r247852:Martin Matuska2013-03-312-2/+8
| | | | | | | | | | | | | Import ZFS bpobj bugfix from vendor. Illumos ZFS issues: 3603 panic from bpobj_enqueue_subobj() 3604 zdb should print bpobjs more verbosely Approved by: re (marius) Notes: svn path=/releng/8.4/; revision=248955
* MFC 247870:Bryan Venteicher2013-03-294-10/+24
| | | | | | | | | | | | | | | | Remove the virtio dependency entry for the VirtIO device drivers. This will prevent the kernel from linking if the device driver are included without the virtio module. Remove pci and scbus for the same reason. Also explain the relationship and necessity of the virtio and virtio_pci modules. Currently in FreeBSD, we only support VirtIO PCI, but it could be replaced with a different interface (like MMIO) and the device (network, block, etc) will still function. Approved by: re (marius@) Notes: svn path=/releng/8.4/; revision=248862
* MFC r248226:Pyun YongHyeon2013-03-291-3/+17
| | | | | | | | | | | | | | | | | | | r241438 broke IPMI access on Sun Fire X2200 M2(BCM5715). Fix the IPMI regression by sending BGE_FW_DRV_STATE_UNLOAD to ASF/IPMI firmware in driver attach phase. Sending heartheat to ASF/IPMI is enabled only after upping interface so setting driver state to BGE_FW_DRV_STATE_START in attach phase broke IPMI access. While I'm here, add NVRAM arbitration lock before performing controller reset. ASF/IPMI firmware may be able to access the NVRAM while controller reset is in progress. Without the arbitration lock before resetting the controller, ASF/IPMI may not initialize properly. Approved by: re (glebius) Notes: svn path=/releng/8.4/; revision=248860
* Version bumps after releng/8.4 branch:Xin LI2013-03-281-1/+1
| | | | | | | | | | | | | | | | | | | | Makefile: * Update the CVS branch tag. release/Makefile: * Update RELEASETAG and SVNBRANCH. share/examples/cvsup/standard-supfile: * Update to have "make update" pull from RELENG_8_4. sys/sys/param.h: * Update __FreeBSD_version to 804000 to reflect releng/8.4 has been branched. Approved by: re (rodrigc) Notes: svn path=/releng/8.4/; revision=248850
* MFC r247279Sean Bruno2013-03-281-3/+12
| | | | | | | | | | | | | | | | The 5300 series ciss(4) board does not work in performant mode with our currnet initialization sequence. Set it to simple mode only so that systems can be updated from stable/7 to newer installations. At some point, we should figure out why we cannot initialize performant mode on this board. PR: kern/153361 Reviewed by: scottl Approved by: re (marius@) Notes: svn path=/releng/8.4/; revision=248841
* MFC r248422:Konstantin Belousov2013-03-282-0/+2
| | | | | | | | | | Remove negative name cache entry pointing to the target name, which could be instantiated while tdvp was unlocked. Approved by: re (marius) Notes: svn path=/releng/8.4/; revision=248833
* MFstable/8 r248822:Andrey V. Elsukov2013-03-281-1/+1
| | | | | | | | | | Take the inpcb rlock before calculating checksum, it was accidentally moved in r191672. Approved by: re (glebius) Notes: svn path=/releng/8.4/; revision=248823
* Update stable/8 to -BETA1 as part of 8.4-RELEASE cycle.Glen Barber2013-03-181-1/+1
| | | | | | | Approved by: re (jpaetzel) Notes: svn path=/stable/8/; revision=248454
* MFH (r214982, r214985): fix CPU ID in /proc/cpuinfo.Dag-Erling Smørgrav2013-03-161-4/+5
| | | | | | | | PR: kern/56451 Approved by: re (kib) Notes: svn path=/stable/8/; revision=248390
* Identify as 8.4-PRERELEASE.Xin LI2013-03-121-2/+2
| | | | | | | Approved by: re (kib) Notes: svn path=/stable/8/; revision=248213
* Don't use SCTP checksum offloading for SCTP/IPv6. At least the loopbackMichael Tuexen2013-03-111-6/+4
| | | | | | | | | | | interface in stable/8 doesn't support it. Please note that this is a direct commit! Approved by: re@ Notes: svn path=/stable/8/; revision=248173
* MFC r247906:Lawrence Stewart2013-03-111-1/+1
| | | | | | | | | | | | The hashmask returned by hashinit() is a valid index in the returned hash array. Fix a siftr(4) potential memory leak and INVARIANTS triggered kernel panic in hashdestroy() by ensuring the last array index in the flow counter hash table is flushed of entries. Approved by: re (kib) Notes: svn path=/stable/8/; revision=248150
* MFC r244631Ryan Stone2013-03-081-44/+54
| | | | | | | | | | | | | | | | | | | | | | | | | Correct a series of errors in the hand-rolled locking for drace_debug.c: - Use spinlock_enter()/spinlock_exit() to prevent a thread holding a debug lock from being preempted to prevent other threads waiting on that lock from starvation. - Handle the possibility of CPU migration in between the fetch of curcpu and the call to spinlock_enter() by saving curcpu in a local variable. - Use memory barriers to prevent reordering of loads and stores of the data protected by the lock outside of the critical section - Eliminate false sharing of the locks by moving them into the structures that they protect and aligning them to a cacheline boundary. - Record the owning thread in the lock to make debugging future problems easier. Reviewed by: rpaulo (initial version) Notes: svn path=/stable/8/; revision=248074
* MFC r226452 (by marcel@)Ryan Stone2013-03-081-42/+2
| | | | | | | | | Define dtrace_cmpset_long in terms of atomic_cmpset_long and not by virtue of inline assembly. Now this file compiles on all supported architectures. Notes: svn path=/stable/8/; revision=248072
* MFC r241009Ryan Stone2013-03-081-1/+1
| | | | | | | | | | | | | | | | | Ensure that all cases that enqueue a netgraph item for delivery by a ngthread properly set the item's depth to 1. In particular, prior to this change if ng_snd_item failed to acquire a lock on a node, the item's depth would not be set at all. This fix ensures that the error code from rcvmsg/ rcvdata is properly passed back to the apply callback. For example, this fixes a bug where an error from rcvmsg/rcvdata would not previously propagate back to a libnetgraph consumer when the message was queued. Reviewed by: mav MFC after: 1 month Sponsored by: Sandvine Incorporated Notes: svn path=/stable/8/; revision=248067
* MFC r240923Ryan Stone2013-03-081-27/+48
| | | | | | | | | | | | | | | | | | | | | | Some aac(4) adapters will always report that a direct access device is offline in response to a INQUIRY command that does not retreive vital product data(I personally have observed the behaviour on an Adaptec 2405 and a 5805). Force the peripheral qualifier to "connected" so that upper layers correctly recognize that a disk is present. This bug was uncovered by r216236. Prior to that fix, aac(4) was accidentally clearing the peripheral qualifier for all inquiry commands. This fixes an issue where passthrough devices were not created for disks behind aac(4) controllers suffering from the bug. I have verified that if a disk is not present that we still properly detect that and not create the passthrough device. Sponsored by: Sandvine Incorporated MFC after: 1 week Notes: svn path=/stable/8/; revision=248064
* MFC r231879,246799,247880,248059:Xin LI2013-03-088-304/+1048
| | | | | | | | | Update driver to version 4.6.95.0. Submitted by: "Duvvuru,Venkat Kumar" <VenkatKumar.Duvvuru Emulex.Com> Notes: svn path=/stable/8/; revision=248062
* - Complete r231621 (MFC'ed to stable/8 in r232093) by also blacklisting theMarius Strobl2013-03-081-10/+11
| | | | | | | | | | | | bridge used by VMware for PCIe devices. While at it, update the comment now that we know that MSI-X doesn't work with ESXi 5.1 for Intel 82576 either and the underlying issue is a bug in the MSI-X allocation code of the hypervisor. Reported by: Harald Schmalzbauer - Make the nomatch table const. Notes: svn path=/stable/8/; revision=248053
* MFC: r247601, r247621Marius Strobl2013-03-081-4/+4
| | | | | | | | | - Correct an incorrect argument to shutdown_nice(9). - Mark unused parameters as such. - Use NULL instead of 0 for pointers. Notes: svn path=/stable/8/; revision=248051
* MFC: r247600, r247620Marius Strobl2013-03-082-21/+35
| | | | | | | | | | | | | | | | | - While Netra X1 generally show no ill effects when registering a power fail interrupt handler, there seems to be either a broken batch of them or a tendency to develop a defect which causes this interrupt to fire inadvertedly. Given that apart from this problem these machines work just fine, add a tunable allowing the setup of the power fail interrupt to be disabled. While at it, remove the DEBUGGER_ON_POWERFAIL compile time option and make that behavior also selectable via the newly added tunable. - Correct an incorrect argument to shutdown_nice(9). - Mark unused parameters as such. - Use NULL instead of 0 for pointers. Notes: svn path=/stable/8/; revision=248049
* MFC: r223951Marius Strobl2013-03-082-48/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Partially merge r223648 and r223949 from gem(4) (committed to stable/8 in r224367): - Consistently use the newly introduced sc_mac_rxcfg throughout the driver instead of reading the old content of CAS_MAC_RX_CONF. - Increment if_iqdrops instead of if_ierrors in case of RX buffer allocation failure. - According to the Cassini datasheet the RX MAC should also be disabled in cas_setladrf() before changing its configuration. - Add error messages to gem_disable_{r,t}x() and take advantage of these throughout the driver instead of duplicating their functionality all over the place. MFC: r247579 - Move reporting of failures to disable RX/TX MAC under bootverbose as at least the Saturn chips of 501-6738 cards may fail to do so the first time, which isn't fatal though. Reported by: Paul Keusemann - Explain why we don't enable infinite bursts on sparc64. - Given that these chips support memory write invalidate, make sure that it's enabled in the command register. Also make sure that PERR# and SERR# assertion is enabled. Notes: svn path=/stable/8/; revision=248047
* MFC: r247574Marius Strobl2013-03-081-4/+3
| | | | | | | | | - In sbbc_pci_attach() just pass the already obtained bus tag and handle instead of acquiring these anew. - Use NULL instead of 0 for pointers. Notes: svn path=/stable/8/; revision=248045
* MFC: r247573Marius Strobl2013-03-081-6/+41
| | | | | | | | | | | | | - Remove an unused header. - Use NULL instead of 0 for pointers. - Let ofw_pcib_probe() return BUS_PROBE_DEFAULT instead of 0 so specialized PCI-PCI-bridge drivers may attach instead. - Add WARs for PLX Technology PEX 8114 bridges and PEX 8532 switches. Ideally, these should live in MI code but at least for the latter we're missing the necessary infrastructure there. Notes: svn path=/stable/8/; revision=248043
* MFC: r236736Marius Strobl2013-03-081-0/+31
| | | | | | | | | | | | | | Add support for the Sunix SER5437A dual serial PCI Express card. MFC: r239048 Add additional Perle Speed LE serial cards PR: kern/168816 Submitted by: Dennis Oyama <doyama@perle.com> Notes: svn path=/stable/8/; revision=248041
* MFC: r247571Marius Strobl2013-03-081-7/+8
| | | | | | | | | | | | | | | | | | | | | - Apparently, r186520 was just wrong and the clock of Oxford OX16PCI958 is neither DEFAULT_RCLK * 2 nor DEFAULT_RCLK * 10 but plain DEFAULT_RCLK and there's no (open) source indicating otherwise. This was tested with an EXSYS EX-41098-2, whose clock is not configurable and identifies as: puc0@pci0:5:1:0: class=0x070200 card=0x06711415 chip=0x95381415 rev=0x01 hdr=0x00 vendor = 'Oxford Semiconductor Ltd' class = simple comms subclass = multiport serial Note that this exactly matches the card mentioned in PR 129665 so no sub-device/sub-vendor based quirking of the latter is possible. So maybe we should grow some sort of tunable, in case non-default cards such as the latter aren't configurable either (this also wouldn't be the first time an allegedly tested commit turns out to be wrong though). - Make the TiMedia tables const. Notes: svn path=/stable/8/; revision=248039
* MFC: r247565, r247590Marius Strobl2013-03-082-59/+35
| | | | | | | | | | | | | | - Make tables, device ID strings etc const. - Use NULL instead of 0 for pointers. - Remove redundant bzero(9)'ing of the softc. - Remove redundant/unused softc members. - Don't allocate MSI/MSI-X as RF_SHAREABLE. - Re-use bus accessor macros instead of duplicating them. - In bce_miibus_{read,write}_reg(), remove superfluous limiting of the PHY address (missed in r213893, which was MFC'ed to stable/8 in r214909). Notes: svn path=/stable/8/; revision=248037
* MFC: r247561Marius Strobl2013-03-081-52/+18
| | | | | | | | | | | | - Use strdup(9) instead of reimplementing it. - Use __DECONST instead of strange casts. - Reduce code duplication and simplify name2oid(). PR: 176373 Submitted by: Christoph Mallon Notes: svn path=/stable/8/; revision=248035
* MFC r247560:Konstantin Belousov2013-03-081-2/+6
| | | | | | | | Make the default implementation of the VOP_VPTOCNP() fail if the directory entry, matched by the inode number, is ".". Notes: svn path=/stable/8/; revision=248030
* MFC r247829Bryan Venteicher2013-03-081-8/+41
| | | | | | | | | Only set the barrier flag if the feature was negotiated Approved by: grehan (mentor) Notes: svn path=/stable/8/; revision=248027
* MFC r247412:Michael Tuexen2013-03-081-1/+2
| | | | | | | | | | Fix a potential race in returning setting errno when an association goes down. Reported by Mozilla in https://bugzilla.mozilla.org/show_bug.cgi?id=845513 Notes: svn path=/stable/8/; revision=248024
* MFC r246687:Michael Tuexen2013-03-084-19/+26
| | | | | | | Send the adaptation layer indication only if set by the user. Notes: svn path=/stable/8/; revision=248023
* MFC r246674:Michael Tuexen2013-03-084-64/+25
| | | | | | | | | | | | | Don't send kernel provided information in the User Initiated ABORT cause, since the user can also provide this kind of information. So the receiver doesn't know who provided the information. While there: Fix a bug where the stack would send a malformed ABORT chunk when using a send() call with SCTP_ABORT|SCT_SENDALL flags. Notes: svn path=/stable/8/; revision=248022
* MFC r246635:Michael Tuexen2013-03-081-180/+192
| | | | | | | | Make sure that received packets for removed addresses are handled consistently. While there, make variable names consistent. Notes: svn path=/stable/8/; revision=248021
* MFC r246595:Michael Tuexen2013-03-0810-320/+228
| | | | | | | | | Cleanup the handling of address scopes. Announce in the INIT/INIT-ACK only the supported address types. While there, do some whitespace cleanups. Notes: svn path=/stable/8/; revision=248019
* MFC r246588:Michael Tuexen2013-03-086-54/+57
| | | | | | | | | Fix a bug where HEARTBEATs were still sent in SHUTDOWN_SENT or SHUTDOWN_ACK_SENT state. While there, make the corresponding code consistent. Notes: svn path=/stable/8/; revision=248018
* MFC r244730:Michael Tuexen2013-03-081-15/+9
| | | | | | | Some cleanups. Notes: svn path=/stable/8/; revision=248017
* MFC r244729:Michael Tuexen2013-03-081-2/+2
| | | | | | | Minor cleanups of debug messages. Notes: svn path=/stable/8/; revision=248016
* MFC r244728:Michael Tuexen2013-03-081-1/+1
| | | | | | | Fix a copy and paste error. Notes: svn path=/stable/8/; revision=248015
* MFC r244033:Michael Tuexen2013-03-081-0/+4
| | | | | | | Get it compiling without INET and INET6 support (mainly userland stack). Notes: svn path=/stable/8/; revision=248014
* MFC r244026:Michael Tuexen2013-03-081-21/+32
| | | | | | | | Use correct padding of the ABORT chunk in case of an user initiated abort cause is used. Notes: svn path=/stable/8/; revision=248013