From d5614e49224899629aa1d6699cdb0d1736831dec Mon Sep 17 00:00:00 2001 From: JinWang An Date: Tue, 28 Dec 2021 10:01:56 +0900 Subject: [PATCH] Imported Upstream version 4.91 --- 00DIST | 13 +++++- 00LSOF-L | 13 +++--- dialects/linux/dnode.c | 5 +- dialects/linux/dproc.c | 5 +- dialects/linux/dsock.c | 12 +++-- lsof.8 | 2 +- lsof.h | 24 ++++++---- lsof.man | 122 ++++++++++++++++++++++++------------------------- main.c | 6 +-- version | 2 +- 10 files changed, 113 insertions(+), 91 deletions(-) diff --git a/00DIST b/00DIST index 9c5f0b2..ea4c375 100644 --- a/00DIST +++ b/00DIST @@ -119,6 +119,7 @@ 4.88, October 13, 2014 4.89, July 7, 2015 4.90, February 14, 2018 + 4.91, March 26, 2018 Dialects Supported @@ -4872,5 +4873,15 @@ Supplement Regenerated the 4.04 distribution to correct a non- Corrected Linux command extraction for commands that include parentheses -- e.g., "(sd-pam)". +4.91 March 26, 2018 + + A bug has been reported in the PTY endpoint processing of + Linux lsof 4.90 by Peter Wu , making it + necessary for me to release another revision of lsof. + + This revision applies two fixes that correct the Linux PTY + endpoint processing bug. Masatake YAMATO + supplied the fixes. + Vic Abell -February 14, 2018 +March 26, 2018 diff --git a/00LSOF-L b/00LSOF-L index 96147bd..4f2603a 100644 --- a/00LSOF-L +++ b/00LSOF-L @@ -63,13 +63,12 @@ mainly limiting it to announcements of new revisions, patches and security issues. Postings don't appear until I've approved them. -Send Bug Reports to Me Via E-Mail -================================= +Send Bug Reports to lsof-l, too +=============================== -DON'T SEND BUG REPORTS TO lsof-l. Send them directly to me via e-mail -at . Make sure lsof appears in the "Subject:" line and -make sure you first read the "Bug Reports" section of the 00README file -of the lsof distribution. +Since I am no longer actively supporting lsof -- 4.91 is probably the +last revision I will distribute -- bug reports should be sent to +lsof-l. There are readers of lsof-l who may be able to help you. Unsubscribing @@ -97,4 +96,4 @@ lsof-l-request or the web interface. Vic Abell -September 16, 2015 +March ??? 2018 diff --git a/dialects/linux/dnode.c b/dialects/linux/dnode.c index ce80b5d..58288d6 100644 --- a/dialects/linux/dnode.c +++ b/dialects/linux/dnode.c @@ -32,7 +32,7 @@ #ifndef lint static char copyright[] = "@(#) Copyright 1997 Purdue Research Foundation.\nAll rights reserved.\n"; -static char *rcsid = "$Id: dnode.c,v 1.26 2018/02/14 14:26:38 abe Exp $"; +static char *rcsid = "$Id: dnode.c,v 1.27 2018/03/26 21:52:29 abe Exp $"; #endif @@ -737,7 +737,8 @@ process_proc_node(p, pbr, s, ss, l, ls) Lf->rdev_def = 1; #if defined(HASEPTOPTS) && defined(HASPTYEPT) - if ((Ntype == N_CHR) + if (FeptE + && (Ntype == N_CHR) && is_pty_slave(GET_MAJ_DEV(Lf->rdev)) ) { enter_ptmxi(GET_MIN_DEV(Lf->rdev)); diff --git a/dialects/linux/dproc.c b/dialects/linux/dproc.c index 5c10c4f..861ce74 100644 --- a/dialects/linux/dproc.c +++ b/dialects/linux/dproc.c @@ -32,7 +32,7 @@ #ifndef lint static char copyright[] = "@(#) Copyright 1997 Purdue Research Foundation.\nAll rights reserved.\n"; -static char *rcsid = "$Id: dproc.c,v 1.30 2018/02/14 14:26:38 abe Exp $"; +static char *rcsid = "$Id: dproc.c,v 1.31 2018/03/26 21:52:29 abe Exp $"; #endif #include "lsof.h" @@ -1258,7 +1258,8 @@ process_id(idp, idpl, cmd, uid, pid, ppid, pgid, tid, tcmd) enter_nm(rest); #if defined(HASEPTOPTS) && defined(HASPTYEPT) - else if (Lf->rdev_def + else if (FeptE + && Lf->rdev_def && is_pty_ptmx(Lf->rdev) && (av & FDINFO_TTY_INDEX) ) { diff --git a/dialects/linux/dsock.c b/dialects/linux/dsock.c index 6e6e449..0df77b1 100644 --- a/dialects/linux/dsock.c +++ b/dialects/linux/dsock.c @@ -32,7 +32,7 @@ #ifndef lint static char copyright[] = "@(#) Copyright 1997 Purdue Research Foundation.\nAll rights reserved.\n"; -static char *rcsid = "$Id: dsock.c,v 1.42 2018/02/14 14:26:38 abe Exp $"; +static char *rcsid = "$Id: dsock.c,v 1.43 2018/03/26 21:52:29 abe Exp $"; #endif @@ -141,7 +141,7 @@ struct sctpsin { /* SCTP socket information */ struct tcp_udp { /* IPv4 TCP and UDP socket * information */ INODETYPE inode; - unsigned long faddr, laddr; /* foreign & local IPv6 addresses */ + unsigned long faddr, laddr; /* foreign & local IPv4 addresses */ int fport, lport; /* foreign & local ports */ unsigned long txq, rxq; /* transmit & receive queue values */ int proto; /* 0 = TCP, 1 = UDP, 2 = UDPLITE */ @@ -153,7 +153,7 @@ struct tcp_udp { /* IPv4 TCP and UDP socket struct tcp_udp6 { /* IPv6 TCP and UDP socket * information */ INODETYPE inode; - struct in6_addr faddr, laddr; /* foreign and local IPv6 addresses */ + struct in6_addr faddr, laddr; /* foreign & local IPv6 addresses */ int fport, lport; /* foreign & local ports */ unsigned long txq, rxq; /* transmit & receive queue values */ int proto; /* 0 = TCP, 1 = UDP, 2 = UDPLITE */ @@ -587,6 +587,10 @@ clear_uxsinfo() if ((ui = Uxsin[h])) { do { up = ui->next; + if (ui->path) + (void) free((FREE_P *)ui->path); + if (ui->pcb) + (void) free((FREE_P *)ui->pcb); (void) free((FREE_P *)ui); ui = up; } while (ui); @@ -2395,6 +2399,8 @@ get_raw6(p) (void) free((FREE_P *)rp->la); if (rp->ra) (void) free((FREE_P *)rp->ra); + if (rp->sp) + (void) free((FREE_P *)rp->sp); (void) free((FREE_P *)rp); } Rawsin6[h] = (struct rawsin *)NULL; diff --git a/lsof.8 b/lsof.8 index d15eca7..bc48e3b 100644 --- a/lsof.8 +++ b/lsof.8 @@ -1,4 +1,4 @@ -.ds VN 4.90 +.ds VN 4.91 .TH LSOF 8 Revision-\*(VN \" Register )P is used neither by this file nor any groff macro. However, \" some versions of nroff require it. diff --git a/lsof.h b/lsof.h index 06903fa..eea3822 100644 --- a/lsof.h +++ b/lsof.h @@ -31,7 +31,7 @@ /* - * $Id: lsof.h,v 1.69 2018/02/14 14:19:25 abe Exp $ + * $Id: lsof.h,v 1.70 2018/03/26 21:50:45 abe Exp $ */ @@ -85,18 +85,22 @@ struct l_dev { * End point definitions */ -#define CHEND_PIPE 1 /* pipe endpoint ID */ -#define CHEND_PTY 4 /* pseudoterminal endpoint ID */ -#define EPT_PIPE 1 /* process has pipe file */ -#define EPT_PIPE_END 2 /* process has pipe end point file */ -#define EPT_PTY 8 /* process has a pseudoterminal file */ -#define EPT_PTY_END 16 /* process has a pseudoterminal end +#define CHEND_PIPE 0x01 /* pipe endpoint ID */ +#define CHEND_PTY 0x02 /* pseudoterminal endpoint ID */ + +# if defined(HASUXSOCKEPT) +#define CHEND_UXS 0x04 /* UNIX socket endpoint ID */ +# endif /* defined(HASUXSOCKEPT) */ + +#define EPT_PIPE 0x01 /* process has pipe file */ +#define EPT_PIPE_END 0x02 /* process has pipe end point file */ +#define EPT_PTY 0x04 /* process has a pseudoterminal file */ +#define EPT_PTY_END 0x08 /* process has a pseudoterminal end * point file */ # if defined(HASUXSOCKEPT) -#define CHEND_UXS 2 /* UNIX socket endpoint ID */ -#define EPT_UXS 4 /* process has a UNIX socket file */ -#define EPT_UXS_END 8 /* process has a UNIX socket end point +#define EPT_UXS 0x10 /* process has a UNIX socket file */ +#define EPT_UXS_END 0x20 /* process has a UNIX socket end point * file */ # endif /* defined(HASUXSOCKEPT) */ # endif /* defined(HASEPTOPTS) */ diff --git a/lsof.man b/lsof.man index 3cd65c6..92ae414 100644 --- a/lsof.man +++ b/lsof.man @@ -17,7 +17,7 @@ SYNOPSIS ] [ -z [z] ] [ -Z [Z] ] [ -- ] [names] DESCRIPTION - Lsof revision 4.90 lists on its standard output file infor- + Lsof revision 4.91 lists on its standard output file infor- mation about files opened by processes for the following UNIX dialects: @@ -60,7 +60,7 @@ OPTIONS -SunOS 5.9 Last change: Revision-4.90 1 +SunOS 5.9 Last change: Revision-4.91 1 @@ -126,7 +126,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 2 +SunOS 5.9 Last change: Revision-4.91 2 @@ -192,7 +192,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 3 +SunOS 5.9 Last change: Revision-4.91 3 @@ -258,7 +258,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 4 +SunOS 5.9 Last change: Revision-4.91 4 @@ -324,7 +324,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 5 +SunOS 5.9 Last change: Revision-4.91 5 @@ -390,7 +390,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 6 +SunOS 5.9 Last change: Revision-4.91 6 @@ -456,7 +456,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 7 +SunOS 5.9 Last change: Revision-4.91 7 @@ -522,7 +522,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 8 +SunOS 5.9 Last change: Revision-4.91 8 @@ -588,7 +588,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 9 +SunOS 5.9 Last change: Revision-4.91 9 @@ -654,7 +654,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 10 +SunOS 5.9 Last change: Revision-4.91 10 @@ -720,7 +720,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 11 +SunOS 5.9 Last change: Revision-4.91 11 @@ -786,7 +786,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 12 +SunOS 5.9 Last change: Revision-4.91 12 @@ -852,7 +852,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 13 +SunOS 5.9 Last change: Revision-4.91 13 @@ -918,7 +918,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 14 +SunOS 5.9 Last change: Revision-4.91 14 @@ -984,7 +984,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 15 +SunOS 5.9 Last change: Revision-4.91 15 @@ -1050,7 +1050,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 16 +SunOS 5.9 Last change: Revision-4.91 16 @@ -1116,7 +1116,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 17 +SunOS 5.9 Last change: Revision-4.91 17 @@ -1182,7 +1182,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 18 +SunOS 5.9 Last change: Revision-4.91 18 @@ -1248,7 +1248,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 19 +SunOS 5.9 Last change: Revision-4.91 19 @@ -1314,7 +1314,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 20 +SunOS 5.9 Last change: Revision-4.91 20 @@ -1380,7 +1380,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 21 +SunOS 5.9 Last change: Revision-4.91 21 @@ -1446,7 +1446,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 22 +SunOS 5.9 Last change: Revision-4.91 22 @@ -1512,7 +1512,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 23 +SunOS 5.9 Last change: Revision-4.91 23 @@ -1578,7 +1578,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 24 +SunOS 5.9 Last change: Revision-4.91 24 @@ -1644,7 +1644,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 25 +SunOS 5.9 Last change: Revision-4.91 25 @@ -1710,7 +1710,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 26 +SunOS 5.9 Last change: Revision-4.91 26 @@ -1776,7 +1776,7 @@ AFS -SunOS 5.9 Last change: Revision-4.90 27 +SunOS 5.9 Last change: Revision-4.91 27 @@ -1842,7 +1842,7 @@ SECURITY -SunOS 5.9 Last change: Revision-4.90 28 +SunOS 5.9 Last change: Revision-4.91 28 @@ -1908,7 +1908,7 @@ OUTPUT -SunOS 5.9 Last change: Revision-4.90 29 +SunOS 5.9 Last change: Revision-4.91 29 @@ -1974,7 +1974,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 30 +SunOS 5.9 Last change: Revision-4.91 30 @@ -2040,7 +2040,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 31 +SunOS 5.9 Last change: Revision-4.91 31 @@ -2106,7 +2106,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 32 +SunOS 5.9 Last change: Revision-4.91 32 @@ -2172,7 +2172,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 33 +SunOS 5.9 Last change: Revision-4.91 33 @@ -2238,7 +2238,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 34 +SunOS 5.9 Last change: Revision-4.91 34 @@ -2304,7 +2304,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 35 +SunOS 5.9 Last change: Revision-4.91 35 @@ -2370,7 +2370,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 36 +SunOS 5.9 Last change: Revision-4.91 36 @@ -2436,7 +2436,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 37 +SunOS 5.9 Last change: Revision-4.91 37 @@ -2502,7 +2502,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 38 +SunOS 5.9 Last change: Revision-4.91 38 @@ -2568,7 +2568,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 39 +SunOS 5.9 Last change: Revision-4.91 39 @@ -2634,7 +2634,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 40 +SunOS 5.9 Last change: Revision-4.91 40 @@ -2700,7 +2700,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 41 +SunOS 5.9 Last change: Revision-4.91 41 @@ -2766,7 +2766,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 42 +SunOS 5.9 Last change: Revision-4.91 42 @@ -2832,7 +2832,7 @@ OUTPUT FOR OTHER PROGRAMS -SunOS 5.9 Last change: Revision-4.90 43 +SunOS 5.9 Last change: Revision-4.91 43 @@ -2898,7 +2898,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 44 +SunOS 5.9 Last change: Revision-4.91 44 @@ -2964,7 +2964,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 45 +SunOS 5.9 Last change: Revision-4.91 45 @@ -3030,7 +3030,7 @@ BLOCKS AND TIMEOUTS -SunOS 5.9 Last change: Revision-4.90 46 +SunOS 5.9 Last change: Revision-4.91 46 @@ -3096,7 +3096,7 @@ ALTERNATE DEVICE NUMBERS -SunOS 5.9 Last change: Revision-4.90 47 +SunOS 5.9 Last change: Revision-4.91 47 @@ -3162,7 +3162,7 @@ KERNEL NAME CACHE -SunOS 5.9 Last change: Revision-4.90 48 +SunOS 5.9 Last change: Revision-4.91 48 @@ -3228,7 +3228,7 @@ DEVICE CACHE FILE -SunOS 5.9 Last change: Revision-4.90 49 +SunOS 5.9 Last change: Revision-4.91 49 @@ -3294,7 +3294,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 50 +SunOS 5.9 Last change: Revision-4.91 50 @@ -3360,7 +3360,7 @@ LSOF PERMISSIONS THAT AFFECT DEVICE CACHE FILE ACCESS -SunOS 5.9 Last change: Revision-4.90 51 +SunOS 5.9 Last change: Revision-4.91 51 @@ -3426,7 +3426,7 @@ DEVICE CACHE PATH FROM AN ENVIRONMENT VARIABLE -SunOS 5.9 Last change: Revision-4.90 52 +SunOS 5.9 Last change: Revision-4.91 52 @@ -3492,7 +3492,7 @@ PERSONAL DEVICE CACHE PATH (DEFAULT) -SunOS 5.9 Last change: Revision-4.90 53 +SunOS 5.9 Last change: Revision-4.91 53 @@ -3558,7 +3558,7 @@ MODIFIED PERSONAL DEVICE CACHE PATH -SunOS 5.9 Last change: Revision-4.90 54 +SunOS 5.9 Last change: Revision-4.91 54 @@ -3624,7 +3624,7 @@ EXAMPLES -SunOS 5.9 Last change: Revision-4.90 55 +SunOS 5.9 Last change: Revision-4.91 55 @@ -3690,7 +3690,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 56 +SunOS 5.9 Last change: Revision-4.91 56 @@ -3756,7 +3756,7 @@ Maintenance Procedures LSOF(8) -SunOS 5.9 Last change: Revision-4.90 57 +SunOS 5.9 Last change: Revision-4.91 57 @@ -3822,7 +3822,7 @@ BUGS -SunOS 5.9 Last change: Revision-4.90 58 +SunOS 5.9 Last change: Revision-4.91 58 @@ -3888,7 +3888,7 @@ FILES -SunOS 5.9 Last change: Revision-4.90 59 +SunOS 5.9 Last change: Revision-4.91 59 @@ -3954,7 +3954,7 @@ SEE ALSO -SunOS 5.9 Last change: Revision-4.90 60 +SunOS 5.9 Last change: Revision-4.91 60 diff --git a/main.c b/main.c index 3c42b9d..169e334 100644 --- a/main.c +++ b/main.c @@ -34,7 +34,7 @@ #ifndef lint static char copyright[] = "@(#) Copyright 1994 Purdue Research Foundation.\nAll rights reserved.\n"; -static char *rcsid = "$Id: main.c,v 1.58 2018/02/14 14:20:14 abe Exp $"; +static char *rcsid = "$Id: main.c,v 1.59 2018/03/26 21:50:45 abe Exp $"; #endif @@ -1444,9 +1444,9 @@ main(argc, argv) (void) clear_uxsinfo(); # endif /* defined(HASUXSOCKEPT) */ -# if defined(HASEPTOPTS) +# if defined(HASPTYEPT) (void) clear_ptyinfo(); -# endif /* defined(HASEPTOPTS) */ +# endif /* defined(HASPTYEPT) */ #endif /* defined(HASEPTOPTS) */ if (rc) { diff --git a/version b/version index 2363e67..f2a1889 100644 --- a/version +++ b/version @@ -1 +1 @@ -.ds VN 4.90 +.ds VN 4.91 -- 2.7.4