Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Apr 2005 17:59:22 GMT
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 75260 for review
Message-ID:  <200504151759.j3FHxM5b088220@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=75260

Change 75260 by peter@peter_overcee on 2005/04/15 17:59:11

	IFC @75254

Affected files ...

.. //depot/projects/hammer/bin/sh/sh.1#15 integrate
.. //depot/projects/hammer/lib/libc/net/getaddrinfo.c#20 integrate
.. //depot/projects/hammer/lib/libc/net/gethostbydns.c#10 integrate
.. //depot/projects/hammer/lib/libc/net/res_query.c#5 integrate
.. //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#91 integrate
.. //depot/projects/hammer/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml#12 integrate
.. //depot/projects/hammer/sbin/idmapd/idmapd.c#6 integrate
.. //depot/projects/hammer/share/man/man9/Makefile#51 integrate
.. //depot/projects/hammer/share/man/man9/taskqueue.9#9 integrate
.. //depot/projects/hammer/sys/conf/options.i386#32 integrate
.. //depot/projects/hammer/sys/conf/options.pc98#29 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-all.c#46 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-all.h#27 integrate
.. //depot/projects/hammer/sys/dev/ata/ata-disk.c#30 integrate
.. //depot/projects/hammer/sys/dev/ata/atapi-cam.c#19 integrate
.. //depot/projects/hammer/sys/dev/ata/atapi-cd.c#26 integrate
.. //depot/projects/hammer/sys/dev/ata/atapi-fd.c#13 integrate
.. //depot/projects/hammer/sys/dev/ata/atapi-tape.c#16 integrate
.. //depot/projects/hammer/sys/dev/pci/pci.c#39 integrate
.. //depot/projects/hammer/sys/i386/acpica/madt.c#14 integrate
.. //depot/projects/hammer/sys/i386/conf/NOTES#66 integrate
.. //depot/projects/hammer/sys/i386/i386/io_apic.c#15 integrate
.. //depot/projects/hammer/sys/i386/i386/machdep.c#50 integrate
.. //depot/projects/hammer/sys/i386/i386/mptable.c#19 integrate
.. //depot/projects/hammer/sys/i386/include/apicvar.h#12 integrate
.. //depot/projects/hammer/sys/i386/pci/pci_pir.c#8 integrate
.. //depot/projects/hammer/sys/ia64/ia64/mp_machdep.c#11 integrate
.. //depot/projects/hammer/sys/kern/sched_4bsd.c#36 integrate
.. //depot/projects/hammer/sys/net/if.c#44 integrate
.. //depot/projects/hammer/sys/netgraph/ng_echo.c#4 integrate
.. //depot/projects/hammer/sys/netinet/ip_fw2.c#52 integrate
.. //depot/projects/hammer/sys/netinet/tcp_input.c#47 integrate
.. //depot/projects/hammer/sys/netinet/tcp_sack.c#12 integrate
.. //depot/projects/hammer/sys/netinet/tcp_var.h#26 integrate
.. //depot/projects/hammer/sys/pc98/conf/NOTES#40 integrate
.. //depot/projects/hammer/sys/sparc64/sparc64/machdep.c#40 integrate
.. //depot/projects/hammer/sys/sys/ata.h#10 integrate
.. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.m1.out#2 integrate
.. //depot/projects/hammer/tools/regression/usr.bin/printf/regress.sh#2 integrate
.. //depot/projects/hammer/usr.bin/printf/printf.1#6 integrate

Differences ...

==== //depot/projects/hammer/bin/sh/sh.1#15 (text+ko) ====

@@ -30,7 +30,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"	from: @(#)sh.1	8.6 (Berkeley) 5/4/95
-.\" $FreeBSD: src/bin/sh/sh.1,v 1.99 2005/03/04 13:16:50 keramida Exp $
+.\" $FreeBSD: src/bin/sh/sh.1,v 1.100 2005/04/15 14:53:29 keramida Exp $
 .\"
 .Dd July 3, 2004
 .Dt SH 1
@@ -196,6 +196,12 @@
 Enable asynchronous notification of background job
 completion.
 (UNIMPLEMENTED)
+.It Fl c Li string
+Read commands from the
+.Ar string
+operand instead of from the standard input.
+Keep in mind that this option only accepts a single string as its
+argument, hence multi-word strings must be quoted.
 .It Fl C Li noclobber
 Do not overwrite existing files with
 .Dq Li > .
@@ -303,13 +309,6 @@
 .El
 .Pp
 The
-.Fl c
-option may be used to pass its string argument to the shell
-to be interpreted as input.
-Keep in mind that this option only accepts a single string as its
-argument, hence multi-word strings must be quoted.
-.Pp
-The
 .Fl /+o
 option takes as its only argument the long name of an option
 to be enabled or disabled.
@@ -1643,9 +1642,9 @@
 .Pp
 The following environment variables affect the execution of
 .Ic fc :
-.Bl -tag -width indent
+.Bl -tag -width ".Ev HISTSIZE"
 .It Ev FCEDIT
-Name of the editor to use.
+Name of the editor to use for history editing.
 .It Ev HISTSIZE
 The number of previous commands that are accessible.
 .El
@@ -2051,12 +2050,86 @@
 Otherwise the shell will return the exit status of the last command
 executed, or if the exit builtin is used with a numeric argument, it
 will return the argument.
+.Sh ENVIRONMENT
+The following environment variables affect the execution of
+.Nm :
+.Bl -tag -width ".Ev HISTSIZE"
+.It Ev CDPATH
+The search path used with the
+.Ic cd
+built-in.
+.It Ev EDITOR
+The fallback editor used with the
+.Ic fc
+built-in.
+If not set, the default editor is
+.Xr ed 1 .
+.It Ev FCEDIT
+The default editor used with the
+.Ic fc
+built-in.
+.It Ev HISTSIZE
+The number of previous commands that are accessible.
+.It Ev HOME
+The starting directory of
+.Nm .
+.It Ev IFS
+Input Field Separators.
+This is normally set to
+.Aq space ,
+.Aq tab ,
+and
+.Aq newline .
+See the
+.Sx White Space Splitting
+section for more details.
+.It Ev MAIL
+The name of a mail file, that will be checked for the arrival of new
+mail.
+Overridden by
+.Ev MAILPATH .
+.It Ev MAILPATH
+A colon
+.Pq Ql \&:
+separated list of file names, for the shell to check for incoming
+mail.
+This environment setting overrides the
+.Ev MAIL
+setting.
+There is a maximum of 10 mailboxes that can be monitored at once.
+.It Ev PATH
+The default search path for executables.
+See the
+.Sx Path Search
+section for details.
+.It Ev PS1
+The primary prompt string, which defaults to
+.Dq $ \  ,
+unless you are the superuser, in which case it defaults to
+.Dq # \  .
+.It Ev PS2
+The secondary prompt string, which defaults to
+.Dq \*[Gt] \  .
+.It Ev TERM
+The default terminal setting for the shell.
+This is inherited by children of the shell, and is used in the history
+editing modes.
+.El
 .Sh SEE ALSO
 .Xr builtin 1 ,
+.Xr chsh 1 ,
 .Xr echo 1 ,
+.Xr ed 1 ,
+.Xr emacs 1 ,
 .Xr expr 1 ,
+.Xr getopt 1 ,
 .Xr pwd 1 ,
-.Xr test 1
+.Xr test 1 ,
+.Xr umask 2 ,
+.Xr vi 1 ,
+.Xr execve 2 ,
+.Xr getrlimit 2 ,
+.Xr editrc 5
 .Sh HISTORY
 A
 .Nm

==== //depot/projects/hammer/lib/libc/net/getaddrinfo.c#20 (text+ko) ====

@@ -63,7 +63,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.63 2005/04/14 11:44:43 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/getaddrinfo.c,v 1.64 2005/04/15 14:42:29 ume Exp $");
 
 #include "namespace.h"
 #include "reentrant.h"
@@ -2283,7 +2283,7 @@
 
 /* resolver logic */
 
-extern const char *__hostalias(const char *);
+extern const char *_res_hostalias(const char *, char *, size_t);
 
 /*
  * Formulate a normal query, send, and await answer.
@@ -2418,6 +2418,7 @@
 	u_int dots;
 	int trailing_dot, ret, saved_herrno;
 	int got_nodata = 0, got_servfail = 0, tried_as_is = 0;
+	char abuf[MAXDNAME];
 
 	if ((_res.options & RES_INIT) == 0 && res_init() == -1) {
 		h_errno = NETDB_INTERNAL;
@@ -2436,7 +2437,7 @@
 	/*
 	 * if there aren't any dots, it could be a user-level alias
 	 */
-	if (!dots && (cp = __hostalias(name)) != NULL)
+	if (!dots && (cp = _res_hostalias(name, abuf, sizeof(abuf))) != NULL)
 		return (res_queryN(cp, target));
 
 	/*

==== //depot/projects/hammer/lib/libc/net/gethostbydns.c#10 (text+ko) ====

@@ -58,7 +58,7 @@
 static char fromrcsid[] = "From: Id: gethnamaddr.c,v 8.23 1998/04/07 04:59:46 vixie Exp $";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/gethostbydns.c,v 1.46 2004/07/21 17:26:40 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/gethostbydns.c,v 1.47 2005/04/15 14:42:29 ume Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -96,6 +96,8 @@
 static char hostbuf[8*1024];
 static u_char host_addr[16];	/* IPv4 or IPv6 */
 
+extern const char *_res_hostalias(const char *, char *, size_t);
+
 #ifdef RESOLVSORT
 static void addrsort(char **, int);
 #endif
@@ -477,6 +479,7 @@
 	const char *cp;
 	char *bp, *ep;
 	int n, size, type, len;
+	char abuf[MAXDNAME];
 
 	name = va_arg(ap, const char *);
 	af = va_arg(ap, int);
@@ -510,7 +513,8 @@
 	 * this is also done in res_query() since we are not the only
 	 * function that looks up host names.
 	 */
-	if (!strchr(name, '.') && (cp = __hostalias(name)))
+	if (!strchr(name, '.') &&
+	    (cp = _res_hostalias(name, abuf, sizeof abuf)))
 		name = cp;
 
 	/*

==== //depot/projects/hammer/lib/libc/net/res_query.c#5 (text+ko) ====

@@ -73,7 +73,7 @@
 static char rcsid[] = "$Id: res_query.c,v 8.14 1997/06/09 17:47:05 halley Exp $";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/net/res_query.c,v 1.29 2004/04/21 09:50:52 ru Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/net/res_query.c,v 1.30 2005/04/15 14:42:29 ume Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -97,6 +97,8 @@
 #define MAXPACKET	1024
 #endif
 
+const char *_res_hostalias(const char *, char *, size_t);
+
 /*
  * Formulate a normal query, send, and await answer.
  * Returned answer is placed in supplied buffer "answer".
@@ -193,6 +195,7 @@
 	int anslen;		/* size of answer */
 {
 	const char *cp, * const *domain;
+	char tmp[MAXDNAME];
 	u_int dots;
 	int trailing_dot, ret, saved_herrno;
 	int got_nodata = 0, got_servfail = 0, tried_as_is = 0;
@@ -211,7 +214,7 @@
 		trailing_dot++;
 
 	/* If there aren't any dots, it could be a user-level alias */
-	if (!dots && (cp = hostalias(name)) != NULL)
+	if (!dots && (cp = _res_hostalias(name, tmp, sizeof tmp)) != NULL)
 		return (res_query(cp, class, type, answer, anslen));
 
 	/*
@@ -384,14 +387,11 @@
 }
 
 const char *
-hostalias(name)
-	const char *name;
+_res_hostalias(const char *name, char *dst, size_t siz)
 {
-	char *cp1, *cp2;
+	char *file, *cp1, *cp2;
+	char buf[BUFSIZ];
 	FILE *fp;
-	char *file;
-	char buf[BUFSIZ];
-	static char abuf[MAXDNAME];
 
 	if (_res.options & RES_NOALIASES)
 		return (NULL);
@@ -413,18 +413,28 @@
 				;
 			if (!*cp1)
 				break;
-			for (cp2 = cp1 + 1; *cp2 && !isspace((unsigned char)*cp2); ++cp2)
+			for (cp2 = cp1 + 1; *cp2 &&
+			     !isspace((unsigned char)*cp2); ++cp2)
 				;
-			abuf[sizeof(abuf) - 1] = *cp2 = '\0';
-			strncpy(abuf, cp1, sizeof(abuf) - 1);
+			*cp2 = '\0';
+			strncpy(dst, cp1, siz - 1);
+			dst[siz - 1] = '\0';
 			fclose(fp);
-			return (abuf);
+			return (dst);
 		}
 	}
 	fclose(fp);
 	return (NULL);
 }
 
+const char *
+hostalias(const char *name)
+{
+	static char abuf[MAXDNAME];
+
+	return (_res_hostalias(name, abuf, sizeof abuf));
+}
+
 /*
  * Weak aliases for applications that use certain private entry points,
  * and fail to include <resolv.h>.

==== //depot/projects/hammer/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#91 (text+ko) ====

@@ -3,7 +3,7 @@
 
   <corpauthor>The &os; Project</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.843 2005/04/06 19:58:22 hrs Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml,v 1.844 2005/04/15 14:27:26 simon Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -150,6 +150,12 @@
       <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:03.amd64.asc">FreeBSD-SA-05:03.amd64</ulink>.
       &merged;</para>
 
+    <para>An information leak vulnerability in the
+      <literal>SIOCGIFCONF</literal> &man.ioctl.2;, which leaked 12
+      bytes of kernel memory, has been fixed.  More details are in security advisory
+      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:04.ifconf.asc">FreeBSD-SA-05:04.ifconf</ulink>.
+      &merged;</para>
+
   </sect2>
 
   <sect2 id="kernel">

==== //depot/projects/hammer/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml#12 (text+ko) ====

@@ -1,9 +1,9 @@
 <!--
      The FreeBSD Russian Documentation Project
 
-     $FreeBSDru: frdp/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml,v 1.25 2005/03/22 07:45:00 den Exp $
+     $FreeBSDru: frdp/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml,v 1.27 2005/04/15 13:13:30 den Exp $
 
-     Original revision: 1.832
+     Original revision: 1.843
 -->
 
 <articleinfo>
@@ -11,7 +11,7 @@
 
   <corpauthor>Проект &os;</corpauthor>
 
-  <pubdate>$FreeBSD: src/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml,v 1.16 2005/03/22 07:43:31 den Exp $</pubdate>
+  <pubdate>$FreeBSD: src/release/doc/ru_RU.KOI8-R/relnotes/common/new.sgml,v 1.18 2005/04/15 13:11:53 den Exp $</pubdate>
 
   <copyright>
     <year>2000</year>
@@ -109,7 +109,7 @@
 
   <para>Обычно в информации о релизе последовательно включены
     последние сообщения безопасности, выпущенные после
-    &release.prev.historic;, информация о поддержки новых драйверов или
+    &release.prev.historic;, информация о поддержке новых драйверов или
     оборудования, новых команд или параметров, информация о основных
     исправлениях ошибок, или обновлениях стороннего программного
     обеспечения.  В нем могут также перечисляться изменения важнейших
@@ -135,6 +135,30 @@
       <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:17.procfs.asc">FreeBSD-SA-04:17.procfs</ulink>.
       &merged;</para>
 
+    <para>В клиенте TELNET были исправлены две ошибки переполнения буфера.
+      Они могут позволить злонамеренному серверу TELNET или активному
+      атакующему в сети между клиентом и сервером заставить
+      &man.telnet.1; выполнить произвольный код с привилегиями пользователя,
+      запустившего клиент.
+      За дальнейшей информацией обращайтесь к сообщению безопасности
+      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:01.telnet.asc">FreeBSD-SA-05:01.telnet</ulink>.
+      &merged;</para>
+
+    <para>В системном вызове &man.sendfile.2; была исправлена ошибка,
+      связанная с раскрытием информации, которая могла позволить передачу
+      произвольных частей памяти ядра.
+      За дальнейшей информацией обращайтесь к сообщению безопасности
+      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:02.sendfile.asc">FreeBSD-SA-05:02.sendfile</ulink>.
+      &merged;</para>
+
+    <para>Было исправлено возможное расширение привилегий в &os;/amd64.
+      Ошибка позволяла непривилегированным пользователям получать прямой
+      доступ к некоторому оборудованию, доступ к которому не мог быть
+      получен без соответствующего уровня привилегий.
+      За дальнейшей информацией обращайтесь к сообщению безопасности
+      <ulink url="ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-05:03.amd64.asc">FreeBSD-SA-05:03.amd64</ulink>.
+      &merged;</para>
+
   </sect2>
 
   <sect2 id="kernel">
@@ -160,7 +184,7 @@
       <username>root</username> внутри jail и вне jail не делается.
       &merged;</para>
 
-    <para arch="alpha,amd64,i386">Переменная загрузчика
+    <para arch="alpha,amd64,i386,sparc64">Переменная загрузчика
       <varname>debug.mpsafevm</varname> была включена по
       умолчанию.  &merged;</para>
 
@@ -379,6 +403,9 @@
 	<para>Драйвер &man.bge.4; теперь поддерживает инфраструктуру
 	  &man.altq.4;.</para>
 
+	<para>Был добавлен USB Communication Device Class Ethernet
+	  драйвер &man.cdce.4;. &merged;</para>
+
 	<para>Драйвер &man.cp.4; теперь MPSAFE. &merged;</para>
 
 	<para>Драйвер &man.ctau.4; теперь MPSAFE. &merged;</para>
@@ -405,6 +432,8 @@
 
 	<para>Драйвер &man.hme.4; теперь MPSAFE. &merged;</para>
 
+	<para>Драйвер &man.ixgb.4; теперь MPSAFE.</para>
+
 	<para arch="amd64">Конвертер драйверов устройств &man.ndis.4;
 	  теперь поддерживает бинарные файлы &windows;/x86-64 на системах
 	  amd64. &merged;</para>
@@ -442,6 +471,9 @@
 	  (или компиляция) модуля <filename>wlan_wep</filename>
 	  в ядро.</para>
 
+	<para>Драйвер &man.xl.4; теперь поддерживает
+	  &man.polling.4;.</para>
+
       </sect4>
     </sect3>
 
@@ -563,6 +595,10 @@
       <para>Драйвер &man.amr.4; теперь может безопасно использоваться
 	на системах с &man.pae.4;. &merged;</para>
 
+      <para arch="i386,ia64">Был добавлен драйвер &man.arcmsr.4;.
+	Он поддерживает контроллеры SATA RAID серий Areca ARC-11<replaceable>xx</replaceable>
+	и ARC-12<replaceable>xx</replaceable>.  &merged;</para>
+
       <para>Был добавлен класс SHSEC GEOM.  Он предоставлен для
 	разделения секретного ключа (<quote>secret</quote>)
 	между несколькими провайдерами GEOM.  Все эти провайдеры
@@ -680,12 +716,20 @@
     <para>Дисковый формат файлов <literal>LC_CTYPE</literal> был изменен
       к машино-независимому виду.</para>
 
+    <para>Была исправлена ошибка в библиотеке <filename>libalias</filename>,
+      приводившая к дампу памяти при указании в &man.natd.8;
+      опции <option>-reverse</option>.</para>
+
     <para>Библиотека <filename>libarchive</filename> (как и команда
       &man.tar.1;, ее использующая) теперь поддерживает чтение образов
       ISO (с опциональным расширением RockRidge) и архивов ZIP
       (со сжатием <literal>deflate</literal> и <literal>none</literal>).
       &merged;</para>
 
+    <para>Библиотека <filename>libarchive</filename> теперь поддерживает
+      ZIP архивы с вхождениями более 4GB в упакованном виде (расширение
+      ZIP64) и расширение Unix.</para>
+
     <para>Была добавлена библиотека <filename>libgpib</filename>,
       чтобы предоставить доступ уровня пользователя к устройствам
       GPIB (используя драйвер pcii) через
@@ -837,6 +881,13 @@
     <para>Утилиты &man.rescue.8; в каталоге <filename>/rescue</filename>
       теперь включают &man.bsdtar.1; вместо GNU tar.</para>
 
+    <para>Утилита &man.restore.8; опять может читать ленты с дампами
+      &os; версии 1.</para>
+
+    <para>Была исправлена ошибка в утилите &man.rexecd.8;, из-за
+      которой считалось, что опция <option>-i</option> всегда
+      указана.  &merged;</para>
+
     <para>Утилита &man.rm.1; теперь поддерживает параметр
       <option>-I</option>, с которым (однократно) запрашивается
       подтверждение при рекурсивном удалении каталогов или
@@ -913,7 +964,7 @@
 
     <para>Была исправлена ошибка чтения файлов конфигурации,
       таких как &man.hosts.5;, &man.services.5; и так далее, которые
-      не заканчивались символом новой строки.</para>
+      не заканчивались символом новой строки. &merged;</para>
 
     <sect3 id="rc-scripts">
       <title>Скрипты <filename>/etc/rc.d</filename></title>
@@ -957,7 +1008,7 @@
     <title>Стороннее программное обеспечение</title>
 
     <para><application>BIND</application> был обновлен с версии
-      9.3.0 до версии 9.3.1.</para>
+      9.3.0 до версии 9.3.1. &merged;</para>
 
     <para><application>FILE</application> был обновлен с 4.10
       до 4.12.</para>
@@ -1045,7 +1096,10 @@
       как установку с этого диска, так и восстановление после
       сбоев.  (На ia64, live filesystem находится на отдельном
       диске, поскольку не умещается на первый).  Пакеты помещаются
-      на отдельный диск. &merged;</para>
+      на отдельный диск; в частности, образ <filename>disc2</filename>
+      содержит общеиспользуемые пакеты, такие как десктоп-приложения.
+      Документы Проекта документирования &os; также помещаются на
+      <filename>disc2</filename>. &merged;</para>
 
     <para>Поддерживаемая версия десктопа
       <application>GNOME</application> была обновлена с
@@ -1112,7 +1166,7 @@
       &man.inet6.rth.space.3;,
       &man.inet6.rthdr.space.3;,
       &man.icmp6.4; и
-      &man.ip6.4;.</para>
+      &man.ip6.4;.  &merged;</para>
 
   </sect2>
 

==== //depot/projects/hammer/sbin/idmapd/idmapd.c#6 (text+ko) ====

@@ -1,4 +1,4 @@
-/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.5 2004/04/15 16:12:12 rees Exp $ */
+/* $FreeBSD: src/sbin/idmapd/idmapd.c,v 1.6 2005/04/14 20:27:30 rees Exp $ */
 /* $Id: idmapd.c,v 1.5 2003/11/05 14:58:58 rees Exp $ */
 
 /*
@@ -339,12 +339,6 @@
 
 	TAILQ_INIT(&upcall_q);
 
-	if (error) {
-	  	perror("sigaction");
-		exit(1);
-	}
-
-
 	fd = open(DEV_PATH, O_RDWR, S_IRUSR | S_IWUSR);
 
 	if (fd < 0) {

==== //depot/projects/hammer/share/man/man9/Makefile#51 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/share/man/man9/Makefile,v 1.256 2005/04/09 18:38:54 pjd Exp $
+# $FreeBSD: src/share/man/man9/Makefile,v 1.257 2005/04/15 10:57:34 pjd Exp $
 
 MAN=	accept_filter.9 \
 	accf_data.9 \
@@ -795,11 +795,16 @@
 	runqueue.9 procrunnable.9 \
 	runqueue.9 remrunqueue.9 \
 	runqueue.9 setrunqueue.9
-MLINKS+=sbuf.9 sbuf_cat.9 \
+MLINKS+=sbuf.9 sbuf_bcat.9 \
+	sbuf.9 sbuf_bcopyin.9 \
+	sbuf.9 sbuf_bcpy.9 \
+	sbuf.9 sbuf_cat.9 \
 	sbuf.9 sbuf_clear.9 \
+	sbuf.9 sbuf_copyin.9 \
 	sbuf.9 sbuf_cpy.9 \
 	sbuf.9 sbuf_data.9 \
 	sbuf.9 sbuf_delete.9 \
+	sbuf.9 sbuf_done.9 \
 	sbuf.9 sbuf_finish.9 \
 	sbuf.9 sbuf_len.9 \
 	sbuf.9 sbuf_new.9 \

==== //depot/projects/hammer/share/man/man9/taskqueue.9#9 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 .\"
-.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.14 2005/01/12 21:48:25 ru Exp $
+.\" $FreeBSD: src/share/man/man9/taskqueue.9,v 1.15 2005/04/15 14:46:59 jkoshy Exp $
 .\"
 .Dd May 12, 2000
 .Dt TASKQUEUE 9
@@ -231,6 +231,10 @@
 that need to call kernel functions that do things that can only be done
 from a thread context.
 (e.g., call malloc with the M_WAITOK flag.)
+.Sh SEE ALSO
+.Xr ithread 9 ,
+.Xr kthread 9 ,
+.Xr swi 9
 .Sh HISTORY
 This interface first appeared in
 .Fx 5.0 .

==== //depot/projects/hammer/sys/conf/options.i386#32 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.i386,v 1.218 2005/03/17 01:20:49 cognet Exp $
+# $FreeBSD: src/sys/conf/options.i386,v 1.219 2005/04/14 17:59:57 jhb Exp $
 # Options specific to the i386 platform kernels
 
 AUTO_EOI_1		opt_auto_eoi.h
@@ -9,7 +9,6 @@
 I586_PMC_GUPROF		opt_i586_guprof.h
 MAXMEM
 MPTABLE_FORCE_HTT
-NO_MIXED_MODE
 PERFMON
 PMAP_SHPGPERPROC	opt_pmap.h
 POWERFAIL_NMI		opt_trap.h

==== //depot/projects/hammer/sys/conf/options.pc98#29 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options.pc98,v 1.182 2005/02/04 15:29:54 nyan Exp $
+# $FreeBSD: src/sys/conf/options.pc98,v 1.183 2005/04/15 14:24:49 nyan Exp $
 # Options specific to the pc98 platform kernels
 
 AUTO_EOI_1		opt_auto_eoi.h
@@ -8,7 +8,6 @@
 I586_PMC_GUPROF		opt_i586_guprof.h
 MAXMEM
 MPTABLE_FORCE_HTT
-NO_MIXED_MODE
 PERFMON
 PMAP_SHPGPERPROC	opt_pmap.h
 POWERFAIL_NMI		opt_trap.h

==== //depot/projects/hammer/sys/dev/ata/ata-all.c#46 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.239 2005/04/08 09:37:47 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-all.c,v 1.241 2005/04/15 14:19:41 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -68,7 +68,8 @@
 /* prototypes */
 static void ata_interrupt(void *);
 static void ata_boot_attach(void);
-device_t ata_add_child(driver_t *driver, device_t parent, struct ata_device *atadev, const char *name, int unit);
+device_t ata_add_child(device_t parent, struct ata_device *atadev, int unit);
+static int ata_identify(device_t dev);
 
 /* global vars */
 MALLOC_DEFINE(M_ATA, "ATA generic", "ATA driver generic layer");
@@ -147,8 +148,7 @@
 	return 0;
 
     /* probe and attach devices on this channel */
-    bus_generic_probe(dev);
-    bus_generic_attach(dev);
+    ata_identify(dev);
     return 0;
 }
 
@@ -171,9 +171,6 @@
 	free(children, M_TEMP);
     } 
 
-    /* fail outstanding requests on this channel (SOS shouldn't be any XXX ) */
-    ata_fail_requests(ch, NULL);
-
     /* release resources */
     bus_teardown_intr(dev, ch->r_irq, ch->ih);
     bus_release_resource(dev, SYS_RES_IRQ, ATA_IRQ_RID, ch->r_irq);
@@ -558,8 +555,7 @@
     /* kick of probe and attach on all channels */
     for (ctlr = 0; ctlr < devclass_get_maxunit(ata_devclass); ctlr++) {
 	if ((ch = devclass_get_softc(ata_devclass, ctlr))) {
-	    bus_generic_probe(ch->dev);
-	    bus_generic_attach(ch->dev);
+	    ata_identify(ch->dev);
 	}
     }
 }
@@ -568,16 +564,14 @@
  * misc support functions
  */
 device_t
-ata_add_child(driver_t *driver, device_t parent, struct ata_device *atadev,
-	      const char *name, int unit)
+ata_add_child(device_t parent, struct ata_device *atadev, int unit)
 {
     struct ata_channel *ch = device_get_softc(parent);
     device_t child;
 
-    if ((child = device_add_child(parent, name, unit))) {
+    if ((child = device_add_child(parent, NULL, unit))) {
 	char buffer[64];
 
-	device_set_driver(child, driver);
 	device_set_softc(child, atadev);
 	sprintf(buffer, "%.40s/%.8s",
 		atadev->param.model, atadev->param.revision);
@@ -586,7 +580,7 @@
 	atadev->dev = child;
 	atadev->max_iosize = DEV_BSIZE;
 	atadev->mode = ATA_PIO_MAX;
-	if ((atadev->param.config & ATA_PROTO_MASK) == ATA_PROTO_ATAPI_12) {
+	if (atadev->param.config & ATA_PROTO_ATAPI) {
 	    if (atapi_dma && ch->dma && 
 		(atadev->param.config & ATA_DRQ_MASK) != ATA_DRQ_INTR &&
 		ata_umode(&atadev->param) >= ATA_UDMA2) 
@@ -600,30 +594,30 @@
     return child;
 }
 
-void
-ata_identify(driver_t *driver, device_t parent, int type, const char *name)
+static int
+ata_identify(device_t dev)
 {
-    struct ata_channel *ch = device_get_softc(parent);
+    struct ata_channel *ch = device_get_softc(dev);
     struct ata_device *master, *slave;
     int master_res = EIO, slave_res = EIO, master_unit = -1, slave_unit = -1;
 
     if (!(master = malloc(sizeof(struct ata_device),
 			  M_ATA, M_NOWAIT | M_ZERO))) {
-	device_printf(parent, "out of memory\n");
-	return;
+	device_printf(dev, "out of memory\n");
+	return ENOMEM;
     }
     master->unit = ATA_MASTER;
     if (!(slave = malloc(sizeof(struct ata_device),
 			 M_ATA, M_NOWAIT | M_ZERO))) {
 	free(master, M_ATA);
-	device_printf(parent, "out of memory\n");
-	return;
+	device_printf(dev, "out of memory\n");
+	return ENOMEM;
     }
     slave->unit = ATA_SLAVE;
 
     /* wait for the channel to be IDLE then grab it before touching HW */
-    while (ATA_LOCKING(parent, ATA_LF_LOCK) != ch->unit)
-	tsleep(ch, PRIBIO, "ataidnt2", 1);
+    while (ATA_LOCKING(dev, ATA_LF_LOCK) != ch->unit)
+	tsleep(ch, PRIBIO, "ataidnt1", 1);
     while (1) {
 	mtx_lock(&ch->state_mtx);
 	if (ch->state == ATA_IDLE) {
@@ -632,40 +626,41 @@
 	    break;
 	}
 	mtx_unlock(&ch->state_mtx);
-	tsleep(ch, PRIBIO, "ataidnt1", 1);
+	tsleep(ch, PRIBIO, "ataidnt2", 1);
     }
 
-    if (type < 0) {
-	if (ch->devices & ATA_ATA_SLAVE)
-	    slave_res = ata_getparam(parent, slave, ATA_ATA_IDENTIFY);
-	if (ch->devices & ATA_ATA_MASTER)
-	    master_res = ata_getparam(parent, master, ATA_ATA_IDENTIFY);
+    if (ch->devices & ATA_ATA_SLAVE) {
+	slave_res = ata_getparam(dev, slave, ATA_ATA_IDENTIFY);
 #ifdef ATA_STATIC_ID
-	master_unit = (device_get_unit(parent) << 1);
-	slave_unit = (device_get_unit(parent) << 1) + 1;
+	slave_unit = (device_get_unit(dev) << 1) + 1;
 #endif
     }
-    else {
-	if (ch->devices & ATA_ATAPI_SLAVE)
-	    slave_res = ata_getparam(parent, slave, ATA_ATAPI_IDENTIFY);
-	if (ch->devices & ATA_ATAPI_MASTER)
-	    master_res = ata_getparam(parent, master, ATA_ATAPI_IDENTIFY);
+    else if (ch->devices & ATA_ATAPI_SLAVE)
+	slave_res = ata_getparam(dev, slave, ATA_ATAPI_IDENTIFY);
+
+    if (ch->devices & ATA_ATA_MASTER) {
+	master_res = ata_getparam(dev, master, ATA_ATA_IDENTIFY);
+#ifdef ATA_STATIC_ID
+	master_unit = (device_get_unit(dev) << 1);
+#endif
     }
+    else if (ch->devices & ATA_ATAPI_MASTER)
+	master_res = ata_getparam(dev, master, ATA_ATAPI_IDENTIFY);
 
-    if (master_res ||
-	!(type < 0 || (master->param.config & ATA_ATAPI_TYPE_MASK) == type) ||
-	!ata_add_child(driver, parent, master, name, master_unit))
+    if (master_res || !ata_add_child(dev, master, master_unit))
 	free(master, M_ATA);
     
-    if (slave_res ||
-	!(type < 0 || (slave->param.config & ATA_ATAPI_TYPE_MASK) == type) ||
-	!ata_add_child(driver, parent, slave, name, slave_unit))
+    if (slave_res || !ata_add_child(dev, slave, slave_unit))
 	free(slave, M_ATA);
 
     mtx_lock(&ch->state_mtx);
     ch->state = ATA_IDLE;
     mtx_unlock(&ch->state_mtx);
-    ATA_LOCKING(parent, ATA_LF_UNLOCK);
+    ATA_LOCKING(dev, ATA_LF_UNLOCK);
+
+    bus_generic_probe(dev);
+    bus_generic_attach(dev);
+    return 0;
 }
 
 void

==== //depot/projects/hammer/sys/dev/ata/ata-all.h#27 (text+ko) ====

@@ -25,7 +25,7 @@
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.92 2005/04/14 08:48:45 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.93 2005/04/15 10:20:51 sos Exp $
  */
 
 /* ATA register defines */
@@ -452,7 +452,6 @@
 int ata_reinit(device_t dev);
 int ata_suspend(device_t dev);
 int ata_resume(device_t dev);
-void ata_identify(driver_t *driver, device_t parent, int type, const char *name);
 void ata_default_registers(struct ata_channel *ch);
 void ata_udelay(int interval);
 char *ata_mode2str(int mode);

==== //depot/projects/hammer/sys/dev/ata/ata-disk.c#30 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.184 2005/03/31 15:05:40 sos Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.185 2005/04/15 10:20:51 sos Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -66,16 +66,15 @@
 /* local vars */
 static MALLOC_DEFINE(M_AD, "AD driver", "ATA disk driver");
 
-static void
-ad_identify(driver_t *driver, device_t parent)
-{
-    ata_identify(driver, parent, -1, "ad");
-}
-
 static int
 ad_probe(device_t dev)
 {
-    return 0;
+    struct ata_device *atadev = device_get_softc(dev);
+
+    if (!(atadev->param.config & ATA_PROTO_ATAPI))
+	return 0;
+    else
+	return ENXIO;
 }
 
 static int
@@ -93,8 +92,6 @@
 
     if (!(adp = malloc(sizeof(struct ad_softc), M_AD, M_NOWAIT | M_ZERO))) {
 	device_printf(dev, "out of memory\n");
-	device_set_softc(dev, NULL);
-	free(atadev, M_ATA);
 	return ENOMEM;
     }
     device_set_ivars(dev, adp);
@@ -161,7 +158,6 @@
 ad_detach(device_t dev)
 {
     struct ata_channel *ch = device_get_softc(device_get_parent(dev));
-    struct ata_device *atadev = device_get_softc(dev);
     struct ad_softc *adp = device_get_ivars(dev);
     device_t *children;
     int nchildren, i;
@@ -187,8 +183,6 @@
     /* dont leave anything behind */
     device_set_ivars(dev, NULL);
     free(adp, M_AD);
-    device_set_softc(dev, NULL);
-    free(atadev, M_ATA);
     return 0;
 }
 
@@ -419,7 +413,6 @@
 
 static device_method_t ad_methods[] = {
     /* device interface */
-    DEVMETHOD(device_identify,  ad_identify),
     DEVMETHOD(device_probe,     ad_probe),
     DEVMETHOD(device_attach,    ad_attach),
     DEVMETHOD(device_detach,    ad_detach),
@@ -439,22 +432,6 @@
 
 devclass_t ad_devclass;
 
-static int
-ad_modevent(module_t mod, int what, void *arg)
-{
-    device_t *devs;
-    int ndevs, i;
-
-    if (what == MOD_UNLOAD) {
-	if (!devclass_get_devices(ad_devclass, &devs, &ndevs) && devs) {
-	    for (i = 0; i < ndevs; i++)
-		device_delete_child(device_get_parent(devs[i]), devs[i]);
-	    free(devs, M_TEMP);
-	}
-    }
-    return 0;
-}
-
-DRIVER_MODULE(ad, ata, ad_driver, ad_devclass, ad_modevent, NULL);
+DRIVER_MODULE(ad, ata, ad_driver, ad_devclass, NULL, NULL);
 MODULE_VERSION(ad, 1);
 MODULE_DEPEND(ad, ata, 1, 1, 1);

==== //depot/projects/hammer/sys/dev/ata/atapi-cam.c#19 (text+ko) ====

@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.39 2005/04/08 22:51:50 scottl Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/atapi-cam.c,v 1.40 2005/04/15 10:20:51 sos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -90,7 +90,7 @@
 enum reinit_reason { BOOT_ATTACH, ATTACH, RESET };
 
 /* Device methods */
-static int atapi_cam_identify(device_t *dev, device_t parent);
+static void atapi_cam_identify(device_t *dev, device_t parent);
 static int atapi_cam_probe(device_t dev);
 static int atapi_cam_attach(device_t dev);
 static int atapi_cam_detach(device_t dev);
@@ -102,6 +102,9 @@
 static void atapi_async(void *, u_int32_t, struct cam_path *, void *);
 static void atapi_cb(struct ata_request *);
 
+/* Module methods */
+static int atapi_cam_event_handler(module_t mod, int what, void *arg);
+
 /* internal functions */
 static void reinit_bus(struct atapi_xpt_softc *scp, enum reinit_reason reason);
 static void setup_async_cb(struct atapi_xpt_softc *, uint32_t);
@@ -130,24 +133,52 @@
 };
 

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200504151759.j3FHxM5b088220>