[ANNOUNCE] util-linux v2.29-rc1

From: Karel Zak
Date: Fri Sep 30 2016 - 06:01:51 EST

The util-linux release v2.29-rc1 is available at


Feedback and bug reports, as always, are welcomed.


Util-linux 2.29 Release Notes

Security issues

CVE-2016-2779 -- fixed by workaround based on libseccomp, the workaround
disables TIOCSTI ioctl in su/runuser session.

Stable maintenance releases between v2.28 and v2.29

util-linux 2.28.2 [Sep 7 2016]

* ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.2-ReleaseNotes

util-linux 2.28.1 [Aug 11 2016]

* ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.1-ReleaseNotes

Changes between v2.28 and v2.29

- call uname() only when necessary [Karel Zak]
- don't modify argv[] when parse speeds [Karel Zak]
- fix \S usage [Karel Zak]
- move unreachable code to pre-processor #else segment [oclint] [Sami Kerola]
- guard against missing DIOCGDINFO on FreeBSD 11 [Franco Fichtner]
- Improve man page [Allon Mureinik]
- add --disable-plymouth-support [Karel Zak]
- add --disable-widechar [Karel Zak]
- add --enable-libuuid-force-uuidd [Ruediger Meier]
- add UL_REQUIRES_COMPILE macro [Karel Zak]
- add missing include/plymouth-ctrl.h [Karel Zak]
- add non-action for ncurses pkg-cong test [Karel Zak]
- add parisc to define ARCH_ [Karel Zak]
- add tools/Makemodule.am [Karel Zak]
- clean up relation between ncurses[w] and wide-char support [Karel Zak]
- cleanup --with-ncurses [Karel Zak]
- fix comments in ul.m4 [Karel Zak]
- fix uClibc-ng scanf check [Waldemar Brodkorb]
- remove dead libsmartcols sample [Karel Zak]
- remove global dependence between widechar and ncursesw [Karel Zak]
- remove obsolete [cs]fdisk LDADDs [Karel Zak]
- remove obsolete comment [Karel Zak]
- test functions does not return void [Sami Kerola]
- use UL_DEFAULT_ENABLE() only for programs [Karel Zak]
- workaround for autoconf "present but cannot be compiled" [Karel Zak]
- allow to specify month by name [Karel Zak]
- cleanup non-ncurses build [Karel Zak]
- support timestamps [Karel Zak]
- use %04d for year [Karel Zak]
- use libsmartcols ASCII for non-widechar environment [Karel Zak]
- add /dev/vda as another default disk [Karel Zak]
- chsh use selinux_check_passwd_access() [Karel Zak]
- add fallback to be usable on kernels without sched_{get,set}attr [Karel Zak]
- validate priority before trying to use it [Sami Kerola]
- avoid the command getting hung [afl] [Sami Kerola]
- use const void * for ul_debugobj() [Igor Gnatenko]
- Add sfdisk --show-pt-geometry [Stanislav Brabec]
- --notime should not suppress --show-delta [Sami Kerola]
- drop core at impossible case in read_buffer() [oclint] [Sami Kerola]
- fix indention [Karel Zak]
- use strtimeval_iso() [Karel Zak]
- Fix various typos [Sebastian Rasmussen]
- add file format note to utmpdump manual page [Sami Kerola]
- optinal option arguments should be long-only [Sami Kerola]
- some random fixes [Karel Zak]
- update AUTHORS file [Karel Zak]
- Add support for altering GPT size [Sassan Panahinejad]
- Fix typo RequiredPartiton -> RequiredPartition [Sebastian Rasmussen]
- add --wipe-partitions=auto|never|default [Karel Zak]
- make -l <dev ...> behaves like fdisk -l [Thierry Vignaud]
- use PAGER for 'l' command. [Karel Zak]
- (verify) add docs [Karel Zak]
- (verify) add options verification [Karel Zak]
- (verify) add source verification [Karel Zak]
- (verify) add swaparea verification [Karel Zak]
- (verify) check filesystem type [Karel Zak]
- (verify) minor changes in strings [Karel Zak]
- add --verify and --verbose [Karel Zak]
- remove duplicate include [Karel Zak]
- Introduce no-fork option. [Terry Burton]
- fix racing between unlock/unlink and open [Yuriy M. Kaminskiy]
- remove fs-specific options from man page [Karel Zak]
- Verify more fields in super-block. [Tobias Stoeckmann]
- fix endless loop and out of stack [Karel Zak]
- improve getopt-parse.bash example [Sami Kerola]
- fix memory leaks and integer overflows [ASAN & valgrind] [Sami Kerola]
- keep pointer to 'name' in control struct [Karel Zak]
- use strtimeval_iso() [Karel Zak]
- define exit codes [Karel Zak]
- minor fixes and clean ups [Karel Zak]
- rewrite iso formatting functions [Karel Zak]
- use pointer for time_t [Karel Zak]
- add fallback for WEOF [Karel Zak]
- add missing fallbacks [Karel Zak]
- clarify description of --classdata [Daniel Shahaf]
- remove pid command-name to option alias [Sami Kerola]
- cleanup time formatting code [Karel Zak]
- fix logout time [Karel Zak]
- avoid double free in loopdev.c [Sami Kerola]
- try to find tty in get_terminal_name() [Sami Kerola]
- Set errno in is_loopdev on error [Tobias Stoeckmann]
- cleanup sizelimit check [Karel Zak]
- fix for non-widechar [Karel Zak]
- cleanup and extend API [Karel Zak]
- fix test [Karel Zak]
- restore signals setting by pager_close() [Karel Zak]
- add xsrand() and rand_get_number() [Karel Zak]
- make left and right trims more robust [Sami Kerola]
- be more smart for non-scsi devices [Karel Zak]
- add strtime_short() [Karel Zak]
- add strxxx_iso() functions [Karel Zak]
- use stdout for get_terminal_width() [Karel Zak]
- Add metadata signature check for IMSM on 4Kn drives [Alexey Obitotskiy]
- Avoid OOB access on illegal ZFS superblocks [Tobias Stoeckmann]
- Check that cluster size is nonzero when probing exFAT [Rostislav Skudnov]
- [exfat] Limit maximum number of iterations in find_label [Rostislav Skudnov]
- avoid non-empty recursion in EBR [Karel Zak]
- don't check nonnull attributes for NULL [-Wnonnull-compare] [Karel Zak]
- fix debugging macro [oclint] [Sami Kerola]
- fix mistake in debug message [Karel Zak]
- ignore empty MBR on LVM device [Karel Zak]
- ignore extended partition at zero offset [Karel Zak]
- improve debug messages [Karel Zak]
- make I/O errors on CDROMs non-fatal [Karel Zak]
- make blkid_do_wipe() work with probes with offset [Petr Uzel]
- reduce probing area for crazy CDROMs [Karel Zak]
- remove unused function [Karel Zak]
- simplify if clause [oclint] [Sami Kerola]
- store only canonical devnames to the cache [Karel Zak]
- add ISO_8601_GMTIME that will print UTC-0 timestamps [Sami Kerola]
- (docs) add missing version notes [Karel Zak]
- (gpt) be more careful with 64bit constants [Karel Zak]
- Add support for altering GPT size [Sassan Panahinejad]
- Distinguish between first LBA sector and partition [Tobias Stoeckmann]
- Fix assert error in free space handling [Tobias Stoeckmann]
- add API for work with labelitems [Karel Zak]
- add fdisk_wipe_partition() [Karel Zak]
- cleanup fdisk_gpt_set_npartitions() [Karel Zak]
- don't offer zero length freespace [Karel Zak]
- fix range checking for fdisk_set_last_lba [Sassan Panahinejad]
- make table-length usage more robust [Karel Zak]
- move fdisk_field_...() functions to field.c [Karel Zak]
- use fdisk_add_partition() for unused partno [Karel Zak]
- use table-length in dump for non-standard PT [Karel Zak]
- Add length check in probe_nilfs2 before crc32 [Torsten Hilbrich]
- fix probe_nilfs2 I/O error backup [Karel Zak]
- Fix possible crash in mnt_context_setup_loopdev() [Stanislav Brabec]
- Introduce new error MNT_ERR_LOOPOVERLAP [Stanislav Brabec]
- Preserve empty string value in optstr parsing [Filipe Brandenburger]
- Re-organize is_mounted_same_loopfile() [Stanislav Brabec]
- don't check nonnull attributes for NULL [-Wnonnull-compare] [Karel Zak]
- don't support /etc/mtab by default [Karel Zak]
- fix memory leak [Sami Kerola]
- fix mnt_table_parse_mtab() logic [Karel Zak]
- fix mnt_table_parse_stream() logic [Karel Zak]
- fix mount -a for cifs [Aurelien Aptel]
- ignore redundant slashes [Karel Zak]
- make kernel_fs_postparse() more robust [Karel Zak]
- one iteration to detect overlap and reuse loopdev [Karel Zak]
- paranoid change in mnt_table_is_fs_mounted() [Karel Zak]
- remove duplicate code [Karel Zak]
- reuse existing loop device [Stanislav Brabec]
- try absolute target before canonicalize [Karel Zak]
libmount, look:
- remove dead code [oclint] [Sami Kerola]
- Reuse loop device safely [Stanislav Brabec]
- (docs) add missing functions [Karel Zak]
- (docs) add missing version notes [Karel Zak]
- Corrected JSON escaping [Karel Zak, Bryan Elliott]
- add JSON support to sample application [Karel Zak]
- add application to test library features [Karel Zak]
- add fallback for symbols [Karel Zak]
- add functions to control terminal usage [Karel Zak]
- add maxout sample [Karel Zak]
- add scols_column_add_width() [Karel Zak]
- add scols_table_get_name() [Igor Gnatenko]
- add scols_table_is_nolinesep() [Igor Gnatenko]
- add scols_table_is_nowrap() [Igor Gnatenko]
- add support for trees to the sample application [Karel Zak]
- allow to change cell padding char [Karel Zak]
- be consistent, use 'sy' for symbols [Igor Gnatenko]
- be more strict about empty tables [Karel Zak]
- cleanup get functions [Karel Zak]
- cleanup line separator usage [Karel Zak]
- cleanup scols_table_set_symbols() API [Karel Zak]
- commit missing file [Karel Zak]
- custom wrap fixes [Karel Zak]
- don't print title color is colors disabled [Karel Zak]
- extend wrapnl sample [Karel Zak]
- fix WRAPNL crashes [Karel Zak]
- fix WRAPNL on strings without \n [Karel Zak]
- fix comment [Karel Zak]
- fix hidden file usage [Karel Zak]
- fix minimal column width calculation [Karel Zak]
- fix non-tty output for 'maxout' columns [Karel Zak]
- fix padding for non-maxout output [Karel Zak]
- fix scols_table_enable_colors() usage in samples [Karel Zak]
- fix title output on non-tty [Karel Zak]
- fix tree padding [Karel Zak]
- fix typos in docs [Igor Gnatenko]
- fixes in doc generation [Igor Gnatenko]
- improve JSON [Karel Zak]
- keep scols_table_get_termwidth() read-only [Karel Zak]
- make get_line/column_separator() return const [Igor Gnatenko]
- remove debuging code from sample [Karel Zak]
- support custom wrap and remove SCOLS_FL_WRAPNL [Karel Zak]
- support multi-line cells based on line breaks [Karel Zak]
- use SCOLS_FL_RIGHT in sample [Karel Zak]
- use const qualifier for scols_table_get_termwidth [Igor Gnatenko]
- use const qualifier where it's possible [Igor Gnatenko]
- add man page note about the default --tag [Karel Zak]
- be more precise about --port description [Karel Zak]
- remove trailing spaces when outputing to journal [Sami Kerola]
- simplify if clause [oclint] [Sami Kerola]
- Implememt loopcxt_set_status() [Stanislav Brabec]
- Prevent AUTOCLEAR detach race [Stanislav Brabec]
- add --nooverlap options [Karel Zak, Stanislav Brabec]
- allow to use --nooverlap when device specified [Karel Zak]
- fix outdated comment ["Yuriy M. Kaminskiy"]
- improve support for nvme [Karel Zak]
- use ID_WWN_WITH_EXTENSION is possible [Karel Zak]
- add --physical option [Heiko Carstens]
- add drawer support [Heiko Carstens]
- add parsable testcase with the --physical option [Heiko Carstens]
- add s390 drawer testcase [Heiko Carstens]
- fix MMHZ column entry within man page [Heiko Carstens]
- fix typo in summary output [Heiko Carstens]
- make lookup_cache() more robust [Karel Zak]
- only try to read sysfs attributes of present CPUs [Heiko Carstens]
- print correct number of threads per core if possible [Heiko Carstens]
- show additional caches (s390) [Heiko Carstens]
- show machine type (s390) [Heiko Carstens]
- show static and dynamic MHz (s390) [Heiko Carstens]
- update s390-lpar-drawer testcase [Heiko Carstens]
- use strtime_short() [Karel Zak]
- use strtm_iso() [Karel Zak]
- add --noinaccessible [Karel Zak]
- simplify if clause and move definition and comments [oclint] [Sami Kerola]
- use strtime_short() [Karel Zak]
- use strtm_iso() [Karel Zak]
- check for OOM [Karel Zak]
- missing ns/<name> is not error [Karel Zak]
- support cgroup namespaces [MichaÅ Bartoszkiewicz]
- minor manpage improvement [Heiko Carstens]
man pages:
- fix spacing between man page name & section number [Mike Frysinger]
- Fix various typos [Sebastian Rasmussen]
- always check setenv(3) return value [Sami Kerola]
- cleanup non-widechar compilation [Karel Zak]
- fix declarations shadowing variables in the global scope [oclint] [Sami Kerola]
- simplify if clauses [oclint] [Sami Kerola]
- tolerate ENOTSUP when failing to relabel [Lubomir Rintel]
- don't include ncurses.h, fix for non-widechar [Karel Zak]
- Handle EROFS before calling mount() syscall [Stanislav Brabec]
- Handle MNT_ERR_LOOPOVERLAP [Stanislav Brabec]
- add note about another flags for "remount,bind" [Karel Zak]
- add note about loopdev reuse to mount.8 [Karel Zak]
- add note about paths verification to mount.8 [Karel Zak]
- mount.8 Update loop device documentation [Stanislav Brabec]
- small change to mount.8 loopdev section [Karel Zak]
- try to tell what mount was doing when it failed [Sami Kerola]
- enter namespaces in two passes [James Bottomley]
- guard clashing definitions on FreeBSD [Franco Fichtner]
- stop building the command by default [Sami Kerola]
- merge changes [Karel Zak]
- update cs.po (from translationproject.org) [Petr PÃsaÅ]
- update de.po (from translationproject.org) [Philipp Thomas]
- update es.po (from translationproject.org) [Antonio Ceballos Roa]
- update ja.po (from translationproject.org) [Takeshi Hamasaki]
- update nl.po (from translationproject.org) [Benno Schulenberg]
- update pl.po (from translationproject.org) [Jakub Bogusz]
- update sv.po (from translationproject.org) [Sebastian Rasmussen]
- include c.h [Karel Zak]
- add support for zram-control [Karel Zak]
- avoid trying fclose(NULL) [Sami Kerola]
- check status of writes when closing outputs [Sami Kerola]
- close file descriptors on exec [Sami Kerola]
- improve coding style and the "done" message [Karel Zak]
- use empty-slave heuristic more carefully [Karel Zak]
- avoid re-implementing strtod_or_err() [Sami Kerola]
- improve error message [Sami Kerola]
- fix memory leak [Sami Kerola]
- de-duplicate color option string parsing [Karel Zak]
- fix declarations shadowing variables in the global scope [oclint] [Sami Kerola]
- remove unnecessary translation string [Sami Kerola]
- Add --show-pt-geometry compatibility code [Stanislav Brabec]
- Add support for altering GPT size [Sassan Panahinejad]
- add --no-tell-kernel [Karel Zak]
- add --wipe-partitions=auto|never|default [Karel Zak]
- add show-pt-geometry to usage() and sfdisk.8 [Karel Zak]
- exit with error if rereading partition table fails [Victor Dodon]
- make non-interactive output more readable [Karel Zak]
- free cell_padding in unref() [Igor Gnatenko]
su, runuser, setpriv:
- create links between man pages [Karel Zak]
- add libseccomp based workaround for TIOCSTI ioctl [Karel Zak]
- agetty use the plymouth local protocol instead the plymouth binary [Werner Fink]
- make fopen O_CLOEXEC specifier usage portable [Sami Kerola]
- remove __nonnull__ function attribute [Sami Kerola]
- fix discard option parsing [Karel Zak]
- simplify code and reduce indentation [oclint] [Sami Kerola]
- flip inverted logic [oclint] [Sami Kerola]
- Fix previously adjusted segfault patch [Tobias Stoeckmann]
- Fix segmentation fault in tailf on 32 bit [Tobias Stoeckmann]
- clarify that masks are always hex in man page [Chris Metcalf]
- Add helper for TIOCSTI exploit [Stanislav Brabec]
- Add loop-overlay test [Stanislav Brabec]
- Add losetup-loop test suite [Stanislav Brabec]
- Allow running a single test case from tests/run.sh [Filipe Brandenburger]
- Fix fdisk/id and fdisk/mbr-nondos-mode on Sparc [James Clarke]
- Use proper word splitting when executing tests [Filipe Brandenburger]
- add another libsmartcols tests [Karel Zak]
- add chrt test [Karel Zak]
- add columns separator to libsmartcols test [Karel Zak]
- add export and raw to libsmartcols test [Karel Zak]
- add libsmartcols JSON test [Karel Zak]
- add libsmartcols title test [Karel Zak]
- add libsmartcols wrap and wrapnl tree tests [Karel Zak]
- add missing expected/ dir stuff [Karel Zak]
- add tree libsmartcols test files [Karel Zak]
- challenge utmpdump localization go-around [Sami Kerola]
- check for mount(8) in minix test [Karel Zak]
- don't depend on GNU md5sum [Ruediger Meier]
- fix for non-ncurses version [Karel Zak]
- fix libmount loop-overlay test [Karel Zak]
- fix loop-overlay test [Karel Zak]
- fix losetup tests for --nooverlap [Karel Zak]
- fix ttyutils test [Karel Zak]
- fix utmpdump timestamps to be in iso format [Sami Kerola]
- implement ts_skip_subtest [Karel Zak]
- improve libsmartcols test [Karel Zak]
- keep 'hppa' in fdisk/bsd test too [Karel Zak]
- make chrt test more debug-able [Karel Zak]
- make tests more portable due to mtab [Karel Zak]
- mark build-in paths test as optional [Karel Zak]
- mark chrt as TS_KNOWN_FAIL [Karel Zak]
- mark chrt tests as root-only [Karel Zak]
- move getopt to separate directory [Karel Zak]
- really fix fdisk/bsd for hppa [Helge Deller]
- refresh cal(1) test [Karel Zak]
- remove unnecessary file [Sami Kerola]
- test_md5 prints md5sum only [Ruediger Meier]
- update build-sys tests [Karel Zak]
- update sfdisk output strings [Karel Zak]
- utmpdump add subsecond accuracy test [Sami Kerola]
- add script to load .po from translationproject.org [Karel Zak]
- fix OSX, glibtoolize could not find sed [Ruediger Meier]
- s/automatical/automatic/g [Igor Gnatenko]
- use tabs consistently [Igor Gnatenko]
- Fix buffer overflow [Tobias Stoeckmann]
- add note about FS names differences to the man page [Karel Zak]
- cleanup umount.8 about mtab [Karel Zak]
- fix obsolete info about loop= in umount.8 [Karel Zak]
- use always UTC-0 timezone in textual output [Sami Kerola]
- use iso-8601 timestamp format with subsecond accuracy [Sami Kerola]
- remove unnecessary pidpile path variable [Sami Kerola]
- force GPT detection [Karel Zak]
- add control structure to clarify what is going on [Sami Kerola]
- don't use strftime() [Karel Zak]
- fix setuid related regression [Wayne Pollock]
- get rid of function prototypes [Sami Kerola]
- improve coding style [Sami Kerola]
- improve function and variable names [Sami Kerola]
- make timestamp to be obviously just a clock time [Sami Kerola]
- remove PUTC macro [Sami Kerola]
- remove pointless fileno(3) calls [Sami Kerola]
- remove unnecessary utmp variables [Sami Kerola]
- remove unused variable [Sami Kerola]
- run atexit() checks at the end of execution [Sami Kerola]
- set atime value in term_chk() only when needed [Sami Kerola]
- stop removing and adding /dev/ in front of tty string [Sami Kerola]
- tell when effective gid and tty path group mismatch [Sami Kerola]
- use xstrncpy() from strutils.h [Sami Kerola]

- add control structure to clarify what is going on [Sami Kerola]
- don't use strftime() [Karel Zak]
- fix setuid related regression [Wayne Pollock]
- get rid of function prototypes [Sami Kerola]
- improve coding style [Sami Kerola]
- improve function and variable names [Sami Kerola]
- make timestamp to be obviously just a clock time [Sami Kerola]
- remove PUTC macro [Sami Kerola]
- remove pointless fileno(3) calls [Sami Kerola]
- remove unnecessary utmp variables [Sami Kerola]
- remove unused variable [Sami Kerola]
- run atexit() checks at the end of execution [Sami Kerola]
- set atime value in term_chk() only when needed [Sami Kerola]
- stop removing and adding /dev/ in front of tty string [Sami Kerola]
- tell when effective gid and tty path group mismatch [Sami Kerola]
- use xstrncpy() from strutils.h [Sami Kerola]