| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<kvm.h> is self-sufficient again.
Moved typedefs and forward struct declarations out of __BEGIN_DECLS/
__END_DECLS.
Don't comment out the prototype for kvm_uread(). This was a 4 year
old kludge for previous breakage of self-sufficiency. The prototypwe
was broken instead.
Fixed bitrot (const poisoning) in the type of kvm_uread().
Fixed order of the declaration of kvm_uread().
|
|
|
|
|
|
|
|
|
| |
Not tested on the if_sr, if_cx and if_ar drivers, but
expected to work just the same as it used to.
Any users of these drivers (or even better: donors
of hardware for them) please contact phk@freebsd.org
so we can test the next batch of changes to if_sppp.
|
|
|
|
|
|
|
|
|
|
| |
fixes a type mismatch in the call to kvm_uread(). The bug has gone
undetected for almost 3 years because kvm_uproc()'s protoype has been
disabled for almost 4 years.
Trust sysctlbyname() to work properly if it succeeds.
Fixed style bugs in revs. 1.19 and 1.22.
|
|
|
|
|
|
| |
if_route() and if_unroute().
This is first step towards sanitizing IFF_UP and IFF_RUNNING
|
|
|
|
| |
Submitted by: Amancio Hasty <hasty@rah.star-gate.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reporting since this past summer. (I think Daniel O'Conner was the first.)
The problem appears to have been something like this:
- cdda2wav by default passes in a buffer that is close to the 128K MAXPHYS
limit.
- many times, the buffer is not page aligned
- vmapbuf() truncates the address, so that it is page aligned
- that causes the total size of the buffer to be greater than MAXPHYS,
which of course is a bad thing.
Here's a quote from the PR (kern/9067):
==================
In particular, note bp->b_bufsize = 0x0001f950 and bp->b_data = 0xf2219960
(which does not start on a page boundary). vunmapbuf() loops through all
the pages without any difficulty until addr reaches 0xf2239000, and then
the panic occurs. This seems to indicate that we are exceeding MAXPHYS
since we actually started from the middle of a page (the data is being
transfered to a non page aligned location).
To complete the description, note that the system call originates from
ReadCddaMMC12() (in scsi_cmds.c of cdda2wav) with a request to read 55
audio sectors of 2352 bytes (which is calculated to fall under MAXPHYS).
This in turn ends up calling scsi_send() (in scsi-bsd.c) which calls
cam_fill_csio() and cam_send_ccb(). This results in a CAMIOCOMMAND ioctl
with a ccb function code of XPT_SCSI_IO.
==================
The fix is to change the size check in cam_periph_mapmem() so that it is
like the one in minphys(). In particular, it is something like:
if ((buffer_length + (buf_ptr & PAGE_MASK)) > MAXPHYS)
buffer is too big
My fix is based on the one in the PR, but I cleaned up a fair number of
things in cam_periph_mapmem(). The checks for each buffer to be mapped
are now in a separate loop from the actual mapping operation. With the new
arrangement, we don't have to bother with unmapping any previously mapped
buffers if one of the checks fails.
Many thanks to James Liu for tracking this down. I'd appreciate it if some
vm-savvy folks would look this over. I believe this fix is correct, but I
could be wrong.
PR: kern/9067 (also, kern/8112)
Reviewed by: gibbs
Submitted by: "James T. Liu" <jtliu@phlebas.rockefeller.edu>
|
| |
|
|
|
|
|
|
|
|
| |
an unimprovement here. I thought it would be an improvement, as in libkvm,
but here we can access the strings directly.
Use sysctlbyname() instead of sysctl() and trust it to give a nonzero
address if it succeeds.
|
|
|
|
| |
PR: docs/8674
|
|
|
|
| |
Prompted by: PR docs/7785
|
|
|
|
|
| |
about fdisk and securelevel 2.
PR: docs/7785
|
|
|
|
|
|
|
| |
adjusted related casts to match (only in the kernel in this commit).
The pointer was only wanted in one place in kern_exec.c. Applications
should use the kern.ps_strings sysctl instead of PS_STRINGS, so they
shouldn't notice this change.
|
|
|
|
|
|
|
|
|
| |
across the kernel -> application interface, and for the one sysctl where
they were passed and actually used (kern.ps_strings), the applications
want addresses represented as u_longs anyway (the other sysctl that
passed them, kern.usrstack, has never been used).
Agreed to by: dfr, phk
|
|
|
|
|
| |
Update description of struct url_stat in the man page.
Clean up error handling in ftp.c.
|
|
|
|
| |
expressions involving USRSTACK.
|
|
|
|
| |
Submitted by: Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
|
|
|
|
|
|
| |
an on-delete script.
Submitted by: Rajesh Vaidheeswarran <rv@fore.com>
|
| |
|
|
|
|
|
|
| |
backend targets. Old variant cause top level things build in
/usr/obj/elf while lower level things build in /usr/obj which cause
mismatch
|
| |
|
|
|
|
|
|
|
|
|
| |
Brucify the Makefile.
Differentiate atime and mtime in fetch*Stat().
Fix a few pointer bugs.
Tweak some error messages.
Don't #include sys/param.h and stdio.h in fetch.h.
Document that sys/param.h and stdio.h must be #included before fetch.h.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
on rshd and rlogind. However, note that:
1: rshd used to drop a connection with -a if the hostname != ip address.
This is unneeded, because iruserok() does it's own checking.
It was also wrong if .rhosts had an explicit IP address in it,
connections would be dropped from that host solely because the DNS was
mismatched even though it was explicitly intended to work by IP address.
2: rlogind and rshd check the hostname mappings by default now because that
is what goes into the utmp/wtmp and logs. If the hostname != ip address,
then it uses the IP address for logging/utmp/wtmp purposes. There isn't
much point logging ficticious hostnames.
3: rshd -a is now accepted (but ignored) for compatability. If you really
want to make life miserable for people with bad reverse DNS, use tcpd in
paranoid mode (which is questionable anyway, given DNS ttl tweaking).
|
| |
|
|
|
|
| |
curses/termcap/terminfo implementations and causes recursion.
|
|
|
|
|
| |
nasty consequences when the system curses is ncurses as this conflicts
with a ncurses funciton and causes recursion.
|
|
|
|
| |
%s/%m in the default /etc/gettytab.
|
|
|
|
| |
uname/gname overrides and /sets.
|
|
|
|
| |
previous /set.
|
|
|
|
| |
previous /set defaults
|
|
|
|
| |
Create/remove /etc/wall_cmos_clock without using system() and magic paths.
|
|
|
|
| |
use mkdtemp() rather than mktemp() and fix a trivial memory leak.
|
| |
|
| |
|
|
|
|
| |
Obtained from: OpenBSD
|
|
|
|
| |
Obtained from: OpenBSD
|
|
|
|
| |
Obtained from: OpenBSD
|
|
|
|
| |
Thanks to: A friend at Sun auditing dump/restore for Solaris.
|
|
|
|
| |
Obtained from: OpenBSD
|
|
|
|
|
|
| |
overflowing a buffer.
Obtained from: Either OpenBSD or a discussion in bugtraq.
|
|
|
|
| |
Obtained from: OpenBSD
|
|
|
|
| |
Obtained from: OpenBSD
|
|
|
|
| |
in a release or buildworld environment, so I'll leave it disabled.
|
|
|
|
| |
and some code glitches had to be fixed.
|
|
|
|
| |
in the makeworld environment.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Problem reported by: Christopher Hall <hsw@acm.org>
|