diff options
author | Dan McDonald <danmcd@joyent.com> | 2021-02-22 11:23:05 -0500 |
---|---|---|
committer | Dan McDonald <danmcd@joyent.com> | 2021-02-22 11:23:05 -0500 |
commit | 68f8cc88139189fdc033b24b48588c2e47ffe60e (patch) | |
tree | 4908720aeab0a41997eda2ba56bb456aa41d172f /usr/src | |
parent | 3e2541c04964508e92c825796649f5cd5f8bf299 (diff) | |
parent | 6859ab0054a96093394fe85f055fac9cf93b38ee (diff) | |
download | illumos-joyent-68f8cc88139189fdc033b24b48588c2e47ffe60e.tar.gz |
[illumos-gate merge]
commit 6859ab0054a96093394fe85f055fac9cf93b38ee
13557 pf[k]sh fails to properly resolve paths (missing diffs)
commit 944411b5616a6d498985ec4579bd6448b8baacfe
13557 pf[k]sh fails to properly resolve paths
commit 56ffda179176d14e2fb160bdc85f6da601f1eac7
13559 remove lingering references to usr/closed
commit 3aa6c13072f3d4792a18693e916aed260a496c1f
13558 remove support for optional subdirectories in the build
commit 1f0845f1dfb179d6aa598ad89bb44d432f4e1020
13515 panic with bad mutex in smb_ofile_hold_olbrk
commit 174aa483b26ab13af096f2d478f7c15afdaf9784
13514 smbsrv panic in smb2_dh_read_nvlist
commit 8bf842e01303492318712f55e3f715097c4df992
13561 nfs: implicit conversion from 'enum nfsstat4' to 'enum clnt_stat'
commit 0189c0b054f5460e8b23f56112cd0763c993cd05
13523 libsmbns: symbol 'smb_node_type' is multiply-defined
commit c5286370b84c690a18e8100a5237a1000d7e29c6
6729 incremental replication stream of a fs tree with lots of snapshots trips assert in zfs recv
Diffstat (limited to 'usr/src')
49 files changed, 288 insertions, 363 deletions
diff --git a/usr/src/Makefile.master b/usr/src/Makefile.master index 75716c1557..83c75b86be 100644 --- a/usr/src/Makefile.master +++ b/usr/src/Makefile.master @@ -124,10 +124,6 @@ __GNUC64= $(__GNUC) # uncomment things in the lower Makefiles to enable the feature. ENABLE_SMB_PRINTING= $(POUND_SIGN) -# CLOSED is the root of the tree that contains source which isn't released -# as open source -CLOSED= $(SRC)/../closed - # BUILD_TOOLS is the root of all tools including compilers. # ONBLD_TOOLS is the root of all the tools that are part of SUNWonbld. diff --git a/usr/src/cmd/Makefile b/usr/src/cmd/Makefile index 0039a598b1..103bc26923 100644 --- a/usr/src/cmd/Makefile +++ b/usr/src/cmd/Makefile @@ -136,7 +136,6 @@ COMMON_SUBDIRS= \ dirname \ dis \ diskinfo \ - diskmgtd \ dispadmin \ dladm \ dlstat \ @@ -221,7 +220,6 @@ COMMON_SUBDIRS= \ ipf \ isainfo \ isalist \ - itutools \ iscsiadm \ iscsid \ iscsitsvc \ @@ -794,17 +792,10 @@ AUDITSUBDIRS= \ auditstat \ praudit -# -# commands not owned by the systems group -# -BWOSDIRS= - - all := TARGET = all install := TARGET = install clean := TARGET = clean clobber := TARGET = clobber -lint := TARGET = lint _msg := TARGET = _msg _dc := TARGET = _dc @@ -812,9 +803,9 @@ _dc := TARGET = _dc SUBDIRS = $(COMMON_SUBDIRS) $($(MACH)_SUBDIRS) -.PARALLEL: $(BWOSDIRS) $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) +.PARALLEL: $(SUBDIRS) $(MSGSUBDIRS) $(AUDITSUBDIRS) -all install clean clobber lint: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ +all install clean clobber: $(FIRST_SUBDIRS) .WAIT $(SUBDIRS) \ $(AUDITSUBDIRS) # @@ -844,11 +835,7 @@ ast: isaexec print: lp fmt: mailx -$(FIRST_SUBDIRS) $(BWOSDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(TARGET); \ - else \ - true; \ - fi +$(FIRST_SUBDIRS) $(SUBDIRS) $(AUDITSUBDIRS): FRC + cd $@; pwd; $(MAKE) $(TARGET) FRC: diff --git a/usr/src/cmd/ast/Makefile.ast b/usr/src/cmd/ast/Makefile.ast index 0aeb13a09c..d450fffbf7 100644 --- a/usr/src/cmd/ast/Makefile.ast +++ b/usr/src/cmd/ast/Makefile.ast @@ -58,7 +58,6 @@ CSTD= $(CSTD_GNU99) # SHOPT_MULTIBYTE multibyte character handling # SHOPT_NAMESPACE allow namespaces # SHOPT_OPTIMIZE optimize loop invariants -# SHOPT_PFSH solaris exec_attr(4) profile execution # SHOPT_RAWONLY make viraw the only vi mode # SHOPT_STATS add .sh.stats variable # SHOPT_SUID_EXEC allow (safe) suid/sgid shell scripts @@ -89,6 +88,7 @@ CSTD= $(CSTD_GNU99) # SHOPT_FS_3D 3d file system # SHOPT_OLDTERMIO support both TCGETA and TCGETS # SHOPT_P_SUID real uid's that require -p for set[ug]id +# SHOPT_PFSH solaris exec_attr(4) profile execution # SHOPT_REGRESS enable __regress__ builtin # SHOPT_REMOTE enable --rc if running as a remote shell # SHOPT_SEVENBIT strip the eigth bit from characters @@ -108,7 +108,7 @@ LIBSHELLFEATUREFLAGS= \ -DSHOPT_MULTIBYTE \ -DSHOPT_NAMESPACE \ -DSHOPT_OPTIMIZE \ - -DSHOPT_PFSH \ + -DSHOPT_PFSH=0 \ -DSHOPT_RAWONLY \ -DSHOPT_STATS \ -DSHOPT_SUID_EXEC \ diff --git a/usr/src/cmd/ast/libshell/Makefile.com b/usr/src/cmd/ast/libshell/Makefile.com index 5608eb9e3a..6312ba57d2 100644 --- a/usr/src/cmd/ast/libshell/Makefile.com +++ b/usr/src/cmd/ast/libshell/Makefile.com @@ -44,7 +44,7 @@ LIBSHELLMACH= $(TARGETMACH) LIBSHELLBASE=.. LIBS= $(DYNLIB) -LDLIBS += -lcmd -ldll -last -lsocket -lsecdb -lm -lc +LDLIBS += -lcmd -ldll -last -lsocket -lm -lc # We use "=" here since using $(CPPFLAGS.master) is very tricky in our # case - it MUST come as the last element but future changes in -D options diff --git a/usr/src/cmd/cmd-inet/usr.sbin/Makefile b/usr/src/cmd/cmd-inet/usr.sbin/Makefile index 4838105f16..da9625bf85 100644 --- a/usr/src/cmd/cmd-inet/usr.sbin/Makefile +++ b/usr/src/cmd/cmd-inet/usr.sbin/Makefile @@ -211,17 +211,8 @@ THIRDPARTYLICENSE.arp: arp.c CLOBBERFILES += THIRDPARTYLICENSE.arp -# -# The reason this rule checks for the existence of the -# Makefile is that some of the directories do not exist -# in our exportable source builds. -# $(SUBDIRS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(TARGET) FRC: diff --git a/usr/src/cmd/fwflash/Makefile b/usr/src/cmd/fwflash/Makefile index f4b718d3a0..3bba66702f 100644 --- a/usr/src/cmd/fwflash/Makefile +++ b/usr/src/cmd/fwflash/Makefile @@ -28,7 +28,7 @@ include $(SRC)/Makefile.master PROG= fwflash COMMON_SUBDIRS= $(MACH) IDF_SUBDIRS= plugins/transport -VRF_SUBDIRS= plugins +VRF_SUBDIRS= plugins SUBDIRS= $(COMMON_SUBDIRS) .WAIT \ $(IDF_SUBDIRS) .WAIT \ $(VRF_SUBDIRS) @@ -39,19 +39,12 @@ clobber := TARGET= clobber check := TARGET= check install := TARGET= install install_h := TARGET= install_h -lint := TARGET= lint _msg := TARGET= _msg -msg := TARGET= msg - -all clean clobber install lint msg _msg: $(SUBDIRS) +all clean clobber install _msg: $(SUBDIRS) check install_h: $(COMMON_SUBDIRS) $(SUBDIRS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(TARGET) FRC: diff --git a/usr/src/cmd/fwflash/Makefile.targ b/usr/src/cmd/fwflash/Makefile.targ index 57efebf6ac..12c4a243ca 100644 --- a/usr/src/cmd/fwflash/Makefile.targ +++ b/usr/src/cmd/fwflash/Makefile.targ @@ -35,10 +35,9 @@ HDRS= fwflash.h PROG= $(SRCS:%.c=%) OBJS= $(SRCS:%.c=%.o) -LINTFILE= $(SRCS:%.c=%.ln) POFILES= $(SRCS:%.c=%.po) -POFILE= fwflash_msg.po +POFILE= fwflash_msg.po HDRDIR=../common SRCDIR=../common @@ -73,7 +72,7 @@ $(PROG): install_h $(OBJS) all: $(PROG) clean: - $(RM) $(POFILE) $(POFILES) $(LINTFILE) $(PROG) + $(RM) $(POFILE) $(POFILES) $(PROG) clobber: clean $(RM) $(OBJS) @@ -84,6 +83,4 @@ install: all $(ROOTUSRSBIN) $(ROOTUSRSBIN)/$(PROG) install_h:$(ROOTUSRINCLDFWFLASH) $(ROOTHDRS) -lint: $(LINTFILE) - -_msg msg: $(POFILE) +_msg: $(POFILE) diff --git a/usr/src/cmd/fwflash/plugins/Makefile b/usr/src/cmd/fwflash/plugins/Makefile index 036159eb65..2053d1723c 100644 --- a/usr/src/cmd/fwflash/plugins/Makefile +++ b/usr/src/cmd/fwflash/plugins/Makefile @@ -34,21 +34,13 @@ all := TARGET= all install := TARGET= install clean := TARGET= clean clobber := TARGET= clobber -lint := TARGET= lint _msg := TARGET= _msg -msg := TARGET= msg - .KEEP_STATE: -all clean clobber install lint msg _msg: $(SUBDIRS) - +all clean clobber install _msg: $(SUBDIRS) $(SUBDIRS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(TARGET) FRC: diff --git a/usr/src/cmd/fwflash/plugins/Makefile.targ b/usr/src/cmd/fwflash/plugins/Makefile.targ index 8edeaccd66..408b3d5556 100644 --- a/usr/src/cmd/fwflash/plugins/Makefile.targ +++ b/usr/src/cmd/fwflash/plugins/Makefile.targ @@ -34,14 +34,13 @@ PLUGINS= $(HERMON-MELLANOX_LIB) $(TAVOR-MELLANOX_LIB) $(SD-GENERIC_LIB) OBJECTS= $(PLUGINS:%.so=%.o) DYNLIB= $(PLUGINS:%=%) POFILES= $(PLUGINS:%.so=%.po) -LINTFILE= $(PLUGINS:%.so=%.ln) POFILE= fwflash_verify_msg.po SRCDIR= ../vendor include $(SRC)/cmd/fwflash/Makefile.com -CLEANFILES= $(PLUGINS) $(POFILE) $(POFILES) $(LINTFILE) +CLEANFILES= $(PLUGINS) $(POFILE) $(POFILES) LIBS= $(DYNLIB) CFLAGS += $(C_PICFLAGS) @@ -58,21 +57,18 @@ $(HERMON-MELLANOX_LIB):= SONAME = $(HERMON-MELLANOX_LIB) $(TAVOR-MELLANOX_LIB):= SONAME = $(TAVOR-MELLANOX_LIB) $(SD-GENERIC_LIB):= SONAME = $(SD-GENERIC_LIB) -$(HERMON-MELLANOX_LIB):= DYNFLAGS += -R/usr/lib/fwflash/identify +$(HERMON-MELLANOX_LIB):= DYNFLAGS += -R/usr/lib/fwflash/identify $(HERMON-MELLANOX_LIB):= LDLIBS += -L. $(ROOT)/usr/lib/fwflash/identify/hermon.so $(SD-GENERIC_LIB):= LDLIBS += -L$(ROOT)/usr/lib/scsi -lscsi $(SD-GENERIC_LIB):= DYNFLAGS += -R/usr/lib/scsi - -.KEEP STATE: +.KEEP_STATE: all: $(LIBS) install: all $(ROOTLIBS) -lint: $(LINTFILE) - -_msg msg: $(POFILE) +_msg: $(POFILE) include $(SRC)/lib/Makefile.targ diff --git a/usr/src/cmd/fwflash/plugins/transport/Makefile b/usr/src/cmd/fwflash/plugins/transport/Makefile index c594def918..6ae3d18e29 100644 --- a/usr/src/cmd/fwflash/plugins/transport/Makefile +++ b/usr/src/cmd/fwflash/plugins/transport/Makefile @@ -33,24 +33,13 @@ all := TARGET= all install := TARGET= install clean := TARGET= clean clobber := TARGET= clobber -lint := TARGET= lint _msg := TARGET= _msg -msg := TARGET= msg - .KEEP_STATE: -all clean clobber install lint msg _msg: $(SUBDIRS) - - +all clean clobber install _msg: $(SUBDIRS) $(SUBDIRS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(TARGET) FRC: - - diff --git a/usr/src/cmd/fwflash/plugins/transport/Makefile.targ b/usr/src/cmd/fwflash/plugins/transport/Makefile.targ index c3fefe1a06..31a935bf5a 100644 --- a/usr/src/cmd/fwflash/plugins/transport/Makefile.targ +++ b/usr/src/cmd/fwflash/plugins/transport/Makefile.targ @@ -37,7 +37,6 @@ PLUGINS= $(SES_LIB) $(TAVOR_LIB) $(HERMON_LIB) $(SD_LIB) $(UFM_LIB) OBJECTS= $(PLUGINS:%.so=%.o) DYNLIB= $(PLUGINS:%=%) POFILES= $(PLUGINS:%.so=%.po) -LINTFILE= $(PLUGINS:%.so=%.ln) SLINKS= sgen.so POFILE= fwflash_transport_identify_ses.po @@ -45,7 +44,7 @@ SRCDIR= ../common include $(SRC)/cmd/fwflash/Makefile.com -CLEANFILES= $(PLUGINS) $(POFILES) $(POFILE) $(LINTFILE) $(SLINKS) +CLEANFILES= $(PLUGINS) $(POFILES) $(POFILE) $(SLINKS) LIBS= $(DYNLIB) CFLAGS += $(C_PICFLAGS) @@ -79,7 +78,7 @@ $(UFM_LIB):= LDLIBS += -lpcidb -lnvpair -lc $(SES_LIB):= DYNFLAGS += -R/usr/lib/scsi $(SD_LIB):= DYNFLAGS += -R/usr/lib/scsi -.KEEP STATE: +.KEEP_STATE: $(ROOTUSRLIBFWFLASHIDF)/$(SLINKS) : $(ROOTUSRLIBFWFLASHIDF)/$(SES_LIB) @$(RM) $@ @@ -90,8 +89,6 @@ all: $(LIBS) install: all $(ROOTLIBS) \ $(ROOTUSRLIBFWFLASHIDF)/$(SLINKS) -lint: $(LINTFILE) - -_msg msg: $(POFILE) +_msg: $(POFILE) include $(SRC)/lib/Makefile.targ diff --git a/usr/src/cmd/mdb/Makefile.common b/usr/src/cmd/mdb/Makefile.common index 4fc3f3d317..99387fd065 100644 --- a/usr/src/cmd/mdb/Makefile.common +++ b/usr/src/cmd/mdb/Makefile.common @@ -106,8 +106,4 @@ COMMON_MODULES_KVM = \ xhci \ zfs -CLOSED_COMMON_MODULES_KVM = \ - mpt \ - nfs - include $(SRC)/Makefile.master diff --git a/usr/src/cmd/picl/plugins/sun4u/lw8/frutree/Makefile b/usr/src/cmd/picl/plugins/sun4u/lw8/frutree/Makefile index 8c156163bd..5aa4aeded0 100644 --- a/usr/src/cmd/picl/plugins/sun4u/lw8/frutree/Makefile +++ b/usr/src/cmd/picl/plugins/sun4u/lw8/frutree/Makefile @@ -41,8 +41,8 @@ include $(SRC)/cmd/picl/plugins/Makefile.com CPPFLAGS += -D_REENTRANT -I$(SRC)/uts/sun4u/serengeti CPPFLAGS += -I$(SRC)/uts/sun4u/serengeti CPPFLAGS += -I$(SRC)/uts/sun4u/lw8 -CPPFLAGS += -I$(SRC)/uts/sun4u -I$(CLOSED)/uts/sun4u -CPPFLAGS += -I$(SRC)/uts/common -I$(CLOSED)/uts/common +CPPFLAGS += -I$(SRC)/uts/sun4u +CPPFLAGS += -I$(SRC)/uts/common SRCS = $(OBJECTS:%.o=%.c) @@ -90,8 +90,6 @@ $(LIBLINKS): FRC include $(SRC)/lib/Makefile.targ include $(SRC)/cmd/picl/plugins/Makefile.targ -lint: - $(SUBDIRS): FRC @cd $@; pwd; $(MAKE) $(TARGET) diff --git a/usr/src/cmd/sgs/Makefile.sub b/usr/src/cmd/sgs/Makefile.sub index 31d82769b8..7356ba6653 100644 --- a/usr/src/cmd/sgs/Makefile.sub +++ b/usr/src/cmd/sgs/Makefile.sub @@ -27,19 +27,8 @@ include $(SRC)/Makefile.master -# This is how the SUBDIRS stuff should look by the time the SGS -# directory is fully converted: -# -# SUBDIRS= $(MACH) $(BUILD64) $(MACH64) -# -# $(SUBDIRS): FRC -# @cd $@; pwd; $(MAKE) $(TARGET) -# -# In the meantime, we use an sneaky trick on the $(SUBDIRS) target -# to build whatever 64-bit directories we actually find as a side-effect -# of descending into the 32-bit directories. Ick. - SUBDIRS = $(MACH) $(EXTRASUBDIRS) +$(BUILD64)SUBDIRS += $(MACH64) all := TARGET= all clean := TARGET= clean @@ -58,8 +47,5 @@ all clean clobber delete install catalog package chkmsg: \ $(SUBDIRS): FRC @ cd $@; pwd; $(MAKE) $(TARGET) - @ $(BUILD64)if [ -f $(MACH64)/Makefile ]; then \ - $(BUILD64) cd $(MACH64); pwd; $(MAKE) $(TARGET); \ - $(BUILD64)else /bin/true; fi FRC: diff --git a/usr/src/cmd/sgs/messages/Makefile b/usr/src/cmd/sgs/messages/Makefile index 3fb5c9663e..515d509227 100644 --- a/usr/src/cmd/sgs/messages/Makefile +++ b/usr/src/cmd/sgs/messages/Makefile @@ -20,9 +20,29 @@ # CDDL HEADER END # # -#ident "%Z%%M% %I% %E% SMI" -# # Copyright (c) 1996 by Sun Microsystems, Inc. # All rights reserved. +# + +include ../../../Makefile.master + +SUBDIRS= $(MACH) + +all := TARGET= all +clean := TARGET= clean +clobber := TARGET= clobber +delete := TARGET= delete +install := TARGET= install +catalog := TARGET= catalog +package := TARGET= package +chkmsg := TARGET= chkmsg + +.KEEP_STATE: +.KEEP_STATE_FILE: .make.state.$(MACH) + +all clean clobber delete install catalog package chkmsg: $(SUBDIRS) + +$(SUBDIRS): FRC + @cd $@; pwd; $(MAKE) $(TARGET) -include $(SRC)/cmd/sgs/Makefile.sub +FRC: diff --git a/usr/src/cmd/smbsrv/testoplock/smbsrv/smb_ktypes.h b/usr/src/cmd/smbsrv/testoplock/smbsrv/smb_ktypes.h index 16c770ef1d..1347a8e995 100644 --- a/usr/src/cmd/smbsrv/testoplock/smbsrv/smb_ktypes.h +++ b/usr/src/cmd/smbsrv/testoplock/smbsrv/smb_ktypes.h @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2018 Nexenta Systems, Inc. All rights reserved. + * Copyright 2020 Nexenta by DDN, Inc. All rights reserved. */ /* @@ -98,6 +98,7 @@ typedef struct smb_oplock_grant { uint32_t og_state; /* latest sent to client */ uint32_t og_breaking; /* BREAK_TO... flags */ uint16_t og_dialect; /* how to send breaks */ + boolean_t og_closing; /* File-system level state */ uint8_t onlist_II; uint8_t onlist_R; diff --git a/usr/src/cmd/tsol/Makefile b/usr/src/cmd/tsol/Makefile index 98d1e0ae26..a9f4ad8623 100644 --- a/usr/src/cmd/tsol/Makefile +++ b/usr/src/cmd/tsol/Makefile @@ -66,16 +66,15 @@ all := TARGET = all install := TARGET = install clean := TARGET = clean clobber := TARGET = clobber -lint := TARGET = lint _msg := TARGET = _msg .KEEP_STATE: .PARALLEL: $(SUBDIRS) -all install clean clobber lint: $(SUBDIRS) +all install clean clobber: $(SUBDIRS) -$(POFILE): $(MSGSUBDIRS) $(CLOSED_MSGSUBDIRS) +$(POFILE): $(MSGSUBDIRS) $(RM) $(POFILE) $(CAT) $(POFILES) > $(POFILE) diff --git a/usr/src/lib/Makefile b/usr/src/lib/Makefile index df954561a9..0676c48f8f 100644 --- a/usr/src/lib/Makefile +++ b/usr/src/lib/Makefile @@ -555,8 +555,6 @@ _msg: $(MSGSUBDIRS:%=%-nodepend) .WAIT _dc _dc: $(DCSUBDIRS:%=%-nodepend) -lint: - # Library interdependencies are called out explicitly here. ../cmd/sgs/libconv: crt ../cmd/sgs/libdl: crt @@ -742,17 +740,9 @@ varpd: libavl libidspace libumem libnsl libnvpair libmd5 librename \ # OpenSolaris). # $(SUBDIRS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(TARGET) $(SUBDIRS:%=%-nodepend): - @if [ -f $(@:%-nodepend=%)/Makefile ]; then \ - cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET); \ - else \ - true; \ - fi + cd $(@:%-nodepend=%); pwd; $(MAKE) $(TARGET) FRC: diff --git a/usr/src/lib/libprtdiag_psr/sparc/Makefile.com b/usr/src/lib/libprtdiag_psr/sparc/Makefile.com index 87d15f16a8..265c92b6ac 100644 --- a/usr/src/lib/libprtdiag_psr/sparc/Makefile.com +++ b/usr/src/lib/libprtdiag_psr/sparc/Makefile.com @@ -57,7 +57,6 @@ CERRWARN += -_gcc=-Wno-unused-function CERRWARN += $(CNOWARN_UNINIT) CERRWARN += -_gcc=-Wno-address IFLAGS += -I $(UTSBASE)/sun4u -IFLAGS += -I $(UTSCLOSED)/sun4u CPPFLAGS = $(IFLAGS) $(CPPFLAGS.master) LDLIBS += -L $(ROOT)/usr/platform/$(PSR_MACH)/lib -lprtdiag -lc DYNFLAGS += -R /usr/platform/$(PSR_MACH)/lib diff --git a/usr/src/lib/libprtdiag_psr/sparc/montoya/Makefile b/usr/src/lib/libprtdiag_psr/sparc/montoya/Makefile index f4d803ccee..6feb073942 100644 --- a/usr/src/lib/libprtdiag_psr/sparc/montoya/Makefile +++ b/usr/src/lib/libprtdiag_psr/sparc/montoya/Makefile @@ -24,7 +24,6 @@ # # lib/libprtdiag_psr/sparc/montoya/Makefile -UTSCLOSED = ../../../../uts UTSBASE = ../../../../../src/uts PLATFORM_OBJECTS= montoya.o diff --git a/usr/src/lib/libzfs/common/libzfs_impl.h b/usr/src/lib/libzfs/common/libzfs_impl.h index bca1fc8a93..bec66afc5a 100644 --- a/usr/src/lib/libzfs/common/libzfs_impl.h +++ b/usr/src/lib/libzfs/common/libzfs_impl.h @@ -95,6 +95,7 @@ struct libzfs_handle { boolean_t libzfs_prop_debug; di_devlink_handle_t libzfs_devlink; regex_t libzfs_urire; + uint64_t libzfs_max_nvlist; }; struct zfs_handle { diff --git a/usr/src/lib/libzfs/common/libzfs_sendrecv.c b/usr/src/lib/libzfs/common/libzfs_sendrecv.c index 2bfb49875d..7bdea7dc55 100644 --- a/usr/src/lib/libzfs/common/libzfs_sendrecv.c +++ b/usr/src/lib/libzfs/common/libzfs_sendrecv.c @@ -929,6 +929,18 @@ send_iterate_fs(zfs_handle_t *zhp, void *arg) nvlist_free(sd->snapprops); nvlist_free(sd->snapholds); + /* Do not allow the size of the properties list to exceed the limit */ + if ((fnvlist_size(nvfs) + fnvlist_size(sd->fss)) > + zhp->zfs_hdl->libzfs_max_nvlist) { + (void) fprintf(stderr, dgettext(TEXT_DOMAIN, + "warning: cannot send %s@%s: the size of the list of " + "snapshots and properties is too large to be received " + "successfully.\n" + "Select a smaller number of snapshots to send.\n"), + zhp->zfs_name, sd->tosnap); + rv = EZFS_NOSPC; + goto out; + } /* add this fs to nvlist */ (void) snprintf(guidstring, sizeof (guidstring), "0x%llx", (longlong_t)guid); @@ -1926,8 +1938,31 @@ zfs_send(zfs_handle_t *zhp, const char *fromsnap, const char *tosnap, flags->verbose, flags->backup, flags->holds, flags->props, &fss, &fsavl); - if (err) + if (err) { + nvlist_free(hdrnv); + goto err_out; + } + + /* + * Do not allow the size of the properties list to + * exceed the limit + */ + if ((fnvlist_size(fss) + fnvlist_size(hdrnv)) > + zhp->zfs_hdl->libzfs_max_nvlist) { + (void) snprintf(errbuf, sizeof (errbuf), + dgettext(TEXT_DOMAIN, + "warning: cannot send '%s': " + "the size of the list of snapshots and " + "properties is too large to be received " + "successfully.\n" + "Select a smaller number of snapshots to " + "send.\n"), + zhp->zfs_name); + nvlist_free(hdrnv); + err = zfs_error(zhp->zfs_hdl, EZFS_NOSPC, + errbuf); goto err_out; + } VERIFY(0 == nvlist_add_nvlist(hdrnv, "fss", fss)); err = nvlist_pack(hdrnv, &packbuf, &buflen, NV_ENCODE_XDR, 0); @@ -2198,8 +2233,6 @@ recv_read(libzfs_handle_t *hdl, int fd, void *buf, int ilen, int rv; int len = ilen; - assert(ilen <= SPA_MAXBLOCKSIZE); - do { rv = read(fd, cp, len); cp += rv; @@ -2233,6 +2266,12 @@ recv_read_nvlist(libzfs_handle_t *hdl, int fd, int len, nvlist_t **nvp, if (buf == NULL) return (ENOMEM); + if (len > hdl->libzfs_max_nvlist) { + zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "nvlist too large")); + free(buf); + return (ENOMEM); + } + err = recv_read(hdl, fd, buf, len, byteswap, zc); if (err != 0) { free(buf); @@ -3325,6 +3364,7 @@ recv_skip(libzfs_handle_t *hdl, int fd, boolean_t byteswap) } uint64_t payload_size = DRR_WRITE_PAYLOAD_SIZE(&drr->drr_u.drr_write); + assert(payload_size <= SPA_MAXBLOCKSIZE); (void) recv_read(hdl, fd, buf, payload_size, B_FALSE, NULL); break; diff --git a/usr/src/lib/libzfs/common/libzfs_util.c b/usr/src/lib/libzfs/common/libzfs_util.c index 3ccefa5585..5e24635179 100644 --- a/usr/src/lib/libzfs/common/libzfs_util.c +++ b/usr/src/lib/libzfs/common/libzfs_util.c @@ -714,6 +714,8 @@ libzfs_handle_t * libzfs_init(void) { libzfs_handle_t *hdl; + int error; + char *env; if ((hdl = calloc(1, sizeof (libzfs_handle_t))) == NULL) { return (NULL); @@ -757,6 +759,20 @@ libzfs_init(void) if (getenv("ZFS_PROP_DEBUG") != NULL) { hdl->libzfs_prop_debug = B_TRUE; } + if ((env = getenv("ZFS_SENDRECV_MAX_NVLIST")) != NULL) { + if ((error = zfs_nicestrtonum(hdl, env, + &hdl->libzfs_max_nvlist))) { + errno = error; + (void) close(hdl->libzfs_fd); + (void) fclose(hdl->libzfs_mnttab); + (void) fclose(hdl->libzfs_sharetab); + regfree(&hdl->libzfs_urire); + free(hdl); + return (NULL); + } + } else { + hdl->libzfs_max_nvlist = (SPA_MAXBLOCKSIZE * 4); + } return (hdl); } diff --git a/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios.h b/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios.h index 9ab53e1ac0..efd5573e9b 100644 --- a/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios.h +++ b/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios.h @@ -89,7 +89,7 @@ typedef struct { char *nbs_last_event; } netbios_service_t; -char smb_node_type; +extern char smb_node_type; #define SMB_NODETYPE_B 'B' #define SMB_NODETYPE_P 'P' @@ -103,15 +103,15 @@ char smb_node_type; #define ADDR_FLAG_VALID 0x0001 typedef struct addr_entry { - struct addr_entry *forw; - struct addr_entry *back; + struct addr_entry *forw; + struct addr_entry *back; uint32_t attributes; uint32_t conflict_timer; uint32_t refresh_ttl; uint32_t ttl; struct sockaddr_in sin; int sinlen; - uint32_t flags; + uint32_t flags; } addr_entry_t; /* @@ -170,8 +170,8 @@ typedef struct addr_entry { */ typedef struct name_entry { - struct name_entry *forw; - struct name_entry *back; + struct name_entry *forw; + struct name_entry *back; unsigned char name[NETBIOS_NAME_SZ]; unsigned char scope[NETBIOS_DOMAIN_NAME_MAX]; unsigned short attributes; @@ -180,7 +180,7 @@ typedef struct name_entry { } name_entry_t; struct name_question { - struct name_entry *name; + struct name_entry *name; unsigned question_type; unsigned question_class; }; @@ -209,10 +209,10 @@ struct name_packet { unsigned nscount; /* authority recs */ unsigned arcount; /* additional recs */ - struct name_question *question; - struct resource_record *answer; - struct resource_record *authority; - struct resource_record *additional; + struct name_question *question; + struct resource_record *answer; + struct resource_record *authority; + struct resource_record *additional; unsigned char block_data[4]; /* begining of space */ }; @@ -592,8 +592,8 @@ typedef struct datagram_query_packet { typedef struct datagram { - struct datagram *forw; - struct datagram *back; + struct datagram *forw; + struct datagram *back; struct addr_entry inaddr; int discard_timer; unsigned char packet_type; @@ -603,14 +603,14 @@ typedef struct datagram { struct name_entry dest; unsigned short offset; unsigned short data_length; - unsigned char *data; + unsigned char *data; unsigned int rawbytes; unsigned char rawbuf[MAX_DATAGRAM_LENGTH]; } datagram; typedef struct datagram_queue { - struct datagram *forw; - struct datagram *back; + struct datagram *forw; + struct datagram *back; } datagram_queue; typedef struct name_queue { diff --git a/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios_name.c b/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios_name.c index 024fda6e86..e46299c979 100644 --- a/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios_name.c +++ b/usr/src/lib/smbsrv/libsmbns/common/smbns_netbios_name.c @@ -134,6 +134,7 @@ typedef struct nbt_name_reply { boolean_t reply_ready; } nbt_name_reply_t; +char smb_node_type; static nbt_name_reply_t reply_queue; static mutex_t rq_mtx; static cond_t rq_cv; @@ -184,9 +185,9 @@ smb_end_node_challenge(nbt_name_reply_t *reply_info) struct resource_record *answer; struct name_question question; addr_entry_t *addr; - struct name_entry *destination; + struct name_entry *destination; struct name_packet packet; - struct timespec st; + struct timespec st; /* * The response packet has in it the address of the presumed owner @@ -233,10 +234,10 @@ smb_name_get_reply(uint16_t tid, uint32_t timeout) { uint16_t info; struct resource_record *answer; - nbt_name_reply_t *reply; - uint32_t wait_time, to_save; /* in millisecond */ - struct timeval wt; - timestruc_t to; + nbt_name_reply_t *reply; + uint32_t wait_time, to_save; /* in millisecond */ + struct timeval wt; + timestruc_t to; to_save = timeout; reply = malloc(sizeof (nbt_name_reply_t)); @@ -329,12 +330,12 @@ smb_netbios_process_response(uint16_t tid, addr_entry_t *addr, { int rc = 0; uint16_t info; - nbt_name_reply_t *reply; + nbt_name_reply_t *reply; struct resource_record *answer; - struct name_entry *name; - struct name_entry *entry; - struct name_question *question; - uint32_t ttl; + struct name_entry *name; + struct name_entry *entry; + struct name_question *question; + uint32_t ttl; if ((reply = smb_name_get_reply(tid, timeout)) == 0) { return (0); /* No reply: retry */ @@ -482,8 +483,8 @@ smb_name_buf_from_packet(unsigned char *buf, int n_buf, struct name_packet *npb) { addr_entry_t *raddr; - unsigned char *heap = buf; - unsigned char *end_heap = heap + n_buf; + unsigned char *heap = buf; + unsigned char *end_heap = heap + n_buf; unsigned char comp_name_buf[MAX_NAME_LENGTH]; unsigned int tmp; int i, step; @@ -1260,8 +1261,8 @@ smb_send_name_query_request(int bcast, struct name_question *question) uint16_t tid; addr_entry_t *destination; struct name_packet packet; - int i, addr_num; - struct timespec st; + int i, addr_num; + struct timespec st; if (bcast == BROADCAST) { if (bcast_num == 0) @@ -1325,8 +1326,8 @@ smb_send_name_query_response(addr_entry_t *addr, struct name_packet packet; struct resource_record answer; uint16_t attr; - unsigned char data[MAX_DATAGRAM_LENGTH]; - unsigned char *scan = data; + unsigned char data[MAX_DATAGRAM_LENGTH]; + unsigned char *scan = data; uint32_t ret_addr; packet.name_trn_id = original_packet->name_trn_id; @@ -1381,11 +1382,11 @@ smb_send_node_status_response(addr_entry_t *addr, { uint32_t net_ipaddr; int64_t max_connections; - struct arpreq arpreq; + struct arpreq arpreq; struct name_packet packet; struct resource_record answer; - unsigned char *scan; - unsigned char *scan_end; + unsigned char *scan; + unsigned char *scan_end; unsigned char data[MAX_NETBIOS_REPLY_DATA_SIZE]; boolean_t scan_done = B_FALSE; smb_inaddr_t ipaddr; @@ -1523,7 +1524,7 @@ smb_name_Bnode_add_name(struct name_entry *name) { struct name_question question; struct resource_record additional; - unsigned char data[8]; + unsigned char data[8]; uint16_t attr; addr_entry_t *addr; int rc = 0; @@ -1621,7 +1622,7 @@ smb_name_Pnode_add_name(struct name_entry *name) { struct name_question question; struct resource_record additional; - unsigned char data[8]; + unsigned char data[8]; uint16_t attr; addr_entry_t *addr; int rc = 0; @@ -1661,7 +1662,7 @@ smb_name_Pnode_refresh_name(struct name_entry *name) { struct name_question question; struct resource_record additional; - unsigned char data[8]; + unsigned char data[8]; uint16_t attr; addr_entry_t *addr; int rc = 0; @@ -1828,10 +1829,10 @@ smb_name_Hnode_delete_name(struct name_entry *name) static void smb_name_process_Bnode_packet(struct name_packet *packet, addr_entry_t *addr) { - struct name_entry *name; - struct name_entry *entry; - struct name_question *question; - struct resource_record *additional; + struct name_entry *name; + struct name_entry *entry; + struct name_question *question; + struct resource_record *additional; question = packet->question; additional = packet->additional; @@ -1908,10 +1909,10 @@ smb_name_process_Bnode_packet(struct name_packet *packet, addr_entry_t *addr) static void smb_name_process_Pnode_packet(struct name_packet *packet, addr_entry_t *addr) { - struct name_entry *name; - struct name_entry *entry; - struct name_question *question; - struct resource_record *additional; + struct name_entry *name; + struct name_entry *entry; + struct name_question *question; + struct resource_record *additional; question = packet->question; additional = packet->additional; @@ -2382,7 +2383,7 @@ smb_netbios_name_service(void *arg) int len; int flag = 1; char *buf; - worker_param_t *worker_param; + worker_param_t *worker_param; smb_inaddr_t ipaddr; /* diff --git a/usr/src/man/man1/ksh93.1 b/usr/src/man/man1/ksh93.1 index 8bf182d3ec..e4736f5860 100644 --- a/usr/src/man/man1/ksh93.1 +++ b/usr/src/man/man1/ksh93.1 @@ -3,7 +3,7 @@ .\" To view license terms, see http://www.eclipse.org/org/documents/epl-v10.html .\" Portions Copyright (c) 2009, Sun Microsystems, Inc. .\" Portions Copyright 2021 OmniOS Community Edition (OmniOSce) Association. -.TH KSH93 1 "Jan 06, 2020" +.TH KSH93 1 "Feb 17, 2021" .SH NAME ksh93, rksh93 \- Korn Shell, a standard and restricted command and programming language @@ -7212,16 +7212,6 @@ interruptible). In all cases, \fBQUIT\fR is ignored by the shell. .sp .ne 2 .na -\fB-P\fR -.ad -.RS 15n -If \fB-P\fR or \fB-o\fR profile is present, the shell is a profile shell -(see \fBpfexec\fR(1)). -.RE - -.sp -.ne 2 -.na \fB-R\fR \fIfilename\fR .ad .RS 15n @@ -7444,7 +7434,7 @@ The scripting interface is Uncommitted. The environment variables, .SH SEE ALSO \fBcat\fR(1), \fBcd\fR(1), \fBchmod\fR(1), \fBcut\fR(1), \fBdate\fR(1), \fBegrep\fR(1), \fBecho\fR(1), \fBegrep\fR(1), \fBenv\fR(1), \fBfgrep\fR(1), -\fBgrep\fR(1), \fBlogin\fR(1), \fBnewgrp\fR(1), \fBpaste\fR(1), \fBpfexec\fR(1), +\fBgrep\fR(1), \fBlogin\fR(1), \fBnewgrp\fR(1), \fBpaste\fR(1), \fBprintf\fR(1), \fBstty\fR(1), \fBtest\fR(1), \fBumask\fR(1), \fBvi\fR(1), \fBdup\fR(2), \fBexec\fR(2), \fBfork\fR(2), \fBioctl\fR(2), \fBlseek\fR(2), \fBpathconf\fR(2), \fBpipe\fR(2), \fBsysconf\fR(3C), \fBulimit\fR(2), diff --git a/usr/src/psm/stand/boot/Makefile b/usr/src/psm/stand/boot/Makefile index e04bea902f..a9a0654bf0 100644 --- a/usr/src/psm/stand/boot/Makefile +++ b/usr/src/psm/stand/boot/Makefile @@ -34,14 +34,13 @@ all := TARGET= all install := TARGET= install clean := TARGET= clean clobber := TARGET= clobber -lint := TARGET= lint .KEEP_STATE: -all install lint clean: $(SUBDIRS) +all install clean: $(SUBDIRS) clobber: $(SUBDIRS) - $(RM) make.out lint.out + $(RM) make.out $(SUBDIRS): FRC @cd $@; pwd; $(MAKE) $(TARGET) @@ -50,12 +49,11 @@ $(SUBDIRS): FRC # Cross-reference customization: include all boot-related source files. # UTSDIR = ../../../uts -UTSCLOSED = ../../../../closed/uts STANDLIBDIR = ../../../stand/lib STANDSYSDIRS = ../../../stand/sys PROMDIRS = ../../promif NAMESDIRS = ../lib/names -XRDIRS += $(STANDLIBDIR) $(STANDSYSDIRS) $(PROMDIRS) $(NAMESDIRS) +XRDIRS += $(STANDLIBDIR) $(STANDSYSDIRS) $(PROMDIRS) $(NAMESDIRS) # # Components beginning with B! are in the open and closed trees; those diff --git a/usr/src/stand/lib/Makefile b/usr/src/stand/lib/Makefile index 154094db33..c578595c45 100644 --- a/usr/src/stand/lib/Makefile +++ b/usr/src/stand/lib/Makefile @@ -31,12 +31,6 @@ sparc_SUBDIRS = SUBDIRS = fs/hsfs fs/nfs fs/ufs inet sa sock tcpstubs xdr \ tcp $($(MACH)_SUBDIRS) -LINTSUBDIRS = $(SUBDIRS) - -# -# We can get away with this since we're only building .a's, and by the -# time we run lint all of the lint libraries have already been built. -# .PARALLEL: $(SUBDIRS) .KEEP_STATE: @@ -45,23 +39,11 @@ all := TARGET = all clean := TARGET = clean clobber := TARGET = clobber install := TARGET = install -lint := TARGET = lint all clean clobber install: $(SUBDIRS) -lint: $(LINTSUBDIRS) - -# -# The reason this rule checks for the existence of the -# Makefile is that some of the directories do not exist -# in our exportable source builds. -# $(SUBDIRS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(TARGET) FRC: diff --git a/usr/src/test/Makefile.com b/usr/src/test/Makefile.com index 49e23dd496..aec03b8027 100644 --- a/usr/src/test/Makefile.com +++ b/usr/src/test/Makefile.com @@ -17,23 +17,12 @@ all := TARGET = all install := TARGET = install clean := TARGET = clean clobber := TARGET = clobber -lint := TARGET = lint .KEEP_STATE: -all clean clobber install lint: $(SUBDIRS) - -lint_PROG: - $(LINT.c) $(PROG).c $(LDLIBS) - -lint_SRCS: - $(LINT.c) $(SRCS) $(LDLIBS) +all clean clobber install: $(SUBDIRS) $(SUBDIRS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(TARGET) FRC: diff --git a/usr/src/tools/Makefile b/usr/src/tools/Makefile index 64bd18f4e0..1e1efb8393 100644 --- a/usr/src/tools/Makefile +++ b/usr/src/tools/Makefile @@ -165,9 +165,9 @@ bootstrap: $(BOOT_SUBDIRS) _msg: $(MSGSUBDIRS) -.PARALLEL: $(SUBDIRS) $(CLOSED_SUBDIRS) +.PARALLEL: $(SUBDIRS) -$(SUBDIRS) $(CLOSED_SUBDIRS): $(BOOT_SUBDIRS) +$(SUBDIRS): $(BOOT_SUBDIRS) $(BOOT_SUBDIRS) $(SUBDIRS): $$(DOROOTDIRS) $$(DOROOTONBLDLIBPY) FRC @cd $@; pwd; $(MAKE) $(TARGET) diff --git a/usr/src/uts/common/fs/nfs/nfs4_subr.c b/usr/src/uts/common/fs/nfs/nfs4_subr.c index ec5fda53a0..aaec5ca976 100644 --- a/usr/src/uts/common/fs/nfs/nfs4_subr.c +++ b/usr/src/uts/common/fs/nfs/nfs4_subr.c @@ -27,7 +27,7 @@ */ /* - * Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T. + * Copyright (c) 1983,1984,1985,1986,1987,1988,1989 AT&T. * All Rights Reserved */ @@ -1582,7 +1582,7 @@ rfs4call(mntinfo4_t *mi, COMPOUND4args_clnt *argsp, COMPOUND4res_clnt *resp, cred_t *cr, int *doqueue, int flags, nfs4_error_t *ep) { int i, error; - enum clnt_stat rpc_status = NFS4_OK; + enum clnt_stat rpc_status = RPC_SUCCESS; int num_resops; struct nfs4_clnt *nfscl; diff --git a/usr/src/uts/common/fs/smbsrv/smb2_durable.c b/usr/src/uts/common/fs/smbsrv/smb2_durable.c index 56dda62832..2e68090ed4 100644 --- a/usr/src/uts/common/fs/smbsrv/smb2_durable.c +++ b/usr/src/uts/common/fs/smbsrv/smb2_durable.c @@ -10,7 +10,7 @@ */ /* - * Copyright 2018 Nexenta Systems, Inc. All rights reserved. + * Copyright 2019 Nexenta by DDN, Inc. All rights reserved. */ /* @@ -813,7 +813,7 @@ smb2_dh_read_nvlist(smb_request_t *sr, smb_node_t *node, smb_attr_t attr; iovec_t iov; uio_t uio; - smb_kshare_t *shr = sr->arg.tcon.si; + smb_tree_t *tree = sr->tid_tree; cred_t *kcr = zone_kcred(); size_t flen; int rc; @@ -823,14 +823,14 @@ smb2_dh_read_nvlist(smb_request_t *sr, smb_node_t *node, rc = smb_node_getattr(NULL, node, kcr, NULL, &attr); if (rc != 0) { cmn_err(CE_NOTE, "CA import (%s/%s) getattr rc=%d", - shr->shr_path, node->od_name, rc); + tree->t_resource, node->od_name, rc); return (rc); } if (attr.sa_vattr.va_size < 4 || attr.sa_vattr.va_size > sr->sr_req_length) { cmn_err(CE_NOTE, "CA import (%s/%s) bad size=%" PRIu64, - shr->shr_path, node->od_name, + tree->t_resource, node->od_name, (uint64_t)attr.sa_vattr.va_size); return (EINVAL); } @@ -847,19 +847,19 @@ smb2_dh_read_nvlist(smb_request_t *sr, smb_node_t *node, rc = smb_fsop_read(sr, kcr, node, NULL, &uio, 0); if (rc != 0) { cmn_err(CE_NOTE, "CA import (%s/%s) read, rc=%d", - shr->shr_path, node->od_name, rc); + tree->t_resource, node->od_name, rc); return (rc); } if (uio.uio_resid != 0) { cmn_err(CE_NOTE, "CA import (%s/%s) short read", - shr->shr_path, node->od_name); + tree->t_resource, node->od_name); return (EIO); } rc = nvlist_unpack(sr->sr_request_buf, flen, nvlpp, KM_SLEEP); if (rc != 0) { cmn_err(CE_NOTE, "CA import (%s/%s) unpack, rc=%d", - shr->shr_path, node->od_name, rc); + tree->t_resource, node->od_name, rc); return (rc); } diff --git a/usr/src/uts/common/fs/smbsrv/smb2_lease.c b/usr/src/uts/common/fs/smbsrv/smb2_lease.c index 95d7d9c7f1..b4d0aef349 100644 --- a/usr/src/uts/common/fs/smbsrv/smb2_lease.c +++ b/usr/src/uts/common/fs/smbsrv/smb2_lease.c @@ -10,7 +10,7 @@ */ /* - * Copyright 2017 Nexenta Systems, Inc. All rights reserved. + * Copyright 2020 Nexenta by DDN, Inc. All rights reserved. */ /* @@ -653,7 +653,6 @@ done: ofile->f_oplock.og_state = op->op_oplock_state; mutex_enter(&lease->ls_mutex); lease->ls_state = op->op_oplock_state & CACHE_RWH; - lease->ls_oplock_ofile = ofile; lease->ls_epoch++; mutex_exit(&lease->ls_mutex); } @@ -685,6 +684,9 @@ smb2_lease_ofile_close(smb_ofile_t *ofile) smb_lease_t *lease = ofile->f_lease; smb_ofile_t *o; + ASSERT(RW_READ_HELD(&node->n_ofile_list.ll_lock)); + ASSERT(MUTEX_HELD(&node->n_oplock.ol_mutex)); + /* * If this ofile was not the oplock owner for this lease, * we can leave things as they are. @@ -696,24 +698,22 @@ smb2_lease_ofile_close(smb_ofile_t *ofile) * Find another ofile to which we can move the oplock. * The ofile must be open and allow a new ref. */ - smb_llist_enter(&node->n_ofile_list, RW_READER); FOREACH_NODE_OFILE(node, o) { if (o == ofile) continue; if (o->f_lease != lease) continue; + if (o->f_oplock.og_closing) + continue; /* If we can get a hold, use this ofile. */ - if (smb_ofile_hold(o)) + if (smb_ofile_hold_olbrk(o)) break; } if (o == NULL) { /* Normal for last close on a lease. */ - smb_llist_exit(&node->n_ofile_list); return; } smb_oplock_move(node, ofile, o); - lease->ls_oplock_ofile = o; - smb_llist_exit(&node->n_ofile_list); smb_ofile_release(o); } diff --git a/usr/src/uts/common/fs/smbsrv/smb_cmn_oplock.c b/usr/src/uts/common/fs/smbsrv/smb_cmn_oplock.c index 39d67dd824..8ec21f5f37 100644 --- a/usr/src/uts/common/fs/smbsrv/smb_cmn_oplock.c +++ b/usr/src/uts/common/fs/smbsrv/smb_cmn_oplock.c @@ -10,7 +10,7 @@ */ /* - * Copyright 2017 Nexenta Systems, Inc. All rights reserved. + * Copyright 2020 Nexenta by DDN, Inc. All rights reserved. */ /* @@ -495,9 +495,20 @@ smb_oplock_request(smb_request_t *sr, smb_ofile_t *ofile, uint32_t *statep) } /* Give caller back the "Granular" bit. */ - if (status == NT_STATUS_SUCCESS) + if (status == NT_STATUS_SUCCESS) { *statep |= LEVEL_GRANULAR; + /* + * The oplock lease may have moved to this ofile. Update. + * Minor violation of layering here (leases vs oplocks) + * but we want this update coverd by the oplock mutex. + */ +#ifndef TESTJIG + if (ofile->f_lease != NULL) + ofile->f_lease->ls_oplock_ofile = ofile; +#endif + } + out: mutex_exit(&node->n_oplock.ol_mutex); smb_llist_exit(&node->n_ofile_list); @@ -545,6 +556,12 @@ smb_oplock_req_excl( ASSERT(MUTEX_HELD(&node->n_oplock.ol_mutex)); /* + * Don't allow grants on closing ofiles. + */ + if (ofile->f_oplock.og_closing) + return (status); + + /* * If Open.Stream.Oplock is empty: * Build a new Oplock object with fields initialized as follows: * Oplock.State set to NO_OPLOCK. @@ -1030,6 +1047,12 @@ smb_oplock_req_shared( ASSERT(MUTEX_HELD(&node->n_oplock.ol_mutex)); /* + * Don't allow grants on closing ofiles. + */ + if (ofile->f_oplock.og_closing) + return (status); + + /* * If Open.Stream.Oplock is empty: * Build a new Oplock object with fields initialized as follows: * Oplock.State set to NO_OPLOCK. @@ -2036,6 +2059,20 @@ smb_oplock_ack_break( } /* Switch (oplock.state) */ out: + if (status == NT_STATUS_INVALID_OPLOCK_PROTOCOL) + *rop = LEVEL_NONE; + + if (status == NT_STATUS_SUCCESS && + type == LEVEL_GRANULAR && + *rop != LEVEL_NONE) { + *rop |= LEVEL_GRANULAR; + /* As above, leased oplock may have moved. */ +#ifndef TESTJIG + if (ofile->f_lease != NULL) + ofile->f_lease->ls_oplock_ofile = ofile; +#endif + } + /* * The spec. describes waiting for a break here, * but we let the caller do that (when needed) if @@ -2044,14 +2081,6 @@ out: mutex_exit(&node->n_oplock.ol_mutex); smb_llist_exit(&node->n_ofile_list); - if (status == NT_STATUS_INVALID_OPLOCK_PROTOCOL) - *rop = LEVEL_NONE; - - if (status == NT_STATUS_SUCCESS && - type == LEVEL_GRANULAR && - *rop != LEVEL_NONE) - *rop |= LEVEL_GRANULAR; - return (status); } @@ -2257,13 +2286,12 @@ smb_oplock_break_CLOSE(smb_node_t *node, smb_ofile_t *ofile) { smb_ofile_t *o; - if (ofile == NULL) { - ASSERT(0); - return; - } + ASSERT(RW_READ_HELD(&node->n_ofile_list.ll_lock)); + ASSERT(MUTEX_HELD(&node->n_oplock.ol_mutex)); - smb_llist_enter(&node->n_ofile_list, RW_READER); - mutex_enter(&node->n_oplock.ol_mutex); + if (ofile->f_oplock.og_closing) + return; + ofile->f_oplock.og_closing = B_TRUE; /* * If Oplock.IIOplocks is not empty: @@ -2481,8 +2509,6 @@ smb_oplock_break_CLOSE(smb_node_t *node, smb_ofile_t *ofile) if ((node->n_oplock.ol_state & BREAK_ANY) == 0) cv_broadcast(&node->n_oplock.WaitingOpenCV); - mutex_exit(&node->n_oplock.ol_mutex); - smb_llist_exit(&node->n_ofile_list); } /* @@ -3515,8 +3541,7 @@ smb_oplock_move(smb_node_t *node, ASSERT(fr_ofile->f_node == node); ASSERT(to_ofile->f_node == node); - - mutex_enter(&node->n_oplock.ol_mutex); + ASSERT(MUTEX_HELD(&node->n_oplock.ol_mutex)); /* * The ofile to which we're moving the oplock @@ -3541,5 +3566,4 @@ smb_oplock_move(smb_node_t *node, if (node->n_oplock.excl_open == fr_ofile) node->n_oplock.excl_open = to_ofile; - mutex_exit(&node->n_oplock.ol_mutex); } diff --git a/usr/src/uts/common/fs/smbsrv/smb_ofile.c b/usr/src/uts/common/fs/smbsrv/smb_ofile.c index 6f132cebd3..1d7a5c134f 100644 --- a/usr/src/uts/common/fs/smbsrv/smb_ofile.c +++ b/usr/src/uts/common/fs/smbsrv/smb_ofile.c @@ -449,6 +449,20 @@ smb_ofile_close(smb_ofile_t *of, int32_t mtime_sec) SMB_OFILE_VALID(of); + if (of->f_ftype == SMB_FTYPE_DISK) { + smb_node_t *node = of->f_node; + + smb_llist_enter(&node->n_ofile_list, RW_READER); + mutex_enter(&node->n_oplock.ol_mutex); + + if (of->f_lease != NULL) + smb2_lease_ofile_close(of); + smb_oplock_break_CLOSE(node, of); + + mutex_exit(&node->n_oplock.ol_mutex); + smb_llist_exit(&node->n_ofile_list); + } + mutex_enter(&of->f_mutex); ASSERT(of->f_refcnt); @@ -479,9 +493,6 @@ smb_ofile_close(smb_ofile_t *of, int32_t mtime_sec) smb2_dh_close_persistent(of); if (of->f_persistid != 0) smb_ofile_del_persistid(of); - if (of->f_lease != NULL) - smb2_lease_ofile_close(of); - smb_oplock_break_CLOSE(of->f_node, of); /* FALLTHROUGH */ case SMB_FTYPE_PRINTER: /* or FTYPE_DISK */ @@ -1442,11 +1453,18 @@ smb_ofile_delete(void *arg) */ if (of->f_ftype == SMB_FTYPE_DISK || of->f_ftype == SMB_FTYPE_PRINTER) { - ASSERT(of->f_node != NULL); + smb_node_t *node = of->f_node; + + /* + * Oplock cleanup should have made sure that + * excl_open does not point to this ofile. + */ + VERIFY(node->n_oplock.excl_open != of); + /* * Note smb_ofile_close did smb_node_dec_open_ofiles() */ - smb_node_rem_ofile(of->f_node, of); + smb_node_rem_ofile(node, of); } /* diff --git a/usr/src/uts/common/sharefs/Makefile b/usr/src/uts/common/sharefs/Makefile index 611e080a6c..162b45010a 100644 --- a/usr/src/uts/common/sharefs/Makefile +++ b/usr/src/uts/common/sharefs/Makefile @@ -21,10 +21,8 @@ # # Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. -# -# ident "%Z%%M% %I% %E% SMI" # -# uts/common/nfs/Makefile + # # include global definitions # @@ -38,8 +36,8 @@ ROOTDIRS= $(ROOT)/usr/include/sharefs ROOTHDRS= $(ALLHDRS:%=$(ROOTDIRS)/%) -CHECKHDRS= $(HDRS:%.h=%.check) \ - $(CLOSEDHDRS:%.h=$(CLOSED)/uts/common/sharefs/%.check) +CHECKHDRS= $(HDRS:%.h=%.check) + $(ROOTDIRS)/%: % $(INS.file) diff --git a/usr/src/uts/common/smbsrv/smb_ktypes.h b/usr/src/uts/common/smbsrv/smb_ktypes.h index 3bdb713337..0a84506726 100644 --- a/usr/src/uts/common/smbsrv/smb_ktypes.h +++ b/usr/src/uts/common/smbsrv/smb_ktypes.h @@ -601,6 +601,7 @@ typedef struct smb_oplock_grant { uint32_t og_state; /* latest sent to client */ uint32_t og_breaking; /* BREAK_TO... flags */ uint16_t og_dialect; /* how to send breaks */ + boolean_t og_closing; /* File-system level state */ uint8_t onlist_II; uint8_t onlist_R; diff --git a/usr/src/uts/i86pc/Makefile b/usr/src/uts/i86pc/Makefile index 1638d050df..ec0f61cfb4 100644 --- a/usr/src/uts/i86pc/Makefile +++ b/usr/src/uts/i86pc/Makefile @@ -79,11 +79,7 @@ $(IMPLEMENTATIONS): FRC @cd $@; pwd; THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET) $(XMODS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) install_h check: $(IMPLEMENTATIONS) FRC @cd sys; pwd; $(MAKE) $(TARGET) diff --git a/usr/src/uts/i86xpv/Makefile b/usr/src/uts/i86xpv/Makefile index ba2927dfa6..2b62799664 100644 --- a/usr/src/uts/i86xpv/Makefile +++ b/usr/src/uts/i86xpv/Makefile @@ -74,11 +74,7 @@ setup: FRC @cd cpu/scripts; pwd; $(MAKE) $(TARGET) $(XMODS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) install_h check: FRC @cd sys; pwd; $(MAKE) $(TARGET) diff --git a/usr/src/uts/intel/Makefile b/usr/src/uts/intel/Makefile index a75356a089..13b7642799 100644 --- a/usr/src/uts/intel/Makefile +++ b/usr/src/uts/intel/Makefile @@ -115,11 +115,7 @@ genassym $(KMODS) $(SUBDIRS) config: FRC @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) $(XMODS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) install_h check: FRC @cd sys; pwd; $(MAKE) $(TARGET) diff --git a/usr/src/uts/sparc/Makefile b/usr/src/uts/sparc/Makefile index 6fe0be4ce9..f9df68dbc3 100644 --- a/usr/src/uts/sparc/Makefile +++ b/usr/src/uts/sparc/Makefile @@ -55,11 +55,7 @@ $(KMODS) config: FRC @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) $(XMODS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) install_h check: FRC @cd asm; pwd; $(MAKE) $(TARGET) diff --git a/usr/src/uts/sun4u/Makefile b/usr/src/uts/sun4u/Makefile index 7da95236ca..4ceb2d38d8 100644 --- a/usr/src/uts/sun4u/Makefile +++ b/usr/src/uts/sun4u/Makefile @@ -153,11 +153,7 @@ $(IMPLEMENTATIONS): FRC @cd $@; pwd; THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET) $(XMODS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \ - else \ - true; \ - fi + cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) install_h check: install_platforms $(IMPLEMENTATIONS) @cd sys; pwd; $(MAKE) $(TARGET) diff --git a/usr/src/uts/sun4u/grover/Makefile b/usr/src/uts/sun4u/grover/Makefile index f9883da5e1..776bff91c8 100644 --- a/usr/src/uts/sun4u/grover/Makefile +++ b/usr/src/uts/sun4u/grover/Makefile @@ -56,25 +56,20 @@ check := TARGET= check # .KEEP_STATE: -def all clean clobber modlist: $(GROVER_KMODS) \ - $(CLOSED_GROVER_KMODS) +def all clean clobber modlist: $(GROVER_KMODS) install: $(ROOT_GROVER_DIR) \ $(USR_GROVER_DIR) \ $(USR_GROVER_INC_DIR) \ $(USR_GROVER_SBIN_DIR) \ $(USR_GROVER_LIB_DIR) \ - $(GROVER_KMODS) \ - $(CLOSED_GROVER_KMODS) + $(GROVER_KMODS) check install_h: $(GROVER_KMODS): FRC @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) -$(CLOSED_GROVER_KMODS): FRC - cd $(CLOSED)/uts/sun4u/grover/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET) - # # Include common targets. # diff --git a/usr/src/uts/sun4u/javelin/Makefile b/usr/src/uts/sun4u/javelin/Makefile index 2f8ed9a641..fe401c83ef 100644 --- a/usr/src/uts/sun4u/javelin/Makefile +++ b/usr/src/uts/sun4u/javelin/Makefile @@ -54,23 +54,20 @@ check := TARGET= check # .KEEP_STATE: -def all clean clobber modlist: $(JAVELIN_KMODS) \ - $(CLOSED_JAVELIN_KMODS) +def all clean clobber modlist: $(JAVELIN_KMODS) + install: $(ROOT_JAVELIN_DIR) $(USR_JAVELIN_DIR) \ $(USR_JAVELIN_INC_DIR) \ $(USR_JAVELIN_SBIN_DIR) \ $(USR_JAVELIN_LIB_DIR) \ - .WAIT $(JAVELIN_KMODS) $(CLOSED_JAVELIN_KMODS) + .WAIT $(JAVELIN_KMODS) install_h check: $(JAVELIN_KMODS): FRC @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) -$(CLOSED_JAVELIN_KMODS): FRC - cd $(CLOSED)/uts/sun4u/javelin/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET) - # # Include common targets. # diff --git a/usr/src/uts/sun4u/mpxu/Makefile b/usr/src/uts/sun4u/mpxu/Makefile index 6014c8761e..35f9c232c1 100644 --- a/usr/src/uts/sun4u/mpxu/Makefile +++ b/usr/src/uts/sun4u/mpxu/Makefile @@ -54,7 +54,7 @@ check := TARGET= check # .KEEP_STATE: -def all clean clobber modlist: $(MPXU_KMODS) $(CLOSED_MPXU_KMODS) +def all clean clobber modlist: $(MPXU_KMODS) IMPLEMENTED_PLATFORM = SUNW,Sun-Fire-V240 @@ -71,15 +71,11 @@ install: $(ROOT_MPXU_DIR) $(USR_MPXU_DIR) \ $(LINKED_PLATFORMS:%=$(USR_PLAT_DIR)/%) \ $(LINKED_PLATFORMS:%=$(ROOT_PLAT_DIR)/%) \ $(MPXU_CRYPTO_LINKS) \ - $(CLOSED_MPXU_KMODS) \ .WAIT $(MPXU_KMODS) $(MPXU_KMODS): FRC @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) -$(CLOSED_MPXU_KMODS): FRC - cd $(CLOSED)/uts/sun4u/mpxu/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET) - $(MPXU_CRYPTO_LINKS): $(ROOT_MPXU_CRYPTO_DIR_64) -$(RM) $(ROOT_MPXU_CRYPTO_DIR_64)/$@; $(SYMLINK) $(ROOT_US3_CRYPTO_LINK)/$@ $(ROOT_MPXU_CRYPTO_DIR_64)/$@ diff --git a/usr/src/uts/sun4u/opl/Makefile b/usr/src/uts/sun4u/opl/Makefile index 38522fbb5b..c878bb1144 100644 --- a/usr/src/uts/sun4u/opl/Makefile +++ b/usr/src/uts/sun4u/opl/Makefile @@ -54,9 +54,9 @@ check := TARGET= check .KEEP_STATE: def all clean clobber: genassym unix .WAIT \ - $(OPL_CPU_KMODS) $(OPL_KMODS) $(CLOSED_OPL_KMODS) + $(OPL_CPU_KMODS) $(OPL_KMODS) -modlist: unix $(OPL_CPU_KMODS) $(OPL_KMODS) $(CLOSED_OPL_KMODS) +modlist: unix $(OPL_CPU_KMODS) $(OPL_KMODS) IMPLEMENTED_PLATFORM = SUNW,SPARC-Enterprise @@ -68,14 +68,11 @@ install: $(ROOT_OPL_DIR) $(USR_OPL_DIR) \ $(USR_OPL_LIB_DIR) \ $(OPL_CRYPTO_LINKS) \ genassym unix .WAIT $(OPL_CPU_KMODS) $(OPL_KMODS) \ - $(CLOSED_OPL_KMODS) $(OPLMSU_OPTION) + $(OPLMSU_OPTION) genassym unix $(OPL_KMODS) $(OPL_CPU_KMODS): FRC @cd $@; pwd; $(MAKE) $(TARGET) -$(CLOSED_OPL_KMODS): FRC - cd $(CLOSED)/uts/sun4u/opl/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET) - $(OPL_CRYPTO_LINKS): $(ROOT_OPL_CRYPTO_DIR_64) -$(RM) $(ROOT_OPL_CRYPTO_DIR_64)/$@ $(SYMLINK) $(ROOT_US3_CRYPTO_LINK)/$@ $(ROOT_OPL_CRYPTO_DIR_64)/$@ diff --git a/usr/src/uts/sun4u/sunfire/Makefile b/usr/src/uts/sun4u/sunfire/Makefile index d3d0cfc768..72f0ccea2b 100644 --- a/usr/src/uts/sun4u/sunfire/Makefile +++ b/usr/src/uts/sun4u/sunfire/Makefile @@ -54,8 +54,7 @@ check := TARGET= check # .KEEP_STATE: -def all clean clobber modlist: \ - $(SUNFIRE_KMODS) $(CLOSED_SUNFIRE_KMODS) +def all clean clobber modlist: $(SUNFIRE_KMODS) IMPLEMENTED_PLATFORM = SUNW,Ultra-Enterprise @@ -63,7 +62,7 @@ install: $(ROOT_SUNFIRE_DIR) $(USR_SUNFIRE_DIR) \ $(USR_SUNFIRE_INC_DIR) \ $(USR_SUNFIRE_SBIN_DIR) \ $(USR_SUNFIRE_LIB_DIR) \ - .WAIT $(SUNFIRE_KMODS) $(CLOSED_SUNFIRE_KMODS) + .WAIT $(SUNFIRE_KMODS) install_h check: FRC @cd sys; pwd; $(MAKE) $(TARGET) @@ -71,9 +70,6 @@ install_h check: FRC $(SUNFIRE_KMODS): FRC @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) -$(CLOSED_SUNFIRE_KMODS): FRC - @cd $(CLOSED)/uts/sun4u/sunfire/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET) - # # Include common targets. # diff --git a/usr/src/uts/sun4u/tazmo/Makefile b/usr/src/uts/sun4u/tazmo/Makefile index 53480d8bb5..3f898a0c9a 100644 --- a/usr/src/uts/sun4u/tazmo/Makefile +++ b/usr/src/uts/sun4u/tazmo/Makefile @@ -55,22 +55,19 @@ check := TARGET= check # .KEEP_STATE: -def all clean clobber modlist: $(TAZMO_KMODS) $(CLOSED_TAZMO_KMODS) +def all clean clobber modlist: $(TAZMO_KMODS) install: $(ROOT_TAZMO_DIR) $(USR_TAZMO_DIR) \ $(USR_TAZMO_INC_DIR) \ $(USR_TAZMO_SBIN_DIR) \ $(USR_TAZMO_LIB_DIR) \ - $(TAZMO_KMODS) $(CLOSED_TAZMO_KMODS) + $(TAZMO_KMODS) check install_h: $(TAZMO_KMODS): FRC @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) -$(CLOSED_TAZMO_KMODS): FRC - cd $(CLOSED)/uts/sun4u/tazmo/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET) - # # Include common targets. # diff --git a/usr/src/uts/sun4v/Makefile b/usr/src/uts/sun4v/Makefile index 8b09c1e732..f16af3e3c8 100644 --- a/usr/src/uts/sun4v/Makefile +++ b/usr/src/uts/sun4v/Makefile @@ -53,19 +53,17 @@ check := TARGET= check .KEEP_STATE: -.PARALLEL: $(PARALLEL_KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) \ - modlist modlist.sparc +.PARALLEL: $(PARALLEL_KMODS) $(XMODS) modlist modlist.sparc # Override for CPU_KMODS... they cannot be built # in parallel .NO_PARALLEL: $(CPU_KMODS) def all clean clobber: genassym unix .WAIT \ - $(KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) $(IMPLEMENTATIONS) + $(KMODS) $(XMODS) $(IMPLEMENTATIONS) # list the modules under sun4v. -modlist: unix $(KMODS) $(CLOSED_KMODS) $(XMODS) $(CLOSED_XMODS) \ - $(IMPLEMENTATIONS) +modlist: unix $(KMODS) $(XMODS) $(IMPLEMENTATIONS) # list the modules for Install -k sun4v. modlist.karch: modlist modlist.sparc @@ -73,8 +71,8 @@ modlist.karch: modlist modlist.sparc modlist.sparc: @cd $(SRC)/uts/sparc; pwd; $(MAKE) $(NO_STATE) modlist -install: install_platforms genassym unix .WAIT $(KMODS) $(CLOSED_KMODS) \ - $(XMODS) $(CLOSED_XMODS) $(IMPLEMENTATIONS) +install: install_platforms genassym unix .WAIT $(KMODS) \ + $(XMODS) $(IMPLEMENTATIONS) genassym unix $(KMODS): FRC @cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) @@ -83,22 +81,7 @@ $(IMPLEMENTATIONS): FRC @cd $@; pwd; THISIMPL=$@ $(MAKE) $(NO_STATE) $(TARGET) $(XMODS): FRC - @if [ -f $@/Makefile ]; then \ - cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET); \ - else \ - true; \ - fi - -$(CLOSED_XMODS): FRC - @if [ -f $(CLOSED)/uts/sun4v/$@/Makefile ]; then \ - cd $(CLOSED)/uts/sun4v/$@; pwd; \ - $(MAKE) $(NO_STATE) $(TARGET); \ - else \ - true; \ - fi - -$(CLOSED_KMODS): FRC - cd $(CLOSED)/uts/sun4v/$@; pwd; $(MAKE) $(NO_STATE) $(TARGET) + cd $@; pwd; $(MAKE) $(NO_STATE) $(TARGET) install_h check: install_platforms $(IMPLEMENTATIONS) FRC @cd sys; pwd; $(MAKE) $(TARGET) |