svn commit: r275179 - stable/10/sbin/fsck

2014-11-27 Thread Andrey V. Elsukov
Author: ae
Date: Thu Nov 27 08:41:31 2014
New Revision: 275179
URL: https://svnweb.freebsd.org/changeset/base/275179

Log:
  MFC r274750:
Use geom attribute PART::type to determine partition type and choose
relevant fsck_xxx utility.

Modified:
  stable/10/sbin/fsck/fsck.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sbin/fsck/fsck.c
==
--- stable/10/sbin/fsck/fsck.c  Thu Nov 27 08:31:20 2014(r275178)
+++ stable/10/sbin/fsck/fsck.c  Thu Nov 27 08:41:31 2014(r275179)
@@ -41,8 +41,7 @@ __FBSDID($FreeBSD$);
 #include sys/mount.h
 #include sys/queue.h
 #include sys/wait.h
-#define FSTYPENAMES
-#include sys/disklabel.h
+#include sys/disk.h
 #include sys/ioctl.h
 
 #include ctype.h
@@ -81,10 +80,21 @@ static void addentry(struct fstypelist *
 static void maketypelist(char *);
 static void catopt(char **, const char *);
 static void mangle(char *, int *, const char ** volatile *, int *);
-static const char *getfslab(const char *);
+static const char *getfstype(const char *);
 static void usage(void) __dead2;
 static int isok(struct fstab *);
 
+static struct {
+   const char *ptype;
+   const char *name;
+} ptype_map[] = {
+   { ufs,ffs },
+   { ffs,ffs },
+   { fat,msdosfs },
+   { efi,msdosfs },
+   { NULL, NULL },
+};
+
 int
 main(int argc, char *argv[])
 {
@@ -203,7 +213,7 @@ main(int argc, char *argv[])
if ((fs = getfsfile(spec)) == NULL 
(fs = getfsspec(spec)) == NULL) {
if (vfstype == NULL)
-   vfstype = getfslab(spec);
+   vfstype = getfstype(spec);
if (vfstype == NULL)
errx(1, Could not determine filesystem type);
type = vfstype;
@@ -535,41 +545,27 @@ mangle(char *opts, int *argcp, const cha
*maxargcp = maxargc;
 }
 
-
 static const char *
-getfslab(const char *str)
+getfstype(const char *str)
 {
-   struct disklabel dl;
-   int fd;
-   char p;
-   const char *vfstype;
-   u_char t;
+   struct diocgattr_arg attr;
+   int fd, i;
 
-   /* deduce the file system type from the disk label */
if ((fd = open(str, O_RDONLY)) == -1)
err(1, cannot open `%s', str);
 
-   if (ioctl(fd, DIOCGDINFO, dl) == -1) {
+   strncpy(attr.name, PART::type, sizeof(attr.name));
+   memset(attr.value, 0, sizeof(attr.value));
+   attr.len = sizeof(attr.value);
+   if (ioctl(fd, DIOCGATTR, attr) == -1) {
(void) close(fd);
return(NULL);
}
-
(void) close(fd);
-
-   p = str[strlen(str) - 1];
-
-   if ((p - 'a') = dl.d_npartitions)
-   errx(1, partition `%s' is not defined on disk, str);
-
-   if ((t = dl.d_partitions[p - 'a'].p_fstype) = FSMAXTYPES) 
-   errx(1, partition `%s' is not of a legal vfstype,
-   str);
-
-   if ((vfstype = fstypenames[t]) == NULL)
-   errx(1, vfstype `%s' on partition `%s' is not supported,
-   fstypenames[t], str);
-
-   return vfstype;
+   for (i = 0; ptype_map[i].ptype != NULL; i++)
+   if (strstr(attr.value.str, ptype_map[i].ptype) != NULL)
+   return (ptype_map[i].name);
+   return (NULL);
 }
 
 
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275180 - head/tools/tools/nanobsd

2014-11-27 Thread Nick Hibma
Author: n_hibma
Date: Thu Nov 27 09:17:42 2014
New Revision: 275180
URL: https://svnweb.freebsd.org/changeset/base/275180

Log:
  clean_build is not always done (*), so move the mkdir to the first step
  that needs it and is always done: make.conf build.
  
  (*) In our build environment we actually never do a clean build unless
  instructed to do so, to make sure we do not accidentally delete the
  built world when on a tight schedule.

Modified:
  head/tools/tools/nanobsd/nanobsd.sh

Modified: head/tools/tools/nanobsd/nanobsd.sh
==
--- head/tools/tools/nanobsd/nanobsd.sh Thu Nov 27 08:41:31 2014
(r275179)
+++ head/tools/tools/nanobsd/nanobsd.sh Thu Nov 27 09:17:42 2014
(r275180)
@@ -213,13 +213,14 @@ clean_build ( ) (
chflags -R noschg ${MAKEOBJDIRPREFIX}/
nano_rm -r ${MAKEOBJDIRPREFIX}/
fi
-   mkdir -p ${MAKEOBJDIRPREFIX}
-   printenv  ${MAKEOBJDIRPREFIX}/_.env
 )
 
 make_conf_build ( ) (
pprint 2 Construct build make.conf ($NANO_MAKE_CONF_BUILD)
 
+   mkdir -p ${MAKEOBJDIRPREFIX}
+   printenv  ${MAKEOBJDIRPREFIX}/_.env
+
echo ${CONF_WORLD}  ${NANO_MAKE_CONF_BUILD}
echo ${CONF_BUILD}  ${NANO_MAKE_CONF_BUILD}
 )
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275185 - stable/10/share/man/man4

2014-11-27 Thread Edward Tomasz Napierala
Author: trasz
Date: Thu Nov 27 10:31:11 2014
New Revision: 275185
URL: https://svnweb.freebsd.org/changeset/base/275185

Log:
  MFC r273690:
  
  Mention VAAI and ODX in ctl(4).
  
  Sponsored by: The FreeBSD Foundation

Modified:
  stable/10/share/man/man4/ctl.4
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/share/man/man4/ctl.4
==
--- stable/10/share/man/man4/ctl.4  Thu Nov 27 09:53:17 2014
(r275184)
+++ stable/10/share/man/man4/ctl.4  Thu Nov 27 10:31:11 2014
(r275185)
@@ -23,7 +23,7 @@
 .\ SUCH DAMAGE.
 .\
 .\ $FreeBSD$
-.Dd April 2, 2013
+.Dd October 23, 2014
 .Dt CTL 4
 .Os
 .Sh NAME
@@ -57,7 +57,7 @@ Tagged queueing
 .It
 SCSI task attribute support (ordered, head of queue, simple tags)
 .It
-SCSI implicit command ordering support.
+SCSI implicit command ordering support
 .It
 Full task management support (abort, LUN reset, target reset, etc.)
 .It
@@ -67,6 +67,12 @@ Support for multiple simultaneous initia
 .It
 Support for multiple simultaneous backing stores
 .It
+Support for VMWare VAAI: COMPARE AND WRITE, XCOPY, WRITE SAME,
+and UNMAP commands
+.It
+Support for Microsoft ODX: POPULATE TOKEN/WRITE USING TOKEN,
+WRITE SAME, and UNMAP commands
+.It
 Persistent reservation support
 .It
 Mode sense/select support
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275186 - stable/10/usr.sbin/ctld

2014-11-27 Thread Edward Tomasz Napierala
Author: trasz
Date: Thu Nov 27 10:45:55 2014
New Revision: 275186
URL: https://svnweb.freebsd.org/changeset/base/275186

Log:
  MFC r273768:
  
  Remove the distinction between strings and numbers from ctld(8) yacc parser.
  This fixes problems with passing strings that look like numbers to clauses
  that expect strings; previously it caused syntax errors and had to be worked
  by user, using quotes.  The workaround introduced in r267833 is no longer
  neccessary.
  
  Sponsored by: The FreeBSD Foundation

Modified:
  stable/10/usr.sbin/ctld/parse.y
  stable/10/usr.sbin/ctld/token.l
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/usr.sbin/ctld/parse.y
==
--- stable/10/usr.sbin/ctld/parse.y Thu Nov 27 10:31:11 2014
(r275185)
+++ stable/10/usr.sbin/ctld/parse.y Thu Nov 27 10:45:55 2014
(r275186)
@@ -101,21 +101,45 @@ statement:
target
;
 
-debug: DEBUG NUM
+debug: DEBUG STR
{
-   conf-conf_debug = $2;
+   uint64_t tmp;
+
+   if (expand_number($2, tmp) != 0) {
+   log_warnx(invalid numeric value \%s\, $2);
+   free($2);
+   return (1);
+   }
+   
+   conf-conf_debug = tmp;
}
;
 
-timeout:   TIMEOUT NUM
+timeout:   TIMEOUT STR
{
-   conf-conf_timeout = $2;
+   uint64_t tmp;
+
+   if (expand_number($2, tmp) != 0) {
+   log_warnx(invalid numeric value \%s\, $2);
+   free($2);
+   return (1);
+   }
+
+   conf-conf_timeout = tmp;
}
;
 
-maxproc:   MAXPROC NUM
+maxproc:   MAXPROC STR
{
-   conf-conf_maxproc = $2;
+   uint64_t tmp;
+
+   if (expand_number($2, tmp) != 0) {
+   log_warnx(invalid numeric value \%s\, $2);
+   free($2);
+   return (1);
+   }
+
+   conf-conf_maxproc = tmp;
}
;
 
@@ -583,9 +607,17 @@ target_lun:LUN lun_number
}
;
 
-lun_number:NUM
+lun_number:STR
{
-   lun = lun_new(target, $1);
+   uint64_t tmp;
+
+   if (expand_number($1, tmp) != 0) {
+   log_warnx(invalid numeric value \%s\, $1);
+   free($1);
+   return (1);
+   }
+
+   lun = lun_new(target, tmp);
if (lun == NULL)
return (1);
}
@@ -626,15 +658,23 @@ lun_backend:  BACKEND STR
}
;
 
-lun_blocksize: BLOCKSIZE NUM
+lun_blocksize: BLOCKSIZE STR
{
+   uint64_t tmp;
+
+   if (expand_number($2, tmp) != 0) {
+   log_warnx(invalid numeric value \%s\, $2);
+   free($2);
+   return (1);
+   }
+
if (lun-l_blocksize != 0) {
log_warnx(blocksize for lun %d, target \%s\ 
specified more than once,
lun-l_lun, target-t_name);
return (1);
}
-   lun_set_blocksize(lun, $2);
+   lun_set_blocksize(lun, tmp);
}
;
 
@@ -689,31 +729,26 @@ lun_serial:   SERIAL STR
}
lun_set_serial(lun, $2);
free($2);
-   } | SERIAL NUM
+   }
+   ;
+
+lun_size:  SIZE STR
{
-   char *str = NULL;
+   uint64_t tmp;
 
-   if (lun-l_serial != NULL) {
-   log_warnx(serial for lun %d, target \%s\ 
-   specified more than once,
-   lun-l_lun, target-t_name);
+   if (expand_number($2, tmp) != 0) {
+   log_warnx(invalid numeric value \%s\, $2);
+   free($2);
return (1);
}
-   asprintf(str, %ju, $2);
-   lun_set_serial(lun, str);
-   free(str);
-   }
-   ;
 
-lun_size:  SIZE NUM
-   {
if (lun-l_size != 0) {
log_warnx(size for lun %d, target \%s\ 
specified more than once,
lun-l_lun, target-t_name);
return (1);
}
-   lun_set_size(lun, $2);
+   lun_set_size(lun, tmp);
}
;
 %%

Modified: stable/10/usr.sbin/ctld/token.l
==
--- stable/10/usr.sbin/ctld/token.l Thu Nov 27 10:31:11 2014
(r275185)
+++ 

svn commit: r275187 - stable/10/usr.sbin/ctld

2014-11-27 Thread Edward Tomasz Napierala
Author: trasz
Date: Thu Nov 27 10:48:06 2014
New Revision: 275187
URL: https://svnweb.freebsd.org/changeset/base/275187

Log:
  MFC r273770:
  
  Fix build after previous commit.  While here, improve error messages.
  
  Sponsored by: The FreeBSD Foundation

Modified:
  stable/10/usr.sbin/ctld/parse.y

Modified: stable/10/usr.sbin/ctld/parse.y
==
--- stable/10/usr.sbin/ctld/parse.y Thu Nov 27 10:45:55 2014
(r275186)
+++ stable/10/usr.sbin/ctld/parse.y Thu Nov 27 10:48:06 2014
(r275187)
@@ -59,17 +59,15 @@ extern void yyrestart(FILE *);
 
 %token ALIAS AUTH_GROUP AUTH_TYPE BACKEND BLOCKSIZE CHAP CHAP_MUTUAL
 %token CLOSING_BRACKET DEBUG DEVICE_ID DISCOVERY_AUTH_GROUP INITIATOR_NAME
-%token INITIATOR_PORTAL LISTEN LISTEN_ISER LUN MAXPROC NUM OPENING_BRACKET
+%token INITIATOR_PORTAL LISTEN LISTEN_ISER LUN MAXPROC OPENING_BRACKET
 %token OPTION PATH PIDFILE PORTAL_GROUP SERIAL SIZE STR TARGET TIMEOUT
 %token ISNS_SERVER ISNS_PERIOD ISNS_TIMEOUT
 
 %union
 {
-   uint64_t num;
char *str;
 }
 
-%token num NUM
 %token str STR
 
 %%
@@ -106,7 +104,7 @@ debug:  DEBUG STR
uint64_t tmp;
 
if (expand_number($2, tmp) != 0) {
-   log_warnx(invalid numeric value \%s\, $2);
+   yyerror(invalid numeric value);
free($2);
return (1);
}
@@ -120,7 +118,7 @@ timeout:TIMEOUT STR
uint64_t tmp;
 
if (expand_number($2, tmp) != 0) {
-   log_warnx(invalid numeric value \%s\, $2);
+   yyerror(invalid numeric value);
free($2);
return (1);
}
@@ -134,7 +132,7 @@ maxproc:MAXPROC STR
uint64_t tmp;
 
if (expand_number($2, tmp) != 0) {
-   log_warnx(invalid numeric value \%s\, $2);
+   yyerror(invalid numeric value);
free($2);
return (1);
}
@@ -165,15 +163,31 @@ isns_server:  ISNS_SERVER STR
}
;
 
-isns_period:   ISNS_PERIOD NUM
+isns_period:   ISNS_PERIOD STR
{
-   conf-conf_isns_period = $2;
+   uint64_t tmp;
+
+   if (expand_number($2, tmp) != 0) {
+   yyerror(invalid numeric value);
+   free($2);
+   return (1);
+   }
+
+   conf-conf_isns_period = tmp;
}
;
 
-isns_timeout:  ISNS_TIMEOUT NUM
+isns_timeout:  ISNS_TIMEOUT STR
{
-   conf-conf_isns_timeout = $2;
+   uint64_t tmp;
+
+   if (expand_number($2, tmp) != 0) {
+   yyerror(invalid numeric value);
+   free($2);
+   return (1);
+   }
+
+   conf-conf_isns_timeout = tmp;
}
;
 
@@ -612,7 +626,7 @@ lun_number: STR
uint64_t tmp;
 
if (expand_number($1, tmp) != 0) {
-   log_warnx(invalid numeric value \%s\, $1);
+   yyerror(invalid numeric value);
free($1);
return (1);
}
@@ -663,7 +677,7 @@ lun_blocksize:  BLOCKSIZE STR
uint64_t tmp;
 
if (expand_number($2, tmp) != 0) {
-   log_warnx(invalid numeric value \%s\, $2);
+   yyerror(invalid numeric value);
free($2);
return (1);
}
@@ -737,7 +751,7 @@ lun_size:   SIZE STR
uint64_t tmp;
 
if (expand_number($2, tmp) != 0) {
-   log_warnx(invalid numeric value \%s\, $2);
+   yyerror(invalid numeric value);
free($2);
return (1);
}
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275188 - stable/10

2014-11-27 Thread Edward Tomasz Napierala
Author: trasz
Date: Thu Nov 27 10:51:10 2014
New Revision: 275188
URL: https://svnweb.freebsd.org/changeset/base/275188

Log:
  I've merged r273770 in a right directory, but committed in a wrong one.
  Fix it (hopefully).
  
  Sponsored by: The FreeBSD Foundation

Modified:
Directory Properties:
  stable/10/   (props changed)
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r274709 - head/sys/netpfil/pf

2014-11-27 Thread Dag-Erling Smørgrav
Ermal Luçi e...@freebsd.org writes:
 The existing sate of the world i think there will be checksum issues
 again especially in policy routing situations.

You mean if a packet is destined for an interface that has offloading
enabled, but pf decides to reroute it to an interface that doesn't?  I
don't know how these cases are currently handled, but the result of my
patch will still be significantly better than the situation both before
and after your commit, and your commit kills network performance.

DES
-- 
Dag-Erling Smørgrav - d...@des.no
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org

svn commit: r275189 - head/share/misc

2014-11-27 Thread Maxim Konovalov
Author: maxim
Date: Thu Nov 27 14:54:17 2014
New Revision: 275189
URL: https://svnweb.freebsd.org/changeset/base/275189

Log:
  o NetBSD 6.1.5, OpenBSD 5.6, FreeBSD 10.1, DragonFly 4.0.1 added.

Modified:
  head/share/misc/bsd-family-tree

Modified: head/share/misc/bsd-family-tree
==
--- head/share/misc/bsd-family-tree Thu Nov 27 10:51:10 2014
(r275188)
+++ head/share/misc/bsd-family-tree Thu Nov 27 14:54:17 2014
(r275189)
@@ -296,30 +296,30 @@ FreeBSD 5.2   |  |  
  |\   |  |   | |   |
  *--FreeBSD|  |  |NetBSD 6.1.3 |   |
  |   10.0  |  |  |   | |   |
- | |  |  |   | |   DragonFly 3.6.1
- | |  |  |   | |   |
- | |  |  |   | |   |
- | |  |  |   | |   DragonFly 3.6.2
- | |  |  |NetBSD 6.1.4 |   |
- | |  |  | |   |
- | |  |  |OpenBSD 5.5  |
- | |  |  | |   |
- | |  |  | |   DragonFly 3.8.0
- | |  |  | |   |
- | |  |  | |   |
- | |  |  | |   DragonFly 3.8.1
- | |  |  | |   |
- | |  |  | |   |
- | |  |  | |   DragonFly 3.6.3
- | |  |  | |   |
- |  FreeBSD   |  | |   |
- |9.3 |  | |   |
- ||  | |   DragonFly 3.8.2
- | Mac OS X  | |   |
- |   10.10   | |   |
- ||  | |   |
- ||  | |   |
- ||  | |   |
+ | |   |  |  |   | |   DragonFly 3.6.1
+ | |   |  |  |   | |   |
+ | |   |  |  |   | |   |
+ | |   |  |  |   | |   DragonFly 3.6.2
+ | |   |  |  |NetBSD 6.1.4 |   |
+ | |   |  |  |   | |   |
+ | |   |  |  |   |OpenBSD 5.5  |
+ | |   |  |  |   | |   |
+ | |   |  |  |   | |   DragonFly 3.8.0
+ | |   |  |  |   | |   |
+ | |   |  |  |   | |   |
+ | |   |  |  |   | |   DragonFly 3.8.1
+ | |   |  |  |   | |   |
+ | |   |  |  |   | |   |
+ | |   |  |  |   | |   DragonFly 3.6.3
+ | |   |  |  |   | |   |
+ | |FreeBSD   |  |   | |   |
+ | |  9.3 |  |   | |   |
+ | |  |  |NetBSD 6.1.5 |   DragonFly 3.8.2
+ | |   Mac OS X  | |   |
+ | | 10.10   | |   |
+ | |  |  |OpenBSD 5.6  |
+ |  FreeBSD   |  | |   |
+ |   10.1 |  | |   DragonFly 4.0.1
  ||  | |   |
  ||  | |   |
  ||  | |   |
@@ -655,7 +655,11 @@ DragonFly 3.8.12014-06-16 [DFB]
 DragonFly 3.6.32014-06-17 [DFB]
 FreeBSD 9.32014-07-05 [FBD]
 DragonFly 3.8.22014-08-08 [DFB]
+NetBSD 6.1.5   2014-09-22 [NDB]
 Mac OS X 10.10 2014-10-16 [APL]
+OpenBSD 5.62014-11-01 [OBD]

Re: svn commit: r274914 - in head/sys: kern sys ufs/ffs vm

2014-11-27 Thread Adrian Chadd
Hi,

Has there been any further progress with this?

If there hasn't, then I'd like to see it backed out for the time
being. I'm worried that this has introduced some subtle bugs and this
isn't yet fully understood.

Thanks,



-adrian


On 25 November 2014 at 09:38, Ruslan Bukin b...@freebsd.org wrote:
 On Tue, Nov 25, 2014 at 06:29:22PM +0300, Gleb Smirnoff wrote:
 R Un-unioning helps partially: I receive much less panics and able to boot 
 until login prompt in ~ 1/3 attempts with patch attached.

 What happens then? Same panic as w/o patch?


 Same random panics:

 [..]
 Starting file system checks:
 /dev/vtbd0: 344 files, 22588 used, 3419 free (3 frags, 427 blocks, 0.0% 
 fragmentation)
 MAP: No valid partition found at vtbd0
 MAP: No valid partition found at md0
 MAP: No valid partition found at md0
 panic: vm_page_insert_after: msucc doesn't succeed pindex
 KDB: enter: panic
 [ thread pid 53 tid 100030 ]
 Stopped at  kdb_enter+0x8c: lui at,0x0
 db bt
 Tracing pid 53 tid 100030 td 0x98b8f000
 db_trace_thread+40 (?,?,?,?) ra 80117654 sp c56d90f0 sz 16
 801174c8+18c (0,?,,?) ra 80116730 sp c56d9100 
 sz 48
 801162a8+488 (?,?,?,?) ra 801169fc sp c56d9130 sz 192
 db_command_loop+f4 (?,?,?,?) ra 8011a570 sp c56d91f0 sz 16
 8011a3c8+1a8 (?,?,?,?) ra 80282338 sp c56d9200 sz 816
 kdb_trap+188 (?,?,?,?) ra 804b10a4 sp c56d9530 sz 64
 trap+1114 (?,?,?,?) ra 8049c63c sp c56d9570 sz 288
 MipsKernGenException+154 (0,4,804f60d0,12f) ra 80281ed4 sp 
 c56d9690 sz 368
 kdb_enter+8c (?,?,?,?) ra 80234398 sp c56d9800 sz 16
 802341e8+1b0 (?,?,?,?) ra 802344c8 sp c56d9810 sz 32
 kassert_panic+c8 (?,4,b82c00,3d7) ra 8047c580 sp c56d9830 sz 
 96
 8047c460+120 (?,?,?,?) ra 8047ff28 sp c56d9890 sz 64
 vm_page_alloc+7f8 (?,?,?,?) ra 80464524 sp c56d98d0 sz 80
 80463a00+b24 (?,?,?,?) ra 0 sp c56d9920 sz 272
 pid 53

 Starting file system checks:
 /dev/vtbd0: 344 files, 22588 used, 3419 free (3 frags, 427 blocks, 0.0% 
 fragmentation)
 MAP: No valid partition found at vtbd0
 MAP: No valid partition found at md0
 MAP: No valid partition found at md0
 panic: Bad link elm 0x98bb3000 prev-next != elm
 KDB: enter: panic
 [ thread pid 44 tid 100030 ]
 Stopped at  kdb_enter+0x8c: lui at,0x0
 db bt
 Tracing pid 44 tid 100030 td 0x98b8f000
 db_trace_thread+40 (?,?,?,?) ra 80117654 sp c56d8ea0 sz 16
 801174c8+18c (0,?,,?) ra 80116730 sp c56d8eb0 
 sz 48
 801162a8+488 (?,?,?,?) ra 801169fc sp c56d8ee0 sz 192
 db_command_loop+f4 (?,?,?,?) ra 8011a570 sp c56d8fa0 sz 16
 8011a3c8+1a8 (?,?,?,?) ra 80282338 sp c56d8fb0 sz 816
 kdb_trap+188 (?,?,?,?) ra 804b10a4 sp c56d92e0 sz 64
 trap+1114 (?,?,?,?) ra 8049c63c sp c56d9320 sz 288
 MipsKernGenException+154 (0,4,804f60d0,12f) ra 80281ed4 sp 
 c56d9440 sz 368
 kdb_enter+8c (?,?,?,?) ra 80234398 sp c56d95b0 sz 16
 802341e8+1b0 (?,?,?,?) ra 80234400 sp c56d95c0 sz 32
 panic+30 (?,bb3000,8051f738,8051f738) ra 804790c8 sp c56d95e0 
 sz 96
 vm_object_deallocate+960 (?,?,?,?) ra 8046b184 sp c56d9640 sz 
 96
 8046b158+2c (?,?,?,?) ra 8046b2a4 sp c56d96a0 sz 32
 8046b1e8+bc (?,?,?,?) ra 8046b308 sp c56d96c0 sz 32
 _vm_map_unlock+40 (?,?,?,?) ra 8046d990 sp c56d96e0 sz 16
 vm_map_remove+98 (?,?,?,?) ra 801eb2e4 sp c56d96f0 sz 32
 exec_new_vmspace+274 (?,?,?,?) ra 801c4ea0 sp c56d9710 sz 80
 801c4828+678 (?,?,?,?) ra 801eb81c sp c56d9760 sz 304
 kern_execve+404 (?,?,?,?) ra 801ec6b4 sp c56d9890 sz 784
 sys_execve+44 (?,?,?,?) ra 804b0a88 sp c56d9ba0 sz 80
 trap+af8 (?,?,?,?) ra 8049c880 sp c56d9bf0 sz 288
 MipsUserGenException+13c (?,?,?,600e30b4) ra 0 sp c56d9d10 sz 0
 pid 44
 db

 Ruslan

___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r274914 - in head/sys: kern sys ufs/ffs vm

2014-11-27 Thread Ruslan Bukin
Hi,

There is a theory that a problem is related to CPU caches, and it can be 
BERI-cpu
specific only.

And sorry I didn't realized virtio was still in the kernel when I was trying
MDROOT (we do dcache operations in virtio).

The workaround I found is to disable all the instruction cache invalidation 
calls
(there are a few calls on cpu startup only).

Ruslan

On Thu, Nov 27, 2014 at 08:51:04AM -0800, Adrian Chadd wrote:
 Hi,
 
 Has there been any further progress with this?
 
 If there hasn't, then I'd like to see it backed out for the time
 being. I'm worried that this has introduced some subtle bugs and this
 isn't yet fully understood.
 
 Thanks,
 
 
 
 -adrian
 
 
 On 25 November 2014 at 09:38, Ruslan Bukin b...@freebsd.org wrote:
  On Tue, Nov 25, 2014 at 06:29:22PM +0300, Gleb Smirnoff wrote:
  R Un-unioning helps partially: I receive much less panics and able to 
  boot until login prompt in ~ 1/3 attempts with patch attached.
 
  What happens then? Same panic as w/o patch?
 
 
  Same random panics:
 
  [..]
  Starting file system checks:
  /dev/vtbd0: 344 files, 22588 used, 3419 free (3 frags, 427 blocks, 0.0% 
  fragmentation)
  MAP: No valid partition found at vtbd0
  MAP: No valid partition found at md0
  MAP: No valid partition found at md0
  panic: vm_page_insert_after: msucc doesn't succeed pindex
  KDB: enter: panic
  [ thread pid 53 tid 100030 ]
  Stopped at  kdb_enter+0x8c: lui at,0x0
  db bt
  Tracing pid 53 tid 100030 td 0x98b8f000
  db_trace_thread+40 (?,?,?,?) ra 80117654 sp c56d90f0 sz 16
  801174c8+18c (0,?,,?) ra 80116730 sp 
  c56d9100 sz 48
  801162a8+488 (?,?,?,?) ra 801169fc sp c56d9130 sz 
  192
  db_command_loop+f4 (?,?,?,?) ra 8011a570 sp c56d91f0 sz 16
  8011a3c8+1a8 (?,?,?,?) ra 80282338 sp c56d9200 sz 
  816
  kdb_trap+188 (?,?,?,?) ra 804b10a4 sp c56d9530 sz 64
  trap+1114 (?,?,?,?) ra 8049c63c sp c56d9570 sz 288
  MipsKernGenException+154 (0,4,804f60d0,12f) ra 80281ed4 sp 
  c56d9690 sz 368
  kdb_enter+8c (?,?,?,?) ra 80234398 sp c56d9800 sz 16
  802341e8+1b0 (?,?,?,?) ra 802344c8 sp c56d9810 sz 32
  kassert_panic+c8 (?,4,b82c00,3d7) ra 8047c580 sp c56d9830 
  sz 96
  8047c460+120 (?,?,?,?) ra 8047ff28 sp c56d9890 sz 64
  vm_page_alloc+7f8 (?,?,?,?) ra 80464524 sp c56d98d0 sz 80
  80463a00+b24 (?,?,?,?) ra 0 sp c56d9920 sz 272
  pid 53
 
  Starting file system checks:
  /dev/vtbd0: 344 files, 22588 used, 3419 free (3 frags, 427 blocks, 0.0% 
  fragmentation)
  MAP: No valid partition found at vtbd0
  MAP: No valid partition found at md0
  MAP: No valid partition found at md0
  panic: Bad link elm 0x98bb3000 prev-next != elm
  KDB: enter: panic
  [ thread pid 44 tid 100030 ]
  Stopped at  kdb_enter+0x8c: lui at,0x0
  db bt
  Tracing pid 44 tid 100030 td 0x98b8f000
  db_trace_thread+40 (?,?,?,?) ra 80117654 sp c56d8ea0 sz 16
  801174c8+18c (0,?,,?) ra 80116730 sp 
  c56d8eb0 sz 48
  801162a8+488 (?,?,?,?) ra 801169fc sp c56d8ee0 sz 
  192
  db_command_loop+f4 (?,?,?,?) ra 8011a570 sp c56d8fa0 sz 16
  8011a3c8+1a8 (?,?,?,?) ra 80282338 sp c56d8fb0 sz 
  816
  kdb_trap+188 (?,?,?,?) ra 804b10a4 sp c56d92e0 sz 64
  trap+1114 (?,?,?,?) ra 8049c63c sp c56d9320 sz 288
  MipsKernGenException+154 (0,4,804f60d0,12f) ra 80281ed4 sp 
  c56d9440 sz 368
  kdb_enter+8c (?,?,?,?) ra 80234398 sp c56d95b0 sz 16
  802341e8+1b0 (?,?,?,?) ra 80234400 sp c56d95c0 sz 32
  panic+30 (?,bb3000,8051f738,8051f738) ra 804790c8 sp 
  c56d95e0 sz 96
  vm_object_deallocate+960 (?,?,?,?) ra 8046b184 sp c56d9640 
  sz 96
  8046b158+2c (?,?,?,?) ra 8046b2a4 sp c56d96a0 sz 32
  8046b1e8+bc (?,?,?,?) ra 8046b308 sp c56d96c0 sz 32
  _vm_map_unlock+40 (?,?,?,?) ra 8046d990 sp c56d96e0 sz 16
  vm_map_remove+98 (?,?,?,?) ra 801eb2e4 sp c56d96f0 sz 32
  exec_new_vmspace+274 (?,?,?,?) ra 801c4ea0 sp c56d9710 sz 80
  801c4828+678 (?,?,?,?) ra 801eb81c sp c56d9760 sz 
  304
  kern_execve+404 (?,?,?,?) ra 801ec6b4 sp c56d9890 sz 784
  sys_execve+44 (?,?,?,?) ra 804b0a88 sp c56d9ba0 sz 80
  trap+af8 (?,?,?,?) ra 8049c880 sp c56d9bf0 sz 288
  MipsUserGenException+13c (?,?,?,600e30b4) ra 0 sp c56d9d10 sz 0
  pid 44
  db
 
  Ruslan
 
 

___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to 

svn commit: r275190 - head/sys/dev/hwpmc

2014-11-27 Thread Justin Hibbits
Author: jhibbits
Date: Thu Nov 27 18:41:14 2014
New Revision: 275190
URL: https://svnweb.freebsd.org/changeset/base/275190

Log:
  Fix hwpmc sampling for ppc970 (G5-class) processors.
  
  With this, hwpmc sampling now works on these processors.
  
  MFC after:3 weeks
  Relnotes: yes

Modified:
  head/sys/dev/hwpmc/hwpmc_ppc970.c

Modified: head/sys/dev/hwpmc/hwpmc_ppc970.c
==
--- head/sys/dev/hwpmc/hwpmc_ppc970.c   Thu Nov 27 14:54:17 2014
(r275189)
+++ head/sys/dev/hwpmc/hwpmc_ppc970.c   Thu Nov 27 18:41:14 2014
(r275190)
@@ -481,7 +481,6 @@ ppc970_intr(int cpu, struct trapframe *t
 {
struct pmc *pm;
struct powerpc_cpu *pac;
-   pmc_value_t v;
uint32_t config;
int i, error, retval;
 
@@ -503,8 +502,7 @@ ppc970_intr(int cpu, struct trapframe *t
 * If found, we call a helper to process the interrupt.
 */
 
-   config  = mfspr(SPR_970MMCR0);
-   mtspr(SPR_970MMCR0, config | SPR_MMCR0_FC);
+   config  = mfspr(SPR_970MMCR0)  ~SPR_MMCR0_FC;
for (i = 0; i  PPC970_MAX_PMCS; i++) {
if ((pm = pac-pc_ppcpmcs[i].phw_pmc) == NULL ||
!PMC_IS_SAMPLING_MODE(PMC_TO_MODE(pm))) {
@@ -519,24 +517,21 @@ ppc970_intr(int cpu, struct trapframe *t
if (pm-pm_state != PMC_STATE_RUNNING)
continue;
 
-   /* Stop the PMC, reload count. */
-   v   = pm-pm_sc.pm_reloadcount;
-
-   ppc970_pmcn_write(i, v);
-
-   /* Restart the counter if logging succeeded. */
error = pmc_process_interrupt(cpu, PMC_HR, pm, tf,
TRAPF_USERMODE(tf));
-   mtspr(SPR_970MMCR0, config);
if (error != 0)
ppc970_stop_pmc(cpu, i);
-   atomic_add_int(retval ? pmc_stats.pm_intr_processed :
-   pmc_stats.pm_intr_ignored, 1);
 
+   /* reload sampling count. */
+   ppc970_write_pmc(cpu, i, pm-pm_sc.pm_reloadcount);
}
 
+   atomic_add_int(retval ? pmc_stats.pm_intr_processed :
+   pmc_stats.pm_intr_ignored, 1);
+
/* Re-enable PERF exceptions. */
-   mtspr(SPR_970MMCR0, mfspr(SPR_970MMCR0) | SPR_MMCR0_PMXE);
+   if (retval)
+   mtspr(SPR_970MMCR0, config | SPR_MMCR0_PMXE);
 
return (retval);
 }
@@ -572,10 +567,10 @@ ppc970_pcpu_init(struct pmc_mdep *md, in
 
/* Clear the MMCRs, and set FC, to disable all PMCs. */
/* 970 PMC is not counted when set to 0x08 */
-   mtspr(SPR_970MMCR0, SPR_MMCR0_FC | SPR_MMCR0_PMXE | SPR_MMCR0_PMC1CE |
-   SPR_MMCR0_PMCNCE | SPR_970MMCR0_PMC1SEL(0x8) | 
SPR_970MMCR0_PMC2SEL(0x8));
+   mtspr(SPR_970MMCR0, SPR_MMCR0_FC | SPR_MMCR0_PMXE |
+   SPR_MMCR0_FCECE | SPR_MMCR0_PMC1CE | SPR_MMCR0_PMCNCE |
+   SPR_970MMCR0_PMC1SEL(0x8) | SPR_970MMCR0_PMC2SEL(0x8));
mtspr(SPR_970MMCR1, 0x4218420);
-   mtmsr(mfmsr() | PSL_PMM);
 
return 0;
 }
@@ -585,7 +580,6 @@ ppc970_pcpu_fini(struct pmc_mdep *md, in
 {
register_t mmcr0 = mfspr(SPR_MMCR0);
 
-   mtmsr(mfmsr()  ~PSL_PMM);
mmcr0 |= SPR_MMCR0_FC;
mmcr0 = ~SPR_MMCR0_PMXE;
mtspr(SPR_MMCR0, mmcr0);
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275191 - head/sys/boot/i386/boot2

2014-11-27 Thread Roman Divacky
Author: rdivacky
Date: Thu Nov 27 18:43:44 2014
New Revision: 275191
URL: https://svnweb.freebsd.org/changeset/base/275191

Log:
  Revert part of r275059. Comparing unsigned 8 bit value
  against -'0' is always false so the conditional block is
  optimized away.

Modified:
  head/sys/boot/i386/boot2/boot2.c

Modified: head/sys/boot/i386/boot2/boot2.c
==
--- head/sys/boot/i386/boot2/boot2.cThu Nov 27 18:41:14 2014
(r275190)
+++ head/sys/boot/i386/boot2/boot2.cThu Nov 27 18:43:44 2014
(r275191)
@@ -394,9 +394,8 @@ parse()
 char *ep, *p, *q;
 const char *cp;
 unsigned int drv;
-int c, j;
+int c, i, j;
 size_t k;
-uint8_t i;
 
 while ((c = *arg++)) {
if (c == ' ' || c == '\t' || c == '\n')
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r274914 - in head/sys: kern sys ufs/ffs vm

2014-11-27 Thread Adrian Chadd
On 27 November 2014 at 10:36, Ruslan Bukin b...@freebsd.org wrote:
 Hi,

 There is a theory that a problem is related to CPU caches, and it can be 
 BERI-cpu
 specific only.

 And sorry I didn't realized virtio was still in the kernel when I was trying
 MDROOT (we do dcache operations in virtio).

 The workaround I found is to disable all the instruction cache invalidation 
 calls
 (there are a few calls on cpu startup only).


Hm, can we test this on real MIPS hardware, just to be sure?

I can spin this up on MIPS24k/MIPS74k hardware early next week.



-adrian
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275192 - in head/contrib/elftoolchain: addr2line cxxfilt elfcopy libelftc nm size strings

2014-11-27 Thread Ed Maste
Author: emaste
Date: Thu Nov 27 20:12:13 2014
New Revision: 275192
URL: https://svnweb.freebsd.org/changeset/base/275192

Log:
  Copy elftoolchain binutils replacements from vendor branch
  
  Sponsored by: The FreeBSD Foundation

Added:
  head/contrib/elftoolchain/addr2line/
 - copied from r275191, vendor/elftoolchain/dist/addr2line/
  head/contrib/elftoolchain/cxxfilt/
 - copied from r275191, vendor/elftoolchain/dist/cxxfilt/
  head/contrib/elftoolchain/elfcopy/
 - copied from r275191, vendor/elftoolchain/dist/elfcopy/
  head/contrib/elftoolchain/libelftc/
 - copied from r275191, vendor/elftoolchain/dist/libelftc/
  head/contrib/elftoolchain/nm/
 - copied from r275191, vendor/elftoolchain/dist/nm/
  head/contrib/elftoolchain/size/
 - copied from r275191, vendor/elftoolchain/dist/size/
  head/contrib/elftoolchain/strings/
 - copied from r275191, vendor/elftoolchain/dist/strings/
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275194 - head

2014-11-27 Thread Baptiste Daroussin
Author: bapt
Date: Thu Nov 27 20:24:58 2014
New Revision: 275194
URL: https://svnweb.freebsd.org/changeset/base/275194

Log:
  Remove leftovers readline being changed to an internallib

Modified:
  head/ObsoleteFiles.inc

Modified: head/ObsoleteFiles.inc
==
--- head/ObsoleteFiles.inc  Thu Nov 27 20:22:46 2014(r275193)
+++ head/ObsoleteFiles.inc  Thu Nov 27 20:24:58 2014(r275194)
@@ -140,10 +140,12 @@ OLD_FILES+=usr/include/readline/chardefs
 OLD_FILES+=usr/include/readline/history.h
 OLD_FILES+=usr/include/readline/keymaps.h
 OLD_FILES+=usr/include/readline/readline.h
+OLD_FILES+=usr/include/readline/tilde.h
 OLD_FILES+=usr/include/readline/rlconf.h
 OLD_FILES+=usr/include/readline/rlstdc.h
 OLD_FILES+=usr/include/readline/rltypedefs.h
 OLD_FILES+=usr/include/readline/rltypedefs.h
+OLD_DIRS+=usr/include/readline
 OLD_FILES+=usr/share/info/readline.info.gz
 OLD_FILES+=usr/share/man/man3/readline.3.gz
 # 20140625: csup removal
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r274914 - in head/sys: kern sys ufs/ffs vm

2014-11-27 Thread Ruslan Bukin
On Thu, Nov 27, 2014 at 11:28:31AM -0800, Adrian Chadd wrote:
 On 27 November 2014 at 10:36, Ruslan Bukin b...@freebsd.org wrote:
  Hi,
 
  There is a theory that a problem is related to CPU caches, and it can be 
  BERI-cpu
  specific only.
 
  And sorry I didn't realized virtio was still in the kernel when I was trying
  MDROOT (we do dcache operations in virtio).
 
  The workaround I found is to disable all the instruction cache invalidation 
  calls
  (there are a few calls on cpu startup only).
 
 
 Hm, can we test this on real MIPS hardware, just to be sure?
 
 I can spin this up on MIPS24k/MIPS74k hardware early next week.
 

It can be helpfull.

It is easy to test, just insert mips_dcache_wbinv_all() call in some driver and 
ensure mips_cache_ops.mco_sdcache_wbinv_all is not NULL on your hardware, so 
the dcache invalidation call will invalidate both primary and secondary data 
caches.

With virtio we are calling mips_dcache_wbinv_all() a few times per second (the 
good idea here is supposed to be more selective with physical addresses 
invalidation, but it should not hurt to data consistent as it do both writeback 
and flush)

Ruslan

___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r275192 - in head/contrib/elftoolchain: addr2line cxxfilt elfcopy libelftc nm size strings

2014-11-27 Thread Mark Linimon
On Thu, Nov 27, 2014 at 08:12:13PM +, Ed Maste wrote:
   Copy elftoolchain binutils replacements from vendor branch

sweet!

mcl
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275195 - head/sys/net

2014-11-27 Thread Alexander V. Chernikov
Author: melifaro
Date: Thu Nov 27 21:29:19 2014
New Revision: 275195
URL: https://svnweb.freebsd.org/changeset/base/275195

Log:
  Do not try to copy header to @dst and than back to ethernet in case of
  pseudo_AF_HDRCMPLT:
  
  we copy media header from mbuf to 'struct sockaddr' @dst in bpf_movein, so
  mbuf already contains valid info.

Modified:
  head/sys/net/if_ethersubr.c

Modified: head/sys/net/if_ethersubr.c
==
--- head/sys/net/if_ethersubr.c Thu Nov 27 20:24:58 2014(r275194)
+++ head/sys/net/if_ethersubr.c Thu Nov 27 21:29:19 2014(r275195)
@@ -147,7 +147,7 @@ ether_output(struct ifnet *ifp, struct m
 {
short type;
int error = 0, hdrcmplt = 0;
-   u_char esrc[ETHER_ADDR_LEN], edst[ETHER_ADDR_LEN];
+   u_char edst[ETHER_ADDR_LEN];
struct llentry *lle = NULL;
struct rtentry *rt0 = NULL;
struct ether_header *eh;
@@ -226,16 +226,12 @@ ether_output(struct ifnet *ifp, struct m
 #endif
case pseudo_AF_HDRCMPLT:
{
-   const struct ether_header *eh;
-   
hdrcmplt = 1;
-   eh = (const struct ether_header *)dst-sa_data;
-   (void)memcpy(esrc, eh-ether_shost, sizeof (esrc));
/* FALLTHROUGH */
 
case AF_UNSPEC:
loop_copy = 0; /* if this is for us, don't do it */
-   eh = (const struct ether_header *)dst-sa_data;
+   eh = (struct ether_header *)dst-sa_data;
(void)memcpy(edst, eh-ether_dhost, sizeof (edst));
type = eh-ether_type;
break;
@@ -258,15 +254,11 @@ ether_output(struct ifnet *ifp, struct m
if (m == NULL)
senderr(ENOBUFS);
eh = mtod(m, struct ether_header *);
-   (void)memcpy(eh-ether_type, type,
-   sizeof(eh-ether_type));
-   (void)memcpy(eh-ether_dhost, edst, sizeof (edst));
-   if (hdrcmplt)
-   (void)memcpy(eh-ether_shost, esrc,
-   sizeof(eh-ether_shost));
-   else
-   (void)memcpy(eh-ether_shost, IF_LLADDR(ifp),
-   sizeof(eh-ether_shost));
+   if (hdrcmplt == 0) {
+   memcpy(eh-ether_type, type, sizeof(eh-ether_type));
+   memcpy(eh-ether_dhost, edst, sizeof (edst));
+   memcpy(eh-ether_shost, IF_LLADDR(ifp),sizeof(eh-ether_shost));
+   }
 
/*
 * If a simplex interface, and the packet is being sent to our
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


Re: svn commit: r275192 - in head/contrib/elftoolchain: addr2line cxxfilt elfcopy libelftc nm size strings

2014-11-27 Thread Ed Maste
On 27 November 2014 at 15:50, Mark Linimon lini...@lonesome.com wrote:
 On Thu, Nov 27, 2014 at 08:12:13PM +, Ed Maste wrote:
   Copy elftoolchain binutils replacements from vendor branch

 sweet!

It's not yet ready for a broad call for testing, but a WIP patch to
use the elftoolchain versions is in review D1224 [1] if you want to
take a look. I'm currently running it in an amd64 VM.

[1] https://reviews.freebsd.org/D1224

- Ed
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275196 - in head/sys: net netinet netinet6 ofed/drivers/infiniband/core ofed/drivers/infiniband/ulp/ipoib

2014-11-27 Thread Alexander V. Chernikov
Author: melifaro
Date: Thu Nov 27 23:06:25 2014
New Revision: 275196
URL: https://svnweb.freebsd.org/changeset/base/275196

Log:
  Do not return unlocked/unreferenced lle in arpresolve/nd6_storelladdr -
return lle flags IFF needed.
  Do not pass rte to arpresolve - pass is_gateway flag instead.

Modified:
  head/sys/net/if_arcsubr.c
  head/sys/net/if_ethersubr.c
  head/sys/net/if_fddisubr.c
  head/sys/net/if_fwsubr.c
  head/sys/net/if_iso88025subr.c
  head/sys/netinet/if_ether.c
  head/sys/netinet/if_ether.h
  head/sys/netinet/toecore.c
  head/sys/netinet6/nd6.c
  head/sys/netinet6/nd6.h
  head/sys/ofed/drivers/infiniband/core/addr.c
  head/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c

Modified: head/sys/net/if_arcsubr.c
==
--- head/sys/net/if_arcsubr.c   Thu Nov 27 21:29:19 2014(r275195)
+++ head/sys/net/if_arcsubr.c   Thu Nov 27 23:06:25 2014(r275196)
@@ -103,9 +103,7 @@ arc_output(struct ifnet *ifp, struct mbu
u_int8_tatype, adst;
int loop_copy = 0;
int isphds;
-#if defined(INET) || defined(INET6)
-   struct llentry  *lle;
-#endif
+   int is_gw;
 
if (!((ifp-if_flags  IFF_UP) 
(ifp-if_drv_flags  IFF_DRV_RUNNING)))
@@ -125,8 +123,11 @@ arc_output(struct ifnet *ifp, struct mbu
else if (ifp-if_flags  IFF_NOARP)
adst = ntohl(SIN(dst)-sin_addr.s_addr)  0xFF;
else {
-   error = arpresolve(ifp, ro ? ro-ro_rt : NULL,
-  m, dst, adst, lle);
+   is_gw = 0;
+   if (ro != NULL  ro-ro_rt != NULL 
+   (ro-ro_rt-rt_flags  RTF_GATEWAY) != 0)
+   is_gw = 1;
+   error = arpresolve(ifp, is_gw, m, dst, adst, NULL);
if (error)
return (error == EWOULDBLOCK ? 0 : error);
}
@@ -164,7 +165,7 @@ arc_output(struct ifnet *ifp, struct mbu
 #endif
 #ifdef INET6
case AF_INET6:
-   error = nd6_storelladdr(ifp, m, dst, (u_char *)adst, lle);
+   error = nd6_storelladdr(ifp, m, dst, (u_char *)adst, NULL);
if (error)
return (error);
atype = ARCTYPE_INET6;

Modified: head/sys/net/if_ethersubr.c
==
--- head/sys/net/if_ethersubr.c Thu Nov 27 21:29:19 2014(r275195)
+++ head/sys/net/if_ethersubr.c Thu Nov 27 23:06:25 2014(r275196)
@@ -154,11 +154,18 @@ ether_output(struct ifnet *ifp, struct m
struct pf_mtag *t;
int loop_copy = 1;
int hlen;   /* link layer header length */
+   int is_gw = 0;
+   uint32_t pflags = 0;
 
if (ro != NULL) {
-   if (!(m-m_flags  (M_BCAST | M_MCAST)))
+   if (!(m-m_flags  (M_BCAST | M_MCAST))) {
lle = ro-ro_lle;
+   if (lle != NULL)
+   pflags = lle-la_flags;
+   }
rt0 = ro-ro_rt;
+   if (rt0 != NULL  (rt0-rt_flags  RTF_GATEWAY) != 0)
+   is_gw = 1;
}
 #ifdef MAC
error = mac_ifnet_check_transmit(ifp, m);
@@ -177,10 +184,10 @@ ether_output(struct ifnet *ifp, struct m
switch (dst-sa_family) {
 #ifdef INET
case AF_INET:
-   if (lle != NULL  (lle-la_flags  LLE_VALID))
+   if (lle != NULL  (pflags  LLE_VALID) != 0)
memcpy(edst, lle-ll_addr.mac16, sizeof(edst));
else
-   error = arpresolve(ifp, rt0, m, dst, edst, lle);
+   error = arpresolve(ifp, is_gw, m, dst, edst, pflags);
if (error)
return (error == EWOULDBLOCK ? 0 : error);
type = htons(ETHERTYPE_IP);
@@ -215,10 +222,11 @@ ether_output(struct ifnet *ifp, struct m
 #endif
 #ifdef INET6
case AF_INET6:
-   if (lle != NULL  (lle-la_flags  LLE_VALID))
+   if (lle != NULL  (pflags  LLE_VALID))
memcpy(edst, lle-ll_addr.mac16, sizeof(edst));
else
-   error = nd6_storelladdr(ifp, m, dst, (u_char *)edst, 
lle);
+   error = nd6_storelladdr(ifp, m, dst, (u_char *)edst,
+   pflags);
if (error)
return error;
type = htons(ETHERTYPE_IPV6);
@@ -241,7 +249,7 @@ ether_output(struct ifnet *ifp, struct m
senderr(EAFNOSUPPORT);
}
 
-   if (lle != NULL  (lle-la_flags  LLE_IFADDR)) {
+   if ((pflags  LLE_IFADDR) != 0) {
update_mbuf_csumflags(m, m);

svn commit: r275197 - head/sys/net

2014-11-27 Thread Alexander V. Chernikov
Author: melifaro
Date: Thu Nov 27 23:10:03 2014
New Revision: 275197
URL: https://svnweb.freebsd.org/changeset/base/275197

Log:
  Fix build broken by r275195.

Modified:
  head/sys/net/if_ethersubr.c

Modified: head/sys/net/if_ethersubr.c
==
--- head/sys/net/if_ethersubr.c Thu Nov 27 23:06:25 2014(r275196)
+++ head/sys/net/if_ethersubr.c Thu Nov 27 23:10:03 2014(r275197)
@@ -234,12 +234,14 @@ ether_output(struct ifnet *ifp, struct m
 #endif
case pseudo_AF_HDRCMPLT:
{
+   const struct ether_header *eh;
+
hdrcmplt = 1;
/* FALLTHROUGH */
 
case AF_UNSPEC:
loop_copy = 0; /* if this is for us, don't do it */
-   eh = (struct ether_header *)dst-sa_data;
+   eh = (const struct ether_header *)dst-sa_data;
(void)memcpy(edst, eh-ether_dhost, sizeof (edst));
type = eh-ether_type;
break;
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org


svn commit: r275199 - head/sys/contrib/ipfilter/netinet

2014-11-27 Thread Cy Schubert
Author: cy
Date: Fri Nov 28 04:07:06 2014
New Revision: 275199
URL: https://svnweb.freebsd.org/changeset/base/275199

Log:
  Correctly define constants.
  
  MFC after:1 week

Modified:
  head/sys/contrib/ipfilter/netinet/fil.c
  head/sys/contrib/ipfilter/netinet/ip_frag.c

Modified: head/sys/contrib/ipfilter/netinet/fil.c
==
--- head/sys/contrib/ipfilter/netinet/fil.c Thu Nov 27 23:42:32 2014
(r275198)
+++ head/sys/contrib/ipfilter/netinet/fil.c Fri Nov 28 04:07:06 2014
(r275199)
@@ -252,7 +252,7 @@ static conststruct  optlist ipopts[20] =
 };
 
 #ifdef USE_INET6
-static struct optlist ip6exthdr[] = {
+static const struct optlist ip6exthdr[] = {
{ IPPROTO_HOPOPTS,  0x01 },
{ IPPROTO_IPV6, 0x02 },
{ IPPROTO_ROUTING,  0x04 },

Modified: head/sys/contrib/ipfilter/netinet/ip_frag.c
==
--- head/sys/contrib/ipfilter/netinet/ip_frag.c Thu Nov 27 23:42:32 2014
(r275198)
+++ head/sys/contrib/ipfilter/netinet/ip_frag.c Fri Nov 28 04:07:06 2014
(r275199)
@@ -112,7 +112,7 @@ static void ipf_frag_free __P((ipf_frag_
 
 static frentry_t ipfr_block;
 
-ipftuneable_t ipf_tuneables[] = {
+const ipftuneable_t ipf_tuneables[] = {
{ { (void *)offsetof(ipf_frag_softc_t, ipfr_size) },
frag_size,1,  0x7fff,
stsizeof(ipf_frag_softc_t, ipfr_size),
___
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to svn-src-all-unsubscr...@freebsd.org