Commit Graph

14529 Commits

Author SHA1 Message Date
Evgeny Vereshchagin 877356164a tests: integrate test_last_fuzz into the testsuite
by adding tests/ts/* and a testcase triggering https://github.com/karelzak/util-linux/pull/1097

Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin 2cdbf06f5e tests: add a fuzzer for process_wtmp_file
Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin 0f311c7ae7 docs: mention OSS-Fuzz and CIFuzz and how to build fuzz targets locally
Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin 02f5fc1407 tools: make it possible to set all the fuzzing flags with config-gen
so that the fuzz targets (along with everything else) can be built
and run with:
```
./tools/config-gen fuzz
make check
```

Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin 681d3a9586 build-system: make "make distcheck" work
It failed with:
```
make[5]: Entering directory '/home/travis/build/karelzak/util-linux/util-linux-2.36.32-0fea/_build/sub/po'
make[5]: *** No rule to make target '../../../include/fuzz.h', needed by 'util-linux.pot-update'.  Stop.
make[5]: Leaving directory '/home/travis/build/karelzak/util-linux/util-linux-2.36.32-0fea/_build/sub/po'
Makefile:896: recipe for target 'update-po' failed
make[4]: *** [update-po] Error 2
```

Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin 6056e05b28 travis: set CXX correctly
Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin c8f78bde3a travis: turn on --enable-fuzzing-engine
Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin 75196cd8be build-sys: add support for --enable-fuzzing-engine
Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin 7b4ab119f4 tests: integrate test_mount_fuzz into the testsuite
Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin 78905e4450 tests: take exit codes into account
In its current form the testsuite isn't suitable for running
fuzz targets because it ignores exit codes and relies solely
on diffs (that unfortunately aren't helpful because the nondeterministic
nature of fuzz targets makes it kind of hard to specify expected output
in advance). This patch is supposed to address the "exit code" issue for now.

Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Evgeny Vereshchagin ccdc47b7f5 tests: add a fuzzer for mnt_table_parse_stream
The fuzzer is supposed to cover `mnt_table_parse_stream`, which is
used by systemd to parse /proc/self/mountinfo. The systemd project
has run into memory leaks there at least twice:

https://github.com/systemd/systemd/pull/12252#issuecomment-482804040
https://github.com/systemd/systemd/issues/8504

so it seems to be a good idea to continuously fuzz that particular
function.

The patch can be tested locally by installing clang and running
./tools/oss-fuzz.sh. Currently the fuzzer is failing with
```
=================================================================
==96638==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 216 byte(s) in 1 object(s) allocated from:
    #0 0x50cd77 in calloc (/home/vagrant/util-linux/out/test_mount_fuzz+0x50cd77)
    #1 0x58716a in mnt_new_fs /home/vagrant/util-linux/libmount/src/fs.c:36:25
    #2 0x54f224 in __table_parse_stream /home/vagrant/util-linux/libmount/src/tab_parse.c:728:9
    #3 0x54eed8 in mnt_table_parse_stream /home/vagrant/util-linux/libmount/src/tab_parse.c:804:8
    #4 0x5448b2 in LLVMFuzzerTestOneInput /home/vagrant/util-linux/libmount/src/fuzz.c:19:16
    #5 0x44cc88 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/home/vagrant/util-linux/out/test_mount_fuzz+0x44cc88)
    #6 0x44d8b0 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) (/home/vagrant/util-linux/out/test_mount_fuzz+0x44d8b0)
    #7 0x44e270 in fuzzer::Fuzzer::MutateAndTestOne() (/home/vagrant/util-linux/out/test_mount_fuzz+0x44e270)
    #8 0x450617 in fuzzer::Fuzzer::Loop(std::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/home/vagrant/util-linux/out/test_mount_fuzz+0x450617)
    #9 0x43adbb in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/home/vagrant/util-linux/out/test_mount_fuzz+0x43adbb)
    #10 0x42ad46 in main (/home/vagrant/util-linux/out/test_mount_fuzz+0x42ad46)
    #11 0x7fa084f621a2 in __libc_start_main (/lib64/libc.so.6+0x271a2)

SUMMARY: AddressSanitizer: 216 byte(s) leaked in 1 allocation(s).
INFO: to ignore leaks on libFuzzer side use -detect_leaks=0.
```

Once the bug is fixed and the OSS-Fuzz counterpart is merged it should be possible
to turn on CIFuzz to make sure the fuzz target can be built and run for some time
without crashing: https://google.github.io/oss-fuzz/getting-started/continuous-integration/

Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-08-06 12:33:11 +00:00
Karel Zak db85c0eb89 Merge branch 'mk-rm' of https://github.com/evverx/util-linux
* 'mk-rm' of https://github.com/evverx/util-linux:
  tests: an attempt to get around https://github.com/karelzak/util-linux/issues/1110
2020-08-06 11:49:29 +02:00
Karel Zak 33f50706fd libfdisk: fix fdisk_reread_changes() for extended partitions
Linux kernel assumes only 1KiB extended partition to avoid overlapping
with nested logical partitions. We need to follow this rule for
BLKPG_ADD_PARTITION.

Addresses: https://github.com/karelzak/util-linux/issues/1112
Signed-off-by: Karel Zak <kzak@redhat.com>
2020-08-06 11:32:33 +02:00
Evgeny Vereshchagin f04521f4ac tests: an attempt to get around https://github.com/karelzak/util-linux/issues/1110
Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
2020-07-28 08:15:23 +00:00
Michael Kerrisk (man-pages) 359b522c39 Manual pages: wipefs.8: Formatting fixes
Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) 2b34e0141d Manual pages: agetty.8: Minor formatting and wording fixes
Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) 04be4affb7 Manual pages: wdctl.8: typo fix 2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) 4aabe42985 Manual pages: lsblk.8: Minor formatting and typo fixes
Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) cbb38bfbdf Manual pages: logger.1: minor formatting and typo fixes
Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) 95553ea0dd Manual pages: nologin.8: formatting fixes
Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) 47c6012f2b Manual pages: lslogins.1: Minor wording and formatting fixres
Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) 89fdd6d439 Manual pages: sfdisk.8: Use less aggressive indenting
The page currently uses rather aggressive indenting, which doesn't
really improve readability, but does have cause ugly line filling.

Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) b382d543ed Manual pages: sfdisk.8: Minor wording and formatting fixes
Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) 8be2cc8171 Manual pages: raw.8: Minor formatting and wording fixes
Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Michael Kerrisk (man-pages) 342af74630 Manual pages: blockdev.8: Minor wording and formatting fixes
Signed-off-by: Michael Kerrisk (man-pages) <mtk.manpages@gmail.com>
2020-07-24 14:41:49 +02:00
Chris Hofstaedtler dcd77a69da fdisk: fix expected test output on alpha
The last test output update inadvertedly replaced "ext2" with "MS-DOS"
in the alpha-specific data.

Fixes: 3c36438f0
Broken build log: https://buildd.debian.org/status/fetch.php?pkg=util-linux&arch=alpha&ver=2.36-1&stamp=1595550493&raw=0
Signed-off-by: Chris Hofstaedtler <zeha@debian.org>
2020-07-24 09:09:43 +02:00
Chris Hofstaedtler 7259f318b9 manpages: fix "The example command" in AVAILABILITY section
Signed-off-by: Chris Hofstaedtler <zeha@debian.org>
2020-07-24 09:09:43 +02:00
Soumendra Ganguly 00a09d78ea scriptreplay: enable special character handling
Calling cfmakeraw disables terminal special character handling. For
example, Ctrl-C does not send SIGINT to scriptreplay. The following
fixes this.

 tattr.c_lflag |= ISIG;

where tattr is the struct termios with which we are working.
2020-07-23 12:23:56 +02:00
Luca Boccassi b725361adf libmount (verity): let crypt_deactivate_by_name handle its own data structure
It's not necessary to initialize a crypt_device, the function will do it
on its own if NULL is passed. Removes a few extra library calls.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
2020-07-23 12:23:56 +02:00
Luca Boccassi e0b6f5a7c8 libmount (verity): plug libcryptsetup logger into our logging system
Allows logs from the library to be printed by our system:

731814: libmount:   VERITY: crypsetup: Device libmnt_img.raw already exists.

If the mount context is in verbose mode, enable all debug logs from
libcrypsetup as well.

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
2020-07-23 12:23:56 +02:00
SOUMENDRA GANGULY edb088ffbe Make scriptreplay set terminal to raw mode 2020-07-23 12:23:56 +02:00
Karel Zak 6e7fb6c49a bash-completion: add irqtop/lsirq --softirq
Signed-off-by: Karel Zak <kzak@redhat.com>
2020-07-23 12:23:56 +02:00
zhenwei pi 635ac7dad8 irqtop/lsirq: add softirq for man page
Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
2020-07-23 12:23:56 +02:00
zhenwei pi b2a49bc243 irqtop/lsirq: add additional desc for softirq
Suggested by Karel, add additional description to make softirq more
friendly to end-user. Discuss about this:
    https://github.com/karelzak/util-linux/pull/1079

Note that, we should keep softirqs table align to kernel source code.

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
2020-07-23 12:23:56 +02:00
zhenwei pi b6ce063b04 irqtop/lsirq: support softirq
Add '-S' or '--softirq' for irqtop/lsirq, instead of interrupts, show
softirqs infomation. Because there is no more description of softirq,
do not show 'NAME' column by default.

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
2020-07-23 12:23:56 +02:00
Shin'ichiro Kawasaki e5ad3a6ad0 blkzone: add capacity field to zone report
NVMe ZNS specification defines zone capacity. The report zone interface
of Linux kernel supports it. Expose it in report zone by blkzone command.

Signed-off-by: Hans Holmberg <hans.holmberg@wdc.com>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
2020-07-23 12:23:56 +02:00
Chris Hofstaedtler d0aa83147a hexdump: automatically use -C when called as hd
When invoking hexdump as hd enable the "Canonical" format to by
default, implying the -C option.

This is historic behaviour on Debian and apparently also on FreeBSD.
Some Debian users have asked for this to be restored, after Debian
switched to util-linux' hexdump and hd.

Signed-off-by: Chris Hofstaedtler <zeha@debian.org>
2020-07-23 12:23:56 +02:00
Karel Zak c8b8326b07 build-sys: release++ (v2.36)
Signed-off-by: Karel Zak <kzak@redhat.com>
2020-07-23 11:26:04 +02:00
Frédéric Marchal 85c7548381 po: update fr.po (from translationproject.org) 2020-07-23 11:25:41 +02:00
Karel Zak 63f4e19928 tools: remove changes merged by accident
Signed-off-by: Karel Zak <kzak@redhat.com>
2020-07-23 11:22:42 +02:00
Karel Zak a95ffa17b7 docs: update v2.36-ReleaseNotes
Signed-off-by: Karel Zak <kzak@redhat.com>
2020-07-22 14:40:18 +02:00
Karel Zak 87b403df58 docs: update AUTHORS file
Signed-off-by: Karel Zak <kzak@redhat.com>
2020-07-22 14:38:31 +02:00
Karel Zak d35d646f17 po: merge changes
Signed-off-by: Karel Zak <kzak@redhat.com>
2020-07-22 12:20:36 +02:00
Boyuan Yang 64e5d6f40f po: update zh_CN.po (from translationproject.org) 2020-07-22 12:04:53 +02:00
Yuri Chornoivan 2cf86fa443 po: update uk.po (from translationproject.org) 2020-07-22 12:04:53 +02:00
Pedro Albuquerque b2c7933b18 po: update pt.po (from translationproject.org) 2020-07-22 12:04:53 +02:00
Rafael Fontenelle eac6f956c2 po: update pt_BR.po (from translationproject.org) 2020-07-22 12:04:53 +02:00
Jakub Bogusz d413489e31 po: update pl.po (from translationproject.org) 2020-07-22 12:04:53 +02:00
Takeshi Hamasaki a8c1c27d3c po: update ja.po (from translationproject.org) 2020-07-22 12:04:53 +02:00
Božidar Putanec 5fe18106ee po: update hr.po (from translationproject.org) 2020-07-22 12:04:53 +02:00