svn commit: r284337 - head/sys/mips/conf

2015-06-12 Thread Allan Jude
Author: allanjude (doc committer)
Date: Sat Jun 13 06:09:00 2015
New Revision: 284337
URL: https://svnweb.freebsd.org/changeset/base/284337

Log:
  Add if_vlan, ipfw{,_nat}.ko, and libalias to the AR934X kernel config
  
  This makes the TP-Link WDR3600 routers more useful
  
  Differential Revision:https://reviews.freebsd.org/D2780
  Approved by:  adrian
  Sponsored by: ScaleEngine Inc.

Modified:
  head/sys/mips/conf/AR934X_BASE

Modified: head/sys/mips/conf/AR934X_BASE
==
--- head/sys/mips/conf/AR934X_BASE  Sat Jun 13 05:55:26 2015
(r284336)
+++ head/sys/mips/conf/AR934X_BASE  Sat Jun 13 06:09:00 2015
(r284337)
@@ -20,7 +20,7 @@ files "../atheros/files.ar71xx"
 hints  "AR934X_BASE.hints"
 
 makeoptionsDEBUG=-g#Build kernel with gdb(1) debug symbols
-makeoptionsMODULES_OVERRIDE="random gpio ar71xx if_gif if_gre if_bridge 
bridgestp usb wlan wlan_xauth wlan_acl wlan_wep wlan_tkip wlan_ccmp 
wlan_rssadapt wlan_amrr ath ath_ahb hwpmc"
+makeoptionsMODULES_OVERRIDE="random gpio ar71xx if_gif if_gre if_vlan 
if_bridge bridgestp usb wlan wlan_xauth wlan_acl wlan_wep wlan_tkip wlan_ccmp 
wlan_rssadapt wlan_amrr ath ath_ahb hwpmc ipfw ipfw_nat libalias"
 # makeoptions  MODULES_OVERRIDE=""
 
 optionsDDB
___
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: r284336 - head/sys/dev/acpi_support

2015-06-12 Thread Allan Jude
Author: allanjude (doc committer)
Date: Sat Jun 13 05:55:26 2015
New Revision: 284336
URL: https://svnweb.freebsd.org/changeset/base/284336

Log:
  acpi_ibm.ko panics if SMBIOS information is not available
  
  Add a check for NULL before strcmp on smbios information incase it is not 
populated
  
  Differential Revision:https://reviews.freebsd.org/D2750
  Reviewed by:  ngie, jhb
  Approved by:  rpaulo
  Sponsored by: ScaleEngine Inc.

Modified:
  head/sys/dev/acpi_support/acpi_ibm.c

Modified: head/sys/dev/acpi_support/acpi_ibm.c
==
--- head/sys/dev/acpi_support/acpi_ibm.cSat Jun 13 01:28:19 2015
(r284335)
+++ head/sys/dev/acpi_support/acpi_ibm.cSat Jun 13 05:55:26 2015
(r284336)
@@ -485,6 +485,9 @@ acpi_ibm_attach(device_t dev)
/* Enable per-model events. */
maker = kern_getenv("smbios.system.maker");
product = kern_getenv("smbios.system.product");
+   if (maker != NULL && product != NULL)
+   goto nosmbios;
+
for (i = 0; i < nitems(acpi_ibm_models); i++) {
if (strcmp(maker, acpi_ibm_models[i].maker) == 0 &&
strcmp(product, acpi_ibm_models[i].product) == 0) {
@@ -494,6 +497,8 @@ acpi_ibm_attach(device_t dev)
ACPI_SERIAL_END(ibm);
}
}
+
+nosmbios:
freeenv(maker);
freeenv(product);
 
___
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: r284198 - head/bin/ls

2015-06-12 Thread Steve Kargl
On Fri, Jun 12, 2015 at 08:43:09PM -0400, Alexander Kabaev wrote:
> On Wed, 10 Jun 2015 01:27:39 + (UTC)
> Marcel Moolenaar  wrote:
> 
> > Author: marcel
> > Date: Wed Jun 10 01:27:38 2015
> > New Revision: 284198
> > URL: https://svnweb.freebsd.org/changeset/base/284198
> > 
> > Log:
> >   Convert ls(1) to use libxo(3).
> >   
> >   Obtained from:Phil Shafer 
> >   Sponsored by: Juniper Networks, Inc.
> > 
> 
> 
> This broke all code that pipes output of the ls command to pipeline,
> such as 'ls | wc -l'. ls never exits and never output anything. Is
> there any purpose to libxo other than breaking stuff, which it achieves
> so splendidly?
> 

-1 for libxo, which also makes code almost unreadable.

-- 
Steve
___
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: r284335 - head/sys/dev/bxe

2015-06-12 Thread David C Somayajulu
Author: davidcs
Date: Sat Jun 13 01:28:19 2015
New Revision: 284335
URL: https://svnweb.freebsd.org/changeset/base/284335

Log:
  PHY LOCK acquires the hardware lock via bxe_acquire_phy_lock() and releases 
it via bxe_release_phy_lock(). It was simply acquiring a mutex earlier which 
can cause the PHY to use bogus values. Fixes intermittent link failures.
  
  bxe_ioctl() completes all functions within its context as opposed to a 
taskqueue earlier.
  
  bxe_handle_rx_mode_tq() no longer required. bxe_set_rx_mode() handles the 
functionality within its context
  
  Submitted by:gary.zambr...@qlogic.com
  MFC after:5 days

Modified:
  head/sys/dev/bxe/bxe.c
  head/sys/dev/bxe/bxe.h
  head/sys/dev/bxe/ecore_reg.h

Modified: head/sys/dev/bxe/bxe.c
==
--- head/sys/dev/bxe/bxe.c  Fri Jun 12 22:05:04 2015(r284334)
+++ head/sys/dev/bxe/bxe.c  Sat Jun 13 01:28:19 2015(r284335)
@@ -726,7 +726,6 @@ static __noinline int bxe_nic_unload(str
  uint8_t  keep_link);
 
 static void bxe_handle_sp_tq(void *context, int pending);
-static void bxe_handle_rx_mode_tq(void *context, int pending);
 static void bxe_handle_fp_tq(void *context, int pending);
 
 
@@ -1174,7 +1173,17 @@ bxe_release_hw_lock(struct bxe_softc *sc
 REG_WR(sc, hw_lock_control_reg, resource_bit);
 return (0);
 }
+static void bxe_acquire_phy_lock(struct bxe_softc *sc)
+{
+   BXE_PHY_LOCK(sc);
+   bxe_acquire_hw_lock(sc,HW_LOCK_RESOURCE_MDIO); 
+}
 
+static void bxe_release_phy_lock(struct bxe_softc *sc)
+{
+   bxe_release_hw_lock(sc,HW_LOCK_RESOURCE_MDIO); 
+   BXE_PHY_UNLOCK(sc);
+}
 /*
  * Per pf misc lock must be acquired before the per port mcp lock. Otherwise,
  * had we done things the other way around, if two pfs from the same port
@@ -4764,28 +4773,6 @@ bxe_handle_chip_tq(void *context,
 
 switch (work)
 {
-case CHIP_TQ_START:
-if ((if_getflags(sc->ifp) & IFF_UP) &&
-!(if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING)) {
-/* start the interface */
-BLOGD(sc, DBG_LOAD, "Starting the interface...\n");
-BXE_CORE_LOCK(sc);
-bxe_init_locked(sc);
-BXE_CORE_UNLOCK(sc);
-}
-break;
-
-case CHIP_TQ_STOP:
-if (!(if_getflags(sc->ifp) & IFF_UP) &&
-(if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING)) {
-/* bring down the interface */
-BLOGD(sc, DBG_LOAD, "Stopping the interface...\n");
-bxe_periodic_stop(sc);
-BXE_CORE_LOCK(sc);
-bxe_stop_locked(sc);
-BXE_CORE_UNLOCK(sc);
-}
-break;
 
 case CHIP_TQ_REINIT:
 if (if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING) {
@@ -4859,21 +4846,22 @@ bxe_ioctl(if_t ifp,
 /* toggle the interface state up or down */
 BLOGD(sc, DBG_IOCTL, "Received SIOCSIFFLAGS ioctl\n");
 
+   BXE_CORE_LOCK(sc);
 /* check if the interface is up */
 if (if_getflags(ifp) & IFF_UP) {
 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) {
 /* set the receive mode flags */
 bxe_set_rx_mode(sc);
 } else {
-atomic_store_rel_long(&sc->chip_tq_flags, CHIP_TQ_START);
-taskqueue_enqueue(sc->chip_tq, &sc->chip_tq_task);
+   bxe_init_locked(sc);
 }
 } else {
 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) {
-atomic_store_rel_long(&sc->chip_tq_flags, CHIP_TQ_STOP);
-taskqueue_enqueue(sc->chip_tq, &sc->chip_tq_task);
+   bxe_periodic_stop(sc);
+   bxe_stop_locked(sc);
 }
 }
+   BXE_CORE_UNLOCK(sc);
 
 break;
 
@@ -4885,7 +4873,9 @@ bxe_ioctl(if_t ifp,
 /* check if the interface is up */
 if (if_getdrvflags(ifp) & IFF_DRV_RUNNING) {
 /* set the receive mode flags */
+   BXE_CORE_LOCK(sc);
 bxe_set_rx_mode(sc);
+   BXE_CORE_UNLOCK(sc); 
 }
 
 break;
@@ -5044,8 +5034,11 @@ bxe_ioctl(if_t ifp,
 if (reinit && (if_getdrvflags(sc->ifp) & IFF_DRV_RUNNING)) {
 BLOGD(sc, DBG_LOAD | DBG_IOCTL,
   "Re-initializing hardware from IOCTL change\n");
-atomic_store_rel_long(&sc->chip_tq_flags, CHIP_TQ_REINIT);
-taskqueue_enqueue(sc->chip_tq, &sc->chip_tq_task);
+   bxe_periodic_stop(sc);
+   BXE_CORE_LOCK(sc);
+   bxe_stop_locked(sc);
+   bxe_init_locked(sc);
+   BXE_CORE_UNLOCK(sc);
 }
 
 return (error);
@@ -7487,8 +7480,7 @@ bxe_attn_int_asserted(struct bxe_softc *
 if (asserted & ATTN_HARD_WIRED_MASK) {
 if (asserted & ATTN_NIG_FOR_FUNC) {
 
-BXE_PHY_LOCK(sc);
-
+   bxe_acquire_phy_lock(sc);
 /* save nig interrupt mask */
 nig_mask = REG_RD(sc, nig_int_mask_addr);
 
@@ -7581

Re: svn commit: r284198 - head/bin/ls

2015-06-12 Thread Alexander Kabaev
On Fri, 12 Jun 2015 20:43:09 -0400
Alexander Kabaev  wrote:

> On Wed, 10 Jun 2015 01:27:39 + (UTC)
> Marcel Moolenaar  wrote:
> 
> > Author: marcel
> > Date: Wed Jun 10 01:27:38 2015
> > New Revision: 284198
> > URL: https://svnweb.freebsd.org/changeset/base/284198
> > 
> > Log:
> >   Convert ls(1) to use libxo(3).
> >   
> >   Obtained from:Phil Shafer 
> >   Sponsored by: Juniper Networks, Inc.
> > 
> 
> 
> This broke all code that pipes output of the ls command to pipeline,
> such as 'ls | wc -l'. ls never exits and never output anything. Is
> there any purpose to libxo other than breaking stuff, which it
> achieves so splendidly?
> 

Just to clarify, this happens because libxo cannot display file names in
encodings current locate cannot handle. xo_format_string_direct
function then spins indefinitely trying to call  xo_failure(xop,
"invalid mbs char: %02hhx", *cp) over and over, which, of course,
produces nothing and does not advance the cp pointer either, resulting
in apparent ls hang.

-- 
Alexander Kabaev


pgpsCryaneAL4.pgp
Description: OpenPGP digital signature


Re: svn commit: r284198 - head/bin/ls

2015-06-12 Thread Alexander Kabaev
On Wed, 10 Jun 2015 01:27:39 + (UTC)
Marcel Moolenaar  wrote:

> Author: marcel
> Date: Wed Jun 10 01:27:38 2015
> New Revision: 284198
> URL: https://svnweb.freebsd.org/changeset/base/284198
> 
> Log:
>   Convert ls(1) to use libxo(3).
>   
>   Obtained from:  Phil Shafer 
>   Sponsored by:   Juniper Networks, Inc.
> 


This broke all code that pipes output of the ls command to pipeline,
such as 'ls | wc -l'. ls never exits and never output anything. Is
there any purpose to libxo other than breaking stuff, which it achieves
so splendidly?


-- 
Alexander Kabaev


pgpzkVIZZnztp.pgp
Description: OpenPGP digital signature


svn commit: r284334 - stable/10/sys/fs/nfsserver

2015-06-12 Thread Rick Macklem
Author: rmacklem
Date: Fri Jun 12 22:05:04 2015
New Revision: 284334
URL: https://svnweb.freebsd.org/changeset/base/284334

Log:
  MFC: r283753
  Make the NFS server use shared vnode locks for a few cases
  that are allowed by the VFS/VOP interface instead of using
  exclusive locks.

Modified:
  stable/10/sys/fs/nfsserver/nfs_nfsdsocket.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/fs/nfsserver/nfs_nfsdsocket.c
==
--- stable/10/sys/fs/nfsserver/nfs_nfsdsocket.c Fri Jun 12 19:42:27 2015
(r284333)
+++ stable/10/sys/fs/nfsserver/nfs_nfsdsocket.c Fri Jun 12 22:05:04 2015
(r284334)
@@ -440,9 +440,12 @@ nfsrvd_dorpc(struct nfsrv_descript *nd, 
if (nd->nd_procnum == NFSPROC_READ ||
nd->nd_procnum == NFSPROC_WRITE ||
nd->nd_procnum == NFSPROC_READDIR ||
+   nd->nd_procnum == NFSPROC_READDIRPLUS ||
nd->nd_procnum == NFSPROC_READLINK ||
nd->nd_procnum == NFSPROC_GETATTR ||
-   nd->nd_procnum == NFSPROC_ACCESS)
+   nd->nd_procnum == NFSPROC_ACCESS ||
+   nd->nd_procnum == NFSPROC_FSSTAT ||
+   nd->nd_procnum == NFSPROC_FSINFO)
lktype = LK_SHARED;
else
lktype = LK_EXCLUSIVE;
@@ -544,7 +547,7 @@ static void
 nfsrvd_compound(struct nfsrv_descript *nd, int isdgram, u_char *tag,
 int taglen, u_int32_t minorvers, NFSPROC_T *p)
 {
-   int i, op, op0 = 0;
+   int i, lktype, op, op0 = 0;
u_int32_t *tl;
struct nfsclient *clp, *nclp;
int numops, error = 0, igotlock;
@@ -953,11 +956,15 @@ nfsrvd_compound(struct nfsrv_descript *n
panic("nfsrvd_compound");
if (nfsv4_opflag[op].needscfh) {
if (vp != NULL) {
-   if (nfsv4_opflag[op].modifyfs)
+   lktype = nfsv4_opflag[op].lktype;
+   if (nfsv4_opflag[op].modifyfs) {
vn_start_write(vp, &temp_mp,
V_WAIT);
-   if (NFSVOPLOCK(vp, 
nfsv4_opflag[op].lktype)
-   == 0)
+   if (op == NFSV4OP_WRITE &&
+   MNT_SHARED_WRITES(temp_mp))
+   lktype = LK_SHARED;
+   }
+   if (NFSVOPLOCK(vp, lktype) == 0)
VREF(vp);
else
nd->nd_repstat = NFSERR_PERM;
___
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: r284274 - head/share/mk

2015-06-12 Thread Dimitry Andric
On 11 Jun 2015, at 18:49, Andrew Turner  wrote:
> 
> Author: andrew
> Date: Thu Jun 11 16:49:14 2015
> New Revision: 284274
> URL: https://svnweb.freebsd.org/changeset/base/284274
> 
> Log:
>  Enable clang on armeb, it is now able to build targeting armeb. This is
>  the last arm platform to move away from gcc.
> 
>  Tested by:   jmg

Woohoo! :-)



signature.asc
Description: Message signed with OpenPGP using GPGMail


svn commit: r284333 - head/release/arm

2015-06-12 Thread Glen Barber
Author: gjb
Date: Fri Jun 12 19:42:27 2015
New Revision: 284333
URL: https://svnweb.freebsd.org/changeset/base/284333

Log:
  Reduce the arm/armv6 image size from 1G to 480M.
  
  Since the images are effectively mostly zeros at 1G,
  reduce the size to allow installation on smaller SD
  cards, such as 512Mb.
  
  While here, stop writing the /boot.txt file on the
  WANDBOARD, which isn't used anyway.
  
  Discussed with:   imp
  MFC after:3 days
  Sponsored by: The FreeBSD Foundation

Modified:
  head/release/arm/BEAGLEBONE.conf
  head/release/arm/CUBOX-HUMMINGBOARD.conf
  head/release/arm/GUMSTIX.conf
  head/release/arm/PANDABOARD.conf
  head/release/arm/RPI-B.conf
  head/release/arm/RPI2.conf
  head/release/arm/WANDBOARD.conf

Modified: head/release/arm/BEAGLEBONE.conf
==
--- head/release/arm/BEAGLEBONE.confFri Jun 12 18:59:29 2015
(r284332)
+++ head/release/arm/BEAGLEBONE.confFri Jun 12 19:42:27 2015
(r284333)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-beaglebone"
 KERNEL="BEAGLEBONE"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x8800"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="480M"
 PART_SCHEME="MBR"
 FAT_SIZE="2m"
 FAT_TYPE="12"

Modified: head/release/arm/CUBOX-HUMMINGBOARD.conf
==
--- head/release/arm/CUBOX-HUMMINGBOARD.confFri Jun 12 18:59:29 2015
(r284332)
+++ head/release/arm/CUBOX-HUMMINGBOARD.confFri Jun 12 19:42:27 2015
(r284333)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-cubox-hummingboard"
 KERNEL="IMX6"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x1200"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="480M"
 PART_SCHEME="MBR"
 FAT_SIZE="50m -b 16384"
 FAT_TYPE="16"

Modified: head/release/arm/GUMSTIX.conf
==
--- head/release/arm/GUMSTIX.conf   Fri Jun 12 18:59:29 2015
(r284332)
+++ head/release/arm/GUMSTIX.conf   Fri Jun 12 19:42:27 2015
(r284333)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-duovero"
 KERNEL="GUMSTIX"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x8800"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="480M"
 PART_SCHEME="MBR"
 FAT_SIZE="2m"
 FAT_TYPE="12"

Modified: head/release/arm/PANDABOARD.conf
==
--- head/release/arm/PANDABOARD.confFri Jun 12 18:59:29 2015
(r284332)
+++ head/release/arm/PANDABOARD.confFri Jun 12 19:42:27 2015
(r284333)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-pandaboard"
 KERNEL="PANDABOARD"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x8800"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="480M"
 PART_SCHEME="MBR"
 FAT_SIZE="2m"
 FAT_TYPE="12"

Modified: head/release/arm/RPI-B.conf
==
--- head/release/arm/RPI-B.conf Fri Jun 12 18:59:29 2015(r284332)
+++ head/release/arm/RPI-B.conf Fri Jun 12 19:42:27 2015(r284333)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-rpi"
 KERNEL="RPI-B"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x200"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="480M"
 PART_SCHEME="MBR"
 FAT_SIZE="17m"
 FAT_TYPE="16"

Modified: head/release/arm/RPI2.conf
==
--- head/release/arm/RPI2.conf  Fri Jun 12 18:59:29 2015(r284332)
+++ head/release/arm/RPI2.conf  Fri Jun 12 19:42:27 2015(r284333)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-rpi2"
 KERNEL="RPI2"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x200"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="480M"
 PART_SCHEME="MBR"
 FAT_SIZE="50m"
 FAT_TYPE="16"

Modified: head/release/arm/WANDBOARD.conf
==
--- head/release/arm/WANDBOARD.conf Fri Jun 12 18:59:29 2015
(r284332)
+++ head/release/arm/WANDBOARD.conf Fri Jun 12 19:42:27 2015
(r284333)
@@ -9,7 +9,7 @@ EMBEDDED_TARGET_ARCH="armv6"
 EMBEDDEDPORTS="sysutils/u-boot-wandboard"
 KERNEL="IMX6"
 WORLD_FLAGS="${WORLD_FLAGS} UBLDR_LOADADDR=0x1200"
-IMAGE_SIZE="1G"
+IMAGE_SIZE="480M"
 PART_SCHEME="MBR"
 FAT_SIZE="50m -b 16384"
 FAT_TYPE="16"
@@ -28,9 +28,6 @@ arm_install_uboot() {
chroot ${CHROOTDIR} mount_msdosfs /dev/${mddev}s1 ${FATMOUNT}
chroot ${CHROOTDIR} mount /dev/${mddev}s2a ${UFSMOUNT}
chroot ${CHROOTDIR} cp -p ${UFSMOUNT}/boot/ubldr ${FATMOUNT}/ubldr
-   chroot ${CHROOTDIR} /bin/sh -c 'echo \
-   setenv fdt_file wandboard-quad.dtb\; fatload mmc 0:1 1100 
ubldr\; bootelf 1100\; \
-   > ${FATMOUNT}/boot.txt'
chroot ${CHROOTDIR} touch ${UFSMOUNT}/firstboot
sync
  

svn commit: r284332 - head/sys/netinet

2015-06-12 Thread Michael Tuexen
Author: tuexen
Date: Fri Jun 12 18:59:29 2015
New Revision: 284332
URL: https://svnweb.freebsd.org/changeset/base/284332

Log:
  Fix the reporting of the PMTUD state for specific paths.
  
  MFC after: 3 days

Modified:
  head/sys/netinet/sctp_usrreq.c

Modified: head/sys/netinet/sctp_usrreq.c
==
--- head/sys/netinet/sctp_usrreq.c  Fri Jun 12 17:20:09 2015
(r284331)
+++ head/sys/netinet/sctp_usrreq.c  Fri Jun 12 18:59:29 2015
(r284332)
@@ -2464,9 +2464,9 @@ flags_out:
}
/* get flags for PMTU */
if (net->dest_state & 
SCTP_ADDR_NO_PMTUD) {
-   paddrp->spp_flags |= 
SPP_PMTUD_ENABLE;
-   } else {
paddrp->spp_flags |= 
SPP_PMTUD_DISABLE;
+   } else {
+   paddrp->spp_flags |= 
SPP_PMTUD_ENABLE;
}
if (net->dscp & 0x01) {
paddrp->spp_dscp = net->dscp & 
0xfc;
___
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: r284331 - head/sys/netinet

2015-06-12 Thread Michael Tuexen
Author: tuexen
Date: Fri Jun 12 17:20:09 2015
New Revision: 284331
URL: https://svnweb.freebsd.org/changeset/base/284331

Log:
  Code cleanup.
  
  MFC after: 3 days

Modified:
  head/sys/netinet/sctp_output.c

Modified: head/sys/netinet/sctp_output.c
==
--- head/sys/netinet/sctp_output.c  Fri Jun 12 17:10:19 2015
(r284330)
+++ head/sys/netinet/sctp_output.c  Fri Jun 12 17:20:09 2015
(r284331)
@@ -8109,6 +8109,12 @@ again_one_more_time:
 * it is used to do appropriate
 * source address selection.
 */
+   if (*now_filled == 0) {
+   (void)SCTP_GETTIME_TIMEVAL(now);
+   *now_filled = 1;
+   }
+   net->last_sent_time = *now;
+   hbflag = 0;
if ((error = 
sctp_lowlevel_chunk_output(inp, stcb, net,
(struct sockaddr *)&net->ro._l_addr,
outchain, auth_offset, auth,
@@ -8119,21 +8125,18 @@ again_one_more_time:
net->port, NULL,
0, 0,
so_locked))) {
-   if (error == ENOBUFS) {
-   asoc->ifp_had_enobuf = 
1;
-   
SCTP_STAT_INCR(sctps_lowlevelerr);
-   }
+   /*
+* error, we could not
+* output
+*/
+   SCTPDBG(SCTP_DEBUG_OUTPUT3, 
"Gak send error %d\n", error);
if (from_where == 0) {

SCTP_STAT_INCR(sctps_lowlevelerrusr);
}
-   if (*now_filled == 0) {
-   
(void)SCTP_GETTIME_TIMEVAL(&net->last_sent_time);
-   *now_filled = 1;
-   *now = 
net->last_sent_time;
-   } else {
-   net->last_sent_time = 
*now;
+   if (error == ENOBUFS) {
+   asoc->ifp_had_enobuf = 
1;
+   
SCTP_STAT_INCR(sctps_lowlevelerr);
}
-   hbflag = 0;
/* error, could not output */
if (error == EHOSTUNREACH) {
/*
@@ -8145,16 +8148,9 @@ again_one_more_time:
}
*reason_code = 7;
break;
-   } else
-   asoc->ifp_had_enobuf = 0;
-   if (*now_filled == 0) {
-   
(void)SCTP_GETTIME_TIMEVAL(&net->last_sent_time);
-   *now_filled = 1;
-   *now = net->last_sent_time;
} else {
-   net->last_sent_time = *now;
+   asoc->ifp_had_enobuf = 0;
}
-   hbflag = 0;
/*
 * increase the number we sent, if a
 * cookie is sent we don't tell them
@@ -8387,6 +8383,15 @@ again_one_more_time:

sctp_timer_start(SCTP_TIMER_TYPE_COOKIE, inp, stcb, net);
cookie = 0;
}
+   /* Only HB or ASCONF advances time */
+   if (hbflag) {
+

svn commit: r284330 - in stable/10: crypto/openssl crypto/openssl/crypto crypto/openssl/crypto/hmac crypto/openssl/ssl secure/lib/libcrypto secure/lib/libcrypto/man secure/lib/libssl/man secure/usr...

2015-06-12 Thread Jung-uk Kim
Author: jkim
Date: Fri Jun 12 17:10:19 2015
New Revision: 284330
URL: https://svnweb.freebsd.org/changeset/base/284330

Log:
  MFC:  r284329
  
  Merge OpenSSL 1.0.1o.
  
  Note it is instantly merged because it restores ABI compatibility broken by
  the previous OpenSSL 1.0.1n.
  
  Relnotes: yes

Modified:
  stable/10/crypto/openssl/CHANGES
  stable/10/crypto/openssl/Makefile
  stable/10/crypto/openssl/NEWS
  stable/10/crypto/openssl/README
  stable/10/crypto/openssl/crypto/hmac/hmac.c
  stable/10/crypto/openssl/crypto/hmac/hmac.h
  stable/10/crypto/openssl/crypto/hmac/hmactest.c
  stable/10/crypto/openssl/crypto/opensslv.h
  stable/10/crypto/openssl/ssl/t1_lib.c
  stable/10/secure/lib/libcrypto/Makefile.inc
  stable/10/secure/lib/libcrypto/man/ASN1_OBJECT_new.3
  stable/10/secure/lib/libcrypto/man/ASN1_STRING_length.3
  stable/10/secure/lib/libcrypto/man/ASN1_STRING_new.3
  stable/10/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3
  stable/10/secure/lib/libcrypto/man/ASN1_generate_nconf.3
  stable/10/secure/lib/libcrypto/man/BIO_ctrl.3
  stable/10/secure/lib/libcrypto/man/BIO_f_base64.3
  stable/10/secure/lib/libcrypto/man/BIO_f_buffer.3
  stable/10/secure/lib/libcrypto/man/BIO_f_cipher.3
  stable/10/secure/lib/libcrypto/man/BIO_f_md.3
  stable/10/secure/lib/libcrypto/man/BIO_f_null.3
  stable/10/secure/lib/libcrypto/man/BIO_f_ssl.3
  stable/10/secure/lib/libcrypto/man/BIO_find_type.3
  stable/10/secure/lib/libcrypto/man/BIO_new.3
  stable/10/secure/lib/libcrypto/man/BIO_new_CMS.3
  stable/10/secure/lib/libcrypto/man/BIO_push.3
  stable/10/secure/lib/libcrypto/man/BIO_read.3
  stable/10/secure/lib/libcrypto/man/BIO_s_accept.3
  stable/10/secure/lib/libcrypto/man/BIO_s_bio.3
  stable/10/secure/lib/libcrypto/man/BIO_s_connect.3
  stable/10/secure/lib/libcrypto/man/BIO_s_fd.3
  stable/10/secure/lib/libcrypto/man/BIO_s_file.3
  stable/10/secure/lib/libcrypto/man/BIO_s_mem.3
  stable/10/secure/lib/libcrypto/man/BIO_s_null.3
  stable/10/secure/lib/libcrypto/man/BIO_s_socket.3
  stable/10/secure/lib/libcrypto/man/BIO_set_callback.3
  stable/10/secure/lib/libcrypto/man/BIO_should_retry.3
  stable/10/secure/lib/libcrypto/man/BN_BLINDING_new.3
  stable/10/secure/lib/libcrypto/man/BN_CTX_new.3
  stable/10/secure/lib/libcrypto/man/BN_CTX_start.3
  stable/10/secure/lib/libcrypto/man/BN_add.3
  stable/10/secure/lib/libcrypto/man/BN_add_word.3
  stable/10/secure/lib/libcrypto/man/BN_bn2bin.3
  stable/10/secure/lib/libcrypto/man/BN_cmp.3
  stable/10/secure/lib/libcrypto/man/BN_copy.3
  stable/10/secure/lib/libcrypto/man/BN_generate_prime.3
  stable/10/secure/lib/libcrypto/man/BN_mod_inverse.3
  stable/10/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3
  stable/10/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3
  stable/10/secure/lib/libcrypto/man/BN_new.3
  stable/10/secure/lib/libcrypto/man/BN_num_bytes.3
  stable/10/secure/lib/libcrypto/man/BN_rand.3
  stable/10/secure/lib/libcrypto/man/BN_set_bit.3
  stable/10/secure/lib/libcrypto/man/BN_swap.3
  stable/10/secure/lib/libcrypto/man/BN_zero.3
  stable/10/secure/lib/libcrypto/man/CMS_add0_cert.3
  stable/10/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3
  stable/10/secure/lib/libcrypto/man/CMS_add1_signer.3
  stable/10/secure/lib/libcrypto/man/CMS_compress.3
  stable/10/secure/lib/libcrypto/man/CMS_decrypt.3
  stable/10/secure/lib/libcrypto/man/CMS_encrypt.3
  stable/10/secure/lib/libcrypto/man/CMS_final.3
  stable/10/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3
  stable/10/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3
  stable/10/secure/lib/libcrypto/man/CMS_get0_type.3
  stable/10/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3
  stable/10/secure/lib/libcrypto/man/CMS_sign.3
  stable/10/secure/lib/libcrypto/man/CMS_sign_receipt.3
  stable/10/secure/lib/libcrypto/man/CMS_uncompress.3
  stable/10/secure/lib/libcrypto/man/CMS_verify.3
  stable/10/secure/lib/libcrypto/man/CMS_verify_receipt.3
  stable/10/secure/lib/libcrypto/man/CONF_modules_free.3
  stable/10/secure/lib/libcrypto/man/CONF_modules_load_file.3
  stable/10/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3
  stable/10/secure/lib/libcrypto/man/DH_generate_key.3
  stable/10/secure/lib/libcrypto/man/DH_generate_parameters.3
  stable/10/secure/lib/libcrypto/man/DH_get_ex_new_index.3
  stable/10/secure/lib/libcrypto/man/DH_new.3
  stable/10/secure/lib/libcrypto/man/DH_set_method.3
  stable/10/secure/lib/libcrypto/man/DH_size.3
  stable/10/secure/lib/libcrypto/man/DSA_SIG_new.3
  stable/10/secure/lib/libcrypto/man/DSA_do_sign.3
  stable/10/secure/lib/libcrypto/man/DSA_dup_DH.3
  stable/10/secure/lib/libcrypto/man/DSA_generate_key.3
  stable/10/secure/lib/libcrypto/man/DSA_generate_parameters.3
  stable/10/secure/lib/libcrypto/man/DSA_get_ex_new_index.3
  stable/10/secure/lib/libcrypto/man/DSA_new.3
  stable/10/secure/lib/libcrypto/man/DSA_set_method.3
  stable/10/secure/lib/libcrypto/man/DSA_sign.3
  stable/10/secure/lib/libcrypto/man/DSA_size.3
  stable/10/secure/lib/libcrypto/man/ERR_GET_LIB.3

svn commit: r284329 - in head: crypto/openssl crypto/openssl/crypto crypto/openssl/crypto/hmac crypto/openssl/ssl secure/lib/libcrypto secure/lib/libcrypto/man secure/lib/libssl/man secure/usr.bin/...

2015-06-12 Thread Jung-uk Kim
Author: jkim
Date: Fri Jun 12 16:48:26 2015
New Revision: 284329
URL: https://svnweb.freebsd.org/changeset/base/284329

Log:
  Merge OpenSSL 1.0.1o.

Modified:
  head/crypto/openssl/CHANGES
  head/crypto/openssl/Makefile
  head/crypto/openssl/NEWS
  head/crypto/openssl/README
  head/crypto/openssl/crypto/hmac/hmac.c
  head/crypto/openssl/crypto/hmac/hmac.h
  head/crypto/openssl/crypto/hmac/hmactest.c
  head/crypto/openssl/crypto/opensslv.h
  head/crypto/openssl/ssl/t1_lib.c
  head/secure/lib/libcrypto/Makefile.inc
  head/secure/lib/libcrypto/man/ASN1_OBJECT_new.3
  head/secure/lib/libcrypto/man/ASN1_STRING_length.3
  head/secure/lib/libcrypto/man/ASN1_STRING_new.3
  head/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3
  head/secure/lib/libcrypto/man/ASN1_generate_nconf.3
  head/secure/lib/libcrypto/man/BIO_ctrl.3
  head/secure/lib/libcrypto/man/BIO_f_base64.3
  head/secure/lib/libcrypto/man/BIO_f_buffer.3
  head/secure/lib/libcrypto/man/BIO_f_cipher.3
  head/secure/lib/libcrypto/man/BIO_f_md.3
  head/secure/lib/libcrypto/man/BIO_f_null.3
  head/secure/lib/libcrypto/man/BIO_f_ssl.3
  head/secure/lib/libcrypto/man/BIO_find_type.3
  head/secure/lib/libcrypto/man/BIO_new.3
  head/secure/lib/libcrypto/man/BIO_new_CMS.3
  head/secure/lib/libcrypto/man/BIO_push.3
  head/secure/lib/libcrypto/man/BIO_read.3
  head/secure/lib/libcrypto/man/BIO_s_accept.3
  head/secure/lib/libcrypto/man/BIO_s_bio.3
  head/secure/lib/libcrypto/man/BIO_s_connect.3
  head/secure/lib/libcrypto/man/BIO_s_fd.3
  head/secure/lib/libcrypto/man/BIO_s_file.3
  head/secure/lib/libcrypto/man/BIO_s_mem.3
  head/secure/lib/libcrypto/man/BIO_s_null.3
  head/secure/lib/libcrypto/man/BIO_s_socket.3
  head/secure/lib/libcrypto/man/BIO_set_callback.3
  head/secure/lib/libcrypto/man/BIO_should_retry.3
  head/secure/lib/libcrypto/man/BN_BLINDING_new.3
  head/secure/lib/libcrypto/man/BN_CTX_new.3
  head/secure/lib/libcrypto/man/BN_CTX_start.3
  head/secure/lib/libcrypto/man/BN_add.3
  head/secure/lib/libcrypto/man/BN_add_word.3
  head/secure/lib/libcrypto/man/BN_bn2bin.3
  head/secure/lib/libcrypto/man/BN_cmp.3
  head/secure/lib/libcrypto/man/BN_copy.3
  head/secure/lib/libcrypto/man/BN_generate_prime.3
  head/secure/lib/libcrypto/man/BN_mod_inverse.3
  head/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3
  head/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3
  head/secure/lib/libcrypto/man/BN_new.3
  head/secure/lib/libcrypto/man/BN_num_bytes.3
  head/secure/lib/libcrypto/man/BN_rand.3
  head/secure/lib/libcrypto/man/BN_set_bit.3
  head/secure/lib/libcrypto/man/BN_swap.3
  head/secure/lib/libcrypto/man/BN_zero.3
  head/secure/lib/libcrypto/man/CMS_add0_cert.3
  head/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3
  head/secure/lib/libcrypto/man/CMS_add1_signer.3
  head/secure/lib/libcrypto/man/CMS_compress.3
  head/secure/lib/libcrypto/man/CMS_decrypt.3
  head/secure/lib/libcrypto/man/CMS_encrypt.3
  head/secure/lib/libcrypto/man/CMS_final.3
  head/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3
  head/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3
  head/secure/lib/libcrypto/man/CMS_get0_type.3
  head/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3
  head/secure/lib/libcrypto/man/CMS_sign.3
  head/secure/lib/libcrypto/man/CMS_sign_receipt.3
  head/secure/lib/libcrypto/man/CMS_uncompress.3
  head/secure/lib/libcrypto/man/CMS_verify.3
  head/secure/lib/libcrypto/man/CMS_verify_receipt.3
  head/secure/lib/libcrypto/man/CONF_modules_free.3
  head/secure/lib/libcrypto/man/CONF_modules_load_file.3
  head/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3
  head/secure/lib/libcrypto/man/DH_generate_key.3
  head/secure/lib/libcrypto/man/DH_generate_parameters.3
  head/secure/lib/libcrypto/man/DH_get_ex_new_index.3
  head/secure/lib/libcrypto/man/DH_new.3
  head/secure/lib/libcrypto/man/DH_set_method.3
  head/secure/lib/libcrypto/man/DH_size.3
  head/secure/lib/libcrypto/man/DSA_SIG_new.3
  head/secure/lib/libcrypto/man/DSA_do_sign.3
  head/secure/lib/libcrypto/man/DSA_dup_DH.3
  head/secure/lib/libcrypto/man/DSA_generate_key.3
  head/secure/lib/libcrypto/man/DSA_generate_parameters.3
  head/secure/lib/libcrypto/man/DSA_get_ex_new_index.3
  head/secure/lib/libcrypto/man/DSA_new.3
  head/secure/lib/libcrypto/man/DSA_set_method.3
  head/secure/lib/libcrypto/man/DSA_sign.3
  head/secure/lib/libcrypto/man/DSA_size.3
  head/secure/lib/libcrypto/man/ERR_GET_LIB.3
  head/secure/lib/libcrypto/man/ERR_clear_error.3
  head/secure/lib/libcrypto/man/ERR_error_string.3
  head/secure/lib/libcrypto/man/ERR_get_error.3
  head/secure/lib/libcrypto/man/ERR_load_crypto_strings.3
  head/secure/lib/libcrypto/man/ERR_load_strings.3
  head/secure/lib/libcrypto/man/ERR_print_errors.3
  head/secure/lib/libcrypto/man/ERR_put_error.3
  head/secure/lib/libcrypto/man/ERR_remove_state.3
  head/secure/lib/libcrypto/man/ERR_set_mark.3
  head/secure/lib/libcrypto/man/EVP_BytesToKey.3
  head/secure/lib/libcrypto/man/EVP_DigestInit.3
  head/secure/lib/libcrypto/man/EVP_DigestSignInit.3
  h

svn commit: r284328 - vendor-crypto/openssl/1.0.1o

2015-06-12 Thread Jung-uk Kim
Author: jkim
Date: Fri Jun 12 16:36:05 2015
New Revision: 284328
URL: https://svnweb.freebsd.org/changeset/base/284328

Log:
  Tag OpenSSL 1.0.1o.

Added:
  vendor-crypto/openssl/1.0.1o/
 - copied from r284327, vendor-crypto/openssl/dist/
___
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: r284327 - in vendor-crypto/openssl/dist: . crypto crypto/hmac ssl

2015-06-12 Thread Jung-uk Kim
Author: jkim
Date: Fri Jun 12 16:33:55 2015
New Revision: 284327
URL: https://svnweb.freebsd.org/changeset/base/284327

Log:
  Import OpenSSL 1.0.1o.

Modified:
  vendor-crypto/openssl/dist/CHANGES
  vendor-crypto/openssl/dist/FREEBSD-upgrade
  vendor-crypto/openssl/dist/Makefile
  vendor-crypto/openssl/dist/NEWS
  vendor-crypto/openssl/dist/README
  vendor-crypto/openssl/dist/crypto/hmac/hmac.c
  vendor-crypto/openssl/dist/crypto/hmac/hmac.h
  vendor-crypto/openssl/dist/crypto/hmac/hmactest.c
  vendor-crypto/openssl/dist/crypto/opensslv.h
  vendor-crypto/openssl/dist/ssl/t1_lib.c

Modified: vendor-crypto/openssl/dist/CHANGES
==
--- vendor-crypto/openssl/dist/CHANGES  Fri Jun 12 16:01:41 2015
(r284326)
+++ vendor-crypto/openssl/dist/CHANGES  Fri Jun 12 16:33:55 2015
(r284327)
@@ -2,6 +2,12 @@
  OpenSSL CHANGES
  ___
 
+ Changes between 1.0.1n and 1.0.1o [12 Jun 2015]
+
+  *) Fix HMAC ABI incompatibility. The previous version introduced an ABI
+ incompatibility in the handling of HMAC. The previous ABI has now been
+ restored.
+
  Changes between 1.0.1m and 1.0.1n [11 Jun 2015]
 
   *) Malformed ECParameters causes infinite loop

Modified: vendor-crypto/openssl/dist/FREEBSD-upgrade
==
--- vendor-crypto/openssl/dist/FREEBSD-upgrade  Fri Jun 12 16:01:41 2015
(r284326)
+++ vendor-crypto/openssl/dist/FREEBSD-upgrade  Fri Jun 12 16:33:55 2015
(r284327)
@@ -11,8 +11,8 @@ First, read http://wiki.freebsd.org/Subv
 # Xlist
 setenv XLIST /FreeBSD/work/openssl/svn-FREEBSD-files/FREEBSD-Xlist
 setenv FSVN "svn+ssh://svn.freebsd.org/base"
-setenv OSSLVER 1.0.1n
-# OSSLTAG format: v1_0_1n
+setenv OSSLVER 1.0.1o
+# OSSLTAG format: v1_0_1o
 
 ###setenv OSSLTAG v`echo ${OSSLVER} | tr . _`
 

Modified: vendor-crypto/openssl/dist/Makefile
==
--- vendor-crypto/openssl/dist/Makefile Fri Jun 12 16:01:41 2015
(r284326)
+++ vendor-crypto/openssl/dist/Makefile Fri Jun 12 16:33:55 2015
(r284327)
@@ -4,7 +4,7 @@
 ## Makefile for OpenSSL
 ##
 
-VERSION=1.0.1n
+VERSION=1.0.1o
 MAJOR=1
 MINOR=0.1
 SHLIB_VERSION_NUMBER=1.0.0

Modified: vendor-crypto/openssl/dist/NEWS
==
--- vendor-crypto/openssl/dist/NEWS Fri Jun 12 16:01:41 2015
(r284326)
+++ vendor-crypto/openssl/dist/NEWS Fri Jun 12 16:33:55 2015
(r284327)
@@ -5,6 +5,10 @@
   This file gives a brief overview of the major changes between each OpenSSL
   release. For more details please read the CHANGES file.
 
+  Major changes between OpenSSL 1.0.1n and OpenSSL 1.0.1o [12 Jun 2015]
+
+  o Fix HMAC ABI incompatibility
+
   Major changes between OpenSSL 1.0.1m and OpenSSL 1.0.1n [11 Jun 2015]
 
   o Malformed ECParameters causes infinite loop (CVE-2015-1788)

Modified: vendor-crypto/openssl/dist/README
==
--- vendor-crypto/openssl/dist/README   Fri Jun 12 16:01:41 2015
(r284326)
+++ vendor-crypto/openssl/dist/README   Fri Jun 12 16:33:55 2015
(r284327)
@@ -1,5 +1,5 @@
 
- OpenSSL 1.0.1n 11 Jun 2015
+ OpenSSL 1.0.1o 12 Jun 2015
 
  Copyright (c) 1998-2011 The OpenSSL Project
  Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson

Modified: vendor-crypto/openssl/dist/crypto/hmac/hmac.c
==
--- vendor-crypto/openssl/dist/crypto/hmac/hmac.c   Fri Jun 12 16:01:41 
2015(r284326)
+++ vendor-crypto/openssl/dist/crypto/hmac/hmac.c   Fri Jun 12 16:33:55 
2015(r284327)
@@ -87,6 +87,9 @@ int HMAC_Init_ex(HMAC_CTX *ctx, const vo
 return FIPS_hmac_init_ex(ctx, key, len, md, NULL);
 }
 #endif
+/* If we are changing MD then we must have a key */
+if (md != NULL && md != ctx->md && (key == NULL || len < 0))
+return 0;
 
 if (md != NULL) {
 reset = 1;
@@ -97,9 +100,6 @@ int HMAC_Init_ex(HMAC_CTX *ctx, const vo
 return 0;
 }
 
-if (!ctx->key_init && key == NULL)
-return 0;
-
 if (key != NULL) {
 reset = 1;
 j = EVP_MD_block_size(md);
@@ -121,7 +121,6 @@ int HMAC_Init_ex(HMAC_CTX *ctx, const vo
 if (ctx->key_length != HMAC_MAX_MD_CBLOCK)
 memset(&ctx->key[ctx->key_length], 0,
HMAC_MAX_MD_CBLOCK - ctx->key_length);
-ctx->key_init = 1;
 }
 
 if (reset) {
@@ -159,7 +158,7 @@ int HMAC_Update(HMAC_CTX *ctx, const uns
 if (FIPS_mode() && !ctx->i_ctx.engine)
 return FIPS_hmac_update(ctx, data, len);
 #endif
-if (!ctx->key_init)
+if (!ctx->md)
 return 0;
 
 return EVP_DigestUpdate(&ctx->md_ctx, data, len);
@@ -174,7 +173,7 @@ int HMAC_Final(HMAC_CTX *ctx, uns

svn commit: r284326 - head/sys/netinet

2015-06-12 Thread Michael Tuexen
Author: tuexen
Date: Fri Jun 12 16:01:41 2015
New Revision: 284326
URL: https://svnweb.freebsd.org/changeset/base/284326

Log:
  In case of an output error, continue with the next net, don't try to
  continue sending on the same net.
  
  This fixes a bug where an invalid mbuf chain was constructed, if a
  full size frame of control chunks should be sent and there is a
  output error.
  
  Based on a discussion with rrs@, change move to the next net. This fixes
  the bug and improves the behaviour.
  
  Thanks to Irene Ruengeler for spending a lot of time in narrowing this
  problem down.
  MFC after: 3 days

Modified:
  head/sys/netinet/sctp_output.c

Modified: head/sys/netinet/sctp_output.c
==
--- head/sys/netinet/sctp_output.c  Fri Jun 12 15:14:08 2015
(r284325)
+++ head/sys/netinet/sctp_output.c  Fri Jun 12 16:01:41 2015
(r284326)
@@ -7985,6 +7985,7 @@ again_one_more_time:
} else {
r_mtu = mtu;
}
+   error = 0;
//
/* ASCONF transmission */
//
@@ -8143,7 +8144,7 @@ again_one_more_time:

sctp_move_chunks_from_net(stcb, net);
}
*reason_code = 7;
-   continue;
+   break;
} else
asoc->ifp_had_enobuf = 0;
if (*now_filled == 0) {
@@ -8186,6 +8187,10 @@ again_one_more_time:
}
}
}
+   if (error != 0) {
+   /* try next net */
+   continue;
+   }
//
/* Control transmission */
//
@@ -8420,7 +8425,7 @@ again_one_more_time:

sctp_move_chunks_from_net(stcb, net);
}
*reason_code = 7;
-   continue;
+   break;
} else
asoc->ifp_had_enobuf = 0;
/* Only HB or ASCONF advances time */
@@ -8466,6 +8471,10 @@ again_one_more_time:
}
}
}
+   if (error != 0) {
+   /* try next net */
+   continue;
+   }
/* JRI: if dest is in PF state, do not send data to it */
if ((asoc->sctp_cmt_on_off > 0) &&
(net != stcb->asoc.alternate) &&
___
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: r284325 - in head/sys: amd64/amd64 i386/i386 i386/include

2015-06-12 Thread John Baldwin
Author: jhb
Date: Fri Jun 12 15:14:08 2015
New Revision: 284325
URL: https://svnweb.freebsd.org/changeset/base/284325

Log:
  Report the values of x86 segment registers to remote debuggers.
  
  While here, also report %eflags from the i386 trapframe.
  
  Differential Revision:https://reviews.freebsd.org/D2743
  Reviewed by:  kib
  Obtained from:1 month

Modified:
  head/sys/amd64/amd64/gdb_machdep.c
  head/sys/i386/i386/gdb_machdep.c
  head/sys/i386/i386/machdep.c
  head/sys/i386/include/gdb_machdep.h

Modified: head/sys/amd64/amd64/gdb_machdep.c
==
--- head/sys/amd64/amd64/gdb_machdep.c  Fri Jun 12 15:06:17 2015
(r284324)
+++ head/sys/amd64/amd64/gdb_machdep.c  Fri Jun 12 15:14:08 2015
(r284325)
@@ -48,6 +48,8 @@ __FBSDID("$FreeBSD$");
 void *
 gdb_cpu_getreg(int regnum, size_t *regsz)
 {
+   static uint32_t _kcodesel = GSEL(GCODE_SEL, SEL_KPL);
+   static uint32_t _kdatasel = GSEL(GDATA_SEL, SEL_KPL);
 
*regsz = gdb_cpu_regsz(regnum);
 
@@ -76,6 +78,8 @@ gdb_cpu_getreg(int regnum, size_t *regsz
case 14: return (&kdb_thrctx->pcb_r14);
case 15: return (&kdb_thrctx->pcb_r15);
case 16: return (&kdb_thrctx->pcb_rip);
+   case 18: return (&_kcodesel);
+   case 19: return (&_kdatasel);
}
return (NULL);
 }

Modified: head/sys/i386/i386/gdb_machdep.c
==
--- head/sys/i386/i386/gdb_machdep.cFri Jun 12 15:06:17 2015
(r284324)
+++ head/sys/i386/i386/gdb_machdep.cFri Jun 12 15:14:08 2015
(r284325)
@@ -45,14 +45,22 @@ __FBSDID("$FreeBSD$");
 void *
 gdb_cpu_getreg(int regnum, size_t *regsz)
 {
+   static uint32_t _kcodesel = GSEL(GCODE_SEL, SEL_KPL);
+   static uint32_t _kdatasel = GSEL(GDATA_SEL, SEL_KPL);
+   static uint32_t _kprivsel = GSEL(GPRIV_SEL, SEL_KPL);
 
*regsz = gdb_cpu_regsz(regnum);
 
-   if (kdb_thread  == curthread) {
+   if (kdb_thread == curthread) {
switch (regnum) {
case 0: return (&kdb_frame->tf_eax);
case 1: return (&kdb_frame->tf_ecx);
case 2: return (&kdb_frame->tf_edx);
+   case 9: return (&kdb_frame->tf_eflags);
+   case 10: return (&kdb_frame->tf_cs);
+   case 12: return (&kdb_frame->tf_ds);
+   case 13: return (&kdb_frame->tf_es);
+   case 14: return (&kdb_frame->tf_fs);
}
}
switch (regnum) {
@@ -62,6 +70,12 @@ gdb_cpu_getreg(int regnum, size_t *regsz
case 6:  return (&kdb_thrctx->pcb_esi);
case 7:  return (&kdb_thrctx->pcb_edi);
case 8:  return (&kdb_thrctx->pcb_eip);
+   case 10: return (&_kcodesel);
+   case 11: return (&_kdatasel);
+   case 12: return (&_kdatasel);
+   case 13: return (&_kdatasel);
+   case 14: return (&_kprivsel);
+   case 15: return (&kdb_thrctx->pcb_gs);
}
return (NULL);
 }

Modified: head/sys/i386/i386/machdep.c
==
--- head/sys/i386/i386/machdep.cFri Jun 12 15:06:17 2015
(r284324)
+++ head/sys/i386/i386/machdep.cFri Jun 12 15:14:08 2015
(r284325)
@@ -2867,6 +2867,7 @@ makectx(struct trapframe *tf, struct pcb
pcb->pcb_ebx = tf->tf_ebx;
pcb->pcb_eip = tf->tf_eip;
pcb->pcb_esp = (ISPL(tf->tf_cs)) ? tf->tf_esp : (int)(tf + 1) - 8;
+   pcb->pcb_gs = rgs();
 }
 
 int

Modified: head/sys/i386/include/gdb_machdep.h
==
--- head/sys/i386/include/gdb_machdep.h Fri Jun 12 15:06:17 2015
(r284324)
+++ head/sys/i386/include/gdb_machdep.h Fri Jun 12 15:14:08 2015
(r284325)
@@ -30,7 +30,7 @@
 #define_MACHINE_GDB_MACHDEP_H_
 
 #defineGDB_BUFSZ   400
-#defineGDB_NREGS   14
+#defineGDB_NREGS   16
 #defineGDB_REG_PC  8
 
 static __inline size_t
___
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: r284324 - in head/sys/i386: i386 include

2015-06-12 Thread John Baldwin
Author: jhb
Date: Fri Jun 12 15:06:17 2015
New Revision: 284324
URL: https://svnweb.freebsd.org/changeset/base/284324

Log:
  Ensure that the upper 16 bits of segment registers manually saved in
  trapframes are cleared by explicitly pushing a zero and then moving
  the segment register into the low 16 bits.  Certain Intel processors
  treat a push of a segment register as a move of the segment register
  into the low 16 bits leaving the upper 16 bits of the word in the
  stack unchanged.
  
  Reviewed by:  kib
  MFC after:1 month

Modified:
  head/sys/i386/i386/exception.s
  head/sys/i386/include/asmacros.h

Modified: head/sys/i386/i386/exception.s
==
--- head/sys/i386/i386/exception.s  Fri Jun 12 15:03:59 2015
(r284323)
+++ head/sys/i386/i386/exception.s  Fri Jun 12 15:06:17 2015
(r284324)
@@ -157,9 +157,12 @@ IDTVEC(xmm)
.type   alltraps,@function
 alltraps:
pushal
-   pushl   %ds
-   pushl   %es
-   pushl   %fs
+   pushl   $0
+   movl%ds,(%esp)
+   pushl   $0
+   movl%es,(%esp)
+   pushl   $0
+   movl%fs,(%esp)
 alltraps_with_regs_pushed:
SET_KERNEL_SREGS
cld
@@ -233,9 +236,12 @@ IDTVEC(lcall_syscall)
pushl   $7  /* sizeof "lcall 7,0" */
subl$4,%esp /* skip over tf_trapno */
pushal
-   pushl   %ds
-   pushl   %es
-   pushl   %fs
+   pushl   $0
+   movl%ds,(%esp)
+   pushl   $0
+   movl%es,(%esp)
+   pushl   $0
+   movl%fs,(%esp)
SET_KERNEL_SREGS
cld
FAKE_MCOUNT(TF_EIP(%esp))
@@ -259,9 +265,12 @@ IDTVEC(int0x80_syscall)
pushl   $2  /* sizeof "int 0x80" */
subl$4,%esp /* skip over tf_trapno */
pushal
-   pushl   %ds
-   pushl   %es
-   pushl   %fs
+   pushl   $0
+   movl%ds,(%esp)
+   pushl   $0
+   movl%es,(%esp)
+   pushl   $0
+   movl%fs,(%esp)
SET_KERNEL_SREGS
cld
FAKE_MCOUNT(TF_EIP(%esp))
@@ -416,13 +425,16 @@ doreti_iret:
 doreti_iret_fault:
subl$8,%esp
pushal
-   pushl   %ds
+   pushl   $0
+   movl%ds,(%esp)
.globl  doreti_popl_ds_fault
 doreti_popl_ds_fault:
-   pushl   %es
+   pushl   $0
+   movl%es,(%esp)
.globl  doreti_popl_es_fault
 doreti_popl_es_fault:
-   pushl   %fs
+   pushl   $0
+   movl%fs,(%esp)
.globl  doreti_popl_fs_fault
 doreti_popl_fs_fault:
sti

Modified: head/sys/i386/include/asmacros.h
==
--- head/sys/i386/include/asmacros.hFri Jun 12 15:03:59 2015
(r284323)
+++ head/sys/i386/include/asmacros.hFri Jun 12 15:06:17 2015
(r284324)
@@ -146,9 +146,12 @@
pushl   $0 ;/* dummy error code */  \
pushl   $0 ;/* dummy trap type */   \
pushal ;/* 8 ints */\
-   pushl   %ds ;   /* save data and extra segments ... */  \
-   pushl   %es ;   \
-   pushl   %fs
+   pushl   $0 ;/* save data and extra segments ... */  \
+   mov %ds,(%esp) ;\
+   pushl   $0 ;\
+   mov %es,(%esp) ;\
+   pushl   $0 ;\
+   mov %fs,(%esp)

 #definePOP_FRAME   
\
popl%fs ;   \
___
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: r284323 - head/sbin/geom/class/multipath

2015-06-12 Thread Christian Brueffer
Author: brueffer
Date: Fri Jun 12 15:03:59 2015
New Revision: 284323
URL: https://svnweb.freebsd.org/changeset/base/284323

Log:
  Add a missing word, should have been in r284290.
  
  Submitted by: Fabian Keil

Modified:
  head/sbin/geom/class/multipath/gmultipath.8

Modified: head/sbin/geom/class/multipath/gmultipath.8
==
--- head/sbin/geom/class/multipath/gmultipath.8 Fri Jun 12 14:53:56 2015
(r284322)
+++ head/sbin/geom/class/multipath/gmultipath.8 Fri Jun 12 15:03:59 2015
(r284323)
@@ -271,7 +271,7 @@ device has a
 .Nm MULTIPATH
 on-disk metadata label, the device is either used to create a new
 .Nm MULTIPATH
-GEOM, or added the list of paths for an existing
+GEOM, or added to the list of paths for an existing
 .Nm MULTIPATH
 GEOM.
 .Pp
___
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: r284322 - head/tools/bus_space

2015-06-12 Thread Marcel Moolenaar
Author: marcel
Date: Fri Jun 12 14:53:56 2015
New Revision: 284322
URL: https://svnweb.freebsd.org/changeset/base/284322

Log:
  Free the segment objects properly.

Modified:
  head/tools/bus_space/busdma.c

Modified: head/tools/bus_space/busdma.c
==
--- head/tools/bus_space/busdma.c   Fri Jun 12 14:30:27 2015
(r284321)
+++ head/tools/bus_space/busdma.c   Fri Jun 12 14:53:56 2015
(r284322)
@@ -273,17 +273,15 @@ bd_mem_alloc(int tid, u_int flags)
tag->refcnt++;
md->key = ioc.result;
 
+   /* XXX we need to support multiple segments */
assert(ioc.u.mem.phys_nsegs == 1);
-   pseg = obj_alloc(OBJ_TYPE_SEG);
-   pseg->refcnt = 1;
-   pseg->parent = md;
-   pseg->u.seg.address = ioc.u.mem.phys_addr;
-   pseg->u.seg.size = tag->u.tag.maxsz;
-   md->u.md.seg[BUSDMA_MD_PHYS] = pseg;
-   md->u.md.nsegs[BUSDMA_MD_PHYS] = ioc.u.mem.phys_nsegs;
-
assert(ioc.u.mem.bus_nsegs == 1);
+
+   bseg = pseg = vseg = NULL;
+
bseg = obj_alloc(OBJ_TYPE_SEG);
+   if (bseg == NULL)
+   goto fail;
bseg->refcnt = 1;
bseg->parent = md;
bseg->u.seg.address = ioc.u.mem.bus_addr;
@@ -291,33 +289,71 @@ bd_mem_alloc(int tid, u_int flags)
md->u.md.seg[BUSDMA_MD_BUS] = bseg;
md->u.md.nsegs[BUSDMA_MD_BUS] = ioc.u.mem.bus_nsegs;
 
+   pseg = obj_alloc(OBJ_TYPE_SEG);
+   if (pseg == NULL)
+   goto fail;
+   pseg->refcnt = 1;
+   pseg->parent = md;
+   pseg->u.seg.address = ioc.u.mem.phys_addr;
+   pseg->u.seg.size = tag->u.tag.maxsz;
+   md->u.md.seg[BUSDMA_MD_PHYS] = pseg;
+   md->u.md.nsegs[BUSDMA_MD_PHYS] = ioc.u.mem.phys_nsegs;
+
vseg = obj_alloc(OBJ_TYPE_SEG);
+   if (vseg == NULL)
+   goto fail;
vseg->refcnt = 1;
vseg->parent = md;
vseg->u.seg.address = (uintptr_t)mmap(NULL, pseg->u.seg.size,
PROT_READ | PROT_WRITE, MAP_NOCORE | MAP_SHARED, md->fd,
pseg->u.seg.address);
+   if (vseg->u.seg.address == (uintptr_t)MAP_FAILED)
+   goto fail;
vseg->u.seg.size = pseg->u.seg.size;
md->u.md.seg[BUSDMA_MD_VIRT] = vseg;
md->u.md.nsegs[BUSDMA_MD_VIRT] = 1;
 
return (md->oid);
+
+ fail:
+   if (vseg != NULL)
+   obj_free(vseg);
+   if (pseg != NULL)
+   obj_free(pseg);
+   if (bseg != NULL)
+   obj_free(bseg);
+   memset(&ioc, 0, sizeof(ioc));
+   ioc.request = PROTO_IOC_BUSDMA_MEM_FREE;
+   ioc.key = md->key;
+   ioctl(md->fd, PROTO_IOC_BUSDMA, &ioc);
+   md->parent->refcnt--;
+   obj_free(md);
+   return (-1);
 }
 
 int
 bd_mem_free(int mdid)
 {
struct proto_ioc_busdma ioc;
-   struct obj *md, *seg;
+   struct obj *md, *seg, *seg0;
 
md = obj_lookup(mdid, OBJ_TYPE_MD);
if (md == NULL)
return (errno);
 
-   for (seg = md->u.md.seg[BUSDMA_MD_VIRT];
-   seg != NULL;
-   seg = seg->u.seg.next)
+   for (seg = md->u.md.seg[BUSDMA_MD_VIRT]; seg != NULL; seg = seg0) {
munmap((void *)seg->u.seg.address, seg->u.seg.size);
+   seg0 = seg->u.seg.next;
+   obj_free(seg);
+   }
+   for (seg = md->u.md.seg[BUSDMA_MD_PHYS]; seg != NULL; seg = seg0) {
+   seg0 = seg->u.seg.next;
+   obj_free(seg);
+   }
+   for (seg = md->u.md.seg[BUSDMA_MD_BUS]; seg != NULL; seg = seg0) {
+   seg0 = seg->u.seg.next;
+   obj_free(seg);
+   }
memset(&ioc, 0, sizeof(ioc));
ioc.request = PROTO_IOC_BUSDMA_MEM_FREE;
ioc.key = md->key;
___
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: r284321 - in head: gnu/usr.bin/groff/font/devX100 gnu/usr.bin/groff/font/devX100-12 gnu/usr.bin/groff/font/devX75 gnu/usr.bin/groff/font/devX75-12 share/doc/IPv6 share/doc/atf share/doc...

2015-06-12 Thread Simon J. Gerraty
Author: sjg
Date: Fri Jun 12 14:30:27 2015
New Revision: 284321
URL: https://svnweb.freebsd.org/changeset/base/284321

Log:
  Get rid of some more NO_OBJs
  
  Differential Revision:   D2748

Modified:
  head/gnu/usr.bin/groff/font/devX100-12/Makefile
  head/gnu/usr.bin/groff/font/devX100/Makefile
  head/gnu/usr.bin/groff/font/devX75-12/Makefile
  head/gnu/usr.bin/groff/font/devX75/Makefile
  head/share/doc/IPv6/Makefile
  head/share/doc/atf/Makefile
  head/share/doc/legal/intel_ipw/Makefile
  head/share/doc/legal/intel_iwi/Makefile
  head/share/doc/legal/intel_iwn/Makefile
  head/share/doc/legal/intel_wpi/Makefile
  head/share/doc/legal/realtek/Makefile
  head/share/doc/llvm/Makefile
  head/share/doc/llvm/clang/Makefile
  head/share/doc/pjdfstest/Makefile
  head/usr.sbin/pc-sysinstall/doc/Makefile

Modified: head/gnu/usr.bin/groff/font/devX100-12/Makefile
==
--- head/gnu/usr.bin/groff/font/devX100-12/Makefile Fri Jun 12 13:57:04 
2015(r284320)
+++ head/gnu/usr.bin/groff/font/devX100-12/Makefile Fri Jun 12 14:30:27 
2015(r284321)
@@ -1,7 +1,5 @@
 # $FreeBSD$
 
-NO_OBJ=
-
 .include "../Makefile.inc"
 .include "${DIST_DIR}/Makefile.sub"
 .include "../Makefile.dev"

Modified: head/gnu/usr.bin/groff/font/devX100/Makefile
==
--- head/gnu/usr.bin/groff/font/devX100/MakefileFri Jun 12 13:57:04 
2015(r284320)
+++ head/gnu/usr.bin/groff/font/devX100/MakefileFri Jun 12 14:30:27 
2015(r284321)
@@ -1,7 +1,5 @@
 # $FreeBSD$
 
-NO_OBJ=
-
 .include "../Makefile.inc"
 .include "${DIST_DIR}/Makefile.sub"
 .include "../Makefile.dev"

Modified: head/gnu/usr.bin/groff/font/devX75-12/Makefile
==
--- head/gnu/usr.bin/groff/font/devX75-12/Makefile  Fri Jun 12 13:57:04 
2015(r284320)
+++ head/gnu/usr.bin/groff/font/devX75-12/Makefile  Fri Jun 12 14:30:27 
2015(r284321)
@@ -1,7 +1,5 @@
 # $FreeBSD$
 
-NO_OBJ=
-
 .include "../Makefile.inc"
 .include "${DIST_DIR}/Makefile.sub"
 .include "../Makefile.dev"

Modified: head/gnu/usr.bin/groff/font/devX75/Makefile
==
--- head/gnu/usr.bin/groff/font/devX75/Makefile Fri Jun 12 13:57:04 2015
(r284320)
+++ head/gnu/usr.bin/groff/font/devX75/Makefile Fri Jun 12 14:30:27 2015
(r284321)
@@ -1,7 +1,5 @@
 # $FreeBSD$
 
-NO_OBJ=
-
 .include "../Makefile.inc"
 .include "${DIST_DIR}/Makefile.sub"
 .include "../Makefile.dev"

Modified: head/share/doc/IPv6/Makefile
==
--- head/share/doc/IPv6/MakefileFri Jun 12 13:57:04 2015
(r284320)
+++ head/share/doc/IPv6/MakefileFri Jun 12 14:30:27 2015
(r284321)
@@ -1,6 +1,5 @@
 # $FreeBSD$
 
-NO_OBJ=
 FILES= IMPLEMENTATION
 FILESDIR=  ${SHAREDIR}/doc/IPv6
 

Modified: head/share/doc/atf/Makefile
==
--- head/share/doc/atf/Makefile Fri Jun 12 13:57:04 2015(r284320)
+++ head/share/doc/atf/Makefile Fri Jun 12 14:30:27 2015(r284321)
@@ -29,8 +29,6 @@ ATF=  ${.CURDIR}/../../../contrib/atf
 .PATH: ${ATF}
 .PATH: ${ATF}/doc
 
-NO_OBJ=
-
 FILESGROUPS=   TOP
 
 TOPDIR=${SHAREDIR}/doc/atf

Modified: head/share/doc/legal/intel_ipw/Makefile
==
--- head/share/doc/legal/intel_ipw/Makefile Fri Jun 12 13:57:04 2015
(r284320)
+++ head/share/doc/legal/intel_ipw/Makefile Fri Jun 12 14:30:27 2015
(r284321)
@@ -1,6 +1,5 @@
 # $FreeBSD$
 
-NO_OBJ=
 FILES= ${.CURDIR}/../../../../sys/contrib/dev/ipw/LICENSE
 FILESDIR=  ${SHAREDIR}/doc/legal/intel_ipw
 

Modified: head/share/doc/legal/intel_iwi/Makefile
==
--- head/share/doc/legal/intel_iwi/Makefile Fri Jun 12 13:57:04 2015
(r284320)
+++ head/share/doc/legal/intel_iwi/Makefile Fri Jun 12 14:30:27 2015
(r284321)
@@ -1,6 +1,5 @@
 # $FreeBSD$
 
-NO_OBJ=
 FILES= ${.CURDIR}/../../../../sys/contrib/dev/iwi/LICENSE
 FILESDIR=  ${SHAREDIR}/doc/legal/intel_iwi
 

Modified: head/share/doc/legal/intel_iwn/Makefile
==
--- head/share/doc/legal/intel_iwn/Makefile Fri Jun 12 13:57:04 2015
(r284320)
+++ head/share/doc/legal/intel_iwn/Makefile Fri Jun 12 14:30:27 2015
(r284321)
@@ -1,6 +1,5 @@
 # $FreeBSD$
 
-NO_OBJ=
 FILES= ${.CURDIR}/../../../../sys/contrib/dev/iwn/LICENSE
 FILESDIR=  ${SHAREDIR}/doc/legal/intel_iwn
 

Modified: head/share/doc/legal/intel_wpi/Makefile
=

svn commit: r284320 - head/sys/dev/atkbdc

2015-06-12 Thread Gleb Smirnoff
Author: glebius
Date: Fri Jun 12 13:57:04 2015
New Revision: 284320
URL: https://svnweb.freebsd.org/changeset/base/284320

Log:
  Unbreak mouse on resume on Thinkpads when hw.psm.trackpoint_support=0,
  which is default.  It was broken in r281441.
  
  It appears that set_trackpoint_parameters() call on resume disables the
  mouse.  So, we need not call it on resume if hw.psm.trackpoint_support=0.
  
  The problem is that the probe functions are used both for probing and
  for reiniting on resume. And the absense of the softc parameter is used
  as a mark to distinguish reinit and probe, which is quite ugly. At the
  same time the softc parameter is needed to call set_trackpoint_parameters().
  
  o Change the arguments of probefunc_t to always supply the softc, and
use additional enum argument to tell probing from initing.
  o Don't call set_trackpoint_parameters() from global doinitialize(),
instead call it from the enable_trackpoint() only.
  o In enable_synaptics() call enable_trackpoint() in both probe and
reinit cases.
  
  Together with:  Jan KokemĂ¼ller 

Modified:
  head/sys/dev/atkbdc/psm.c

Modified: head/sys/dev/atkbdc/psm.c
==
--- head/sys/dev/atkbdc/psm.c   Fri Jun 12 13:54:25 2015(r284319)
+++ head/sys/dev/atkbdc/psm.c   Fri Jun 12 13:57:04 2015(r284320)
@@ -462,7 +462,8 @@ static int  tame_mouse(struct psm_softc *
u_char *);
 
 /* vendor specific features */
-typedef intprobefunc_t(KBDC, struct psm_softc *);
+enum probearg { PROBE, REINIT };
+typedef intprobefunc_t(struct psm_softc *, enum probearg);
 
 static int mouse_id_proc1(KBDC, int, int, int *);
 static int mouse_ext_command(KBDC, int);
@@ -882,7 +883,7 @@ doinitialize(struct psm_softc *sc, mouse
/* Re-enable the mouse. */
for (i = 0; vendortype[i].probefunc != NULL; ++i)
if (vendortype[i].model == sc->hw.model)
-   (*vendortype[i].probefunc)(sc->kbdc, NULL);
+   (*vendortype[i].probefunc)(sc, REINIT);
 
/* set mouse parameters */
if (mode != (mousemode_t *)NULL) {
@@ -893,13 +894,6 @@ doinitialize(struct psm_softc *sc, mouse
set_mouse_resolution(kbdc, mode->resolution);
set_mouse_scaling(kbdc, 1);
set_mouse_mode(kbdc);
-
-   /*
-* Trackpoint settings are lost on resume.
-* Restore them here.
-*/
-   if (sc->tphw > 0)
-   set_trackpoint_parameters(sc);
}
 
/* Record sync on the next data packet we see. */
@@ -1388,7 +1382,7 @@ psmprobe(device_t dev)
 
/* other parameters */
for (i = 0; vendortype[i].probefunc != NULL; ++i)
-   if ((*vendortype[i].probefunc)(sc->kbdc, sc)) {
+   if ((*vendortype[i].probefunc)(sc, PROBE)) {
if (verbose >= 2)
printf("psm%d: found %s\n", unit,
model_name(vendortype[i].model));
@@ -3731,8 +3725,9 @@ mouse_ext_command(KBDC kbdc, int command
 #ifdef notyet
 /* Logitech MouseMan Cordless II */
 static int
-enable_lcordless(KDBC kbdc, struct psm_softc *sc)
+enable_lcordless(struct psm_softc *sc, enum probearg arg)
 {
+   KBDC kbdc = sc->kbdc;
int status[3];
int ch;
 
@@ -3753,8 +3748,9 @@ enable_lcordless(KDBC kbdc, struct psm_s
 
 /* Genius NetScroll Mouse, MouseSystems SmartScroll Mouse */
 static int
-enable_groller(KBDC kbdc, struct psm_softc *sc)
+enable_groller(struct psm_softc *sc, enum probearg arg)
 {
+   KBDC kbdc = sc->kbdc;
int status[3];
 
/*
@@ -3783,15 +3779,16 @@ enable_groller(KBDC kbdc, struct psm_sof
if ((status[1] != '3') || (status[2] != 'D'))
return (FALSE);
/* FIXME: SmartScroll Mouse has 5 buttons! XXX */
-   if (sc != NULL)
+   if (arg == PROBE)
sc->hw.buttons = 4;
return (TRUE);
 }
 
 /* Genius NetMouse/NetMouse Pro, ASCII Mie Mouse, NetScroll Optical */
 static int
-enable_gmouse(KBDC kbdc, struct psm_softc *sc)
+enable_gmouse(struct psm_softc *sc, enum probearg arg)
 {
+   KBDC kbdc = sc->kbdc;
int status[3];
 
/*
@@ -3813,8 +3810,9 @@ enable_gmouse(KBDC kbdc, struct psm_soft
 
 /* ALPS GlidePoint */
 static int
-enable_aglide(KBDC kbdc, struct psm_softc *sc)
+enable_aglide(struct psm_softc *sc, enum probearg arg)
 {
+   KBDC kbdc = sc->kbdc;
int status[3];
 
/*
@@ -3835,9 +3833,10 @@ enable_aglide(KBDC kbdc, struct psm_soft
 
 /* Kensington ThinkingMouse/Trackball */
 static int
-enable_kmouse(KBDC kbdc, struct psm_softc *sc)
+enable_kmouse(struct psm_softc *sc, enum probearg arg)
 {
static u_char rate[] = { 20, 60, 40, 20, 20, 60, 40, 20, 20 };
+   KBDC k

svn commit: r284319 - in head/sys: conf dev/pci

2015-06-12 Thread Ruslan Bukin
Author: br
Date: Fri Jun 12 13:54:25 2015
New Revision: 284319
URL: https://svnweb.freebsd.org/changeset/base/284319

Log:
  Rename ECAM PCI driver file.
  
  Requested by: imp

Added:
  head/sys/dev/pci/pci_host_generic.c
 - copied unchanged from r284318, head/sys/dev/pci/pci-host-generic.c
Deleted:
  head/sys/dev/pci/pci-host-generic.c
Modified:
  head/sys/conf/files.arm64

Modified: head/sys/conf/files.arm64
==
--- head/sys/conf/files.arm64   Fri Jun 12 13:42:53 2015(r284318)
+++ head/sys/conf/files.arm64   Fri Jun 12 13:54:25 2015(r284319)
@@ -51,7 +51,7 @@ dev/fdt/fdt_arm64.c   optionalfdt
 dev/hwpmc/hwpmc_arm64.coptionalhwpmc
 dev/hwpmc/hwpmc_arm64_md.c optionalhwpmc
 dev/ofw/ofw_cpu.c  optionalfdt
-dev/pci/pci-host-generic.c optionalpci fdt
+dev/pci/pci_host_generic.c optionalpci fdt
 dev/psci/psci.coptionalpsci
 dev/psci/psci_arm64.S  optionalpsci
 dev/uart/uart_cpu_fdt.coptionaluart fdt

Copied: head/sys/dev/pci/pci_host_generic.c (from r284318, 
head/sys/dev/pci/pci-host-generic.c)
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/dev/pci/pci_host_generic.c Fri Jun 12 13:54:25 2015
(r284319, copy of r284318, head/sys/dev/pci/pci-host-generic.c)
@@ -0,0 +1,626 @@
+/*-
+ * Copyright (c) 2015 Ruslan Bukin 
+ * Copyright (c) 2014 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Semihalf under
+ * the sponsorship of the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/* Generic ECAM PCIe driver */
+
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "pcib_if.h"
+
+/* Assembling ECAM Configuration Address */
+#definePCIE_BUS_SHIFT  20
+#definePCIE_SLOT_SHIFT 15
+#definePCIE_FUNC_SHIFT 12
+#definePCIE_BUS_MASK   0xFF
+#definePCIE_SLOT_MASK  0x1F
+#definePCIE_FUNC_MASK  0x07
+#definePCIE_REG_MASK   0xFFF
+
+#definePCIE_ADDR_OFFSET(bus, slot, func, reg)  \
+   bus) & PCIE_BUS_MASK) << PCIE_BUS_SHIFT)|   \
+   (((slot) & PCIE_SLOT_MASK) << PCIE_SLOT_SHIFT)  |   \
+   (((func) & PCIE_FUNC_MASK) << PCIE_FUNC_SHIFT)  |   \
+   ((reg) & PCIE_REG_MASK))
+
+#defineMAX_RANGES_TUPLES   5
+#defineMIN_RANGES_TUPLES   2
+
+#definePCI_IO_WINDOW_OFFSET0x1000
+#definePCI_IRQ_START   32
+#definePCI_IRQ_END (PCI_IRQ_START + 4)
+
+#defineSPACE_CODE_SHIFT24
+#defineSPACE_CODE_MASK 0x3
+#defineSPACE_CODE_IO_SPACE 0x1
+#definePROPS_CELL_SIZE 1
+#definePCI_ADDR_CELL_SIZE  2
+
+struct pcie_range {
+   uint64_tpci_base;
+   uint64_tphys_base;
+   uint64_tsize;
+   uint64_tflags;
+#defineFLAG_IO (1 << 0)
+#defineFLAG_MEM(1 << 1)
+};
+
+struct generic_pcie_softc {
+   struct pcie_range   ranges[MAX_RANGES_TUPLES];
+   int nranges;
+   struct rman mem_rman;
+   struct rman io_rman;
+   struct rman

svn commit: r284318 - stable/10/sys/fs/nfsserver

2015-06-12 Thread Rick Macklem
Author: rmacklem
Date: Fri Jun 12 13:42:53 2015
New Revision: 284318
URL: https://svnweb.freebsd.org/changeset/base/284318

Log:
  Add TUNABLE_INT() macros so that the tunables MFC'd from
  head as r284216 are set via /boot/loader.conf in stable/10.
  This is a direct commit to stable/10 because TUNABLE_INT()
  is deprecated in head.

Modified:
  stable/10/sys/fs/nfsserver/nfs_nfsdstate.c

Modified: stable/10/sys/fs/nfsserver/nfs_nfsdstate.c
==
--- stable/10/sys/fs/nfsserver/nfs_nfsdstate.c  Fri Jun 12 13:16:50 2015
(r284317)
+++ stable/10/sys/fs/nfsserver/nfs_nfsdstate.c  Fri Jun 12 13:42:53 2015
(r284318)
@@ -46,26 +46,31 @@ NFSSTATESPINLOCK;
 
 SYSCTL_DECL(_vfs_nfsd);
 intnfsrv_statehashsize = NFSSTATEHASHSIZE;
+TUNABLE_INT("vfs.nfsd.statehashsize", &nfsrv_statehashsize);
 SYSCTL_INT(_vfs_nfsd, OID_AUTO, statehashsize, CTLFLAG_RDTUN,
 &nfsrv_statehashsize, 0,
 "Size of state hash table set via loader.conf");
 
 intnfsrv_clienthashsize = NFSCLIENTHASHSIZE;
+TUNABLE_INT("vfs.nfsd.clienthashsize", &nfsrv_clienthashsize);
 SYSCTL_INT(_vfs_nfsd, OID_AUTO, clienthashsize, CTLFLAG_RDTUN,
 &nfsrv_clienthashsize, 0,
 "Size of client hash table set via loader.conf");
 
 intnfsrv_lockhashsize = NFSLOCKHASHSIZE;
+TUNABLE_INT("vfs.nfsd.fhhashsize", &nfsrv_lockhashsize);
 SYSCTL_INT(_vfs_nfsd, OID_AUTO, fhhashsize, CTLFLAG_RDTUN,
 &nfsrv_lockhashsize, 0,
 "Size of file handle hash table set via loader.conf");
 
 intnfsrv_sessionhashsize = NFSSESSIONHASHSIZE;
+TUNABLE_INT("vfs.nfsd.sessionhashsize", &nfsrv_sessionhashsize);
 SYSCTL_INT(_vfs_nfsd, OID_AUTO, sessionhashsize, CTLFLAG_RDTUN,
 &nfsrv_sessionhashsize, 0,
 "Size of session hash table set via loader.conf");
 
 static int nfsrv_v4statelimit = NFSRV_V4STATELIMIT;
+TUNABLE_INT("vfs.nfsd.v4statelimit", &nfsrv_v4statelimit);
 SYSCTL_INT(_vfs_nfsd, OID_AUTO, v4statelimit, CTLFLAG_RWTUN,
 &nfsrv_v4statelimit, 0,
 "High water limit for NFSv4 opens+locks+delegations");
___
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: r284317 - in head/sys: conf dev/pci

2015-06-12 Thread Ruslan Bukin
Author: br
Date: Fri Jun 12 13:16:50 2015
New Revision: 284317
URL: https://svnweb.freebsd.org/changeset/base/284317

Log:
  Add generic ECAM PCI device driver found in Gem5 simulator.
  Work based on Cavium Thunder PCIe driver by Semihalf.
  
  Reviewed by:  andrew, jhb
  Sponsored by: HEIF5
  Differential Revision:https://reviews.freebsd.org/D2386

Added:
  head/sys/dev/pci/pci-host-generic.c   (contents, props changed)
Modified:
  head/sys/conf/files.arm64

Modified: head/sys/conf/files.arm64
==
--- head/sys/conf/files.arm64   Fri Jun 12 13:15:14 2015(r284316)
+++ head/sys/conf/files.arm64   Fri Jun 12 13:16:50 2015(r284317)
@@ -51,6 +51,7 @@ dev/fdt/fdt_arm64.c   optionalfdt
 dev/hwpmc/hwpmc_arm64.coptionalhwpmc
 dev/hwpmc/hwpmc_arm64_md.c optionalhwpmc
 dev/ofw/ofw_cpu.c  optionalfdt
+dev/pci/pci-host-generic.c optionalpci fdt
 dev/psci/psci.coptionalpsci
 dev/psci/psci_arm64.S  optionalpsci
 dev/uart/uart_cpu_fdt.coptionaluart fdt

Added: head/sys/dev/pci/pci-host-generic.c
==
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/dev/pci/pci-host-generic.c Fri Jun 12 13:16:50 2015
(r284317)
@@ -0,0 +1,626 @@
+/*-
+ * Copyright (c) 2015 Ruslan Bukin 
+ * Copyright (c) 2014 The FreeBSD Foundation
+ * All rights reserved.
+ *
+ * This software was developed by Semihalf under
+ * the sponsorship of the FreeBSD Foundation.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+/* Generic ECAM PCIe driver */
+
+#include 
+__FBSDID("$FreeBSD$");
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#include "pcib_if.h"
+
+/* Assembling ECAM Configuration Address */
+#definePCIE_BUS_SHIFT  20
+#definePCIE_SLOT_SHIFT 15
+#definePCIE_FUNC_SHIFT 12
+#definePCIE_BUS_MASK   0xFF
+#definePCIE_SLOT_MASK  0x1F
+#definePCIE_FUNC_MASK  0x07
+#definePCIE_REG_MASK   0xFFF
+
+#definePCIE_ADDR_OFFSET(bus, slot, func, reg)  \
+   bus) & PCIE_BUS_MASK) << PCIE_BUS_SHIFT)|   \
+   (((slot) & PCIE_SLOT_MASK) << PCIE_SLOT_SHIFT)  |   \
+   (((func) & PCIE_FUNC_MASK) << PCIE_FUNC_SHIFT)  |   \
+   ((reg) & PCIE_REG_MASK))
+
+#defineMAX_RANGES_TUPLES   5
+#defineMIN_RANGES_TUPLES   2
+
+#definePCI_IO_WINDOW_OFFSET0x1000
+#definePCI_IRQ_START   32
+#definePCI_IRQ_END (PCI_IRQ_START + 4)
+
+#defineSPACE_CODE_SHIFT24
+#defineSPACE_CODE_MASK 0x3
+#defineSPACE_CODE_IO_SPACE 0x1
+#definePROPS_CELL_SIZE 1
+#definePCI_ADDR_CELL_SIZE  2
+
+struct pcie_range {
+   uint64_tpci_base;
+   uint64_tphys_base;
+   uint64_tsize;
+   uint64_tflags;
+#defineFLAG_IO (1 << 0)
+#defineFLAG_MEM(1 << 1)
+};
+
+struct generic_pcie_softc {
+   struct pcie_range   ranges[MAX_RANGES_TUPLES];
+   int nranges;
+   struct rman mem_rman;
+   struct rman io_rman;
+   struct rman irq_rman;
+   struct resource *res;
+   struc

svn commit: r284316 - head/sys/dev/drm2/i915

2015-06-12 Thread Gleb Smirnoff
Author: glebius
Date: Fri Jun 12 13:15:14 2015
New Revision: 284316
URL: https://svnweb.freebsd.org/changeset/base/284316

Log:
  A miss from r284310. vm_pager_get_pages() updates the array, so there is
  no need for vm_page_lookup().

Modified:
  head/sys/dev/drm2/i915/i915_gem.c

Modified: head/sys/dev/drm2/i915/i915_gem.c
==
--- head/sys/dev/drm2/i915/i915_gem.c   Fri Jun 12 12:27:10 2015
(r284315)
+++ head/sys/dev/drm2/i915/i915_gem.c   Fri Jun 12 13:15:14 2015
(r284316)
@@ -3175,9 +3175,6 @@ i915_gem_wire_page(vm_object_t object, v
if (m->valid != VM_PAGE_BITS_ALL) {
if (vm_pager_has_page(object, pindex, NULL, NULL)) {
rv = vm_pager_get_pages(object, &m, 1, 0);
-   m = vm_page_lookup(object, pindex);
-   if (m == NULL)
-   return (NULL);
if (rv != VM_PAGER_OK) {
vm_page_lock(m);
vm_page_free(m);
___
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: r284290 - head/sbin/geom/class/multipath

2015-06-12 Thread Christian Brueffer


On 6/12/15 3:21 AM, Fabian Keil wrote:
> Christian Brueffer  wrote:
> 
>> Author: brueffer
>> Date: Thu Jun 11 23:05:49 2015
>> New Revision: 284290
>> URL: https://svnweb.freebsd.org/changeset/base/284290
>>
>> Log:
>>   Improve grammar.
>>   
>>   PR:200673
>>   Submitted by:  Fabian Keil
>>   Obtained from: ElectroBSD
>>
>> Modified:
>>   head/sbin/geom/class/multipath/gmultipath.8
> 
> Thanks for taking care of the PR, Christian.
> 
>> @@ -269,9 +269,9 @@ GEOM class is given an opportunity to ta
>>  If a new
>>  device has a
>>  .Nm MULTIPATH
>> -on-disk metadata label, the device is used to either create a new
>> +on-disk metadata label, the device is either used to create a new
>>  .Nm MULTIPATH
>> -GEOM, or been added the list of paths for an existing
>> +GEOM, or added the list of paths for an existing
>  ^
> Looks like a "to" from the patch didn't make it.
> 

Bah, sorry, will fix!

Chris



signature.asc
Description: OpenPGP digital signature


svn commit: r284315 - head/sys/dev/proto

2015-06-12 Thread Marcel Moolenaar
Author: marcel
Date: Fri Jun 12 12:27:10 2015
New Revision: 284315
URL: https://svnweb.freebsd.org/changeset/base/284315

Log:
  We need to handle 64-bit BARs ourselves to avoid that the
  PCI infrastructure instantiates a non-existent resource.
  This has BARs suddenly show up with pciconf(8) under
  VMware as well.  Now that we read the BAR ourselves, ask
  for the correct resource type.

Modified:
  head/sys/dev/proto/proto_bus_pci.c

Modified: head/sys/dev/proto/proto_bus_pci.c
==
--- head/sys/dev/proto/proto_bus_pci.c  Fri Jun 12 11:52:32 2015
(r284314)
+++ head/sys/dev/proto/proto_bus_pci.c  Fri Jun 12 12:27:10 2015
(r284315)
@@ -82,6 +82,7 @@ proto_pci_attach(device_t dev)
 {
struct proto_softc *sc;
struct resource *res;
+   uint32_t val;
int bar, rid, type;
 
sc = device_get_softc(dev);
@@ -91,15 +92,17 @@ proto_pci_attach(device_t dev)
 
for (bar = 0; bar < PCIR_MAX_BAR_0; bar++) {
rid = PCIR_BAR(bar);
-   type = SYS_RES_MEMORY;
+   val = pci_read_config(dev, rid, 4);
+   type = (PCI_BAR_IO(val)) ? SYS_RES_IOPORT : SYS_RES_MEMORY;
res = bus_alloc_resource_any(dev, type, &rid, RF_ACTIVE);
-   if (res == NULL) {
-   type = SYS_RES_IOPORT;
-   res = bus_alloc_resource_any(dev, type, &rid,
-   RF_ACTIVE);
-   }
-   if (res != NULL)
-   proto_add_resource(sc, type, rid, res);
+   if (res == NULL)
+   continue;
+   proto_add_resource(sc, type, rid, res);
+   if (type == SYS_RES_IOPORT)
+   continue;
+   /* Skip over adjacent BAR for 64-bit memory BARs. */
+   if ((val & PCIM_BAR_MEM_TYPE) == PCIM_BAR_MEM_64)
+   bar++;
}
 
rid = 0;
___
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: r284314 - stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 11:52:32 2015
New Revision: 284314
URL: https://svnweb.freebsd.org/changeset/base/284314

Log:
  MFC r283525: zfs: fixes for a full stream received into an existing dataset

Modified:
  stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/cddl/contrib/opensolaris/   (props changed)

Modified: stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
==
--- stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c  Fri Jun 
12 11:49:05 2015(r284313)
+++ stable/9/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c  Fri Jun 
12 11:52:32 2015(r284314)
@@ -858,10 +858,12 @@ recv_begin_check_existing_impl(dmu_recv_
 
dsl_dataset_rele(snap, FTAG);
} else {
-   /* if full, most recent snapshot must be $ORIGIN */
-   if (ds->ds_phys->ds_prev_snap_txg >= TXG_INITIAL)
-   return (SET_ERROR(ENODEV));
-   drba->drba_snapobj = ds->ds_phys->ds_prev_snap_obj;
+   /* if full, then must be forced */
+   if (!drba->drba_cookie->drc_force)
+   return (SET_ERROR(EEXIST));
+   /* start from $ORIGIN@$ORIGIN, if supported */
+   drba->drba_snapobj = dp->dp_origin_snap != NULL ?
+   dp->dp_origin_snap->ds_object : 0;
}
 
return (0);
___
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: r284313 - stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 11:49:05 2015
New Revision: 284313
URL: https://svnweb.freebsd.org/changeset/base/284313

Log:
  MFC r283525: zfs: fixes for a full stream received into an existing dataset

Modified:
  stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
==
--- stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Fri Jun 
12 11:41:47 2015(r284312)
+++ stable/10/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c Fri Jun 
12 11:49:05 2015(r284313)
@@ -983,10 +983,12 @@ recv_begin_check_existing_impl(dmu_recv_
 
dsl_dataset_rele(snap, FTAG);
} else {
-   /* if full, most recent snapshot must be $ORIGIN */
-   if (dsl_dataset_phys(ds)->ds_prev_snap_txg >= TXG_INITIAL)
-   return (SET_ERROR(ENODEV));
-   drba->drba_snapobj = dsl_dataset_phys(ds)->ds_prev_snap_obj;
+   /* if full, then must be forced */
+   if (!drba->drba_cookie->drc_force)
+   return (SET_ERROR(EEXIST));
+   /* start from $ORIGIN@$ORIGIN, if supported */
+   drba->drba_snapobj = dp->dp_origin_snap != NULL ?
+   dp->dp_origin_snap->ds_object : 0;
}
 
return (0);
___
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: r284311 - stable/10/sys/boot/userboot/userboot

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 11:41:33 2015
New Revision: 284311
URL: https://svnweb.freebsd.org/changeset/base/284311

Log:
  MFC r283939: userboot: enable bzipfs support

Modified:
  stable/10/sys/boot/userboot/userboot/conf.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/boot/userboot/userboot/conf.c
==
--- stable/10/sys/boot/userboot/userboot/conf.c Fri Jun 12 11:32:20 2015
(r284310)
+++ stable/10/sys/boot/userboot/userboot/conf.c Fri Jun 12 11:41:33 2015
(r284311)
@@ -65,10 +65,11 @@ struct fs_ops *file_system[] = {
&host_fsops,
&ufs_fsops,
&cd9660_fsops,
-   &gzipfs_fsops,
 #if defined(USERBOOT_ZFS_SUPPORT)
&zfs_fsops,
 #endif
+   &gzipfs_fsops,
+   &bzipfs_fsops,
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: r284312 - stable/9/sys/boot/userboot/userboot

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 11:41:47 2015
New Revision: 284312
URL: https://svnweb.freebsd.org/changeset/base/284312

Log:
  MFC r283939: userboot: enable bzipfs support

Modified:
  stable/9/sys/boot/userboot/userboot/conf.c
Directory Properties:
  stable/9/sys/   (props changed)
  stable/9/sys/boot/   (props changed)

Modified: stable/9/sys/boot/userboot/userboot/conf.c
==
--- stable/9/sys/boot/userboot/userboot/conf.c  Fri Jun 12 11:41:33 2015
(r284311)
+++ stable/9/sys/boot/userboot/userboot/conf.c  Fri Jun 12 11:41:47 2015
(r284312)
@@ -58,6 +58,7 @@ struct fs_ops *file_system[] = {
&host_fsops,
&ufs_fsops,
&gzipfs_fsops,
+   &bzipfs_fsops,
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: r284310 - in head/sys: fs/tmpfs kern vm

2015-06-12 Thread Gleb Smirnoff
Author: glebius
Date: Fri Jun 12 11:32:20 2015
New Revision: 284310
URL: https://svnweb.freebsd.org/changeset/base/284310

Log:
  Make KPI of vm_pager_get_pages() more strict: if a pager changes a page
  in the requested array, then it is responsible for disposition of previous
  page and is responsible for updating the entry in the requested array.
  Now consumers of KPI do not need to re-lookup the pages after call to
  vm_pager_get_pages().
  
  Reviewed by:  kib
  Sponsored by: Netflix
  Sponsored by: Nginx, Inc.

Modified:
  head/sys/fs/tmpfs/tmpfs_subr.c
  head/sys/kern/kern_exec.c
  head/sys/kern/uipc_shm.c
  head/sys/kern/uipc_syscalls.c
  head/sys/vm/vm_fault.c
  head/sys/vm/vm_glue.c
  head/sys/vm/vm_object.c

Modified: head/sys/fs/tmpfs/tmpfs_subr.c
==
--- head/sys/fs/tmpfs/tmpfs_subr.c  Fri Jun 12 11:21:35 2015
(r284309)
+++ head/sys/fs/tmpfs/tmpfs_subr.c  Fri Jun 12 11:32:20 2015
(r284310)
@@ -1320,7 +1320,7 @@ tmpfs_reg_resize(struct vnode *vp, off_t
struct tmpfs_mount *tmp;
struct tmpfs_node *node;
vm_object_t uobj;
-   vm_page_t m, ma[1];
+   vm_page_t m;
vm_pindex_t idx, newpages, oldpages;
off_t oldsize;
int base, rv;
@@ -1367,11 +1367,9 @@ retry:
VM_WAIT;
VM_OBJECT_WLOCK(uobj);
goto retry;
-   } else if (m->valid != VM_PAGE_BITS_ALL) {
-   ma[0] = m;
-   rv = vm_pager_get_pages(uobj, ma, 1, 0);
-   m = vm_page_lookup(uobj, idx);
-   } else
+   } else if (m->valid != VM_PAGE_BITS_ALL)
+   rv = vm_pager_get_pages(uobj, &m, 1, 0);
+   else
/* A cached page was reactivated. */
rv = VM_PAGER_OK;
vm_page_lock(m);

Modified: head/sys/kern/kern_exec.c
==
--- head/sys/kern/kern_exec.c   Fri Jun 12 11:21:35 2015(r284309)
+++ head/sys/kern/kern_exec.c   Fri Jun 12 11:32:20 2015(r284310)
@@ -966,13 +966,10 @@ exec_map_first_page(imgp)
}
initial_pagein = i;
rv = vm_pager_get_pages(object, ma, initial_pagein, 0);
-   ma[0] = vm_page_lookup(object, 0);
-   if ((rv != VM_PAGER_OK) || (ma[0] == NULL)) {
-   if (ma[0] != NULL) {
-   vm_page_lock(ma[0]);
-   vm_page_free(ma[0]);
-   vm_page_unlock(ma[0]);
-   }
+   if (rv != VM_PAGER_OK) {
+   vm_page_lock(ma[0]);
+   vm_page_free(ma[0]);
+   vm_page_unlock(ma[0]);
VM_OBJECT_WUNLOCK(object);
return (EIO);
}

Modified: head/sys/kern/uipc_shm.c
==
--- head/sys/kern/uipc_shm.cFri Jun 12 11:21:35 2015(r284309)
+++ head/sys/kern/uipc_shm.cFri Jun 12 11:32:20 2015(r284310)
@@ -189,14 +189,6 @@ uiomove_object_page(vm_object_t obj, siz
if (m->valid != VM_PAGE_BITS_ALL) {
if (vm_pager_has_page(obj, idx, NULL, NULL)) {
rv = vm_pager_get_pages(obj, &m, 1, 0);
-   m = vm_page_lookup(obj, idx);
-   if (m == NULL) {
-   printf(
-   "uiomove_object: vm_obj %p idx %jd null lookup rv %d\n",
-   obj, idx, rv);
-   VM_OBJECT_WUNLOCK(obj);
-   return (EIO);
-   }
if (rv != VM_PAGER_OK) {
printf(
"uiomove_object: vm_obj %p idx %jd valid %x pager error %d\n",
@@ -423,7 +415,7 @@ static int
 shm_dotruncate(struct shmfd *shmfd, off_t length)
 {
vm_object_t object;
-   vm_page_t m, ma[1];
+   vm_page_t m;
vm_pindex_t idx, nobjsize;
vm_ooffset_t delta;
int base, rv;
@@ -465,12 +457,10 @@ retry:
VM_WAIT;
VM_OBJECT_WLOCK(object);
goto retry;
-   } else if (m->valid != VM_PAGE_BITS_ALL) {
-   ma[0] = m;
-   rv = vm_pager_get_pages(object, ma, 1,
+   } els

svn commit: r284309 - head/cddl/contrib/opensolaris/cmd/zfs

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 11:21:35 2015
New Revision: 284309
URL: https://svnweb.freebsd.org/changeset/base/284309

Log:
  zfs clone should not mount the clone if canmount == noauto
  
  Creation of a new filesystem does not imply an intent to mount it.
  
  Since canmount property is not inherited and its default value is 'on',
  the only scenario where this matters is zfs clone -o canmount=noauto.
  zfs create -o canmount=noauto already does not mount the new filesystem.
  
  Also see:
  https://www.illumos.org/issues/5984
  https://reviews.csiden.org/r/228/
  
https://github.com/FransUrbo/zfs/commit/dd0e0e69f5b1c83bf2895ac00a0b83af77473175
  https://github.com/zfsonlinux/zfs/issues/2241
  
  Reviewed by:  mahrens
  MFC after:8 days
  Sponsored by: ClusterHQ

Modified:
  head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c

Modified: head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
==
--- head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.cFri Jun 12 11:16:43 
2015(r284308)
+++ head/cddl/contrib/opensolaris/cmd/zfs/zfs_main.cFri Jun 12 11:21:35 
2015(r284309)
@@ -593,6 +593,17 @@ finish_progress(char *done)
 }
 
 /*
+ * Check if the dataset is mountable and should be automatically mounted.
+ */
+static boolean_t
+should_auto_mount(zfs_handle_t *zhp)
+{
+   if (!zfs_prop_valid_for_type(ZFS_PROP_CANMOUNT, zfs_get_type(zhp)))
+   return (B_FALSE);
+   return (zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT) == ZFS_CANMOUNT_ON);
+}
+
+/*
  * zfs clone [-p] [-o prop=value] ...  
  *
  * Given an existing dataset, create a writable copy whose initial contents
@@ -677,9 +688,22 @@ zfs_do_clone(int argc, char **argv)
 
clone = zfs_open(g_zfs, argv[1], ZFS_TYPE_DATASET);
if (clone != NULL) {
-   if (zfs_get_type(clone) != ZFS_TYPE_VOLUME)
-   if ((ret = zfs_mount(clone, NULL, 0)) == 0)
-   ret = zfs_share(clone);
+   /*
+* If the user doesn't want the dataset
+* automatically mounted, then skip the mount/share
+* step.
+*/
+   if (should_auto_mount(clone)) {
+   if ((ret = zfs_mount(clone, NULL, 0)) != 0) {
+   (void) fprintf(stderr, gettext("clone "
+   "successfully created, "
+   "but not mounted\n"));
+   } else if ((ret = zfs_share(clone)) != 0) {
+   (void) fprintf(stderr, gettext("clone "
+   "successfully created, "
+   "but not shared\n"));
+   }
+   }
zfs_close(clone);
}
}
@@ -728,7 +752,6 @@ zfs_do_create(int argc, char **argv)
int ret = 1;
nvlist_t *props;
uint64_t intval;
-   int canmount = ZFS_CANMOUNT_OFF;
 
if (nvlist_alloc(&props, NV_UNIQUE_NAME, 0) != 0)
nomem();
@@ -868,19 +891,15 @@ zfs_do_create(int argc, char **argv)
goto error;
 
ret = 0;
-   /*
-* if the user doesn't want the dataset automatically mounted,
-* then skip the mount/share step
-*/
-   if (zfs_prop_valid_for_type(ZFS_PROP_CANMOUNT, type))
-   canmount = zfs_prop_get_int(zhp, ZFS_PROP_CANMOUNT);
 
/*
 * Mount and/or share the new filesystem as appropriate.  We provide a
 * verbose error message to let the user know that their filesystem was
 * in fact created, even if we failed to mount or share it.
+* If the user doesn't want the dataset automatically mounted,
+* then skip the mount/share step altogether.
 */
-   if (!nomount && canmount == ZFS_CANMOUNT_ON) {
+   if (!nomount && should_auto_mount(zhp)) {
if (zfs_mount(zhp, NULL, 0) != 0) {
(void) fprintf(stderr, gettext("filesystem "
"successfully created, but not mounted\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"


svn commit: r284308 - head/cddl/contrib/opensolaris/lib/libzfs/common

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 11:16:43 2015
New Revision: 284308
URL: https://svnweb.freebsd.org/changeset/base/284308

Log:
  MFV r284042: 1778 Assertion failed: rn->rn_nozpool == B_FALSE, file
  ../common/libzfs_import.c, line 1077, function zpool_open_func
  
  illumos/illumos-gate@bd0f709169e67f4bd34526e186a7c34f595f0d9b
  
  Author:   Andrew Stormont 
  MFC after:13 days

Modified:
  head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
Directory Properties:
  head/cddl/contrib/opensolaris/   (props changed)
  head/cddl/contrib/opensolaris/lib/libzfs/   (props changed)

Modified: head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
==
--- head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Fri Jun 
12 11:14:08 2015(r284307)
+++ head/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c Fri Jun 
12 11:16:43 2015(r284308)
@@ -23,6 +23,7 @@
  * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Copyright (c) 2013 by Delphix. All rights reserved.
+ * Copyright 2015 RackTop Systems.
  */
 
 /*
@@ -1094,11 +1095,7 @@ zpool_open_func(void *arg)
}
(void) close(fd);
 
-
rn->rn_config = config;
-   if (config != NULL) {
-   assert(rn->rn_nozpool == B_FALSE);
-   }
 }
 
 /*
___
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: r284307 - head/cddl/contrib/opensolaris

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 11:14:08 2015
New Revision: 284307
URL: https://svnweb.freebsd.org/changeset/base/284307

Log:
  MFV r284035: 5669 altroot not set in zpool create when specified with -o
  
  illumos/illumos-gate@c423721f9bcd45c2409ef7b73fc103ac2889f9e9
  
  This is a record-only commit, the change is: r279366

Modified:
Directory Properties:
  head/cddl/contrib/opensolaris/   (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"


svn commit: r284306 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 11:10:49 2015
New Revision: 284306
URL: https://svnweb.freebsd.org/changeset/base/284306

Log:
  MFV r284036: 5961 Fix stack overflow in zfs_create_fs
  
  illumos/illumos-gate@c701fde6911c957e71b37aac4daf672bd828f4d7
  
  Author:   glebius
  MFC after:11 days

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (props changed)

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Fri Jun 
12 10:59:50 2015(r284305)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c Fri Jun 
12 11:10:49 2015(r284306)
@@ -1797,7 +1797,6 @@ log:
 void
 zfs_create_fs(objset_t *os, cred_t *cr, nvlist_t *zplprops, dmu_tx_t *tx)
 {
-   zfsvfs_tzfsvfs;
uint64_tmoid, obj, sa_obj, version;
uint64_tsense = ZFS_CASE_SENSITIVE;
uint64_tnorm = 0;
@@ -1805,6 +1804,7 @@ zfs_create_fs(objset_t *os, cred_t *cr, 
int error;
int i;
znode_t *rootzp = NULL;
+   zfsvfs_t*zfsvfs;
vattr_t vattr;
znode_t *zp;
zfs_acl_ids_t   acl_ids;
@@ -1880,7 +1880,7 @@ zfs_create_fs(objset_t *os, cred_t *cr, 
vattr.va_uid = crgetuid(cr);
vattr.va_gid = crgetgid(cr);
 
-   bzero(&zfsvfs, sizeof (zfsvfs_t));
+   zfsvfs = kmem_zalloc(sizeof (zfsvfs_t), KM_SLEEP);
 
rootzp = kmem_cache_alloc(znode_cache, KM_SLEEP);
ASSERT(!POINTER_IS_VALID(rootzp->z_zfsvfs));
@@ -1889,15 +1889,15 @@ zfs_create_fs(objset_t *os, cred_t *cr, 
rootzp->z_atime_dirty = 0;
rootzp->z_is_sa = USE_SA(version, os);
 
-   zfsvfs.z_os = os;
-   zfsvfs.z_parent = &zfsvfs;
-   zfsvfs.z_version = version;
-   zfsvfs.z_use_fuids = USE_FUIDS(version, os);
-   zfsvfs.z_use_sa = USE_SA(version, os);
-   zfsvfs.z_norm = norm;
+   zfsvfs->z_os = os;
+   zfsvfs->z_parent = zfsvfs;
+   zfsvfs->z_version = version;
+   zfsvfs->z_use_fuids = USE_FUIDS(version, os);
+   zfsvfs->z_use_sa = USE_SA(version, os);
+   zfsvfs->z_norm = norm;
 
error = sa_setup(os, sa_obj, zfs_attr_table, ZPL_END,
-   &zfsvfs.z_attr_table);
+   &zfsvfs->z_attr_table);
 
ASSERT(error == 0);
 
@@ -1906,16 +1906,16 @@ zfs_create_fs(objset_t *os, cred_t *cr, 
 * insensitive.
 */
if (sense == ZFS_CASE_INSENSITIVE || sense == ZFS_CASE_MIXED)
-   zfsvfs.z_norm |= U8_TEXTPREP_TOUPPER;
+   zfsvfs->z_norm |= U8_TEXTPREP_TOUPPER;
 
-   mutex_init(&zfsvfs.z_znodes_lock, NULL, MUTEX_DEFAULT, NULL);
-   list_create(&zfsvfs.z_all_znodes, sizeof (znode_t),
+   mutex_init(&zfsvfs->z_znodes_lock, NULL, MUTEX_DEFAULT, NULL);
+   list_create(&zfsvfs->z_all_znodes, sizeof (znode_t),
offsetof(znode_t, z_link_node));
 
for (i = 0; i != ZFS_OBJ_MTX_SZ; i++)
-   mutex_init(&zfsvfs.z_hold_mtx[i], NULL, MUTEX_DEFAULT, NULL);
+   mutex_init(&zfsvfs->z_hold_mtx[i], NULL, MUTEX_DEFAULT, NULL);
 
-   rootzp->z_zfsvfs = &zfsvfs;
+   rootzp->z_zfsvfs = zfsvfs;
VERIFY(0 == zfs_acl_ids_create(rootzp, IS_ROOT_NODE, &vattr,
cr, NULL, &acl_ids));
zfs_mknode(rootzp, &vattr, tx, cr, IS_ROOT_NODE, &zp, &acl_ids);
@@ -1932,12 +1932,13 @@ zfs_create_fs(objset_t *os, cred_t *cr, 
 * Create shares directory
 */
 
-   error = zfs_create_share_dir(&zfsvfs, tx);
+   error = zfs_create_share_dir(zfsvfs, tx);
 
ASSERT(error == 0);
 
for (i = 0; i != ZFS_OBJ_MTX_SZ; i++)
-   mutex_destroy(&zfsvfs.z_hold_mtx[i]);
+   mutex_destroy(&zfsvfs->z_hold_mtx[i]);
+   kmem_free(zfsvfs, sizeof (zfsvfs_t));
 }
 
 #endif /* _KERNEL */
___
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: r284305 - head/sys/cddl/contrib/opensolaris

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 10:59:50 2015
New Revision: 284305
URL: https://svnweb.freebsd.org/changeset/base/284305

Log:
  MFV r284033: 5438 zfs_blkptr_verify should continue after zfs_panic_recover
  
  illumos/illumos-gate@5897eb49ccde82d19214b71984f57935e7e313d1
  
  This is a record-only commit, the change is in r275923.

Modified:
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (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"


svn commit: r284304 - in head: cddl/contrib/opensolaris/cmd/ztest sys/cddl/contrib/opensolaris/uts/common/fs/zfs sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 10:57:05 2015
New Revision: 284304
URL: https://svnweb.freebsd.org/changeset/base/284304

Log:
  MFV r284030: 5818 zfs {ref}compressratio is incorrect with 4k sector size
  
  illumos/illumos-gate@81cd5c555f505484180a62ca5a2fbb00d70c57d6
  
  Author:   Matthew Ahrens 
  MFC after:17 days

Modified:
  head/cddl/contrib/opensolaris/cmd/ztest/ztest.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
Directory Properties:
  head/cddl/contrib/opensolaris/   (props changed)
  head/sys/cddl/contrib/opensolaris/   (props changed)

Modified: head/cddl/contrib/opensolaris/cmd/ztest/ztest.c
==
--- head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Fri Jun 12 10:52:53 
2015(r284303)
+++ head/cddl/contrib/opensolaris/cmd/ztest/ztest.c Fri Jun 12 10:57:05 
2015(r284304)
@@ -20,7 +20,7 @@
  */
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  * Copyright (c) 2012 Martin Matuska .  All rights reserved.
  * Copyright (c) 2013 Steven Hartland. All rights reserved.
@@ -969,21 +969,6 @@ ztest_random_spa_version(uint64_t initia
return (version);
 }
 
-/*
- * Find the largest ashift used
- */
-static uint64_t
-ztest_spa_get_ashift() {
-   uint64_t i;
-   uint64_t ashift = SPA_MINBLOCKSHIFT;
-   vdev_t *rvd = ztest_spa->spa_root_vdev;
-
-   for (i = 0; i < rvd->vdev_children; i++) {
-   ashift = MAX(ashift, rvd->vdev_child[i]->vdev_ashift);
-   }
-   return (ashift);
-}
-
 static int
 ztest_random_blocksize(void)
 {
@@ -995,7 +980,7 @@ ztest_random_blocksize(void)
int maxbs = SPA_OLD_MAXBLOCKSHIFT;
if (spa_maxblocksize(ztest_spa) == SPA_MAXBLOCKSIZE)
maxbs = 20;
-   block_shift = ztest_random(maxbs - ztest_spa_get_ashift() + 1);
+   block_shift = ztest_random(maxbs - ztest_spa->spa_max_ashift + 1);
return (1 << (SPA_MINBLOCKSHIFT + block_shift));
 }
 

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c   Fri Jun 12 
10:52:53 2015(r284303)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c   Fri Jun 12 
10:57:05 2015(r284304)
@@ -2256,6 +2256,8 @@ spa_load_impl(spa_t *spa, uint64_t pool_
return (error);
 
ASSERT(spa->spa_root_vdev == rvd);
+   ASSERT3U(spa->spa_min_ashift, >=, SPA_MINBLOCKSHIFT);
+   ASSERT3U(spa->spa_max_ashift, <=, SPA_MAXBLOCKSHIFT);
 
if (type != SPA_IMPORT_ASSEMBLE) {
ASSERT(spa_guid(spa) == pool_guid);

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c  Fri Jun 
12 10:52:53 2015(r284303)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c  Fri Jun 
12 10:57:05 2015(r284304)
@@ -20,7 +20,7 @@
  */
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
  * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
  * Copyright 2013 Martin Matuska . All rights reserved.
  */
@@ -719,6 +719,9 @@ spa_add(const char *name, nvlist_t *conf
 
spa->spa_debug = ((zfs_flags & ZFS_DEBUG_SPA) != 0);
 
+   spa->spa_min_ashift = INT_MAX;
+   spa->spa_max_ashift = 0;
+
/*
 * As a pool is being created, treat all features as disabled by
 * setting SPA_FEATURE_DISABLED for all entries in the feature

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h  Fri Jun 
12 10:52:53 2015(r284303)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h  Fri Jun 
12 10:57:05 2015(r284304)
@@ -20,7 +20,7 @@
  */
 /*
  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
  * Copyright 2011

svn commit: r284303 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 10:52:53 2015
New Revision: 284303
URL: https://svnweb.freebsd.org/changeset/base/284303

Log:
  MFV r283534: 5515 dataset user hold doesn't reject empty tags
  
  illumos/illumos-gate@752fd8dabccac68d6d09f82f3bf3561e055e400b
  
  Author:   Josef 'Jeff' Sipek 
  MFC after:10 days

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (props changed)

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri Jun 
12 10:50:31 2015(r284302)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri Jun 
12 10:52:53 2015(r284303)
@@ -25,12 +25,11 @@
  * All rights reserved.
  * Copyright 2013 Martin Matuska . All rights reserved.
  * Copyright 2014 Xin Li . All rights reserved.
- * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
+ * Copyright 2015 Nexenta Systems, Inc.  All rights reserved.
  * Copyright (c) 2014, Joyent, Inc. All rights reserved.
  * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
  * Copyright (c) 2013 by Saso Kiselkov. All rights reserved.
  * Copyright (c) 2013 Steven Hartland. All rights reserved.
- * Copyright (c) 2014, Nexenta Systems, Inc. All rights reserved.
  */
 
 /*
@@ -5240,6 +5239,7 @@ zfs_ioc_smb_acl(zfs_cmd_t *zc)
 static int
 zfs_ioc_hold(const char *pool, nvlist_t *args, nvlist_t *errlist)
 {
+   nvpair_t *pair;
nvlist_t *holds;
int cleanup_fd = -1;
int error;
@@ -5249,6 +5249,19 @@ zfs_ioc_hold(const char *pool, nvlist_t 
if (error != 0)
return (SET_ERROR(EINVAL));
 
+   /* make sure the user didn't pass us any invalid (empty) tags */
+   for (pair = nvlist_next_nvpair(holds, NULL); pair != NULL;
+   pair = nvlist_next_nvpair(holds, pair)) {
+   char *htag;
+
+   error = nvpair_value_string(pair, &htag);
+   if (error != 0)
+   return (SET_ERROR(error));
+
+   if (strlen(htag) == 0)
+   return (SET_ERROR(EINVAL));
+   }
+
if (nvlist_lookup_int32(args, "cleanup_fd", &cleanup_fd) == 0) {
error = zfs_onexit_fd_hold(cleanup_fd, &minor);
if (error != 0)
___
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: r284302 - vendor-sys/illumos/dist/uts/common/fs/zfs

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 10:50:31 2015
New Revision: 284302
URL: https://svnweb.freebsd.org/changeset/base/284302

Log:
  Revert r284031: the change was already imported in r283534

Modified:
  vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c
==
--- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c   Fri Jun 12 
10:41:24 2015(r284301)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_ioctl.c   Fri Jun 12 
10:50:31 2015(r284302)
@@ -5132,19 +5132,6 @@ zfs_ioc_hold(const char *pool, nvlist_t 
return (SET_ERROR(EINVAL));
}
 
-   /* make sure the user didn't pass us any invalid (empty) tags */
-   for (pair = nvlist_next_nvpair(holds, NULL); pair != NULL;
-   pair = nvlist_next_nvpair(holds, pair)) {
-   char *htag;
-
-   error = nvpair_value_string(pair, &htag);
-   if (error != 0)
-   return (SET_ERROR(error));
-
-   if (strlen(htag) == 0)
-   return (SET_ERROR(EINVAL));
-   }
-
if (nvlist_lookup_int32(args, "cleanup_fd", &cleanup_fd) == 0) {
error = zfs_onexit_fd_hold(cleanup_fd, &minor);
if (error != 0)
___
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: r284301 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 10:41:24 2015
New Revision: 284301
URL: https://svnweb.freebsd.org/changeset/base/284301

Log:
  MFV r284040: check that datasets are snapshots
  
  5946 zfs_ioc_space_snaps must check that firstsnap and lastsnap refer to 
snapshots
  5945 zfs_ioc_send_space must ensure that fromsnap refers to a snapshot
  Reviewed by: Steven Hartland 
  Reviewed by: Matthew Ahrens 
  Approved by: Gordon Ross 
  
  illumos/illumos-gate@24218bebb460e4015fac2c9f2cec1902eddbcd7b
  
  Note that the upstream commit is modified during MFV: in the upstream
  the check is done by inspecting ds_is_snapshot field while in FreeBSD
  we call dsl_dataset_is_snapshot().
  This is because illumos/illumos-gate@bc9014e6a81272073b9854d9f65dd59e18d18c35
  (r277428 in vendor-sys/illumos) is not MFV-ed yet.
  
  MFC after:10 days

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (props changed)

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c  Fri Jun 
12 10:25:35 2015(r284300)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c  Fri Jun 
12 10:41:24 2015(r284301)
@@ -855,6 +855,10 @@ dmu_send_estimate(dsl_dataset_t *ds, dsl
if (!dsl_dataset_is_snapshot(ds))
return (SET_ERROR(EINVAL));
 
+   /* fromsnap, if provided, must be a snapshot */
+   if (fromds != NULL && !dsl_dataset_is_snapshot(fromds))
+   return (SET_ERROR(EINVAL));
+
/*
 * fromsnap must be an earlier snapshot from the same fs as tosnap,
 * or the origin's fs.

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
==
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri Jun 
12 10:25:35 2015(r284300)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c Fri Jun 
12 10:41:24 2015(r284301)
@@ -5362,11 +5362,19 @@ zfs_ioc_space_snaps(const char *lastsnap
return (error);
 
error = dsl_dataset_hold(dp, lastsnap, FTAG, &new);
+   if (error == 0 && !dsl_dataset_is_snapshot(new)) {
+   dsl_dataset_rele(new, FTAG);
+   error = SET_ERROR(EINVAL);
+   }
if (error != 0) {
dsl_pool_rele(dp, FTAG);
return (error);
}
error = dsl_dataset_hold(dp, firstsnap, FTAG, &old);
+   if (error == 0 && !dsl_dataset_is_snapshot(old)) {
+   dsl_dataset_rele(old, FTAG);
+   error = SET_ERROR(EINVAL);
+   }
if (error != 0) {
dsl_dataset_rele(new, FTAG);
dsl_pool_rele(dp, FTAG);
___
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: r284300 - head/sys/cddl/contrib/opensolaris

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 10:25:35 2015
New Revision: 284300
URL: https://svnweb.freebsd.org/changeset/base/284300

Log:
  MFV r284039: 5909 ensure that shared snap names don't become too long
  after promotion
  
  illumos/illumos-gate@cb5842f8b0caaad0ed53535bd77042e933fdbafe
  
  This is a record-only commit, the change is already in FreeBSD: r283524

Modified:
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (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"


svn commit: r284299 - head/sys/cddl/contrib/opensolaris

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 10:11:25 2015
New Revision: 284299
URL: https://svnweb.freebsd.org/changeset/base/284299

Log:
  MFV r284038: 5870 dmu_recv_end_check() leaks origin_head hold if error
  happens in drc_force branch
  
  illumos/illumos-gate@beddaa9ce797b9deaafc22b4f156d23f9b45c32d
  
  This is a record-only commit, the change is already in FreeBSD: r282473

Modified:
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (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"


svn commit: r284298 - head/sys/cddl/contrib/opensolaris

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 10:08:29 2015
New Revision: 284298
URL: https://svnweb.freebsd.org/changeset/base/284298

Log:
  MFV r284037: 5912 full stream can not be force-received into a dataset
  if it has a snapshot
  
  illumos/illumos-gate@5bae108fe2364722de3aa86e04966a0d33fd027a
  
  This is a record only commit, the change is already in FreeBSD: r283525

Modified:
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (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"


svn commit: r284297 - in head: cddl/contrib/opensolaris/cmd/lockstat sys/kern sys/sys

2015-06-12 Thread Andriy Gapon
Author: avg
Date: Fri Jun 12 10:01:24 2015
New Revision: 284297
URL: https://svnweb.freebsd.org/changeset/base/284297

Log:
  several lockstat improvements
  
  0. For spin events report time spent spinning, not a loop count.
  While loop count is much easier and cheaper to obtain it is hard
  to reason about the reported numbers, espcially for adaptive locks
  where both spinning and sleeping can happen.
  So, it's better to compare apples and apples.
  
  1. Teach lockstat about FreeBSD rw locks.
  This is done in part by changing the corresponding probes
  and in part by changing what probes lockstat should expect.
  
  2. Teach lockstat that rw locks are adaptive and can spin on FreeBSD.
  
  3. Report lock acquisition events for successful rw try-lock operations.
  
  4. Teach lockstat about FreeBSD sx locks.
  Reporting of events for those locks completely mirrors
  rw locks.
  
  5. Report spin and block events before acquisition event.
  This is behavior documented for the upstream, so it makes sense to stick
  to it.  Note that because of FreeBSD adaptive lock implementations
  both the spin and block events may be reported for the same acquisition
  while the upstream reports only one of them.
  
  Differential Revision:https://reviews.freebsd.org/D2727
  Reviewed by:  markj
  MFC after:17 days
  Relnotes: yes
  Sponsored by: ClusterHQ

Modified:
  head/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c
  head/sys/kern/kern_mutex.c
  head/sys/kern/kern_rwlock.c
  head/sys/kern/kern_sx.c
  head/sys/sys/lockstat.h

Modified: head/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c
==
--- head/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c   Fri Jun 12 
07:50:34 2015(r284296)
+++ head/cddl/contrib/opensolaris/cmd/lockstat/lockstat.c   Fri Jun 12 
10:01:24 2015(r284297)
@@ -157,14 +157,22 @@ static ls_event_info_t g_event_info[LS_M
"lockstat:::rw-block", "arg2 != 0 && arg3 == 1" },
{ 'C',  "Lock", "R/W reader blocked by write wanted",   "nsec",
"lockstat:::rw-block", "arg2 != 0 && arg3 == 0 && arg4" },
-   { 'C',  "Lock", "Unknown event (type 8)",   "units" },
-   { 'C',  "Lock", "Unknown event (type 9)",   "units" },
-   { 'C',  "Lock", "Unknown event (type 10)",  "units" },
-   { 'C',  "Lock", "Unknown event (type 11)",  "units" },
-   { 'C',  "Lock", "Unknown event (type 12)",  "units" },
-   { 'C',  "Lock", "Unknown event (type 13)",  "units" },
-   { 'C',  "Lock", "Unknown event (type 14)",  "units" },
-   { 'C',  "Lock", "Unknown event (type 15)",  "units" },
+   { 'C',  "Lock", "R/W writer spin on writer","nsec",
+   "lockstat:::rw-spin", "arg2 == 0 && arg3 == 1" },
+   { 'C',  "Lock", "R/W writer spin on readers",   "nsec",
+   "lockstat:::rw-spin", "arg2 == 0 && arg3 == 0 && arg4" },
+   { 'C',  "Lock", "R/W reader spin on writer","nsec",
+   "lockstat:::rw-spin", "arg2 != 0 && arg3 == 1" },
+   { 'C',  "Lock", "R/W reader spin on write wanted",  "nsec",
+   "lockstat:::rw-spin", "arg2 != 0 && arg3 == 0 && arg4" },
+   { 'C',  "Lock", "SX exclusive block",   "nsec",
+   "lockstat:::sx-block", "arg2 == 0" },
+   { 'C',  "Lock", "SX shared block",  "nsec",
+   "lockstat:::sx-block", "arg2 != 0" },
+   { 'C',  "Lock", "SX exclusive spin","nsec",
+   "lockstat:::sx-spin", "arg2 == 0" },
+   { 'C',  "Lock", "SX shared spin",   "nsec",
+   "lockstat:::sx-spin", "arg2 != 0" },
{ 'C',  "Lock", "Unknown event (type 16)",  "units" },
{ 'C',  "Lock", "Unknown event (type 17)",  "units" },
{ 'C',  "Lock", "Unknown event (type 18)",  "units" },
@@ -188,13 +196,17 @@ static ls_event_info_t g_event_info[LS_M
"lockstat:::spin-release", NULL,
"lockstat:::spin-acquire" },
{ 'H',  "Lock", "R/W writer hold",  "nsec",
-   "lockstat:::rw-release", "arg1 == 0",
-   "lockstat:::rw-acquire" },
+   "lockstat::rw_wunlock:rw-release", NULL,
+   "lockstat::rw_wlock:rw-acquire" },
{ 'H',  "Lock", "R/W reader hold",  "nsec",
-   "lockstat:::rw-release", "arg1 != 0",
-   "lockstat:::rw-acquire" },
-   { 'H',  "Lock", "Unknown event (type 36)",  "units" },
-   { 'H',  "Lock", "Unknown event (type 37)",  "units" },
+   "lockstat::rw_runlock:rw-release", NULL,
+   "lockstat::rw_rlock:rw-acquire" },
+   { 'H',  "Lock", "SX shared hold",   "nsec",
+   "lockstat::sx_sunlock:sx-release", NULL,
+

svn commit: r284296 - in head/sys: dev/xen/blkback dev/xen/blkfront xen xen/interface/io

2015-06-12 Thread Roger Pau Monné
Author: royger
Date: Fri Jun 12 07:50:34 2015
New Revision: 284296
URL: https://svnweb.freebsd.org/changeset/base/284296

Log:
  xen-blk{front/back}: remove broken FreeBSD extensions
  
  The FreeBSD extension adds a new request type, called blkif_segment_block
  which has a size of 112bytes for both i386 and amd64. This is fine on
  amd64, since requests have a size of 112B there also. But this is not true
  for i386, where requests have a size of 108B. So on i386 we basically
  overrun the ring slot when queuing a request of type blkif_segment_block_t,
  which is very bad.
  
  Remove this extension (including a cleanup of the public blkif.h header
  file) from blkfront and blkback.
  
  Sponsored by: Citrix Systems R&D
  Tested-by: cperciva

Modified:
  head/sys/dev/xen/blkback/blkback.c
  head/sys/dev/xen/blkfront/blkfront.c
  head/sys/dev/xen/blkfront/block.h
  head/sys/xen/blkif.h
  head/sys/xen/interface/io/blkif.h

Modified: head/sys/dev/xen/blkback/blkback.c
==
--- head/sys/dev/xen/blkback/blkback.c  Fri Jun 12 07:23:55 2015
(r284295)
+++ head/sys/dev/xen/blkback/blkback.c  Fri Jun 12 07:50:34 2015
(r284296)
@@ -85,11 +85,19 @@ __FBSDID("$FreeBSD$");
 
 /*--- Compile-time Tunables 
--*/
 /**
+ * The maximum number of shared memory ring pages we will allow in a
+ * negotiated block-front/back communication channel.  Allow enough
+ * ring space for all requests to be XBB_MAX_REQUEST_SIZE'd.
+ */
+#defineXBB_MAX_RING_PAGES  32
+
+/**
  * The maximum number of outstanding request blocks (request headers plus
  * additional segment blocks) we will allow in a negotiated block-front/back
  * communication channel.
  */
-#defineXBB_MAX_REQUESTS256
+#defineXBB_MAX_REQUESTS\
+   __CONST_RING_SIZE(blkif, PAGE_SIZE * XBB_MAX_RING_PAGES)
 
 /**
  * \brief Define to force all I/O to be performed on memory owned by the
@@ -148,14 +156,6 @@ static MALLOC_DEFINE(M_XENBLOCKBACK, "xb
 (XBB_MAX_REQUEST_SIZE / PAGE_SIZE) + 1)))
 
 /**
- * The maximum number of shared memory ring pages we will allow in a
- * negotiated block-front/back communication channel.  Allow enough
- * ring space for all requests to be XBB_MAX_REQUEST_SIZE'd.
- */
-#defineXBB_MAX_RING_PAGES  
\
-   BLKIF_RING_PAGES(BLKIF_SEGS_TO_BLOCKS(XBB_MAX_SEGMENTS_PER_REQUEST) \
-  * XBB_MAX_REQUESTS)
-/**
  * The maximum number of ring pages that we can allow per request list.
  * We limit this to the maximum number of segments per request, because
  * that is already a reasonable number of segments to aggregate.  This
@@ -1328,7 +1328,7 @@ xbb_queue_response(struct xbb_softc *xbb
if (status != BLKIF_RSP_OKAY)
xbb->reqs_completed_with_error++;
 
-   xbb->rings.common.rsp_prod_pvt += BLKIF_SEGS_TO_BLOCKS(req->nr_pages);
+   xbb->rings.common.rsp_prod_pvt++;
 
xbb->reqs_queued_for_completion++;
 
@@ -1666,87 +1666,49 @@ xbb_dispatch_io(struct xbb_softc *xbb, s
goto send_response;
}
 
-   block_segs= MIN(nreq->nr_pages,
-   BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK);
+   block_segs= nseg;
sg= ring_req->seg;
last_block_sg = sg + block_segs;
-   while (1) {
 
-   while (sg < last_block_sg) {
-   KASSERT(seg_idx <
-   XBB_MAX_SEGMENTS_PER_REQLIST,
-   ("seg_idx %d is too large, max "
-   "segs %d\n", seg_idx,
-   XBB_MAX_SEGMENTS_PER_REQLIST));
-   
-   xbb_sg->first_sect = sg->first_sect;
-   xbb_sg->last_sect  = sg->last_sect;
-   xbb_sg->nsect =
-   (int8_t)(sg->last_sect -
-   sg->first_sect + 1);
-
-   if ((sg->last_sect >= (PAGE_SIZE >> 9))
-|| (xbb_sg->nsect <= 0)) {
-   reqlist->status = BLKIF_RSP_ERROR;
-   goto send_response;
-   }
-
-   nr_sects += xbb_sg->nsect;
-   map->host_addr = xbb_get_gntaddr(reqlist,
-   seg_idx, /*sector*/0);
-   KASSERT(map->host_addr + PAGE_SIZE <=
-   xbb->ring_config.gnt_addr,
-   ("Host address %#jx

svn commit: r284295 - in releng: 10.1 10.1/crypto/openssl/apps 10.1/crypto/openssl/crypto/bio 10.1/crypto/openssl/crypto/bn 10.1/crypto/openssl/crypto/buffer 10.1/crypto/openssl/crypto/cms 10.1/cry...

2015-06-12 Thread Xin LI
Author: delphij
Date: Fri Jun 12 07:23:55 2015
New Revision: 284295
URL: https://svnweb.freebsd.org/changeset/base/284295

Log:
  Fix OpenSSL multiple vulnerabilities.
  
  Security: FreeBSD-SA-15:10.openssl
  Approved by:  so

Modified:
  releng/10.1/UPDATING
  releng/10.1/crypto/openssl/apps/dhparam.c
  releng/10.1/crypto/openssl/apps/gendh.c
  releng/10.1/crypto/openssl/apps/s_server.c
  releng/10.1/crypto/openssl/crypto/bio/bio_lib.c
  releng/10.1/crypto/openssl/crypto/bn/bn_gf2m.c
  releng/10.1/crypto/openssl/crypto/bn/bn_print.c
  releng/10.1/crypto/openssl/crypto/buffer/buffer.c
  releng/10.1/crypto/openssl/crypto/cms/cms_smime.c
  releng/10.1/crypto/openssl/crypto/ec/ec2_oct.c
  releng/10.1/crypto/openssl/crypto/ec/ec_check.c
  releng/10.1/crypto/openssl/crypto/ec/ec_key.c
  releng/10.1/crypto/openssl/crypto/ec/ec_lib.c
  releng/10.1/crypto/openssl/crypto/ec/ecp_oct.c
  releng/10.1/crypto/openssl/crypto/ec/ectest.c
  releng/10.1/crypto/openssl/crypto/evp/e_aes.c
  releng/10.1/crypto/openssl/crypto/evp/e_rc4_hmac_md5.c
  releng/10.1/crypto/openssl/crypto/evp/evp.h
  releng/10.1/crypto/openssl/crypto/hmac/hmac.c
  releng/10.1/crypto/openssl/crypto/modes/gcm128.c
  releng/10.1/crypto/openssl/crypto/objects/obj_dat.c
  releng/10.1/crypto/openssl/crypto/pkcs12/p12_mutl.c
  releng/10.1/crypto/openssl/crypto/pkcs7/pk7_doit.c
  releng/10.1/crypto/openssl/crypto/x509/x509_vfy.c
  releng/10.1/crypto/openssl/crypto/x509/x509type.c
  releng/10.1/crypto/openssl/doc/apps/dhparam.pod
  releng/10.1/crypto/openssl/doc/ssl/SSL_CTX_set_tmp_dh_callback.pod
  releng/10.1/crypto/openssl/ssl/d1_both.c
  releng/10.1/crypto/openssl/ssl/d1_lib.c
  releng/10.1/crypto/openssl/ssl/d1_pkt.c
  releng/10.1/crypto/openssl/ssl/s3_cbc.c
  releng/10.1/crypto/openssl/ssl/s3_clnt.c
  releng/10.1/crypto/openssl/ssl/s3_srvr.c
  releng/10.1/crypto/openssl/ssl/ssl.h
  releng/10.1/crypto/openssl/ssl/ssl_err.c
  releng/10.1/crypto/openssl/ssl/ssl_locl.h
  releng/10.1/crypto/openssl/ssl/ssl_sess.c
  releng/10.1/crypto/openssl/ssl/t1_lib.c
  releng/10.1/sys/conf/newvers.sh
  releng/8.4/UPDATING
  releng/8.4/crypto/openssl/crypto/bn/bn_print.c
  releng/8.4/crypto/openssl/crypto/cms/cms_smime.c
  releng/8.4/crypto/openssl/crypto/ec/ec2_smpl.c
  releng/8.4/crypto/openssl/crypto/ec/ec_check.c
  releng/8.4/crypto/openssl/crypto/ec/ec_key.c
  releng/8.4/crypto/openssl/crypto/ec/ec_lib.c
  releng/8.4/crypto/openssl/crypto/ec/ecp_smpl.c
  releng/8.4/crypto/openssl/crypto/ec/ectest.c
  releng/8.4/crypto/openssl/crypto/objects/obj_dat.c
  releng/8.4/crypto/openssl/crypto/pkcs7/pk7_doit.c
  releng/8.4/crypto/openssl/crypto/x509/x509_vfy.c
  releng/8.4/crypto/openssl/ssl/d1_lib.c
  releng/8.4/crypto/openssl/ssl/s3_clnt.c
  releng/8.4/crypto/openssl/ssl/s3_srvr.c
  releng/8.4/crypto/openssl/ssl/ssl.h
  releng/8.4/crypto/openssl/ssl/ssl_err.c
  releng/8.4/crypto/openssl/ssl/ssl_locl.h
  releng/8.4/crypto/openssl/ssl/ssl_sess.c
  releng/8.4/sys/conf/newvers.sh
  releng/9.3/UPDATING
  releng/9.3/crypto/openssl/crypto/bn/bn_print.c
  releng/9.3/crypto/openssl/crypto/cms/cms_smime.c
  releng/9.3/crypto/openssl/crypto/ec/ec2_smpl.c
  releng/9.3/crypto/openssl/crypto/ec/ec_check.c
  releng/9.3/crypto/openssl/crypto/ec/ec_key.c
  releng/9.3/crypto/openssl/crypto/ec/ec_lib.c
  releng/9.3/crypto/openssl/crypto/ec/ecp_smpl.c
  releng/9.3/crypto/openssl/crypto/ec/ectest.c
  releng/9.3/crypto/openssl/crypto/objects/obj_dat.c
  releng/9.3/crypto/openssl/crypto/pkcs7/pk7_doit.c
  releng/9.3/crypto/openssl/crypto/x509/x509_vfy.c
  releng/9.3/crypto/openssl/ssl/d1_lib.c
  releng/9.3/crypto/openssl/ssl/s3_clnt.c
  releng/9.3/crypto/openssl/ssl/s3_srvr.c
  releng/9.3/crypto/openssl/ssl/ssl.h
  releng/9.3/crypto/openssl/ssl/ssl_err.c
  releng/9.3/crypto/openssl/ssl/ssl_locl.h
  releng/9.3/crypto/openssl/ssl/ssl_sess.c
  releng/9.3/sys/conf/newvers.sh

Modified: releng/10.1/UPDATING
==
--- releng/10.1/UPDATINGFri Jun 12 06:28:22 2015(r284294)
+++ releng/10.1/UPDATINGFri Jun 12 07:23:55 2015(r284295)
@@ -16,6 +16,9 @@ from older versions of FreeBSD, try WITH
 stable/10, and then rebuild without this option. The bootstrap process from
 older version of current is a bit fragile.
 
+20150612:  p12 FreeBSD-SA-15:10.openssl
+   Fix multiple vulnerabilities in OpenSSL.  [SA-15:10]
+
 20150609:  p11 FreeBSD-EN-15:06.file
FreeBSD-EN-15:07.zfs
 

Modified: releng/10.1/crypto/openssl/apps/dhparam.c
==
--- releng/10.1/crypto/openssl/apps/dhparam.c   Fri Jun 12 06:28:22 2015
(r284294)
+++ releng/10.1/crypto/openssl/apps/dhparam.c   Fri Jun 12 07:23:55 2015
(r284295)
@@ -130,7 +130,7 @@
 #undef PROG
 #define PROG   dhparam_main
 
-#define DEFBITS512
+#define DEFBITS2048
 
 /* -inform arg - input format - default PEM (DER or PEM

Re: svn commit: r284290 - head/sbin/geom/class/multipath

2015-06-12 Thread Fabian Keil
Christian Brueffer  wrote:

> Author: brueffer
> Date: Thu Jun 11 23:05:49 2015
> New Revision: 284290
> URL: https://svnweb.freebsd.org/changeset/base/284290
> 
> Log:
>   Improve grammar.
>   
>   PR: 200673
>   Submitted by:   Fabian Keil
>   Obtained from:  ElectroBSD
> 
> Modified:
>   head/sbin/geom/class/multipath/gmultipath.8

Thanks for taking care of the PR, Christian.

> @@ -269,9 +269,9 @@ GEOM class is given an opportunity to ta
>  If a new
>  device has a
>  .Nm MULTIPATH
> -on-disk metadata label, the device is used to either create a new
> +on-disk metadata label, the device is either used to create a new
>  .Nm MULTIPATH
> -GEOM, or been added the list of paths for an existing
> +GEOM, or added the list of paths for an existing
 ^
Looks like a "to" from the patch didn't make it.

Fabian


pgp_yYey470U9.pgp
Description: OpenPGP digital signature