a seg-fault if the user specifies a keyword which is implemented as
an alias to some other keyword.
Submitted by: Kostik Belousov
Approved by: re (scottl)
Retire NETSMBCRYPTO as a kernel option and make its functionality
enabled by default in NETSMB and smbfs.ko.
With the most of modern SMB providers requiring encryption by
default, there is little sense left in keeping the crypto part
of NETSMB optional at the build time.
This will also return smbfs.ko to its former properties users
are rather accustomed to.
Submitted by: yar
Approved by: re (implicitly)
Add "-q" argument to getfacl(1), which suppresses the per-file header
comment listing the file name, owner, and group.
Submitted by: Jan Srzednicki <w at expro dot pl>
Approved by: re (scottl)
Reminded by: delphij
Convert the SYNOPSIS section to look like the ones used in other driver
manpages, mention module support.
Also add the crypto and cryptodev devices as the drivers are kind of useless
without them.
Approved by: re (hrs)
Convert the SYNOPSIS section to look like the ones used in other driver
manpages. Don't mention the include file, it's not important for the
operation of this driver.
Approved by: re (hrs)
- Fill in the correct rtm_index for RTM_ADD and RTM_CHANGE messages.
- Allow RTM_CHANGE to change a number of route flags as specified by
RTF_FMASK.
- The unused rtm_use field in struct rt_msghdr is redesignated as
rtm_fmask field to communicate route flag changes in RTM_CHANGE
messages from userland. The use count of a route was moved to
rtm_rmx a long time ago. For source code compatibility reasons
a define of rtm_use to rtm_fmask is provided.
Approved by: re
dsp.c revision 1.95
mixer.c revision 1.49
sound.c revision 1.103
sound.h revision 1.68
vchan.c revision 1.24
MEGA Fixes / Cleanup
--------------------
Fix severe 8bit integer overflow during channel creation and
destruction, especially for vchans. It turns out that channel
numbering always depend on d->devcount counter (which keep
increasing), while PCMMKMINOR() truncate everything to 8bit length.
At some point the truncation cause the newly created character device
overlapped with the existed one, causing erratic overall system
behaviour and panic. Easily reproduce with something like:
(Luckily, only root can reproduce this)
while : ; do
sysctl hw.snd.pcm0.vchans=200
sysctl hw.snd.pcm0.vchans=100
done
- Enforce channel/chardev numbering within 8bit boundary. Return
E2BIG if necessary.
- Traverse d->channels SLIST and try to reclaim "free" counter during
channel creation. Don't rely on d->devcount at all.
- Determine open direction using 'flags', not 'mode'. This bug exist
since past 4 years.
- Don't allow opening the same device twice, be it in a same or
different direction.
- O_RDWR is allowed, provided that it is done by a single open (for
example by mixer(8)) and the underlying hardware support true
full-duplex operation.
- Seal the fate of long standing memory leak (4 years, 7 months)
during pcm_unregister(). While destroying cdevs, scan / detect
possible children and free its SLIST placeholder properly.
- Optimize channel allocation / numbering even further. Do brute
cyclic checking only if the channel numbering screwed.
- Mega vchan create/destroy cleanup:
o Implement pcm_setvchans() so everybody can use it freely instead
of implementing their own, be it through sysctl or channel auto
allocation.
o Increase vchan creation/destruction resiliency:
+ it's possible to increase/decrease total vchans even during
busy playback/recording. Busy channel will be left alone,
untouched. Abusive test sample:
# play whatever...
#
while : ; do
sysctl hw.snd.pcm0.vchans=1
sysctl hw.snd.pcm0.vchans=10
sysctl hw.snd.pcm0.vchans=100
sysctl hw.snd.pcm0.vchans=200
done
# Play something else, leave above loop running frantically.
+ Seal another 4 years old bug where it is possible to destroy
(virtual) channel even when its cdevs being referenced by other
process. The "First Come First Served" nature of dsp_clone() is
the main culprit of this issue, and usually manifest itself as
dangling channel <-> process association. Ensure that all of its
cdevs are free from being referenced before destroying it
(through ORPHAN_CDEVT() macross).
Approved by: re (scottl)
Convert NULL checks into KASSERT (and move them before the first
dereferencing) since a NULL value would be a bug here.
Note: Both affected functions look very similar. A refactoring may
be beneficial.
CID: 483, 485
Found with: Coverity Prevent(tm)
Approved by: re (scottl)
A pointer was checked for NULL after dereferencing it. The check is
not needed here, except there's a bug which results in detaching the
device twice.
Move the NULL pointer check to the beginning of the function and
convert it into a KASSERT.
CID: 483
Found with: Coverity Prevent(tm)
Approved by: re (scottl)
Don't set primary resume interrupt flag during channel initialization
since it can cause high interrupt rate (storm) and slowdown the entire
system.
Note: Please report back to me if this commit cause any abnormal
behaviour, especially during suspend / resume.
Reported/Submitted by: [1] Daan Vreeken [PA4DAN] <Danovitsch_at_vitsch dot net>
Reported/Confirmed by: [2] Angka H. K. <harikurniawan at gmail dot com>
MFC (revision 1.64)
Add device ID for nForce 410 MCP audio controller.
PR: kern/95257
Submitted by: cenix <cenixxx at gmail dot com>
Approved by: re (scottl)
Misc. fixups:
- [1] Make the driver friendly towards kernel without PREEMPTION.
Use msleep(9) instead of simple unlock-check_variable-lock
mechanisme since the later not really effective in non-preemptible
kernel (especially during codec detection routine).
- Free most driver resources in a sane manner to avoid possible
double free and panics especially during device detach and codec
detection failure.
Approved by: re (scottl)
[1] http://lists.freebsd.org/pipermail/freebsd-questions/2006-March/116515.html
Recover (?) support for AD1815 based ISA soundcards.
PR: kern/94388
Submitted by: Krzysztof Kotlenga <piernik at gmail dot com>
Approved by: re (scottl)
Add kbdmux(4) to GENERIC on i386 and amd64.
Remove the USB keyboard hack now that KBDMUX is enabled by default.
Allow it to be disabled if Safe Mode is selected.
Requested by: scottl
Approved by: re (scottl)
The following bug was just identified in OpenBSD and it looks like the same
bug exists in the other BSDen NFS servers.
A Linux client (don't know which version, but you can look at
http://bugzilla.kernel.org/show_bug.cgi?id=6256)
does a Setattr of mtime to the server's time, where the file is mode 0664 and
the client user has group access (ie. caller is not the file owner).
The BSD servers fail the Setattr with EPERM, since the VA_UTIMES_NULL flag
isn't set before doing the VOP_SETATTR.
It seems to me that this should be allowed, since it is allowed for a local
utimes(2). If so, the fix is to set VA_UTIMES_NULL for the
"set-time-to-server-time" cases of setting atime and/or mtime.
MFC of revision 1.140 to RELENG_6.
Submitted by: rick@snowhite.cis.uoguelph.ca
Reviewed by: cel
Approved by: re (scottl), silby