]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/log
FreeBSD/FreeBSD.git
22 years agoNO! We DON'T wany any libintl action here.
David E. O'Brien [Fri, 28 Jun 2002 01:33:53 +0000 (01:33 +0000)]
NO! We DON'T wany any libintl action here.

22 years agoActually rev 1.3 (don't declare tilde_expand()) is needed with GDB 5.2.
David E. O'Brien [Fri, 28 Jun 2002 01:13:52 +0000 (01:13 +0000)]
Actually rev 1.3 (don't declare tilde_expand()) is needed with GDB 5.2.

22 years agoThings Gdb 5.2 wants to know about us.
David E. O'Brien [Fri, 28 Jun 2002 00:34:05 +0000 (00:34 +0000)]
Things Gdb 5.2 wants to know about us.

22 years agoOur FreeBSD custom changes are OBE. Return to using the stock vendor sources.
David E. O'Brien [Fri, 28 Jun 2002 00:14:03 +0000 (00:14 +0000)]
Our FreeBSD custom changes are OBE.  Return to using the stock vendor sources.

22 years agoRemove a printf and add a comment on an assumption that could be
Luigi Rizzo [Thu, 27 Jun 2002 23:23:04 +0000 (23:23 +0000)]
Remove a printf and add a comment on an assumption that could be
occasionally violated by device drivers.

22 years agoVendor import of GDB 5.2.
David E. O'Brien [Thu, 27 Jun 2002 23:04:23 +0000 (23:04 +0000)]
Vendor import of GDB 5.2.
These bits are taken from the FSF gdb_5_2-branch anoncvs repo
on 27-June-2002 12:01:00 EDT.

22 years agoThis commit was generated by cvs2svn to compensate for changes in r98944,
David E. O'Brien [Thu, 27 Jun 2002 23:04:23 +0000 (23:04 +0000)]
This commit was generated by cvs2svn to compensate for changes in r98944,
which included commits to RCS files with non-trunk default branches.

22 years agoThe new ipfw code.
Luigi Rizzo [Thu, 27 Jun 2002 23:02:18 +0000 (23:02 +0000)]
The new ipfw code.

This code makes use of variable-size kernel representation of rules
(exactly the same concept of BPF instructions, as used in the BSDI's
firewall), which makes firewall operation a lot faster, and the
code more readable and easier to extend and debug.

The interface with the rest of the system is unchanged, as witnessed
by this commit. The only extra kernel files that I am touching
are if_fw.h and ip_dummynet.c, which is quite tied to ipfw. In
userland I only had to touch those programs which manipulate the
internal representation of firewall rules).

The code is almost entirely new (and I believe I have written the
vast majority of those sections which were taken from the former
ip_fw.c), so rather than modifying the old ip_fw.c I decided to
create a new file, sys/netinet/ip_fw2.c .  Same for the user
interface, which is in sbin/ipfw/ipfw2.c (it still compiles to
/sbin/ipfw).  The old files are still there, and will be removed
in due time.

I have not renamed the header file because it would have required
touching a one-line change to a number of kernel files.

In terms of user interface, the new "ipfw" is supposed to accepts
the old syntax for ipfw rules (and produce the same output with
"ipfw show". Only a couple of the old options (out of some 30 of
them) has not been implemented, but they will be soon.

On the other hand, the new code has some very powerful extensions.
First, you can put "or" connectives between match fields (and soon
also between options), and write things like

ipfw add allow ip from { 1.2.3.4/27 or 5.6.7.8/30 } 10-23,25,1024-3000 to any

This should make rulesets slightly more compact (and lines longer!),
by condensing 2 or more of the old rules into single ones.

Also, as an example of how easy the rules can be extended, I have
implemented an 'address set' match pattern, where you can specify
an IP address in a format like this:

        10.20.30.0/26{18,44,33,22,9}

which will match the set of hosts listed in braces belonging to the
subnet 10.20.30.0/26 . The match is done using a bitmap, so it is
essentially a constant time operation requiring a handful of CPU
instructions (and a very small amount of memmory -- for a full /24
subnet, the instruction only consumes 40 bytes).

Again, in this commit I have focused on functionality and tried
to minimize changes to the other parts of the system. Some performance
improvement can be achieved with minor changes to the interface of
ip_fw_chk_t. This will be done later when this code is settled.

The code is meant to compile unmodified on RELENG_4 (once the
PACKET_TAG_* changes have been merged), for this reason
you will see #ifdef __FreeBSD_version in a couple of places.
This should minimize errors when (hopefully soon) it will be time
to do the MFC.

22 years agoNO_GDB while it is being upgraded.
David E. O'Brien [Thu, 27 Jun 2002 22:59:11 +0000 (22:59 +0000)]
NO_GDB while it is being upgraded.

22 years agoForcibly revert to mainline.
Dag-Erling Smørgrav [Thu, 27 Jun 2002 22:42:11 +0000 (22:42 +0000)]
Forcibly revert to mainline.

22 years agoDelay the AC97 calibration until after the system clock has been
Scott Long [Thu, 27 Jun 2002 22:36:01 +0000 (22:36 +0000)]
Delay the AC97 calibration until after the system clock has been
calibrated.  This fixes the problem where playback and recording do
not run at the correct speed.  It probably also eliminates the
need for the hacks/workarounds/sysctl's that were previously
devised to deal with this, but I will leave that for a different
time.

Reviewed by: orion

22 years agoVendor import of OpenSSH 3.3p1.
Dag-Erling Smørgrav [Thu, 27 Jun 2002 22:31:32 +0000 (22:31 +0000)]
Vendor import of OpenSSH 3.3p1.

22 years agoThis commit was generated by cvs2svn to compensate for changes in r98937,
Dag-Erling Smørgrav [Thu, 27 Jun 2002 22:31:32 +0000 (22:31 +0000)]
This commit was generated by cvs2svn to compensate for changes in r98937,
which included commits to RCS files with non-trunk default branches.

22 years agoIn the SUPPORT_DOT case, warn that seperation with a period is deprecated.
Juli Mallett [Thu, 27 Jun 2002 21:23:16 +0000 (21:23 +0000)]
In the SUPPORT_DOT case, warn that seperation with a period is deprecated.
In -STABLE, this is default, in -CURRENT it is not, which leads to many a
headache for a user coming to -CURRENT without remembering this fact.  It
is one of the POLA violations we have not avoided by preparing the users
for it appopriately.  Therefore, a warnx(3) is added here, explicitly to
be MFC'd shortly to start the re-education process rolling.

Reviewed by: General murmurs of approval in that IRC channel.
MFC after: 3 days

22 years agoIncrement morefiles, balance braces. This should really be using getopt(3).
Juli Mallett [Thu, 27 Jun 2002 21:11:19 +0000 (21:11 +0000)]
Increment morefiles, balance braces.  This should really be using getopt(3).

22 years agoInstead of not using argc and doing other great evil, check for no arguments
Juli Mallett [Thu, 27 Jun 2002 21:01:32 +0000 (21:01 +0000)]
Instead of not using argc and doing other great evil, check for no arguments
in main() and print usage, or if there are too many arguments, handle that
there, too.

22 years agoThe thread-safe time functions appear to have been introduced as of
Garrett Wollman [Thu, 27 Jun 2002 20:18:45 +0000 (20:18 +0000)]
The thread-safe time functions appear to have been introduced as of
ISO 9945-1: 1996 (according to the change bars therein), which corresponds
to 1003.1c-1995.  Give them appropriate visibility protection.

22 years agoLots of people have had to hack around the fixed address for cardbus
Warner Losh [Thu, 27 Jun 2002 19:56:22 +0000 (19:56 +0000)]
Lots of people have had to hack around the fixed address for cardbus
bridges in modern hardware (that hardware w/ lots of RAM).  Raise the
address from 0x44000000 to 0x88000000 to match what we do with
NEWCARD.  However, this really should be done in the pci layer.

22 years agoFix a bug that prevented the deletion of non-default ACLs from being
Robert Watson [Thu, 27 Jun 2002 19:31:15 +0000 (19:31 +0000)]
Fix a bug that prevented the deletion of non-default ACLs from being
passed down the VFS stack.  While I'm here, replace a '0' with a 'NULL'
to make the code more readable.

Sponsored by: DARPA, NAI Labs
Obtained from: TrustedBSD Project

22 years agoA bit of whitespace magic.
Robert Watson [Thu, 27 Jun 2002 19:30:11 +0000 (19:30 +0000)]
A bit of whitespace magic.

22 years agoUpdate my name here, pointed out by grep(1).
Juli Mallett [Thu, 27 Jun 2002 19:05:47 +0000 (19:05 +0000)]
Update my name here, pointed out by grep(1).

22 years agoAdd these libs from the 4.6-RELEASE.
David E. O'Brien [Thu, 27 Jun 2002 18:53:50 +0000 (18:53 +0000)]
Add these libs from the 4.6-RELEASE.
libstdc++ was bumped with the switch to Gcc 3.1, and libpam was bumped with
the switch to OpenPAM.

22 years agoAdd these libs from the 4.6-RELEASE.
David E. O'Brien [Thu, 27 Jun 2002 18:44:05 +0000 (18:44 +0000)]
Add these libs from the 4.6-RELEASE.
libstdc++ was bumped with the switch to Gcc 3.1, and libpam was bumped with
the switch to OpenPAM.

22 years agoResort namespace blocks into a more sensible order. Delete a redundant
Garrett Wollman [Thu, 27 Jun 2002 18:40:51 +0000 (18:40 +0000)]
Resort namespace blocks into a more sensible order.  Delete a redundant
comment.

22 years agoLeave it to a non-native speaker of English to catch another typo: "do do" ->
Warner Losh [Thu, 27 Jun 2002 18:16:16 +0000 (18:16 +0000)]
Leave it to a non-native speaker of English to catch another typo: "do do" ->
"to do"

submitted by: marius@alchemy.franken.de

22 years agoSpell less like a 'merkin and more like a speaker of English
Warner Losh [Thu, 27 Jun 2002 17:59:24 +0000 (17:59 +0000)]
Spell less like a 'merkin and more like a speaker of English

22 years agoDocument addition of RLIMIT_VMEM support, added in rev 1.26 of miscbltin.c.
Sheldon Hearn [Thu, 27 Jun 2002 16:56:45 +0000 (16:56 +0000)]
Document addition of RLIMIT_VMEM support, added in rev 1.26 of miscbltin.c.

22 years agoArrgh. Forgot to note that fixes for SA-02:28 have been MFC-ed.
Bruce A. Mah [Thu, 27 Jun 2002 16:47:31 +0000 (16:47 +0000)]
Arrgh.  Forgot to note that fixes for SA-02:28 have been MFC-ed.

22 years agoNew release notes: RLIMIT_VMEM, zero-copy support, SA-02:28,
Bruce A. Mah [Thu, 27 Jun 2002 16:45:42 +0000 (16:45 +0000)]
New release notes:  RLIMIT_VMEM, zero-copy support, SA-02:28,
OpenSSH 3.3p1, pkg_version(1) rewrite.

MFC noted:  sed(1) -i.

22 years agoPoint -CURRENT seekers to a snapshot site that's actually up.
Bruce A. Mah [Thu, 27 Jun 2002 16:36:17 +0000 (16:36 +0000)]
Point -CURRENT seekers to a snapshot site that's actually up.

22 years agoThe wrong y/// output got spammed into this file; from green@ indirectly.
Juli Mallett [Thu, 27 Jun 2002 16:07:51 +0000 (16:07 +0000)]
The wrong y/// output got spammed into this file; from green@ indirectly.

22 years agoCorrect the psl regression test for sed(1)'s now-fixed newline
Brian Feldman [Thu, 27 Jun 2002 15:58:59 +0000 (15:58 +0000)]
Correct the psl regression test for sed(1)'s now-fixed newline
behavior.  Add the bcb regression test which checks for failures due
to a backslash ('\') coinciding with the very last character of the
command buffer.  The regression test is cf. this PR (which I did not
know about) and has a different fix for the bug.

PR: bin/22351
Submitted by: Stefan Duerholt <stefan.duerholt@t-online.de>

22 years agoGENERIC now builds with -Werror, so remove NO_WERROR.
Maxime Henrion [Thu, 27 Jun 2002 14:43:27 +0000 (14:43 +0000)]
GENERIC now builds with -Werror, so remove NO_WERROR.

Approved by: jake

22 years agoFix style bugs I added in last commit.
Mike Silbersack [Thu, 27 Jun 2002 14:16:21 +0000 (14:16 +0000)]
Fix style bugs I added in last commit.

Spotted by: bde

22 years agoRemove pselect from application namespace and instead use a weak reference
Daniel Eischen [Thu, 27 Jun 2002 13:23:46 +0000 (13:23 +0000)]
Remove pselect from application namespace and instead use a weak reference
to the actual implementation.  This is to allow libc_r to override
pselect() making it a cancellation point.

Prompted by: wollman

22 years agoRemove improper use of <namespace.h>.
Daniel Eischen [Thu, 27 Jun 2002 13:20:54 +0000 (13:20 +0000)]
Remove improper use of <namespace.h>.
Remove fmtcheck from application name space (fix the weak reference).

22 years agoRemove improper use of <namespace.h>
Daniel Eischen [Thu, 27 Jun 2002 13:18:27 +0000 (13:18 +0000)]
Remove improper use of <namespace.h>

22 years agoCross-reference with ffs(7).
Chris Costello [Thu, 27 Jun 2002 12:15:11 +0000 (12:15 +0000)]
Cross-reference with ffs(7).

Sponsored by: DARPA, NAI Labs

22 years agoWarning fixes for 64 bits platforms. With this last fix,
Maxime Henrion [Thu, 27 Jun 2002 11:02:06 +0000 (11:02 +0000)]
Warning fixes for 64 bits platforms.  With this last fix,
I can build a GENERIC sparc64 kernel with -Werror.

Reviewed by: luigi

22 years agoFix for the problem stated below by Tor Egge:
Andrew R. Reiter [Thu, 27 Jun 2002 06:34:03 +0000 (06:34 +0000)]
Fix for the problem stated below by Tor Egge:
(from: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=832566+0+ \
       current/freebsd-current)

  "Too many pages were prefaulted in pmap_object_init_pt, thus
   the wrong physical page was entered in the pmap for the virtual
   address where the .dynamic section was supposed to be."

Submitted by: tegge
Approved by: tegge's patches never fail

22 years agoSet the UMA_ZONE_VM flag on the pvzone to avoid kmem_map recursion.
Jeff Roberson [Thu, 27 Jun 2002 04:08:45 +0000 (04:08 +0000)]
Set the UMA_ZONE_VM flag on the pvzone to avoid kmem_map recursion.

22 years agoModify bcopy (and memcpy/memmove) so that the length value is not
Mike Silbersack [Thu, 27 Jun 2002 03:55:36 +0000 (03:55 +0000)]
Modify bcopy (and memcpy/memmove) so that the length value is not
re-read from the stack mid copy.  This may help mitigate the recent
Apache buffer overrun and future overruns of the sort.

Reviewed by: jdp
MFC after: 2 days

22 years agoWhen the -p flag is specified, set an environment variable to the name
Garrett Wollman [Wed, 26 Jun 2002 21:46:56 +0000 (21:46 +0000)]
When the -p flag is specified, set an environment variable to the name
of the remote host (or rather, the name as mangled by realhostname_sa())
so that the process can use it to behave differently depending on the
origin on the request.  We use this to implement rudimentary visibility
control on our user information.

Make sure that the child process's standard error goes through the same
NVT-ASCII filter as is applied to the standard output.

Don't attempt to call logerr() from the child since stdio is not safe in
a vforked process.  Just write a message to fd 2 instead.  (Ideally, the
parent would open two pipes, and siphon off our stderr to some place less
public, but I have not attempted to do so in this implementation.)

22 years agoJust a comment on some additional consistency checks that could
Luigi Rizzo [Wed, 26 Jun 2002 21:00:53 +0000 (21:00 +0000)]
Just a comment on some additional consistency checks that could
be added here.

22 years agoAvoid using the 64-bit vm_pindex_t in a few places where 64-bit
Ian Dowse [Wed, 26 Jun 2002 20:32:51 +0000 (20:32 +0000)]
Avoid using the 64-bit vm_pindex_t in a few places where 64-bit
types are not required, as the overhead is unnecessary:

 o In the i386 pmap_protect(), `sindex' and `eindex' represent page
   indices within the 32-bit virtual address space.
 o In swp_pager_meta_build() and swp_pager_meta_ctl(), use a temporary
   variable to store the low few bits of a vm_pindex_t that gets used
   as an array index.
 o vm_uiomove() uses `osize' and `idx' for page offsets within a
   map entry.
 o In vm_object_split(), `idx' is a page offset within a map entry.

22 years agoUse an explicit cast to avoid relying on sign extension to do the
Ian Dowse [Wed, 26 Jun 2002 19:18:14 +0000 (19:18 +0000)]
Use an explicit cast to avoid relying on sign extension to do the
right thing in code such as `vm_pindex_t x = ~SWAP_META_MASK'.

Reviewed by: dillon

22 years agoRemove the kernel file-size limit for UFS2, so that only the limit
Ian Dowse [Wed, 26 Jun 2002 18:34:51 +0000 (18:34 +0000)]
Remove the kernel file-size limit for UFS2, so that only the limit
imposed by the filesystem structure itself remains. With 16k blocks,
the maximum file size is now just over 128TB.

For now, the UFS1 file size limit is left unchanged so as to remain
consistent with RELENG_4, but it too could be removed in the future.

Reviewed by: mckusick

22 years agoRemove two lines that were cvs merged that shouldn't have been. This
Warner Losh [Wed, 26 Jun 2002 18:03:31 +0000 (18:03 +0000)]
Remove two lines that were cvs merged that shouldn't have been.  This
fixes the build.

Reported by: dillon.

22 years agoGut out (by default unused) cruft, and tidy up warnings.
Mark Murray [Wed, 26 Jun 2002 17:09:08 +0000 (17:09 +0000)]
Gut out (by default unused) cruft, and tidy up warnings.

22 years agoWarnings fixes. Sort out some variable types.
Mark Murray [Wed, 26 Jun 2002 17:06:14 +0000 (17:06 +0000)]
Warnings fixes. Sort out some variable types.

22 years agoRevert previous delta, setting the system immutable flag on /var/empty
Sheldon Hearn [Wed, 26 Jun 2002 17:05:48 +0000 (17:05 +0000)]
Revert previous delta, setting the system immutable flag on /var/empty
instead of the user immutable flag, now that mergemaster handles
schg directories in its /var/tmp/temproot.

22 years agoHelp fix warnings by marking an argument as unused.
Mark Murray [Wed, 26 Jun 2002 17:05:08 +0000 (17:05 +0000)]
Help fix warnings by marking an argument as unused.

22 years agoErk, I forgot that regress.in has an ending newline, so change the test for
Juli Mallett [Wed, 26 Jun 2002 16:57:36 +0000 (16:57 +0000)]
Erk, I forgot that regress.in has an ending newline, so change the test for
transliterate to use echo -n to supress newline and a simple string.

22 years agoFix an integer overflow that causes fsck_ffs to crash when it
Ian Dowse [Wed, 26 Jun 2002 16:40:25 +0000 (16:40 +0000)]
Fix an integer overflow that causes fsck_ffs to crash when it
encounters very large file sizes in the filesystem.

Reviewed by: mckusick

22 years ago- Remove the Giant acquisition from linux_socket_ioctl() as it was really
Andrew R. Reiter [Wed, 26 Jun 2002 15:53:11 +0000 (15:53 +0000)]
- Remove the Giant acquisition from linux_socket_ioctl() as it was really
  there to protect fdrop() (which in turn can call vrele()), however,
  fdrop_locked() grabs Giant for us, so we do not have to.

Reviewed by: jhb
Inspired by: alc

22 years agoRemove two stray lines that snuck in the cvs merge
Warner Losh [Wed, 26 Jun 2002 14:18:36 +0000 (14:18 +0000)]
Remove two stray lines that snuck in the cvs merge

22 years agoAdd 'chflags -R noschg' to the deletion process for the TEMPROOT
Doug Barton [Wed, 26 Jun 2002 14:14:07 +0000 (14:14 +0000)]
Add 'chflags -R noschg' to the deletion process for the TEMPROOT
directory so that /var/empty, and any other such items that are
added in the future can be deleted effectively.

22 years agoBackout previous delta (addition of -I${.CURDIR}/../../sys).
Maxim Sobolev [Wed, 26 Jun 2002 13:25:23 +0000 (13:25 +0000)]
Backout previous delta (addition of -I${.CURDIR}/../../sys).

Submitted by: bde

22 years agoAdd -I${.CURDIR}/../../sys into CFLAGS, which should fix the world broken
Maxim Sobolev [Wed, 26 Jun 2002 10:33:10 +0000 (10:33 +0000)]
Add -I${.CURDIR}/../../sys into CFLAGS, which should fix the world broken
by RLIMIT_VMEM addition.

22 years agoTone down the previous delta: don't set the system immutable flag on
Sheldon Hearn [Wed, 26 Jun 2002 08:58:28 +0000 (08:58 +0000)]
Tone down the previous delta: don't set the system immutable flag on
/var/empty, because it makes it difficult for mergemaster(8) to remove
/var/tmp/temproot/var.

22 years agoInitialize a pointer that was left uninitialized with the previous
Jacques Vidrine [Wed, 26 Jun 2002 08:48:34 +0000 (08:48 +0000)]
Initialize a pointer that was left uninitialized with the previous
commit.

22 years agoIf CLEANFILES is nil or not defined, do not try to remove it. This happens
Juli Mallett [Wed, 26 Jun 2002 08:41:00 +0000 (08:41 +0000)]
If CLEANFILES is nil or not defined, do not try to remove it.  This happens
when SRCS is entirely files which produce only one compiled form, and when
NOMAN is defined.  This does not seem to happen in STABLE.

Approved by: ru

22 years agoMinor libc internal-only interface change for mapv4v6.
Warner Losh [Wed, 26 Jun 2002 08:18:42 +0000 (08:18 +0000)]
Minor libc internal-only interface change for mapv4v6.

22 years agoInclude more robust checking of end of buffer that more completely
Warner Losh [Wed, 26 Jun 2002 08:18:05 +0000 (08:18 +0000)]
Include more robust checking of end of buffer that more completely
plugs the hole.

22 years agoIndicate that the semicolon that terminates argument lists should be in
Tim J. Robbins [Wed, 26 Jun 2002 08:03:54 +0000 (08:03 +0000)]
Indicate that the semicolon that terminates argument lists should be in
its own argument for -ok and -okdir.

22 years agoMake it more obvious that the semicolon that terminates -exec and -execdir
Tim J. Robbins [Wed, 26 Jun 2002 07:55:18 +0000 (07:55 +0000)]
Make it more obvious that the semicolon that terminates -exec and -execdir
argument lists must be in an argument by itself, not on the end of the
previous one.

22 years agoDon't allow buffer overflow here either.
Warner Losh [Wed, 26 Jun 2002 06:31:06 +0000 (06:31 +0000)]
Don't allow buffer overflow here either.

22 years agoFix a minor last, minute issue that came in after I committed.
Warner Losh [Wed, 26 Jun 2002 06:23:22 +0000 (06:23 +0000)]
Fix a minor last, minute issue that came in after I committed.

Noticed by: nectar

22 years agoAvoid remote buffer overflow on hostbuf[].
Warner Losh [Wed, 26 Jun 2002 06:04:46 +0000 (06:04 +0000)]
Avoid remote buffer overflow on hostbuf[].

Submitted by: joost Pol <joost@pine.nl>

22 years ago`pw useradd' could be used with -w without -D option.
SADA Kenji [Wed, 26 Jun 2002 05:09:12 +0000 (05:09 +0000)]
`pw useradd' could be used with -w without -D option.

PR: docs/39770
Submitted by: sada
Approved by: dd

22 years agoadd default vmemoryuse (unlimited), and samples
Matthew Dillon [Wed, 26 Jun 2002 04:04:37 +0000 (04:04 +0000)]
add default vmemoryuse (unlimited), and samples

22 years agoAdd documentation for vmemoryuse
Matthew Dillon [Wed, 26 Jun 2002 03:58:31 +0000 (03:58 +0000)]
Add documentation for vmemoryuse

22 years agoMake libutil aware of vmemoryuse in its login.conf cap processing (aka
Matthew Dillon [Wed, 26 Jun 2002 03:54:18 +0000 (03:54 +0000)]
Make libutil aware of vmemoryuse in its login.conf cap processing (aka
sshd, /usr/bin/login, etc)

22 years agoMake limits(1) aware of the new vmemoryuse resource limit.
Matthew Dillon [Wed, 26 Jun 2002 03:43:25 +0000 (03:43 +0000)]
Make limits(1) aware of the new vmemoryuse resource limit.

Submitted by: sheldonh

22 years agoAt long last, commit the zero copy sockets code.
Kenneth D. Merry [Wed, 26 Jun 2002 03:37:47 +0000 (03:37 +0000)]
At long last, commit the zero copy sockets code.

MAKEDEV: Add MAKEDEV glue for the ti(4) device nodes.

ti.4: Update the ti(4) man page to include information on the
TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options,
and also include information about the new character
device interface and the associated ioctls.

man9/Makefile: Add jumbo.9 and zero_copy.9 man pages and associated
links.

jumbo.9: New man page describing the jumbo buffer allocator
interface and operation.

zero_copy.9: New man page describing the general characteristics of
the zero copy send and receive code, and what an
application author should do to take advantage of the
zero copy functionality.

NOTES: Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS,
TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT.

conf/files: Add uipc_jumbo.c and uipc_cow.c.

conf/options: Add the 5 options mentioned above.

kern_subr.c: Receive side zero copy implementation.  This takes
"disposable" pages attached to an mbuf, gives them to
a user process, and then recycles the user's page.
This is only active when ZERO_COPY_SOCKETS is turned on
and the kern.ipc.zero_copy.receive sysctl variable is
set to 1.

uipc_cow.c: Send side zero copy functions.  Takes a page written
by the user and maps it copy on write and assigns it
kernel virtual address space.  Removes copy on write
mapping once the buffer has been freed by the network
stack.

uipc_jumbo.c: Jumbo disposable page allocator code.  This allocates
(optionally) disposable pages for network drivers that
want to give the user the option of doing zero copy
receive.

uipc_socket.c: Add kern.ipc.zero_copy.{send,receive} sysctls that are
enabled if ZERO_COPY_SOCKETS is turned on.

Add zero copy send support to sosend() -- pages get
mapped into the kernel instead of getting copied if
they meet size and alignment restrictions.

uipc_syscalls.c:Un-staticize some of the sf* functions so that they
can be used elsewhere.  (uipc_cow.c)

if_media.c: In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid
calling malloc() with M_WAITOK.  Return an error if
the M_NOWAIT malloc fails.

The ti(4) driver and the wi(4) driver, at least, call
this with a mutex held.  This causes witness warnings
for 'ifconfig -a' with a wi(4) or ti(4) board in the
system.  (I've only verified for ti(4)).

ip_output.c: Fragment large datagrams so that each segment contains
a multiple of PAGE_SIZE amount of data plus headers.
This allows the receiver to potentially do page
flipping on receives.

if_ti.c: Add zero copy receive support to the ti(4) driver.  If
TI_PRIVATE_JUMBOS is not defined, it now uses the
jumbo(9) buffer allocator for jumbo receive buffers.

Add a new character device interface for the ti(4)
driver for the new debugging interface.  This allows
(a patched version of) gdb to talk to the Tigon board
and debug the firmware.  There are also a few additional
debugging ioctls available through this interface.

Add header splitting support to the ti(4) driver.

Tweak some of the default interrupt coalescing
parameters to more useful defaults.

Add hooks for supporting transmit flow control, but
leave it turned off with a comment describing why it
is turned off.

if_tireg.h: Change the firmware rev to 12.4.11, since we're really
at 12.4.11 plus fixes from 12.4.13.

Add defines needed for debugging.

Remove the ti_stats structure, it is now defined in
sys/tiio.h.

ti_fw.h: 12.4.11 firmware.

ti_fw2.h: 12.4.11 firmware, plus selected fixes from 12.4.13,
and my header splitting patches.  Revision 12.4.13
doesn't handle 10/100 negotiation properly.  (This
firmware is the same as what was in the tree previously,
with the addition of header splitting support.)

sys/jumbo.h: Jumbo buffer allocator interface.

sys/mbuf.h: Add a new external mbuf type, EXT_DISPOSABLE, to
indicate that the payload buffer can be thrown away /
flipped to a userland process.

socketvar.h: Add prototype for socow_setup.

tiio.h: ioctl interface to the character portion of the ti(4)
driver, plus associated structure/type definitions.

uio.h: Change prototype for uiomoveco() so that we'll know
whether the source page is disposable.

ufs_readwrite.c:Update for new prototype of uiomoveco().

vm_fault.c: In vm_fault(), check to see whether we need to do a page
based copy on write fault.

vm_object.c: Add a new function, vm_object_allocate_wait().  This
does the same thing that vm_object allocate does, except
that it gives the caller the opportunity to specify whether
it should wait on the uma_zalloc() of the object structre.

This allows vm objects to be allocated while holding a
mutex.  (Without generating WITNESS warnings.)

vm_object_allocate() is implemented as a call to
vm_object_allocate_wait() with the malloc flag set to
M_WAITOK.

vm_object.h: Add prototype for vm_object_allocate_wait().

vm_page.c: Add page-based copy on write setup, clear and fault
routines.

vm_page.h: Add page based COW function prototypes and variable in
the vm_page structure.

Many thanks to Drew Gallatin, who wrote the zero copy send and receive
code, and to all the other folks who have tested and reviewed this code
over the years.

22 years agoEnforce RLIMIT_VMEM on growable mappings (aka the primary stack or any
Matthew Dillon [Wed, 26 Jun 2002 03:13:46 +0000 (03:13 +0000)]
Enforce RLIMIT_VMEM on growable mappings (aka the primary stack or any
MAP_STACK mapping).

Suggested by: alc

22 years ago- The previous commit message should have read that Giant was removed
Andrew R. Reiter [Wed, 26 Jun 2002 03:00:40 +0000 (03:00 +0000)]
- The previous commit message should have read that Giant was removed
  from modnext(), modfnext(), modstat(), and modfind().  Please excuse
  the fumble.

22 years agosendmail 8.12.5 has been imported
Gregory Neil Shapiro [Wed, 26 Jun 2002 02:58:55 +0000 (02:58 +0000)]
sendmail 8.12.5 has been imported

22 years agoUpdate for the sendmail 8.12.5 import
Gregory Neil Shapiro [Wed, 26 Jun 2002 02:52:59 +0000 (02:52 +0000)]
Update for the sendmail 8.12.5 import

22 years agoResolve conflicts from import of sendmail 8.12.5
Gregory Neil Shapiro [Wed, 26 Jun 2002 02:50:37 +0000 (02:50 +0000)]
Resolve conflicts from import of sendmail 8.12.5

22 years agoThis commit was generated by cvs2svn to compensate for changes in r98841,
Gregory Neil Shapiro [Wed, 26 Jun 2002 02:48:44 +0000 (02:48 +0000)]
This commit was generated by cvs2svn to compensate for changes in r98841,
which included commits to RCS files with non-trunk default branches.

22 years agoImport sendmail 8.12.5
Gregory Neil Shapiro [Wed, 26 Jun 2002 02:48:44 +0000 (02:48 +0000)]
Import sendmail 8.12.5

22 years agoFix mdoc nits in preparation for RLIMIT_VMEM support:
Sheldon Hearn [Wed, 26 Jun 2002 01:40:15 +0000 (01:40 +0000)]
Fix mdoc nits in preparation for RLIMIT_VMEM support:

* add missing Ar macro for one instance of limitflags

* fix indentation problem (not perfect, but then this is one _very_
  awkward manpage mark up properly)

22 years agoRemove out-of-date -I.
Bill Fenner [Wed, 26 Jun 2002 01:37:45 +0000 (01:37 +0000)]
Remove out-of-date -I.

22 years agoRemove cruft.
Bill Fenner [Wed, 26 Jun 2002 01:35:00 +0000 (01:35 +0000)]
Remove cruft.

22 years agoThis is Alexander Kabaev's patch to solve the signal problem with su
Matthew Dillon [Wed, 26 Jun 2002 00:42:40 +0000 (00:42 +0000)]
This is Alexander Kabaev's patch to solve the signal problem with su
(see 'zsh exits upon ^C' thread).  This may be temporary be he's been
running it for a year without incident so we should be golden with it.

Approved by: des

22 years agoBackout 1.51 on DES's request.
Matthew Dillon [Wed, 26 Jun 2002 00:38:39 +0000 (00:38 +0000)]
Backout 1.51 on DES's request.

Approved by: des

22 years ago- Remove Giant acquisition from modevent(), modfnext(), modstat() and
Andrew R. Reiter [Wed, 26 Jun 2002 00:31:44 +0000 (00:31 +0000)]
- Remove Giant acquisition from modevent(), modfnext(), modstat() and
  modfind().  Giant is no longer needed by these functions for safe
  execution.

Reviewed by: jhb

22 years agoAdd support for RLIMIT_VMEM. The #ifdef's were already there but getopt()
Matthew Dillon [Wed, 26 Jun 2002 00:29:53 +0000 (00:29 +0000)]
Add support for RLIMIT_VMEM.  The #ifdef's were already there but getopt()
needed to be adjusted.

22 years agoPart I of RLIMIT_VMEM implementation. Implement core functionality for
Matthew Dillon [Wed, 26 Jun 2002 00:29:28 +0000 (00:29 +0000)]
Part I of RLIMIT_VMEM implementation.  Implement core functionality for
a new resource limit that covers a process's entire VM space, including
mmap()'d space.

(Part II will be additional code to check RLIMIT_VMEM during exec() but it
needs more fleshing out).

PR: kern/18209
Submitted by: Andrey Alekseyev <uitm@zenon.net>, Dmitry Kim <jason@nichego.net>
MFC after: 7 days

22 years ago- Alleviate jail() from having the burden of acquiring Giant by simply
Andrew R. Reiter [Wed, 26 Jun 2002 00:29:01 +0000 (00:29 +0000)]
- Alleviate jail() from having the burden of acquiring Giant by simply
  removing.  We can do this since we no longer need Giant to safely
  execute jail().

Reviewed by: rwatson, jhb

22 years agoRemove old pre-TIRPC code for getting transport handles. The code that
Alfred Perlstein [Tue, 25 Jun 2002 22:55:53 +0000 (22:55 +0000)]
Remove old pre-TIRPC code for getting transport handles.  The code that
follows spams over the contents of them making the removed code useless.

22 years agoComplete the initial set of VM changes required to support full
Ian Dowse [Tue, 25 Jun 2002 22:14:06 +0000 (22:14 +0000)]
Complete the initial set of VM changes required to support full
64-bit file sizes. This step simply addresses the remaining overflows,
and does attempt to optimise performance. The details are:

 o Use a 64-bit type for the vm_object `size' and the size argument
   to vm_object_allocate().
 o Use the correct type for index variables in dev_pager_getpages(),
   vm_object_page_clean() and vm_object_page_remove().
 o Avoid an overflow in the i386 pmap_object_init_pt().

22 years agoTurn VM_ALLOC_ZERO into a flag.
Jeff Roberson [Tue, 25 Jun 2002 22:01:12 +0000 (22:01 +0000)]
Turn VM_ALLOC_ZERO into a flag.

Submitted by: tegge
Reviewed by: dillon

22 years agoReduce the amount of code that runs with the zone lock held in slab_zalloc().
Jeff Roberson [Tue, 25 Jun 2002 21:04:50 +0000 (21:04 +0000)]
Reduce the amount of code that runs with the zone lock held in slab_zalloc().
This allows us to run the zone initialization functions without any locks held.

22 years agoNo guts, no glory. Switch to OpenSSH-portable.
Dag-Erling Smørgrav [Tue, 25 Jun 2002 19:10:09 +0000 (19:10 +0000)]
No guts, no glory.  Switch to OpenSSH-portable.

Sponsored by: DARPA, NAI Labs

22 years ago- Merge the following from the English version:
Hiroki Sato [Tue, 25 Jun 2002 18:54:39 +0000 (18:54 +0000)]
- Merge the following from the English version:

1.308 -> 1.313 relnotes/common/new.sgml

- Add pc98 subdir:

1.3   -> 1.4   relnotes/Makefile
1.2   -> 1.3   relnotes/common/relnotes.ent
(new) -> 1.1   relnotes/pc98/Makefile
(new) -> 1.1   relnotes/pc98/article.sgml

- Remove ${NO_TIDY}.  It is no longer needed.

22 years ago o Eliminate vmspace::vm_minsaddr. It's initialized but never used.
Alan Cox [Tue, 25 Jun 2002 18:14:38 +0000 (18:14 +0000)]
 o Eliminate vmspace::vm_minsaddr.  It's initialized but never used.
 o Replace stale comments in vmspace by "const until freed" annotations
   on some fields.

22 years agoWARNS=6'ify.
David E. O'Brien [Tue, 25 Jun 2002 18:05:16 +0000 (18:05 +0000)]
WARNS=6'ify.
Style nits.

22 years agoPrototype _start.
David E. O'Brien [Tue, 25 Jun 2002 18:01:12 +0000 (18:01 +0000)]
Prototype _start.
Submitted by: markm

Mark some _start formal parameters __unused.