aboutsummaryrefslogtreecommitdiffstats
path: root/misc-utils/kill.c
AgeCommit message (Collapse)AuthorFilesLines
2025-11-19kill: the situation where fd is opened but not closedfortunate-lee1-0/+3
Signed-off-by: fortunate-lee <lijian01@kylinos.cn>
2025-11-10Fix the issue of fd resource leakageLeefancy1-0/+2
Signed-off-by: Leefancy <lijian01@kylinos.cn>
2025-10-04kill (-l/-L): print one signal per line when stdout is not a TTYMasatake YAMATO1-9/+31
It helps using kill -l/-L in a script. $ ./kill -L 1 HUP 2 INT 3 QUIT 4 ILL 5 TRAP 6 ABRT 6 IOT 7 BUS 8 FPE 9 KILL ... $ ./kill -L | cat 1 HUP 2 INT 3 QUIT ... Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2025-10-04kill: (refactor) rename parameter to better reflect its purposeMasatake YAMATO1-3/+3
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2025-09-02kill: add support for race-free process kills using pidfd inodesChristian Goeschel Ndjomouo1-7/+47
The 6.9 Linux kernel added support for pidfds which introduces inodes that stay unique for the system lifetime and can be used to reference a process with both its traditional pid and pid fd inode number. This enables race-free killing of processes and protects from false referencing due to pid rollovers. This patch adds a new way of addressing processes with the format 'pid:pidfd_inode'. When the new format is used, 'kill' assumes the user wishes to use a pidfd to signal a process, and will therefore use pidfd_* routines to complete the task if the provided inode matches the one from a previously acquired pidfd. Addresses: #3252 Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
2025-08-20kill: comments: fix grammar in parse_arguments()Naoki Wake1-1/+1
Insert 'that' so the sentence reads '... only option that can be used with other options.' Comment-only change; no functional impact. Signed-off-by: Naoki Wake <wakeke.rainbowearth@gmail.com>
2025-08-20kill: usage: fix wrapped indent in -l/--list descriptionNaoki Wake1-1/+1
Increase the indentation of the continuation line from one to two spaces to match the common util-linux help style (see Documentation/howto-usage-function.txt). This touches a translatable string. Whitespace-only change; no functional impact. Signed-off-by: Naoki Wake <wakeke.rainbowearth@gmail.com>
2025-05-29textual: harmonize the wording of the error message for an invalid PIDBenno Schulenberg1-2/+2
Having four different forms for the same basic message is unneeded. Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2025-03-04include/pidfd-utils: improve robustnessKarel Zak1-10/+14
* remove global UL_HAVE_PIDFD, in many cases we need only subset of pidfd kernel API, rrather than all the functios * improve #ifdefs for pidfd_*() direct syscalls * improve dummy fallback to not redefine system header files Fixes: https://github.com/util-linux/util-linux/issues/3437 Signed-off-by: Karel Zak <kzak@redhat.com>
2024-11-20Drop pointless bitfieldsZbigniew Jędrzejewski-Szmek1-8/+7
Bitfields have their uses, but the uses here didn't make any sense. Code generated to read or write bitfields is more complicated (and slower) because, well, the bits need to be manipulated with special instructions. So bitfields should be used when we have a structure that is repeated hundreds or thousands of times in memory and those saving are higher than the cost of having more complicated code. This can happen for example in the kernel code. But the code here has structures that are instantiated once or or at most few times. In addition, a bitfield often does not save any memory because of alignment requirements. In the majority of cases modified here, the bitfield was the last field in a structure, so no memory savings were made. $ size build*/{mkswap,more,ul,col,rtcwake,lsmem,lscpu,eject,dmesg,uuidd,taskset,login} text data bss dec hex filename 132014 1988 88 134090 20bca build/mkswap 129342 1852 88 131282 200d2 build2/mkswap 55161 1480 128 56769 ddc1 build/more 54265 1480 128 55873 da41 build2/more 14364 868 112 15344 3bf0 build/ul 14316 868 112 15296 3bc0 build2/ul 28547 1000 112 29659 73db build/col 28435 1000 112 29547 736b build2/col 46914 1960 112 48986 bf5a build/rtcwake 46834 1960 112 48906 bf0a build2/rtcwake 63419 1744 176 65339 ff3b build/lsmem 63403 1744 176 65323 ff2b build2/lsmem 159885 2864 464 163213 27d8d build/lscpu 159757 2864 464 163085 27d0d build2/lscpu 90041 1704 88 91833 166b9 build/eject 89737 1704 88 91529 16589 build2/eject 82150 5152 1032 88334 1590e build/dmesg 81846 5152 1032 88030 157de build2/dmesg 37601 1368 80 39049 9889 build/uuidd 37585 1368 80 39033 9879 build2/uuidd 58906 1336 56 60298 eb8a build/taskset 58890 1336 56 60282 eb7a build2/taskset 84761 2128 152 87041 15401 build/login 84672 2128 152 86952 153a8 build2/login (To be clear: those small savings are not particularly important. The motivation for this patch is to eradicate the antipattern of making things more complicated without any benefit.)
2024-11-18misc-utils: make pointer arrays constMax Kellermann1-1/+1
2024-08-21fix spelling and typosmr-bronson1-1/+1
A good start. Some lines moved because they were under a misspelled duplicate heading.
2024-07-03kill: add a feature decoding signal masksMasatake YAMATO1-7/+108
-l/--list option is extended to work well with the output of ps command: $ ps s $$ UID PID PENDING BLOCKED IGNORED CAUGHT STAT TTY TIME COMMAND 1000 1588189 0000000000000000 0000000000010000 0000000000384004 000000004b813efb S pts/56 0:00 bash $ ./kill --list 0x000000004b813efb HUP INT ILL TRAP ABRT ... If you know the pid you are interested in, you can skip running ps comman with -d/--show-process-state option: $ ./kill --show-process-state $$ Blocked: INT Ignored: TERM TSTP TTIN TTOU Caught: HUP INT PIPE ALRM CHLD WINCH Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2023-10-25Make the ways of using output stream consistent in usage()Masatake YAMATO1-3/+2
Signed-off-by: Masatake YAMATO <yamato@redhat.com>
2022-10-26kill: Support mandating the presence of a userspace signal handlerChris Down1-0/+36
In production we've had several incidents over the years where a process has a signal handler registered for SIGHUP or one of the SIGUSR signals which can be used to signal a request to reload configs, rotate log files, and the like. While this may seem harmless enough, what we've seen happen repeatedly is something like the following: 1. A process is using SIGHUP/SIGUSR[12] to request some application-handled state change -- reloading configs, rotating a log file, etc; 2. This kind of request is deprecated and removed, so the signal handler is removed. However, a site where the signal might be sent from is missed (often logrotate or a service manager); 3. Because the default disposition of these signals is terminal, sooner or later these applications are going to be sent SIGHUP or similar and end up unexpectedly killed. I know for a fact that we're not the only organistion experiencing this: in general, signal use is pretty tricky to reason about and safely remove because of the fairly aggressive SIG_DFL behaviour for some common signals, especially for SIGHUP which has a particularly ambiguous meaning. Especially in a large, highly interconnected codebase, reasoning about signal interactions between system configuration and applications can be highly complex, and it's inevitable that on occasion a callsite will be missed. In some cases the right call to avoid this will be to migrate services towards other forms of IPC for this purpose, but inevitably there will be some services which must continue using signals, so we need a safe way to support them. This patch adds support for the -r/--require-handler flag, which checks if a userspace handler is present for the signal being sent. If it is not, the process will be skipped. With this flag we can enforce that all SIGHUP reload cases and SIGUSR equivalents use --require-handler. This effectively mitigates the case we've seen time and time again where SIGHUP is used to rotate log files or reload configs, but the sending site is mistakenly left present after the removal of signal handler, resulting in unintended termination of the process. Signed-off-by: Chris Down <chris@chrisdown.name>
2021-10-06kill: use lib/procfs.cKarel Zak1-8/+18
2021-06-21kill: check errno after strto..()Karel Zak1-1/+2
Addresses: https://github.com/karelzak/util-linux/issues/1356 Signed-off-by: Karel Zak <kzak@redhat.com>
2020-04-20[clang-tidy] do not use else after returnRosen Penev1-1/+1
Found with readability-else-after-return Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-04-19[clang-tidy] do not return in void functionsRosen Penev1-1/+0
Found with readability-redundant-control-flow Signed-off-by: Rosen Penev <rosenp@gmail.com>
2019-12-10kill: add another ifdefKarel Zak1-0/+2
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-12-09kill: add missing ifdefsKarel Zak1-0/+2
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-12-09kill: deallocate follow_ups [assan]Karel Zak1-0/+6
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-12-09kill: report features on -V, add lish_header initializationKarel Zak1-1/+28
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-11-25kill: use pidfd system calls to implement --timeout optionSami Kerola1-0/+87
At times there is need in scripts to send multiple signals to a process. Often these cases require some amount of waiting before follow-up signal should be sent. One common case is process termination, where first script tries to kill process gracefully but if that does not work SIGKILL is sent. Functionality like that is commonly done by periodically checking if signalled pid exist or not, and if it does another signal is sent possibly to an unrelated process that reused pid number. That means polling a pid is prone to a data race. Also if the first signal immediately kills the process one polling interval is lost in sleep. Another example when multiple signal need to be sent is various daemon process control situations, such as Upgrading Executable on the Fly (see reference). This happens to be the case that inspired change author to make sequential signaling a little bit easier. Reference: http://nginx.org/en/docs/control.html#upgrade Pull-request: https://github.com/karelzak/util-linux/pull/902 Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2019-04-16misc: consolidate version printing and close_stdout()Karel Zak1-5/+3
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-10-23lib/signames: remove signame array from header fileKarel Zak1-12/+11
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-10-14kill: Extract signal names into signames.h/signames.cNiklas Hambüchen1-127/+1
2017-06-29misc: consolidate macro style USAGE_HELP_OPTIONSRuediger Meier1-2/+2
changed in include/c.h and applied via sed: sed -i 's/fprintf.*\(USAGE_MAN_TAIL.*\)/printf(\1/' $(git ls-files -- "*.c") sed -i 's/print_usage_help_options\(.*\);/printf(USAGE_HELP_OPTIONS\1);/' $(git ls-files -- "*.c") Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2017-06-27misc: introduce print_usage_help_options()Ruediger Meier1-2/+1
Consolidate --help and --version descriptions. We are now able to align them to the other options. We changed include/c.h. The rest of this patch was generated by sed, plus manually setting the right alignment numbers. We do not change anything but white spaces in the --help output. Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2017-06-26misc: cosmetics, remove argument from usage(FILE*)Ruediger Meier1-3/+4
This patch is trivial and changes nothing, because we were always using usage(stdout) Now all our usage() functions look very similar. If wanted we could auto-generate another big cosmetical patch to remove all the useless "FILE *out" constants and use printf and puts rather than their f* friends. Such patch could be automatically synchronized with the translation project (newlines!) to not make the translators sick. Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2017-02-20misc: add static keyword to where needed [smatch scan]Sami Kerola1-1/+1
text-utils/rev.c:68:9: warning: symbol 'buf' was not declared. Should it be static? Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2016-08-14kill: remove pid command-name to option aliasSami Kerola1-4/+0
Removal was promised to happen in March 2016 and the time has come to get rid of this unexpected feature. Reference: c5b057b3422504a671ee588fa66574ae876521f1 Reviewed-by: Benno Schulenberg <bensberg@justemail.net> Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2016-05-31misc: Fix various typosSebastian Rasmussen1-2/+2
Fix various typos in error messages, warnings, debug strings, comments and names of static functions. Signed-off-by: Sebastian Rasmussen <sebras@gmail.com>
2016-01-06lib/tty: Pass default width to get_terminal_width()Boris Egorov1-5/+1
Almost any code calling get_terminal_width() checks returned width for non-positive values and sets it to some default value (say, 80). So, let's pass this default value directly to the function. [kzak@redhat.com: - get_terminal_width() refactoring] Signed-off-by: Karel Zak <kzak@redhat.com>
2015-01-06textual: add a docstring to most of the utilitiesBenno Schulenberg1-0/+3
This adds a concise description of a tool to its usage text. A first form of this patch was proposed by Steven Honeyman (see http://www.spinics.net/lists/util-linux-ng/msg09994.html). Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2014-07-23textual: fix some typos and inconsistencies in various messagesBenno Schulenberg1-1/+1
Fixing plain typos, miswordings, inconsistent periods, some missing angular brackets, and a proper pluralization (even when it involves a constant, because for some languages the precise value matters). Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2014-07-14textual: fix the usage message of killBenno Schulenberg1-10/+10
Using angular brackets around each individual argument, indenting a continuation line, not using a space before =, improving some wordings, and the argument of --queue is a value (a piece of data), not a signal. Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2014-07-14kill: use --queue option argument as sigval integer valueSami Kerola1-3/+1
The sigqueue(3) takes two values, signal and sigval. Contents of the signal can be altered with --signal option argument, so the --queue argument should be reserved to affect sigval_int. This is regression fix introduced by commit 9e8dffd5cd29f03029b1ac99eecb129532ca5c0f. Reference: http://man7.org/linux/man-pages/man3/sigqueue.3.html Reported-by: Benno Schulenberg <bensberg@justemail.net> Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-05-06textual: remove square brackets from around three dotsBenno Schulenberg1-1/+1
Also improve some option descriptions here and there. Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2014-04-26kill: add --verbose option to display what is killedSami Kerola1-2/+9
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-04-26kill: remove unnecessary indirectionSami Kerola1-3/+1
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-04-26kill: make options --pid and --queue mutually exclusiveSami Kerola1-0/+6
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-04-07kill: fix bug in --all semanticKarel Zak1-1/+1
Introduces by 2ab6683f59cd3371b1c3ac8b5c248d5104ed4d41. Signed-off-by: Karel Zak <kzak@redhat.com>
2014-04-07kill: add copyrights, etc.Karel Zak1-0/+2
Signed-off-by: Karel Zak <kzak@redhat.com>
2014-04-07kill: return 64 on partial successKarel Zak1-23/+37
Return 64 (aka SOME_OK) when more than process specified and the operation success only for subset of the processes. # kill -s 0 firefox mutt xxx; echo $? kill: cannot find process "xxx" 64 We already use this concept for chcpu(8) or mount(8). Signed-off-by: Karel Zak <kzak@redhat.com>
2014-04-07kill: coding style, simplify codeKarel Zak1-15/+13
Signed-off-by: Karel Zak <kzak@redhat.com>
2014-04-07kill: rename printsig() to print_signal_name()Karel Zak1-7/+7
Signed-off-by: Karel Zak <kzak@redhat.com>
2014-04-07kill: rename printsignals() to print_all_signalsprint_all_signals()Karel Zak1-4/+4
Signed-off-by: Karel Zak <kzak@redhat.com>
2014-04-07kill: reorder functions to make it more readableKarel Zak1-199/+195
Signed-off-by: Karel Zak <kzak@redhat.com>
2014-03-30kill: move sigqueue inputs to control structSami Kerola1-12/+17
Use of global variables is messy. The earlier implementation also assumed queue argument never to be textual, such as 'HUP', which now works as one might expect. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-03-30kill: add parse_arguments() functionSami Kerola1-53/+60
Long main() is difficult to read, so moving argument parsing to separate function should make sense. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-03-30kill: tell what is wrong rather than output usage()Sami Kerola1-8/+8
Getting usage as error message is not specific enough. As a user I want to know what is wrong, and if it is unclear after error message how to recover then I run command with --help. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-03-30kill: use control structure to pass user input to functionsSami Kerola1-50/+59
This should make it easier to understand how the program works. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-03-30kill: deprecat invocation as 'pid' command nameSami Kerola1-0/+2
Enabling options by renaming command is both unexpected and undocumented. This magic is now deprecated and with remark of removal of this functionality in future. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-03-30kill: make usage() not to returnSami Kerola1-14/+12
And change the function argument to be an output stream. Earlier the --help option made kill exit with none-zero value, that is now corrected. CC: Benno Schulenberg <bensberg@justemail.net> Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-03-30kill: move magic numbers in beginning of the fileSami Kerola1-5/+9
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-03-30kill: flip all comparions to be in smaller - greater orderSami Kerola1-7/+7
This makes code more readable. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2014-03-30kill: fix coding styleSami Kerola1-277/+259
The kill was deprecated at the time lot of other tools got style unification. Now when deprecation is lifted it is time to get kill cleaner. This commit does not modify code, only various spacing issues, removal of unecessary braces, and such are dealt. Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2013-03-13kill: support --list=<signal>Karel Zak1-9/+16
The '=' is expected for optional arguments and required in procps version. Signed-off-by: Karel Zak <kzak@redhat.com>
2013-03-13kill: add pretty printed list output (for compatibility with procps)Sami Kerola1-48/+85
* add -L, --table References: http://www.freelists.org/post/procps/kill1-consolidation Signed-off-by: Sami Kerola <kerolasa@iki.fi> Signed-off-by: Karel Zak <kzak@redhat.com>
2013-03-12kill: use new API from lib/procutils.cKarel Zak1-14/+23
Signed-off-by: Karel Zak <kzak@redhat.com>
2013-03-12kill, procs: use pid_t for pidsSami Kerola1-3/+3
Reference: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/linux/threads.h#n30 Signed-off-by: Sami Kerola <kerolasa@iki.fi> Signed-off-by: Karel Zak <kzak@redhat.com>
2013-03-12kill: use libc error printing facilities and exit valuesSami Kerola1-32/+24
Signed-off-by: Sami Kerola <kerolasa@iki.fi> Signed-off-by: Karel Zak <kzak@redhat.com>
2013-03-12kill: align with howto-usage-function.txtSami Kerola1-7/+21
[kzak@redhad.com: - s/commandname/name/ - improve --all description - add -h/--help] Signed-off-by: Sami Kerola <kerolasa@iki.fi> Signed-off-by: Karel Zak <kzak@redhat.com>
2013-03-12kill: add long optionsSami Kerola1-5/+5
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2013-02-06textual: spell and encode the name of Arkadiusz Miśkiewicz correctlyBenno Schulenberg1-1/+1
Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
2013-01-25textual: use UTIL_LINUX_VERSION everywhereKarel Zak1-1/+1
Signed-off-by: Karel Zak <kzak@redhat.com>
2012-07-16kill: fix compiler warning [-Wmissing-prototypes]Karel Zak1-16/+16
Signed-off-by: Karel Zak <kzak@redhat.com>
2012-06-11build: fix redundant redeclaration warningsSami Kerola1-3/+0
env.c:24:15: warning: redundant redeclaration of 'environ' [-Wredundant-decls] su.c:81:15: warning: redundant redeclaration of 'environ' [-Wredundant-decls] fstab.c:581:14: warning: redundant redeclaration of 'strsignal' [-Wredundant-decls] kill.h:1:13: note: previous declaration of 'get_pids' was here kill.c:152:13: warning: redundant redeclaration of 'get_pids' [-Wredundant-decls] kill.c:142:5: warning: redundant redeclaration of 'main' [-Wredundant-decls] getopt.c:89:5: warning: redundant redeclaration of 'main' [-Wredundant-decls] agetty.c:536:15: warning: redundant redeclaration of 'optarg' [-Wredundant-decls] agetty.c:537:13: warning: redundant redeclaration of 'optind' [-Wredundant-decls] script.c:161:13: warning: redundant redeclaration of 'optind' [-Wredundant-decls] wall.c:96:13: warning: redundant redeclaration of 'optind' [-Wredundant-decls] libmount.h:362:26: note: previous declaration of 'mnt_update_get_fs' was here libmount.h:454:26: note: previous declaration of 'mnt_context_get_fs' was here mountP.h:383:26: warning: redundant redeclaration of 'mnt_context_get_fs' [-Wredundant-decls] mountP.h:398:26: warning: redundant redeclaration of 'mnt_update_get_fs' [-Wredundant-decls] Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2012-05-23misc-utils: cleanup unused strings.h includesmaximilian attems1-1/+0
Noticed on klibc building. Signed-off-by: maximilian attems <max@stro.at>
2012-05-15misc-utils: cleanup strtoxx_or_err()Karel Zak1-1/+1
Signed-off-by: Karel Zak <kzak@redhat.com>
2012-04-04misc-utils: verify writing to streams was successfulSami Kerola1-0/+2
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
2011-08-01kill: fix compiler warnings [-Wsign-compare]Karel Zak1-4/+3
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-02-28kill: add -q sigval to use sigqueue(2)Karel Zak1-1/+27
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-02-28kill: translate "-l <num>" to RT<n>Karel Zak1-0/+6
Signed-off-by: Karel Zak <kzak@redhat.com>
2011-02-28kill: add support for real-time signalsKarel Zak1-0/+39
Newly supported syntax for RT signals: RT<n> = SIGRTMIN + n RTMIN+<n> = SIGRTMIN + n RTMAX-<n> = SIGRTMAX - n the final signal number has to be in interval [SIGRTMIN,SIGRTMAX]. Note that the "SIG" prefix is also supported for RT signals of course. Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=676297 Signed-off-by: Karel Zak <kzak@redhat.com>
2009-10-16kill: use c.hKarel Zak1-5/+5
Signed-off-by: Karel Zak <kzak@redhat.com>
2007-07-27remove hardcoded package name from some utilsKarel Zak1-1/+1
We have PACKAGE_STRING in config.h that includes package name and version. It's better to use this macro that hardcoded strings. Signed-off-by: Karel Zak <kzak@redhat.com>
2006-12-07Imported from util-linux-2.13-pre1 tarball.v2.13-pre1Karel Zak1-1/+1
2006-12-07Imported from util-linux-2.12j tarball.v2.12jKarel Zak1-1/+1
2006-12-07Imported from util-linux-2.12d tarball.v2.12dKarel Zak1-0/+1
2006-12-07Imported from util-linux-2.11b tarball.v2.11bKarel Zak1-14/+11
2006-12-07Imported from util-linux-2.10m tarball.v2.10mKarel Zak1-0/+1
2006-12-07Imported from util-linux-2.10f tarball.v2.10fKarel Zak1-10/+22
2006-12-07Imported from util-linux-2.9v tarball.v2.9vKarel Zak1-5/+14
2006-12-07Imported from util-linux-2.9i tarball.v2.9iKarel Zak1-24/+106
2006-12-07Imported from util-linux-2.7.1 tarball.v2.7.1Karel Zak1-10/+7
2006-12-07Imported from util-linux-2.2 tarball.v2.2Karel Zak1-0/+272