since they are only accessed by curthread and thus do not need any
locking.
- Move pr_addr and pr_ticks out of struct uprof (which is per-process)
and directly into struct thread as td_profil_addr and td_profil_ticks
as these variables are really per-thread. (They are used to defer an
addupc_intr() that was too "hard" until ast()).
The attached patch fixes a number of problems present in rpc.lockd.
1)
Nfslocklist_head.lf_first is overwritten because of an off-by-one-bug
that happens when clnt_cache_next_to_use is incorrectly incremented.
2)
'struct sockaddr *addr' inside 'struct file_lock' is set to point to
the result from svc_getrpccaller(). This value is malloc:ed inside the
rpc libraries and is free:ed when clnt_destroy() is called. Fix,
maintain a copy of the result.
3)
The loop inside retry_blockingfilelocklist() that uses 3 pointers ifl,
nfl, and pfl thrashes the list pointed to by
blockedlocklist_head.lf_first. Fix, use a simpler loop. The new loop
does not preserve list order but the order is immaterial anyways. See
also revison 1.6-1.7 and kern/61122.
4)
struct file_lock
char client_name[SM_MAXSTRLEN];
and
struct host
char name[SM_MAXSTRLEN];
Be careful to not create open (non 0 terminated) C strings and later
passing them to e.g syslog. Fix, make sure that the strings are always
terminated with 0. When at it, move the strings to the end of the
structs and make them variable length. This saves about 1000 bytes for
every malloc:ed struct.
5)
The newfl = malloc(sizeof(struct file_lock)) memory was never properly
bzero:ed.
Minor changes:
A)
Nlmtonlm4(0) made assumptions about struct layouts.
B)
Don't close stdout and stderr when debugging (-d option).
C)
Remove unused pid_t locker and int fd in struct file_lock.
D)
s/printf/debuglog/
E)
Remove redundant sleep(1) and call to debuglog().
Cheers,
Björn
define NULL. This means we cannot use NULL in the definition of CMSG_NXTHDR.
So replace NULL with 0.
PR: kern/60309
Submitted by: Jeff King <peff-freebsd@peff.net>
left around after the PCI probe, acpi_video stopped attaching because while
it was an acpi child device, it really is a PCI device. Fix this by making
it a PCI child.
* Remove non-handle ivars accesses since child busses only implement
acpi_get_handle().
* Access the acpi softc directly through the devclass instead of through
the implied parent.
* Clean up a potential panic on unload by freeing the sysctl context before
storing NULL in the OID.
Found by: marks
apply the patch of bin/61718 (which should include/elimatate kern/61122 also).
It seems to fix a few annoying bugs.
PR: bin/61718, kern/61122
Submitted by: bg@sics.seohartman@mail.physik.uni-mainz.de
- Unlike the builtin relational operators, builtin floating-point
constants were not available until gcc 3.3, so account for this.[1]
- Apparently some versions of the Intel C Compiler fallaciously define
__GNUC__ without actually being compatible with the claimed gcc
version. Account for this, too.[2]
[1] Noticed by: Christian Hiris <4711@chello.at>
[2] Submitted by: Alexander Leidinger <Alexander@Leidinger.net>
that have been added to <sys/procfs.h>. This change has no effect
because the source file that would be affected is not compiled on
FreeBSD. Hence, this is for completeness only.
- `sound'
The generic sound driver, always required.
- `snd_*'
Device-dependent drivers, named after the sound module names.
Configure accordingly to your hardware.
In addition, rename the `snd_pcm' module to `sound' in order to sync
with the driver names.
Suggested by: cg
trying to upgrade their system with make world instead of following
the preferred and suggested sequence of commands. The fact remains
that make world does not upgrade the kernel.
Allow make world when DESTDIR has been specified, including when
DESTDIR specifies the root file system. Otherwise, print a useful
warning and fail.
Reviewed, tested and scrutinized by: gad@
accurately represents the intention of the 'single' label element in
Biba and MLS labels. It also approximates the use of 'effective' in
traditional UNIX credentials, and avoids confusion with 'singlelabel'
in the context of file systems.
Inspired by: trhodes
The getfsstat(2) function expects a buffer and a count, and returns a count.
The confusing part is that the count it takes is a byte count, while the
return value is a count of the number of structures it has filled out.
Spell this out.
future:
rename ttyopen() -> tty_open() and ttyclose() -> tty_close().
We need the ttyopen() and ttyclose() for the new generic cdevsw
functions for tty devices in order to have consistent naming.
rev. 1.67, author: mycroft
Fix a byte order error.
rev. 1.68, author: mycroft
Adjust some silliness that was causing us to do extra work for
"frame list rollover" interrupts, which we pretty much ignore.
Obtained from: NetBSD
pmap_protect() and pmap_remove(). In general, they require the lock in
order to modify a page's pv list or flags. In some cases, however,
pmap_protect() can avoid acquiring the lock.