| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
error. The final sentence should read "*without* CTF data".
The in-kernel CTF parser caches the result of its first attempt to parse
CTF data from a module. On subsequent attempts to retrieve CTF data for
a module, return an error if there no CTF data.
This fixes a panic if you try to enable fbt probes on a module with CTF
data twice.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227969
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The DC calibration result obtained during initialization can't be
passed over to the runtime firmware on 6050 devices. Instead let
the runtime firmware do the calibration itself. This fixes support
for the 6050 series devices.
Submitted by: kevlo
Approved by: re (kib)
Obtained from: OpenBSD
Tested by: lx, Tz-Huan Huang(earlier version)
Notes:
svn path=/releng/9.0/; revision=227968
|
| |
|
|
|
|
|
|
|
|
| |
Move up the address to the top of the sctp_paddrthlds structure
like in all other structures. This avoids alignment problems.
Approved by: re@
Notes:
svn path=/releng/9.0/; revision=227949
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r227290:
Fix the DTrace pid return trap interrupt vector. Previously we were using
31, but that vector is reserved.
Without this fix, running dtrace -p <pid> would either cause the target
process to crash or the kernel to page fault
r227291:
Replace fasttrap_copyout() with uwrite(). FreeBSD copyout() is not able to
write to the .text section of a process.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227946
|
| |
|
|
|
|
|
|
|
|
| |
Set the MTU of an path to an approriate value if the interface MTU
can't be determined.
Approved by: re@
Notes:
svn path=/releng/9.0/; revision=227943
|
| |
|
|
|
|
|
|
|
|
| |
Don't copy uninitialized memory. Also simplify the comparison
of interface names.
Approved by: re@
Notes:
svn path=/releng/9.0/; revision=227941
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r227110:
In zvol_open() if the spa_namespace_lock is already held, it means that
ZFS is trying to open and taste ZVOL as its VDEV. This is not supported,
so return an error instead of panicing on spa_namespace_lock recursion.
Reported by: Robert Millan <rmh@debian.org>
PR: kern/162008
r227111:
Correct typo in comment.
Reported by: Fabian Keil <fk@fabiankeil.de>
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227927
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Test if the interface is afif in dhcpif() and syncdhcpif(), as
done in ipv6_autoconfif.
This fixes a regression that causes e.g. ifconfig_DEFAULT="DHCP"
to run on non-afif interfaces like pfsync0, which in turn would
cause excessive delay on system startup.
Sponsored by: iXsystems, Inc.
Reviewed by: hrs (freebsd-rc@)
Approved by: re (bz)
Notes:
svn path=/releng/9.0/; revision=227910
|
| |
|
|
|
|
|
|
|
| |
Add missing PF_UNLOCK in pf_test
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227899
|
| |
|
|
|
|
|
|
|
| |
Fix a use-after-free/redzone issue in the routing code.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227895
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The maximum TSO frame size should be:
maximum IP datagram size (65535 bytes) +
Ethernet header size (14 bytes) +
2 * VLAN tag size (4 bytes) [1].
[1] We need to multiply by 2 to account for the double VLAN tag
provision added in IEEE 802.1ad.
Submitted by: David Somayajulu (david.somayajulu qlogic.com)
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227892
|
| |
|
|
|
|
|
|
|
|
|
| |
Disable interrupt and preemption for smp_rendezvous() also in the
UP/!SMP case.
Sponsored by: Sandvine Incorporated
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227889
|
| |
|
|
|
|
|
|
|
|
|
| |
Return the correct value for the IPV6_MULTICAST_HOPS getsockopt() call.
Submitted by: rpaulo
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227887
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Consistently use process spin lock for protection of the
p->p_boundary_count. Race could cause the execve(2) from the threaded
process to hung since thread boundary counter was incorrect and
single-threading never finished.
Approved by: re (bz)
Notes:
svn path=/releng/9.0/; revision=227886
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add a note to src/Makefile that explains that 'rm' runs twice because
thesecond invocation only needs to operate on files with the immutable
flag set.
- Fix the note in r227769 to be less specific to the immutable flag.
- Replace 'chflags' with 'file flags' in a comment, since 'chflags'is a
command, not a flag itself.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227880
|
| |
|
|
|
|
|
|
|
|
|
| |
Pass CVWAIT flags to kernel, this should handle
Timeout correctly for pthread_cond_timedwait when
it uses kernel-based condition variable.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227877
|
| |
|
|
|
|
|
|
|
| |
Add 2010 and 2011 copyrights.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227766
|
| |
|
|
|
|
|
|
|
| |
Add mps(4) and mvs(4) to the hardware notes.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227764
|
| |
|
|
|
|
|
|
|
| |
Add qlxgb(4) to the hardware notes.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227762
|
| |
|
|
|
|
|
|
|
|
|
| |
- Grammar and mdoc cleanup.
- Remove list nesting in the hardware notes section, thus making it
compatible with the hardware notes generation script.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227733
|
| |
|
|
|
|
|
|
|
| |
Fix compilation with DEBUG defined.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227719
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Define curthread as an inline function that loads the thread pointer
directly from g7, the pcpu pointer. This guarantees correct behavior
when the thread migrates to a different CPU.
Commit message stolen from r205431. Additional testing by Peter Jeremy.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227715
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As it turns out, r186347 actually is insufficient to avoid the use of the
curthread-accessing part of mtx_{,un}lock(9) when using a r210623-style
curthread implementation on sparc64, crashing the kernel in its early
cycles as PCPU isn't set up, yet (and can't be set up as OFW is one of the
things we need for that, which leads to a chicken-and-egg problem). What
happens is that due to the fact that the idea of r210623 actually is to
allow the compiler to cache invocations of curthread, it factors out
obtaining curthread needed for both mtx_lock(9) and mtx_unlock(9) to
before the branch based on kobj_mutex_inited when compiling the kernel
without the debugging options. So change kobj_class_compile_static(9)
to just never acquire kobj_mtx, effectively restricting it to its
documented use, and add a kobj_init_static(9) for initializing objects
using a class compiled with the former and that also avoids using mutex(9)
(and malloc(9)). Also assert in both of these functions that they are
used in their intended way only.
While at it, inline kobj_register_method() and kobj_unregister_method()
as there wasn't much point for factoring them out in the first place
and so that a reader of the code has to figure out the locking for
fewer functions missing a KOBJ_ASSERT.
Tested on powerpc{,64} by andreast.
Reviewed by: nwhitehorn (earlier version), jhb
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227712
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r226612:
r226549:
Remove redundant size calculation.
r226550:
Initialize 'rc' properly before using it. This error could lead to infinite
loop when data reconstruction was needed.
r226551:
Don't mark vdev as healthy too soon, so we won't try to use invalid vdevs.
r226552:
Never pass NULL block pointer when reading. This is neither expected nor
handled by lower layers like vdev_raidz, which uses bp for checksum
verification. This bug could lead to NULL pointer reference and resets
during boot.
r226553:
Always pass data size for checksum verification function, as using
physical block size declared in bp may not always be what we want.
For example in case of gang block header physical block size declared
in bp is much larger than SPA_GANGBLOCKSIZE (512 bytes) and checksum
calculation failed. This bug could lead to accessing unallocated
memory and resets/failures during boot.
r226554:
Fix missing return when LOADER_GPT_SUPPORT is defined, but LOADER_MBR_SUPPORT
is not.
r226568:
- Correctly read gang header from raidz.
- Decompress assembled gang block data if compressed.
- Verify checksum of a gang header.
- Verify checksum of assembled gang block data.
- Verify checksum of uber block.
Submitted by: avg
r226569:
With LOADER_MBR_SUPPORT defined and LOADER_GPT_SUPPORT undefined we would
never call disk_openmbr().
Submitted by: avg
r226611:
- Allow to specify multiple files to check, eg.
zfsboottest gpt/system0 gpt/system1 - /boot/kernel/kernel /boot/zfsloader
- Instead of printing file's content calculate MD5 hash of the file,
so it can be easly compared to the hash calculated via file system.
- Some other minor improvements.
r226612:
Because ZFS boot code was very fragile in the past and real PITA to debug,
introduce zfsboottest.sh script that will verify if it will be possible to boot
from the given pool.
# zfsboottest.sh system
Where "system" is pool name of the pool we want to boot from.
What is being verified by the script:
- Does the pool exist?
- Does it have bootfs property configured?
- Is mountpoint property of the boot dataset set to 'legacy'?
Dataset configured in bootfs property has to be mounted to perform more
checks:
- Does the /boot directory in boot dataset exist?
- Is this dataset configured as root file system in /etc/fstab or set
in vfs.root.mountfrom variable in /boot/loader.conf?
By using zfsboottest tool the script will read all the files in /boot
directory using ZFS boot code and calculate their checksums.
Then, it will walk /boot directory using find(1) though regular file sytem
and also read all the files in /boot directory and calculate their checksums.
If any of the files cannot be looked up, read or checksum is invalid it will
be reported and booting off of this pool is probably not possible.
Some additional checks may be interesting as well. For example if the disks
contain proper pmbr and gptzfsboot code or if all expected files in /boot/
are present.
When upgrading FreeBSD, one should snapshot datasets that contain operating
system, upgrade (install new world and kernel) and use zfsboottest.sh to verify
if it will be possible to boot from new configuration. If all is good one
should upgrade boot blocks, by eg.:
# gpart -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada1
If something is wrong, one should rollback datasets and report the problems.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227710
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r226613:
libzpool task_alloc: pass only valid flags to kmem_alloc
tqflags may contain other flags besided those that are suitable for
kmem_alloc == umem_alloc
Submitted by: avg
r226615:
thr_create: new_thread_ID may be NULL
Submitted by: avg
r226616:
zdb: access dp_free_bpobj only if pool version is >= SPA_VERSION_DEADLISTS
Submitted by: avg
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227709
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
zfs vdev_file_io_start: validate vdev before using vdev_tsd
vdev_tsd can be NULL for certain vdev states.
At least in userland testing with ztest.
Submitted by: avg
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227708
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Update per-thread I/O statistics collection in ZFS.
This allows to see processes I/O activity in 'top -m io' output.
PR kern/156218
Reported by: Marcus Reid <marcus@blazingdot.com>
Patch by: avg
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227707
|
| |
|
|
|
|
|
|
|
| |
Document that flock can return ENOLCK
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227682
|
| |
|
|
|
|
|
|
|
|
|
| |
Fix svnversion for svn 1.7.x by not looking for .svn in ${SYSDIR}
(since it no longer exists). Instead, run svnversion if we can find
the binary and test that the output looks like a version string.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227678
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Import gcc fix for -fstack-protector that produces segfaulting
binaries on arm/armel.
Related gcc bug:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35965
Author kindly accepted that all of his patches can be use as GPLv2.
PR: 161128
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227665
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both a crash reported on freebsd-current on Oct. 18 under the
subject heading "mtx_lock() of destroyed mutex on NFS" and
PR# 156168 appear to be caused by clnt_dg_destroy() closing
down the socket prematurely. When to close down the socket
is controlled by a reference count (cs_refs), but clnt_dg_create()
checks for sb_upcall being non-NULL to decide if a new socket
is needed. I believe the crashes were caused by the following race:
clnt_dg_destroy() finds cs_refs == 0 and decides to delete socket
clnt_dg_destroy() then loses race with clnt_dg_create() for
acquisition of the SOCKBUF_LOCK()
clnt_dg_create() finds sb_upcall != NULL and increments cs_refs to 1
clnt_dg_destroy() then acquires SOCKBUF_LOCK(), sets sb_upcall to
NULL and destroys socket
This patch fixes the above race by changing clnt_dg_destroy() so
that it acquires SOCKBUF_LOCK() before testing cs_refs.
Tested by: bz
Reviewed by: dfr
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227631
|
| |
|
|
|
|
|
|
|
|
| |
Reword a sentence in the HARDWARE section a little to make it more suitable
for automatic hardware notes generation.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227620
|
| |
|
|
|
|
|
|
|
| |
Add qlxgb(4).
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227618
|
| |
|
|
|
|
|
|
|
| |
Write QLogic consistently.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227616
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Whenever you boot with nfsv4_server_enable=NO (the default) in rc.conf,
the /etc/rc.d/nfsd script sets vfs.nfsd.server_max_nfsvers to 3.
Then, when you set nfsv4_server_enable=YES in rc.conf, and restart nfsd
via the rc.d script, without rebooting, the sysctl does *not* get reset
to max version 4, so NFSv4 still doesn't work.
Fix this by explicitly setting vfs.nfsd.server_max_nfsvers to 4 when
NFSv4 is requested.
I also added resetting of the nfs_privport sysctls, since this has the
same issue: nfs_reserved_port_only=YES in rc.conf sets the nfs_privport
sysctl to 1, but in the other case, the sysctl doesn't get reset to 0.
Reviewed by: rmacklem
Silence from: rc@
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227608
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Let net80211 also know about stopped BA sessions. This fixes some issues
where the driver assumed that BA resources are still available due to
net80211 saying so.
PR: 161407, 159768
Tested by: cperciva, rene
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227571
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- add support for I-O DATA RSA-PCI2/R
PR: kern/142999
Submitted by: Takefu Kenji <takefu@airport.fm>
Approved by: jhb
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227566
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add reference to gpart(8).
MFC r227280:
Initialize "acc" value inside the loop to reset failed attempts.
PR: misc/162262
MFC r227292:
Improve error reporting when MBR can not be written.
Remove obsolete code which uses DIOCSMBR ioctl.
When writing MBR first check that GEOM_MBR is available, if it is not
available, then try write MBR directly to provider. If both are failed,
then recommend to use gpart(8).
MFC r227295:
Fix multi-line comment formatting.
Pointed by: jh
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227561
|
| |
|
|
|
|
|
|
|
| |
Add reference to gpart(8).
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227559
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To be in sync with GEOM_PART_BSD limit the maximum number of supported
partitions to 20.
MFC r227248:
bsdlabel(8) could automatically fill many of disklabel's deprecated
fields, but user could specify some of those fields when edits disklabel
with `bsdlabel -e`. But without -A flag these fields might be
overwritten with default values from the virgin disklabel.
So, don't overwrite such fields if they are not zero. Also add checks
to prevent creating disklabel with less than DEFPARTITIONS and more
than MAXPARTITIONS partitions.
PR: bin/162332
Tested by: Eugene Grosbein
MFC r227262:
Remove unneeded checks.
MFC r227270:
Add recommendation to use gpart(8) when user tries write disklabel
or bootcode to already opened provider.
MFC r227296:
Fix multi-line comment formatting.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227557
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add reference to gpart(8).
MFC r227298:
Remove a note about disabling of GEOM protection mechanism.
boot0cfg should work without such hack.
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227554
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do a dummy read to flush the interrupt ACK that we just performed,
ensuring that everything is really, truly consistent.
This fixes certain cases where one will see various:
mfi0: COMMAND 0xffffffXXXXXXXXXX TIMEOUT AFTER XX SECONDS
Submitted by: scottl
Ok'ed by: jhb
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227534
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Fix false positive EADDRINUSE that could be returned by bind, due to
the typo made in r227207.
Reported by: kib
Tested by: kib
Approved by: re (kib)
Notes:
svn path=/releng/9.0/; revision=227451
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r227204:
Fix the typo made in r157474.
r227206:
Before dereferencing intotw() check for NULL, the same way as it is
done for in_pcb (see r157474).
r227207:
Cache SO_REUSEPORT socket option in inpcb-layer in order to avoid
inp_socket->so_options dereference when we may not acquire the lock on
the inpcb.
This fixes the crash due to NULL pointer dereference in
in_pcbbind_setup() when inp_socket->so_options in a pcb returned by
in_pcblookup_local() was checked.
Reported by: dave jones <s.dave.jones@gmail.com>, Arnaud Lacombe <lacombar@gmail.com>
Suggested by: rwatson
Glanced by: rwatson
Tested by: dave jones <s.dave.jones@gmail.com>
Approved by: re (kib)
Notes:
svn path=/stable/9/; revision=227428
|
| |
|
|
|
|
|
|
|
|
| |
When loading addresses from INITs, always use the correct
local address.
Approved by: re@
Notes:
svn path=/stable/9/; revision=227426
|
| |
|
|
|
|
|
|
|
| |
Initialize all components of the sent COOKIE.
Approved by: re@
Notes:
svn path=/stable/9/; revision=227424
|
| |
|
|
|
|
|
|
|
|
|
| |
that depend on the incorrect IP length field. The fix stays in
HEAD and ports should test for it.
Requested by: glebius
Approved by: re (kib)
Notes:
svn path=/stable/9/; revision=227423
|
| |
|
|
|
|
|
|
|
|
| |
Speed up vm_page_cache() and vm_page_remove() by checking for a few
common cases that can be handled in constant time.
Approved by: re (kib)
Notes:
svn path=/stable/9/; revision=227420
|
| |
|
|
|
|
|
|
|
| |
Added missing cache purge of from argument.
Approved by: re (kensmith)
Notes:
svn path=/stable/9/; revision=227402
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add a new header for the x86 boot code that defines various structures
and constants related to the BIOS Enhanced Disk Drive Specification.
- Use this header instead of magic numbers and various duplicate structure
definitions for doing I/O.
- Use an actual structure for the request to fetch drive parameters in
drvsize() rather than a gross hack of a char array with some magic
size. While here, change drvsize() to only pass the 1.1 version of
the structure and not request device path information. If we want
device path information you have to set the length of the device
path information as an input (along with probably checking the actual
EDD version to see which size one should use as the device path
information is variable-length). This fixes data smashing problems
from passing an EDD 3 structure to BIOSes supporting EDD 4.
Approved by: re (kib)
Notes:
svn path=/stable/9/; revision=227400
|