Home | History | Annotate | Download | only in kdump
History log of /src/usr.bin/kdump/kdump.c
RevisionDateAuthorComments
 1.147  14-Sep-2025  christos PR/59642: Taylor R Campbell: kdump doesn't show port number for mbsoname
 1.146  06-Mar-2025  rillig kdump: remove extra space in message for SIGCHLD
 1.145  16-Mar-2024  ryoon branches: 1.145.2;
Remove debug print
 1.144  10-Mar-2024  rillig kdump: keep the comment with its corresponding code

No binary change.
 1.143  10-Mar-2024  christos decode some {g,s}etsockopt*.
 1.142  11-Feb-2024  kre PR bin/57918

Redo the previous correctly, the test should be whether or not only the
bottom 32 bits are set, rather than whether any of bits 32..63 are set.
This makes no difference if u_long (or unsigned long long) is 64 bits,
it is the same test in that case, but if u_long were 128 bits there is
a notable difference (though for the particular issue observed in the PR,
it is likely to work either way).
 1.141  10-Feb-2024  christos PR/57918: Taylor R Campbell: Don't try to print symbolically ioctls that
have bits set on the high 32 bits of a 64 bit long.
 1.140  20-Jun-2021  chs branches: 1.140.2;
fix printf format string for xattr names (the length of the xattr name
needs to be a precision rather than a width).
 1.139  30-Apr-2020  martin futexput: cast the mask to u_long (as the op already is)
 1.138  30-Apr-2020  thorpej Decode futex op codes.
 1.137  20-Apr-2020  christos Understand xattr ktruser records
 1.136  03-Apr-2020  wiz Update usage for ioctlprint.
 1.135  02-Apr-2020  christos Add the ability to:
1. list all ioctls (-l)
2. print the internal definition symbolically
3. search by name

$ ioctlprint -f "%n %E %e\n" TIOCGETA
TIOCGETA _IOR('t', 19, struct termios) _IOR('t',0x13,0x2c)
 1.134  02-Apr-2020  christos *** empty log message ***
 1.133  02-Apr-2020  kamil Add ioctlprint - descriptive ioctl value printer

ioctlprint(1) is embedded in the kdump(1) program.
 1.132  23-Jul-2019  nonaka kdump(1): Symbolic printing for MALLOC_OPTIONS="U".
 1.131  06-May-2019  christos You don't have to be _LP64 to run 32 bit binaries. You can be mips (64 bit
kernel/32 bit userland).
 1.130  29-Apr-2018  christos branches: 1.130.2;
print the mprotect perm argument symbolically.
 1.129  10-Sep-2017  wiz branches: 1.129.2;
Sync usage with man page.
 1.128  08-Sep-2017  uwe Print negative time offsets correctly. Provide an exegetical quote
from riastradh@, slightly edited to fit the metre.
 1.127  08-Sep-2017  uwe Option -E to display elapsed timestamps (time since beginning of trace).

Option name from FreeBSD. While here, make it possible to use a
combination of -T -E and -R to display timestamps in several formats.
Idea also from FreeBSD.
 1.126  08-Sep-2017  uwe Drop support for KTRFACv0 (NetBSD 3) and KTRFACv1 (NetBSD 5).
Note that on 32-bit platforms it probably never worked anyway because
header size changed from v1 to v2 when time_t became 64 bit.

ok christos@
CVS: ----------------------------------------------------------------------
CVS: CVSROOT cvs.NetBSD.org:/cvsroot
CVS: please use "PR category/123" to have the commitmsg appended to PR 123
CVS:
CVS: Please evaluate your changes and consider the following.
CVS: Abort checkin if you answer no.
CVS: => For all changes:
CVS: Do the changed files compile?
CVS: Has the change been tested?
CVS: => If you are not completely familiar with the changed components:
CVS: Has the change been posted for review?
CVS: Have you allowed enough time for feedback?
CVS: => If the change is major:
CVS: => If the change adds files to, or removes files from $DESTDIR:
CVS: => If you are changing a library or kernel interface:
CVS: Have you successfully run "./build.sh release"?
 1.125  05-Sep-2016  sevan Drop main() prototype.
 1.124  01-Jun-2016  christos Symbolic printing for mmap
 1.123  27-Mar-2016  alnsn Don't enter infinite loop on big ktr_len values.

Fixes PR 49460.
 1.122  04-Jan-2016  martin Cast register_t to unsigned long before printf'ing it with %lx.
 1.121  03-Jan-2016  christos be a bit smarter about fcntl
 1.120  17-Jun-2015  christos more stray \n
 1.119  16-Jun-2015  christos fix some error handling.
 1.118  30-Apr-2014  njoly Fix compat netbsd32 syscall return values display by calling
output_long() instead of printf().
 1.117  27-Nov-2013  christos branches: 1.117.2;
PR/48413: Inappropriate sign extension in kdump output
 1.116  02-Jan-2013  dsl Only expose the bulk of sys/proc.h and sys/lwp.h if _KERNEL or _KMEMUSER
is defined.
i386 and amd64 build ok.
 1.115  28-Sep-2011  christos branches: 1.115.2; 1.115.8;
don't limit sockets to sizeof(sizeof sockaddr_storage). We can create valid
sockaddr_un sockets that exceed that. Arguably either
sizeof(struct sockaddr_storage) should be amended, or we should disallow
unix domain sockaddrs that exceed that size.
 1.114  21-Sep-2011  christos Symbolic printing of some known MISC records.
 1.113  02-Sep-2011  christos - use PT_STRINGS
- use __arraycount()
 1.112  01-Jun-2011  alnsn kern/42030 - tracking of file descriptors by ktrace/kdump
 1.111  27-Apr-2011  joerg branches: 1.111.2;
Remove Mach specific trace points.
 1.110  26-Apr-2011  joerg Remove Darwin, MACH and Mach-O support.
 1.109  10-Apr-2011  pgoyette Fix string constant so it compiles again.
 1.108  10-Apr-2011  christos we don't have access to si_lid anymore.
 1.107  10-Apr-2011  christos print detailed info about other SI_ codes.
 1.106  10-Jan-2011  christos format SI_QUEUE properly.
 1.105  08-Aug-2010  chs fix emul state tracking for exit vs exit_group on linux.
 1.104  13-Apr-2009  christos Allow kdump to be used as an ioctl decoder if invoked as ioctlname.
 1.103  12-Apr-2009  lukem fix sign-compare issues
 1.102  11-Jan-2009  christos branches: 1.102.2;
resolve conflict.
 1.101  11-Jan-2009  christos merge christos-time_t
 1.100  02-Jan-2009  njoly Add minimal SI_LWP support.
 1.99  12-Sep-2008  christos branches: 1.99.6;
handle SI_NOINFO
 1.98  21-Jul-2008  lukem Remove the \n and tabs from the __COPYRIGHT() strings.
Tweak to use a consistent format.
 1.97  18-Jun-2008  njoly Output linux ptrace request name for processes under compat linux32
emulation too.
 1.96  29-Feb-2008  njoly branches: 1.96.4;
Add a few NULL entries to linux_ptrace_ops[], to make PTRACE_SYSCALL
string appear at the expected indice 24.
 1.95  15-Dec-2007  perry branches: 1.95.2;
convert __attribute__s to applicable cdefs.h macros
 1.94  07-Nov-2007  dsl Apply the -N (show syscalls by number) to the system return trace.
Change 'USER' to 'MISC' since they get used for misc kernel traces as well.
 1.93  08-Aug-2007  agc branches: 1.93.2;
Apply fix from PR 35283 from David Holland:

ensure that kdump properly escapes newlines in argv
 1.92  01-Jun-2007  dsl When displaying 'KTR_USER' data, exclude the header from the length, don't
enclose in ", and output using the hexdump function if -x (or -X) given.
 1.91  21-May-2007  dogcow fallout from si_sigval -> si_value
 1.90  19-Mar-2007  njoly When decoding ioctl commands type; do not output non printable
characters, but the corresponding hexadecimal values.

ok by christos
 1.89  09-Feb-2007  ad Sync with kernel changes introduced by merging the newlock2 branch.
 1.88  28-Jan-2007  chs skip over the "self" sa when printing upcalls.
 1.87  23-Oct-2006  mrg branches: 1.87.2;
since register_t is sometimes unsigned, cast to (long) to check >= 0.
 1.86  23-Sep-2006  manu Add a -t+S flag to ktrace for tracing activity related to sysctl. MIB
names will be displayed, with data readen and written as well.
 1.85  05-Apr-2006  christos Use the standard macros to compute the ioctl length instead of rolling our
own. Thanks to Chuck for noticing.
 1.84  05-Mar-2006  christos Add PT_SYSCALL
 1.83  11-Dec-2005  christos Learn about v1 records and sa upcalls.
 1.82  18-Oct-2005  christos Print symbolic signal names for killpg *sigaction* and *sigvec*.
 1.81  16-Jul-2005  christos WARNS=3
 1.80  02-Jun-2005  lukem appease gcc -Wuninitialized
 1.79  23-Aug-2004  dsl Ensure a non-zero 'word_size' is passed to hexdump_buf for unknown
trace types.
Also fix an incorrect use of the global word_size variable
 1.78  06-May-2004  matt Allow kdump to print the names for machine dependent ptrace ops.
(This requires <machine/ptrace.h> to define PT_MACHDEP_STRINGS
which corresponds to the machdep ops).
 1.77  07-Mar-2004  dsl branches: 1.77.2;
Suppress duplicate lines when hexdumping data
 1.76  27-Feb-2004  enami Fix whitespace usage and remove unnecessary semi-colon.
 1.75  27-Feb-2004  enami We can't access array[sizeof(array) / sizeof(array[0])].
 1.74  27-Feb-2004  enami Calculate the width again if we start newline at tab character, since
start column changes.
 1.73  02-Feb-2004  christos Fix reversed logic (decimal argument passed in output_long, where it expects
hex). Change tests to <= 9 to a small(v) macro, so that negative numbers fail
too consistently.
 1.72  15-Jan-2004  mrg redo the former in light of making the kernel output normal 64 bit
records for 32 bit & 64 bit processes. we still make some adjustments
when dealing with 32-bit processes, but largely things are handled the
same now. make the code to match "netbsd32_<syscall>" in place of
plain "<syscall>" more general.
 1.71  12-Jan-2004  mrg - add a new flags field to the emulation vector, with one user so far
EMUL_FLAG_NETBSD32. set EMUL_FLAG_NETBSD32 in any 32 bit on 64 bit
kernel emulation layers.
- if EMUL_FLAG_NETBSD32 is set, calculate the proper argument count.
(XXX: this should use register32_t, but that's not visible to all
builders of kdump...)

now netbsd32_ioctl(2) actually reports sane values, and other arguments
are mostly correctly printed (there are still some signed extension
issues with 32 bit numbers being displayed as "0xffffffff8xxxxxxx".)
 1.70  24-Nov-2003  manu Fix cross-build problem on sparc caused by a cast size_t -> int
 1.69  24-Nov-2003  manu Enable tracing of out of line data sent with Mach messages
 1.68  18-Nov-2003  manu For Mach messages, always display the message Id in decimal. The information
is indeed in the message, but in hex. It's a bit inconvenient.
 1.67  18-Nov-2003  dsl Stop core dump if an ioctl trace has fewer than expected arguments.
- Check names of system calls (for special treatment) because emulations
might use different numbers.
- Report an error if arguments to -p or -m non-numeric.
- Just take last of -x and -Xvalue, stop -X0x80000000 being valid (core dumps).
- Keep 'last used' emulation_ctx at top of list, create on lookup (usually
EMUL anyway), delete when exit called (doesn't return).
- Slightly improve hack to get correct system call name in execve return
when emulation has changed.
- Rename global variables 'current'/'previous' to 'cur_emul'/'prev_emul'.
(TODO: save system call type (and maybe an argument) per pid so GIO trace
format can depend on the actual system call.)
Fixes part of PR sparc64/23473 - but system call arguments will still not be
displayed correctly.
 1.66  16-Nov-2003  manu Following mycroft's comment, restore -x to its original behavior: without
an argument. Introduce -Xsize to do the job. -x is equivalent to -X1
Of course -x and -Xsize are mutually exclusive.
 1.65  16-Nov-2003  dsl Validate the numeric argument to -x, support -x1|2|4|8|16.
Produce sensible output on little-endian systems.
 1.64  16-Nov-2003  manu Add an argument to the -x flag to choose between byte per byte display
and word per word display in hex dumps.
-x1 gives you byte per byte, -x4 word per word, and -x defaults to -x1
 1.63  15-Nov-2003  manu kdump now displays Mach services names itself, including a table of
id/names in sys/compat/mach/mach_services_names.c

Remove ports and flags displays, the information is already in the message.
 1.62  20-Sep-2003  matt Fix printf botch
 1.61  20-Sep-2003  christos improve formatting in the non-siginfo case, by printing the code. This is
for compatibility with the old ktrace files.
 1.60  19-Sep-2003  christos Print siginfo_t information when available.
 1.59  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22365, verified by myself.
 1.58  17-Jul-2003  dsl Grok KTR_EXEC_ENV and KTR_EXEC_ARG.
Make ktrace -c default to removing all trace points (not just the default ones).
Make kdump default to dumping everything in the trace file.
Add 'A' (all) and '-' (remove following) to valid -t arguments.
Dump data block of UNKNOWN trace points in hex + ascii.
Make first time output with -R 0 (instead of time since epoch).
Use svis() instead of vis() to get " escaped (as \") (needs fixed libc)
Correctly pass unsigned values to svis()
Update man pages.
 1.57  13-Jul-2003  dsl Change back to print hex bytes. The 'word' print was completely broken
on little endian systems. It is also much easier to read misaligned
words in a straight byte hexdump.
Cut offset to 3 hex digits so that it fixs in 80 columns and still
leaves a tab at the start of 'continuation' lines.
The ktrace buffer is limited to 4k, so 3 digits is ample.
 1.56  13-Jul-2003  he On some ports, pointer differences are not ints, so do a cast
before using such a result as a field width.
 1.55  12-Jul-2003  manu Make hexdump output fix in 80 char-wide terminal
 1.54  12-Jul-2003  manu Use the same code to display hexdump of GIO and MMSG (Mach Messages).
While we are there, display offsets in the hexdump, it can be useful.
Remove size display in Mach Messages as user processes don't always
fill it correctly.
 1.53  11-Jul-2003  wiz Add -x to usage output.
 1.52  11-Jul-2003  dsl Add a '-x' option to display GIO data blocks in hex and ascii (instead of
vis(3) format).
Maybe there could be a heuristic to decide whether the data is printable...
 1.51  29-Jun-2003  fvdl Back out previous.
 1.50  29-Jun-2003  martin Since a caddr_t is (mis-)used as the lwp-id, cast it to intptr_t and use
apropriate format string.
 1.49  28-Jun-2003  darrenr add appropriate hack to display ktr_buf as the lwpid if -L is supplied on
the command line.
 1.48  15-May-2003  dsl Print rval[1] if non-zero and present in the trace entry.
To get both fd numbers for pipe().
 1.47  30-Jan-2003  atatat Make "-m0" print no data, so that we agree better with the man page.
 1.46  09-Dec-2002  manu Added support for dumping mach messages in ktrace/kdump. While we are
there, KNFify a few functions.
 1.45  29-Nov-2002  wiz Sync usage with man page (and actual options).
 1.44  28-Nov-2002  jdolecek signame(): if sig == 0, return name " 0", so that the result would be
printed as:
CALL kill(0x1e4, SIG 0)
rathern than previous
CALL kill(0x1e4, SIG*unknown 0*)
 1.43  27-Nov-2002  atatat Add -N which inhibits translation of system calls numbers into names.
 1.42  15-Nov-2002  manu Now properly display Mach traps
 1.41  27-Sep-2002  atatat Allow passing of the ktrace file as the last argument without a -f.
 1.40  04-Aug-2002  jdolecek Fix formatting of ktr_user entries so that values of individual bytes
of ktrace record are treated as unsigned char, and printed using "%02x".
Change suggested in bin/17832 by Paul Goyette.
 1.39  20-Jun-2002  atatat It's easy for ktrace can generate trace files that contain data from
multiple processes, so let's add a "-p pid" option to kdump so that it
can pull out the data for one process easily.
 1.38  08-Apr-2002  christos Fix translation in the native emulation. Noted by veego.
 1.37  31-Mar-2002  christos Provide hooks for signal number to name translation, and use them for kill
and PSIG.

XXX[1]: This shows that signal emulation ktrace is slightly busted: posted
signals should really be translated to the emulated ones instead of
producing ktrace records with the signal numbers of the native
emulation.
XXX[2]: There are other places where signal names can be displayed, but this
is not done yet.
 1.36  12-Feb-2002  christos reverse the notion of fancy, use plain, and increment it so that we can
have multiple levels of plainness. I want to be able to display syscalls
numerically, for that use -nn. This is not documented as it is an wip.
 1.35  16-Feb-2001  manu Cosmetic fix so that RET record after CALL execve get the appropriate syscall
even if the emulation changed
 1.34  28-Dec-2000  jdolecek adapt to KTR_USER structure changes
 1.33  20-Dec-2000  itojun avoid using "errno" as struct member name, to avoid conflict with errno.h.
ok by jdolecek
 1.32  17-Dec-2000  jdolecek add support for KTR_USER records
 1.31  13-Nov-2000  jdolecek map linux ptrace op (number) to it's appropriate name - this is kind of hack,
but turned out to be pretty usable for me
 1.30  12-Oct-2000  is Format string cleanups
 1.29  26-Apr-2000  tron branches: 1.29.4;
Prevent "kdump" from causing a segmentation fault if the io buffer that
it's printing to stdout ends on a page boundary. Patch supplied by
Andrew Brown in PR bin/9983.
 1.28  10-Apr-2000  jdolecek put setemul(), ectx_* & appropriate structures to separate file, to make it
more easily sharable with ktruss(1)
 1.27  10-Apr-2000  jdolecek Keep track of what pid uses which emulation and ensure proper
structures are used when decoding the ktrace records. This makes
kdump of ktrace -i output of a process executing binaries of various
emulations actually useful - before, the code used emulation structures
appropriate for last recently executed process, which is bogus.
 1.26  27-Mar-2000  kleink Cast timeval members to types we know the printf conversions of.
 1.25  31-Dec-1999  eeh Add COMPAT_NETBSD32 support.
 1.24  06-Aug-1999  thorpej Don't truncate syscall return values on LP64 platforms.
 1.23  24-Oct-1998  christos branches: 1.23.2;
Adjust to Eric's recent errno renaming.
 1.22  18-Oct-1998  christos Fix emulation errno translation.
 1.21  11-Sep-1998  mycroft Update for signal handling changes.
 1.20  30-Mar-1998  mrg use static int instead of static
 1.19  20-Oct-1997  lukem add support for freebsd emulation. from Dave Huang <khym@bga.com> [bin/4293]
 1.18  19-Oct-1997  lukem WARNSify mkioctls output, fix .Nm usage, deprecate register
 1.17  23-Jul-1997  mikel add explicit return types and prototypes for local functions
use __COPYRIGHT and __RCSID macros, fix other gcc -Wall warnings
 1.16  17-May-1997  pk * NULL => 0 (Arne Juul; PR#3629)
* Nuke spacoids
 1.15  27-Jan-1997  cgd fix decode of _IOR/_IOW/_IOWR: 'R' and 'W' were switched (i.e. _IOW ioctls
would print out as '_IOR'), and _IOWR ioctls were being printed as
_IORW (which doesn't exist).
 1.14  21-Nov-1996  mikel eliminate multiple inclusion of <sys/errno.h>.
 1.13  13-May-1996  christos Decode unknown ioctl commands to _IO{R,W,}('c',x[,y]), instead of 0xabcdef00
 1.12  31-Aug-1995  jtc Sync with 4.4lite2
 1.11  19-Jul-1995  christos Add support for displaying and switching between
different OS system call emulations
 1.10  07-Jun-1995  cgd only print MAXCOMLEN chars of the process command name. fixes pr 1080.
 1.9  11-May-1995  cgd don't get syscalls.c with an absolute path
 1.8  28-Mar-1995  jtc KERNEL -> _KERNEL
 1.7  26-Mar-1995  cgd update for the new data stored in ktrace files:
(1) use argsize rather than nargs
(2) print long-sized (assumed == register_t-sized; XXX) items
rather than int-sized ones.
 1.6  21-Mar-1995  mycroft Make two variables non-static.
 1.5  21-Mar-1995  mycroft Update to use timer{add,sub}().
 1.4  15-Jan-1995  mycroft Some KNF, POSIX, and err*(3)/warn*(3) cleanup. Also, use sys_signame[]
rather than a private, home-grown list.
 1.3  06-Oct-1994  mycroft Add RCS ids.
 1.2  18-May-1994  deraadt netbsd does not define PT_STEP for architectures that lack
in-kernel single stepping capabilities.
 1.1  11-May-1994  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  31-Aug-1995  jtc imported from 44lite2
 1.1.1.1  11-May-1994  cgd updated kdump
 1.23.2.1  19-Oct-2000  he Apply patch (requested by he):
Fix format / arg mismatch.
 1.29.4.1  18-Oct-2000  tv Pullup usr.bin string format fixes [is].
See "cvs log" for explicit revision numbers per file, from sommerfeld.
 1.77.2.2  30-Aug-2004  tron Pull up revision 1.79 (requested by skrll in ticket #789):
Ensure a non-zero 'word_size' is passed to hexdump_buf for unknown
trace types.
Also fix an incorrect use of the global word_size variable
 1.77.2.1  10-May-2004  tron Pull up revision 1.78 (requested by matt in ticket #278):
Allow kdump to print the names for machine dependent ptrace ops.
(This requires <machine/ptrace.h> to define PT_MACHDEP_STRINGS
which corresponds to the machdep ops).
 1.87.2.1  16-Feb-2007  riz Pull up following revision(s) (requested by chs in ticket #420):
usr.bin/kdump/kdump.c: revision 1.88
skip over the "self" sa when printing upcalls.
 1.93.2.2  23-Mar-2008  matt sync with HEAD
 1.93.2.1  09-Jan-2008  matt sync with HEAD
 1.95.2.1  24-Mar-2008  keiichi sync with head.
 1.96.4.3  24-Sep-2008  wrstuden Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.
 1.96.4.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.96.4.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.99.6.2  29-Dec-2008  christos update for version 2
 1.99.6.1  12-Sep-2008  christos file kdump.c was added on branch christos-time_t on 2008-12-29 01:23:13 +0000
 1.102.2.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.111.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.115.8.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.115.8.1  25-Feb-2013  tls resync with head
 1.115.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.115.2.1  23-Jan-2013  yamt sync with head
 1.117.2.1  10-Aug-2014  tls Rebase.
 1.129.2.1  02-May-2018  pgoyette Synch with HEAD
 1.130.2.4  21-Apr-2020  martin Sync with HEAD
 1.130.2.3  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.130.2.2  08-Apr-2020  martin Merge changes from current as of 20200406
 1.130.2.1  10-Jun-2019  christos Sync with HEAD
 1.140.2.2  25-Mar-2024  martin Pull up following revision(s) (requested by kre in ticket #641):

usr.bin/kdump/kdump.c: revision 1.145

Remove debug print
 1.140.2.1  12-Mar-2024  martin Pull up following revision(s) (requested by kre in ticket #635):

usr.bin/kdump/kdump.c: revision 1.141
usr.bin/kdump/kdump.c: revision 1.142
usr.bin/kdump/kdump.c: revision 1.143
usr.bin/kdump/kdump.c: revision 1.144

PR/57918: Taylor R Campbell: Don't try to print symbolically ioctls that
have bits set on the high 32 bits of a 64 bit long.

PR bin/57918

Redo the previous correctly, the test should be whether or not only the
bottom 32 bits are set, rather than whether any of bits 32..63 are set.

This makes no difference if u_long (or unsigned long long) is 64 bits,
it is the same test in that case, but if u_long were 128 bits there is
a notable difference (though for the particular issue observed in the PR,
it is likely to work either way).
decode some {g,s}etsockopt*.

kdump: keep the comment with its corresponding code
No binary change.
 1.145.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed