Commit Graph

157568 Commits

Author SHA1 Message Date
avg
3c57df2dbc strict kobj signatures: fix assortment of miibus_writereg impls
return type should be int, not void

Reviewed by:	imp, current@
Approved by:	jhb (mentor)
2009-06-11 17:14:54 +00:00
avg
d5ad944b79 strict kobj sigs: fix assortment of device_detach and device_shutdown impls
with common issue of having void return type instead of int

Reviewed by:	imp, current@
Approved by:	jhb (mentor)
2009-06-11 17:14:28 +00:00
sam
81fd220c2b make implicit pad visible 2009-06-11 17:10:21 +00:00
sam
4c6bb21c7f use negotiated short gi to calculate the tx rate; using the htcaps
does not take into account local state (e.g. manual disable of sgi)
2009-06-11 17:09:39 +00:00
avg
4c69d78e34 strict kobj signatures: fix assortment of bus_read_ivar impls
Reviewed by:	imp, current@
Approved by:	jhb (mentor)
2009-06-11 17:06:58 +00:00
ps
9cb3f3ca17 Stop asserting on exclusive locks in fsync since it can now support
shared vnode locking on ZFS.

Reviewed by:	jhb
2009-06-11 17:06:45 +00:00
avg
2511f4d43b strict kobj signatures: fix legacy i386 pcib_write_config impl
Reviewed by:	imp, current@
Approved by:	jhb (mentor)
2009-06-11 17:06:31 +00:00
avg
33c80de118 strict kobj signatures: fixes in agp driver
offset parameter has vm_offset_t type in calling code and in kobj method

Reviewed by:	imp, rnoland, lulf, current@
Approved by:	jhb (mentor)
2009-06-11 17:06:07 +00:00
avg
fb53877c40 strict kobj signatures: linker_if fixes
in symtab_get method symtab parameter is made constant as this reflects
actual intention and usage of the method

Reviewed by:	imp, current@
Approved by:	jhb (mentor)
2009-06-11 17:05:45 +00:00
avg
024c4eba43 strict kobj signatures: number of fixes for arm architecture
no functional changes should result

Reviewed by:	imp, current@
Approved by:	jhb (mentor)
2009-06-11 17:05:13 +00:00
stas
6d656f36a9 - Make pstat(8) WARNS=6 safe.
- While here, eliminate the check for len > 0 in ttymode_sysctl
  as the code is able to handle this case well.

Reviewed by:	ed (initial version)
2009-06-11 17:03:28 +00:00
zec
68bcef74fb In struct thread, fields td_vnet and td_vnet_lpush may only be accessed
via curthread (via appropriate macros), so update the comment indicating
the protection model for those two fields.
2009-06-11 17:03:15 +00:00
zec
6448f34585 Introduce a mechanism for detecting calls from outbound path of the
network stack when reentering the inbound path from netgraph, and
force queueing of mbufs at the outbound netgraph node.

The mechanism relies on two components.  First, in netgraph nodes
where outbound path of the network stack calls into netgraph, the
current thread has to be appropriately marked using the new
NG_OUTBOUND_THREAD_REF() macro before proceeding to call further
into the netgraph topology, and unmarked using the
NG_OUTBOUND_THREAD_UNREF() macro before returning to the caller.
Second, netgraph nodes which can potentially reenter the network
stack in the inbound path have to mark their inbound hooks using
NG_HOOK_SET_TO_INBOUND() macro.  The netgraph framework will then
detect when there is a danger of a call graph looping back from
outbound to inbound path via netgraph, and defer handing off the
mbufs to the "inbound" node to a worker thread with a clean stack.

In this first pass only the most obvious netgraph nodes have been
updated to ensure no outbound to inbound calls can occur.  Nodes
such as ng_ipfw, ng_gif etc. should be further examined whether a
potential for outbound to inbound call looping exists.

This commit changes the layout of struct thread, but due to
__FreeBSD_version number shortage a version bump has been omitted
at this time, nevertheless kernel and modules have to be rebuilt.

Reviewed by:	julian, rwatson, bz
Approved by:	julian (mentor)
2009-06-11 16:50:49 +00:00
jkim
3b251954d0 - Remove unnecessary read memory barriers from atomic operations[1].
- Define a macro to make my intention more clearer.

Submitted by:	jhb [1]
2009-06-11 16:48:59 +00:00
avg
6e90fbd7cb syslog.conf: pop up from logging only ppp messages at the end of file
This allows to append custom rules at the end of the file without
risk of confusion that can result when one misses default !ppp line
and doesn't add another program specification and thus subsequent
selector(s) would belong to ppp program block.

Requested by:	marck
Submitted by:	marck
Approved by:	jhb (mentor)
2009-06-11 15:07:02 +00:00
jhb
ea832e9f39 Correct printf format type mismatches. 2009-06-11 14:37:18 +00:00
jhb
59765b88ce Trim extra ()'s.
Submitted by:	bde
2009-06-11 14:36:13 +00:00
ed
ffdcd121dd Use the documented machine constraint for SSE registers.
The amd64-specific bits of msun use an undocumented constraint, which is
less likely to be supported by other compilers (such as Clang). Change
the code to use a more common machine constraint.

Obtained from:	/projects/clangbsd/
2009-06-11 13:59:51 +00:00
bz
a3e3d3a465 All these Ethernet NICs depend on INET, mostly for unconditional
cksum related function calls, sometimes related to offload features
from what I could see.xi
It would be good if the offload functionality would be properly
#ifdefed but the other calls to cksum related functions are a more
general problem also elswhere in the network stack.
2009-06-11 12:56:14 +00:00
bz
8c7d904d93 if_igb.c as well as ixgbe.c uncondtionally depend on INET specific
functions, especially but not solely tcp_lro_*.
2009-06-11 12:44:13 +00:00
bz
6400856825 As sys/kern/uipc_accf.c depends on inet, all three accf_*
implementations do as well for accept_filt_generic_mod_event().
In addition accf_http also needs inet for the sysctl mib path.
2009-06-11 12:21:41 +00:00
bz
86444ff280 ng_ipfw depends on inet and ipfirewall as well.
ng_nat depends on inet and libalias and
most of libalias depends on inet.
Update dependencies to porperly reflect this.
2009-06-11 12:17:57 +00:00
bz
acf0eecc04 ip_dummynet.c depends on INET.
Note: this may be more because of improper #ifdefs these days.
2009-06-11 12:06:37 +00:00
bz
ac10233a0a netinet/if_ether.c (doing ARP) depends on INET as well. 2009-06-11 12:01:14 +00:00
bz
c5ade58b7f if_enc(4) is only useful with ipsec and either inet or inet6. 2009-06-11 11:17:16 +00:00
bz
4eded0ddd9 stf(4) supports `6to4' IPv6 in IPv4 encapsulation accroding to RFC3056.
It thus needs both INET and INET6 to do its duty.
2009-06-11 11:13:35 +00:00
bz
3669044bd3 if_bridge(4) unfortunately is missing a lot of #ifdef INETs and
thus INET is a mandatory dependency at the moment.
2009-06-11 10:40:43 +00:00
des
771b7e0e18 Lower WARNS due to alignment issues on sparc64. 2009-06-11 10:30:30 +00:00
bz
fe42112add carp(4) allows people to share a set of IP addresses and can only
use IPv4/v6 for inter-node communication (according to my reading).

Properly wrap the carp callouts in INET || INET6 and refelect this
in sys/conf/files as well.  While in theory this should be ok,
it might be a bit optimistic to think that carp could build with
inet6 only[1].

Discussed with:		mlaier [1]
2009-06-11 10:26:38 +00:00
ed
06bce6ca23 Correct my previous commit to pstat(8).
Not only mark the strings inside the array as const, but do the same for
the elements of the array itself.

Submitted by:	Christoph Mallon
2009-06-11 09:59:47 +00:00
luigi
39676e4ab4 As discussed in the devsummit, introduce two fields in the
struct bio to store classification information, and a hook
for classifier functions that can be called by g_io_request().

This code is from Fabio Checconi as part of his GSOC work.
2009-06-11 09:55:26 +00:00
kmacy
f62faa0224 check against prefetch_enable 2009-06-11 09:51:21 +00:00
ariff
2432cecd07 Remove custom KOBJMETHOD(), CHANNEL_DECLARE() and MIXER_DECLARE()
(enabled with SND_DEBUG) that was intended to provoke build failure
due to inconsistencies.
2009-06-11 09:06:09 +00:00
ed
3f57ef9c14 Make most of pstat(8) build with WARNS=6.
There is still an issue with the nlists, which I'm not quite sure how to
solve, so I'm leaving WARNS set to 3 right now.
2009-06-11 09:02:22 +00:00
des
17835ecb12 As of sam's r175206, arp builds cleanly at WARNS level 6, but the Makefile
was never updated.  Also, clean up the macro that caused the warning in the
first place (no functional changes, just wrapped and reindented).
2009-06-11 07:50:36 +00:00
sam
b54b6d28ba When associating to an AP we don't know if HT is negotiated until
we receive the AssocResp, so we can only set ni_txparms properly
at that point.  To make this possible make node_setuptxparms public
as ieee80211_node_setuptxparms.
2009-06-11 04:43:42 +00:00
jkim
1ff58b5698 Catch up with r193750 (OsdSynch.c locking changes):
- Preallocate some memory for ACPI tasks early enough.  We cannot use
malloc(9) any more because spin mutex may be held here.  The reserved
memory can be tuned via debug.acpi.max_tasks tunable or ACPI_MAX_TASKS
in kernel configuration.  The default is 32 tasks.
- Implement a custom taskqueue_fast to wrap the new memory allocation.
This implementation is not the fastest in the world but we are being
conservative here.
2009-06-10 22:54:20 +00:00
edwin
2bb27cf810 Add euro symbol to pt_PT locale using other encodings
PR:		conf/98815
Submitted by:	Rui Lopes <rgl@ruilopes.com>
MFC after:	1 week
2009-06-10 22:09:40 +00:00
edwin
ce615f7cba Croatian locale support for hr_HR.ISO8859-2
Without this patch /usr/share/locale/hr_HR.ISO8859-2/LC_COLLATE
	is a link to the ../la_LN.ISO8859-2/LC_COLLATE. It means
	that there is no support for Croatian locale.

PR:		conf/120113
Submitted by:	Simun Mikecin <numisemis@yahoo.com>
MFC after:	1 week
2009-06-10 21:55:38 +00:00
bz
fe9f58b6b8 pflog, pfsync depend on pf and pf depends on inet.
Actually it could/should be inet|inet6 but the code is not there
and as long as our inet6 depends on inet this is fine.
2009-06-10 21:51:05 +00:00
bz
66c6a36e3f Update vnet_net size guard values after r193951. 2009-06-10 21:48:13 +00:00
edwin
4fe207aa2e Invalid (long) date format in pl_PL.ISO8859-2.src
Date format is %a %e %b %X %Y %Z (e.g "sob 19 sty 15:46:50 2008 CET")
    but should be "%a %e %b %Y %X %Z" (e.g. "sob 19 sty 2008 15:46:50 CET").

PR:		conf/119804
Submitted by:	Bodek <bodek@blurp.org>
MFC after:	1 week
2009-06-10 21:45:18 +00:00
bz
a2565a75a2 Unfortunately fs/nfsserver depends on INET at the moment. It seems to
be nfs_nfsdport.c and nfs_nfsdcache.c are the problem only but we need
to mark all or we will run into problems at link time.
One is because of calling an INET specific function, the other is
because of VIMAGE putting all tcp* into struct vnet_inet.

Both are general problems throughout the entire stack and not a fault
of the NFS implementation and will need to be addressed in the future.
2009-06-10 21:31:57 +00:00
bz
127acc863b if_gre.c insists on INET:
#error "Huh? if_gre without inet?"
According to my reading we still only support encapsulating datagrams
into IPv4 and not IPv6 so there is no optional | gre inet6 yet.
2009-06-10 21:18:21 +00:00
rmacklem
b56aefcee2 This commit is analagous to r193952, but for the experimental nfs
subsystem. Add a test for VI_DOOMED just after ncl_upgrade_vnlock() in
ncl_bioread_check_cons(). This is required since it is possible
for the vnode to be vgonel()'d while in ncl_upgrade_vnlock() when
a forced dismount is in progress. Also, move the check for VI_DOOMED
in ncl_vinvalbuf() down to after ncl_upgrade_vnlock() and replace the
out of date comment for it.

Approved by:	kib (mentor)
2009-06-10 21:16:39 +00:00
bz
386037883c ipfirewall insists on INET:
#error IPFIREWALL requires INET.
Track it here to not build ipfirewall with no INET in the kernel.
2009-06-10 21:06:07 +00:00
kmacy
4ff84b99d6 use default policy for enabling prefetching unless the TUNABLE is set 2009-06-10 21:05:37 +00:00
rmacklem
3d458aebb2 Add a test for VI_DOOMED just after nfs_upgrade_vnlock() in
nfs_bioread_check_cons(). This is required since it is possible
for the vnode to be vgonel()'d while in nfs_upgrade_vnlock() when
a forced dismount is in progress. Also, move the check for VI_DOOMED
in nfs_vinvalbuf() down to after nfs_upgrade_vnlock() and replace the
out of date comment for it.

Submitted by:	jhb
Tested by:	pho
Approved by:	kib (mentor)
MFC after:	1 month
2009-06-10 21:03:57 +00:00
kib
e1cb2941d4 Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use
vnode interlock to protect the knote fields [1]. The locking assumes
that shared vnode lock is held, thus we get exclusive access to knote
either by exclusive vnode lock protection, or by shared vnode lock +
vnode interlock.

Do not use kl_locked() method to assert either lock ownership or the
fact that curthread does not own the lock. For shared locks, ownership
is not recorded, e.g. VOP_ISLOCKED can return LK_SHARED for the shared
lock not owned by curthread, causing false positives in kqueue subsystem
assertions about knlist lock.

Remove kl_locked method from knlist lock vector, and add two separate
assertion methods kl_assert_locked and kl_assert_unlocked, that are
supposed to use proper asserts. Change knlist_init accordingly.

Add convenience function knlist_init_mtx to reduce number of arguments
for typical knlist initialization.

Submitted by:	jhb [1]
Noted by:	jhb [2]
Reviewed by:	jhb
Tested by:	rnoland
2009-06-10 20:59:32 +00:00
bz
a980659219 ip_divert.c requires both INET and IPFIREWALL to be present:
#error "IPDIVERT requires INET."
	#error "IPDIVERT requires IPFIREWALL"
so properly track those depencies here.
2009-06-10 20:57:06 +00:00