Commit Graph

99624 Commits

Author SHA1 Message Date
cperciva
9f17986268 If we're going to panic(), do it before dereferencing a NULL pointer.
Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor)
2004-02-22 01:11:53 +00:00
cperciva
f8fa6977f5 Check that xfer != NULL before dereferencing it, not after.
Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor)
2004-02-22 01:10:11 +00:00
cperciva
d3deac34ea If we're going to assert that logData != NULL, do it before we
try to dereference logData.

Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor), scottl
2004-02-22 01:08:33 +00:00
cperciva
ae73820125 We want to allocate and zero sizeof(struct foo) bytes, not
sizeof(struct foo *) bytes.

Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor), scottl
2004-02-22 01:06:05 +00:00
cperciva
b5743daf69 Fix off-by-one error: sc->twe_drive is an array of TWE_MAX_UNITS elements.
Reported by:	"Ted Unangst" <tedu@coverity.com>
Approved by:	rwatson (mentor)
2004-02-22 01:03:38 +00:00
njl
93bc079347 Some markup fixes, change some devices to a feature. 2004-02-22 00:50:00 +00:00
rwatson
90431761a2 Update my personal copyrights and NETA copyrights in the kernel
to use the "year1-year3" format, as opposed to "year1, year2, year3".
This seems to make lawyers more happy, but also prevents the
lines from getting excessively long as the years start to add up.

Suggested by:	imp
2004-02-22 00:33:12 +00:00
njl
4e763f534d Update the debug.acpi.disable section for missing devices and the special
"all" value.
2004-02-22 00:30:43 +00:00
njl
6c22ad59a4 bus_set_resource takes a rid, not a pointer to a rid. 2004-02-22 00:29:04 +00:00
phk
711ff67b90 Check for NODEV return from udev2dev() 2004-02-21 23:52:03 +00:00
peter
4f161dd3db Regen (FWIW) 2004-02-21 23:38:58 +00:00
peter
e2003f8831 Try and make the compat sigreturn prototypes closer to reality. 2004-02-21 23:37:33 +00:00
peter
069b973e5f Add a note about the landmine in the middle of struct ia32_sigframe. 2004-02-21 23:36:31 +00:00
peter
db9b36ed41 DOH!!! Fix signals for freebsd-4.x/i386 binaries. The ucontext has
different alignments due to the sse fxsave dump area.
2004-02-21 23:35:56 +00:00
peter
7f7fe0e81c Catch up with some proc/procsig locking improvements that were made to the
i386 version and were not merged over.
2004-02-21 23:34:42 +00:00
alc
ecf8be493e Eliminate the second, unnecessary call to pmap_page_protect() near the end
of vm_pageout_flush().  Instead, assert that the page is still write
protected.

Discussed with:	tegge
2004-02-21 23:32:00 +00:00
rees
60da34312f in idmap_uid_to_name(), don't try to use the entry after freeing it, in the
idmap_add failure case (found by Ted Unangst via Colin Percival)

also convert idmap_hashf to return void, since it can't fail

also change some panics to error returns
2004-02-21 22:52:02 +00:00
bde
4159786890 Fixed a serious off by 1 error. The cluster-in-use bitmap was overrun
by 1 u_int if the number of clusters was 1 more than a multiple of
(8 * sizeof(u_int)).  The bitmap is malloced and large (often huge), so
fatal overrun probably only occurred if the number of clusters was 1
more than 1 multiple of PAGE_SIZE/8.
2004-02-21 22:47:19 +00:00
green
458859b908 Add some more comments and a -4 argument to restrict searches to only
A (not default A and AAAA) records.  Now the longest time that a -4
thread might hang trying to resolve is only 2:30 instead of 5:00 ;)
2004-02-21 22:42:54 +00:00
rees
588863d371 ask for rdattr_err in readdir, so we won't fail the readdir if we can't get
attrs on one or more entries
2004-02-21 22:10:35 +00:00
phk
923e33764d Bump __FreeBSD_version to mark cdevsw megapatching. 2004-02-21 22:06:18 +00:00
phk
5551e292d8 Device megapatch 6/6:
This is what we came here for:  Hang dev_t's from their cdevsw,
refcount cdevsw and dev_t and generally keep track of things a lot
better than we used to:

Hold a cdevsw reference around all entrances into the device driver,
this will be necessary to safely determine when we can unload driver
code.

Hold a dev_t reference while the device is open.

KASSERT that we do not enter the driver on a non-referenced dev_t.

Remove old D_NAG code, anonymous dev_t's are not a problem now.

When destroy_dev() is called on a referenced dev_t, move it to
dead_cdevsw's list.  When the refcount drops, free it.

Check that cdevsw->d_version is correct.  If not, set all methods
to the dead_*() methods to prevent entrance into driver.  Print
warning on console to this effect.  The device driver may still
explode if it is also incompatible with newbus, but in that case
we probably didn't get this far in the first place.
2004-02-21 21:57:26 +00:00
phk
39fb4aef3d Device megapatch 5/6:
Remove the unused second argument from udev2dev().

Convert all remaining users of makedev() to use udev2dev().  The
semantic difference is that udev2dev() will only locate a pre-existing
dev_t, it will not line makedev() create a new one.

Apart from the tiny well controlled windown in D_PSEUDO drivers,
there should no longer be any "anonymous" dev_t's in the system
now, only dev_t's created with make_dev() and make_dev_alias()
2004-02-21 21:32:15 +00:00
phk
ad925439e0 Device megapatch 4/6:
Introduce d_version field in struct cdevsw, this must always be
initialized to D_VERSION.

Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing
four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
2004-02-21 21:10:55 +00:00
rees
d68e8ba04c change baduser and badgroup from -2 to 65534, 65533
these should probably be looked up instead, but this is better than before
also minor format changes for style(9)
2004-02-21 21:02:59 +00:00
phk
fcf7e634fb Device megapatch 3/6:
Add missing D_TTY flags to various drivers.

Complete asserts that dev_t's passed to ttyread(), ttywrite(),
ttypoll() and ttykqwrite() have (d_flags & D_TTY) and a struct tty
pointer.

Make ttyread(), ttywrite(), ttypoll() and ttykqwrite() the default
cdevsw methods for D_TTY drivers and remove the explicit initializations
in various drivers cdevsw structures.
2004-02-21 20:41:11 +00:00
phk
32b7c9a433 Device megapatch 2/6:
This commit adds a couple of functions for pseudodrivers to use for
implementing cloning in a manner we will be able to lock down (shortly).

Basically what happens is that pseudo drivers get a way to ask for
"give me the dev_t with this unit number" or alternatively "give
me a dev_t with the lowest guaranteed free unit number" (there is
unfortunately a lot of non-POLA in the exact numeric value of this
number, just live with it for now)

Managing the unit number space this way removes the need to use
rman(9) to do so in the drivers this greatly simplifies the code in
the drivers because even using rman(9) they still needed to manage
their dev_t's anyway.

I have taken the if_tun, if_tap, snp and nmdm drivers through the
mill, partly because they (ab)used makedev(), but mostly because
together they represent three different problems for device-cloning:

if_tun and snp is the plain case: just give me a device.

if_tap has two kinds of devices, with a flag for device type.

nmdm has paired devices (ala pty) can you can clone either of them.
2004-02-21 20:29:52 +00:00
phk
df397dedea Device megapatch 1/6:
Free approx 86 major numbers with a mostly automatically generated patch.

A number of strategic drivers have been left behind by caution, and a few
because they still (ab)use their major number.
2004-02-21 19:42:58 +00:00
harti
ab77c85da2 Use the more appropriate vm_paddr_t in places where a physical
address for DMA is handled instead of pointers.

Submitted by:	Joerg Sonneberger <joerg@britannica.bec.de>
2004-02-21 19:08:23 +00:00
sos
1de14db959 Dont alloc size 0 buffers. 2004-02-21 18:30:03 +00:00
sos
7a8fa65984 Check both PORTEN and MEMEN for enabled HW. 2004-02-21 18:21:13 +00:00
sos
74a845e42e Only register interrupt as seen if it was a real HW interrupt. 2004-02-21 16:55:10 +00:00
harti
18065b763b Fix a couple of potential buffer overflows.
Submitted by:	christer.oberg@texonet.com
2004-02-21 16:29:10 +00:00
yar
44ed42c915 We can cross-reference to vlan(4) as long as
the corresponding manpage has been committed.
The rest of "vlan" words, which are refering
to the technology itself, should be capitalized.

MFC after:	1 week
2004-02-21 14:21:18 +00:00
yar
2fbac50c91 The hardware tagging capability is set on the physical
interface that is parent to a vlan(4) interface,
not on the vlan(4) interface itself.
2004-02-21 14:11:57 +00:00
harti
570158ff71 Make sure that the first mbuf in the chain passed to atm_intr
always contains a packet header.
2004-02-21 13:01:54 +00:00
harti
f5e52d8bdd The token for atm_intr is actually a void *, not an int. Clarify
what atm_intr expects in a comment and de-obfuscate the code a little
bit by replacing the portability macros with the native BSD names.
2004-02-21 12:59:14 +00:00
yar
c018b8a86e Minor beautifications related to style(9) and code consistency.
No functional changes.
2004-02-21 12:56:09 +00:00
harti
a2c86ff9f2 Don't remove the first mbuf in the chain if it got empty.
This removes the packet header in certain cases which later on
will give panic. Clarify what the atm_intr expects in the comment
and de-obscurify the code a little bit by replacing the portability
macros with the BSD names. The code isn't maintained externally anymore
so there's no point in keeping the extra level of obscurity.
2004-02-21 12:55:07 +00:00
yar
3325da8ccd Improve the SIOCSIFCAP handler a bit:
- allow for ifp->if_ioctl being NULL, as the rest of ifioctl() does;
- give the interface driver a chance to report a error to the caller;
- don't forget to update ifp->if_lastchange upon successful modification
  of interface operation parameters.
2004-02-21 12:48:25 +00:00
phk
80fe0dbbdf Remove the triplicity in the public functions by vectoring them all
through a realloc like function.

Make the malloc_active variable a local static to this new function.

Don't warn about recursion more than once per base call.

constify malloc_func.
2004-02-21 09:14:38 +00:00
phk
9942edab59 Move the check for sensitive processes to the point where the exception
has been hit, this makes it cover more cases.

Call the message function directly rather than fiddle with flag-saving
when we find an unknown character in our options.

The 'A' flag should not trigger on legal out of memory conditions.
2004-02-21 08:55:38 +00:00
scottl
0c90ec6882 Fix a major brain-o. If the command needs to be put on the deferred queue,
take it off of the busy queue first.  This should fix the 'command is on
another queue' panic that showed up recently.
2004-02-21 05:32:40 +00:00
green
0e3db67aec Print the maximum resolution time encountered by each thread. Did you
know that the resolver might keep trying on a getaddrinfo() for up to
FIVE MINUTES?
2004-02-21 02:52:49 +00:00
imp
8f5005a2db Update instructions on /rescue vs -j to indicate a fixed date. 2004-02-20 22:38:21 +00:00
des
4c4ff6d191 the default password policy for xdm should be pam_deny, since it is
incapable of holding a meaningful conversation.
2004-02-20 21:59:51 +00:00
mux
14d69ee306 Mention that securelevel 1 also blocks access to /dev/io if it
exists (not all platforms have it).
2004-02-20 21:38:23 +00:00
scottl
f06e4c4e4a Add somemore items to the list. The purpose is not to extert control over
these, but to let people know that they are maintained.
2004-02-20 21:27:04 +00:00
cognet
2cb4b68cb5 Do not test if pDCB is not NULL, we dereference it before anyway, and it
should not happen. Add a KASSERT instead.

Reported by:	Ted Unangst <tedu@coverity.com>
Spotted out by:	cperciva
2004-02-20 20:36:55 +00:00
ume
b9b55438a3 add destination address selection support for getipnodebyname(3).
though getipnodebyname(3) is obsoleted api, some major applications
such as Mozilla are still using it.  so, it will help ipv4 users.
2004-02-20 17:59:33 +00:00