Print this page
OS-406
OS-249

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/dld/dld_drv.c
          +++ new/usr/src/uts/common/io/dld/dld_drv.c
↓ open down ↓ 12 lines elided ↑ open up ↑
  13   13   * When distributing Covered Code, include this CDDL HEADER in each
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
       23 + * Copyright (c) 2011, Joyent Inc. All rights reserved.
  23   24   */
  24   25  
  25   26  /*
  26   27   * Data-Link Driver
  27   28   */
  28   29  
  29   30  #include        <sys/conf.h>
  30   31  #include        <sys/mkdev.h>
  31   32  #include        <sys/modctl.h>
  32   33  #include        <sys/stat.h>
↓ open down ↓ 661 lines elided ↑ open up ↑
 694  695  
 695  696          switch (kprop->pr_num) {
 696  697          case MAC_PROP_ZONE:
 697  698                  if (set) {
 698  699                          dld_ioc_zid_t *dzp = (dld_ioc_zid_t *)kprop->pr_val;
 699  700  
 700  701                          if (zoneid != GLOBAL_ZONEID) {
 701  702                                  err = EACCES;
 702  703                                  goto done;
 703  704                          }
 704      -                        err = dls_devnet_setzid(dlh, dzp->diz_zid);
      705 +                        err = dls_devnet_setzid(dlh, dzp->diz_zid,
      706 +                            dzp->diz_transient);
 705  707                  } else {
 706  708                          kprop->pr_perm_flags = MAC_PROP_PERM_RW;
 707  709                          (*(zoneid_t *)kprop->pr_val) = dls_devnet_getzid(dlh);
 708  710                  }
 709  711                  break;
 710  712          case MAC_PROP_AUTOPUSH: {
 711  713                  struct dlautopush *dlap = (struct dlautopush *)kprop->pr_val;
 712  714  
 713  715                  if (set) {
 714  716                          if (kprop->pr_valsize != 0)
↓ open down ↓ 143 lines elided ↑ open up ↑
 858  860                  return (ENOENT);
 859  861  
 860  862          if ((err = dls_mgmt_get_linkinfo(dir->dir_linkid1, NULL, &class, NULL,
 861  863              NULL)) != 0)
 862  864                  return (err);
 863  865  
 864  866          if ((err = drv_ioc_checkprivs(class, cred)) != 0)
 865  867                  return (err);
 866  868  
 867  869          if ((err = dls_devnet_rename(dir->dir_linkid1, dir->dir_linkid2,
 868      -            dir->dir_link)) != 0)
      870 +            dir->dir_link, dir->dir_zoneinit)) != 0)
 869  871                  return (err);
 870  872  
 871  873          if (dir->dir_linkid2 == DATALINK_INVALID_LINKID)
 872  874                  return (0);
 873  875  
 874  876          /*
 875  877           * if dir_linkid2 is not DATALINK_INVALID_LINKID, it means this
 876  878           * renaming request is to rename a valid physical link (dir_linkid1)
 877  879           * to a "removed" physical link (dir_linkid2, which is removed by DR
 878  880           * or during system shutdown). In this case, the link (specified by
↓ open down ↓ 635 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX