From eb459a53dd5ee2db4c6c3eb63fe988a901174fc2 Mon Sep 17 00:00:00 2001 From: Richard Lowe Date: Wed, 25 Feb 2015 12:03:13 -0500 Subject: 872 remove duplicate daemon() definitions (backward compatibility) --- usr/src/lib/libresolv2/common/mapfile-vers | 1 + 1 file changed, 1 insertion(+) (limited to 'usr/src') diff --git a/usr/src/lib/libresolv2/common/mapfile-vers b/usr/src/lib/libresolv2/common/mapfile-vers index cd2b90ad2c..cc19f12da1 100644 --- a/usr/src/lib/libresolv2/common/mapfile-vers +++ b/usr/src/lib/libresolv2/common/mapfile-vers @@ -130,6 +130,7 @@ SYMBOL_VERSION SUNWprivate_2.1 { __ctl_sendhelp; __ctl_server; __ctl_setcsctx; + daemon { TYPE = FUNCTION; FILTER = libc.so.1 }; dn_count_labels; __dn_count_labels; dn_skipname; -- cgit v1.2.3 From d907f8b938aec9d8b57fdb15c241b98641b8b052 Mon Sep 17 00:00:00 2001 From: Dave Eddy Date: Mon, 23 Feb 2015 14:43:52 -0500 Subject: 5397 pfiles slow with many open sockets Reviewed by: Robert Mustacchi Reviewed by: Dan McDonald Approved by: Garrett D'Amore --- usr/src/lib/libproc/common/Pfdinfo.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'usr/src') diff --git a/usr/src/lib/libproc/common/Pfdinfo.c b/usr/src/lib/libproc/common/Pfdinfo.c index 124439773b..27264091f8 100644 --- a/usr/src/lib/libproc/common/Pfdinfo.c +++ b/usr/src/lib/libproc/common/Pfdinfo.c @@ -134,10 +134,20 @@ load_fdinfo(struct ps_prochandle *P) info->pr_offset = pr_llseek(P, fd, 0, SEEK_CUR); /* attempt to determine the path to it */ - (void) snprintf(path, sizeof (path), - "%s/%d/path/%d", procfs_path, (int)P->pid, fd); - len = readlink(path, info->pr_path, - sizeof (info->pr_path) - 1); + switch (info->pr_mode & S_IFMT) { + case S_IFDOOR: + case S_IFSOCK: + /* not applicable */ + len = -1; + break; + default: + (void) snprintf(path, sizeof (path), + "%s/%d/path/%d", procfs_path, (int)P->pid, + fd); + len = readlink(path, info->pr_path, + sizeof (info->pr_path) - 1); + break; + } if (len < 0) { info->pr_path[0] = 0; -- cgit v1.2.3 From ce926fbb3eac0337e32c8855d5843ab73a07c345 Mon Sep 17 00:00:00 2001 From: Zhiwen Zheng Date: Sat, 21 Feb 2015 20:44:04 +0300 Subject: 4598 fmd(1m): redzone violation: write past end of buffer Reviewed by: Richard Lowe Reviewed by: Marcel Telka Approved by: Robert Mustacchi --- usr/src/cmd/fm/fmd/common/fmd_trace.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'usr/src') diff --git a/usr/src/cmd/fm/fmd/common/fmd_trace.c b/usr/src/cmd/fm/fmd/common/fmd_trace.c index 2bb0187cd3..bea6e8d450 100644 --- a/usr/src/cmd/fm/fmd/common/fmd_trace.c +++ b/usr/src/cmd/fm/fmd/common/fmd_trace.c @@ -24,8 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include #include @@ -154,6 +152,7 @@ fmd_trace_full(fmd_tracebuf_t *tbp, uint_t tag, const char *format, va_list ap) } (void) getcontext(&uc); + trp->tr_depth = 0; trp->tr_tag = tbp->tb_frames; /* for use by fmd_trace_frame() */ (void) walkcontext(&uc, (int (*)())fmd_trace_frame, trp); -- cgit v1.2.3 From da5086c104e170d3832a3e1782dc8617061c7fc6 Mon Sep 17 00:00:00 2001 From: Albert Lee Date: Tue, 17 Feb 2015 15:06:48 +0300 Subject: 443 auditset SMF not able to start in non-global zones Reviewed by: Adam Stevko Reviewed by: Andy Stormont Reviewed by: Igor Kozhukhov Approved by: Robert Mustacchi --- usr/src/cmd/auditset/svc-auditset.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'usr/src') diff --git a/usr/src/cmd/auditset/svc-auditset.c b/usr/src/cmd/auditset/svc-auditset.c index 4c01f278f8..cc2b8482d2 100644 --- a/usr/src/cmd/auditset/svc-auditset.c +++ b/usr/src/cmd/auditset/svc-auditset.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -67,6 +68,7 @@ main(void) { char *auditset_fmri; char *mask_cfg; + uint32_t policy; (void) setlocale(LC_ALL, ""); (void) textdomain(TEXT_DOMAIN); @@ -92,6 +94,16 @@ main(void) return (SMF_EXIT_OK); } + /* check the audit policy */ + if (auditon(A_GETPOLICY, (caddr_t)&policy, 0) == -1) { + (void) printf("Could not read audit policy: %s\n", + strerror(errno)); + return (SMF_EXIT_ERR_OTHER); + } + + if (!(policy & AUDIT_PERZONE) && (getzoneid() != GLOBAL_ZONEID)) + return (SMF_EXIT_OK); + /* update attributable mask */ if (!do_getflags_scf(&mask_cfg) || mask_cfg == NULL) { (void) printf("Could not get configured attributable audit " -- cgit v1.2.3