fixed a bug that uRPF does not work properly for an IPv6 packet bound for the sending machine itself
(this is a bug introduced due to a change in ip6_input.c:Rev.1.81.2.2)
Put probe-time printf of adapter speed and duplex behind bootverbose:
since the link takes a bit to negotiate, the information is pretty
much never available during the probe. As such, the boot output
pretty much always prints N/A for speed and duplex. Since we print
out the output of ifconfig during the user space boot, this early
boot information is also generally redundant, and added to the noise.
ls.c r1.81 and ls.1 r1.92:
date: 2005/11/10 00:02:32; author: mux; state: Exp; lines: +16 -8
Add a -I option to disable the automatic -A flag for the super-user.
ls.1 r1.93:
date: 2005/11/10 14:26:50; author: mux; state: Exp; lines: +2 -1
Mention the non-standardness of the -I option in ls(1).
Consider the zero-copy transmission of a page that was wired by mlock(2).
If a copy-on-write fault occurs on the page, the new copy should inherit
a part of the original page's wire count.
If a physical page is mapped by two or more virtual addresses, transmitted
by the zero-copy sockets method, and written to before the transmission
completes, we need to destroy all of the existing mappings to the page,
not just the one that we fault on. Otherwise, the mappings will no longer
be to the same page and changes made through one of the mappings will not
be visible through the others.
1. phttpget (and thus portsnap) now understands the HTTP_PROXY_AUTH
environment variable and basic HTTP proxy authentication.
2. portsnap.8 now contains a privacy notice.
3. portsnap can now ignore parts of the tree (similar to cvsup
"refuse" directives).
4. portsnap reacts sensibly if host(1) does not exist.
Introduce a new lock for the purpose of synchronizing access to the
UMA boot pages.
Disable recursion on the general UMA lock now that startup_alloc() no
longer uses it.
Eliminate the variable uma_boot_free. It serves no purpose.
Note: This change eliminates a lock-order reversal between a system
map mutex and the UMA lock. See
http://sources.zabbadoz.net/freebsd/lor.html#109 for details.
Attempt to complete the userspace integration of POSIX.1e extended ACLs.
This includes adding support for ACLs into cp(1) and mv(1) userspace
utilities.
For mv(1), if _PC_ACL_EXTENDED is in effect for the source AND destination
operands, the destination file's ACLs shall reflect the source.
For cp(1), if _PC_ACL_EXTENDED is in effect for both source and destination
operands, and -p has been specified, the ACLs from the source shall be
preserved on the destination.
src/sys/fs/devfs/devfs_vnops.c 1.128
src/sys/kern/vfs_subr.c 1.652
This is a workaround for a complicated issue involving VFS cookies and devfs.
The PR and patch have the details. The ultimate fix requires architectural
changes and clarifications to the VFS API, but this will prevent the system
from panicking when someone does "ls /dev" while running in a shell under the
linuxulator.
PR: 88249
Submitted by: "Devon H. O'Dell" <dodell@ixsystems.com>
-style(9) nits
MFC Log:
Fix long standing race condition associated with how lockf uses open(2)
for mutual exclusion:
A brief description of the problem:
1) Proc A picks up non-blocking lock on file X
2) Proc B attempts to pickup lock, fails then waits
3) Proc C attempts to pickup lock, fails then waits
4) Proc A releases lock
5) Proc B acquires lock, release it to pickup a non-blocking version
6) Proc C acquires lock, release it to pickup a non-blocking version
7) Both process B and C race each other to pickup lock again
This occurs mainly because the processes do not keep the lock after they have
been waiting on it. They drop it, attempt to re-acquire it. (They use the wait
to notify when the lock has become available then race to pick it up). This
results in additional CPU utilization during the race, and can also result
in processes picking locks up out of order.
This change attempts to correct this problem by eliminating the test/acquire
race and having the operating system handle it.
Un-break processing of device major/minor values with fstat -n. We do
this by accessing the cdev_priv element of the cdev structure. Looking
forward we need a better way to handle this, as this structure shouldn't
be frobbed by userspace.
Convert the primary ACL allocator from malloc(9) to using a UMA zone instead.
Also introduce an aclinit function which will be used to create the UMA zone
for use by file systems at system start up.
date: 2005/11/08 20:48:26; author: krion; state: Exp; lines: +1 -0
Introduce 3 new options for pkg_create(1), -x for using basic regular
expressions for pkg-name, -E for extended regexps and -G for exact matching.
These new options are only meaningful when using the -b flag of pkg_create(1),
and that the default for the -b parameter is now to do glob matching, as in
other pkg_foo utilities that support package patterns.
Submitted by: mux
> Copy SPRG0-3 registers at boot-time and restore when calling into
> OpenFirmware. FreeBSD/ppc uses SPRG0 as the per-cpu data area pointer,
> and SPRG1-3 as temporary registers during exception handling. There
> have been a few instances where OpenFirmware does require these to
> be part of it's context, such as cd-booting an eMac.
> Finally (!?) get to the bottom of the mysterious G3 boot-time panics.
> After a number of tests using nop's to change the alignment, it was
> confirmed that the mtibat instructions should be cache-aligned.
> FreeScale app note AN2540 indicates that the isync before and after
> the mtdbat is the right thing to do, but sync/isync isn't required
> before the mtibat so it has been removed.
>
> Fix by using a ".balign 32" to pull the code in question to the correct
> alignment.
revision 1.4
date: 2005/11/01 21:16:39; author: trhodes; state: Exp; lines: +0 -6
Quick kill links to the nsmb(8) manual page, there is no such
utility that I can find.
| There is no need to explicitly add "status" to $extra_commands in
| the /etc/rc.d/pf script as it is implicitly added by /etc/rc.subr's
| run_rc_command() because of the existing $pf_program.
|
| Submitted by: Christoph Schug <chris@schug.net>
Teach vmstat's domemstat_zone() to use memstat_kvm_uma() when the kvm
descriptor is non-NULL, restoring vmstat -z support for core dumps and
kmem access. These were broken with the introduction of UMA.
memstat_malloc:1.6 from HEAD to RELENG_6:
Teach libmemstat(3) how to extract malloc(9) statistics using kvm(3),
so that libmemstat can be used to view full memory statistics from
kernel core dumps and /dev/mem. This is provided via a new query
function, memstat_kvm_malloc(), which is also automatically invoked
by memstat_kvm_all(). A kvm handle must be passed in.
This will allow malloc(9)-specific code to be removed from vmstat(8).
memstat_uma.c:1.10 from HEAD to RELENG_6:
Add memstat_kvm_uma(), an implementation of a libmemstat(3) query routine
that knows how to extract UMA(9) allocator statistics from a core dump or
live memory image using kvm(3). The caller is expected to provide the
necessary kvm_t handle, which is then used by libmemstat(3).
With these changes, it is trivially straight forward to re-introduce
vmstat -z support on core dumps, which was lost when UMA was introduced.
In the short term, this requires including vm/ include files that are not
intended for extra-kernel use, requiring in turn some ugliness.
Merge memstat_uma.c:1.11 from HEAD to RELENG_6:
Define LIBMEMSTAT so that vm_page.h won't perform a nested include of
opt_vmpage.h.
Remove definition of _KERNEL, it is no longer required in order to
include uma_int.h, as the sensitive parts of uma_int.h (a number of
inlines depending on kernel-only constants) are now protected by
_KERNEL.
The use of LIBMEMSTAT here will be cleaned up in the future.