]> git.ipfire.org Git - thirdparty/util-linux.git/log
thirdparty/util-linux.git
7 years agomisc: add static keyword to where needed [smatch scan]
Sami Kerola [Sun, 12 Feb 2017 00:19:33 +0000 (00:19 +0000)] 
misc: add static keyword to where needed [smatch scan]

text-utils/rev.c:68:9: warning: symbol 'buf' was not declared. Should it be
static?

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agomisc: do not use plain 0 as NULL [smatch scan]
Sami Kerola [Sat, 11 Feb 2017 20:23:26 +0000 (20:23 +0000)] 
misc: do not use plain 0 as NULL [smatch scan]

text-utils/tailf.c:69:21: warning: Using plain integer as NULL pointer

Since many 'struct option' has used zero as NULL make them more readable in
same go by reindenting, and using named argument requirements.

Reference: https://lwn.net/Articles/93577/
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agocfdisk: avoid use of VLA in combination with sizeof() [smatch scan]
Sami Kerola [Sat, 11 Feb 2017 19:01:08 +0000 (19:01 +0000)] 
cfdisk: avoid use of VLA in combination with sizeof() [smatch scan]

disk-utils/cfdisk.c:1066:29: error: cannot size expression

One should use sizeof() only when variable size can be known at time of
compilation.  That is not the case with variable length arrays.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agotests: make sfdisk wipe partition optional
Karel Zak [Fri, 17 Feb 2017 15:24:35 +0000 (16:24 +0100)] 
tests: make sfdisk wipe partition optional

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibfdisk: add sample-fdisk-mkpart binary
Karel Zak [Fri, 17 Feb 2017 15:15:03 +0000 (16:15 +0100)] 
libfdisk: add sample-fdisk-mkpart binary

For example:
# sample-fdisk-mkpart --device /dev/sdc 1M 2M 3M - 5M

# fdisk -l /dev/sdc
...
Device     Boot Start    End Sectors Size Id Type
/dev/sdc1        2048   4095    2048   1M 83 Linux
/dev/sdc2        4096   8191    4096   2M 83 Linux
/dev/sdc3        8192  14335    6144   3M 83 Linux
/dev/sdc4       14336 204799  190464  93M  5 Extended
/dev/sdc5       16384  26623   10240   5M 83 Linux

Addresses: https://github.com/karelzak/util-linux/issues/204
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibfdisk: (dos) make it possible to create primary/logical by template
Karel Zak [Fri, 17 Feb 2017 15:11:37 +0000 (16:11 +0100)] 
libfdisk: (dos) make it possible to create primary/logical by template

Let's check partition partno if specified to create logical or primary
partition.

Addresses: https://github.com/karelzak/util-linux/issues/204
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibfdisk: (gpt) make sure it's GPT in public API
Karel Zak [Fri, 17 Feb 2017 13:47:00 +0000 (14:47 +0100)] 
libfdisk: (gpt) make sure it's GPT in public API

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibfdisk: verify partno from template
Karel Zak [Fri, 17 Feb 2017 12:15:09 +0000 (13:15 +0100)] 
libfdisk: verify partno from template

* verify partno from template when create a new partition
* remove unnecessary l->ext_offset check

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agotests: (sfdisk) tell kernel about new partition
Karel Zak [Fri, 17 Feb 2017 09:28:53 +0000 (10:28 +0100)] 
tests: (sfdisk) tell kernel about new partition

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agotests: add udevadm settle to sfdisk wipe
Karel Zak [Thu, 16 Feb 2017 14:30:45 +0000 (15:30 +0100)] 
tests: add udevadm settle to sfdisk wipe

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agobuild-sys: add missing file
Karel Zak [Thu, 16 Feb 2017 14:27:07 +0000 (15:27 +0100)] 
build-sys: add missing file

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agotests: add --show-diff
Karel Zak [Thu, 16 Feb 2017 13:14:54 +0000 (14:14 +0100)] 
tests: add --show-diff

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agobuild-sys: add non-widechar.conf
Karel Zak [Thu, 16 Feb 2017 12:47:34 +0000 (13:47 +0100)] 
build-sys: add non-widechar.conf

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agocfdisk: use buffer editor for ui_get_string()
Karel Zak [Thu, 16 Feb 2017 12:46:26 +0000 (13:46 +0100)] 
cfdisk: use buffer editor for ui_get_string()

Addresses: https://github.com/karelzak/util-linux/issues/403
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolib/mbsedit: add simple buffer editor
Karel Zak [Thu, 16 Feb 2017 12:04:26 +0000 (13:04 +0100)] 
lib/mbsedit: add simple buffer editor

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agotests: use swap in sfdisk wipe test
Karel Zak [Thu, 16 Feb 2017 10:01:35 +0000 (11:01 +0100)] 
tests: use swap in sfdisk wipe test

and add "udevadm settle".

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agorename: add --no-act to bash-completion
Karel Zak [Wed, 15 Feb 2017 12:45:02 +0000 (13:45 +0100)] 
rename: add --no-act to bash-completion

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agorename: add --no-act option
Alexander F Rødseth [Mon, 13 Feb 2017 12:44:38 +0000 (13:44 +0100)] 
rename: add --no-act option

[kzak@redhat.com: - rename --dry-run to --no-act]

Signed-off-by: Alexander F Rødseth <xyproto@archlinux.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agotests: add sfdisk --wipe and --wipe-partition tests
Karel Zak [Wed, 15 Feb 2017 11:48:06 +0000 (12:48 +0100)] 
tests: add sfdisk --wipe and --wipe-partition tests

Addresses: https://github.com/karelzak/util-linux/issues/410
Addresses: https://github.com/karelzak/util-linux/issues/411
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibblkid: (gpt) fix force flag
Karel Zak [Wed, 15 Feb 2017 10:30:58 +0000 (11:30 +0100)] 
libblkid: (gpt) fix force flag

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agofdisk: improve --wipe functionality
Karel Zak [Tue, 14 Feb 2017 14:11:35 +0000 (15:11 +0100)] 
fdisk: improve --wipe functionality

* always (except --wipe=never) wipe old partition tables
* improve warn messages
* improve man page

Addresses: https://github.com/karelzak/util-linux/issues/410
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agosfdisk: improve --wipe functionality
Karel Zak [Tue, 14 Feb 2017 14:11:35 +0000 (15:11 +0100)] 
sfdisk: improve --wipe functionality

* always (except --wipe=never) wipe old partition tables
* improve warn messages
* improve man page

Addresses: https://github.com/karelzak/util-linux/issues/410
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibblkid: fix BLKID_PARTS_FORCE_GPT usage
Karel Zak [Tue, 14 Feb 2017 13:57:24 +0000 (14:57 +0100)] 
libblkid: fix BLKID_PARTS_FORCE_GPT usage

Now wipefs always inform about MBR as about PMBR. That's bug.

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibfdisk: (dos) debug what we read from first sector
Karel Zak [Tue, 14 Feb 2017 13:46:19 +0000 (14:46 +0100)] 
libfdisk: (dos) debug what we read from first sector

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibfdisk: classify collision type
Karel Zak [Tue, 14 Feb 2017 13:23:45 +0000 (14:23 +0100)] 
libfdisk: classify collision type

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibfdisk: check for collisions when create new label
Karel Zak [Tue, 14 Feb 2017 12:07:54 +0000 (13:07 +0100)] 
libfdisk: check for collisions when create new label

We need to be sure that when create a new disklabel than the old label
will be removed.

Addresses: https://github.com/karelzak/util-linux/issues/410
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolib/randutils: glibc 2.25 has getrandom(2) declaration
Sami Kerola [Sat, 11 Feb 2017 18:04:14 +0000 (18:04 +0000)] 
lib/randutils: glibc 2.25 has getrandom(2) declaration

Use correct header file to include the function.

Reference: http://git.kernel.org/cgit/docs/man-pages/man-pages.git/commit/?id=2cbb6fb4e926e56dc3985b19ac02389321a0af5d
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agobash-completion: add blkreset and blkreport completion
Sami Kerola [Sat, 11 Feb 2017 14:10:52 +0000 (14:10 +0000)] 
bash-completion: add blkreset and blkreport completion

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agoman: improve blkreport(8) and blkreset(8) manual pages
Sami Kerola [Sat, 11 Feb 2017 14:10:51 +0000 (14:10 +0000)] 
man: improve blkreport(8) and blkreset(8) manual pages

Tell in manual page what ZAC and ZBC acronyms mean.  Include explanation to
blkreport output, so that users do not need to search source code to
understand what the tool informed.  And fix couple dot double space issues.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agoblkreport, blkreset: small code clean ups
Sami Kerola [Sat, 11 Feb 2017 14:10:50 +0000 (14:10 +0000)] 
blkreport, blkreset: small code clean ups

Set variables read-only where possible.  Fix few code style issues, mostly
with spacing.  Avoid initializing variables if they are never read before
next update.  Remove "ERR: %d -> %s" message that repeated system error
three times, twice in that message and once at end of main that is the only
of these three left in place.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agodocs: Fix word repetitions
Yuri Chornoivan [Fri, 10 Feb 2017 11:05:04 +0000 (13:05 +0200)] 
docs: Fix word repetitions

7 years agofindmnt: use line separator for --poll output
Karel Zak [Fri, 10 Feb 2017 16:28:07 +0000 (17:28 +0100)] 
findmnt: use line separator for --poll output

Addresses: https://github.com/karelzak/util-linux/issues/409
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibfdisk: fix fdisk_set_wipe_area() calls
Karel Zak [Fri, 10 Feb 2017 15:45:18 +0000 (16:45 +0100)] 
libfdisk: fix fdisk_set_wipe_area() calls

The function expects size in sectors rather than in bytes.

Addresses: https://github.com/karelzak/util-linux/issues/410
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agosfdisk: --quiet fixes
Karel Zak [Fri, 10 Feb 2017 11:54:23 +0000 (12:54 +0100)] 
sfdisk: --quiet fixes

Addresses: https://github.com/karelzak/util-linux/issues/412
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agotaskset: don't use zero PID in messages
Karel Zak [Fri, 10 Feb 2017 10:46:37 +0000 (11:46 +0100)] 
taskset: don't use zero PID in messages

The pid 0 is technically correct, but very confusing for end users. Use
getpid() in the messages.

Addresses: https://github.com/karelzak/util-linux/issues/413
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agoblkreset: remove "LBA" from usage()
Karel Zak [Fri, 10 Feb 2017 09:53:38 +0000 (10:53 +0100)] 
blkreset: remove "LBA" from usage()

* "LBA" sounds confusing

Reported-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agoblkreport: remove "LBA" from usage() and unnecessary alignment check
Karel Zak [Fri, 10 Feb 2017 09:53:38 +0000 (10:53 +0100)] 
blkreport: remove "LBA" from usage() and unnecessary alignment check

* "LBA" sounds confusing

* alignment check is unnecessary for report ioctl

Reported-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agoblkreport: slice up option descriptions, fix typo, fix docstring
Benno Schulenberg [Thu, 9 Feb 2017 16:24:00 +0000 (17:24 +0100)] 
blkreport: slice up option descriptions, fix typo, fix docstring

Each option plus its description should be a separate translatable
string.  And, if all is well, blkreport should not discard anything
-- that is: fix the cut-and-paste error from blkdiscard.

Additionally, tweak some wordings.

Signed-off-by: Benno Schulenberg <bensberg@justemail.net>
7 years agoblkzonecmd, blkreport: Add new commands for ZAC/ZBC drives
Shaun Tancheff [Mon, 23 Jan 2017 13:32:42 +0000 (20:32 +0700)] 
blkzonecmd, blkreport: Add new commands for ZAC/ZBC drives

This patch adds:
 - blkreset to issue Reset (Write Pointer) zone commands
 - blkreport to retrieve drive zone information

[kzak@redhat.com: - cleanup man page and usage()
                  - remove command line options aliases,
                  - use strtosize_or_err()
                  - remove unnecessary -ludev
                  - use blkdev.h stuff]

Signed-off-by: Shaun Tancheff <shaun@tancheff.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agohwclock: remove if-if-condition
Karel Zak [Thu, 9 Feb 2017 10:42:01 +0000 (11:42 +0100)] 
hwclock: remove if-if-condition

7 years agoMerge branch 'hwclock-jwp-reviewed' of git://github.com/kerolasa/lelux-utiliteetit
Karel Zak [Thu, 9 Feb 2017 10:35:50 +0000 (11:35 +0100)] 
Merge branch 'hwclock-jwp-reviewed' of git://github.com/kerolasa/lelux-utiliteetit

* 'hwclock-jwp-reviewed' of git://github.com/kerolasa/lelux-utiliteetit: (25 commits)
  hwclock: remove --compare option
  hwclock: remove trailing dot from messages that include system error message
  hwclock: make --date=argument less prone to injection
  hwclock: fix rtc atexit registration
  hwclock: clarify cmos inb and outb preprocessor directives
  hwclock: try RTCGET and RTCSET only when normal rtc fails
  hwclock: stream line synchronize_to_clock_tick_rtc()
  hwclock: improve coding style
  hwclock: remove division by zero [asan]
  hwclock: add debugging to open_rtc()
  hwclock: remove magic constants from interpret_date_string()
  hwclock: use symbolic magic values passed in between functions
  hwclock: initialize struct adjtime members
  hwclock: alloate date_resp parsing buffer in interpret_date_string()
  hwclock: simplify save_adjtime() execution flow
  hwclock: remove dead code and other minor fixes
  hwclock: move error messages to determine_clock_access_method()
  hwclock: clarify set_cmos_epoch() code
  hwclock: move command-line options to control structure
  hwclock: remove unnecessary type casts
  ...

7 years agobuild-sys: improve detection of the "isnan" function in uClibc
Carlos Santos [Wed, 8 Feb 2017 15:27:36 +0000 (13:27 -0200)] 
build-sys: improve detection of the "isnan" function in uClibc

Since commit beceb14b450ded6560ed743634a5e80604a8edf3, MATH_LIBS is set
to "-lm" when the isnan function is detected. In uClibc, however, isnan
is a macro that calls __isnan, __isnanf, or __isnanl, depending on the
size of the argument (double, float or long double).

Fixes:
  http://autobuild.buildroot.net/results/2c2/2c29a78ed81ca844a87dcd076ab3e14ea080296d/
  http://autobuild.buildroot.net/results/404/404b10f359b2ae8a7216729fa1bab37fed2d3d4c/

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
7 years agoumount: exclude selinuxfs from --all
Karel Zak [Thu, 9 Feb 2017 10:21:49 +0000 (11:21 +0100)] 
umount: exclude selinuxfs from --all

Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1417722
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agohwclock: remove --compare option
Sami Kerola [Tue, 10 Jan 2017 21:16:20 +0000 (21:16 +0000)] 
hwclock: remove --compare option

Compare functionality was printing nonsense values.  There is no knowledge
of anyone using this broken functionality.  Instead of deprecating the code
for months, and removing it after few release, it is removed immediately.
Needless to say this is unusual removal.

Reference: http://marc.info/?l=util-linux-ng&m=148396210506652&w=2
Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: remove trailing dot from messages that include system error message
Sami Kerola [Sat, 31 Dec 2016 21:29:27 +0000 (21:29 +0000)] 
hwclock: remove trailing dot from messages that include system error message

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: make --date=argument less prone to injection
Sami Kerola [Wed, 27 Jul 2016 18:47:38 +0000 (19:47 +0100)] 
hwclock: make --date=argument less prone to injection

This change should not improve security much.  One hopes hwclock --set is
restricted for root only.  Where hwclock is allowed to run via sudo, or has
setuid setup, there is a pretty easy privilege escalation via subshell.

$ sudo ./hwclock --set --date='2000-10-20$(touch /tmp/hwclock.inject)'

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: fix rtc atexit registration
Sami Kerola [Tue, 26 Jul 2016 13:34:30 +0000 (14:34 +0100)] 
hwclock: fix rtc atexit registration

Commit 27f9db17bd57b85947445c03e2cd9dda36ca377f missed a minus sign from
comparison.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: clarify cmos inb and outb preprocessor directives
Sami Kerola [Tue, 26 Jul 2016 07:33:32 +0000 (08:33 +0100)] 
hwclock: clarify cmos inb and outb preprocessor directives

The cmos only works when architecture is i386, x86_64, or alpha.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: try RTCGET and RTCSET only when normal rtc fails
Sami Kerola [Tue, 26 Jul 2016 09:52:15 +0000 (10:52 +0100)] 
hwclock: try RTCGET and RTCSET only when normal rtc fails

The RTCGET and RTCSET are in use for sparcs with sbus, so try them as
fallback rather than always.

Reference: https://github.com/torvalds/linux/blob/master/fs/compat_ioctl.c#L967-L974
Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: stream line synchronize_to_clock_tick_rtc()
Sami Kerola [Tue, 26 Jul 2016 07:54:00 +0000 (08:54 +0100)] 
hwclock: stream line synchronize_to_clock_tick_rtc()

Flip if clauses to hit common case first.  This should be easier and quicker
to read and run.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: improve coding style
Sami Kerola [Sun, 24 Jul 2016 21:33:01 +0000 (22:33 +0100)] 
hwclock: improve coding style

Make string constants to be symbolical declarations.  Use longer variable
name for rtc and cmos function pointer values.  Exclude code that is
architecture specific with preprocessor directives.  And remove message
duplication.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: remove division by zero [asan]
Sami Kerola [Sun, 17 Jul 2016 21:04:32 +0000 (22:04 +0100)] 
hwclock: remove division by zero [asan]

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: add debugging to open_rtc()
Sami Kerola [Sun, 17 Jul 2016 16:10:48 +0000 (17:10 +0100)] 
hwclock: add debugging to open_rtc()

Earlier when open_rtc() returned -1 the char *rtc_dev_name end up having
NULL that made it unsuitable to be used in error message.  Now one can debug
what paths the open_rtc() tries to use when one has to debug why 'cannot
open rtc device' happen.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: remove magic constants from interpret_date_string()
Sami Kerola [Sun, 17 Jul 2016 15:35:40 +0000 (16:35 +0100)] 
hwclock: remove magic constants from interpret_date_string()

The constants function returned were not used.  In same go clean up
execution flow a little bit.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: use symbolic magic values passed in between functions
Sami Kerola [Sun, 17 Jul 2016 15:14:16 +0000 (16:14 +0100)] 
hwclock: use symbolic magic values passed in between functions

The manipulate_clock() is seeing return value from
busywait_for_rtc_clock_tick().

And the get_permissions_cmos() can see i386_iopl() return value.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: initialize struct adjtime members
Sami Kerola [Sun, 17 Jul 2016 12:25:40 +0000 (13:25 +0100)] 
hwclock: initialize struct adjtime members

Avoid any chance of using uninitialized values.  It looks like the earlier
code did take care of that, but it was less obvious about the fact.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: alloate date_resp parsing buffer in interpret_date_string()
Sami Kerola [Sun, 17 Jul 2016 11:49:12 +0000 (12:49 +0100)] 
hwclock: alloate date_resp parsing buffer in interpret_date_string()

This makes overflowing the variable in question impossible.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: simplify save_adjtime() execution flow
Sami Kerola [Sun, 17 Jul 2016 11:12:52 +0000 (12:12 +0100)] 
hwclock: simplify save_adjtime() execution flow

Return early to avoid excessive nesting.  In same go remove any chance of
overflow by using appropriate allocation.  And update variable names to be
easier to understand.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: remove dead code and other minor fixes
Sami Kerola [Sun, 17 Jul 2016 10:30:40 +0000 (11:30 +0100)] 
hwclock: remove dead code and other minor fixes

Use #ifdef rather than #if to avoid undefined preprocessor identifier
warning.

Remove dead code.  The #if 0 ensured the code has not been used for long
time, which is good because the linux/mc146818rtc.h is not been part of
user-api for long time.

Value of the adjtime_p->last_calib_time is checked if it has value of zero,
so testing none-zero bit later is necessarily true, and therefore does not
need to be checked.

And at the and remove unnecessary boolean variable.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: move error messages to determine_clock_access_method()
Sami Kerola [Sat, 16 Jul 2016 21:15:54 +0000 (22:15 +0100)] 
hwclock: move error messages to determine_clock_access_method()

This makes main() a little bit shorter.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: clarify set_cmos_epoch() code
Sami Kerola [Sat, 16 Jul 2016 19:18:19 +0000 (20:18 +0100)] 
hwclock: clarify set_cmos_epoch() code

Variable set_epoc is unnecessary, and removal of it makes it obvious what is
happening in this function.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: move command-line options to control structure
Sami Kerola [Sat, 16 Jul 2016 15:45:07 +0000 (16:45 +0100)] 
hwclock: move command-line options to control structure

The control structure is read-only everywhere else but in main().  Almost
all changes are about how variables are referred, with one exception.  Calls
to read_adjtime() from manipulate_clock() and compare_clock() are moved to
main().  This way it is possible to keep variable that tells if hwclock is
using UTC-0 be part of control structure.

Changes within #ifdef __alpha__ segments were tested by flipping the
preprocessor directivive otherway around and getting good compilaton all the
way to the point where linking on none-alpha system failed.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: remove unnecessary type casts
Sami Kerola [Sat, 16 Jul 2016 12:43:35 +0000 (13:43 +0100)] 
hwclock: remove unnecessary type casts

Most of the casts did nothing, with exception of couple printouts where
format specifier is updated to match with the variable type.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: do not hardcode date command magic string twice
Sami Kerola [Sat, 16 Jul 2016 12:23:28 +0000 (13:23 +0100)] 
hwclock: do not hardcode date command magic string twice

Variable 'magic' already contains string 'seconds-into-epoch'.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: remove hwclock_exit() indirection
Sami Kerola [Sat, 16 Jul 2016 11:57:25 +0000 (12:57 +0100)] 
hwclock: remove hwclock_exit() indirection

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: remove FLOOR macro in favour of floor(3)
Sami Kerola [Sat, 16 Jul 2016 11:50:53 +0000 (12:50 +0100)] 
hwclock: remove FLOOR macro in favour of floor(3)

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agolib: add timegm() portability function to lib/timeutils.c
Sami Kerola [Tue, 12 Jul 2016 21:21:10 +0000 (22:21 +0100)] 
lib: add timegm() portability function to lib/timeutils.c

Local timegm() is a replacement function in cases it is missing from libc
implementation.  Hopefully the replacement is never, or very rarely, used.

CC: Ruediger Meier <ruediger.meier@ga-group.nl>
Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agohwclock: remove UTC-0 localization hack
Sami Kerola [Sun, 10 Jul 2016 19:09:55 +0000 (20:09 +0100)] 
hwclock: remove UTC-0 localization hack

Use timegm(3) instead rather than re-implement same functionality with
mktime(3) combined with removal of TZ localization.

Reviewed-by: J William Piggott <elseifthen@gmx.com>
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
7 years agocfdisk: add copyright to help
Karel Zak [Thu, 2 Feb 2017 09:28:38 +0000 (10:28 +0100)] 
cfdisk: add copyright to help

... to make it obvious this is a new cfdisk.

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibmount: make rootfs lookup by parent-id more robust
Karel Zak [Wed, 1 Feb 2017 15:12:55 +0000 (16:12 +0100)] 
libmount: make rootfs lookup by parent-id more robust

The root FS id really does not have to be the smallest one.

Reported-by: Michal Soltys <soltys@ziu.info>
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agocfdisk: support UI refresh on ^L
Karel Zak [Wed, 1 Feb 2017 14:34:57 +0000 (15:34 +0100)] 
cfdisk: support UI refresh on ^L

Addresses: https://github.com/karelzak/util-linux/issues/404
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agosu: properly clear child PID
Karel Zak [Wed, 1 Feb 2017 10:58:09 +0000 (11:58 +0100)] 
su: properly clear child PID

Reported-by: Tobias Stöckmann <tobias@stoeckmann.org>
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolscpu: don't use path_exist() before path_fopen()
Karel Zak [Tue, 31 Jan 2017 19:55:07 +0000 (20:55 +0100)] 
lscpu: don't use path_exist() before path_fopen()

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agodocs: add BUG REPORTING section to README
Karel Zak [Tue, 31 Jan 2017 15:18:11 +0000 (16:18 +0100)] 
docs: add BUG REPORTING section to README

Addresses: https://github.com/karelzak/util-linux/issues/405
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolscpu: make osrelease file optional
Karel Zak [Tue, 31 Jan 2017 12:44:43 +0000 (13:44 +0100)] 
lscpu: make osrelease file optional

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agoMerge branch 'master' of https://github.com/Pedro-MC/util-linux
Karel Zak [Tue, 31 Jan 2017 12:01:01 +0000 (13:01 +0100)] 
Merge branch 'master' of https://github.com/Pedro-MC/util-linux

* 'master' of https://github.com/Pedro-MC/util-linux:
  findmnt: flush stdout after each (un)(re)mount event, when polling.

7 years agofallocate: Added posix_fallocate() support.
Denis Chaplygin [Tue, 31 Jan 2017 11:51:28 +0000 (12:51 +0100)] 
fallocate: Added posix_fallocate() support.

No all filesystems support Linux fallocate. The new option allow use
posix implementation if necessary.

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolscpu: Detect Windows Subsystem for Linux
Stanislav Brabec [Mon, 30 Jan 2017 16:01:50 +0000 (17:01 +0100)] 
lscpu: Detect Windows Subsystem for Linux

Windows 10 implements Windows Subsystem for Linux (WSL).

WSL does not implement support for SIGSEGV handler, which is used inside
is_vmware_platform(). As a result, lscpu crashes there.

Implement WSL detection, and as a side effect, work around the crash.
Note that none of existing virtualization types exactly matches.
But the the closest would be "container".

References:

Provide a way to positively detect WSL from an app compiled on Linux.
https://github.com/Microsoft/BashOnWindows/issues/423

missing support for SIGSEGV handler
https://github.com/Microsoft/BashOnWindows/issues/1637

Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
7 years agofstrim: de-duplicate btrfs sub-volumes
Stanislav Brabec [Wed, 25 Jan 2017 17:30:26 +0000 (18:30 +0100)] 
fstrim: de-duplicate btrfs sub-volumes

There was a comparison of roots in uniq_fs_source_cmp(). As we care only on
device names, comparing roots makes only a little sense, and it breaks on btrfs.
As a result, FITRIM ioctl() is called for each subvolume. But by design, only
one TRIM is needed for the whole btrfs volume.

Remove it to be able to de-duplicate btrfs subvolumes.

Fixes opensuse #1020077.

Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
7 years agofindmnt: flush stdout after each (un)(re)mount event, when polling.
Pedro Miguel Carvalho [Sun, 29 Jan 2017 12:03:23 +0000 (12:03 +0000)] 
findmnt: flush stdout after each (un)(re)mount event, when polling.

Addresses: karelzak#407

7 years agologger: support sub-trees in the ID for RFC5424
Karel Zak [Sat, 28 Jan 2017 11:39:52 +0000 (12:39 +0100)] 
logger: support sub-trees in the ID for RFC5424

The current code supports <name>@<digit> only, but we also need
<name>@<digit>.<digit>[. ...]

RFC5424: 7.2.2 enterpriseId:

 In general, only the IANA-assigned private enterprise number is
 needed (a single number).  An enterprise might decide to use
 sub-identifiers below its private enterprise number.  If sub-
 identifiers are used, they MUST be separated by periods and be
 represented as decimal numbers.  An example for that would be
 "32473.1.2".

Addresses: https://github.com/karelzak/util-linux/issues/406
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolib/strutils: return end pointer by isdigit_string()
Karel Zak [Sat, 28 Jan 2017 11:39:30 +0000 (12:39 +0100)] 
lib/strutils: return end pointer by isdigit_string()

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibfdisk: (gpt) add check for entries array size
Karel Zak [Wed, 25 Jan 2017 11:00:27 +0000 (12:00 +0100)] 
libfdisk: (gpt) add check for entries array size

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibblkid: Fix out of bounds reads in BEFS handling
Alden Tondettar [Tue, 24 Jan 2017 06:28:01 +0000 (23:28 -0700)] 
libblkid: Fix out of bounds reads in BEFS handling

The BEFS prober is quite trusting of whatever data is fed to it and
performs almost no bounds checks. There don't seem to be any
out-of-bounds writes as far as I can tell, but there are many ways a
corrupted image could cause libblkid to read OOB and segfault, or hang
in an infinite loop.

This fix makes a few sanity-checks of the superblock, add bounds checks
wherever they seem needed, and crudely checks for cycles in the B+ tree.

Signed-off-by: Alden Tondettar <alden.tondettar@gmail.com>
7 years agolibblkid: Fix out of bounds reads on bad GPT header
Alden Tondettar [Tue, 24 Jan 2017 06:28:00 +0000 (23:28 -0700)] 
libblkid: Fix out of bounds reads on bad GPT header

If a GUID Partition Table claims to have more than 2**25 entries, or if the
size of each entry is not exactly 128 bytes, libblkid can read out of bounds
and segfault. Perform the appropriate checks.

[kzak@redhat.com: - fix typo]

Signed-off-by: Alden Tondettar <alden.tondettar@gmail.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolibblkid: Fix out of bounds reads on bad NTFS Master File Table
Alden Tondettar [Tue, 24 Jan 2017 06:27:59 +0000 (23:27 -0700)] 
libblkid: Fix out of bounds reads on bad NTFS Master File Table

The NTFS prober does not validate certain fields in struct file_attribute,
and could attempt to read the disk label from outside the space allocated
for the Master File Table.  Perform the appropriate checks.

Note that one variable (attr_off) is now 64-bit, so a check for integer
overflow has been removed as unneeded/confusing.

Signed-off-by: Alden Tondettar <alden.tondettar@gmail.com>
7 years agolibblkid: Fix out of bounds byte swaps in ZFS handling
Alden Tondettar [Tue, 24 Jan 2017 06:27:58 +0000 (23:27 -0700)] 
libblkid: Fix out of bounds byte swaps in ZFS handling

A corrupted ZFS filesystem can trigger 32-bit endian-conversions of
unintended memory locations in zfs_extract_guid_name(), in several ways:

* The variable "left" (number of bytes remaining in the buffer) does not
  account for the 12 bytes of the nvlist header.

* The field nvp->nvp_namelen (name length in name/value pair) is rounded
  up to the nearest multiple of 4, but only the unrounded size is checked.

* The fields nvs->nvs_type, nvs_strlen, etc. are modified _before_ checking
  if they are within bounds.

* A negative value of nvp->nvp_namelen will bypass the check that
  nvp->nvp_namelen fits into nvp->nvp_size (size of name/value pair).

This allows for mangling of locations up to 12 + 3 + 8 == 23
bytes beyond the end of stack-based buff[4096], and up to 2**31 bytes
before its beginning.

Furthermore some debugging messages are printed from unchecked memory
locations, possibly resulting in OOB reads or setuid programs leaking
sensitive data when LIBBLKID_DEBUG is set.

This fix attempts to correct all of these problems. It also eliminates the
stack-based buffer (in case anything else was missed) and refactors things
a bit to (hopefully) make it easier to spot any mistakes.

Signed-off-by: Alden Tondettar <alden.tondettar@gmail.com>
7 years agoMerge branch 'shadow-man' of https://github.com/andhe/util-linux
Karel Zak [Fri, 20 Jan 2017 12:12:57 +0000 (13:12 +0100)] 
Merge branch 'shadow-man' of https://github.com/andhe/util-linux

* 'shadow-man' of https://github.com/andhe/util-linux:
  chsh: use -h as shorthand for --help instead of -u
  man: chsh(1): add login.defs to SEE ALSO
  man: chfn(1): add chsh and login.defs to SEE ALSO

7 years agobuild-sys: fix compilation with ncurses and uClibc or musl libc
Carlos Santos [Thu, 19 Jan 2017 19:27:37 +0000 (17:27 -0200)] 
build-sys: fix compilation with ncurses and uClibc or musl libc

Compiling util-linux with musl and uClibc-ng toolchains when wide-char
support is not enabled in ncurses results in compilation failures with
the following message:

    error: two or more data types in declaration specifiers
    #define
     wchar_t char

The problem occurs because util-linux #defines its own wchar_t (as char)
when configured without widechar support. This conflicts with definition
of wchar_t contained in stddef.h.

This error can be reproduced running "<toolchain-cc -o test test.c" with
the following test program:

    #include <ctype.h>
    #define wchar_t char
    #include <stddef.h>

    int main()
    {
        return 0;
    }

The only way to avoid the problem it to reorder the inclusion of headers
in some files under the text-utils directory.

Addresses:
  http://autobuild.buildroot.net/results/3a2f228e0fa7b5cc28a13d49f48f1a6aef8d9d7a
  http://autobuild.buildroot.net/results/99e96069f652d511c6212a5bb6be29e68fb1747c
  http://autobuild.buildroot.net/results/2dc5721aef93b7b410153bafad78248fac3db941
  http://autobuild.buildroot.net/results/8a9e197ba7a292b18f8c0c36dca974685556a38a

Signed-off-by: Carlos Santos <casantos@datacom.ind.br>
7 years agosu, runuser: fix typo in the /etc/default path
Karel Zak [Fri, 20 Jan 2017 10:02:23 +0000 (11:02 +0100)] 
su, runuser: fix typo in the /etc/default path

Reported-by: Andreas Henriksson <andreas@fatal.se>
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agochsh: use -h as shorthand for --help instead of -u
Andreas Henriksson [Thu, 19 Jan 2017 22:04:47 +0000 (23:04 +0100)] 
chsh: use -h as shorthand for --help instead of -u

The -u is still supported (but no longer documented).

(This matches the switches used by shadow chsh.)

7 years agoman: chsh(1): add login.defs to SEE ALSO
Andreas Henriksson [Thu, 19 Jan 2017 21:50:31 +0000 (22:50 +0100)] 
man: chsh(1): add login.defs to SEE ALSO

(The shadow equivalent manpage lists it.)

7 years agoman: chfn(1): add chsh and login.defs to SEE ALSO
Andreas Henriksson [Thu, 19 Jan 2017 21:39:31 +0000 (22:39 +0100)] 
man: chfn(1): add chsh and login.defs to SEE ALSO

(The shadow version of the same manpage mentions these utils,
but does not mention finger.)

7 years agorunuser: add "--" to SYNOPSIS
Karel Zak [Thu, 19 Jan 2017 11:01:51 +0000 (12:01 +0100)] 
runuser: add "--" to SYNOPSIS

Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agoMerge branch 'termutils-typo' of https://github.com/The-42/util-linux
Karel Zak [Thu, 19 Jan 2017 10:27:08 +0000 (11:27 +0100)] 
Merge branch 'termutils-typo' of https://github.com/The-42/util-linux

* 'termutils-typo' of https://github.com/The-42/util-linux:
  term-utils/script: fix typo leading to syntax error

7 years agobuild-sys: use MATH_LIBS for hwclock
Karel Zak [Thu, 19 Jan 2017 10:22:38 +0000 (11:22 +0100)] 
build-sys: use MATH_LIBS for hwclock

Reported-by: Bert van Hall <bert.vanhall@avionic-design.de>
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agoterm-utils/script: fix typo leading to syntax error
Bert van Hall [Wed, 18 Jan 2017 15:41:36 +0000 (16:41 +0100)] 
term-utils/script: fix typo leading to syntax error

Introduced in edc7e42, this typo is actually invalid C. Fix this.

Signed-off-by: Bert van Hall <bert.vanhall@avionic-design.de>
7 years agobuild-sys: use -lm for scriptreplay if necessary
Karel Zak [Wed, 18 Jan 2017 12:17:21 +0000 (13:17 +0100)] 
build-sys: use -lm for scriptreplay if necessary

Reported-by: Bert van Hall <bert.vanhall@avionic-design.de>
Addresses: https://github.com/karelzak/util-linux/pull/397
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agocolumn: rename --columns to --output-width
Karel Zak [Tue, 17 Jan 2017 12:11:27 +0000 (13:11 +0100)] 
column: rename --columns to --output-width

* rename to use less confusing option name
* cleanup usage()
* update man page

Addresses: https://github.com/karelzak/util-linux/pull/327
Signed-off-by: Karel Zak <kzak@redhat.com>
7 years agolast: use --time-format instruction when printing wtmp creation time
Sami Kerola [Mon, 16 Jan 2017 22:31:36 +0000 (22:31 +0000)] 
last: use --time-format instruction when printing wtmp creation time

This makes --time-format=iso timestamp to look the same as login/logout
times.  When --time-format=noformat is used the file creation time not
printed.  There is no change to default format.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>